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.3"
16//   ...
17//   ctx := context.Background()
18//   dfareportingService, err := dfareporting.NewService(ctx)
19//
20// In this example, Google Application Default Credentials are used for authentication.
21//
22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
23//
24// Other authentication options
25//
26// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
27//
28//   dfareportingService, err := dfareporting.NewService(ctx, option.WithScopes(dfareporting.DfatraffickingScope))
29//
30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
31//
32//   dfareportingService, err := dfareporting.NewService(ctx, option.WithAPIKey("AIza..."))
33//
34// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
35//
36//   config := &oauth2.Config{...}
37//   // ...
38//   token, err := config.Exchange(ctx, ...)
39//   dfareportingService, err := dfareporting.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
40//
41// See https://godoc.org/google.golang.org/api/option/ for details on options.
42package dfareporting // import "google.golang.org/api/dfareporting/v3.3"
43
44import (
45	"bytes"
46	"context"
47	"encoding/json"
48	"errors"
49	"fmt"
50	"io"
51	"net/http"
52	"net/url"
53	"strconv"
54	"strings"
55
56	googleapi "google.golang.org/api/googleapi"
57	gensupport "google.golang.org/api/internal/gensupport"
58	option "google.golang.org/api/option"
59	internaloption "google.golang.org/api/option/internaloption"
60	htransport "google.golang.org/api/transport/http"
61)
62
63// Always reference these packages, just in case the auto-generated code
64// below doesn't.
65var _ = bytes.NewBuffer
66var _ = strconv.Itoa
67var _ = fmt.Sprintf
68var _ = json.NewDecoder
69var _ = io.Copy
70var _ = url.Parse
71var _ = gensupport.MarshalJSON
72var _ = googleapi.Version
73var _ = errors.New
74var _ = strings.Replace
75var _ = context.Canceled
76var _ = internaloption.WithDefaultEndpoint
77
78const apiId = "dfareporting:v3.3"
79const apiName = "dfareporting"
80const apiVersion = "v3.3"
81const basePath = "https://dfareporting.googleapis.com/dfareporting/v3.3/"
82const mtlsBasePath = "https://dfareporting.mtls.googleapis.com/dfareporting/v3.3/"
83
84// OAuth2 scopes used by this API.
85const (
86	// Manage DoubleClick Digital Marketing conversions
87	DdmconversionsScope = "https://www.googleapis.com/auth/ddmconversions"
88
89	// View and manage DoubleClick for Advertisers reports
90	DfareportingScope = "https://www.googleapis.com/auth/dfareporting"
91
92	// View and manage your DoubleClick Campaign Manager's (DCM) display ad
93	// campaigns
94	DfatraffickingScope = "https://www.googleapis.com/auth/dfatrafficking"
95)
96
97// NewService creates a new Service.
98func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
99	scopesOption := option.WithScopes(
100		"https://www.googleapis.com/auth/ddmconversions",
101		"https://www.googleapis.com/auth/dfareporting",
102		"https://www.googleapis.com/auth/dfatrafficking",
103	)
104	// NOTE: prepend, so we don't override user-specified scopes.
105	opts = append([]option.ClientOption{scopesOption}, opts...)
106	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
107	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
108	client, endpoint, err := htransport.NewClient(ctx, opts...)
109	if err != nil {
110		return nil, err
111	}
112	s, err := New(client)
113	if err != nil {
114		return nil, err
115	}
116	if endpoint != "" {
117		s.BasePath = endpoint
118	}
119	return s, nil
120}
121
122// New creates a new Service. It uses the provided http.Client for requests.
123//
124// Deprecated: please use NewService instead.
125// To provide a custom HTTP client, use option.WithHTTPClient.
126// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
127func New(client *http.Client) (*Service, error) {
128	if client == nil {
129		return nil, errors.New("client is nil")
130	}
131	s := &Service{client: client, BasePath: basePath}
132	s.AccountActiveAdSummaries = NewAccountActiveAdSummariesService(s)
133	s.AccountPermissionGroups = NewAccountPermissionGroupsService(s)
134	s.AccountPermissions = NewAccountPermissionsService(s)
135	s.AccountUserProfiles = NewAccountUserProfilesService(s)
136	s.Accounts = NewAccountsService(s)
137	s.Ads = NewAdsService(s)
138	s.AdvertiserGroups = NewAdvertiserGroupsService(s)
139	s.AdvertiserLandingPages = NewAdvertiserLandingPagesService(s)
140	s.Advertisers = NewAdvertisersService(s)
141	s.Browsers = NewBrowsersService(s)
142	s.CampaignCreativeAssociations = NewCampaignCreativeAssociationsService(s)
143	s.Campaigns = NewCampaignsService(s)
144	s.ChangeLogs = NewChangeLogsService(s)
145	s.Cities = NewCitiesService(s)
146	s.ConnectionTypes = NewConnectionTypesService(s)
147	s.ContentCategories = NewContentCategoriesService(s)
148	s.Conversions = NewConversionsService(s)
149	s.Countries = NewCountriesService(s)
150	s.CreativeAssets = NewCreativeAssetsService(s)
151	s.CreativeFieldValues = NewCreativeFieldValuesService(s)
152	s.CreativeFields = NewCreativeFieldsService(s)
153	s.CreativeGroups = NewCreativeGroupsService(s)
154	s.Creatives = NewCreativesService(s)
155	s.DimensionValues = NewDimensionValuesService(s)
156	s.DirectorySites = NewDirectorySitesService(s)
157	s.DynamicTargetingKeys = NewDynamicTargetingKeysService(s)
158	s.EventTags = NewEventTagsService(s)
159	s.Files = NewFilesService(s)
160	s.FloodlightActivities = NewFloodlightActivitiesService(s)
161	s.FloodlightActivityGroups = NewFloodlightActivityGroupsService(s)
162	s.FloodlightConfigurations = NewFloodlightConfigurationsService(s)
163	s.InventoryItems = NewInventoryItemsService(s)
164	s.Languages = NewLanguagesService(s)
165	s.Metros = NewMetrosService(s)
166	s.MobileApps = NewMobileAppsService(s)
167	s.MobileCarriers = NewMobileCarriersService(s)
168	s.OperatingSystemVersions = NewOperatingSystemVersionsService(s)
169	s.OperatingSystems = NewOperatingSystemsService(s)
170	s.OrderDocuments = NewOrderDocumentsService(s)
171	s.Orders = NewOrdersService(s)
172	s.PlacementGroups = NewPlacementGroupsService(s)
173	s.PlacementStrategies = NewPlacementStrategiesService(s)
174	s.Placements = NewPlacementsService(s)
175	s.PlatformTypes = NewPlatformTypesService(s)
176	s.PostalCodes = NewPostalCodesService(s)
177	s.Projects = NewProjectsService(s)
178	s.Regions = NewRegionsService(s)
179	s.RemarketingListShares = NewRemarketingListSharesService(s)
180	s.RemarketingLists = NewRemarketingListsService(s)
181	s.Reports = NewReportsService(s)
182	s.Sites = NewSitesService(s)
183	s.Sizes = NewSizesService(s)
184	s.Subaccounts = NewSubaccountsService(s)
185	s.TargetableRemarketingLists = NewTargetableRemarketingListsService(s)
186	s.TargetingTemplates = NewTargetingTemplatesService(s)
187	s.UserProfiles = NewUserProfilesService(s)
188	s.UserRolePermissionGroups = NewUserRolePermissionGroupsService(s)
189	s.UserRolePermissions = NewUserRolePermissionsService(s)
190	s.UserRoles = NewUserRolesService(s)
191	s.VideoFormats = NewVideoFormatsService(s)
192	return s, nil
193}
194
195type Service struct {
196	client    *http.Client
197	BasePath  string // API endpoint base URL
198	UserAgent string // optional additional User-Agent fragment
199
200	AccountActiveAdSummaries *AccountActiveAdSummariesService
201
202	AccountPermissionGroups *AccountPermissionGroupsService
203
204	AccountPermissions *AccountPermissionsService
205
206	AccountUserProfiles *AccountUserProfilesService
207
208	Accounts *AccountsService
209
210	Ads *AdsService
211
212	AdvertiserGroups *AdvertiserGroupsService
213
214	AdvertiserLandingPages *AdvertiserLandingPagesService
215
216	Advertisers *AdvertisersService
217
218	Browsers *BrowsersService
219
220	CampaignCreativeAssociations *CampaignCreativeAssociationsService
221
222	Campaigns *CampaignsService
223
224	ChangeLogs *ChangeLogsService
225
226	Cities *CitiesService
227
228	ConnectionTypes *ConnectionTypesService
229
230	ContentCategories *ContentCategoriesService
231
232	Conversions *ConversionsService
233
234	Countries *CountriesService
235
236	CreativeAssets *CreativeAssetsService
237
238	CreativeFieldValues *CreativeFieldValuesService
239
240	CreativeFields *CreativeFieldsService
241
242	CreativeGroups *CreativeGroupsService
243
244	Creatives *CreativesService
245
246	DimensionValues *DimensionValuesService
247
248	DirectorySites *DirectorySitesService
249
250	DynamicTargetingKeys *DynamicTargetingKeysService
251
252	EventTags *EventTagsService
253
254	Files *FilesService
255
256	FloodlightActivities *FloodlightActivitiesService
257
258	FloodlightActivityGroups *FloodlightActivityGroupsService
259
260	FloodlightConfigurations *FloodlightConfigurationsService
261
262	InventoryItems *InventoryItemsService
263
264	Languages *LanguagesService
265
266	Metros *MetrosService
267
268	MobileApps *MobileAppsService
269
270	MobileCarriers *MobileCarriersService
271
272	OperatingSystemVersions *OperatingSystemVersionsService
273
274	OperatingSystems *OperatingSystemsService
275
276	OrderDocuments *OrderDocumentsService
277
278	Orders *OrdersService
279
280	PlacementGroups *PlacementGroupsService
281
282	PlacementStrategies *PlacementStrategiesService
283
284	Placements *PlacementsService
285
286	PlatformTypes *PlatformTypesService
287
288	PostalCodes *PostalCodesService
289
290	Projects *ProjectsService
291
292	Regions *RegionsService
293
294	RemarketingListShares *RemarketingListSharesService
295
296	RemarketingLists *RemarketingListsService
297
298	Reports *ReportsService
299
300	Sites *SitesService
301
302	Sizes *SizesService
303
304	Subaccounts *SubaccountsService
305
306	TargetableRemarketingLists *TargetableRemarketingListsService
307
308	TargetingTemplates *TargetingTemplatesService
309
310	UserProfiles *UserProfilesService
311
312	UserRolePermissionGroups *UserRolePermissionGroupsService
313
314	UserRolePermissions *UserRolePermissionsService
315
316	UserRoles *UserRolesService
317
318	VideoFormats *VideoFormatsService
319}
320
321func (s *Service) userAgent() string {
322	if s.UserAgent == "" {
323		return googleapi.UserAgent
324	}
325	return googleapi.UserAgent + " " + s.UserAgent
326}
327
328func NewAccountActiveAdSummariesService(s *Service) *AccountActiveAdSummariesService {
329	rs := &AccountActiveAdSummariesService{s: s}
330	return rs
331}
332
333type AccountActiveAdSummariesService struct {
334	s *Service
335}
336
337func NewAccountPermissionGroupsService(s *Service) *AccountPermissionGroupsService {
338	rs := &AccountPermissionGroupsService{s: s}
339	return rs
340}
341
342type AccountPermissionGroupsService struct {
343	s *Service
344}
345
346func NewAccountPermissionsService(s *Service) *AccountPermissionsService {
347	rs := &AccountPermissionsService{s: s}
348	return rs
349}
350
351type AccountPermissionsService struct {
352	s *Service
353}
354
355func NewAccountUserProfilesService(s *Service) *AccountUserProfilesService {
356	rs := &AccountUserProfilesService{s: s}
357	return rs
358}
359
360type AccountUserProfilesService struct {
361	s *Service
362}
363
364func NewAccountsService(s *Service) *AccountsService {
365	rs := &AccountsService{s: s}
366	return rs
367}
368
369type AccountsService struct {
370	s *Service
371}
372
373func NewAdsService(s *Service) *AdsService {
374	rs := &AdsService{s: s}
375	return rs
376}
377
378type AdsService struct {
379	s *Service
380}
381
382func NewAdvertiserGroupsService(s *Service) *AdvertiserGroupsService {
383	rs := &AdvertiserGroupsService{s: s}
384	return rs
385}
386
387type AdvertiserGroupsService struct {
388	s *Service
389}
390
391func NewAdvertiserLandingPagesService(s *Service) *AdvertiserLandingPagesService {
392	rs := &AdvertiserLandingPagesService{s: s}
393	return rs
394}
395
396type AdvertiserLandingPagesService struct {
397	s *Service
398}
399
400func NewAdvertisersService(s *Service) *AdvertisersService {
401	rs := &AdvertisersService{s: s}
402	return rs
403}
404
405type AdvertisersService struct {
406	s *Service
407}
408
409func NewBrowsersService(s *Service) *BrowsersService {
410	rs := &BrowsersService{s: s}
411	return rs
412}
413
414type BrowsersService struct {
415	s *Service
416}
417
418func NewCampaignCreativeAssociationsService(s *Service) *CampaignCreativeAssociationsService {
419	rs := &CampaignCreativeAssociationsService{s: s}
420	return rs
421}
422
423type CampaignCreativeAssociationsService struct {
424	s *Service
425}
426
427func NewCampaignsService(s *Service) *CampaignsService {
428	rs := &CampaignsService{s: s}
429	return rs
430}
431
432type CampaignsService struct {
433	s *Service
434}
435
436func NewChangeLogsService(s *Service) *ChangeLogsService {
437	rs := &ChangeLogsService{s: s}
438	return rs
439}
440
441type ChangeLogsService struct {
442	s *Service
443}
444
445func NewCitiesService(s *Service) *CitiesService {
446	rs := &CitiesService{s: s}
447	return rs
448}
449
450type CitiesService struct {
451	s *Service
452}
453
454func NewConnectionTypesService(s *Service) *ConnectionTypesService {
455	rs := &ConnectionTypesService{s: s}
456	return rs
457}
458
459type ConnectionTypesService struct {
460	s *Service
461}
462
463func NewContentCategoriesService(s *Service) *ContentCategoriesService {
464	rs := &ContentCategoriesService{s: s}
465	return rs
466}
467
468type ContentCategoriesService struct {
469	s *Service
470}
471
472func NewConversionsService(s *Service) *ConversionsService {
473	rs := &ConversionsService{s: s}
474	return rs
475}
476
477type ConversionsService struct {
478	s *Service
479}
480
481func NewCountriesService(s *Service) *CountriesService {
482	rs := &CountriesService{s: s}
483	return rs
484}
485
486type CountriesService struct {
487	s *Service
488}
489
490func NewCreativeAssetsService(s *Service) *CreativeAssetsService {
491	rs := &CreativeAssetsService{s: s}
492	return rs
493}
494
495type CreativeAssetsService struct {
496	s *Service
497}
498
499func NewCreativeFieldValuesService(s *Service) *CreativeFieldValuesService {
500	rs := &CreativeFieldValuesService{s: s}
501	return rs
502}
503
504type CreativeFieldValuesService struct {
505	s *Service
506}
507
508func NewCreativeFieldsService(s *Service) *CreativeFieldsService {
509	rs := &CreativeFieldsService{s: s}
510	return rs
511}
512
513type CreativeFieldsService struct {
514	s *Service
515}
516
517func NewCreativeGroupsService(s *Service) *CreativeGroupsService {
518	rs := &CreativeGroupsService{s: s}
519	return rs
520}
521
522type CreativeGroupsService struct {
523	s *Service
524}
525
526func NewCreativesService(s *Service) *CreativesService {
527	rs := &CreativesService{s: s}
528	return rs
529}
530
531type CreativesService struct {
532	s *Service
533}
534
535func NewDimensionValuesService(s *Service) *DimensionValuesService {
536	rs := &DimensionValuesService{s: s}
537	return rs
538}
539
540type DimensionValuesService struct {
541	s *Service
542}
543
544func NewDirectorySitesService(s *Service) *DirectorySitesService {
545	rs := &DirectorySitesService{s: s}
546	return rs
547}
548
549type DirectorySitesService struct {
550	s *Service
551}
552
553func NewDynamicTargetingKeysService(s *Service) *DynamicTargetingKeysService {
554	rs := &DynamicTargetingKeysService{s: s}
555	return rs
556}
557
558type DynamicTargetingKeysService struct {
559	s *Service
560}
561
562func NewEventTagsService(s *Service) *EventTagsService {
563	rs := &EventTagsService{s: s}
564	return rs
565}
566
567type EventTagsService struct {
568	s *Service
569}
570
571func NewFilesService(s *Service) *FilesService {
572	rs := &FilesService{s: s}
573	return rs
574}
575
576type FilesService struct {
577	s *Service
578}
579
580func NewFloodlightActivitiesService(s *Service) *FloodlightActivitiesService {
581	rs := &FloodlightActivitiesService{s: s}
582	return rs
583}
584
585type FloodlightActivitiesService struct {
586	s *Service
587}
588
589func NewFloodlightActivityGroupsService(s *Service) *FloodlightActivityGroupsService {
590	rs := &FloodlightActivityGroupsService{s: s}
591	return rs
592}
593
594type FloodlightActivityGroupsService struct {
595	s *Service
596}
597
598func NewFloodlightConfigurationsService(s *Service) *FloodlightConfigurationsService {
599	rs := &FloodlightConfigurationsService{s: s}
600	return rs
601}
602
603type FloodlightConfigurationsService struct {
604	s *Service
605}
606
607func NewInventoryItemsService(s *Service) *InventoryItemsService {
608	rs := &InventoryItemsService{s: s}
609	return rs
610}
611
612type InventoryItemsService struct {
613	s *Service
614}
615
616func NewLanguagesService(s *Service) *LanguagesService {
617	rs := &LanguagesService{s: s}
618	return rs
619}
620
621type LanguagesService struct {
622	s *Service
623}
624
625func NewMetrosService(s *Service) *MetrosService {
626	rs := &MetrosService{s: s}
627	return rs
628}
629
630type MetrosService struct {
631	s *Service
632}
633
634func NewMobileAppsService(s *Service) *MobileAppsService {
635	rs := &MobileAppsService{s: s}
636	return rs
637}
638
639type MobileAppsService struct {
640	s *Service
641}
642
643func NewMobileCarriersService(s *Service) *MobileCarriersService {
644	rs := &MobileCarriersService{s: s}
645	return rs
646}
647
648type MobileCarriersService struct {
649	s *Service
650}
651
652func NewOperatingSystemVersionsService(s *Service) *OperatingSystemVersionsService {
653	rs := &OperatingSystemVersionsService{s: s}
654	return rs
655}
656
657type OperatingSystemVersionsService struct {
658	s *Service
659}
660
661func NewOperatingSystemsService(s *Service) *OperatingSystemsService {
662	rs := &OperatingSystemsService{s: s}
663	return rs
664}
665
666type OperatingSystemsService struct {
667	s *Service
668}
669
670func NewOrderDocumentsService(s *Service) *OrderDocumentsService {
671	rs := &OrderDocumentsService{s: s}
672	return rs
673}
674
675type OrderDocumentsService struct {
676	s *Service
677}
678
679func NewOrdersService(s *Service) *OrdersService {
680	rs := &OrdersService{s: s}
681	return rs
682}
683
684type OrdersService struct {
685	s *Service
686}
687
688func NewPlacementGroupsService(s *Service) *PlacementGroupsService {
689	rs := &PlacementGroupsService{s: s}
690	return rs
691}
692
693type PlacementGroupsService struct {
694	s *Service
695}
696
697func NewPlacementStrategiesService(s *Service) *PlacementStrategiesService {
698	rs := &PlacementStrategiesService{s: s}
699	return rs
700}
701
702type PlacementStrategiesService struct {
703	s *Service
704}
705
706func NewPlacementsService(s *Service) *PlacementsService {
707	rs := &PlacementsService{s: s}
708	return rs
709}
710
711type PlacementsService struct {
712	s *Service
713}
714
715func NewPlatformTypesService(s *Service) *PlatformTypesService {
716	rs := &PlatformTypesService{s: s}
717	return rs
718}
719
720type PlatformTypesService struct {
721	s *Service
722}
723
724func NewPostalCodesService(s *Service) *PostalCodesService {
725	rs := &PostalCodesService{s: s}
726	return rs
727}
728
729type PostalCodesService struct {
730	s *Service
731}
732
733func NewProjectsService(s *Service) *ProjectsService {
734	rs := &ProjectsService{s: s}
735	return rs
736}
737
738type ProjectsService struct {
739	s *Service
740}
741
742func NewRegionsService(s *Service) *RegionsService {
743	rs := &RegionsService{s: s}
744	return rs
745}
746
747type RegionsService struct {
748	s *Service
749}
750
751func NewRemarketingListSharesService(s *Service) *RemarketingListSharesService {
752	rs := &RemarketingListSharesService{s: s}
753	return rs
754}
755
756type RemarketingListSharesService struct {
757	s *Service
758}
759
760func NewRemarketingListsService(s *Service) *RemarketingListsService {
761	rs := &RemarketingListsService{s: s}
762	return rs
763}
764
765type RemarketingListsService struct {
766	s *Service
767}
768
769func NewReportsService(s *Service) *ReportsService {
770	rs := &ReportsService{s: s}
771	rs.CompatibleFields = NewReportsCompatibleFieldsService(s)
772	rs.Files = NewReportsFilesService(s)
773	return rs
774}
775
776type ReportsService struct {
777	s *Service
778
779	CompatibleFields *ReportsCompatibleFieldsService
780
781	Files *ReportsFilesService
782}
783
784func NewReportsCompatibleFieldsService(s *Service) *ReportsCompatibleFieldsService {
785	rs := &ReportsCompatibleFieldsService{s: s}
786	return rs
787}
788
789type ReportsCompatibleFieldsService struct {
790	s *Service
791}
792
793func NewReportsFilesService(s *Service) *ReportsFilesService {
794	rs := &ReportsFilesService{s: s}
795	return rs
796}
797
798type ReportsFilesService struct {
799	s *Service
800}
801
802func NewSitesService(s *Service) *SitesService {
803	rs := &SitesService{s: s}
804	return rs
805}
806
807type SitesService struct {
808	s *Service
809}
810
811func NewSizesService(s *Service) *SizesService {
812	rs := &SizesService{s: s}
813	return rs
814}
815
816type SizesService struct {
817	s *Service
818}
819
820func NewSubaccountsService(s *Service) *SubaccountsService {
821	rs := &SubaccountsService{s: s}
822	return rs
823}
824
825type SubaccountsService struct {
826	s *Service
827}
828
829func NewTargetableRemarketingListsService(s *Service) *TargetableRemarketingListsService {
830	rs := &TargetableRemarketingListsService{s: s}
831	return rs
832}
833
834type TargetableRemarketingListsService struct {
835	s *Service
836}
837
838func NewTargetingTemplatesService(s *Service) *TargetingTemplatesService {
839	rs := &TargetingTemplatesService{s: s}
840	return rs
841}
842
843type TargetingTemplatesService struct {
844	s *Service
845}
846
847func NewUserProfilesService(s *Service) *UserProfilesService {
848	rs := &UserProfilesService{s: s}
849	return rs
850}
851
852type UserProfilesService struct {
853	s *Service
854}
855
856func NewUserRolePermissionGroupsService(s *Service) *UserRolePermissionGroupsService {
857	rs := &UserRolePermissionGroupsService{s: s}
858	return rs
859}
860
861type UserRolePermissionGroupsService struct {
862	s *Service
863}
864
865func NewUserRolePermissionsService(s *Service) *UserRolePermissionsService {
866	rs := &UserRolePermissionsService{s: s}
867	return rs
868}
869
870type UserRolePermissionsService struct {
871	s *Service
872}
873
874func NewUserRolesService(s *Service) *UserRolesService {
875	rs := &UserRolesService{s: s}
876	return rs
877}
878
879type UserRolesService struct {
880	s *Service
881}
882
883func NewVideoFormatsService(s *Service) *VideoFormatsService {
884	rs := &VideoFormatsService{s: s}
885	return rs
886}
887
888type VideoFormatsService struct {
889	s *Service
890}
891
892// Account: Contains properties of a Campaign Manager account.
893type Account struct {
894	// AccountPermissionIds: Account permissions assigned to this account.
895	AccountPermissionIds googleapi.Int64s `json:"accountPermissionIds,omitempty"`
896
897	// AccountProfile: Profile for this account. This is a read-only field
898	// that can be left blank.
899	//
900	// Possible values:
901	//   "ACCOUNT_PROFILE_BASIC"
902	//   "ACCOUNT_PROFILE_STANDARD"
903	AccountProfile string `json:"accountProfile,omitempty"`
904
905	// Active: Whether this account is active.
906	Active bool `json:"active,omitempty"`
907
908	// ActiveAdsLimitTier: Maximum number of active ads allowed for this
909	// account.
910	//
911	// Possible values:
912	//   "ACTIVE_ADS_TIER_40K"
913	//   "ACTIVE_ADS_TIER_75K"
914	//   "ACTIVE_ADS_TIER_100K"
915	//   "ACTIVE_ADS_TIER_200K"
916	//   "ACTIVE_ADS_TIER_300K"
917	//   "ACTIVE_ADS_TIER_500K"
918	//   "ACTIVE_ADS_TIER_750K"
919	//   "ACTIVE_ADS_TIER_1M"
920	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
921
922	// ActiveViewOptOut: Whether to serve creatives with Active View tags.
923	// If disabled, viewability data will not be available for any
924	// impressions.
925	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
926
927	// AvailablePermissionIds: User role permissions available to the user
928	// roles of this account.
929	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
930
931	// CountryId: ID of the country associated with this account.
932	CountryId int64 `json:"countryId,omitempty,string"`
933
934	// CurrencyId: ID of currency associated with this account. This is a
935	// required field. Acceptable values are: - "1" for USD - "2" for GBP -
936	// "3" for ESP - "4" for SEK - "5" for CAD - "6" for JPY - "7" for DEM -
937	// "8" for AUD - "9" for FRF - "10" for ITL - "11" for DKK - "12" for
938	// NOK - "13" for FIM - "14" for ZAR - "15" for IEP - "16" for NLG -
939	// "17" for EUR - "18" for KRW - "19" for TWD - "20" for SGD - "21" for
940	// CNY - "22" for HKD - "23" for NZD - "24" for MYR - "25" for BRL -
941	// "26" for PTE - "28" for CLP - "29" for TRY - "30" for ARS - "31" for
942	// PEN - "32" for ILS - "33" for CHF - "34" for VEF - "35" for COP -
943	// "36" for GTQ - "37" for PLN - "39" for INR - "40" for THB - "41" for
944	// IDR - "42" for CZK - "43" for RON - "44" for HUF - "45" for RUB -
945	// "46" for AED - "47" for BGN - "48" for HRK - "49" for MXN - "50" for
946	// NGN - "51" for EGP
947	CurrencyId int64 `json:"currencyId,omitempty,string"`
948
949	// DefaultCreativeSizeId: Default placement dimensions for this account.
950	DefaultCreativeSizeId int64 `json:"defaultCreativeSizeId,omitempty,string"`
951
952	// Description: Description of this account.
953	Description string `json:"description,omitempty"`
954
955	// Id: ID of this account. This is a read-only, auto-generated field.
956	Id int64 `json:"id,omitempty,string"`
957
958	// Kind: Identifies what kind of resource this is. Value: the fixed
959	// string "dfareporting#account".
960	Kind string `json:"kind,omitempty"`
961
962	// Locale: Locale of this account. Acceptable values are: - "cs" (Czech)
963	// - "de" (German) - "en" (English) - "en-GB" (English United Kingdom) -
964	// "es" (Spanish) - "fr" (French) - "it" (Italian) - "ja" (Japanese) -
965	// "ko" (Korean) - "pl" (Polish) - "pt-BR" (Portuguese Brazil) - "ru"
966	// (Russian) - "sv" (Swedish) - "tr" (Turkish) - "zh-CN" (Chinese
967	// Simplified) - "zh-TW" (Chinese Traditional)
968	Locale string `json:"locale,omitempty"`
969
970	// MaximumImageSize: Maximum image size allowed for this account, in
971	// kilobytes. Value must be greater than or equal to 1.
972	MaximumImageSize int64 `json:"maximumImageSize,omitempty,string"`
973
974	// Name: Name of this account. This is a required field, and must be
975	// less than 128 characters long and be globally unique.
976	Name string `json:"name,omitempty"`
977
978	// NielsenOcrEnabled: Whether campaigns created in this account will be
979	// enabled for Nielsen OCR reach ratings by default.
980	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
981
982	// ReportsConfiguration: Reporting configuration of this account.
983	ReportsConfiguration *ReportsConfiguration `json:"reportsConfiguration,omitempty"`
984
985	// ShareReportsWithTwitter: Share Path to Conversion reports with
986	// Twitter.
987	ShareReportsWithTwitter bool `json:"shareReportsWithTwitter,omitempty"`
988
989	// TeaserSizeLimit: File size limit in kilobytes of Rich Media teaser
990	// creatives. Acceptable values are 1 to 10240, inclusive.
991	TeaserSizeLimit int64 `json:"teaserSizeLimit,omitempty,string"`
992
993	// ServerResponse contains the HTTP response code and headers from the
994	// server.
995	googleapi.ServerResponse `json:"-"`
996
997	// ForceSendFields is a list of field names (e.g.
998	// "AccountPermissionIds") to unconditionally include in API requests.
999	// By default, fields with empty values are omitted from API requests.
1000	// However, any non-pointer, non-interface field appearing in
1001	// ForceSendFields will be sent to the server regardless of whether the
1002	// field is empty or not. This may be used to include empty fields in
1003	// Patch requests.
1004	ForceSendFields []string `json:"-"`
1005
1006	// NullFields is a list of field names (e.g. "AccountPermissionIds") to
1007	// include in API requests with the JSON null value. By default, fields
1008	// with empty values are omitted from API requests. However, any field
1009	// with an empty value appearing in NullFields will be sent to the
1010	// server as null. It is an error if a field in this list has a
1011	// non-empty value. This may be used to include null fields in Patch
1012	// requests.
1013	NullFields []string `json:"-"`
1014}
1015
1016func (s *Account) MarshalJSON() ([]byte, error) {
1017	type NoMethod Account
1018	raw := NoMethod(*s)
1019	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1020}
1021
1022// AccountActiveAdSummary: Gets a summary of active ads in an account.
1023type AccountActiveAdSummary struct {
1024	// AccountId: ID of the account.
1025	AccountId int64 `json:"accountId,omitempty,string"`
1026
1027	// ActiveAds: Ads that have been activated for the account
1028	ActiveAds int64 `json:"activeAds,omitempty,string"`
1029
1030	// ActiveAdsLimitTier: Maximum number of active ads allowed for the
1031	// account.
1032	//
1033	// Possible values:
1034	//   "ACTIVE_ADS_TIER_40K"
1035	//   "ACTIVE_ADS_TIER_75K"
1036	//   "ACTIVE_ADS_TIER_100K"
1037	//   "ACTIVE_ADS_TIER_200K"
1038	//   "ACTIVE_ADS_TIER_300K"
1039	//   "ACTIVE_ADS_TIER_500K"
1040	//   "ACTIVE_ADS_TIER_750K"
1041	//   "ACTIVE_ADS_TIER_1M"
1042	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
1043
1044	// AvailableAds: Ads that can be activated for the account.
1045	AvailableAds int64 `json:"availableAds,omitempty,string"`
1046
1047	// Kind: Identifies what kind of resource this is. Value: the fixed
1048	// string "dfareporting#accountActiveAdSummary".
1049	Kind string `json:"kind,omitempty"`
1050
1051	// ServerResponse contains the HTTP response code and headers from the
1052	// server.
1053	googleapi.ServerResponse `json:"-"`
1054
1055	// ForceSendFields is a list of field names (e.g. "AccountId") to
1056	// unconditionally include in API requests. By default, fields with
1057	// empty values are omitted from API requests. However, any non-pointer,
1058	// non-interface field appearing in ForceSendFields will be sent to the
1059	// server regardless of whether the field is empty or not. This may be
1060	// used to include empty fields in Patch requests.
1061	ForceSendFields []string `json:"-"`
1062
1063	// NullFields is a list of field names (e.g. "AccountId") to include in
1064	// API requests with the JSON null value. By default, fields with empty
1065	// values are omitted from API requests. However, any field with an
1066	// empty value appearing in NullFields will be sent to the server as
1067	// null. It is an error if a field in this list has a non-empty value.
1068	// This may be used to include null fields in Patch requests.
1069	NullFields []string `json:"-"`
1070}
1071
1072func (s *AccountActiveAdSummary) MarshalJSON() ([]byte, error) {
1073	type NoMethod AccountActiveAdSummary
1074	raw := NoMethod(*s)
1075	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1076}
1077
1078// AccountPermission: AccountPermissions contains information about a
1079// particular account permission. Some features of Campaign Manager
1080// require an account permission to be present in the account.
1081type AccountPermission struct {
1082	// AccountProfiles: Account profiles associated with this account
1083	// permission. Possible values are: - "ACCOUNT_PROFILE_BASIC" -
1084	// "ACCOUNT_PROFILE_STANDARD"
1085	//
1086	// Possible values:
1087	//   "ACCOUNT_PROFILE_BASIC"
1088	//   "ACCOUNT_PROFILE_STANDARD"
1089	AccountProfiles []string `json:"accountProfiles,omitempty"`
1090
1091	// Id: ID of this account permission.
1092	Id int64 `json:"id,omitempty,string"`
1093
1094	// Kind: Identifies what kind of resource this is. Value: the fixed
1095	// string "dfareporting#accountPermission".
1096	Kind string `json:"kind,omitempty"`
1097
1098	// Level: Administrative level required to enable this account
1099	// permission.
1100	//
1101	// Possible values:
1102	//   "USER"
1103	//   "ADMINISTRATOR"
1104	Level string `json:"level,omitempty"`
1105
1106	// Name: Name of this account permission.
1107	Name string `json:"name,omitempty"`
1108
1109	// PermissionGroupId: Permission group of this account permission.
1110	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
1111
1112	// ServerResponse contains the HTTP response code and headers from the
1113	// server.
1114	googleapi.ServerResponse `json:"-"`
1115
1116	// ForceSendFields is a list of field names (e.g. "AccountProfiles") to
1117	// unconditionally include in API requests. By default, fields with
1118	// empty values are omitted from API requests. However, any non-pointer,
1119	// non-interface field appearing in ForceSendFields will be sent to the
1120	// server regardless of whether the field is empty or not. This may be
1121	// used to include empty fields in Patch requests.
1122	ForceSendFields []string `json:"-"`
1123
1124	// NullFields is a list of field names (e.g. "AccountProfiles") to
1125	// include in API requests with the JSON null value. By default, fields
1126	// with empty values are omitted from API requests. However, any field
1127	// with an empty value appearing in NullFields will be sent to the
1128	// server as null. It is an error if a field in this list has a
1129	// non-empty value. This may be used to include null fields in Patch
1130	// requests.
1131	NullFields []string `json:"-"`
1132}
1133
1134func (s *AccountPermission) MarshalJSON() ([]byte, error) {
1135	type NoMethod AccountPermission
1136	raw := NoMethod(*s)
1137	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1138}
1139
1140// AccountPermissionGroup: AccountPermissionGroups contains a mapping of
1141// permission group IDs to names. A permission group is a grouping of
1142// account permissions.
1143type AccountPermissionGroup struct {
1144	// Id: ID of this account permission group.
1145	Id int64 `json:"id,omitempty,string"`
1146
1147	// Kind: Identifies what kind of resource this is. Value: the fixed
1148	// string "dfareporting#accountPermissionGroup".
1149	Kind string `json:"kind,omitempty"`
1150
1151	// Name: Name of this account permission group.
1152	Name string `json:"name,omitempty"`
1153
1154	// ServerResponse contains the HTTP response code and headers from the
1155	// server.
1156	googleapi.ServerResponse `json:"-"`
1157
1158	// ForceSendFields is a list of field names (e.g. "Id") to
1159	// unconditionally include in API requests. By default, fields with
1160	// empty values are omitted from API requests. However, any non-pointer,
1161	// non-interface field appearing in ForceSendFields will be sent to the
1162	// server regardless of whether the field is empty or not. This may be
1163	// used to include empty fields in Patch requests.
1164	ForceSendFields []string `json:"-"`
1165
1166	// NullFields is a list of field names (e.g. "Id") to include in API
1167	// requests with the JSON null value. By default, fields with empty
1168	// values are omitted from API requests. However, any field with an
1169	// empty value appearing in NullFields will be sent to the server as
1170	// null. It is an error if a field in this list has a non-empty value.
1171	// This may be used to include null fields in Patch requests.
1172	NullFields []string `json:"-"`
1173}
1174
1175func (s *AccountPermissionGroup) MarshalJSON() ([]byte, error) {
1176	type NoMethod AccountPermissionGroup
1177	raw := NoMethod(*s)
1178	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1179}
1180
1181// AccountPermissionGroupsListResponse: Account Permission Group List
1182// Response
1183type AccountPermissionGroupsListResponse struct {
1184	// AccountPermissionGroups: Account permission group collection.
1185	AccountPermissionGroups []*AccountPermissionGroup `json:"accountPermissionGroups,omitempty"`
1186
1187	// Kind: Identifies what kind of resource this is. Value: the fixed
1188	// string "dfareporting#accountPermissionGroupsListResponse".
1189	Kind string `json:"kind,omitempty"`
1190
1191	// ServerResponse contains the HTTP response code and headers from the
1192	// server.
1193	googleapi.ServerResponse `json:"-"`
1194
1195	// ForceSendFields is a list of field names (e.g.
1196	// "AccountPermissionGroups") to unconditionally include in API
1197	// requests. By default, fields with empty values are omitted from API
1198	// requests. However, any non-pointer, non-interface field appearing in
1199	// ForceSendFields will be sent to the server regardless of whether the
1200	// field is empty or not. This may be used to include empty fields in
1201	// Patch requests.
1202	ForceSendFields []string `json:"-"`
1203
1204	// NullFields is a list of field names (e.g. "AccountPermissionGroups")
1205	// to include in API requests with the JSON null value. By default,
1206	// fields with empty values are omitted from API requests. However, any
1207	// field with an empty value appearing in NullFields will be sent to the
1208	// server as null. It is an error if a field in this list has a
1209	// non-empty value. This may be used to include null fields in Patch
1210	// requests.
1211	NullFields []string `json:"-"`
1212}
1213
1214func (s *AccountPermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
1215	type NoMethod AccountPermissionGroupsListResponse
1216	raw := NoMethod(*s)
1217	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1218}
1219
1220// AccountPermissionsListResponse: Account Permission List Response
1221type AccountPermissionsListResponse struct {
1222	// AccountPermissions: Account permission collection.
1223	AccountPermissions []*AccountPermission `json:"accountPermissions,omitempty"`
1224
1225	// Kind: Identifies what kind of resource this is. Value: the fixed
1226	// string "dfareporting#accountPermissionsListResponse".
1227	Kind string `json:"kind,omitempty"`
1228
1229	// ServerResponse contains the HTTP response code and headers from the
1230	// server.
1231	googleapi.ServerResponse `json:"-"`
1232
1233	// ForceSendFields is a list of field names (e.g. "AccountPermissions")
1234	// to unconditionally include in API requests. By default, fields with
1235	// empty values are omitted from API requests. However, any non-pointer,
1236	// non-interface field appearing in ForceSendFields will be sent to the
1237	// server regardless of whether the field is empty or not. This may be
1238	// used to include empty fields in Patch requests.
1239	ForceSendFields []string `json:"-"`
1240
1241	// NullFields is a list of field names (e.g. "AccountPermissions") to
1242	// include in API requests with the JSON null value. By default, fields
1243	// with empty values are omitted from API requests. However, any field
1244	// with an empty value appearing in NullFields will be sent to the
1245	// server as null. It is an error if a field in this list has a
1246	// non-empty value. This may be used to include null fields in Patch
1247	// requests.
1248	NullFields []string `json:"-"`
1249}
1250
1251func (s *AccountPermissionsListResponse) MarshalJSON() ([]byte, error) {
1252	type NoMethod AccountPermissionsListResponse
1253	raw := NoMethod(*s)
1254	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1255}
1256
1257// AccountUserProfile: AccountUserProfiles contains properties of a
1258// Campaign Manager user profile. This resource is specifically for
1259// managing user profiles, whereas UserProfiles is for accessing the
1260// API.
1261type AccountUserProfile struct {
1262	// AccountId: Account ID of the user profile. This is a read-only field
1263	// that can be left blank.
1264	AccountId int64 `json:"accountId,omitempty,string"`
1265
1266	// Active: Whether this user profile is active. This defaults to false,
1267	// and must be set true on insert for the user profile to be usable.
1268	Active bool `json:"active,omitempty"`
1269
1270	// AdvertiserFilter: Filter that describes which advertisers are visible
1271	// to the user profile.
1272	AdvertiserFilter *ObjectFilter `json:"advertiserFilter,omitempty"`
1273
1274	// CampaignFilter: Filter that describes which campaigns are visible to
1275	// the user profile.
1276	CampaignFilter *ObjectFilter `json:"campaignFilter,omitempty"`
1277
1278	// Comments: Comments for this user profile.
1279	Comments string `json:"comments,omitempty"`
1280
1281	// Email: Email of the user profile. The email addresss must be linked
1282	// to a Google Account. This field is required on insertion and is
1283	// read-only after insertion.
1284	Email string `json:"email,omitempty"`
1285
1286	// Id: ID of the user profile. This is a read-only, auto-generated
1287	// field.
1288	Id int64 `json:"id,omitempty,string"`
1289
1290	// Kind: Identifies what kind of resource this is. Value: the fixed
1291	// string "dfareporting#accountUserProfile".
1292	Kind string `json:"kind,omitempty"`
1293
1294	// Locale: Locale of the user profile. This is a required field.
1295	// Acceptable values are: - "cs" (Czech) - "de" (German) - "en"
1296	// (English) - "en-GB" (English United Kingdom) - "es" (Spanish) - "fr"
1297	// (French) - "it" (Italian) - "ja" (Japanese) - "ko" (Korean) - "pl"
1298	// (Polish) - "pt-BR" (Portuguese Brazil) - "ru" (Russian) - "sv"
1299	// (Swedish) - "tr" (Turkish) - "zh-CN" (Chinese Simplified) - "zh-TW"
1300	// (Chinese Traditional)
1301	Locale string `json:"locale,omitempty"`
1302
1303	// Name: Name of the user profile. This is a required field. Must be
1304	// less than 64 characters long, must be globally unique, and cannot
1305	// contain whitespace or any of the following characters: "&;<>"#%,".
1306	Name string `json:"name,omitempty"`
1307
1308	// SiteFilter: Filter that describes which sites are visible to the user
1309	// profile.
1310	SiteFilter *ObjectFilter `json:"siteFilter,omitempty"`
1311
1312	// SubaccountId: Subaccount ID of the user profile. This is a read-only
1313	// field that can be left blank.
1314	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1315
1316	// TraffickerType: Trafficker type of this user profile. This is a
1317	// read-only field.
1318	//
1319	// Possible values:
1320	//   "INTERNAL_NON_TRAFFICKER"
1321	//   "INTERNAL_TRAFFICKER"
1322	//   "EXTERNAL_TRAFFICKER"
1323	TraffickerType string `json:"traffickerType,omitempty"`
1324
1325	// UserAccessType: User type of the user profile. This is a read-only
1326	// field that can be left blank.
1327	//
1328	// Possible values:
1329	//   "NORMAL_USER"
1330	//   "SUPER_USER"
1331	//   "INTERNAL_ADMINISTRATOR"
1332	//   "READ_ONLY_SUPER_USER"
1333	UserAccessType string `json:"userAccessType,omitempty"`
1334
1335	// UserRoleFilter: Filter that describes which user roles are visible to
1336	// the user profile.
1337	UserRoleFilter *ObjectFilter `json:"userRoleFilter,omitempty"`
1338
1339	// UserRoleId: User role ID of the user profile. This is a required
1340	// field.
1341	UserRoleId int64 `json:"userRoleId,omitempty,string"`
1342
1343	// ServerResponse contains the HTTP response code and headers from the
1344	// server.
1345	googleapi.ServerResponse `json:"-"`
1346
1347	// ForceSendFields is a list of field names (e.g. "AccountId") to
1348	// unconditionally include in API requests. By default, fields with
1349	// empty values are omitted from API requests. However, any non-pointer,
1350	// non-interface field appearing in ForceSendFields will be sent to the
1351	// server regardless of whether the field is empty or not. This may be
1352	// used to include empty fields in Patch requests.
1353	ForceSendFields []string `json:"-"`
1354
1355	// NullFields is a list of field names (e.g. "AccountId") to include in
1356	// API requests with the JSON null value. By default, fields with empty
1357	// values are omitted from API requests. However, any field with an
1358	// empty value appearing in NullFields will be sent to the server as
1359	// null. It is an error if a field in this list has a non-empty value.
1360	// This may be used to include null fields in Patch requests.
1361	NullFields []string `json:"-"`
1362}
1363
1364func (s *AccountUserProfile) MarshalJSON() ([]byte, error) {
1365	type NoMethod AccountUserProfile
1366	raw := NoMethod(*s)
1367	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1368}
1369
1370// AccountUserProfilesListResponse: Account User Profile List Response
1371type AccountUserProfilesListResponse struct {
1372	// AccountUserProfiles: Account user profile collection.
1373	AccountUserProfiles []*AccountUserProfile `json:"accountUserProfiles,omitempty"`
1374
1375	// Kind: Identifies what kind of resource this is. Value: the fixed
1376	// string "dfareporting#accountUserProfilesListResponse".
1377	Kind string `json:"kind,omitempty"`
1378
1379	// NextPageToken: Pagination token to be used for the next list
1380	// operation.
1381	NextPageToken string `json:"nextPageToken,omitempty"`
1382
1383	// ServerResponse contains the HTTP response code and headers from the
1384	// server.
1385	googleapi.ServerResponse `json:"-"`
1386
1387	// ForceSendFields is a list of field names (e.g. "AccountUserProfiles")
1388	// to unconditionally include in API requests. By default, fields with
1389	// empty values are omitted from API requests. However, any non-pointer,
1390	// non-interface field appearing in ForceSendFields will be sent to the
1391	// server regardless of whether the field is empty or not. This may be
1392	// used to include empty fields in Patch requests.
1393	ForceSendFields []string `json:"-"`
1394
1395	// NullFields is a list of field names (e.g. "AccountUserProfiles") to
1396	// include in API requests with the JSON null value. By default, fields
1397	// with empty values are omitted from API requests. However, any field
1398	// with an empty value appearing in NullFields will be sent to the
1399	// server as null. It is an error if a field in this list has a
1400	// non-empty value. This may be used to include null fields in Patch
1401	// requests.
1402	NullFields []string `json:"-"`
1403}
1404
1405func (s *AccountUserProfilesListResponse) MarshalJSON() ([]byte, error) {
1406	type NoMethod AccountUserProfilesListResponse
1407	raw := NoMethod(*s)
1408	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1409}
1410
1411// AccountsListResponse: Account List Response
1412type AccountsListResponse struct {
1413	// Accounts: Account collection.
1414	Accounts []*Account `json:"accounts,omitempty"`
1415
1416	// Kind: Identifies what kind of resource this is. Value: the fixed
1417	// string "dfareporting#accountsListResponse".
1418	Kind string `json:"kind,omitempty"`
1419
1420	// NextPageToken: Pagination token to be used for the next list
1421	// operation.
1422	NextPageToken string `json:"nextPageToken,omitempty"`
1423
1424	// ServerResponse contains the HTTP response code and headers from the
1425	// server.
1426	googleapi.ServerResponse `json:"-"`
1427
1428	// ForceSendFields is a list of field names (e.g. "Accounts") to
1429	// unconditionally include in API requests. By default, fields with
1430	// empty values are omitted from API requests. However, any non-pointer,
1431	// non-interface field appearing in ForceSendFields will be sent to the
1432	// server regardless of whether the field is empty or not. This may be
1433	// used to include empty fields in Patch requests.
1434	ForceSendFields []string `json:"-"`
1435
1436	// NullFields is a list of field names (e.g. "Accounts") to include in
1437	// API requests with the JSON null value. By default, fields with empty
1438	// values are omitted from API requests. However, any field with an
1439	// empty value appearing in NullFields will be sent to the server as
1440	// null. It is an error if a field in this list has a non-empty value.
1441	// This may be used to include null fields in Patch requests.
1442	NullFields []string `json:"-"`
1443}
1444
1445func (s *AccountsListResponse) MarshalJSON() ([]byte, error) {
1446	type NoMethod AccountsListResponse
1447	raw := NoMethod(*s)
1448	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1449}
1450
1451// Activities: Represents an activity group.
1452type Activities struct {
1453	// Filters: List of activity filters. The dimension values need to be
1454	// all either of type "dfa:activity" or "dfa:activityGroup".
1455	Filters []*DimensionValue `json:"filters,omitempty"`
1456
1457	// Kind: The kind of resource this is, in this case
1458	// dfareporting#activities.
1459	Kind string `json:"kind,omitempty"`
1460
1461	// MetricNames: List of names of floodlight activity metrics.
1462	MetricNames []string `json:"metricNames,omitempty"`
1463
1464	// ForceSendFields is a list of field names (e.g. "Filters") to
1465	// unconditionally include in API requests. By default, fields with
1466	// empty values are omitted from API requests. However, any non-pointer,
1467	// non-interface field appearing in ForceSendFields will be sent to the
1468	// server regardless of whether the field is empty or not. This may be
1469	// used to include empty fields in Patch requests.
1470	ForceSendFields []string `json:"-"`
1471
1472	// NullFields is a list of field names (e.g. "Filters") to include in
1473	// API requests with the JSON null value. By default, fields with empty
1474	// values are omitted from API requests. However, any field with an
1475	// empty value appearing in NullFields will be sent to the server as
1476	// null. It is an error if a field in this list has a non-empty value.
1477	// This may be used to include null fields in Patch requests.
1478	NullFields []string `json:"-"`
1479}
1480
1481func (s *Activities) MarshalJSON() ([]byte, error) {
1482	type NoMethod Activities
1483	raw := NoMethod(*s)
1484	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1485}
1486
1487// Ad: Contains properties of a Campaign Manager ad.
1488type Ad struct {
1489	// AccountId: Account ID of this ad. This is a read-only field that can
1490	// be left blank.
1491	AccountId int64 `json:"accountId,omitempty,string"`
1492
1493	// Active: Whether this ad is active. When true, archived must be false.
1494	Active bool `json:"active,omitempty"`
1495
1496	// AdvertiserId: Advertiser ID of this ad. This is a required field on
1497	// insertion.
1498	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
1499
1500	// AdvertiserIdDimensionValue: Dimension value for the ID of the
1501	// advertiser. This is a read-only, auto-generated field.
1502	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
1503
1504	// Archived: Whether this ad is archived. When true, active must be
1505	// false.
1506	Archived bool `json:"archived,omitempty"`
1507
1508	// AudienceSegmentId: Audience segment ID that is being targeted for
1509	// this ad. Applicable when type is AD_SERVING_STANDARD_AD.
1510	AudienceSegmentId int64 `json:"audienceSegmentId,omitempty,string"`
1511
1512	// CampaignId: Campaign ID of this ad. This is a required field on
1513	// insertion.
1514	CampaignId int64 `json:"campaignId,omitempty,string"`
1515
1516	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
1517	// This is a read-only, auto-generated field.
1518	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
1519
1520	// ClickThroughUrl: Click-through URL for this ad. This is a required
1521	// field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
1522	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
1523
1524	// ClickThroughUrlSuffixProperties: Click-through URL suffix properties
1525	// for this ad. Applies to the URL in the ad or (if overriding ad
1526	// properties) the URL in the creative.
1527	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
1528
1529	// Comments: Comments for this ad.
1530	Comments string `json:"comments,omitempty"`
1531
1532	// Compatibility: Compatibility of this ad. Applicable when type is
1533	// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
1534	// either rendering on desktop or on mobile devices or in mobile apps
1535	// for regular or interstitial ads, respectively. APP and
1536	// APP_INTERSTITIAL are only used for existing default ads. New mobile
1537	// placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and
1538	// default ads created for those placements will be limited to those
1539	// compatibility types. IN_STREAM_VIDEO refers to rendering in-stream
1540	// video ads developed with the VAST standard.
1541	//
1542	// Possible values:
1543	//   "DISPLAY"
1544	//   "DISPLAY_INTERSTITIAL"
1545	//   "APP"
1546	//   "APP_INTERSTITIAL"
1547	//   "IN_STREAM_VIDEO"
1548	//   "IN_STREAM_AUDIO"
1549	Compatibility string `json:"compatibility,omitempty"`
1550
1551	// CreateInfo: Information about the creation of this ad. This is a
1552	// read-only field.
1553	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
1554
1555	// CreativeGroupAssignments: Creative group assignments for this ad.
1556	// Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment
1557	// per creative group number is allowed for a maximum of two
1558	// assignments.
1559	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
1560
1561	// CreativeRotation: Creative rotation for this ad. Applicable when type
1562	// is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or
1563	// AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field
1564	// should have exactly one creativeAssignment .
1565	CreativeRotation *CreativeRotation `json:"creativeRotation,omitempty"`
1566
1567	// DayPartTargeting: Time and day targeting information for this ad.
1568	// This field must be left blank if the ad is using a targeting
1569	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1570	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
1571
1572	// DefaultClickThroughEventTagProperties: Default click-through event
1573	// tag properties for this ad.
1574	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
1575
1576	// DeliverySchedule: Delivery schedule information for this ad.
1577	// Applicable when type is AD_SERVING_STANDARD_AD or
1578	// AD_SERVING_TRACKING. This field along with subfields priority and
1579	// impressionRatio are required on insertion when type is
1580	// AD_SERVING_STANDARD_AD.
1581	DeliverySchedule *DeliverySchedule `json:"deliverySchedule,omitempty"`
1582
1583	// DynamicClickTracker: Whether this ad is a dynamic click tracker.
1584	// Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required
1585	// field on insert, and is read-only after insert.
1586	DynamicClickTracker bool `json:"dynamicClickTracker,omitempty"`
1587
1588	EndTime string `json:"endTime,omitempty"`
1589
1590	// EventTagOverrides: Event tag overrides for this ad.
1591	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
1592
1593	// GeoTargeting: Geographical targeting information for this ad. This
1594	// field must be left blank if the ad is using a targeting template.
1595	// Applicable when type is AD_SERVING_STANDARD_AD.
1596	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
1597
1598	// Id: ID of this ad. This is a read-only, auto-generated field.
1599	Id int64 `json:"id,omitempty,string"`
1600
1601	// IdDimensionValue: Dimension value for the ID of this ad. This is a
1602	// read-only, auto-generated field.
1603	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
1604
1605	// KeyValueTargetingExpression: Key-value targeting information for this
1606	// ad. This field must be left blank if the ad is using a targeting
1607	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1608	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
1609
1610	// Kind: Identifies what kind of resource this is. Value: the fixed
1611	// string "dfareporting#ad".
1612	Kind string `json:"kind,omitempty"`
1613
1614	// LanguageTargeting: Language targeting information for this ad. This
1615	// field must be left blank if the ad is using a targeting template.
1616	// Applicable when type is AD_SERVING_STANDARD_AD.
1617	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
1618
1619	// LastModifiedInfo: Information about the most recent modification of
1620	// this ad. This is a read-only field.
1621	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
1622
1623	// Name: Name of this ad. This is a required field and must be less than
1624	// 256 characters long.
1625	Name string `json:"name,omitempty"`
1626
1627	// PlacementAssignments: Placement assignments for this ad.
1628	PlacementAssignments []*PlacementAssignment `json:"placementAssignments,omitempty"`
1629
1630	// RemarketingListExpression: Remarketing list targeting expression for
1631	// this ad. This field must be left blank if the ad is using a targeting
1632	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1633	RemarketingListExpression *ListTargetingExpression `json:"remarketingListExpression,omitempty"`
1634
1635	// Size: Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
1636	Size *Size `json:"size,omitempty"`
1637
1638	// SslCompliant: Whether this ad is ssl compliant. This is a read-only
1639	// field that is auto-generated when the ad is inserted or updated.
1640	SslCompliant bool `json:"sslCompliant,omitempty"`
1641
1642	// SslRequired: Whether this ad requires ssl. This is a read-only field
1643	// that is auto-generated when the ad is inserted or updated.
1644	SslRequired bool `json:"sslRequired,omitempty"`
1645
1646	StartTime string `json:"startTime,omitempty"`
1647
1648	// SubaccountId: Subaccount ID of this ad. This is a read-only field
1649	// that can be left blank.
1650	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1651
1652	// TargetingTemplateId: Targeting template ID, used to apply
1653	// preconfigured targeting information to this ad. This cannot be set
1654	// while any of dayPartTargeting, geoTargeting,
1655	// keyValueTargetingExpression, languageTargeting,
1656	// remarketingListExpression, or technologyTargeting are set. Applicable
1657	// when type is AD_SERVING_STANDARD_AD.
1658	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
1659
1660	// TechnologyTargeting: Technology platform targeting information for
1661	// this ad. This field must be left blank if the ad is using a targeting
1662	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1663	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
1664
1665	// Type: Type of ad. This is a required field on insertion. Note that
1666	// default ads ( AD_SERVING_DEFAULT_AD) cannot be created directly (see
1667	// Creative resource).
1668	//
1669	// Possible values:
1670	//   "AD_SERVING_STANDARD_AD"
1671	//   "AD_SERVING_DEFAULT_AD"
1672	//   "AD_SERVING_CLICK_TRACKER"
1673	//   "AD_SERVING_TRACKING"
1674	//   "AD_SERVING_BRAND_SAFE_AD"
1675	Type string `json:"type,omitempty"`
1676
1677	// ServerResponse contains the HTTP response code and headers from the
1678	// server.
1679	googleapi.ServerResponse `json:"-"`
1680
1681	// ForceSendFields is a list of field names (e.g. "AccountId") to
1682	// unconditionally include in API requests. By default, fields with
1683	// empty values are omitted from API requests. However, any non-pointer,
1684	// non-interface field appearing in ForceSendFields will be sent to the
1685	// server regardless of whether the field is empty or not. This may be
1686	// used to include empty fields in Patch requests.
1687	ForceSendFields []string `json:"-"`
1688
1689	// NullFields is a list of field names (e.g. "AccountId") to include in
1690	// API requests with the JSON null value. By default, fields with empty
1691	// values are omitted from API requests. However, any field with an
1692	// empty value appearing in NullFields will be sent to the server as
1693	// null. It is an error if a field in this list has a non-empty value.
1694	// This may be used to include null fields in Patch requests.
1695	NullFields []string `json:"-"`
1696}
1697
1698func (s *Ad) MarshalJSON() ([]byte, error) {
1699	type NoMethod Ad
1700	raw := NoMethod(*s)
1701	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1702}
1703
1704// AdBlockingConfiguration: Campaign ad blocking settings.
1705type AdBlockingConfiguration struct {
1706	// ClickThroughUrl: Click-through URL used by brand-neutral ads. This is
1707	// a required field when overrideClickThroughUrl is set to true.
1708	ClickThroughUrl string `json:"clickThroughUrl,omitempty"`
1709
1710	// CreativeBundleId: ID of a creative bundle to use for this campaign.
1711	// If set, brand-neutral ads will select creatives from this bundle.
1712	// Otherwise, a default transparent pixel will be used.
1713	CreativeBundleId int64 `json:"creativeBundleId,omitempty,string"`
1714
1715	// Enabled: Whether this campaign has enabled ad blocking. When true, ad
1716	// blocking is enabled for placements in the campaign, but this may be
1717	// overridden by site and placement settings. When false, ad blocking is
1718	// disabled for all placements under the campaign, regardless of site
1719	// and placement settings.
1720	Enabled bool `json:"enabled,omitempty"`
1721
1722	// OverrideClickThroughUrl: Whether the brand-neutral ad's click-through
1723	// URL comes from the campaign's creative bundle or the override URL.
1724	// Must be set to true if ad blocking is enabled and no creative bundle
1725	// is configured.
1726	OverrideClickThroughUrl bool `json:"overrideClickThroughUrl,omitempty"`
1727
1728	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
1729	// unconditionally include in API requests. By default, fields with
1730	// empty values are omitted from API requests. However, any non-pointer,
1731	// non-interface field appearing in ForceSendFields will be sent to the
1732	// server regardless of whether the field is empty or not. This may be
1733	// used to include empty fields in Patch requests.
1734	ForceSendFields []string `json:"-"`
1735
1736	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
1737	// include in API requests with the JSON null value. By default, fields
1738	// with empty values are omitted from API requests. However, any field
1739	// with an empty value appearing in NullFields will be sent to the
1740	// server as null. It is an error if a field in this list has a
1741	// non-empty value. This may be used to include null fields in Patch
1742	// requests.
1743	NullFields []string `json:"-"`
1744}
1745
1746func (s *AdBlockingConfiguration) MarshalJSON() ([]byte, error) {
1747	type NoMethod AdBlockingConfiguration
1748	raw := NoMethod(*s)
1749	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1750}
1751
1752// AdSlot: Ad Slot
1753type AdSlot struct {
1754	// Comment: Comment for this ad slot.
1755	Comment string `json:"comment,omitempty"`
1756
1757	// Compatibility: Ad slot compatibility. DISPLAY and
1758	// DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile
1759	// devices or in mobile apps for regular or interstitial ads
1760	// respectively. APP and APP_INTERSTITIAL are for rendering in mobile
1761	// apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads
1762	// developed with the VAST standard.
1763	//
1764	// Possible values:
1765	//   "DISPLAY"
1766	//   "DISPLAY_INTERSTITIAL"
1767	//   "APP"
1768	//   "APP_INTERSTITIAL"
1769	//   "IN_STREAM_VIDEO"
1770	//   "IN_STREAM_AUDIO"
1771	Compatibility string `json:"compatibility,omitempty"`
1772
1773	// Height: Height of this ad slot.
1774	Height int64 `json:"height,omitempty,string"`
1775
1776	// LinkedPlacementId: ID of the placement from an external platform that
1777	// is linked to this ad slot.
1778	LinkedPlacementId int64 `json:"linkedPlacementId,omitempty,string"`
1779
1780	// Name: Name of this ad slot.
1781	Name string `json:"name,omitempty"`
1782
1783	// PaymentSourceType: Payment source type of this ad slot.
1784	//
1785	// Possible values:
1786	//   "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID"
1787	//   "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID"
1788	PaymentSourceType string `json:"paymentSourceType,omitempty"`
1789
1790	// Primary: Primary ad slot of a roadblock inventory item.
1791	Primary bool `json:"primary,omitempty"`
1792
1793	// Width: Width of this ad slot.
1794	Width int64 `json:"width,omitempty,string"`
1795
1796	// ForceSendFields is a list of field names (e.g. "Comment") to
1797	// unconditionally include in API requests. By default, fields with
1798	// empty values are omitted from API requests. However, any non-pointer,
1799	// non-interface field appearing in ForceSendFields will be sent to the
1800	// server regardless of whether the field is empty or not. This may be
1801	// used to include empty fields in Patch requests.
1802	ForceSendFields []string `json:"-"`
1803
1804	// NullFields is a list of field names (e.g. "Comment") to include in
1805	// API requests with the JSON null value. By default, fields with empty
1806	// values are omitted from API requests. However, any field with an
1807	// empty value appearing in NullFields will be sent to the server as
1808	// null. It is an error if a field in this list has a non-empty value.
1809	// This may be used to include null fields in Patch requests.
1810	NullFields []string `json:"-"`
1811}
1812
1813func (s *AdSlot) MarshalJSON() ([]byte, error) {
1814	type NoMethod AdSlot
1815	raw := NoMethod(*s)
1816	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1817}
1818
1819// AdsListResponse: Ad List Response
1820type AdsListResponse struct {
1821	// Ads: Ad collection.
1822	Ads []*Ad `json:"ads,omitempty"`
1823
1824	// Kind: Identifies what kind of resource this is. Value: the fixed
1825	// string "dfareporting#adsListResponse".
1826	Kind string `json:"kind,omitempty"`
1827
1828	// NextPageToken: Pagination token to be used for the next list
1829	// operation.
1830	NextPageToken string `json:"nextPageToken,omitempty"`
1831
1832	// ServerResponse contains the HTTP response code and headers from the
1833	// server.
1834	googleapi.ServerResponse `json:"-"`
1835
1836	// ForceSendFields is a list of field names (e.g. "Ads") to
1837	// unconditionally include in API requests. By default, fields with
1838	// empty values are omitted from API requests. However, any non-pointer,
1839	// non-interface field appearing in ForceSendFields will be sent to the
1840	// server regardless of whether the field is empty or not. This may be
1841	// used to include empty fields in Patch requests.
1842	ForceSendFields []string `json:"-"`
1843
1844	// NullFields is a list of field names (e.g. "Ads") to include in API
1845	// requests with the JSON null value. By default, fields with empty
1846	// values are omitted from API requests. However, any field with an
1847	// empty value appearing in NullFields will be sent to the server as
1848	// null. It is an error if a field in this list has a non-empty value.
1849	// This may be used to include null fields in Patch requests.
1850	NullFields []string `json:"-"`
1851}
1852
1853func (s *AdsListResponse) MarshalJSON() ([]byte, error) {
1854	type NoMethod AdsListResponse
1855	raw := NoMethod(*s)
1856	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1857}
1858
1859// Advertiser: Contains properties of a Campaign Manager advertiser.
1860type Advertiser struct {
1861	// AccountId: Account ID of this advertiser.This is a read-only field
1862	// that can be left blank.
1863	AccountId int64 `json:"accountId,omitempty,string"`
1864
1865	// AdvertiserGroupId: ID of the advertiser group this advertiser belongs
1866	// to. You can group advertisers for reporting purposes, allowing you to
1867	// see aggregated information for all advertisers in each group.
1868	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
1869
1870	// ClickThroughUrlSuffix: Suffix added to click-through URL of ad
1871	// creative associations under this advertiser. Must be less than 129
1872	// characters long.
1873	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
1874
1875	// DefaultClickThroughEventTagId: ID of the click-through event tag to
1876	// apply by default to the landing pages of this advertiser's campaigns.
1877	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
1878
1879	// DefaultEmail: Default email address used in sender field for tag
1880	// emails.
1881	DefaultEmail string `json:"defaultEmail,omitempty"`
1882
1883	// FloodlightConfigurationId: Floodlight configuration ID of this
1884	// advertiser. The floodlight configuration ID will be created
1885	// automatically, so on insert this field should be left blank. This
1886	// field can be set to another advertiser's floodlight configuration ID
1887	// in order to share that advertiser's floodlight configuration with
1888	// this advertiser, so long as: - This advertiser's original floodlight
1889	// configuration is not already associated with floodlight activities or
1890	// floodlight activity groups. - This advertiser's original floodlight
1891	// configuration is not already shared with another advertiser.
1892	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
1893
1894	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
1895	// of the floodlight configuration. This is a read-only, auto-generated
1896	// field.
1897	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
1898
1899	// Id: ID of this advertiser. This is a read-only, auto-generated field.
1900	Id int64 `json:"id,omitempty,string"`
1901
1902	// IdDimensionValue: Dimension value for the ID of this advertiser. This
1903	// is a read-only, auto-generated field.
1904	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
1905
1906	// Kind: Identifies what kind of resource this is. Value: the fixed
1907	// string "dfareporting#advertiser".
1908	Kind string `json:"kind,omitempty"`
1909
1910	// Name: Name of this advertiser. This is a required field and must be
1911	// less than 256 characters long and unique among advertisers of the
1912	// same account.
1913	Name string `json:"name,omitempty"`
1914
1915	// OriginalFloodlightConfigurationId: Original floodlight configuration
1916	// before any sharing occurred. Set the floodlightConfigurationId of
1917	// this advertiser to originalFloodlightConfigurationId to unshare the
1918	// advertiser's current floodlight configuration. You cannot unshare an
1919	// advertiser's floodlight configuration if the shared configuration has
1920	// activities associated with any campaign or placement.
1921	OriginalFloodlightConfigurationId int64 `json:"originalFloodlightConfigurationId,omitempty,string"`
1922
1923	// Status: Status of this advertiser.
1924	//
1925	// Possible values:
1926	//   "APPROVED"
1927	//   "ON_HOLD"
1928	Status string `json:"status,omitempty"`
1929
1930	// SubaccountId: Subaccount ID of this advertiser.This is a read-only
1931	// field that can be left blank.
1932	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1933
1934	// Suspended: Suspension status of this advertiser.
1935	Suspended bool `json:"suspended,omitempty"`
1936
1937	// ServerResponse contains the HTTP response code and headers from the
1938	// server.
1939	googleapi.ServerResponse `json:"-"`
1940
1941	// ForceSendFields is a list of field names (e.g. "AccountId") to
1942	// unconditionally include in API requests. By default, fields with
1943	// empty values are omitted from API requests. However, any non-pointer,
1944	// non-interface field appearing in ForceSendFields will be sent to the
1945	// server regardless of whether the field is empty or not. This may be
1946	// used to include empty fields in Patch requests.
1947	ForceSendFields []string `json:"-"`
1948
1949	// NullFields is a list of field names (e.g. "AccountId") to include in
1950	// API requests with the JSON null value. By default, fields with empty
1951	// values are omitted from API requests. However, any field with an
1952	// empty value appearing in NullFields will be sent to the server as
1953	// null. It is an error if a field in this list has a non-empty value.
1954	// This may be used to include null fields in Patch requests.
1955	NullFields []string `json:"-"`
1956}
1957
1958func (s *Advertiser) MarshalJSON() ([]byte, error) {
1959	type NoMethod Advertiser
1960	raw := NoMethod(*s)
1961	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1962}
1963
1964// AdvertiserGroup: Groups advertisers together so that reports can be
1965// generated for the entire group at once.
1966type AdvertiserGroup struct {
1967	// AccountId: Account ID of this advertiser group. This is a read-only
1968	// field that can be left blank.
1969	AccountId int64 `json:"accountId,omitempty,string"`
1970
1971	// Id: ID of this advertiser group. This is a read-only, auto-generated
1972	// field.
1973	Id int64 `json:"id,omitempty,string"`
1974
1975	// Kind: Identifies what kind of resource this is. Value: the fixed
1976	// string "dfareporting#advertiserGroup".
1977	Kind string `json:"kind,omitempty"`
1978
1979	// Name: Name of this advertiser group. This is a required field and
1980	// must be less than 256 characters long and unique among advertiser
1981	// groups of the same account.
1982	Name string `json:"name,omitempty"`
1983
1984	// ServerResponse contains the HTTP response code and headers from the
1985	// server.
1986	googleapi.ServerResponse `json:"-"`
1987
1988	// ForceSendFields is a list of field names (e.g. "AccountId") to
1989	// unconditionally include in API requests. By default, fields with
1990	// empty values are omitted from API requests. However, any non-pointer,
1991	// non-interface field appearing in ForceSendFields will be sent to the
1992	// server regardless of whether the field is empty or not. This may be
1993	// used to include empty fields in Patch requests.
1994	ForceSendFields []string `json:"-"`
1995
1996	// NullFields is a list of field names (e.g. "AccountId") to include in
1997	// API requests with the JSON null value. By default, fields with empty
1998	// values are omitted from API requests. However, any field with an
1999	// empty value appearing in NullFields will be sent to the server as
2000	// null. It is an error if a field in this list has a non-empty value.
2001	// This may be used to include null fields in Patch requests.
2002	NullFields []string `json:"-"`
2003}
2004
2005func (s *AdvertiserGroup) MarshalJSON() ([]byte, error) {
2006	type NoMethod AdvertiserGroup
2007	raw := NoMethod(*s)
2008	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2009}
2010
2011// AdvertiserGroupsListResponse: Advertiser Group List Response
2012type AdvertiserGroupsListResponse struct {
2013	// AdvertiserGroups: Advertiser group collection.
2014	AdvertiserGroups []*AdvertiserGroup `json:"advertiserGroups,omitempty"`
2015
2016	// Kind: Identifies what kind of resource this is. Value: the fixed
2017	// string "dfareporting#advertiserGroupsListResponse".
2018	Kind string `json:"kind,omitempty"`
2019
2020	// NextPageToken: Pagination token to be used for the next list
2021	// operation.
2022	NextPageToken string `json:"nextPageToken,omitempty"`
2023
2024	// ServerResponse contains the HTTP response code and headers from the
2025	// server.
2026	googleapi.ServerResponse `json:"-"`
2027
2028	// ForceSendFields is a list of field names (e.g. "AdvertiserGroups") to
2029	// unconditionally include in API requests. By default, fields with
2030	// empty values are omitted from API requests. However, any non-pointer,
2031	// non-interface field appearing in ForceSendFields will be sent to the
2032	// server regardless of whether the field is empty or not. This may be
2033	// used to include empty fields in Patch requests.
2034	ForceSendFields []string `json:"-"`
2035
2036	// NullFields is a list of field names (e.g. "AdvertiserGroups") to
2037	// include in API requests with the JSON null value. By default, fields
2038	// with empty values are omitted from API requests. However, any field
2039	// with an empty value appearing in NullFields will be sent to the
2040	// server as null. It is an error if a field in this list has a
2041	// non-empty value. This may be used to include null fields in Patch
2042	// requests.
2043	NullFields []string `json:"-"`
2044}
2045
2046func (s *AdvertiserGroupsListResponse) MarshalJSON() ([]byte, error) {
2047	type NoMethod AdvertiserGroupsListResponse
2048	raw := NoMethod(*s)
2049	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2050}
2051
2052// AdvertiserLandingPagesListResponse: Landing Page List Response
2053type AdvertiserLandingPagesListResponse struct {
2054	// Kind: Identifies what kind of resource this is. Value: the fixed
2055	// string "dfareporting#advertiserLandingPagesListResponse".
2056	Kind string `json:"kind,omitempty"`
2057
2058	// LandingPages: Landing page collection
2059	LandingPages []*LandingPage `json:"landingPages,omitempty"`
2060
2061	// NextPageToken: Pagination token to be used for the next list
2062	// operation.
2063	NextPageToken string `json:"nextPageToken,omitempty"`
2064
2065	// ServerResponse contains the HTTP response code and headers from the
2066	// server.
2067	googleapi.ServerResponse `json:"-"`
2068
2069	// ForceSendFields is a list of field names (e.g. "Kind") to
2070	// unconditionally include in API requests. By default, fields with
2071	// empty values are omitted from API requests. However, any non-pointer,
2072	// non-interface field appearing in ForceSendFields will be sent to the
2073	// server regardless of whether the field is empty or not. This may be
2074	// used to include empty fields in Patch requests.
2075	ForceSendFields []string `json:"-"`
2076
2077	// NullFields is a list of field names (e.g. "Kind") to include in API
2078	// requests with the JSON null value. By default, fields with empty
2079	// values are omitted from API requests. However, any field with an
2080	// empty value appearing in NullFields will be sent to the server as
2081	// null. It is an error if a field in this list has a non-empty value.
2082	// This may be used to include null fields in Patch requests.
2083	NullFields []string `json:"-"`
2084}
2085
2086func (s *AdvertiserLandingPagesListResponse) MarshalJSON() ([]byte, error) {
2087	type NoMethod AdvertiserLandingPagesListResponse
2088	raw := NoMethod(*s)
2089	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2090}
2091
2092// AdvertisersListResponse: Advertiser List Response
2093type AdvertisersListResponse struct {
2094	// Advertisers: Advertiser collection.
2095	Advertisers []*Advertiser `json:"advertisers,omitempty"`
2096
2097	// Kind: Identifies what kind of resource this is. Value: the fixed
2098	// string "dfareporting#advertisersListResponse".
2099	Kind string `json:"kind,omitempty"`
2100
2101	// NextPageToken: Pagination token to be used for the next list
2102	// operation.
2103	NextPageToken string `json:"nextPageToken,omitempty"`
2104
2105	// ServerResponse contains the HTTP response code and headers from the
2106	// server.
2107	googleapi.ServerResponse `json:"-"`
2108
2109	// ForceSendFields is a list of field names (e.g. "Advertisers") to
2110	// unconditionally include in API requests. By default, fields with
2111	// empty values are omitted from API requests. However, any non-pointer,
2112	// non-interface field appearing in ForceSendFields will be sent to the
2113	// server regardless of whether the field is empty or not. This may be
2114	// used to include empty fields in Patch requests.
2115	ForceSendFields []string `json:"-"`
2116
2117	// NullFields is a list of field names (e.g. "Advertisers") to include
2118	// in API requests with the JSON null value. By default, fields with
2119	// empty values are omitted from API requests. However, any field with
2120	// an empty value appearing in NullFields will be sent to the server as
2121	// null. It is an error if a field in this list has a non-empty value.
2122	// This may be used to include null fields in Patch requests.
2123	NullFields []string `json:"-"`
2124}
2125
2126func (s *AdvertisersListResponse) MarshalJSON() ([]byte, error) {
2127	type NoMethod AdvertisersListResponse
2128	raw := NoMethod(*s)
2129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2130}
2131
2132// AudienceSegment: Audience Segment.
2133type AudienceSegment struct {
2134	// Allocation: Weight allocated to this segment. The weight assigned
2135	// will be understood in proportion to the weights assigned to other
2136	// segments in the same segment group. Acceptable values are 1 to 1000,
2137	// inclusive.
2138	Allocation int64 `json:"allocation,omitempty"`
2139
2140	// Id: ID of this audience segment. This is a read-only, auto-generated
2141	// field.
2142	Id int64 `json:"id,omitempty,string"`
2143
2144	// Name: Name of this audience segment. This is a required field and
2145	// must be less than 65 characters long.
2146	Name string `json:"name,omitempty"`
2147
2148	// ForceSendFields is a list of field names (e.g. "Allocation") to
2149	// unconditionally include in API requests. By default, fields with
2150	// empty values are omitted from API requests. However, any non-pointer,
2151	// non-interface field appearing in ForceSendFields will be sent to the
2152	// server regardless of whether the field is empty or not. This may be
2153	// used to include empty fields in Patch requests.
2154	ForceSendFields []string `json:"-"`
2155
2156	// NullFields is a list of field names (e.g. "Allocation") to include in
2157	// API requests with the JSON null value. By default, fields with empty
2158	// values are omitted from API requests. However, any field with an
2159	// empty value appearing in NullFields will be sent to the server as
2160	// null. It is an error if a field in this list has a non-empty value.
2161	// This may be used to include null fields in Patch requests.
2162	NullFields []string `json:"-"`
2163}
2164
2165func (s *AudienceSegment) MarshalJSON() ([]byte, error) {
2166	type NoMethod AudienceSegment
2167	raw := NoMethod(*s)
2168	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2169}
2170
2171// AudienceSegmentGroup: Audience Segment Group.
2172type AudienceSegmentGroup struct {
2173	// AudienceSegments: Audience segments assigned to this group. The
2174	// number of segments must be between 2 and 100.
2175	AudienceSegments []*AudienceSegment `json:"audienceSegments,omitempty"`
2176
2177	// Id: ID of this audience segment group. This is a read-only,
2178	// auto-generated field.
2179	Id int64 `json:"id,omitempty,string"`
2180
2181	// Name: Name of this audience segment group. This is a required field
2182	// and must be less than 65 characters long.
2183	Name string `json:"name,omitempty"`
2184
2185	// ForceSendFields is a list of field names (e.g. "AudienceSegments") to
2186	// unconditionally include in API requests. By default, fields with
2187	// empty values are omitted from API requests. However, any non-pointer,
2188	// non-interface field appearing in ForceSendFields will be sent to the
2189	// server regardless of whether the field is empty or not. This may be
2190	// used to include empty fields in Patch requests.
2191	ForceSendFields []string `json:"-"`
2192
2193	// NullFields is a list of field names (e.g. "AudienceSegments") to
2194	// include in API requests with the JSON null value. By default, fields
2195	// with empty values are omitted from API requests. However, any field
2196	// with an empty value appearing in NullFields will be sent to the
2197	// server as null. It is an error if a field in this list has a
2198	// non-empty value. This may be used to include null fields in Patch
2199	// requests.
2200	NullFields []string `json:"-"`
2201}
2202
2203func (s *AudienceSegmentGroup) MarshalJSON() ([]byte, error) {
2204	type NoMethod AudienceSegmentGroup
2205	raw := NoMethod(*s)
2206	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2207}
2208
2209// Browser: Contains information about a browser that can be targeted by
2210// ads.
2211type Browser struct {
2212	// BrowserVersionId: ID referring to this grouping of browser and
2213	// version numbers. This is the ID used for targeting.
2214	BrowserVersionId int64 `json:"browserVersionId,omitempty,string"`
2215
2216	// DartId: DART ID of this browser. This is the ID used when generating
2217	// reports.
2218	DartId int64 `json:"dartId,omitempty,string"`
2219
2220	// Kind: Identifies what kind of resource this is. Value: the fixed
2221	// string "dfareporting#browser".
2222	Kind string `json:"kind,omitempty"`
2223
2224	// MajorVersion: Major version number (leftmost number) of this browser.
2225	// For example, for Chrome 5.0.376.86 beta, this field should be set to
2226	// 5. An asterisk (*) may be used to target any version number, and a
2227	// question mark (?) may be used to target cases where the version
2228	// number cannot be identified. For example, Chrome *.* targets any
2229	// version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
2230	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
2231	// server knows the browser is Firefox but can't tell which version it
2232	// is.
2233	MajorVersion string `json:"majorVersion,omitempty"`
2234
2235	// MinorVersion: Minor version number (number after first dot on left)
2236	// of this browser. For example, for Chrome 5.0.375.86 beta, this field
2237	// should be set to 0. An asterisk (*) may be used to target any version
2238	// number, and a question mark (?) may be used to target cases where the
2239	// version number cannot be identified. For example, Chrome *.* targets
2240	// any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
2241	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
2242	// server knows the browser is Firefox but can't tell which version it
2243	// is.
2244	MinorVersion string `json:"minorVersion,omitempty"`
2245
2246	// Name: Name of this browser.
2247	Name string `json:"name,omitempty"`
2248
2249	// ForceSendFields is a list of field names (e.g. "BrowserVersionId") to
2250	// unconditionally include in API requests. By default, fields with
2251	// empty values are omitted from API requests. However, any non-pointer,
2252	// non-interface field appearing in ForceSendFields will be sent to the
2253	// server regardless of whether the field is empty or not. This may be
2254	// used to include empty fields in Patch requests.
2255	ForceSendFields []string `json:"-"`
2256
2257	// NullFields is a list of field names (e.g. "BrowserVersionId") to
2258	// include in API requests with the JSON null value. By default, fields
2259	// with empty values are omitted from API requests. However, any field
2260	// with an empty value appearing in NullFields will be sent to the
2261	// server as null. It is an error if a field in this list has a
2262	// non-empty value. This may be used to include null fields in Patch
2263	// requests.
2264	NullFields []string `json:"-"`
2265}
2266
2267func (s *Browser) MarshalJSON() ([]byte, error) {
2268	type NoMethod Browser
2269	raw := NoMethod(*s)
2270	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2271}
2272
2273// BrowsersListResponse: Browser List Response
2274type BrowsersListResponse struct {
2275	// Browsers: Browser collection.
2276	Browsers []*Browser `json:"browsers,omitempty"`
2277
2278	// Kind: Identifies what kind of resource this is. Value: the fixed
2279	// string "dfareporting#browsersListResponse".
2280	Kind string `json:"kind,omitempty"`
2281
2282	// ServerResponse contains the HTTP response code and headers from the
2283	// server.
2284	googleapi.ServerResponse `json:"-"`
2285
2286	// ForceSendFields is a list of field names (e.g. "Browsers") to
2287	// unconditionally include in API requests. By default, fields with
2288	// empty values are omitted from API requests. However, any non-pointer,
2289	// non-interface field appearing in ForceSendFields will be sent to the
2290	// server regardless of whether the field is empty or not. This may be
2291	// used to include empty fields in Patch requests.
2292	ForceSendFields []string `json:"-"`
2293
2294	// NullFields is a list of field names (e.g. "Browsers") to include in
2295	// API requests with the JSON null value. By default, fields with empty
2296	// values are omitted from API requests. However, any field with an
2297	// empty value appearing in NullFields will be sent to the server as
2298	// null. It is an error if a field in this list has a non-empty value.
2299	// This may be used to include null fields in Patch requests.
2300	NullFields []string `json:"-"`
2301}
2302
2303func (s *BrowsersListResponse) MarshalJSON() ([]byte, error) {
2304	type NoMethod BrowsersListResponse
2305	raw := NoMethod(*s)
2306	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2307}
2308
2309// Campaign: Contains properties of a Campaign Manager campaign.
2310type Campaign struct {
2311	// AccountId: Account ID of this campaign. This is a read-only field
2312	// that can be left blank.
2313	AccountId int64 `json:"accountId,omitempty,string"`
2314
2315	// AdBlockingConfiguration: Ad blocking settings for this campaign.
2316	AdBlockingConfiguration *AdBlockingConfiguration `json:"adBlockingConfiguration,omitempty"`
2317
2318	// AdditionalCreativeOptimizationConfigurations: Additional creative
2319	// optimization configurations for the campaign.
2320	AdditionalCreativeOptimizationConfigurations []*CreativeOptimizationConfiguration `json:"additionalCreativeOptimizationConfigurations,omitempty"`
2321
2322	// AdvertiserGroupId: Advertiser group ID of the associated advertiser.
2323	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
2324
2325	// AdvertiserId: Advertiser ID of this campaign. This is a required
2326	// field.
2327	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
2328
2329	// AdvertiserIdDimensionValue: Dimension value for the advertiser ID of
2330	// this campaign. This is a read-only, auto-generated field.
2331	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
2332
2333	// Archived: Whether this campaign has been archived.
2334	Archived bool `json:"archived,omitempty"`
2335
2336	// AudienceSegmentGroups: Audience segment groups assigned to this
2337	// campaign. Cannot have more than 300 segment groups.
2338	AudienceSegmentGroups []*AudienceSegmentGroup `json:"audienceSegmentGroups,omitempty"`
2339
2340	// BillingInvoiceCode: Billing invoice code included in the Campaign
2341	// Manager client billing invoices associated with the campaign.
2342	BillingInvoiceCode string `json:"billingInvoiceCode,omitempty"`
2343
2344	// ClickThroughUrlSuffixProperties: Click-through URL suffix override
2345	// properties for this campaign.
2346	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
2347
2348	// Comment: Arbitrary comments about this campaign. Must be less than
2349	// 256 characters long.
2350	Comment string `json:"comment,omitempty"`
2351
2352	// CreateInfo: Information about the creation of this campaign. This is
2353	// a read-only field.
2354	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
2355
2356	// CreativeGroupIds: List of creative group IDs that are assigned to the
2357	// campaign.
2358	CreativeGroupIds googleapi.Int64s `json:"creativeGroupIds,omitempty"`
2359
2360	// CreativeOptimizationConfiguration: Creative optimization
2361	// configuration for the campaign.
2362	CreativeOptimizationConfiguration *CreativeOptimizationConfiguration `json:"creativeOptimizationConfiguration,omitempty"`
2363
2364	// DefaultClickThroughEventTagProperties: Click-through event tag ID
2365	// override properties for this campaign.
2366	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
2367
2368	// DefaultLandingPageId: The default landing page ID for this campaign.
2369	DefaultLandingPageId int64 `json:"defaultLandingPageId,omitempty,string"`
2370
2371	EndDate string `json:"endDate,omitempty"`
2372
2373	// EventTagOverrides: Overrides that can be used to activate or
2374	// deactivate advertiser event tags.
2375	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
2376
2377	// ExternalId: External ID for this campaign.
2378	ExternalId string `json:"externalId,omitempty"`
2379
2380	// Id: ID of this campaign. This is a read-only auto-generated field.
2381	Id int64 `json:"id,omitempty,string"`
2382
2383	// IdDimensionValue: Dimension value for the ID of this campaign. This
2384	// is a read-only, auto-generated field.
2385	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
2386
2387	// Kind: Identifies what kind of resource this is. Value: the fixed
2388	// string "dfareporting#campaign".
2389	Kind string `json:"kind,omitempty"`
2390
2391	// LastModifiedInfo: Information about the most recent modification of
2392	// this campaign. This is a read-only field.
2393	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
2394
2395	// Name: Name of this campaign. This is a required field and must be
2396	// less than 256 characters long and unique among campaigns of the same
2397	// advertiser.
2398	Name string `json:"name,omitempty"`
2399
2400	// NielsenOcrEnabled: Whether Nielsen reports are enabled for this
2401	// campaign.
2402	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
2403
2404	StartDate string `json:"startDate,omitempty"`
2405
2406	// SubaccountId: Subaccount ID of this campaign. This is a read-only
2407	// field that can be left blank.
2408	SubaccountId int64 `json:"subaccountId,omitempty,string"`
2409
2410	// TraffickerEmails: Campaign trafficker contact emails.
2411	TraffickerEmails []string `json:"traffickerEmails,omitempty"`
2412
2413	// ServerResponse contains the HTTP response code and headers from the
2414	// server.
2415	googleapi.ServerResponse `json:"-"`
2416
2417	// ForceSendFields is a list of field names (e.g. "AccountId") to
2418	// unconditionally include in API requests. By default, fields with
2419	// empty values are omitted from API requests. However, any non-pointer,
2420	// non-interface field appearing in ForceSendFields will be sent to the
2421	// server regardless of whether the field is empty or not. This may be
2422	// used to include empty fields in Patch requests.
2423	ForceSendFields []string `json:"-"`
2424
2425	// NullFields is a list of field names (e.g. "AccountId") to include in
2426	// API requests with the JSON null value. By default, fields with empty
2427	// values are omitted from API requests. However, any field with an
2428	// empty value appearing in NullFields will be sent to the server as
2429	// null. It is an error if a field in this list has a non-empty value.
2430	// This may be used to include null fields in Patch requests.
2431	NullFields []string `json:"-"`
2432}
2433
2434func (s *Campaign) MarshalJSON() ([]byte, error) {
2435	type NoMethod Campaign
2436	raw := NoMethod(*s)
2437	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2438}
2439
2440// CampaignCreativeAssociation: Identifies a creative which has been
2441// associated with a given campaign.
2442type CampaignCreativeAssociation struct {
2443	// CreativeId: ID of the creative associated with the campaign. This is
2444	// a required field.
2445	CreativeId int64 `json:"creativeId,omitempty,string"`
2446
2447	// Kind: Identifies what kind of resource this is. Value: the fixed
2448	// string "dfareporting#campaignCreativeAssociation".
2449	Kind string `json:"kind,omitempty"`
2450
2451	// ServerResponse contains the HTTP response code and headers from the
2452	// server.
2453	googleapi.ServerResponse `json:"-"`
2454
2455	// ForceSendFields is a list of field names (e.g. "CreativeId") to
2456	// unconditionally include in API requests. By default, fields with
2457	// empty values are omitted from API requests. However, any non-pointer,
2458	// non-interface field appearing in ForceSendFields will be sent to the
2459	// server regardless of whether the field is empty or not. This may be
2460	// used to include empty fields in Patch requests.
2461	ForceSendFields []string `json:"-"`
2462
2463	// NullFields is a list of field names (e.g. "CreativeId") to include in
2464	// API requests with the JSON null value. By default, fields with empty
2465	// values are omitted from API requests. However, any field with an
2466	// empty value appearing in NullFields will be sent to the server as
2467	// null. It is an error if a field in this list has a non-empty value.
2468	// This may be used to include null fields in Patch requests.
2469	NullFields []string `json:"-"`
2470}
2471
2472func (s *CampaignCreativeAssociation) MarshalJSON() ([]byte, error) {
2473	type NoMethod CampaignCreativeAssociation
2474	raw := NoMethod(*s)
2475	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2476}
2477
2478// CampaignCreativeAssociationsListResponse: Campaign Creative
2479// Association List Response
2480type CampaignCreativeAssociationsListResponse struct {
2481	// CampaignCreativeAssociations: Campaign creative association
2482	// collection
2483	CampaignCreativeAssociations []*CampaignCreativeAssociation `json:"campaignCreativeAssociations,omitempty"`
2484
2485	// Kind: Identifies what kind of resource this is. Value: the fixed
2486	// string "dfareporting#campaignCreativeAssociationsListResponse".
2487	Kind string `json:"kind,omitempty"`
2488
2489	// NextPageToken: Pagination token to be used for the next list
2490	// operation.
2491	NextPageToken string `json:"nextPageToken,omitempty"`
2492
2493	// ServerResponse contains the HTTP response code and headers from the
2494	// server.
2495	googleapi.ServerResponse `json:"-"`
2496
2497	// ForceSendFields is a list of field names (e.g.
2498	// "CampaignCreativeAssociations") to unconditionally include in API
2499	// requests. By default, fields with empty values are omitted from API
2500	// requests. However, any non-pointer, non-interface field appearing in
2501	// ForceSendFields will be sent to the server regardless of whether the
2502	// field is empty or not. This may be used to include empty fields in
2503	// Patch requests.
2504	ForceSendFields []string `json:"-"`
2505
2506	// NullFields is a list of field names (e.g.
2507	// "CampaignCreativeAssociations") to include in API requests with the
2508	// JSON null value. By default, fields with empty values are omitted
2509	// from API requests. However, any field with an empty value appearing
2510	// in NullFields will be sent to the server as null. It is an error if a
2511	// field in this list has a non-empty value. This may be used to include
2512	// null fields in Patch requests.
2513	NullFields []string `json:"-"`
2514}
2515
2516func (s *CampaignCreativeAssociationsListResponse) MarshalJSON() ([]byte, error) {
2517	type NoMethod CampaignCreativeAssociationsListResponse
2518	raw := NoMethod(*s)
2519	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2520}
2521
2522// CampaignsListResponse: Campaign List Response
2523type CampaignsListResponse struct {
2524	// Campaigns: Campaign collection.
2525	Campaigns []*Campaign `json:"campaigns,omitempty"`
2526
2527	// Kind: Identifies what kind of resource this is. Value: the fixed
2528	// string "dfareporting#campaignsListResponse".
2529	Kind string `json:"kind,omitempty"`
2530
2531	// NextPageToken: Pagination token to be used for the next list
2532	// operation.
2533	NextPageToken string `json:"nextPageToken,omitempty"`
2534
2535	// ServerResponse contains the HTTP response code and headers from the
2536	// server.
2537	googleapi.ServerResponse `json:"-"`
2538
2539	// ForceSendFields is a list of field names (e.g. "Campaigns") to
2540	// unconditionally include in API requests. By default, fields with
2541	// empty values are omitted from API requests. However, any non-pointer,
2542	// non-interface field appearing in ForceSendFields will be sent to the
2543	// server regardless of whether the field is empty or not. This may be
2544	// used to include empty fields in Patch requests.
2545	ForceSendFields []string `json:"-"`
2546
2547	// NullFields is a list of field names (e.g. "Campaigns") to include in
2548	// API requests with the JSON null value. By default, fields with empty
2549	// values are omitted from API requests. However, any field with an
2550	// empty value appearing in NullFields will be sent to the server as
2551	// null. It is an error if a field in this list has a non-empty value.
2552	// This may be used to include null fields in Patch requests.
2553	NullFields []string `json:"-"`
2554}
2555
2556func (s *CampaignsListResponse) MarshalJSON() ([]byte, error) {
2557	type NoMethod CampaignsListResponse
2558	raw := NoMethod(*s)
2559	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2560}
2561
2562// ChangeLog: Describes a change that a user has made to a resource.
2563type ChangeLog struct {
2564	// AccountId: Account ID of the modified object.
2565	AccountId int64 `json:"accountId,omitempty,string"`
2566
2567	// Action: Action which caused the change.
2568	Action string `json:"action,omitempty"`
2569
2570	ChangeTime string `json:"changeTime,omitempty"`
2571
2572	// FieldName: Field name of the object which changed.
2573	FieldName string `json:"fieldName,omitempty"`
2574
2575	// Id: ID of this change log.
2576	Id int64 `json:"id,omitempty,string"`
2577
2578	// Kind: Identifies what kind of resource this is. Value: the fixed
2579	// string "dfareporting#changeLog".
2580	Kind string `json:"kind,omitempty"`
2581
2582	// NewValue: New value of the object field.
2583	NewValue string `json:"newValue,omitempty"`
2584
2585	// ObjectId: ID of the object of this change log. The object could be a
2586	// campaign, placement, ad, or other type.
2587	ObjectId int64 `json:"objectId,omitempty,string"`
2588
2589	// ObjectType: Object type of the change log.
2590	ObjectType string `json:"objectType,omitempty"`
2591
2592	// OldValue: Old value of the object field.
2593	OldValue string `json:"oldValue,omitempty"`
2594
2595	// SubaccountId: Subaccount ID of the modified object.
2596	SubaccountId int64 `json:"subaccountId,omitempty,string"`
2597
2598	// TransactionId: Transaction ID of this change log. When a single API
2599	// call results in many changes, each change will have a separate ID in
2600	// the change log but will share the same transactionId.
2601	TransactionId int64 `json:"transactionId,omitempty,string"`
2602
2603	// UserProfileId: ID of the user who modified the object.
2604	UserProfileId int64 `json:"userProfileId,omitempty,string"`
2605
2606	// UserProfileName: User profile name of the user who modified the
2607	// object.
2608	UserProfileName string `json:"userProfileName,omitempty"`
2609
2610	// ServerResponse contains the HTTP response code and headers from the
2611	// server.
2612	googleapi.ServerResponse `json:"-"`
2613
2614	// ForceSendFields is a list of field names (e.g. "AccountId") to
2615	// unconditionally include in API requests. By default, fields with
2616	// empty values are omitted from API requests. However, any non-pointer,
2617	// non-interface field appearing in ForceSendFields will be sent to the
2618	// server regardless of whether the field is empty or not. This may be
2619	// used to include empty fields in Patch requests.
2620	ForceSendFields []string `json:"-"`
2621
2622	// NullFields is a list of field names (e.g. "AccountId") to include in
2623	// API requests with the JSON null value. By default, fields with empty
2624	// values are omitted from API requests. However, any field with an
2625	// empty value appearing in NullFields will be sent to the server as
2626	// null. It is an error if a field in this list has a non-empty value.
2627	// This may be used to include null fields in Patch requests.
2628	NullFields []string `json:"-"`
2629}
2630
2631func (s *ChangeLog) MarshalJSON() ([]byte, error) {
2632	type NoMethod ChangeLog
2633	raw := NoMethod(*s)
2634	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2635}
2636
2637// ChangeLogsListResponse: Change Log List Response
2638type ChangeLogsListResponse struct {
2639	// ChangeLogs: Change log collection.
2640	ChangeLogs []*ChangeLog `json:"changeLogs,omitempty"`
2641
2642	// Kind: Identifies what kind of resource this is. Value: the fixed
2643	// string "dfareporting#changeLogsListResponse".
2644	Kind string `json:"kind,omitempty"`
2645
2646	// NextPageToken: Pagination token to be used for the next list
2647	// operation.
2648	NextPageToken string `json:"nextPageToken,omitempty"`
2649
2650	// ServerResponse contains the HTTP response code and headers from the
2651	// server.
2652	googleapi.ServerResponse `json:"-"`
2653
2654	// ForceSendFields is a list of field names (e.g. "ChangeLogs") to
2655	// unconditionally include in API requests. By default, fields with
2656	// empty values are omitted from API requests. However, any non-pointer,
2657	// non-interface field appearing in ForceSendFields will be sent to the
2658	// server regardless of whether the field is empty or not. This may be
2659	// used to include empty fields in Patch requests.
2660	ForceSendFields []string `json:"-"`
2661
2662	// NullFields is a list of field names (e.g. "ChangeLogs") to include in
2663	// API requests with the JSON null value. By default, fields with empty
2664	// values are omitted from API requests. However, any field with an
2665	// empty value appearing in NullFields will be sent to the server as
2666	// null. It is an error if a field in this list has a non-empty value.
2667	// This may be used to include null fields in Patch requests.
2668	NullFields []string `json:"-"`
2669}
2670
2671func (s *ChangeLogsListResponse) MarshalJSON() ([]byte, error) {
2672	type NoMethod ChangeLogsListResponse
2673	raw := NoMethod(*s)
2674	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2675}
2676
2677// CitiesListResponse: City List Response
2678type CitiesListResponse struct {
2679	// Cities: City collection.
2680	Cities []*City `json:"cities,omitempty"`
2681
2682	// Kind: Identifies what kind of resource this is. Value: the fixed
2683	// string "dfareporting#citiesListResponse".
2684	Kind string `json:"kind,omitempty"`
2685
2686	// ServerResponse contains the HTTP response code and headers from the
2687	// server.
2688	googleapi.ServerResponse `json:"-"`
2689
2690	// ForceSendFields is a list of field names (e.g. "Cities") to
2691	// unconditionally include in API requests. By default, fields with
2692	// empty values are omitted from API requests. However, any non-pointer,
2693	// non-interface field appearing in ForceSendFields will be sent to the
2694	// server regardless of whether the field is empty or not. This may be
2695	// used to include empty fields in Patch requests.
2696	ForceSendFields []string `json:"-"`
2697
2698	// NullFields is a list of field names (e.g. "Cities") to include in API
2699	// requests with the JSON null value. By default, fields with empty
2700	// values are omitted from API requests. However, any field with an
2701	// empty value appearing in NullFields will be sent to the server as
2702	// null. It is an error if a field in this list has a non-empty value.
2703	// This may be used to include null fields in Patch requests.
2704	NullFields []string `json:"-"`
2705}
2706
2707func (s *CitiesListResponse) MarshalJSON() ([]byte, error) {
2708	type NoMethod CitiesListResponse
2709	raw := NoMethod(*s)
2710	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2711}
2712
2713// City: Contains information about a city that can be targeted by ads.
2714type City struct {
2715	// CountryCode: Country code of the country to which this city belongs.
2716	CountryCode string `json:"countryCode,omitempty"`
2717
2718	// CountryDartId: DART ID of the country to which this city belongs.
2719	CountryDartId int64 `json:"countryDartId,omitempty,string"`
2720
2721	// DartId: DART ID of this city. This is the ID used for targeting and
2722	// generating reports.
2723	DartId int64 `json:"dartId,omitempty,string"`
2724
2725	// Kind: Identifies what kind of resource this is. Value: the fixed
2726	// string "dfareporting#city".
2727	Kind string `json:"kind,omitempty"`
2728
2729	// MetroCode: Metro region code of the metro region (DMA) to which this
2730	// city belongs.
2731	MetroCode string `json:"metroCode,omitempty"`
2732
2733	// MetroDmaId: ID of the metro region (DMA) to which this city belongs.
2734	MetroDmaId int64 `json:"metroDmaId,omitempty,string"`
2735
2736	// Name: Name of this city.
2737	Name string `json:"name,omitempty"`
2738
2739	// RegionCode: Region code of the region to which this city belongs.
2740	RegionCode string `json:"regionCode,omitempty"`
2741
2742	// RegionDartId: DART ID of the region to which this city belongs.
2743	RegionDartId int64 `json:"regionDartId,omitempty,string"`
2744
2745	// ForceSendFields is a list of field names (e.g. "CountryCode") to
2746	// unconditionally include in API requests. By default, fields with
2747	// empty values are omitted from API requests. However, any non-pointer,
2748	// non-interface field appearing in ForceSendFields will be sent to the
2749	// server regardless of whether the field is empty or not. This may be
2750	// used to include empty fields in Patch requests.
2751	ForceSendFields []string `json:"-"`
2752
2753	// NullFields is a list of field names (e.g. "CountryCode") to include
2754	// in API requests with the JSON null value. By default, fields with
2755	// empty values are omitted from API requests. However, any field with
2756	// an empty value appearing in NullFields will be sent to the server as
2757	// null. It is an error if a field in this list has a non-empty value.
2758	// This may be used to include null fields in Patch requests.
2759	NullFields []string `json:"-"`
2760}
2761
2762func (s *City) MarshalJSON() ([]byte, error) {
2763	type NoMethod City
2764	raw := NoMethod(*s)
2765	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2766}
2767
2768// ClickTag: Creative Click Tag.
2769type ClickTag struct {
2770	// ClickThroughUrl: Parameter value for the specified click tag. This
2771	// field contains a click-through url.
2772	ClickThroughUrl *CreativeClickThroughUrl `json:"clickThroughUrl,omitempty"`
2773
2774	// EventName: Advertiser event name associated with the click tag. This
2775	// field is used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives.
2776	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
2777	EventName string `json:"eventName,omitempty"`
2778
2779	// Name: Parameter name for the specified click tag. For
2780	// DISPLAY_IMAGE_GALLERY creative assets, this field must match the
2781	// value of the creative asset's creativeAssetId.name field.
2782	Name string `json:"name,omitempty"`
2783
2784	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
2785	// unconditionally include in API requests. By default, fields with
2786	// empty values are omitted from API requests. However, any non-pointer,
2787	// non-interface field appearing in ForceSendFields will be sent to the
2788	// server regardless of whether the field is empty or not. This may be
2789	// used to include empty fields in Patch requests.
2790	ForceSendFields []string `json:"-"`
2791
2792	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
2793	// include in API requests with the JSON null value. By default, fields
2794	// with empty values are omitted from API requests. However, any field
2795	// with an empty value appearing in NullFields will be sent to the
2796	// server as null. It is an error if a field in this list has a
2797	// non-empty value. This may be used to include null fields in Patch
2798	// requests.
2799	NullFields []string `json:"-"`
2800}
2801
2802func (s *ClickTag) MarshalJSON() ([]byte, error) {
2803	type NoMethod ClickTag
2804	raw := NoMethod(*s)
2805	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2806}
2807
2808// ClickThroughUrl: Click-through URL
2809type ClickThroughUrl struct {
2810	// ComputedClickThroughUrl: Read-only convenience field representing the
2811	// actual URL that will be used for this click-through. The URL is
2812	// computed as follows: - If defaultLandingPage is enabled then the
2813	// campaign's default landing page URL is assigned to this field. - If
2814	// defaultLandingPage is not enabled and a landingPageId is specified
2815	// then that landing page's URL is assigned to this field. - If neither
2816	// of the above cases apply, then the customClickThroughUrl is assigned
2817	// to this field.
2818	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
2819
2820	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
2821	// defaultLandingPage field is set to false and the landingPageId field
2822	// is left unset.
2823	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
2824
2825	// DefaultLandingPage: Whether the campaign default landing page is
2826	// used.
2827	DefaultLandingPage bool `json:"defaultLandingPage,omitempty"`
2828
2829	// LandingPageId: ID of the landing page for the click-through URL.
2830	// Applicable if the defaultLandingPage field is set to false.
2831	LandingPageId int64 `json:"landingPageId,omitempty,string"`
2832
2833	// ForceSendFields is a list of field names (e.g.
2834	// "ComputedClickThroughUrl") to unconditionally include in API
2835	// requests. By default, fields with empty values are omitted from API
2836	// requests. However, any non-pointer, non-interface field appearing in
2837	// ForceSendFields will be sent to the server regardless of whether the
2838	// field is empty or not. This may be used to include empty fields in
2839	// Patch requests.
2840	ForceSendFields []string `json:"-"`
2841
2842	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
2843	// to include in API requests with the JSON null value. By default,
2844	// fields with empty values are omitted from API requests. However, any
2845	// field with an empty value appearing in NullFields will be sent to the
2846	// server as null. It is an error if a field in this list has a
2847	// non-empty value. This may be used to include null fields in Patch
2848	// requests.
2849	NullFields []string `json:"-"`
2850}
2851
2852func (s *ClickThroughUrl) MarshalJSON() ([]byte, error) {
2853	type NoMethod ClickThroughUrl
2854	raw := NoMethod(*s)
2855	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2856}
2857
2858// ClickThroughUrlSuffixProperties: Click Through URL Suffix settings.
2859type ClickThroughUrlSuffixProperties struct {
2860	// ClickThroughUrlSuffix: Click-through URL suffix to apply to all ads
2861	// in this entity's scope. Must be less than 128 characters long.
2862	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
2863
2864	// OverrideInheritedSuffix: Whether this entity should override the
2865	// inherited click-through URL suffix with its own defined value.
2866	OverrideInheritedSuffix bool `json:"overrideInheritedSuffix,omitempty"`
2867
2868	// ForceSendFields is a list of field names (e.g.
2869	// "ClickThroughUrlSuffix") to unconditionally include in API requests.
2870	// By default, fields with empty values are omitted from API requests.
2871	// However, any non-pointer, non-interface field appearing in
2872	// ForceSendFields will be sent to the server regardless of whether the
2873	// field is empty or not. This may be used to include empty fields in
2874	// Patch requests.
2875	ForceSendFields []string `json:"-"`
2876
2877	// NullFields is a list of field names (e.g. "ClickThroughUrlSuffix") to
2878	// include in API requests with the JSON null value. By default, fields
2879	// with empty values are omitted from API requests. However, any field
2880	// with an empty value appearing in NullFields will be sent to the
2881	// server as null. It is an error if a field in this list has a
2882	// non-empty value. This may be used to include null fields in Patch
2883	// requests.
2884	NullFields []string `json:"-"`
2885}
2886
2887func (s *ClickThroughUrlSuffixProperties) MarshalJSON() ([]byte, error) {
2888	type NoMethod ClickThroughUrlSuffixProperties
2889	raw := NoMethod(*s)
2890	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2891}
2892
2893// CompanionClickThroughOverride: Companion Click-through override.
2894type CompanionClickThroughOverride struct {
2895	// ClickThroughUrl: Click-through URL of this companion click-through
2896	// override.
2897	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
2898
2899	// CreativeId: ID of the creative for this companion click-through
2900	// override.
2901	CreativeId int64 `json:"creativeId,omitempty,string"`
2902
2903	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
2904	// unconditionally include in API requests. By default, fields with
2905	// empty values are omitted from API requests. However, any non-pointer,
2906	// non-interface field appearing in ForceSendFields will be sent to the
2907	// server regardless of whether the field is empty or not. This may be
2908	// used to include empty fields in Patch requests.
2909	ForceSendFields []string `json:"-"`
2910
2911	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
2912	// include in API requests with the JSON null value. By default, fields
2913	// with empty values are omitted from API requests. However, any field
2914	// with an empty value appearing in NullFields will be sent to the
2915	// server as null. It is an error if a field in this list has a
2916	// non-empty value. This may be used to include null fields in Patch
2917	// requests.
2918	NullFields []string `json:"-"`
2919}
2920
2921func (s *CompanionClickThroughOverride) MarshalJSON() ([]byte, error) {
2922	type NoMethod CompanionClickThroughOverride
2923	raw := NoMethod(*s)
2924	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2925}
2926
2927// CompanionSetting: Companion Settings
2928type CompanionSetting struct {
2929	// CompanionsDisabled: Whether companions are disabled for this
2930	// placement.
2931	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
2932
2933	// EnabledSizes: Whitelist of companion sizes to be served to this
2934	// placement. Set this list to null or empty to serve all companion
2935	// sizes.
2936	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
2937
2938	// ImageOnly: Whether to serve only static images as companions.
2939	ImageOnly bool `json:"imageOnly,omitempty"`
2940
2941	// Kind: Identifies what kind of resource this is. Value: the fixed
2942	// string "dfareporting#companionSetting".
2943	Kind string `json:"kind,omitempty"`
2944
2945	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
2946	// to unconditionally include in API requests. By default, fields with
2947	// empty values are omitted from API requests. However, any non-pointer,
2948	// non-interface field appearing in ForceSendFields will be sent to the
2949	// server regardless of whether the field is empty or not. This may be
2950	// used to include empty fields in Patch requests.
2951	ForceSendFields []string `json:"-"`
2952
2953	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
2954	// include in API requests with the JSON null value. By default, fields
2955	// with empty values are omitted from API requests. However, any field
2956	// with an empty value appearing in NullFields will be sent to the
2957	// server as null. It is an error if a field in this list has a
2958	// non-empty value. This may be used to include null fields in Patch
2959	// requests.
2960	NullFields []string `json:"-"`
2961}
2962
2963func (s *CompanionSetting) MarshalJSON() ([]byte, error) {
2964	type NoMethod CompanionSetting
2965	raw := NoMethod(*s)
2966	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2967}
2968
2969// CompatibleFields: Represents a response to the queryCompatibleFields
2970// method.
2971type CompatibleFields struct {
2972	// CrossDimensionReachReportCompatibleFields: Contains items that are
2973	// compatible to be selected for a report of type
2974	// "CROSS_DIMENSION_REACH".
2975	CrossDimensionReachReportCompatibleFields *CrossDimensionReachReportCompatibleFields `json:"crossDimensionReachReportCompatibleFields,omitempty"`
2976
2977	// FloodlightReportCompatibleFields: Contains items that are compatible
2978	// to be selected for a report of type "FLOODLIGHT".
2979	FloodlightReportCompatibleFields *FloodlightReportCompatibleFields `json:"floodlightReportCompatibleFields,omitempty"`
2980
2981	// Kind: The kind of resource this is, in this case
2982	// dfareporting#compatibleFields.
2983	Kind string `json:"kind,omitempty"`
2984
2985	// PathToConversionReportCompatibleFields: Contains items that are
2986	// compatible to be selected for a report of type "PATH_TO_CONVERSION".
2987	PathToConversionReportCompatibleFields *PathToConversionReportCompatibleFields `json:"pathToConversionReportCompatibleFields,omitempty"`
2988
2989	// ReachReportCompatibleFields: Contains items that are compatible to be
2990	// selected for a report of type "REACH".
2991	ReachReportCompatibleFields *ReachReportCompatibleFields `json:"reachReportCompatibleFields,omitempty"`
2992
2993	// ReportCompatibleFields: Contains items that are compatible to be
2994	// selected for a report of type "STANDARD".
2995	ReportCompatibleFields *ReportCompatibleFields `json:"reportCompatibleFields,omitempty"`
2996
2997	// ServerResponse contains the HTTP response code and headers from the
2998	// server.
2999	googleapi.ServerResponse `json:"-"`
3000
3001	// ForceSendFields is a list of field names (e.g.
3002	// "CrossDimensionReachReportCompatibleFields") to unconditionally
3003	// include in API requests. By default, fields with empty values are
3004	// omitted from API requests. However, any non-pointer, non-interface
3005	// field appearing in ForceSendFields will be sent to the server
3006	// regardless of whether the field is empty or not. This may be used to
3007	// include empty fields in Patch requests.
3008	ForceSendFields []string `json:"-"`
3009
3010	// NullFields is a list of field names (e.g.
3011	// "CrossDimensionReachReportCompatibleFields") to include in API
3012	// requests with the JSON null value. By default, fields with empty
3013	// values are omitted from API requests. However, any field with an
3014	// empty value appearing in NullFields will be sent to the server as
3015	// null. It is an error if a field in this list has a non-empty value.
3016	// This may be used to include null fields in Patch requests.
3017	NullFields []string `json:"-"`
3018}
3019
3020func (s *CompatibleFields) MarshalJSON() ([]byte, error) {
3021	type NoMethod CompatibleFields
3022	raw := NoMethod(*s)
3023	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3024}
3025
3026// ConnectionType: Contains information about an internet connection
3027// type that can be targeted by ads. Clients can use the connection type
3028// to target mobile vs. broadband users.
3029type ConnectionType struct {
3030	// Id: ID of this connection type.
3031	Id int64 `json:"id,omitempty,string"`
3032
3033	// Kind: Identifies what kind of resource this is. Value: the fixed
3034	// string "dfareporting#connectionType".
3035	Kind string `json:"kind,omitempty"`
3036
3037	// Name: Name of this connection type.
3038	Name string `json:"name,omitempty"`
3039
3040	// ServerResponse contains the HTTP response code and headers from the
3041	// server.
3042	googleapi.ServerResponse `json:"-"`
3043
3044	// ForceSendFields is a list of field names (e.g. "Id") to
3045	// unconditionally include in API requests. By default, fields with
3046	// empty values are omitted from API requests. However, any non-pointer,
3047	// non-interface field appearing in ForceSendFields will be sent to the
3048	// server regardless of whether the field is empty or not. This may be
3049	// used to include empty fields in Patch requests.
3050	ForceSendFields []string `json:"-"`
3051
3052	// NullFields is a list of field names (e.g. "Id") to include in API
3053	// requests with the JSON null value. By default, fields with empty
3054	// values are omitted from API requests. However, any field with an
3055	// empty value appearing in NullFields will be sent to the server as
3056	// null. It is an error if a field in this list has a non-empty value.
3057	// This may be used to include null fields in Patch requests.
3058	NullFields []string `json:"-"`
3059}
3060
3061func (s *ConnectionType) MarshalJSON() ([]byte, error) {
3062	type NoMethod ConnectionType
3063	raw := NoMethod(*s)
3064	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3065}
3066
3067// ConnectionTypesListResponse: Connection Type List Response
3068type ConnectionTypesListResponse struct {
3069	// ConnectionTypes: Collection of connection types such as broadband and
3070	// mobile.
3071	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
3072
3073	// Kind: Identifies what kind of resource this is. Value: the fixed
3074	// string "dfareporting#connectionTypesListResponse".
3075	Kind string `json:"kind,omitempty"`
3076
3077	// ServerResponse contains the HTTP response code and headers from the
3078	// server.
3079	googleapi.ServerResponse `json:"-"`
3080
3081	// ForceSendFields is a list of field names (e.g. "ConnectionTypes") to
3082	// unconditionally include in API requests. By default, fields with
3083	// empty values are omitted from API requests. However, any non-pointer,
3084	// non-interface field appearing in ForceSendFields will be sent to the
3085	// server regardless of whether the field is empty or not. This may be
3086	// used to include empty fields in Patch requests.
3087	ForceSendFields []string `json:"-"`
3088
3089	// NullFields is a list of field names (e.g. "ConnectionTypes") to
3090	// include in API requests with the JSON null value. By default, fields
3091	// with empty values are omitted from API requests. However, any field
3092	// with an empty value appearing in NullFields will be sent to the
3093	// server as null. It is an error if a field in this list has a
3094	// non-empty value. This may be used to include null fields in Patch
3095	// requests.
3096	NullFields []string `json:"-"`
3097}
3098
3099func (s *ConnectionTypesListResponse) MarshalJSON() ([]byte, error) {
3100	type NoMethod ConnectionTypesListResponse
3101	raw := NoMethod(*s)
3102	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3103}
3104
3105// ContentCategoriesListResponse: Content Category List Response
3106type ContentCategoriesListResponse struct {
3107	// ContentCategories: Content category collection.
3108	ContentCategories []*ContentCategory `json:"contentCategories,omitempty"`
3109
3110	// Kind: Identifies what kind of resource this is. Value: the fixed
3111	// string "dfareporting#contentCategoriesListResponse".
3112	Kind string `json:"kind,omitempty"`
3113
3114	// NextPageToken: Pagination token to be used for the next list
3115	// operation.
3116	NextPageToken string `json:"nextPageToken,omitempty"`
3117
3118	// ServerResponse contains the HTTP response code and headers from the
3119	// server.
3120	googleapi.ServerResponse `json:"-"`
3121
3122	// ForceSendFields is a list of field names (e.g. "ContentCategories")
3123	// to unconditionally include in API requests. By default, fields with
3124	// empty values are omitted from API requests. However, any non-pointer,
3125	// non-interface field appearing in ForceSendFields will be sent to the
3126	// server regardless of whether the field is empty or not. This may be
3127	// used to include empty fields in Patch requests.
3128	ForceSendFields []string `json:"-"`
3129
3130	// NullFields is a list of field names (e.g. "ContentCategories") to
3131	// include in API requests with the JSON null value. By default, fields
3132	// with empty values are omitted from API requests. However, any field
3133	// with an empty value appearing in NullFields will be sent to the
3134	// server as null. It is an error if a field in this list has a
3135	// non-empty value. This may be used to include null fields in Patch
3136	// requests.
3137	NullFields []string `json:"-"`
3138}
3139
3140func (s *ContentCategoriesListResponse) MarshalJSON() ([]byte, error) {
3141	type NoMethod ContentCategoriesListResponse
3142	raw := NoMethod(*s)
3143	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3144}
3145
3146// ContentCategory: Organizes placements according to the contents of
3147// their associated webpages.
3148type ContentCategory struct {
3149	// AccountId: Account ID of this content category. This is a read-only
3150	// field that can be left blank.
3151	AccountId int64 `json:"accountId,omitempty,string"`
3152
3153	// Id: ID of this content category. This is a read-only, auto-generated
3154	// field.
3155	Id int64 `json:"id,omitempty,string"`
3156
3157	// Kind: Identifies what kind of resource this is. Value: the fixed
3158	// string "dfareporting#contentCategory".
3159	Kind string `json:"kind,omitempty"`
3160
3161	// Name: Name of this content category. This is a required field and
3162	// must be less than 256 characters long and unique among content
3163	// categories of the same account.
3164	Name string `json:"name,omitempty"`
3165
3166	// ServerResponse contains the HTTP response code and headers from the
3167	// server.
3168	googleapi.ServerResponse `json:"-"`
3169
3170	// ForceSendFields is a list of field names (e.g. "AccountId") to
3171	// unconditionally include in API requests. By default, fields with
3172	// empty values are omitted from API requests. However, any non-pointer,
3173	// non-interface field appearing in ForceSendFields will be sent to the
3174	// server regardless of whether the field is empty or not. This may be
3175	// used to include empty fields in Patch requests.
3176	ForceSendFields []string `json:"-"`
3177
3178	// NullFields is a list of field names (e.g. "AccountId") to include in
3179	// API requests with the JSON null value. By default, fields with empty
3180	// values are omitted from API requests. However, any field with an
3181	// empty value appearing in NullFields will be sent to the server as
3182	// null. It is an error if a field in this list has a non-empty value.
3183	// This may be used to include null fields in Patch requests.
3184	NullFields []string `json:"-"`
3185}
3186
3187func (s *ContentCategory) MarshalJSON() ([]byte, error) {
3188	type NoMethod ContentCategory
3189	raw := NoMethod(*s)
3190	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3191}
3192
3193// Conversion: A Conversion represents when a user successfully performs
3194// a desired action after seeing an ad.
3195type Conversion struct {
3196	// ChildDirectedTreatment: Whether this particular request may come from
3197	// a user under the age of 13, under COPPA compliance.
3198	ChildDirectedTreatment bool `json:"childDirectedTreatment,omitempty"`
3199
3200	// CustomVariables: Custom floodlight variables.
3201	CustomVariables []*CustomFloodlightVariable `json:"customVariables,omitempty"`
3202
3203	// EncryptedUserId: The alphanumeric encrypted user ID. When set,
3204	// encryptionInfo should also be specified. This field is mutually
3205	// exclusive with encryptedUserIdCandidates[], matchId, mobileDeviceId
3206	// and gclid. This or encryptedUserIdCandidates[] or matchId or
3207	// mobileDeviceId or gclid is a required field.
3208	EncryptedUserId string `json:"encryptedUserId,omitempty"`
3209
3210	// EncryptedUserIdCandidates: A list of the alphanumeric encrypted user
3211	// IDs. Any user ID with exposure prior to the conversion timestamp will
3212	// be used in the inserted conversion. If no such user ID is found then
3213	// the conversion will be rejected with INVALID_ARGUMENT error. When
3214	// set, encryptionInfo should also be specified. This field may only be
3215	// used when calling batchinsert; it is not supported by batchupdate.
3216	// This field is mutually exclusive with encryptedUserId, matchId,
3217	// mobileDeviceId and gclid. This or encryptedUserId or matchId or
3218	// mobileDeviceId or gclid is a required field.
3219	EncryptedUserIdCandidates []string `json:"encryptedUserIdCandidates,omitempty"`
3220
3221	// FloodlightActivityId: Floodlight Activity ID of this conversion. This
3222	// is a required field.
3223	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
3224
3225	// FloodlightConfigurationId: Floodlight Configuration ID of this
3226	// conversion. This is a required field.
3227	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
3228
3229	// Gclid: The Google click ID. This field is mutually exclusive with
3230	// encryptedUserId, encryptedUserIdCandidates[], matchId and
3231	// mobileDeviceId. This or encryptedUserId or
3232	// encryptedUserIdCandidates[] or matchId or mobileDeviceId is a
3233	// required field.
3234	Gclid string `json:"gclid,omitempty"`
3235
3236	// Kind: Identifies what kind of resource this is. Value: the fixed
3237	// string "dfareporting#conversion".
3238	Kind string `json:"kind,omitempty"`
3239
3240	// LimitAdTracking: Whether Limit Ad Tracking is enabled. When set to
3241	// true, the conversion will be used for reporting but not targeting.
3242	// This will prevent remarketing.
3243	LimitAdTracking bool `json:"limitAdTracking,omitempty"`
3244
3245	// MatchId: The match ID field. A match ID is your own first-party
3246	// identifier that has been synced with Google using the match ID
3247	// feature in Floodlight. This field is mutually exclusive with
3248	// encryptedUserId, encryptedUserIdCandidates[],mobileDeviceId and
3249	// gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
3250	// mobileDeviceId or gclid is a required field.
3251	MatchId string `json:"matchId,omitempty"`
3252
3253	// MobileDeviceId: The mobile device ID. This field is mutually
3254	// exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId
3255	// and gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
3256	// matchId or gclid is a required field.
3257	MobileDeviceId string `json:"mobileDeviceId,omitempty"`
3258
3259	// NonPersonalizedAd: Whether the conversion was for a non personalized
3260	// ad.
3261	NonPersonalizedAd bool `json:"nonPersonalizedAd,omitempty"`
3262
3263	// Ordinal: The ordinal of the conversion. Use this field to control how
3264	// conversions of the same user and day are de-duplicated. This is a
3265	// required field.
3266	Ordinal string `json:"ordinal,omitempty"`
3267
3268	// Quantity: The quantity of the conversion.
3269	Quantity int64 `json:"quantity,omitempty,string"`
3270
3271	// TimestampMicros: The timestamp of conversion, in Unix epoch micros.
3272	// This is a required field.
3273	TimestampMicros int64 `json:"timestampMicros,omitempty,string"`
3274
3275	// TreatmentForUnderage: Whether this particular request may come from a
3276	// user under the age of 16 (may differ by country), under compliance
3277	// with the European Union's General Data Protection Regulation (GDPR).
3278	TreatmentForUnderage bool `json:"treatmentForUnderage,omitempty"`
3279
3280	// Value: The value of the conversion.
3281	Value float64 `json:"value,omitempty"`
3282
3283	// ForceSendFields is a list of field names (e.g.
3284	// "ChildDirectedTreatment") to unconditionally include in API requests.
3285	// By default, fields with empty values are omitted from API requests.
3286	// However, any non-pointer, non-interface field appearing in
3287	// ForceSendFields will be sent to the server regardless of whether the
3288	// field is empty or not. This may be used to include empty fields in
3289	// Patch requests.
3290	ForceSendFields []string `json:"-"`
3291
3292	// NullFields is a list of field names (e.g. "ChildDirectedTreatment")
3293	// to include in API requests with the JSON null value. By default,
3294	// fields with empty values are omitted from API requests. However, any
3295	// field with an empty value appearing in NullFields will be sent to the
3296	// server as null. It is an error if a field in this list has a
3297	// non-empty value. This may be used to include null fields in Patch
3298	// requests.
3299	NullFields []string `json:"-"`
3300}
3301
3302func (s *Conversion) MarshalJSON() ([]byte, error) {
3303	type NoMethod Conversion
3304	raw := NoMethod(*s)
3305	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3306}
3307
3308func (s *Conversion) UnmarshalJSON(data []byte) error {
3309	type NoMethod Conversion
3310	var s1 struct {
3311		Value gensupport.JSONFloat64 `json:"value"`
3312		*NoMethod
3313	}
3314	s1.NoMethod = (*NoMethod)(s)
3315	if err := json.Unmarshal(data, &s1); err != nil {
3316		return err
3317	}
3318	s.Value = float64(s1.Value)
3319	return nil
3320}
3321
3322// ConversionError: The error code and description for a conversion that
3323// failed to insert or update.
3324type ConversionError struct {
3325	// Code: The error code.
3326	//
3327	// Possible values:
3328	//   "INVALID_ARGUMENT"
3329	//   "INTERNAL"
3330	//   "PERMISSION_DENIED"
3331	//   "NOT_FOUND"
3332	Code string `json:"code,omitempty"`
3333
3334	// Kind: Identifies what kind of resource this is. Value: the fixed
3335	// string "dfareporting#conversionError".
3336	Kind string `json:"kind,omitempty"`
3337
3338	// Message: A description of the error.
3339	Message string `json:"message,omitempty"`
3340
3341	// ForceSendFields is a list of field names (e.g. "Code") to
3342	// unconditionally include in API requests. By default, fields with
3343	// empty values are omitted from API requests. However, any non-pointer,
3344	// non-interface field appearing in ForceSendFields will be sent to the
3345	// server regardless of whether the field is empty or not. This may be
3346	// used to include empty fields in Patch requests.
3347	ForceSendFields []string `json:"-"`
3348
3349	// NullFields is a list of field names (e.g. "Code") to include in API
3350	// requests with the JSON null value. By default, fields with empty
3351	// values are omitted from API requests. However, any field with an
3352	// empty value appearing in NullFields will be sent to the server as
3353	// null. It is an error if a field in this list has a non-empty value.
3354	// This may be used to include null fields in Patch requests.
3355	NullFields []string `json:"-"`
3356}
3357
3358func (s *ConversionError) MarshalJSON() ([]byte, error) {
3359	type NoMethod ConversionError
3360	raw := NoMethod(*s)
3361	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3362}
3363
3364// ConversionStatus: The original conversion that was inserted or
3365// updated and whether there were any errors.
3366type ConversionStatus struct {
3367	// Conversion: The original conversion that was inserted or updated.
3368	Conversion *Conversion `json:"conversion,omitempty"`
3369
3370	// Errors: A list of errors related to this conversion.
3371	Errors []*ConversionError `json:"errors,omitempty"`
3372
3373	// Kind: Identifies what kind of resource this is. Value: the fixed
3374	// string "dfareporting#conversionStatus".
3375	Kind string `json:"kind,omitempty"`
3376
3377	// ForceSendFields is a list of field names (e.g. "Conversion") to
3378	// unconditionally include in API requests. By default, fields with
3379	// empty values are omitted from API requests. However, any non-pointer,
3380	// non-interface field appearing in ForceSendFields will be sent to the
3381	// server regardless of whether the field is empty or not. This may be
3382	// used to include empty fields in Patch requests.
3383	ForceSendFields []string `json:"-"`
3384
3385	// NullFields is a list of field names (e.g. "Conversion") to include in
3386	// API requests with the JSON null value. By default, fields with empty
3387	// values are omitted from API requests. However, any field with an
3388	// empty value appearing in NullFields will be sent to the server as
3389	// null. It is an error if a field in this list has a non-empty value.
3390	// This may be used to include null fields in Patch requests.
3391	NullFields []string `json:"-"`
3392}
3393
3394func (s *ConversionStatus) MarshalJSON() ([]byte, error) {
3395	type NoMethod ConversionStatus
3396	raw := NoMethod(*s)
3397	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3398}
3399
3400// ConversionsBatchInsertRequest: Insert Conversions Request.
3401type ConversionsBatchInsertRequest struct {
3402	// Conversions: The set of conversions to insert.
3403	Conversions []*Conversion `json:"conversions,omitempty"`
3404
3405	// EncryptionInfo: Describes how encryptedUserId or
3406	// encryptedUserIdCandidates[] is encrypted. This is a required field if
3407	// encryptedUserId or encryptedUserIdCandidates[] is used.
3408	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
3409
3410	// Kind: Identifies what kind of resource this is. Value: the fixed
3411	// string "dfareporting#conversionsBatchInsertRequest".
3412	Kind string `json:"kind,omitempty"`
3413
3414	// ForceSendFields is a list of field names (e.g. "Conversions") to
3415	// unconditionally include in API requests. By default, fields with
3416	// empty values are omitted from API requests. However, any non-pointer,
3417	// non-interface field appearing in ForceSendFields will be sent to the
3418	// server regardless of whether the field is empty or not. This may be
3419	// used to include empty fields in Patch requests.
3420	ForceSendFields []string `json:"-"`
3421
3422	// NullFields is a list of field names (e.g. "Conversions") to include
3423	// in API requests with the JSON null value. By default, fields with
3424	// empty values are omitted from API requests. However, any field with
3425	// an empty value appearing in NullFields will be sent to the server as
3426	// null. It is an error if a field in this list has a non-empty value.
3427	// This may be used to include null fields in Patch requests.
3428	NullFields []string `json:"-"`
3429}
3430
3431func (s *ConversionsBatchInsertRequest) MarshalJSON() ([]byte, error) {
3432	type NoMethod ConversionsBatchInsertRequest
3433	raw := NoMethod(*s)
3434	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3435}
3436
3437// ConversionsBatchInsertResponse: Insert Conversions Response.
3438type ConversionsBatchInsertResponse struct {
3439	// HasFailures: Indicates that some or all conversions failed to insert.
3440	HasFailures bool `json:"hasFailures,omitempty"`
3441
3442	// Kind: Identifies what kind of resource this is. Value: the fixed
3443	// string "dfareporting#conversionsBatchInsertResponse".
3444	Kind string `json:"kind,omitempty"`
3445
3446	// Status: The insert status of each conversion. Statuses are returned
3447	// in the same order that conversions are inserted.
3448	Status []*ConversionStatus `json:"status,omitempty"`
3449
3450	// ServerResponse contains the HTTP response code and headers from the
3451	// server.
3452	googleapi.ServerResponse `json:"-"`
3453
3454	// ForceSendFields is a list of field names (e.g. "HasFailures") to
3455	// unconditionally include in API requests. By default, fields with
3456	// empty values are omitted from API requests. However, any non-pointer,
3457	// non-interface field appearing in ForceSendFields will be sent to the
3458	// server regardless of whether the field is empty or not. This may be
3459	// used to include empty fields in Patch requests.
3460	ForceSendFields []string `json:"-"`
3461
3462	// NullFields is a list of field names (e.g. "HasFailures") to include
3463	// in API requests with the JSON null value. By default, fields with
3464	// empty values are omitted from API requests. However, any field with
3465	// an empty value appearing in NullFields will be sent to the server as
3466	// null. It is an error if a field in this list has a non-empty value.
3467	// This may be used to include null fields in Patch requests.
3468	NullFields []string `json:"-"`
3469}
3470
3471func (s *ConversionsBatchInsertResponse) MarshalJSON() ([]byte, error) {
3472	type NoMethod ConversionsBatchInsertResponse
3473	raw := NoMethod(*s)
3474	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3475}
3476
3477// ConversionsBatchUpdateRequest: Update Conversions Request.
3478type ConversionsBatchUpdateRequest struct {
3479	// Conversions: The set of conversions to update.
3480	Conversions []*Conversion `json:"conversions,omitempty"`
3481
3482	// EncryptionInfo: Describes how encryptedUserId is encrypted. This is a
3483	// required field if encryptedUserId is used.
3484	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
3485
3486	// Kind: Identifies what kind of resource this is. Value: the fixed
3487	// string "dfareporting#conversionsBatchUpdateRequest".
3488	Kind string `json:"kind,omitempty"`
3489
3490	// ForceSendFields is a list of field names (e.g. "Conversions") to
3491	// unconditionally include in API requests. By default, fields with
3492	// empty values are omitted from API requests. However, any non-pointer,
3493	// non-interface field appearing in ForceSendFields will be sent to the
3494	// server regardless of whether the field is empty or not. This may be
3495	// used to include empty fields in Patch requests.
3496	ForceSendFields []string `json:"-"`
3497
3498	// NullFields is a list of field names (e.g. "Conversions") to include
3499	// in API requests with the JSON null value. By default, fields with
3500	// empty values are omitted from API requests. However, any field with
3501	// an empty value appearing in NullFields will be sent to the server as
3502	// null. It is an error if a field in this list has a non-empty value.
3503	// This may be used to include null fields in Patch requests.
3504	NullFields []string `json:"-"`
3505}
3506
3507func (s *ConversionsBatchUpdateRequest) MarshalJSON() ([]byte, error) {
3508	type NoMethod ConversionsBatchUpdateRequest
3509	raw := NoMethod(*s)
3510	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3511}
3512
3513// ConversionsBatchUpdateResponse: Update Conversions Response.
3514type ConversionsBatchUpdateResponse struct {
3515	// HasFailures: Indicates that some or all conversions failed to update.
3516	HasFailures bool `json:"hasFailures,omitempty"`
3517
3518	// Kind: Identifies what kind of resource this is. Value: the fixed
3519	// string "dfareporting#conversionsBatchUpdateResponse".
3520	Kind string `json:"kind,omitempty"`
3521
3522	// Status: The update status of each conversion. Statuses are returned
3523	// in the same order that conversions are updated.
3524	Status []*ConversionStatus `json:"status,omitempty"`
3525
3526	// ServerResponse contains the HTTP response code and headers from the
3527	// server.
3528	googleapi.ServerResponse `json:"-"`
3529
3530	// ForceSendFields is a list of field names (e.g. "HasFailures") to
3531	// unconditionally include in API requests. By default, fields with
3532	// empty values are omitted from API requests. However, any non-pointer,
3533	// non-interface field appearing in ForceSendFields will be sent to the
3534	// server regardless of whether the field is empty or not. This may be
3535	// used to include empty fields in Patch requests.
3536	ForceSendFields []string `json:"-"`
3537
3538	// NullFields is a list of field names (e.g. "HasFailures") to include
3539	// in API requests with the JSON null value. By default, fields with
3540	// empty values are omitted from API requests. However, any field with
3541	// an empty value appearing in NullFields will be sent to the server as
3542	// null. It is an error if a field in this list has a non-empty value.
3543	// This may be used to include null fields in Patch requests.
3544	NullFields []string `json:"-"`
3545}
3546
3547func (s *ConversionsBatchUpdateResponse) MarshalJSON() ([]byte, error) {
3548	type NoMethod ConversionsBatchUpdateResponse
3549	raw := NoMethod(*s)
3550	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3551}
3552
3553// CountriesListResponse: Country List Response
3554type CountriesListResponse struct {
3555	// Countries: Country collection.
3556	Countries []*Country `json:"countries,omitempty"`
3557
3558	// Kind: Identifies what kind of resource this is. Value: the fixed
3559	// string "dfareporting#countriesListResponse".
3560	Kind string `json:"kind,omitempty"`
3561
3562	// ServerResponse contains the HTTP response code and headers from the
3563	// server.
3564	googleapi.ServerResponse `json:"-"`
3565
3566	// ForceSendFields is a list of field names (e.g. "Countries") to
3567	// unconditionally include in API requests. By default, fields with
3568	// empty values are omitted from API requests. However, any non-pointer,
3569	// non-interface field appearing in ForceSendFields will be sent to the
3570	// server regardless of whether the field is empty or not. This may be
3571	// used to include empty fields in Patch requests.
3572	ForceSendFields []string `json:"-"`
3573
3574	// NullFields is a list of field names (e.g. "Countries") to include in
3575	// API requests with the JSON null value. By default, fields with empty
3576	// values are omitted from API requests. However, any field with an
3577	// empty value appearing in NullFields will be sent to the server as
3578	// null. It is an error if a field in this list has a non-empty value.
3579	// This may be used to include null fields in Patch requests.
3580	NullFields []string `json:"-"`
3581}
3582
3583func (s *CountriesListResponse) MarshalJSON() ([]byte, error) {
3584	type NoMethod CountriesListResponse
3585	raw := NoMethod(*s)
3586	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3587}
3588
3589// Country: Contains information about a country that can be targeted by
3590// ads.
3591type Country struct {
3592	// CountryCode: Country code.
3593	CountryCode string `json:"countryCode,omitempty"`
3594
3595	// DartId: DART ID of this country. This is the ID used for targeting
3596	// and generating reports.
3597	DartId int64 `json:"dartId,omitempty,string"`
3598
3599	// Kind: Identifies what kind of resource this is. Value: the fixed
3600	// string "dfareporting#country".
3601	Kind string `json:"kind,omitempty"`
3602
3603	// Name: Name of this country.
3604	Name string `json:"name,omitempty"`
3605
3606	// SslEnabled: Whether ad serving supports secure servers in this
3607	// country.
3608	SslEnabled bool `json:"sslEnabled,omitempty"`
3609
3610	// ServerResponse contains the HTTP response code and headers from the
3611	// server.
3612	googleapi.ServerResponse `json:"-"`
3613
3614	// ForceSendFields is a list of field names (e.g. "CountryCode") to
3615	// unconditionally include in API requests. By default, fields with
3616	// empty values are omitted from API requests. However, any non-pointer,
3617	// non-interface field appearing in ForceSendFields will be sent to the
3618	// server regardless of whether the field is empty or not. This may be
3619	// used to include empty fields in Patch requests.
3620	ForceSendFields []string `json:"-"`
3621
3622	// NullFields is a list of field names (e.g. "CountryCode") to include
3623	// in API requests with the JSON null value. By default, fields with
3624	// empty values are omitted from API requests. However, any field with
3625	// an empty value appearing in NullFields will be sent to the server as
3626	// null. It is an error if a field in this list has a non-empty value.
3627	// This may be used to include null fields in Patch requests.
3628	NullFields []string `json:"-"`
3629}
3630
3631func (s *Country) MarshalJSON() ([]byte, error) {
3632	type NoMethod Country
3633	raw := NoMethod(*s)
3634	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3635}
3636
3637// Creative: Contains properties of a Creative.
3638type Creative struct {
3639	// AccountId: Account ID of this creative. This field, if left unset,
3640	// will be auto-generated for both insert and update operations.
3641	// Applicable to all creative types.
3642	AccountId int64 `json:"accountId,omitempty,string"`
3643
3644	// Active: Whether the creative is active. Applicable to all creative
3645	// types.
3646	Active bool `json:"active,omitempty"`
3647
3648	// AdParameters: Ad parameters user for VPAID creative. This is a
3649	// read-only field. Applicable to the following creative types: all
3650	// VPAID.
3651	AdParameters string `json:"adParameters,omitempty"`
3652
3653	// AdTagKeys: Keywords for a Rich Media creative. Keywords let you
3654	// customize the creative settings of a Rich Media ad running on your
3655	// site without having to contact the advertiser. You can use keywords
3656	// to dynamically change the look or functionality of a creative.
3657	// Applicable to the following creative types: all RICH_MEDIA, and all
3658	// VPAID.
3659	AdTagKeys []string `json:"adTagKeys,omitempty"`
3660
3661	// AdditionalSizes: Additional sizes associated with a responsive
3662	// creative. When inserting or updating a creative either the size ID
3663	// field or size width and height fields can be used. Applicable to
3664	// DISPLAY creatives when the primary asset type is HTML_IMAGE.
3665	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
3666
3667	// AdvertiserId: Advertiser ID of this creative. This is a required
3668	// field. Applicable to all creative types.
3669	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
3670
3671	// AllowScriptAccess: Whether script access is allowed for this
3672	// creative. This is a read-only and deprecated field which will
3673	// automatically be set to true on update. Applicable to the following
3674	// creative types: FLASH_INPAGE.
3675	AllowScriptAccess bool `json:"allowScriptAccess,omitempty"`
3676
3677	// Archived: Whether the creative is archived. Applicable to all
3678	// creative types.
3679	Archived bool `json:"archived,omitempty"`
3680
3681	// ArtworkType: Type of artwork used for the creative. This is a
3682	// read-only field. Applicable to the following creative types: all
3683	// RICH_MEDIA, and all VPAID.
3684	//
3685	// Possible values:
3686	//   "ARTWORK_TYPE_FLASH"
3687	//   "ARTWORK_TYPE_HTML5"
3688	//   "ARTWORK_TYPE_MIXED"
3689	//   "ARTWORK_TYPE_IMAGE"
3690	ArtworkType string `json:"artworkType,omitempty"`
3691
3692	// AuthoringSource: Source application where creative was authored.
3693	// Presently, only DBM authored creatives will have this field set.
3694	// Applicable to all creative types.
3695	//
3696	// Possible values:
3697	//   "CREATIVE_AUTHORING_SOURCE_DCM"
3698	//   "CREATIVE_AUTHORING_SOURCE_DBM"
3699	//   "CREATIVE_AUTHORING_SOURCE_STUDIO"
3700	AuthoringSource string `json:"authoringSource,omitempty"`
3701
3702	// AuthoringTool: Authoring tool for HTML5 banner creatives. This is a
3703	// read-only field. Applicable to the following creative types:
3704	// HTML5_BANNER.
3705	//
3706	// Possible values:
3707	//   "NINJA"
3708	//   "SWIFFY"
3709	AuthoringTool string `json:"authoringTool,omitempty"`
3710
3711	// AutoAdvanceImages: Whether images are automatically advanced for
3712	// image gallery creatives. Applicable to the following creative types:
3713	// DISPLAY_IMAGE_GALLERY.
3714	AutoAdvanceImages bool `json:"autoAdvanceImages,omitempty"`
3715
3716	// BackgroundColor: The 6-character HTML color code, beginning with #,
3717	// for the background of the window area where the Flash file is
3718	// displayed. Default is white. Applicable to the following creative
3719	// types: FLASH_INPAGE.
3720	BackgroundColor string `json:"backgroundColor,omitempty"`
3721
3722	// BackupImageClickThroughUrl: Click-through URL for backup image.
3723	// Applicable to ENHANCED_BANNER when the primary asset type is not
3724	// HTML_IMAGE.
3725	BackupImageClickThroughUrl *CreativeClickThroughUrl `json:"backupImageClickThroughUrl,omitempty"`
3726
3727	// BackupImageFeatures: List of feature dependencies that will cause a
3728	// backup image to be served if the browser that serves the ad does not
3729	// support them. Feature dependencies are features that a browser must
3730	// be able to support in order to render your HTML5 creative asset
3731	// correctly. This field is initially auto-generated to contain all
3732	// features detected by Campaign Manager for all the assets of this
3733	// creative and can then be modified by the client. To reset this field,
3734	// copy over all the creativeAssets' detected features. Applicable to
3735	// the following creative types: HTML5_BANNER. Applicable to DISPLAY
3736	// when the primary asset type is not HTML_IMAGE.
3737	//
3738	// Possible values:
3739	//   "CSS_FONT_FACE"
3740	//   "CSS_BACKGROUND_SIZE"
3741	//   "CSS_BORDER_IMAGE"
3742	//   "CSS_BORDER_RADIUS"
3743	//   "CSS_BOX_SHADOW"
3744	//   "CSS_FLEX_BOX"
3745	//   "CSS_HSLA"
3746	//   "CSS_MULTIPLE_BGS"
3747	//   "CSS_OPACITY"
3748	//   "CSS_RGBA"
3749	//   "CSS_TEXT_SHADOW"
3750	//   "CSS_ANIMATIONS"
3751	//   "CSS_COLUMNS"
3752	//   "CSS_GENERATED_CONTENT"
3753	//   "CSS_GRADIENTS"
3754	//   "CSS_REFLECTIONS"
3755	//   "CSS_TRANSFORMS"
3756	//   "CSS_TRANSFORMS3D"
3757	//   "CSS_TRANSITIONS"
3758	//   "APPLICATION_CACHE"
3759	//   "CANVAS"
3760	//   "CANVAS_TEXT"
3761	//   "DRAG_AND_DROP"
3762	//   "HASH_CHANGE"
3763	//   "HISTORY"
3764	//   "AUDIO"
3765	//   "VIDEO"
3766	//   "INDEXED_DB"
3767	//   "INPUT_ATTR_AUTOCOMPLETE"
3768	//   "INPUT_ATTR_AUTOFOCUS"
3769	//   "INPUT_ATTR_LIST"
3770	//   "INPUT_ATTR_PLACEHOLDER"
3771	//   "INPUT_ATTR_MAX"
3772	//   "INPUT_ATTR_MIN"
3773	//   "INPUT_ATTR_MULTIPLE"
3774	//   "INPUT_ATTR_PATTERN"
3775	//   "INPUT_ATTR_REQUIRED"
3776	//   "INPUT_ATTR_STEP"
3777	//   "INPUT_TYPE_SEARCH"
3778	//   "INPUT_TYPE_TEL"
3779	//   "INPUT_TYPE_URL"
3780	//   "INPUT_TYPE_EMAIL"
3781	//   "INPUT_TYPE_DATETIME"
3782	//   "INPUT_TYPE_DATE"
3783	//   "INPUT_TYPE_MONTH"
3784	//   "INPUT_TYPE_WEEK"
3785	//   "INPUT_TYPE_TIME"
3786	//   "INPUT_TYPE_DATETIME_LOCAL"
3787	//   "INPUT_TYPE_NUMBER"
3788	//   "INPUT_TYPE_RANGE"
3789	//   "INPUT_TYPE_COLOR"
3790	//   "LOCAL_STORAGE"
3791	//   "POST_MESSAGE"
3792	//   "SESSION_STORAGE"
3793	//   "WEB_SOCKETS"
3794	//   "WEB_SQL_DATABASE"
3795	//   "WEB_WORKERS"
3796	//   "GEO_LOCATION"
3797	//   "INLINE_SVG"
3798	//   "SMIL"
3799	//   "SVG_HREF"
3800	//   "SVG_CLIP_PATHS"
3801	//   "TOUCH"
3802	//   "WEBGL"
3803	//   "SVG_FILTERS"
3804	//   "SVG_FE_IMAGE"
3805	BackupImageFeatures []string `json:"backupImageFeatures,omitempty"`
3806
3807	// BackupImageReportingLabel: Reporting label used for HTML5 banner
3808	// backup image. Applicable to the following creative types: DISPLAY
3809	// when the primary asset type is not HTML_IMAGE.
3810	BackupImageReportingLabel string `json:"backupImageReportingLabel,omitempty"`
3811
3812	// BackupImageTargetWindow: Target window for backup image. Applicable
3813	// to the following creative types: FLASH_INPAGE and HTML5_BANNER.
3814	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
3815	BackupImageTargetWindow *TargetWindow `json:"backupImageTargetWindow,omitempty"`
3816
3817	// ClickTags: Click tags of the creative. For DISPLAY, FLASH_INPAGE, and
3818	// HTML5_BANNER creatives, this is a subset of detected click tags for
3819	// the assets associated with this creative. After creating a flash
3820	// asset, detected click tags will be returned in the
3821	// creativeAssetMetadata. When inserting the creative, populate the
3822	// creative clickTags field using the creativeAssetMetadata.clickTags
3823	// field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly
3824	// one entry in this list for each image creative asset. A click tag is
3825	// matched with a corresponding creative asset by matching the
3826	// clickTag.name field with the creativeAsset.assetIdentifier.name
3827	// field. Applicable to the following creative types:
3828	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to
3829	// DISPLAY when the primary asset type is not HTML_IMAGE.
3830	ClickTags []*ClickTag `json:"clickTags,omitempty"`
3831
3832	// CommercialId: Industry standard ID assigned to creative for reach and
3833	// frequency. Applicable to INSTREAM_VIDEO_REDIRECT creatives.
3834	CommercialId string `json:"commercialId,omitempty"`
3835
3836	// CompanionCreatives: List of companion creatives assigned to an
3837	// in-Stream video creative. Acceptable values include IDs of existing
3838	// flash and image creatives. Applicable to the following creative
3839	// types: all VPAID, all INSTREAM_AUDIO and all INSTREAM_VIDEO with
3840	// dynamicAssetSelection set to false.
3841	CompanionCreatives googleapi.Int64s `json:"companionCreatives,omitempty"`
3842
3843	// Compatibility: Compatibilities associated with this creative. This is
3844	// a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to
3845	// rendering either on desktop or on mobile devices or in mobile apps
3846	// for regular or interstitial ads, respectively. APP and
3847	// APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing
3848	// creatives may have these compatibilities since new creatives will
3849	// either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead.
3850	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
3851	// with the VAST standard. IN_STREAM_AUDIO refers to rendering in
3852	// in-stream audio ads developed with the VAST standard. Applicable to
3853	// all creative types. Acceptable values are: - "APP" -
3854	// "APP_INTERSTITIAL" - "IN_STREAM_VIDEO" - "IN_STREAM_AUDIO" -
3855	// "DISPLAY" - "DISPLAY_INTERSTITIAL"
3856	//
3857	// Possible values:
3858	//   "DISPLAY"
3859	//   "DISPLAY_INTERSTITIAL"
3860	//   "APP"
3861	//   "APP_INTERSTITIAL"
3862	//   "IN_STREAM_VIDEO"
3863	//   "IN_STREAM_AUDIO"
3864	Compatibility []string `json:"compatibility,omitempty"`
3865
3866	// ConvertFlashToHtml5: Whether Flash assets associated with the
3867	// creative need to be automatically converted to HTML5. This flag is
3868	// enabled by default and users can choose to disable it if they don't
3869	// want the system to generate and use HTML5 asset for this creative.
3870	// Applicable to the following creative type: FLASH_INPAGE. Applicable
3871	// to DISPLAY when the primary asset type is not HTML_IMAGE.
3872	ConvertFlashToHtml5 bool `json:"convertFlashToHtml5,omitempty"`
3873
3874	// CounterCustomEvents: List of counter events configured for the
3875	// creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only
3876	// and auto-generated from clickTags. Applicable to the following
3877	// creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
3878	CounterCustomEvents []*CreativeCustomEvent `json:"counterCustomEvents,omitempty"`
3879
3880	// CreativeAssetSelection: Required if dynamicAssetSelection is true.
3881	CreativeAssetSelection *CreativeAssetSelection `json:"creativeAssetSelection,omitempty"`
3882
3883	// CreativeAssets: Assets associated with a creative. Applicable to all
3884	// but the following creative types: INTERNAL_REDIRECT,
3885	// INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
3886	CreativeAssets []*CreativeAsset `json:"creativeAssets,omitempty"`
3887
3888	// CreativeFieldAssignments: Creative field assignments for this
3889	// creative. Applicable to all creative types.
3890	CreativeFieldAssignments []*CreativeFieldAssignment `json:"creativeFieldAssignments,omitempty"`
3891
3892	// CustomKeyValues: Custom key-values for a Rich Media creative.
3893	// Key-values let you customize the creative settings of a Rich Media ad
3894	// running on your site without having to contact the advertiser. You
3895	// can use key-values to dynamically change the look or functionality of
3896	// a creative. Applicable to the following creative types: all
3897	// RICH_MEDIA, and all VPAID.
3898	CustomKeyValues []string `json:"customKeyValues,omitempty"`
3899
3900	// DynamicAssetSelection: Set this to true to enable the use of rules to
3901	// target individual assets in this creative. When set to true
3902	// creativeAssetSelection must be set. This also controls asset-level
3903	// companions. When this is true, companion creatives should be assigned
3904	// to creative assets. Learn more. Applicable to INSTREAM_VIDEO
3905	// creatives.
3906	DynamicAssetSelection bool `json:"dynamicAssetSelection,omitempty"`
3907
3908	// ExitCustomEvents: List of exit events configured for the creative.
3909	// For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only
3910	// and auto-generated from clickTags, For DISPLAY, an event is also
3911	// created from the backupImageReportingLabel. Applicable to the
3912	// following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and
3913	// all VPAID. Applicable to DISPLAY when the primary asset type is not
3914	// HTML_IMAGE.
3915	ExitCustomEvents []*CreativeCustomEvent `json:"exitCustomEvents,omitempty"`
3916
3917	// FsCommand: OpenWindow FSCommand of this creative. This lets the SWF
3918	// file communicate with either Flash Player or the program hosting
3919	// Flash Player, such as a web browser. This is only triggered if
3920	// allowScriptAccess field is true. Applicable to the following creative
3921	// types: FLASH_INPAGE.
3922	FsCommand *FsCommand `json:"fsCommand,omitempty"`
3923
3924	// HtmlCode: HTML code for the creative. This is a required field when
3925	// applicable. This field is ignored if htmlCodeLocked is true.
3926	// Applicable to the following creative types: all CUSTOM, FLASH_INPAGE,
3927	// and HTML5_BANNER, and all RICH_MEDIA.
3928	HtmlCode string `json:"htmlCode,omitempty"`
3929
3930	// HtmlCodeLocked: Whether HTML code is generated by Campaign Manager or
3931	// manually entered. Set to true to ignore changes to htmlCode.
3932	// Applicable to the following creative types: FLASH_INPAGE and
3933	// HTML5_BANNER.
3934	HtmlCodeLocked bool `json:"htmlCodeLocked,omitempty"`
3935
3936	// Id: ID of this creative. This is a read-only, auto-generated field.
3937	// Applicable to all creative types.
3938	Id int64 `json:"id,omitempty,string"`
3939
3940	// IdDimensionValue: Dimension value for the ID of this creative. This
3941	// is a read-only field. Applicable to all creative types.
3942	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
3943
3944	// Kind: Identifies what kind of resource this is. Value: the fixed
3945	// string "dfareporting#creative".
3946	Kind string `json:"kind,omitempty"`
3947
3948	// LastModifiedInfo: Creative last modification information. This is a
3949	// read-only field. Applicable to all creative types.
3950	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
3951
3952	// LatestTraffickedCreativeId: Latest Studio trafficked creative ID
3953	// associated with rich media and VPAID creatives. This is a read-only
3954	// field. Applicable to the following creative types: all RICH_MEDIA,
3955	// and all VPAID.
3956	LatestTraffickedCreativeId int64 `json:"latestTraffickedCreativeId,omitempty,string"`
3957
3958	// MediaDescription: Description of the audio or video ad. Applicable to
3959	// the following creative types: all INSTREAM_VIDEO, INSTREAM_AUDIO, and
3960	// all VPAID.
3961	MediaDescription string `json:"mediaDescription,omitempty"`
3962
3963	// MediaDuration: Creative audio or video duration in seconds. This is a
3964	// read-only field. Applicable to the following creative types:
3965	// INSTREAM_VIDEO, INSTREAM_AUDIO, all RICH_MEDIA, and all VPAID.
3966	MediaDuration float64 `json:"mediaDuration,omitempty"`
3967
3968	// Name: Name of the creative. This is a required field and must be less
3969	// than 256 characters long. Applicable to all creative types.
3970	Name string `json:"name,omitempty"`
3971
3972	// OverrideCss: Override CSS value for rich media creatives. Applicable
3973	// to the following creative types: all RICH_MEDIA.
3974	OverrideCss string `json:"overrideCss,omitempty"`
3975
3976	// ProgressOffset: Amount of time to play the video before counting a
3977	// view. Applicable to the following creative types: all INSTREAM_VIDEO.
3978	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
3979
3980	// RedirectUrl: URL of hosted image or hosted video or another ad tag.
3981	// For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video
3982	// redirect URL. The standard for a VAST (Video Ad Serving Template) ad
3983	// response allows for a redirect link to another VAST 2.0 or 3.0 call.
3984	// This is a required field when applicable. Applicable to the following
3985	// creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT,
3986	// INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
3987	RedirectUrl string `json:"redirectUrl,omitempty"`
3988
3989	// RenderingId: ID of current rendering version. This is a read-only
3990	// field. Applicable to all creative types.
3991	RenderingId int64 `json:"renderingId,omitempty,string"`
3992
3993	// RenderingIdDimensionValue: Dimension value for the rendering ID of
3994	// this creative. This is a read-only field. Applicable to all creative
3995	// types.
3996	RenderingIdDimensionValue *DimensionValue `json:"renderingIdDimensionValue,omitempty"`
3997
3998	// RequiredFlashPluginVersion: The minimum required Flash plugin version
3999	// for this creative. For example, 11.2.202.235. This is a read-only
4000	// field. Applicable to the following creative types: all RICH_MEDIA,
4001	// and all VPAID.
4002	RequiredFlashPluginVersion string `json:"requiredFlashPluginVersion,omitempty"`
4003
4004	// RequiredFlashVersion: The internal Flash version for this creative as
4005	// calculated by Studio. This is a read-only field. Applicable to the
4006	// following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID.
4007	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
4008	RequiredFlashVersion int64 `json:"requiredFlashVersion,omitempty"`
4009
4010	// Size: Size associated with this creative. When inserting or updating
4011	// a creative either the size ID field or size width and height fields
4012	// can be used. This is a required field when applicable; however for
4013	// IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a
4014	// primary asset of type HTML_IMAGE, if left blank, this field will be
4015	// automatically set using the actual size of the associated image
4016	// assets. Applicable to the following creative types: DISPLAY,
4017	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all
4018	// RICH_MEDIA.
4019	Size *Size `json:"size,omitempty"`
4020
4021	// SkipOffset: Amount of time to play the video before the skip button
4022	// appears. Applicable to the following creative types: all
4023	// INSTREAM_VIDEO.
4024	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
4025
4026	// Skippable: Whether the user can choose to skip the creative.
4027	// Applicable to the following creative types: all INSTREAM_VIDEO and
4028	// all VPAID.
4029	Skippable bool `json:"skippable,omitempty"`
4030
4031	// SslCompliant: Whether the creative is SSL-compliant. This is a
4032	// read-only field. Applicable to all creative types.
4033	SslCompliant bool `json:"sslCompliant,omitempty"`
4034
4035	// SslOverride: Whether creative should be treated as SSL compliant even
4036	// if the system scan shows it's not. Applicable to all creative types.
4037	SslOverride bool `json:"sslOverride,omitempty"`
4038
4039	// StudioAdvertiserId: Studio advertiser ID associated with rich media
4040	// and VPAID creatives. This is a read-only field. Applicable to the
4041	// following creative types: all RICH_MEDIA, and all VPAID.
4042	StudioAdvertiserId int64 `json:"studioAdvertiserId,omitempty,string"`
4043
4044	// StudioCreativeId: Studio creative ID associated with rich media and
4045	// VPAID creatives. This is a read-only field. Applicable to the
4046	// following creative types: all RICH_MEDIA, and all VPAID.
4047	StudioCreativeId int64 `json:"studioCreativeId,omitempty,string"`
4048
4049	// StudioTraffickedCreativeId: Studio trafficked creative ID associated
4050	// with rich media and VPAID creatives. This is a read-only field.
4051	// Applicable to the following creative types: all RICH_MEDIA, and all
4052	// VPAID.
4053	StudioTraffickedCreativeId int64 `json:"studioTraffickedCreativeId,omitempty,string"`
4054
4055	// SubaccountId: Subaccount ID of this creative. This field, if left
4056	// unset, will be auto-generated for both insert and update operations.
4057	// Applicable to all creative types.
4058	SubaccountId int64 `json:"subaccountId,omitempty,string"`
4059
4060	// ThirdPartyBackupImageImpressionsUrl: Third-party URL used to record
4061	// backup image impressions. Applicable to the following creative types:
4062	// all RICH_MEDIA.
4063	ThirdPartyBackupImageImpressionsUrl string `json:"thirdPartyBackupImageImpressionsUrl,omitempty"`
4064
4065	// ThirdPartyRichMediaImpressionsUrl: Third-party URL used to record
4066	// rich media impressions. Applicable to the following creative types:
4067	// all RICH_MEDIA.
4068	ThirdPartyRichMediaImpressionsUrl string `json:"thirdPartyRichMediaImpressionsUrl,omitempty"`
4069
4070	// ThirdPartyUrls: Third-party URLs for tracking in-stream creative
4071	// events. Applicable to the following creative types: all
4072	// INSTREAM_VIDEO, all INSTREAM_AUDIO, and all VPAID.
4073	ThirdPartyUrls []*ThirdPartyTrackingUrl `json:"thirdPartyUrls,omitempty"`
4074
4075	// TimerCustomEvents: List of timer events configured for the creative.
4076	// For DISPLAY_IMAGE_GALLERY creatives, these are read-only and
4077	// auto-generated from clickTags. Applicable to the following creative
4078	// types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
4079	// Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
4080	TimerCustomEvents []*CreativeCustomEvent `json:"timerCustomEvents,omitempty"`
4081
4082	// TotalFileSize: Combined size of all creative assets. This is a
4083	// read-only field. Applicable to the following creative types: all
4084	// RICH_MEDIA, and all VPAID.
4085	TotalFileSize int64 `json:"totalFileSize,omitempty,string"`
4086
4087	// Type: Type of this creative. This is a required field. Applicable to
4088	// all creative types. *Note:* FLASH_INPAGE, HTML5_BANNER, and IMAGE are
4089	// only used for existing creatives. New creatives should use DISPLAY as
4090	// a replacement for these types.
4091	//
4092	// Possible values:
4093	//   "IMAGE"
4094	//   "DISPLAY_REDIRECT"
4095	//   "CUSTOM_DISPLAY"
4096	//   "INTERNAL_REDIRECT"
4097	//   "CUSTOM_DISPLAY_INTERSTITIAL"
4098	//   "INTERSTITIAL_INTERNAL_REDIRECT"
4099	//   "TRACKING_TEXT"
4100	//   "RICH_MEDIA_DISPLAY_BANNER"
4101	//   "RICH_MEDIA_INPAGE_FLOATING"
4102	//   "RICH_MEDIA_IM_EXPAND"
4103	//   "RICH_MEDIA_DISPLAY_EXPANDING"
4104	//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
4105	//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
4106	//   "RICH_MEDIA_MOBILE_IN_APP"
4107	//   "FLASH_INPAGE"
4108	//   "INSTREAM_VIDEO"
4109	//   "VPAID_LINEAR_VIDEO"
4110	//   "VPAID_NON_LINEAR_VIDEO"
4111	//   "INSTREAM_VIDEO_REDIRECT"
4112	//   "RICH_MEDIA_PEEL_DOWN"
4113	//   "HTML5_BANNER"
4114	//   "DISPLAY"
4115	//   "DISPLAY_IMAGE_GALLERY"
4116	//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
4117	//   "INSTREAM_AUDIO"
4118	Type string `json:"type,omitempty"`
4119
4120	// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
4121	// to the following creative types: INSTREAM_AUDIO and INSTREAM_VIDEO
4122	// and VPAID.
4123	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
4124
4125	// Version: The version number helps you keep track of multiple versions
4126	// of your creative in your reports. The version number will always be
4127	// auto-generated during insert operations to start at 1. For tracking
4128	// creatives the version cannot be incremented and will always remain at
4129	// 1. For all other creative types the version can be incremented only
4130	// by 1 during update operations. In addition, the version will be
4131	// automatically incremented by 1 when undergoing Rich Media creative
4132	// merging. Applicable to all creative types.
4133	Version int64 `json:"version,omitempty"`
4134
4135	// ServerResponse contains the HTTP response code and headers from the
4136	// server.
4137	googleapi.ServerResponse `json:"-"`
4138
4139	// ForceSendFields is a list of field names (e.g. "AccountId") to
4140	// unconditionally include in API requests. By default, fields with
4141	// empty values are omitted from API requests. However, any non-pointer,
4142	// non-interface field appearing in ForceSendFields will be sent to the
4143	// server regardless of whether the field is empty or not. This may be
4144	// used to include empty fields in Patch requests.
4145	ForceSendFields []string `json:"-"`
4146
4147	// NullFields is a list of field names (e.g. "AccountId") to include in
4148	// API requests with the JSON null value. By default, fields with empty
4149	// values are omitted from API requests. However, any field with an
4150	// empty value appearing in NullFields will be sent to the server as
4151	// null. It is an error if a field in this list has a non-empty value.
4152	// This may be used to include null fields in Patch requests.
4153	NullFields []string `json:"-"`
4154}
4155
4156func (s *Creative) MarshalJSON() ([]byte, error) {
4157	type NoMethod Creative
4158	raw := NoMethod(*s)
4159	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4160}
4161
4162func (s *Creative) UnmarshalJSON(data []byte) error {
4163	type NoMethod Creative
4164	var s1 struct {
4165		MediaDuration gensupport.JSONFloat64 `json:"mediaDuration"`
4166		*NoMethod
4167	}
4168	s1.NoMethod = (*NoMethod)(s)
4169	if err := json.Unmarshal(data, &s1); err != nil {
4170		return err
4171	}
4172	s.MediaDuration = float64(s1.MediaDuration)
4173	return nil
4174}
4175
4176// CreativeAsset: Creative Asset.
4177type CreativeAsset struct {
4178	// ActionScript3: Whether ActionScript3 is enabled for the flash asset.
4179	// This is a read-only field. Applicable to the following creative type:
4180	// FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is
4181	// not HTML_IMAGE.
4182	ActionScript3 bool `json:"actionScript3,omitempty"`
4183
4184	// Active: Whether the video or audio asset is active. This is a
4185	// read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the
4186	// following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all
4187	// VPAID.
4188	Active bool `json:"active,omitempty"`
4189
4190	// AdditionalSizes: Additional sizes associated with this creative
4191	// asset. HTML5 asset generated by compatible software such as GWD will
4192	// be able to support more sizes this creative asset can render.
4193	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
4194
4195	// Alignment: Possible alignments for an asset. This is a read-only
4196	// field. Applicable to the following creative types:
4197	// RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL .
4198	//
4199	// Possible values:
4200	//   "ALIGNMENT_TOP"
4201	//   "ALIGNMENT_RIGHT"
4202	//   "ALIGNMENT_BOTTOM"
4203	//   "ALIGNMENT_LEFT"
4204	Alignment string `json:"alignment,omitempty"`
4205
4206	// ArtworkType: Artwork type of rich media creative. This is a read-only
4207	// field. Applicable to the following creative types: all RICH_MEDIA.
4208	//
4209	// Possible values:
4210	//   "ARTWORK_TYPE_FLASH"
4211	//   "ARTWORK_TYPE_HTML5"
4212	//   "ARTWORK_TYPE_MIXED"
4213	//   "ARTWORK_TYPE_IMAGE"
4214	ArtworkType string `json:"artworkType,omitempty"`
4215
4216	// AssetIdentifier: Identifier of this asset. This is the same
4217	// identifier returned during creative asset insert operation. This is a
4218	// required field. Applicable to all but the following creative types:
4219	// all REDIRECT and TRACKING_TEXT.
4220	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
4221
4222	// AudioBitRate: Audio stream bit rate in kbps. This is a read-only
4223	// field. Applicable to the following creative types: INSTREAM_AUDIO,
4224	// INSTREAM_VIDEO and all VPAID.
4225	AudioBitRate int64 `json:"audioBitRate,omitempty"`
4226
4227	// AudioSampleRate: Audio sample bit rate in hertz. This is a read-only
4228	// field. Applicable to the following creative types: INSTREAM_AUDIO,
4229	// INSTREAM_VIDEO and all VPAID.
4230	AudioSampleRate int64 `json:"audioSampleRate,omitempty"`
4231
4232	// BackupImageExit: Exit event configured for the backup image.
4233	// Applicable to the following creative types: all RICH_MEDIA.
4234	BackupImageExit *CreativeCustomEvent `json:"backupImageExit,omitempty"`
4235
4236	// BitRate: Detected bit-rate for audio or video asset. This is a
4237	// read-only field. Applicable to the following creative types:
4238	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4239	BitRate int64 `json:"bitRate,omitempty"`
4240
4241	// ChildAssetType: Rich media child asset type. This is a read-only
4242	// field. Applicable to the following creative types: all VPAID.
4243	//
4244	// Possible values:
4245	//   "CHILD_ASSET_TYPE_FLASH"
4246	//   "CHILD_ASSET_TYPE_VIDEO"
4247	//   "CHILD_ASSET_TYPE_IMAGE"
4248	//   "CHILD_ASSET_TYPE_DATA"
4249	ChildAssetType string `json:"childAssetType,omitempty"`
4250
4251	// CollapsedSize: Size of an asset when collapsed. This is a read-only
4252	// field. Applicable to the following creative types: all RICH_MEDIA and
4253	// all VPAID. Additionally, applicable to assets whose displayType is
4254	// ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
4255	CollapsedSize *Size `json:"collapsedSize,omitempty"`
4256
4257	// CompanionCreativeIds: List of companion creatives assigned to an
4258	// in-stream video creative asset. Acceptable values include IDs of
4259	// existing flash and image creatives. Applicable to INSTREAM_VIDEO
4260	// creative type with dynamicAssetSelection set to true.
4261	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
4262
4263	// CustomStartTimeValue: Custom start time in seconds for making the
4264	// asset visible. Applicable to the following creative types: all
4265	// RICH_MEDIA. Value must be greater than or equal to 0.
4266	CustomStartTimeValue int64 `json:"customStartTimeValue,omitempty"`
4267
4268	// DetectedFeatures: List of feature dependencies for the creative asset
4269	// that are detected by Campaign Manager. Feature dependencies are
4270	// features that a browser must be able to support in order to render
4271	// your HTML5 creative correctly. This is a read-only, auto-generated
4272	// field. Applicable to the following creative types: HTML5_BANNER.
4273	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
4274	//
4275	// Possible values:
4276	//   "CSS_FONT_FACE"
4277	//   "CSS_BACKGROUND_SIZE"
4278	//   "CSS_BORDER_IMAGE"
4279	//   "CSS_BORDER_RADIUS"
4280	//   "CSS_BOX_SHADOW"
4281	//   "CSS_FLEX_BOX"
4282	//   "CSS_HSLA"
4283	//   "CSS_MULTIPLE_BGS"
4284	//   "CSS_OPACITY"
4285	//   "CSS_RGBA"
4286	//   "CSS_TEXT_SHADOW"
4287	//   "CSS_ANIMATIONS"
4288	//   "CSS_COLUMNS"
4289	//   "CSS_GENERATED_CONTENT"
4290	//   "CSS_GRADIENTS"
4291	//   "CSS_REFLECTIONS"
4292	//   "CSS_TRANSFORMS"
4293	//   "CSS_TRANSFORMS3D"
4294	//   "CSS_TRANSITIONS"
4295	//   "APPLICATION_CACHE"
4296	//   "CANVAS"
4297	//   "CANVAS_TEXT"
4298	//   "DRAG_AND_DROP"
4299	//   "HASH_CHANGE"
4300	//   "HISTORY"
4301	//   "AUDIO"
4302	//   "VIDEO"
4303	//   "INDEXED_DB"
4304	//   "INPUT_ATTR_AUTOCOMPLETE"
4305	//   "INPUT_ATTR_AUTOFOCUS"
4306	//   "INPUT_ATTR_LIST"
4307	//   "INPUT_ATTR_PLACEHOLDER"
4308	//   "INPUT_ATTR_MAX"
4309	//   "INPUT_ATTR_MIN"
4310	//   "INPUT_ATTR_MULTIPLE"
4311	//   "INPUT_ATTR_PATTERN"
4312	//   "INPUT_ATTR_REQUIRED"
4313	//   "INPUT_ATTR_STEP"
4314	//   "INPUT_TYPE_SEARCH"
4315	//   "INPUT_TYPE_TEL"
4316	//   "INPUT_TYPE_URL"
4317	//   "INPUT_TYPE_EMAIL"
4318	//   "INPUT_TYPE_DATETIME"
4319	//   "INPUT_TYPE_DATE"
4320	//   "INPUT_TYPE_MONTH"
4321	//   "INPUT_TYPE_WEEK"
4322	//   "INPUT_TYPE_TIME"
4323	//   "INPUT_TYPE_DATETIME_LOCAL"
4324	//   "INPUT_TYPE_NUMBER"
4325	//   "INPUT_TYPE_RANGE"
4326	//   "INPUT_TYPE_COLOR"
4327	//   "LOCAL_STORAGE"
4328	//   "POST_MESSAGE"
4329	//   "SESSION_STORAGE"
4330	//   "WEB_SOCKETS"
4331	//   "WEB_SQL_DATABASE"
4332	//   "WEB_WORKERS"
4333	//   "GEO_LOCATION"
4334	//   "INLINE_SVG"
4335	//   "SMIL"
4336	//   "SVG_HREF"
4337	//   "SVG_CLIP_PATHS"
4338	//   "TOUCH"
4339	//   "WEBGL"
4340	//   "SVG_FILTERS"
4341	//   "SVG_FE_IMAGE"
4342	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
4343
4344	// DisplayType: Type of rich media asset. This is a read-only field.
4345	// Applicable to the following creative types: all RICH_MEDIA.
4346	//
4347	// Possible values:
4348	//   "ASSET_DISPLAY_TYPE_INPAGE"
4349	//   "ASSET_DISPLAY_TYPE_FLOATING"
4350	//   "ASSET_DISPLAY_TYPE_OVERLAY"
4351	//   "ASSET_DISPLAY_TYPE_EXPANDING"
4352	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH"
4353	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING"
4354	//   "ASSET_DISPLAY_TYPE_PEEL_DOWN"
4355	//   "ASSET_DISPLAY_TYPE_VPAID_LINEAR"
4356	//   "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"
4357	//   "ASSET_DISPLAY_TYPE_BACKDROP"
4358	DisplayType string `json:"displayType,omitempty"`
4359
4360	// Duration: Duration in seconds for which an asset will be displayed.
4361	// Applicable to the following creative types: INSTREAM_AUDIO,
4362	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO. Value must be greater than or
4363	// equal to 1.
4364	Duration int64 `json:"duration,omitempty"`
4365
4366	// DurationType: Duration type for which an asset will be displayed.
4367	// Applicable to the following creative types: all RICH_MEDIA.
4368	//
4369	// Possible values:
4370	//   "ASSET_DURATION_TYPE_AUTO"
4371	//   "ASSET_DURATION_TYPE_NONE"
4372	//   "ASSET_DURATION_TYPE_CUSTOM"
4373	DurationType string `json:"durationType,omitempty"`
4374
4375	// ExpandedDimension: Detected expanded dimension for video asset. This
4376	// is a read-only field. Applicable to the following creative types:
4377	// INSTREAM_VIDEO and all VPAID.
4378	ExpandedDimension *Size `json:"expandedDimension,omitempty"`
4379
4380	// FileSize: File size associated with this creative asset. This is a
4381	// read-only field. Applicable to all but the following creative types:
4382	// all REDIRECT and TRACKING_TEXT.
4383	FileSize int64 `json:"fileSize,omitempty,string"`
4384
4385	// FlashVersion: Flash version of the asset. This is a read-only field.
4386	// Applicable to the following creative types: FLASH_INPAGE, all
4387	// RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary
4388	// asset type is not HTML_IMAGE.
4389	FlashVersion int64 `json:"flashVersion,omitempty"`
4390
4391	// FrameRate: Video frame rate for video asset in frames per second.
4392	// This is a read-only field. Applicable to the following creative
4393	// types: INSTREAM_VIDEO and all VPAID.
4394	FrameRate float64 `json:"frameRate,omitempty"`
4395
4396	// HideFlashObjects: Whether to hide Flash objects flag for an asset.
4397	// Applicable to the following creative types: all RICH_MEDIA.
4398	HideFlashObjects bool `json:"hideFlashObjects,omitempty"`
4399
4400	// HideSelectionBoxes: Whether to hide selection boxes flag for an
4401	// asset. Applicable to the following creative types: all RICH_MEDIA.
4402	HideSelectionBoxes bool `json:"hideSelectionBoxes,omitempty"`
4403
4404	// HorizontallyLocked: Whether the asset is horizontally locked. This is
4405	// a read-only field. Applicable to the following creative types: all
4406	// RICH_MEDIA.
4407	HorizontallyLocked bool `json:"horizontallyLocked,omitempty"`
4408
4409	// Id: Numeric ID of this creative asset. This is a required field and
4410	// should not be modified. Applicable to all but the following creative
4411	// types: all REDIRECT and TRACKING_TEXT.
4412	Id int64 `json:"id,omitempty,string"`
4413
4414	// IdDimensionValue: Dimension value for the ID of the asset. This is a
4415	// read-only, auto-generated field.
4416	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
4417
4418	// MediaDuration: Detected duration for audio or video asset. This is a
4419	// read-only field. Applicable to the following creative types:
4420	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4421	MediaDuration float64 `json:"mediaDuration,omitempty"`
4422
4423	// MimeType: Detected MIME type for audio or video asset. This is a
4424	// read-only field. Applicable to the following creative types:
4425	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4426	MimeType string `json:"mimeType,omitempty"`
4427
4428	// Offset: Offset position for an asset in collapsed mode. This is a
4429	// read-only field. Applicable to the following creative types: all
4430	// RICH_MEDIA and all VPAID. Additionally, only applicable to assets
4431	// whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or
4432	// ASSET_DISPLAY_TYPE_PEEL_DOWN.
4433	Offset *OffsetPosition `json:"offset,omitempty"`
4434
4435	// Orientation: Orientation of video asset. This is a read-only,
4436	// auto-generated field.
4437	//
4438	// Possible values:
4439	//   "LANDSCAPE"
4440	//   "PORTRAIT"
4441	//   "SQUARE"
4442	Orientation string `json:"orientation,omitempty"`
4443
4444	// OriginalBackup: Whether the backup asset is original or changed by
4445	// the user in Campaign Manager. Applicable to the following creative
4446	// types: all RICH_MEDIA.
4447	OriginalBackup bool `json:"originalBackup,omitempty"`
4448
4449	// PoliteLoad: Whether this asset is used as a polite load asset.
4450	PoliteLoad bool `json:"politeLoad,omitempty"`
4451
4452	// Position: Offset position for an asset. Applicable to the following
4453	// creative types: all RICH_MEDIA.
4454	Position *OffsetPosition `json:"position,omitempty"`
4455
4456	// PositionLeftUnit: Offset left unit for an asset. This is a read-only
4457	// field. Applicable to the following creative types: all RICH_MEDIA.
4458	//
4459	// Possible values:
4460	//   "OFFSET_UNIT_PIXEL"
4461	//   "OFFSET_UNIT_PERCENT"
4462	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
4463	PositionLeftUnit string `json:"positionLeftUnit,omitempty"`
4464
4465	// PositionTopUnit: Offset top unit for an asset. This is a read-only
4466	// field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY.
4467	// Applicable to the following creative types: all RICH_MEDIA.
4468	//
4469	// Possible values:
4470	//   "OFFSET_UNIT_PIXEL"
4471	//   "OFFSET_UNIT_PERCENT"
4472	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
4473	PositionTopUnit string `json:"positionTopUnit,omitempty"`
4474
4475	// ProgressiveServingUrl: Progressive URL for video asset. This is a
4476	// read-only field. Applicable to the following creative types:
4477	// INSTREAM_VIDEO and all VPAID.
4478	ProgressiveServingUrl string `json:"progressiveServingUrl,omitempty"`
4479
4480	// Pushdown: Whether the asset pushes down other content. Applicable to
4481	// the following creative types: all RICH_MEDIA. Additionally, only
4482	// applicable when the asset offsets are 0, the collapsedSize.width
4483	// matches size.width, and the collapsedSize.height is less than
4484	// size.height.
4485	Pushdown bool `json:"pushdown,omitempty"`
4486
4487	// PushdownDuration: Pushdown duration in seconds for an asset.
4488	// Applicable to the following creative types: all
4489	// RICH_MEDIA.Additionally, only applicable when the asset pushdown
4490	// field is true, the offsets are 0, the collapsedSize.width matches
4491	// size.width, and the collapsedSize.height is less than size.height.
4492	// Acceptable values are 0 to 9.99, inclusive.
4493	PushdownDuration float64 `json:"pushdownDuration,omitempty"`
4494
4495	// Role: Role of the asset in relation to creative. Applicable to all
4496	// but the following creative types: all REDIRECT and TRACKING_TEXT.
4497	// This is a required field. PRIMARY applies to DISPLAY, FLASH_INPAGE,
4498	// HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may
4499	// contain multiple primary assets), and all VPAID creatives.
4500	// BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
4501	// and all VPAID creatives. Applicable to DISPLAY when the primary asset
4502	// type is not HTML_IMAGE. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply
4503	// to FLASH_INPAGE creatives. OTHER refers to assets from sources other
4504	// than Campaign Manager, such as Studio uploaded assets, applicable to
4505	// all RICH_MEDIA and all VPAID creatives. PARENT_VIDEO refers to videos
4506	// uploaded by the user in Campaign Manager and is applicable to
4507	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives. TRANSCODED_VIDEO
4508	// refers to videos transcoded by Campaign Manager from PARENT_VIDEO
4509	// assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
4510	// creatives. ALTERNATE_VIDEO refers to the Campaign Manager
4511	// representation of child asset videos from Studio, and is applicable
4512	// to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed
4513	// within Campaign Manager. For VPAID_LINEAR_VIDEO creatives,
4514	// PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are
4515	// marked active serve as backup in case the VPAID creative cannot be
4516	// served. Only PARENT_VIDEO assets can be added or removed for an
4517	// INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative. PARENT_AUDIO refers to
4518	// audios uploaded by the user in Campaign Manager and is applicable to
4519	// INSTREAM_AUDIO creatives. TRANSCODED_AUDIO refers to audios
4520	// transcoded by Campaign Manager from PARENT_AUDIO assets and is
4521	// applicable to INSTREAM_AUDIO creatives.
4522	//
4523	// Possible values:
4524	//   "PRIMARY"
4525	//   "BACKUP_IMAGE"
4526	//   "ADDITIONAL_IMAGE"
4527	//   "ADDITIONAL_FLASH"
4528	//   "PARENT_VIDEO"
4529	//   "TRANSCODED_VIDEO"
4530	//   "OTHER"
4531	//   "ALTERNATE_VIDEO"
4532	//   "PARENT_AUDIO"
4533	//   "TRANSCODED_AUDIO"
4534	Role string `json:"role,omitempty"`
4535
4536	// Size: Size associated with this creative asset. This is a required
4537	// field when applicable; however for IMAGE and FLASH_INPAGE, creatives
4538	// if left blank, this field will be automatically set using the actual
4539	// size of the associated image asset. Applicable to the following
4540	// creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER,
4541	// IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary
4542	// asset type is not HTML_IMAGE.
4543	Size *Size `json:"size,omitempty"`
4544
4545	// SslCompliant: Whether the asset is SSL-compliant. This is a read-only
4546	// field. Applicable to all but the following creative types: all
4547	// REDIRECT and TRACKING_TEXT.
4548	SslCompliant bool `json:"sslCompliant,omitempty"`
4549
4550	// StartTimeType: Initial wait time type before making the asset
4551	// visible. Applicable to the following creative types: all RICH_MEDIA.
4552	//
4553	// Possible values:
4554	//   "ASSET_START_TIME_TYPE_NONE"
4555	//   "ASSET_START_TIME_TYPE_CUSTOM"
4556	StartTimeType string `json:"startTimeType,omitempty"`
4557
4558	// StreamingServingUrl: Streaming URL for video asset. This is a
4559	// read-only field. Applicable to the following creative types:
4560	// INSTREAM_VIDEO and all VPAID.
4561	StreamingServingUrl string `json:"streamingServingUrl,omitempty"`
4562
4563	// Transparency: Whether the asset is transparent. Applicable to the
4564	// following creative types: all RICH_MEDIA. Additionally, only
4565	// applicable to HTML5 assets.
4566	Transparency bool `json:"transparency,omitempty"`
4567
4568	// VerticallyLocked: Whether the asset is vertically locked. This is a
4569	// read-only field. Applicable to the following creative types: all
4570	// RICH_MEDIA.
4571	VerticallyLocked bool `json:"verticallyLocked,omitempty"`
4572
4573	// WindowMode: Window mode options for flash assets. Applicable to the
4574	// following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
4575	// RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
4576	// RICH_MEDIA_INPAGE_FLOATING.
4577	//
4578	// Possible values:
4579	//   "OPAQUE"
4580	//   "WINDOW"
4581	//   "TRANSPARENT"
4582	WindowMode string `json:"windowMode,omitempty"`
4583
4584	// ZIndex: zIndex value of an asset. Applicable to the following
4585	// creative types: all RICH_MEDIA.Additionally, only applicable to
4586	// assets whose displayType is NOT one of the following types:
4587	// ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY. Acceptable
4588	// values are -999999999 to 999999999, inclusive.
4589	ZIndex int64 `json:"zIndex,omitempty"`
4590
4591	// ZipFilename: File name of zip file. This is a read-only field.
4592	// Applicable to the following creative types: HTML5_BANNER.
4593	ZipFilename string `json:"zipFilename,omitempty"`
4594
4595	// ZipFilesize: Size of zip file. This is a read-only field. Applicable
4596	// to the following creative types: HTML5_BANNER.
4597	ZipFilesize string `json:"zipFilesize,omitempty"`
4598
4599	// ForceSendFields is a list of field names (e.g. "ActionScript3") to
4600	// unconditionally include in API requests. By default, fields with
4601	// empty values are omitted from API requests. However, any non-pointer,
4602	// non-interface field appearing in ForceSendFields will be sent to the
4603	// server regardless of whether the field is empty or not. This may be
4604	// used to include empty fields in Patch requests.
4605	ForceSendFields []string `json:"-"`
4606
4607	// NullFields is a list of field names (e.g. "ActionScript3") to include
4608	// in API requests with the JSON null value. By default, fields with
4609	// empty values are omitted from API requests. However, any field with
4610	// an empty value appearing in NullFields will be sent to the server as
4611	// null. It is an error if a field in this list has a non-empty value.
4612	// This may be used to include null fields in Patch requests.
4613	NullFields []string `json:"-"`
4614}
4615
4616func (s *CreativeAsset) MarshalJSON() ([]byte, error) {
4617	type NoMethod CreativeAsset
4618	raw := NoMethod(*s)
4619	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4620}
4621
4622func (s *CreativeAsset) UnmarshalJSON(data []byte) error {
4623	type NoMethod CreativeAsset
4624	var s1 struct {
4625		FrameRate        gensupport.JSONFloat64 `json:"frameRate"`
4626		MediaDuration    gensupport.JSONFloat64 `json:"mediaDuration"`
4627		PushdownDuration gensupport.JSONFloat64 `json:"pushdownDuration"`
4628		*NoMethod
4629	}
4630	s1.NoMethod = (*NoMethod)(s)
4631	if err := json.Unmarshal(data, &s1); err != nil {
4632		return err
4633	}
4634	s.FrameRate = float64(s1.FrameRate)
4635	s.MediaDuration = float64(s1.MediaDuration)
4636	s.PushdownDuration = float64(s1.PushdownDuration)
4637	return nil
4638}
4639
4640// CreativeAssetId: Creative Asset ID.
4641type CreativeAssetId struct {
4642	// Name: Name of the creative asset. This is a required field while
4643	// inserting an asset. After insertion, this assetIdentifier is used to
4644	// identify the uploaded asset. Characters in the name must be
4645	// alphanumeric or one of the following: ".-_ ". Spaces are allowed.
4646	Name string `json:"name,omitempty"`
4647
4648	// Type: Type of asset to upload. This is a required field. FLASH and
4649	// IMAGE are no longer supported for new uploads. All image assets
4650	// should use HTML_IMAGE.
4651	//
4652	// Possible values:
4653	//   "IMAGE"
4654	//   "FLASH"
4655	//   "VIDEO"
4656	//   "HTML"
4657	//   "HTML_IMAGE"
4658	//   "AUDIO"
4659	Type string `json:"type,omitempty"`
4660
4661	// ForceSendFields is a list of field names (e.g. "Name") to
4662	// unconditionally include in API requests. By default, fields with
4663	// empty values are omitted from API requests. However, any non-pointer,
4664	// non-interface field appearing in ForceSendFields will be sent to the
4665	// server regardless of whether the field is empty or not. This may be
4666	// used to include empty fields in Patch requests.
4667	ForceSendFields []string `json:"-"`
4668
4669	// NullFields is a list of field names (e.g. "Name") to include in API
4670	// requests with the JSON null value. By default, fields with empty
4671	// values are omitted from API requests. However, any field with an
4672	// empty value appearing in NullFields will be sent to the server as
4673	// null. It is an error if a field in this list has a non-empty value.
4674	// This may be used to include null fields in Patch requests.
4675	NullFields []string `json:"-"`
4676}
4677
4678func (s *CreativeAssetId) MarshalJSON() ([]byte, error) {
4679	type NoMethod CreativeAssetId
4680	raw := NoMethod(*s)
4681	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4682}
4683
4684// CreativeAssetMetadata: CreativeAssets contains properties of a
4685// creative asset file which will be uploaded or has already been
4686// uploaded. Refer to the creative sample code for how to upload assets
4687// and insert a creative.
4688type CreativeAssetMetadata struct {
4689	// AssetIdentifier: ID of the creative asset. This is a required field.
4690	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
4691
4692	// ClickTags: List of detected click tags for assets. This is a
4693	// read-only, auto-generated field. This field is empty for a rich media
4694	// asset.
4695	ClickTags []*ClickTag `json:"clickTags,omitempty"`
4696
4697	// DetectedFeatures: List of feature dependencies for the creative asset
4698	// that are detected by Campaign Manager. Feature dependencies are
4699	// features that a browser must be able to support in order to render
4700	// your HTML5 creative correctly. This is a read-only, auto-generated
4701	// field.
4702	//
4703	// Possible values:
4704	//   "CSS_FONT_FACE"
4705	//   "CSS_BACKGROUND_SIZE"
4706	//   "CSS_BORDER_IMAGE"
4707	//   "CSS_BORDER_RADIUS"
4708	//   "CSS_BOX_SHADOW"
4709	//   "CSS_FLEX_BOX"
4710	//   "CSS_HSLA"
4711	//   "CSS_MULTIPLE_BGS"
4712	//   "CSS_OPACITY"
4713	//   "CSS_RGBA"
4714	//   "CSS_TEXT_SHADOW"
4715	//   "CSS_ANIMATIONS"
4716	//   "CSS_COLUMNS"
4717	//   "CSS_GENERATED_CONTENT"
4718	//   "CSS_GRADIENTS"
4719	//   "CSS_REFLECTIONS"
4720	//   "CSS_TRANSFORMS"
4721	//   "CSS_TRANSFORMS3D"
4722	//   "CSS_TRANSITIONS"
4723	//   "APPLICATION_CACHE"
4724	//   "CANVAS"
4725	//   "CANVAS_TEXT"
4726	//   "DRAG_AND_DROP"
4727	//   "HASH_CHANGE"
4728	//   "HISTORY"
4729	//   "AUDIO"
4730	//   "VIDEO"
4731	//   "INDEXED_DB"
4732	//   "INPUT_ATTR_AUTOCOMPLETE"
4733	//   "INPUT_ATTR_AUTOFOCUS"
4734	//   "INPUT_ATTR_LIST"
4735	//   "INPUT_ATTR_PLACEHOLDER"
4736	//   "INPUT_ATTR_MAX"
4737	//   "INPUT_ATTR_MIN"
4738	//   "INPUT_ATTR_MULTIPLE"
4739	//   "INPUT_ATTR_PATTERN"
4740	//   "INPUT_ATTR_REQUIRED"
4741	//   "INPUT_ATTR_STEP"
4742	//   "INPUT_TYPE_SEARCH"
4743	//   "INPUT_TYPE_TEL"
4744	//   "INPUT_TYPE_URL"
4745	//   "INPUT_TYPE_EMAIL"
4746	//   "INPUT_TYPE_DATETIME"
4747	//   "INPUT_TYPE_DATE"
4748	//   "INPUT_TYPE_MONTH"
4749	//   "INPUT_TYPE_WEEK"
4750	//   "INPUT_TYPE_TIME"
4751	//   "INPUT_TYPE_DATETIME_LOCAL"
4752	//   "INPUT_TYPE_NUMBER"
4753	//   "INPUT_TYPE_RANGE"
4754	//   "INPUT_TYPE_COLOR"
4755	//   "LOCAL_STORAGE"
4756	//   "POST_MESSAGE"
4757	//   "SESSION_STORAGE"
4758	//   "WEB_SOCKETS"
4759	//   "WEB_SQL_DATABASE"
4760	//   "WEB_WORKERS"
4761	//   "GEO_LOCATION"
4762	//   "INLINE_SVG"
4763	//   "SMIL"
4764	//   "SVG_HREF"
4765	//   "SVG_CLIP_PATHS"
4766	//   "TOUCH"
4767	//   "WEBGL"
4768	//   "SVG_FILTERS"
4769	//   "SVG_FE_IMAGE"
4770	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
4771
4772	// Id: Numeric ID of the asset. This is a read-only, auto-generated
4773	// field.
4774	Id int64 `json:"id,omitempty,string"`
4775
4776	// IdDimensionValue: Dimension value for the numeric ID of the asset.
4777	// This is a read-only, auto-generated field.
4778	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
4779
4780	// Kind: Identifies what kind of resource this is. Value: the fixed
4781	// string "dfareporting#creativeAssetMetadata".
4782	Kind string `json:"kind,omitempty"`
4783
4784	// WarnedValidationRules: Rules validated during code generation that
4785	// generated a warning. This is a read-only, auto-generated field.
4786	// Possible values are: - "ADMOB_REFERENCED" -
4787	// "ASSET_FORMAT_UNSUPPORTED_DCM" - "ASSET_INVALID" -
4788	// "CLICK_TAG_HARD_CODED" - "CLICK_TAG_INVALID" - "CLICK_TAG_IN_GWD" -
4789	// "CLICK_TAG_MISSING" - "CLICK_TAG_MORE_THAN_ONE" -
4790	// "CLICK_TAG_NON_TOP_LEVEL" - "COMPONENT_UNSUPPORTED_DCM" -
4791	// "ENABLER_UNSUPPORTED_METHOD_DCM" - "EXTERNAL_FILE_REFERENCED" -
4792	// "FILE_DETAIL_EMPTY" - "FILE_TYPE_INVALID" - "GWD_PROPERTIES_INVALID"
4793	// - "HTML5_FEATURE_UNSUPPORTED" - "LINKED_FILE_NOT_FOUND" -
4794	// "MAX_FLASH_VERSION_11" - "MRAID_REFERENCED" - "NOT_SSL_COMPLIANT" -
4795	// "ORPHANED_ASSET" - "PRIMARY_HTML_MISSING" - "SVG_INVALID" -
4796	// "ZIP_INVALID"
4797	//
4798	// Possible values:
4799	//   "CLICK_TAG_NON_TOP_LEVEL"
4800	//   "CLICK_TAG_MISSING"
4801	//   "CLICK_TAG_MORE_THAN_ONE"
4802	//   "CLICK_TAG_INVALID"
4803	//   "ORPHANED_ASSET"
4804	//   "PRIMARY_HTML_MISSING"
4805	//   "EXTERNAL_FILE_REFERENCED"
4806	//   "MRAID_REFERENCED"
4807	//   "ADMOB_REFERENCED"
4808	//   "FILE_TYPE_INVALID"
4809	//   "ZIP_INVALID"
4810	//   "LINKED_FILE_NOT_FOUND"
4811	//   "MAX_FLASH_VERSION_11"
4812	//   "NOT_SSL_COMPLIANT"
4813	//   "FILE_DETAIL_EMPTY"
4814	//   "ASSET_INVALID"
4815	//   "GWD_PROPERTIES_INVALID"
4816	//   "ENABLER_UNSUPPORTED_METHOD_DCM"
4817	//   "ASSET_FORMAT_UNSUPPORTED_DCM"
4818	//   "COMPONENT_UNSUPPORTED_DCM"
4819	//   "HTML5_FEATURE_UNSUPPORTED"
4820	//   "CLICK_TAG_IN_GWD"
4821	//   "CLICK_TAG_HARD_CODED"
4822	//   "SVG_INVALID"
4823	WarnedValidationRules []string `json:"warnedValidationRules,omitempty"`
4824
4825	// ServerResponse contains the HTTP response code and headers from the
4826	// server.
4827	googleapi.ServerResponse `json:"-"`
4828
4829	// ForceSendFields is a list of field names (e.g. "AssetIdentifier") to
4830	// unconditionally include in API requests. By default, fields with
4831	// empty values are omitted from API requests. However, any non-pointer,
4832	// non-interface field appearing in ForceSendFields will be sent to the
4833	// server regardless of whether the field is empty or not. This may be
4834	// used to include empty fields in Patch requests.
4835	ForceSendFields []string `json:"-"`
4836
4837	// NullFields is a list of field names (e.g. "AssetIdentifier") to
4838	// include in API requests with the JSON null value. By default, fields
4839	// with empty values are omitted from API requests. However, any field
4840	// with an empty value appearing in NullFields will be sent to the
4841	// server as null. It is an error if a field in this list has a
4842	// non-empty value. This may be used to include null fields in Patch
4843	// requests.
4844	NullFields []string `json:"-"`
4845}
4846
4847func (s *CreativeAssetMetadata) MarshalJSON() ([]byte, error) {
4848	type NoMethod CreativeAssetMetadata
4849	raw := NoMethod(*s)
4850	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4851}
4852
4853// CreativeAssetSelection: Encapsulates the list of rules for asset
4854// selection and a default asset in case none of the rules match.
4855// Applicable to INSTREAM_VIDEO creatives.
4856type CreativeAssetSelection struct {
4857	// DefaultAssetId: A creativeAssets[].id. This should refer to one of
4858	// the parent assets in this creative, and will be served if none of the
4859	// rules match. This is a required field.
4860	DefaultAssetId int64 `json:"defaultAssetId,omitempty,string"`
4861
4862	// Rules: Rules determine which asset will be served to a viewer. Rules
4863	// will be evaluated in the order in which they are stored in this list.
4864	// This list must contain at least one rule. Applicable to
4865	// INSTREAM_VIDEO creatives.
4866	Rules []*Rule `json:"rules,omitempty"`
4867
4868	// ForceSendFields is a list of field names (e.g. "DefaultAssetId") to
4869	// unconditionally include in API requests. By default, fields with
4870	// empty values are omitted from API requests. However, any non-pointer,
4871	// non-interface field appearing in ForceSendFields will be sent to the
4872	// server regardless of whether the field is empty or not. This may be
4873	// used to include empty fields in Patch requests.
4874	ForceSendFields []string `json:"-"`
4875
4876	// NullFields is a list of field names (e.g. "DefaultAssetId") to
4877	// include in API requests with the JSON null value. By default, fields
4878	// with empty values are omitted from API requests. However, any field
4879	// with an empty value appearing in NullFields will be sent to the
4880	// server as null. It is an error if a field in this list has a
4881	// non-empty value. This may be used to include null fields in Patch
4882	// requests.
4883	NullFields []string `json:"-"`
4884}
4885
4886func (s *CreativeAssetSelection) MarshalJSON() ([]byte, error) {
4887	type NoMethod CreativeAssetSelection
4888	raw := NoMethod(*s)
4889	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4890}
4891
4892// CreativeAssignment: Creative Assignment.
4893type CreativeAssignment struct {
4894	// Active: Whether this creative assignment is active. When true, the
4895	// creative will be included in the ad's rotation.
4896	Active bool `json:"active,omitempty"`
4897
4898	// ApplyEventTags: Whether applicable event tags should fire when this
4899	// creative assignment is rendered. If this value is unset when the ad
4900	// is inserted or updated, it will default to true for all creative
4901	// types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT,
4902	// and INSTREAM_VIDEO.
4903	ApplyEventTags bool `json:"applyEventTags,omitempty"`
4904
4905	// ClickThroughUrl: Click-through URL of the creative assignment.
4906	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
4907
4908	// CompanionCreativeOverrides: Companion creative overrides for this
4909	// creative assignment. Applicable to video ads.
4910	CompanionCreativeOverrides []*CompanionClickThroughOverride `json:"companionCreativeOverrides,omitempty"`
4911
4912	// CreativeGroupAssignments: Creative group assignments for this
4913	// creative assignment. Only one assignment per creative group number is
4914	// allowed for a maximum of two assignments.
4915	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
4916
4917	// CreativeId: ID of the creative to be assigned. This is a required
4918	// field.
4919	CreativeId int64 `json:"creativeId,omitempty,string"`
4920
4921	// CreativeIdDimensionValue: Dimension value for the ID of the creative.
4922	// This is a read-only, auto-generated field.
4923	CreativeIdDimensionValue *DimensionValue `json:"creativeIdDimensionValue,omitempty"`
4924
4925	EndTime string `json:"endTime,omitempty"`
4926
4927	// RichMediaExitOverrides: Rich media exit overrides for this creative
4928	// assignment. Applicable when the creative type is any of the
4929	// following: - DISPLAY - RICH_MEDIA_INPAGE - RICH_MEDIA_INPAGE_FLOATING
4930	// - RICH_MEDIA_IM_EXPAND - RICH_MEDIA_EXPANDING -
4931	// RICH_MEDIA_INTERSTITIAL_FLOAT - RICH_MEDIA_MOBILE_IN_APP -
4932	// RICH_MEDIA_MULTI_FLOATING - RICH_MEDIA_PEEL_DOWN - VPAID_LINEAR -
4933	// VPAID_NON_LINEAR
4934	RichMediaExitOverrides []*RichMediaExitOverride `json:"richMediaExitOverrides,omitempty"`
4935
4936	// Sequence: Sequence number of the creative assignment, applicable when
4937	// the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable
4938	// values are 1 to 65535, inclusive.
4939	Sequence int64 `json:"sequence,omitempty"`
4940
4941	// SslCompliant: Whether the creative to be assigned is SSL-compliant.
4942	// This is a read-only field that is auto-generated when the ad is
4943	// inserted or updated.
4944	SslCompliant bool `json:"sslCompliant,omitempty"`
4945
4946	StartTime string `json:"startTime,omitempty"`
4947
4948	// Weight: Weight of the creative assignment, applicable when the
4949	// rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater
4950	// than or equal to 1.
4951	Weight int64 `json:"weight,omitempty"`
4952
4953	// ForceSendFields is a list of field names (e.g. "Active") to
4954	// unconditionally include in API requests. By default, fields with
4955	// empty values are omitted from API requests. However, any non-pointer,
4956	// non-interface field appearing in ForceSendFields will be sent to the
4957	// server regardless of whether the field is empty or not. This may be
4958	// used to include empty fields in Patch requests.
4959	ForceSendFields []string `json:"-"`
4960
4961	// NullFields is a list of field names (e.g. "Active") to include in API
4962	// requests with the JSON null value. By default, fields with empty
4963	// values are omitted from API requests. However, any field with an
4964	// empty value appearing in NullFields will be sent to the server as
4965	// null. It is an error if a field in this list has a non-empty value.
4966	// This may be used to include null fields in Patch requests.
4967	NullFields []string `json:"-"`
4968}
4969
4970func (s *CreativeAssignment) MarshalJSON() ([]byte, error) {
4971	type NoMethod CreativeAssignment
4972	raw := NoMethod(*s)
4973	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4974}
4975
4976// CreativeClickThroughUrl: Click-through URL
4977type CreativeClickThroughUrl struct {
4978	// ComputedClickThroughUrl: Read-only convenience field representing the
4979	// actual URL that will be used for this click-through. The URL is
4980	// computed as follows: - If landingPageId is specified then that
4981	// landing page's URL is assigned to this field. - Otherwise, the
4982	// customClickThroughUrl is assigned to this field.
4983	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
4984
4985	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
4986	// landingPageId field is left unset.
4987	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
4988
4989	// LandingPageId: ID of the landing page for the click-through URL.
4990	LandingPageId int64 `json:"landingPageId,omitempty,string"`
4991
4992	// ForceSendFields is a list of field names (e.g.
4993	// "ComputedClickThroughUrl") to unconditionally include in API
4994	// requests. By default, fields with empty values are omitted from API
4995	// requests. However, any non-pointer, non-interface field appearing in
4996	// ForceSendFields will be sent to the server regardless of whether the
4997	// field is empty or not. This may be used to include empty fields in
4998	// Patch requests.
4999	ForceSendFields []string `json:"-"`
5000
5001	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
5002	// to include in API requests with the JSON null value. By default,
5003	// fields with empty values are omitted from API requests. However, any
5004	// field with an empty value appearing in NullFields will be sent to the
5005	// server as null. It is an error if a field in this list has a
5006	// non-empty value. This may be used to include null fields in Patch
5007	// requests.
5008	NullFields []string `json:"-"`
5009}
5010
5011func (s *CreativeClickThroughUrl) MarshalJSON() ([]byte, error) {
5012	type NoMethod CreativeClickThroughUrl
5013	raw := NoMethod(*s)
5014	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5015}
5016
5017// CreativeCustomEvent: Creative Custom Event.
5018type CreativeCustomEvent struct {
5019	// AdvertiserCustomEventId: Unique ID of this event used by Reporting
5020	// and Data Transfer. This is a read-only field.
5021	AdvertiserCustomEventId int64 `json:"advertiserCustomEventId,omitempty,string"`
5022
5023	// AdvertiserCustomEventName: User-entered name for the event.
5024	AdvertiserCustomEventName string `json:"advertiserCustomEventName,omitempty"`
5025
5026	// AdvertiserCustomEventType: Type of the event. This is a read-only
5027	// field.
5028	//
5029	// Possible values:
5030	//   "ADVERTISER_EVENT_TIMER"
5031	//   "ADVERTISER_EVENT_EXIT"
5032	//   "ADVERTISER_EVENT_COUNTER"
5033	AdvertiserCustomEventType string `json:"advertiserCustomEventType,omitempty"`
5034
5035	// ArtworkLabel: Artwork label column, used to link events in Campaign
5036	// Manager back to events in Studio. This is a required field and should
5037	// not be modified after insertion.
5038	ArtworkLabel string `json:"artworkLabel,omitempty"`
5039
5040	// ArtworkType: Artwork type used by the creative.This is a read-only
5041	// field.
5042	//
5043	// Possible values:
5044	//   "ARTWORK_TYPE_FLASH"
5045	//   "ARTWORK_TYPE_HTML5"
5046	//   "ARTWORK_TYPE_MIXED"
5047	//   "ARTWORK_TYPE_IMAGE"
5048	ArtworkType string `json:"artworkType,omitempty"`
5049
5050	// ExitClickThroughUrl: Exit click-through URL for the event. This field
5051	// is used only for exit events.
5052	ExitClickThroughUrl *CreativeClickThroughUrl `json:"exitClickThroughUrl,omitempty"`
5053
5054	// Id: ID of this event. This is a required field and should not be
5055	// modified after insertion.
5056	Id int64 `json:"id,omitempty,string"`
5057
5058	// PopupWindowProperties: Properties for rich media popup windows. This
5059	// field is used only for exit events.
5060	PopupWindowProperties *PopupWindowProperties `json:"popupWindowProperties,omitempty"`
5061
5062	// TargetType: Target type used by the event.
5063	//
5064	// Possible values:
5065	//   "TARGET_BLANK"
5066	//   "TARGET_TOP"
5067	//   "TARGET_SELF"
5068	//   "TARGET_PARENT"
5069	//   "TARGET_POPUP"
5070	TargetType string `json:"targetType,omitempty"`
5071
5072	// VideoReportingId: Video reporting ID, used to differentiate multiple
5073	// videos in a single creative. This is a read-only field.
5074	VideoReportingId string `json:"videoReportingId,omitempty"`
5075
5076	// ForceSendFields is a list of field names (e.g.
5077	// "AdvertiserCustomEventId") to unconditionally include in API
5078	// requests. By default, fields with empty values are omitted from API
5079	// requests. However, any non-pointer, non-interface field appearing in
5080	// ForceSendFields will be sent to the server regardless of whether the
5081	// field is empty or not. This may be used to include empty fields in
5082	// Patch requests.
5083	ForceSendFields []string `json:"-"`
5084
5085	// NullFields is a list of field names (e.g. "AdvertiserCustomEventId")
5086	// to include in API requests with the JSON null value. By default,
5087	// fields with empty values are omitted from API requests. However, any
5088	// field with an empty value appearing in NullFields will be sent to the
5089	// server as null. It is an error if a field in this list has a
5090	// non-empty value. This may be used to include null fields in Patch
5091	// requests.
5092	NullFields []string `json:"-"`
5093}
5094
5095func (s *CreativeCustomEvent) MarshalJSON() ([]byte, error) {
5096	type NoMethod CreativeCustomEvent
5097	raw := NoMethod(*s)
5098	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5099}
5100
5101// CreativeField: Contains properties of a creative field.
5102type CreativeField struct {
5103	// AccountId: Account ID of this creative field. This is a read-only
5104	// field that can be left blank.
5105	AccountId int64 `json:"accountId,omitempty,string"`
5106
5107	// AdvertiserId: Advertiser ID of this creative field. This is a
5108	// required field on insertion.
5109	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5110
5111	// AdvertiserIdDimensionValue: Dimension value for the ID of the
5112	// advertiser. This is a read-only, auto-generated field.
5113	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
5114
5115	// Id: ID of this creative field. This is a read-only, auto-generated
5116	// field.
5117	Id int64 `json:"id,omitempty,string"`
5118
5119	// Kind: Identifies what kind of resource this is. Value: the fixed
5120	// string "dfareporting#creativeField".
5121	Kind string `json:"kind,omitempty"`
5122
5123	// Name: Name of this creative field. This is a required field and must
5124	// be less than 256 characters long and unique among creative fields of
5125	// the same advertiser.
5126	Name string `json:"name,omitempty"`
5127
5128	// SubaccountId: Subaccount ID of this creative field. This is a
5129	// read-only field that can be left blank.
5130	SubaccountId int64 `json:"subaccountId,omitempty,string"`
5131
5132	// ServerResponse contains the HTTP response code and headers from the
5133	// server.
5134	googleapi.ServerResponse `json:"-"`
5135
5136	// ForceSendFields is a list of field names (e.g. "AccountId") to
5137	// unconditionally include in API requests. By default, fields with
5138	// empty values are omitted from API requests. However, any non-pointer,
5139	// non-interface field appearing in ForceSendFields will be sent to the
5140	// server regardless of whether the field is empty or not. This may be
5141	// used to include empty fields in Patch requests.
5142	ForceSendFields []string `json:"-"`
5143
5144	// NullFields is a list of field names (e.g. "AccountId") to include in
5145	// API requests with the JSON null value. By default, fields with empty
5146	// values are omitted from API requests. However, any field with an
5147	// empty value appearing in NullFields will be sent to the server as
5148	// null. It is an error if a field in this list has a non-empty value.
5149	// This may be used to include null fields in Patch requests.
5150	NullFields []string `json:"-"`
5151}
5152
5153func (s *CreativeField) MarshalJSON() ([]byte, error) {
5154	type NoMethod CreativeField
5155	raw := NoMethod(*s)
5156	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5157}
5158
5159// CreativeFieldAssignment: Creative Field Assignment.
5160type CreativeFieldAssignment struct {
5161	// CreativeFieldId: ID of the creative field.
5162	CreativeFieldId int64 `json:"creativeFieldId,omitempty,string"`
5163
5164	// CreativeFieldValueId: ID of the creative field value.
5165	CreativeFieldValueId int64 `json:"creativeFieldValueId,omitempty,string"`
5166
5167	// ForceSendFields is a list of field names (e.g. "CreativeFieldId") to
5168	// unconditionally include in API requests. By default, fields with
5169	// empty values are omitted from API requests. However, any non-pointer,
5170	// non-interface field appearing in ForceSendFields will be sent to the
5171	// server regardless of whether the field is empty or not. This may be
5172	// used to include empty fields in Patch requests.
5173	ForceSendFields []string `json:"-"`
5174
5175	// NullFields is a list of field names (e.g. "CreativeFieldId") to
5176	// include in API requests with the JSON null value. By default, fields
5177	// with empty values are omitted from API requests. However, any field
5178	// with an empty value appearing in NullFields will be sent to the
5179	// server as null. It is an error if a field in this list has a
5180	// non-empty value. This may be used to include null fields in Patch
5181	// requests.
5182	NullFields []string `json:"-"`
5183}
5184
5185func (s *CreativeFieldAssignment) MarshalJSON() ([]byte, error) {
5186	type NoMethod CreativeFieldAssignment
5187	raw := NoMethod(*s)
5188	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5189}
5190
5191// CreativeFieldValue: Contains properties of a creative field value.
5192type CreativeFieldValue struct {
5193	// Id: ID of this creative field value. This is a read-only,
5194	// auto-generated field.
5195	Id int64 `json:"id,omitempty,string"`
5196
5197	// Kind: Identifies what kind of resource this is. Value: the fixed
5198	// string "dfareporting#creativeFieldValue".
5199	Kind string `json:"kind,omitempty"`
5200
5201	// Value: Value of this creative field value. It needs to be less than
5202	// 256 characters in length and unique per creative field.
5203	Value string `json:"value,omitempty"`
5204
5205	// ServerResponse contains the HTTP response code and headers from the
5206	// server.
5207	googleapi.ServerResponse `json:"-"`
5208
5209	// ForceSendFields is a list of field names (e.g. "Id") to
5210	// unconditionally include in API requests. By default, fields with
5211	// empty values are omitted from API requests. However, any non-pointer,
5212	// non-interface field appearing in ForceSendFields will be sent to the
5213	// server regardless of whether the field is empty or not. This may be
5214	// used to include empty fields in Patch requests.
5215	ForceSendFields []string `json:"-"`
5216
5217	// NullFields is a list of field names (e.g. "Id") to include in API
5218	// requests with the JSON null value. By default, fields with empty
5219	// values are omitted from API requests. However, any field with an
5220	// empty value appearing in NullFields will be sent to the server as
5221	// null. It is an error if a field in this list has a non-empty value.
5222	// This may be used to include null fields in Patch requests.
5223	NullFields []string `json:"-"`
5224}
5225
5226func (s *CreativeFieldValue) MarshalJSON() ([]byte, error) {
5227	type NoMethod CreativeFieldValue
5228	raw := NoMethod(*s)
5229	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5230}
5231
5232// CreativeFieldValuesListResponse: Creative Field Value List Response
5233type CreativeFieldValuesListResponse struct {
5234	// CreativeFieldValues: Creative field value collection.
5235	CreativeFieldValues []*CreativeFieldValue `json:"creativeFieldValues,omitempty"`
5236
5237	// Kind: Identifies what kind of resource this is. Value: the fixed
5238	// string "dfareporting#creativeFieldValuesListResponse".
5239	Kind string `json:"kind,omitempty"`
5240
5241	// NextPageToken: Pagination token to be used for the next list
5242	// operation.
5243	NextPageToken string `json:"nextPageToken,omitempty"`
5244
5245	// ServerResponse contains the HTTP response code and headers from the
5246	// server.
5247	googleapi.ServerResponse `json:"-"`
5248
5249	// ForceSendFields is a list of field names (e.g. "CreativeFieldValues")
5250	// to unconditionally include in API requests. By default, fields with
5251	// empty values are omitted from API requests. However, any non-pointer,
5252	// non-interface field appearing in ForceSendFields will be sent to the
5253	// server regardless of whether the field is empty or not. This may be
5254	// used to include empty fields in Patch requests.
5255	ForceSendFields []string `json:"-"`
5256
5257	// NullFields is a list of field names (e.g. "CreativeFieldValues") to
5258	// include in API requests with the JSON null value. By default, fields
5259	// with empty values are omitted from API requests. However, any field
5260	// with an empty value appearing in NullFields will be sent to the
5261	// server as null. It is an error if a field in this list has a
5262	// non-empty value. This may be used to include null fields in Patch
5263	// requests.
5264	NullFields []string `json:"-"`
5265}
5266
5267func (s *CreativeFieldValuesListResponse) MarshalJSON() ([]byte, error) {
5268	type NoMethod CreativeFieldValuesListResponse
5269	raw := NoMethod(*s)
5270	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5271}
5272
5273// CreativeFieldsListResponse: Creative Field List Response
5274type CreativeFieldsListResponse struct {
5275	// CreativeFields: Creative field collection.
5276	CreativeFields []*CreativeField `json:"creativeFields,omitempty"`
5277
5278	// Kind: Identifies what kind of resource this is. Value: the fixed
5279	// string "dfareporting#creativeFieldsListResponse".
5280	Kind string `json:"kind,omitempty"`
5281
5282	// NextPageToken: Pagination token to be used for the next list
5283	// operation.
5284	NextPageToken string `json:"nextPageToken,omitempty"`
5285
5286	// ServerResponse contains the HTTP response code and headers from the
5287	// server.
5288	googleapi.ServerResponse `json:"-"`
5289
5290	// ForceSendFields is a list of field names (e.g. "CreativeFields") to
5291	// unconditionally include in API requests. By default, fields with
5292	// empty values are omitted from API requests. However, any non-pointer,
5293	// non-interface field appearing in ForceSendFields will be sent to the
5294	// server regardless of whether the field is empty or not. This may be
5295	// used to include empty fields in Patch requests.
5296	ForceSendFields []string `json:"-"`
5297
5298	// NullFields is a list of field names (e.g. "CreativeFields") to
5299	// include in API requests with the JSON null value. By default, fields
5300	// with empty values are omitted from API requests. However, any field
5301	// with an empty value appearing in NullFields will be sent to the
5302	// server as null. It is an error if a field in this list has a
5303	// non-empty value. This may be used to include null fields in Patch
5304	// requests.
5305	NullFields []string `json:"-"`
5306}
5307
5308func (s *CreativeFieldsListResponse) MarshalJSON() ([]byte, error) {
5309	type NoMethod CreativeFieldsListResponse
5310	raw := NoMethod(*s)
5311	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5312}
5313
5314// CreativeGroup: Contains properties of a creative group.
5315type CreativeGroup struct {
5316	// AccountId: Account ID of this creative group. This is a read-only
5317	// field that can be left blank.
5318	AccountId int64 `json:"accountId,omitempty,string"`
5319
5320	// AdvertiserId: Advertiser ID of this creative group. This is a
5321	// required field on insertion.
5322	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5323
5324	// AdvertiserIdDimensionValue: Dimension value for the ID of the
5325	// advertiser. This is a read-only, auto-generated field.
5326	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
5327
5328	// GroupNumber: Subgroup of the creative group. Assign your creative
5329	// groups to a subgroup in order to filter or manage them more easily.
5330	// This field is required on insertion and is read-only after insertion.
5331	// Acceptable values are 1 to 2, inclusive.
5332	GroupNumber int64 `json:"groupNumber,omitempty"`
5333
5334	// Id: ID of this creative group. This is a read-only, auto-generated
5335	// field.
5336	Id int64 `json:"id,omitempty,string"`
5337
5338	// Kind: Identifies what kind of resource this is. Value: the fixed
5339	// string "dfareporting#creativeGroup".
5340	Kind string `json:"kind,omitempty"`
5341
5342	// Name: Name of this creative group. This is a required field and must
5343	// be less than 256 characters long and unique among creative groups of
5344	// the same advertiser.
5345	Name string `json:"name,omitempty"`
5346
5347	// SubaccountId: Subaccount ID of this creative group. This is a
5348	// read-only field that can be left blank.
5349	SubaccountId int64 `json:"subaccountId,omitempty,string"`
5350
5351	// ServerResponse contains the HTTP response code and headers from the
5352	// server.
5353	googleapi.ServerResponse `json:"-"`
5354
5355	// ForceSendFields is a list of field names (e.g. "AccountId") to
5356	// unconditionally include in API requests. By default, fields with
5357	// empty values are omitted from API requests. However, any non-pointer,
5358	// non-interface field appearing in ForceSendFields will be sent to the
5359	// server regardless of whether the field is empty or not. This may be
5360	// used to include empty fields in Patch requests.
5361	ForceSendFields []string `json:"-"`
5362
5363	// NullFields is a list of field names (e.g. "AccountId") to include in
5364	// API requests with the JSON null value. By default, fields with empty
5365	// values are omitted from API requests. However, any field with an
5366	// empty value appearing in NullFields will be sent to the server as
5367	// null. It is an error if a field in this list has a non-empty value.
5368	// This may be used to include null fields in Patch requests.
5369	NullFields []string `json:"-"`
5370}
5371
5372func (s *CreativeGroup) MarshalJSON() ([]byte, error) {
5373	type NoMethod CreativeGroup
5374	raw := NoMethod(*s)
5375	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5376}
5377
5378// CreativeGroupAssignment: Creative Group Assignment.
5379type CreativeGroupAssignment struct {
5380	// CreativeGroupId: ID of the creative group to be assigned.
5381	CreativeGroupId int64 `json:"creativeGroupId,omitempty,string"`
5382
5383	// CreativeGroupNumber: Creative group number of the creative group
5384	// assignment.
5385	//
5386	// Possible values:
5387	//   "CREATIVE_GROUP_ONE"
5388	//   "CREATIVE_GROUP_TWO"
5389	CreativeGroupNumber string `json:"creativeGroupNumber,omitempty"`
5390
5391	// ForceSendFields is a list of field names (e.g. "CreativeGroupId") to
5392	// unconditionally include in API requests. By default, fields with
5393	// empty values are omitted from API requests. However, any non-pointer,
5394	// non-interface field appearing in ForceSendFields will be sent to the
5395	// server regardless of whether the field is empty or not. This may be
5396	// used to include empty fields in Patch requests.
5397	ForceSendFields []string `json:"-"`
5398
5399	// NullFields is a list of field names (e.g. "CreativeGroupId") to
5400	// include in API requests with the JSON null value. By default, fields
5401	// with empty values are omitted from API requests. However, any field
5402	// with an empty value appearing in NullFields will be sent to the
5403	// server as null. It is an error if a field in this list has a
5404	// non-empty value. This may be used to include null fields in Patch
5405	// requests.
5406	NullFields []string `json:"-"`
5407}
5408
5409func (s *CreativeGroupAssignment) MarshalJSON() ([]byte, error) {
5410	type NoMethod CreativeGroupAssignment
5411	raw := NoMethod(*s)
5412	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5413}
5414
5415// CreativeGroupsListResponse: Creative Group List Response
5416type CreativeGroupsListResponse struct {
5417	// CreativeGroups: Creative group collection.
5418	CreativeGroups []*CreativeGroup `json:"creativeGroups,omitempty"`
5419
5420	// Kind: Identifies what kind of resource this is. Value: the fixed
5421	// string "dfareporting#creativeGroupsListResponse".
5422	Kind string `json:"kind,omitempty"`
5423
5424	// NextPageToken: Pagination token to be used for the next list
5425	// operation.
5426	NextPageToken string `json:"nextPageToken,omitempty"`
5427
5428	// ServerResponse contains the HTTP response code and headers from the
5429	// server.
5430	googleapi.ServerResponse `json:"-"`
5431
5432	// ForceSendFields is a list of field names (e.g. "CreativeGroups") to
5433	// unconditionally include in API requests. By default, fields with
5434	// empty values are omitted from API requests. However, any non-pointer,
5435	// non-interface field appearing in ForceSendFields will be sent to the
5436	// server regardless of whether the field is empty or not. This may be
5437	// used to include empty fields in Patch requests.
5438	ForceSendFields []string `json:"-"`
5439
5440	// NullFields is a list of field names (e.g. "CreativeGroups") to
5441	// include in API requests with the JSON null value. By default, fields
5442	// with empty values are omitted from API requests. However, any field
5443	// with an empty value appearing in NullFields will be sent to the
5444	// server as null. It is an error if a field in this list has a
5445	// non-empty value. This may be used to include null fields in Patch
5446	// requests.
5447	NullFields []string `json:"-"`
5448}
5449
5450func (s *CreativeGroupsListResponse) MarshalJSON() ([]byte, error) {
5451	type NoMethod CreativeGroupsListResponse
5452	raw := NoMethod(*s)
5453	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5454}
5455
5456// CreativeOptimizationConfiguration: Creative optimization settings.
5457type CreativeOptimizationConfiguration struct {
5458	// Id: ID of this creative optimization config. This field is
5459	// auto-generated when the campaign is inserted or updated. It can be
5460	// null for existing campaigns.
5461	Id int64 `json:"id,omitempty,string"`
5462
5463	// Name: Name of this creative optimization config. This is a required
5464	// field and must be less than 129 characters long.
5465	Name string `json:"name,omitempty"`
5466
5467	// OptimizationActivitys: List of optimization activities associated
5468	// with this configuration.
5469	OptimizationActivitys []*OptimizationActivity `json:"optimizationActivitys,omitempty"`
5470
5471	// OptimizationModel: Optimization model for this configuration.
5472	//
5473	// Possible values:
5474	//   "CLICK"
5475	//   "POST_CLICK"
5476	//   "POST_IMPRESSION"
5477	//   "POST_CLICK_AND_IMPRESSION"
5478	//   "VIDEO_COMPLETION"
5479	OptimizationModel string `json:"optimizationModel,omitempty"`
5480
5481	// ForceSendFields is a list of field names (e.g. "Id") to
5482	// unconditionally include in API requests. By default, fields with
5483	// empty values are omitted from API requests. However, any non-pointer,
5484	// non-interface field appearing in ForceSendFields will be sent to the
5485	// server regardless of whether the field is empty or not. This may be
5486	// used to include empty fields in Patch requests.
5487	ForceSendFields []string `json:"-"`
5488
5489	// NullFields is a list of field names (e.g. "Id") to include in API
5490	// requests with the JSON null value. By default, fields with empty
5491	// values are omitted from API requests. However, any field with an
5492	// empty value appearing in NullFields will be sent to the server as
5493	// null. It is an error if a field in this list has a non-empty value.
5494	// This may be used to include null fields in Patch requests.
5495	NullFields []string `json:"-"`
5496}
5497
5498func (s *CreativeOptimizationConfiguration) MarshalJSON() ([]byte, error) {
5499	type NoMethod CreativeOptimizationConfiguration
5500	raw := NoMethod(*s)
5501	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5502}
5503
5504// CreativeRotation: Creative Rotation.
5505type CreativeRotation struct {
5506	// CreativeAssignments: Creative assignments in this creative rotation.
5507	CreativeAssignments []*CreativeAssignment `json:"creativeAssignments,omitempty"`
5508
5509	// CreativeOptimizationConfigurationId: Creative optimization
5510	// configuration that is used by this ad. It should refer to one of the
5511	// existing optimization configurations in the ad's campaign. If it is
5512	// unset or set to 0, then the campaign's default optimization
5513	// configuration will be used for this ad.
5514	CreativeOptimizationConfigurationId int64 `json:"creativeOptimizationConfigurationId,omitempty,string"`
5515
5516	// Type: Type of creative rotation. Can be used to specify whether to
5517	// use sequential or random rotation.
5518	//
5519	// Possible values:
5520	//   "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
5521	//   "CREATIVE_ROTATION_TYPE_RANDOM"
5522	Type string `json:"type,omitempty"`
5523
5524	// WeightCalculationStrategy: Strategy for calculating weights. Used
5525	// with CREATIVE_ROTATION_TYPE_RANDOM.
5526	//
5527	// Possible values:
5528	//   "WEIGHT_STRATEGY_EQUAL"
5529	//   "WEIGHT_STRATEGY_CUSTOM"
5530	//   "WEIGHT_STRATEGY_HIGHEST_CTR"
5531	//   "WEIGHT_STRATEGY_OPTIMIZED"
5532	WeightCalculationStrategy string `json:"weightCalculationStrategy,omitempty"`
5533
5534	// ForceSendFields is a list of field names (e.g. "CreativeAssignments")
5535	// to unconditionally include in API requests. By default, fields with
5536	// empty values are omitted from API requests. However, any non-pointer,
5537	// non-interface field appearing in ForceSendFields will be sent to the
5538	// server regardless of whether the field is empty or not. This may be
5539	// used to include empty fields in Patch requests.
5540	ForceSendFields []string `json:"-"`
5541
5542	// NullFields is a list of field names (e.g. "CreativeAssignments") to
5543	// include in API requests with the JSON null value. By default, fields
5544	// with empty values are omitted from API requests. However, any field
5545	// with an empty value appearing in NullFields will be sent to the
5546	// server as null. It is an error if a field in this list has a
5547	// non-empty value. This may be used to include null fields in Patch
5548	// requests.
5549	NullFields []string `json:"-"`
5550}
5551
5552func (s *CreativeRotation) MarshalJSON() ([]byte, error) {
5553	type NoMethod CreativeRotation
5554	raw := NoMethod(*s)
5555	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5556}
5557
5558// CreativesListResponse: Creative List Response
5559type CreativesListResponse struct {
5560	// Creatives: Creative collection.
5561	Creatives []*Creative `json:"creatives,omitempty"`
5562
5563	// Kind: Identifies what kind of resource this is. Value: the fixed
5564	// string "dfareporting#creativesListResponse".
5565	Kind string `json:"kind,omitempty"`
5566
5567	// NextPageToken: Pagination token to be used for the next list
5568	// operation.
5569	NextPageToken string `json:"nextPageToken,omitempty"`
5570
5571	// ServerResponse contains the HTTP response code and headers from the
5572	// server.
5573	googleapi.ServerResponse `json:"-"`
5574
5575	// ForceSendFields is a list of field names (e.g. "Creatives") to
5576	// unconditionally include in API requests. By default, fields with
5577	// empty values are omitted from API requests. However, any non-pointer,
5578	// non-interface field appearing in ForceSendFields will be sent to the
5579	// server regardless of whether the field is empty or not. This may be
5580	// used to include empty fields in Patch requests.
5581	ForceSendFields []string `json:"-"`
5582
5583	// NullFields is a list of field names (e.g. "Creatives") to include in
5584	// API requests with the JSON null value. By default, fields with empty
5585	// values are omitted from API requests. However, any field with an
5586	// empty value appearing in NullFields will be sent to the server as
5587	// null. It is an error if a field in this list has a non-empty value.
5588	// This may be used to include null fields in Patch requests.
5589	NullFields []string `json:"-"`
5590}
5591
5592func (s *CreativesListResponse) MarshalJSON() ([]byte, error) {
5593	type NoMethod CreativesListResponse
5594	raw := NoMethod(*s)
5595	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5596}
5597
5598// CrossDimensionReachReportCompatibleFields: Represents fields that are
5599// compatible to be selected for a report of type
5600// "CROSS_DIMENSION_REACH".
5601type CrossDimensionReachReportCompatibleFields struct {
5602	// Breakdown: Dimensions which are compatible to be selected in the
5603	// "breakdown" section of the report.
5604	Breakdown []*Dimension `json:"breakdown,omitempty"`
5605
5606	// DimensionFilters: Dimensions which are compatible to be selected in
5607	// the "dimensionFilters" section of the report.
5608	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
5609
5610	// Kind: The kind of resource this is, in this case
5611	// dfareporting#crossDimensionReachReportCompatibleFields.
5612	Kind string `json:"kind,omitempty"`
5613
5614	// Metrics: Metrics which are compatible to be selected in the
5615	// "metricNames" section of the report.
5616	Metrics []*Metric `json:"metrics,omitempty"`
5617
5618	// OverlapMetrics: Metrics which are compatible to be selected in the
5619	// "overlapMetricNames" section of the report.
5620	OverlapMetrics []*Metric `json:"overlapMetrics,omitempty"`
5621
5622	// ForceSendFields is a list of field names (e.g. "Breakdown") to
5623	// unconditionally include in API requests. By default, fields with
5624	// empty values are omitted from API requests. However, any non-pointer,
5625	// non-interface field appearing in ForceSendFields will be sent to the
5626	// server regardless of whether the field is empty or not. This may be
5627	// used to include empty fields in Patch requests.
5628	ForceSendFields []string `json:"-"`
5629
5630	// NullFields is a list of field names (e.g. "Breakdown") to include in
5631	// API requests with the JSON null value. By default, fields with empty
5632	// values are omitted from API requests. However, any field with an
5633	// empty value appearing in NullFields will be sent to the server as
5634	// null. It is an error if a field in this list has a non-empty value.
5635	// This may be used to include null fields in Patch requests.
5636	NullFields []string `json:"-"`
5637}
5638
5639func (s *CrossDimensionReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
5640	type NoMethod CrossDimensionReachReportCompatibleFields
5641	raw := NoMethod(*s)
5642	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5643}
5644
5645// CustomFloodlightVariable: A custom floodlight variable.
5646type CustomFloodlightVariable struct {
5647	// Kind: Identifies what kind of resource this is. Value: the fixed
5648	// string "dfareporting#customFloodlightVariable".
5649	Kind string `json:"kind,omitempty"`
5650
5651	// Type: The type of custom floodlight variable to supply a value for.
5652	// These map to the "u[1-20]=" in the tags.
5653	//
5654	// Possible values:
5655	//   "U1"
5656	//   "U2"
5657	//   "U3"
5658	//   "U4"
5659	//   "U5"
5660	//   "U6"
5661	//   "U7"
5662	//   "U8"
5663	//   "U9"
5664	//   "U10"
5665	//   "U11"
5666	//   "U12"
5667	//   "U13"
5668	//   "U14"
5669	//   "U15"
5670	//   "U16"
5671	//   "U17"
5672	//   "U18"
5673	//   "U19"
5674	//   "U20"
5675	//   "U21"
5676	//   "U22"
5677	//   "U23"
5678	//   "U24"
5679	//   "U25"
5680	//   "U26"
5681	//   "U27"
5682	//   "U28"
5683	//   "U29"
5684	//   "U30"
5685	//   "U31"
5686	//   "U32"
5687	//   "U33"
5688	//   "U34"
5689	//   "U35"
5690	//   "U36"
5691	//   "U37"
5692	//   "U38"
5693	//   "U39"
5694	//   "U40"
5695	//   "U41"
5696	//   "U42"
5697	//   "U43"
5698	//   "U44"
5699	//   "U45"
5700	//   "U46"
5701	//   "U47"
5702	//   "U48"
5703	//   "U49"
5704	//   "U50"
5705	//   "U51"
5706	//   "U52"
5707	//   "U53"
5708	//   "U54"
5709	//   "U55"
5710	//   "U56"
5711	//   "U57"
5712	//   "U58"
5713	//   "U59"
5714	//   "U60"
5715	//   "U61"
5716	//   "U62"
5717	//   "U63"
5718	//   "U64"
5719	//   "U65"
5720	//   "U66"
5721	//   "U67"
5722	//   "U68"
5723	//   "U69"
5724	//   "U70"
5725	//   "U71"
5726	//   "U72"
5727	//   "U73"
5728	//   "U74"
5729	//   "U75"
5730	//   "U76"
5731	//   "U77"
5732	//   "U78"
5733	//   "U79"
5734	//   "U80"
5735	//   "U81"
5736	//   "U82"
5737	//   "U83"
5738	//   "U84"
5739	//   "U85"
5740	//   "U86"
5741	//   "U87"
5742	//   "U88"
5743	//   "U89"
5744	//   "U90"
5745	//   "U91"
5746	//   "U92"
5747	//   "U93"
5748	//   "U94"
5749	//   "U95"
5750	//   "U96"
5751	//   "U97"
5752	//   "U98"
5753	//   "U99"
5754	//   "U100"
5755	Type string `json:"type,omitempty"`
5756
5757	// Value: The value of the custom floodlight variable. The length of
5758	// string must not exceed 50 characters.
5759	Value string `json:"value,omitempty"`
5760
5761	// ForceSendFields is a list of field names (e.g. "Kind") to
5762	// unconditionally include in API requests. By default, fields with
5763	// empty values are omitted from API requests. However, any non-pointer,
5764	// non-interface field appearing in ForceSendFields will be sent to the
5765	// server regardless of whether the field is empty or not. This may be
5766	// used to include empty fields in Patch requests.
5767	ForceSendFields []string `json:"-"`
5768
5769	// NullFields is a list of field names (e.g. "Kind") to include in API
5770	// requests with the JSON null value. By default, fields with empty
5771	// values are omitted from API requests. However, any field with an
5772	// empty value appearing in NullFields will be sent to the server as
5773	// null. It is an error if a field in this list has a non-empty value.
5774	// This may be used to include null fields in Patch requests.
5775	NullFields []string `json:"-"`
5776}
5777
5778func (s *CustomFloodlightVariable) MarshalJSON() ([]byte, error) {
5779	type NoMethod CustomFloodlightVariable
5780	raw := NoMethod(*s)
5781	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5782}
5783
5784// CustomRichMediaEvents: Represents a Custom Rich Media Events group.
5785type CustomRichMediaEvents struct {
5786	// FilteredEventIds: List of custom rich media event IDs. Dimension
5787	// values must be all of type dfa:richMediaEventTypeIdAndName.
5788	FilteredEventIds []*DimensionValue `json:"filteredEventIds,omitempty"`
5789
5790	// Kind: The kind of resource this is, in this case
5791	// dfareporting#customRichMediaEvents.
5792	Kind string `json:"kind,omitempty"`
5793
5794	// ForceSendFields is a list of field names (e.g. "FilteredEventIds") to
5795	// unconditionally include in API requests. By default, fields with
5796	// empty values are omitted from API requests. However, any non-pointer,
5797	// non-interface field appearing in ForceSendFields will be sent to the
5798	// server regardless of whether the field is empty or not. This may be
5799	// used to include empty fields in Patch requests.
5800	ForceSendFields []string `json:"-"`
5801
5802	// NullFields is a list of field names (e.g. "FilteredEventIds") to
5803	// include in API requests with the JSON null value. By default, fields
5804	// with empty values are omitted from API requests. However, any field
5805	// with an empty value appearing in NullFields will be sent to the
5806	// server as null. It is an error if a field in this list has a
5807	// non-empty value. This may be used to include null fields in Patch
5808	// requests.
5809	NullFields []string `json:"-"`
5810}
5811
5812func (s *CustomRichMediaEvents) MarshalJSON() ([]byte, error) {
5813	type NoMethod CustomRichMediaEvents
5814	raw := NoMethod(*s)
5815	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5816}
5817
5818// CustomViewabilityMetric: Custom Viewability Metric
5819type CustomViewabilityMetric struct {
5820	// Configuration: Configuration of the custom viewability metric.
5821	Configuration *CustomViewabilityMetricConfiguration `json:"configuration,omitempty"`
5822
5823	// Id: ID of the custom viewability metric.
5824	Id int64 `json:"id,omitempty,string"`
5825
5826	// Name: Name of the custom viewability metric.
5827	Name string `json:"name,omitempty"`
5828
5829	// ForceSendFields is a list of field names (e.g. "Configuration") to
5830	// unconditionally include in API requests. By default, fields with
5831	// empty values are omitted from API requests. However, any non-pointer,
5832	// non-interface field appearing in ForceSendFields will be sent to the
5833	// server regardless of whether the field is empty or not. This may be
5834	// used to include empty fields in Patch requests.
5835	ForceSendFields []string `json:"-"`
5836
5837	// NullFields is a list of field names (e.g. "Configuration") to include
5838	// in API requests with the JSON null value. By default, fields with
5839	// empty values are omitted from API requests. However, any field with
5840	// an empty value appearing in NullFields will be sent to the server as
5841	// null. It is an error if a field in this list has a non-empty value.
5842	// This may be used to include null fields in Patch requests.
5843	NullFields []string `json:"-"`
5844}
5845
5846func (s *CustomViewabilityMetric) MarshalJSON() ([]byte, error) {
5847	type NoMethod CustomViewabilityMetric
5848	raw := NoMethod(*s)
5849	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5850}
5851
5852// CustomViewabilityMetricConfiguration: The attributes, like playtime
5853// and percent onscreen, that define the Custom Viewability Metric.
5854type CustomViewabilityMetricConfiguration struct {
5855	// Audible: Whether the video must be audible to count an impression.
5856	Audible bool `json:"audible,omitempty"`
5857
5858	// TimeMillis: The time in milliseconds the video must play for the
5859	// Custom Viewability Metric to count an impression. If both this and
5860	// timePercent are specified, the earlier of the two will be used.
5861	TimeMillis int64 `json:"timeMillis,omitempty"`
5862
5863	// TimePercent: The percentage of video that must play for the Custom
5864	// Viewability Metric to count an impression. If both this and
5865	// timeMillis are specified, the earlier of the two will be used.
5866	TimePercent int64 `json:"timePercent,omitempty"`
5867
5868	// ViewabilityPercent: The percentage of video that must be on screen
5869	// for the Custom Viewability Metric to count an impression.
5870	ViewabilityPercent int64 `json:"viewabilityPercent,omitempty"`
5871
5872	// ForceSendFields is a list of field names (e.g. "Audible") to
5873	// unconditionally include in API requests. By default, fields with
5874	// empty values are omitted from API requests. However, any non-pointer,
5875	// non-interface field appearing in ForceSendFields will be sent to the
5876	// server regardless of whether the field is empty or not. This may be
5877	// used to include empty fields in Patch requests.
5878	ForceSendFields []string `json:"-"`
5879
5880	// NullFields is a list of field names (e.g. "Audible") to include in
5881	// API requests with the JSON null value. By default, fields with empty
5882	// values are omitted from API requests. However, any field with an
5883	// empty value appearing in NullFields will be sent to the server as
5884	// null. It is an error if a field in this list has a non-empty value.
5885	// This may be used to include null fields in Patch requests.
5886	NullFields []string `json:"-"`
5887}
5888
5889func (s *CustomViewabilityMetricConfiguration) MarshalJSON() ([]byte, error) {
5890	type NoMethod CustomViewabilityMetricConfiguration
5891	raw := NoMethod(*s)
5892	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5893}
5894
5895// DateRange: Represents a date range.
5896type DateRange struct {
5897	EndDate string `json:"endDate,omitempty"`
5898
5899	// Kind: The kind of resource this is, in this case
5900	// dfareporting#dateRange.
5901	Kind string `json:"kind,omitempty"`
5902
5903	// RelativeDateRange: The date range relative to the date of when the
5904	// report is run.
5905	//
5906	// Possible values:
5907	//   "TODAY"
5908	//   "YESTERDAY"
5909	//   "WEEK_TO_DATE"
5910	//   "MONTH_TO_DATE"
5911	//   "QUARTER_TO_DATE"
5912	//   "YEAR_TO_DATE"
5913	//   "PREVIOUS_WEEK"
5914	//   "PREVIOUS_MONTH"
5915	//   "PREVIOUS_QUARTER"
5916	//   "PREVIOUS_YEAR"
5917	//   "LAST_7_DAYS"
5918	//   "LAST_30_DAYS"
5919	//   "LAST_90_DAYS"
5920	//   "LAST_365_DAYS"
5921	//   "LAST_24_MONTHS"
5922	//   "LAST_14_DAYS"
5923	//   "LAST_60_DAYS"
5924	RelativeDateRange string `json:"relativeDateRange,omitempty"`
5925
5926	StartDate string `json:"startDate,omitempty"`
5927
5928	// ForceSendFields is a list of field names (e.g. "EndDate") to
5929	// unconditionally include in API requests. By default, fields with
5930	// empty values are omitted from API requests. However, any non-pointer,
5931	// non-interface field appearing in ForceSendFields will be sent to the
5932	// server regardless of whether the field is empty or not. This may be
5933	// used to include empty fields in Patch requests.
5934	ForceSendFields []string `json:"-"`
5935
5936	// NullFields is a list of field names (e.g. "EndDate") to include in
5937	// API requests with the JSON null value. By default, fields with empty
5938	// values are omitted from API requests. However, any field with an
5939	// empty value appearing in NullFields will be sent to the server as
5940	// null. It is an error if a field in this list has a non-empty value.
5941	// This may be used to include null fields in Patch requests.
5942	NullFields []string `json:"-"`
5943}
5944
5945func (s *DateRange) MarshalJSON() ([]byte, error) {
5946	type NoMethod DateRange
5947	raw := NoMethod(*s)
5948	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5949}
5950
5951// DayPartTargeting: Day Part Targeting.
5952type DayPartTargeting struct {
5953	// DaysOfWeek: Days of the week when the ad will serve. Acceptable
5954	// values are: - "SUNDAY" - "MONDAY" - "TUESDAY" - "WEDNESDAY" -
5955	// "THURSDAY" - "FRIDAY" - "SATURDAY"
5956	//
5957	// Possible values:
5958	//   "MONDAY"
5959	//   "TUESDAY"
5960	//   "WEDNESDAY"
5961	//   "THURSDAY"
5962	//   "FRIDAY"
5963	//   "SATURDAY"
5964	//   "SUNDAY"
5965	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
5966
5967	// HoursOfDay: Hours of the day when the ad will serve, where 0 is
5968	// midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with
5969	// days of week, in which case the ad would serve during these hours on
5970	// the specified days. For example if Monday, Wednesday, Friday are the
5971	// days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is
5972	// specified, the ad would serve Monday, Wednesdays, and Fridays at
5973	// 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.
5974	HoursOfDay []int64 `json:"hoursOfDay,omitempty"`
5975
5976	// UserLocalTime: Whether or not to use the user's local time. If false,
5977	// the America/New York time zone applies.
5978	UserLocalTime bool `json:"userLocalTime,omitempty"`
5979
5980	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
5981	// unconditionally include in API requests. By default, fields with
5982	// empty values are omitted from API requests. However, any non-pointer,
5983	// non-interface field appearing in ForceSendFields will be sent to the
5984	// server regardless of whether the field is empty or not. This may be
5985	// used to include empty fields in Patch requests.
5986	ForceSendFields []string `json:"-"`
5987
5988	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in
5989	// API requests with the JSON null value. By default, fields with empty
5990	// values are omitted from API requests. However, any field with an
5991	// empty value appearing in NullFields will be sent to the server as
5992	// null. It is an error if a field in this list has a non-empty value.
5993	// This may be used to include null fields in Patch requests.
5994	NullFields []string `json:"-"`
5995}
5996
5997func (s *DayPartTargeting) MarshalJSON() ([]byte, error) {
5998	type NoMethod DayPartTargeting
5999	raw := NoMethod(*s)
6000	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6001}
6002
6003// DeepLink: Contains information about a landing page deep link.
6004type DeepLink struct {
6005	// AppUrl: The URL of the mobile app being linked to.
6006	AppUrl string `json:"appUrl,omitempty"`
6007
6008	// FallbackUrl: The fallback URL. This URL will be served to users who
6009	// do not have the mobile app installed.
6010	FallbackUrl string `json:"fallbackUrl,omitempty"`
6011
6012	// Kind: Identifies what kind of resource this is. Value: the fixed
6013	// string "dfareporting#deepLink".
6014	Kind string `json:"kind,omitempty"`
6015
6016	// MobileApp: The mobile app targeted by this deep link.
6017	MobileApp *MobileApp `json:"mobileApp,omitempty"`
6018
6019	// RemarketingListIds: Ads served to users on these remarketing lists
6020	// will use this deep link. Applicable when mobileApp.directory is
6021	// APPLE_APP_STORE.
6022	RemarketingListIds googleapi.Int64s `json:"remarketingListIds,omitempty"`
6023
6024	// ForceSendFields is a list of field names (e.g. "AppUrl") to
6025	// unconditionally include in API requests. By default, fields with
6026	// empty values are omitted from API requests. However, any non-pointer,
6027	// non-interface field appearing in ForceSendFields will be sent to the
6028	// server regardless of whether the field is empty or not. This may be
6029	// used to include empty fields in Patch requests.
6030	ForceSendFields []string `json:"-"`
6031
6032	// NullFields is a list of field names (e.g. "AppUrl") to include in API
6033	// requests with the JSON null value. By default, fields with empty
6034	// values are omitted from API requests. However, any field with an
6035	// empty value appearing in NullFields will be sent to the server as
6036	// null. It is an error if a field in this list has a non-empty value.
6037	// This may be used to include null fields in Patch requests.
6038	NullFields []string `json:"-"`
6039}
6040
6041func (s *DeepLink) MarshalJSON() ([]byte, error) {
6042	type NoMethod DeepLink
6043	raw := NoMethod(*s)
6044	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6045}
6046
6047// DefaultClickThroughEventTagProperties: Properties of inheriting and
6048// overriding the default click-through event tag. A campaign may
6049// override the event tag defined at the advertiser level, and an ad may
6050// also override the campaign's setting further.
6051type DefaultClickThroughEventTagProperties struct {
6052	// DefaultClickThroughEventTagId: ID of the click-through event tag to
6053	// apply to all ads in this entity's scope.
6054	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
6055
6056	// OverrideInheritedEventTag: Whether this entity should override the
6057	// inherited default click-through event tag with its own defined value.
6058	OverrideInheritedEventTag bool `json:"overrideInheritedEventTag,omitempty"`
6059
6060	// ForceSendFields is a list of field names (e.g.
6061	// "DefaultClickThroughEventTagId") to unconditionally include in API
6062	// requests. By default, fields with empty values are omitted from API
6063	// requests. However, any non-pointer, non-interface field appearing in
6064	// ForceSendFields will be sent to the server regardless of whether the
6065	// field is empty or not. This may be used to include empty fields in
6066	// Patch requests.
6067	ForceSendFields []string `json:"-"`
6068
6069	// NullFields is a list of field names (e.g.
6070	// "DefaultClickThroughEventTagId") to include in API requests with the
6071	// JSON null value. By default, fields with empty values are omitted
6072	// from API requests. However, any field with an empty value appearing
6073	// in NullFields will be sent to the server as null. It is an error if a
6074	// field in this list has a non-empty value. This may be used to include
6075	// null fields in Patch requests.
6076	NullFields []string `json:"-"`
6077}
6078
6079func (s *DefaultClickThroughEventTagProperties) MarshalJSON() ([]byte, error) {
6080	type NoMethod DefaultClickThroughEventTagProperties
6081	raw := NoMethod(*s)
6082	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6083}
6084
6085// DeliverySchedule: Delivery Schedule.
6086type DeliverySchedule struct {
6087	// FrequencyCap: Limit on the number of times an individual user can be
6088	// served the ad within a specified period of time.
6089	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
6090
6091	// HardCutoff: Whether or not hard cutoff is enabled. If true, the ad
6092	// will not serve after the end date and time. Otherwise the ad will
6093	// continue to be served until it has reached its delivery goals.
6094	HardCutoff bool `json:"hardCutoff,omitempty"`
6095
6096	// ImpressionRatio: Impression ratio for this ad. This ratio determines
6097	// how often each ad is served relative to the others. For example, if
6098	// ad A has an impression ratio of 1 and ad B has an impression ratio of
6099	// 3, then Campaign Manager will serve ad B three times as often as ad
6100	// A. Acceptable values are 1 to 10, inclusive.
6101	ImpressionRatio int64 `json:"impressionRatio,omitempty,string"`
6102
6103	// Priority: Serving priority of an ad, with respect to other ads. The
6104	// lower the priority number, the greater the priority with which it is
6105	// served.
6106	//
6107	// Possible values:
6108	//   "AD_PRIORITY_01"
6109	//   "AD_PRIORITY_02"
6110	//   "AD_PRIORITY_03"
6111	//   "AD_PRIORITY_04"
6112	//   "AD_PRIORITY_05"
6113	//   "AD_PRIORITY_06"
6114	//   "AD_PRIORITY_07"
6115	//   "AD_PRIORITY_08"
6116	//   "AD_PRIORITY_09"
6117	//   "AD_PRIORITY_10"
6118	//   "AD_PRIORITY_11"
6119	//   "AD_PRIORITY_12"
6120	//   "AD_PRIORITY_13"
6121	//   "AD_PRIORITY_14"
6122	//   "AD_PRIORITY_15"
6123	//   "AD_PRIORITY_16"
6124	Priority string `json:"priority,omitempty"`
6125
6126	// ForceSendFields is a list of field names (e.g. "FrequencyCap") to
6127	// unconditionally include in API requests. By default, fields with
6128	// empty values are omitted from API requests. However, any non-pointer,
6129	// non-interface field appearing in ForceSendFields will be sent to the
6130	// server regardless of whether the field is empty or not. This may be
6131	// used to include empty fields in Patch requests.
6132	ForceSendFields []string `json:"-"`
6133
6134	// NullFields is a list of field names (e.g. "FrequencyCap") to include
6135	// in API requests with the JSON null value. By default, fields with
6136	// empty values are omitted from API requests. However, any field with
6137	// an empty value appearing in NullFields will be sent to the server as
6138	// null. It is an error if a field in this list has a non-empty value.
6139	// This may be used to include null fields in Patch requests.
6140	NullFields []string `json:"-"`
6141}
6142
6143func (s *DeliverySchedule) MarshalJSON() ([]byte, error) {
6144	type NoMethod DeliverySchedule
6145	raw := NoMethod(*s)
6146	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6147}
6148
6149// DfpSettings: Google Ad Manager Settings
6150type DfpSettings struct {
6151	// DfpNetworkCode: Ad Manager network code for this directory site.
6152	DfpNetworkCode string `json:"dfpNetworkCode,omitempty"`
6153
6154	// DfpNetworkName: Ad Manager network name for this directory site.
6155	DfpNetworkName string `json:"dfpNetworkName,omitempty"`
6156
6157	// ProgrammaticPlacementAccepted: Whether this directory site accepts
6158	// programmatic placements.
6159	ProgrammaticPlacementAccepted bool `json:"programmaticPlacementAccepted,omitempty"`
6160
6161	// PubPaidPlacementAccepted: Whether this directory site accepts
6162	// publisher-paid tags.
6163	PubPaidPlacementAccepted bool `json:"pubPaidPlacementAccepted,omitempty"`
6164
6165	// PublisherPortalOnly: Whether this directory site is available only
6166	// via Publisher Portal.
6167	PublisherPortalOnly bool `json:"publisherPortalOnly,omitempty"`
6168
6169	// ForceSendFields is a list of field names (e.g. "DfpNetworkCode") to
6170	// unconditionally include in API requests. By default, fields with
6171	// empty values are omitted from API requests. However, any non-pointer,
6172	// non-interface field appearing in ForceSendFields will be sent to the
6173	// server regardless of whether the field is empty or not. This may be
6174	// used to include empty fields in Patch requests.
6175	ForceSendFields []string `json:"-"`
6176
6177	// NullFields is a list of field names (e.g. "DfpNetworkCode") to
6178	// include in API requests with the JSON null value. By default, fields
6179	// with empty values are omitted from API requests. However, any field
6180	// with an empty value appearing in NullFields will be sent to the
6181	// server as null. It is an error if a field in this list has a
6182	// non-empty value. This may be used to include null fields in Patch
6183	// requests.
6184	NullFields []string `json:"-"`
6185}
6186
6187func (s *DfpSettings) MarshalJSON() ([]byte, error) {
6188	type NoMethod DfpSettings
6189	raw := NoMethod(*s)
6190	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6191}
6192
6193// Dimension: Represents a dimension.
6194type Dimension struct {
6195	// Kind: The kind of resource this is, in this case
6196	// dfareporting#dimension.
6197	Kind string `json:"kind,omitempty"`
6198
6199	// Name: The dimension name, e.g. dfa:advertiser
6200	Name string `json:"name,omitempty"`
6201
6202	// ForceSendFields is a list of field names (e.g. "Kind") to
6203	// unconditionally include in API requests. By default, fields with
6204	// empty values are omitted from API requests. However, any non-pointer,
6205	// non-interface field appearing in ForceSendFields will be sent to the
6206	// server regardless of whether the field is empty or not. This may be
6207	// used to include empty fields in Patch requests.
6208	ForceSendFields []string `json:"-"`
6209
6210	// NullFields is a list of field names (e.g. "Kind") to include in API
6211	// requests with the JSON null value. By default, fields with empty
6212	// values are omitted from API requests. However, any field with an
6213	// empty value appearing in NullFields will be sent to the server as
6214	// null. It is an error if a field in this list has a non-empty value.
6215	// This may be used to include null fields in Patch requests.
6216	NullFields []string `json:"-"`
6217}
6218
6219func (s *Dimension) MarshalJSON() ([]byte, error) {
6220	type NoMethod Dimension
6221	raw := NoMethod(*s)
6222	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6223}
6224
6225// DimensionFilter: Represents a dimension filter.
6226type DimensionFilter struct {
6227	// DimensionName: The name of the dimension to filter.
6228	DimensionName string `json:"dimensionName,omitempty"`
6229
6230	// Kind: The kind of resource this is, in this case
6231	// dfareporting#dimensionFilter.
6232	Kind string `json:"kind,omitempty"`
6233
6234	// Value: The value of the dimension to filter.
6235	Value string `json:"value,omitempty"`
6236
6237	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6238	// unconditionally include in API requests. By default, fields with
6239	// empty values are omitted from API requests. However, any non-pointer,
6240	// non-interface field appearing in ForceSendFields will be sent to the
6241	// server regardless of whether the field is empty or not. This may be
6242	// used to include empty fields in Patch requests.
6243	ForceSendFields []string `json:"-"`
6244
6245	// NullFields is a list of field names (e.g. "DimensionName") to include
6246	// in API requests with the JSON null value. By default, fields with
6247	// empty values are omitted from API requests. However, any field with
6248	// an empty value appearing in NullFields will be sent to the server as
6249	// null. It is an error if a field in this list has a non-empty value.
6250	// This may be used to include null fields in Patch requests.
6251	NullFields []string `json:"-"`
6252}
6253
6254func (s *DimensionFilter) MarshalJSON() ([]byte, error) {
6255	type NoMethod DimensionFilter
6256	raw := NoMethod(*s)
6257	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6258}
6259
6260// DimensionValue: Represents a DimensionValue resource.
6261type DimensionValue struct {
6262	// DimensionName: The name of the dimension.
6263	DimensionName string `json:"dimensionName,omitempty"`
6264
6265	// Etag: The eTag of this response for caching purposes.
6266	Etag string `json:"etag,omitempty"`
6267
6268	// Id: The ID associated with the value if available.
6269	Id string `json:"id,omitempty"`
6270
6271	// Kind: The kind of resource this is, in this case
6272	// dfareporting#dimensionValue.
6273	Kind string `json:"kind,omitempty"`
6274
6275	// MatchType: Determines how the 'value' field is matched when
6276	// filtering. If not specified, defaults to EXACT. If set to
6277	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
6278	// length character sequences, and it can be escaped with a backslash.
6279	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
6280	// matchType other than EXACT.
6281	//
6282	// Possible values:
6283	//   "EXACT"
6284	//   "BEGINS_WITH"
6285	//   "CONTAINS"
6286	//   "WILDCARD_EXPRESSION"
6287	MatchType string `json:"matchType,omitempty"`
6288
6289	// Value: The value of the dimension.
6290	Value string `json:"value,omitempty"`
6291
6292	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6293	// unconditionally include in API requests. By default, fields with
6294	// empty values are omitted from API requests. However, any non-pointer,
6295	// non-interface field appearing in ForceSendFields will be sent to the
6296	// server regardless of whether the field is empty or not. This may be
6297	// used to include empty fields in Patch requests.
6298	ForceSendFields []string `json:"-"`
6299
6300	// NullFields is a list of field names (e.g. "DimensionName") to include
6301	// in API requests with the JSON null value. By default, fields with
6302	// empty values are omitted from API requests. However, any field with
6303	// an empty value appearing in NullFields will be sent to the server as
6304	// null. It is an error if a field in this list has a non-empty value.
6305	// This may be used to include null fields in Patch requests.
6306	NullFields []string `json:"-"`
6307}
6308
6309func (s *DimensionValue) MarshalJSON() ([]byte, error) {
6310	type NoMethod DimensionValue
6311	raw := NoMethod(*s)
6312	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6313}
6314
6315// DimensionValueList: Represents the list of DimensionValue resources.
6316type DimensionValueList struct {
6317	// Etag: The eTag of this response for caching purposes.
6318	Etag string `json:"etag,omitempty"`
6319
6320	// Items: The dimension values returned in this response.
6321	Items []*DimensionValue `json:"items,omitempty"`
6322
6323	// Kind: The kind of list this is, in this case
6324	// dfareporting#dimensionValueList.
6325	Kind string `json:"kind,omitempty"`
6326
6327	// NextPageToken: Continuation token used to page through dimension
6328	// values. To retrieve the next page of results, set the next request's
6329	// "pageToken" to the value of this field. The page token is only valid
6330	// for a limited amount of time and should not be persisted.
6331	NextPageToken string `json:"nextPageToken,omitempty"`
6332
6333	// ServerResponse contains the HTTP response code and headers from the
6334	// server.
6335	googleapi.ServerResponse `json:"-"`
6336
6337	// ForceSendFields is a list of field names (e.g. "Etag") to
6338	// unconditionally include in API requests. By default, fields with
6339	// empty values are omitted from API requests. However, any non-pointer,
6340	// non-interface field appearing in ForceSendFields will be sent to the
6341	// server regardless of whether the field is empty or not. This may be
6342	// used to include empty fields in Patch requests.
6343	ForceSendFields []string `json:"-"`
6344
6345	// NullFields is a list of field names (e.g. "Etag") to include in API
6346	// requests with the JSON null value. By default, fields with empty
6347	// values are omitted from API requests. However, any field with an
6348	// empty value appearing in NullFields will be sent to the server as
6349	// null. It is an error if a field in this list has a non-empty value.
6350	// This may be used to include null fields in Patch requests.
6351	NullFields []string `json:"-"`
6352}
6353
6354func (s *DimensionValueList) MarshalJSON() ([]byte, error) {
6355	type NoMethod DimensionValueList
6356	raw := NoMethod(*s)
6357	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6358}
6359
6360// DimensionValueRequest: Represents a DimensionValuesRequest.
6361type DimensionValueRequest struct {
6362	// DimensionName: The name of the dimension for which values should be
6363	// requested.
6364	DimensionName string `json:"dimensionName,omitempty"`
6365
6366	EndDate string `json:"endDate,omitempty"`
6367
6368	// Filters: The list of filters by which to filter values. The filters
6369	// are ANDed.
6370	Filters []*DimensionFilter `json:"filters,omitempty"`
6371
6372	// Kind: The kind of request this is, in this case
6373	// dfareporting#dimensionValueRequest .
6374	Kind string `json:"kind,omitempty"`
6375
6376	StartDate string `json:"startDate,omitempty"`
6377
6378	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6379	// unconditionally include in API requests. By default, fields with
6380	// empty values are omitted from API requests. However, any non-pointer,
6381	// non-interface field appearing in ForceSendFields will be sent to the
6382	// server regardless of whether the field is empty or not. This may be
6383	// used to include empty fields in Patch requests.
6384	ForceSendFields []string `json:"-"`
6385
6386	// NullFields is a list of field names (e.g. "DimensionName") to include
6387	// in API requests with the JSON null value. By default, fields with
6388	// empty values are omitted from API requests. However, any field with
6389	// an empty value appearing in NullFields will be sent to the server as
6390	// null. It is an error if a field in this list has a non-empty value.
6391	// This may be used to include null fields in Patch requests.
6392	NullFields []string `json:"-"`
6393}
6394
6395func (s *DimensionValueRequest) MarshalJSON() ([]byte, error) {
6396	type NoMethod DimensionValueRequest
6397	raw := NoMethod(*s)
6398	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6399}
6400
6401// DirectorySite: DirectorySites contains properties of a website from
6402// the Site Directory. Sites need to be added to an account via the
6403// Sites resource before they can be assigned to a placement.
6404type DirectorySite struct {
6405	// Active: Whether this directory site is active.
6406	Active bool `json:"active,omitempty"`
6407
6408	// Id: ID of this directory site. This is a read-only, auto-generated
6409	// field.
6410	Id int64 `json:"id,omitempty,string"`
6411
6412	// IdDimensionValue: Dimension value for the ID of this directory site.
6413	// This is a read-only, auto-generated field.
6414	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
6415
6416	// InpageTagFormats: Tag types for regular placements. Acceptable values
6417	// are: - "STANDARD" - "IFRAME_JAVASCRIPT_INPAGE" -
6418	// "INTERNAL_REDIRECT_INPAGE" - "JAVASCRIPT_INPAGE"
6419	//
6420	// Possible values:
6421	//   "STANDARD"
6422	//   "IFRAME_JAVASCRIPT_INPAGE"
6423	//   "INTERNAL_REDIRECT_INPAGE"
6424	//   "JAVASCRIPT_INPAGE"
6425	InpageTagFormats []string `json:"inpageTagFormats,omitempty"`
6426
6427	// InterstitialTagFormats: Tag types for interstitial placements.
6428	// Acceptable values are: - "IFRAME_JAVASCRIPT_INTERSTITIAL" -
6429	// "INTERNAL_REDIRECT_INTERSTITIAL" - "JAVASCRIPT_INTERSTITIAL"
6430	//
6431	// Possible values:
6432	//   "IFRAME_JAVASCRIPT_INTERSTITIAL"
6433	//   "INTERNAL_REDIRECT_INTERSTITIAL"
6434	//   "JAVASCRIPT_INTERSTITIAL"
6435	InterstitialTagFormats []string `json:"interstitialTagFormats,omitempty"`
6436
6437	// Kind: Identifies what kind of resource this is. Value: the fixed
6438	// string "dfareporting#directorySite".
6439	Kind string `json:"kind,omitempty"`
6440
6441	// Name: Name of this directory site.
6442	Name string `json:"name,omitempty"`
6443
6444	// Settings: Directory site settings.
6445	Settings *DirectorySiteSettings `json:"settings,omitempty"`
6446
6447	// Url: URL of this directory site.
6448	Url string `json:"url,omitempty"`
6449
6450	// ServerResponse contains the HTTP response code and headers from the
6451	// server.
6452	googleapi.ServerResponse `json:"-"`
6453
6454	// ForceSendFields is a list of field names (e.g. "Active") to
6455	// unconditionally include in API requests. By default, fields with
6456	// empty values are omitted from API requests. However, any non-pointer,
6457	// non-interface field appearing in ForceSendFields will be sent to the
6458	// server regardless of whether the field is empty or not. This may be
6459	// used to include empty fields in Patch requests.
6460	ForceSendFields []string `json:"-"`
6461
6462	// NullFields is a list of field names (e.g. "Active") to include in API
6463	// requests with the JSON null value. By default, fields with empty
6464	// values are omitted from API requests. However, any field with an
6465	// empty value appearing in NullFields will be sent to the server as
6466	// null. It is an error if a field in this list has a non-empty value.
6467	// This may be used to include null fields in Patch requests.
6468	NullFields []string `json:"-"`
6469}
6470
6471func (s *DirectorySite) MarshalJSON() ([]byte, error) {
6472	type NoMethod DirectorySite
6473	raw := NoMethod(*s)
6474	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6475}
6476
6477// DirectorySiteSettings: Directory Site Settings
6478type DirectorySiteSettings struct {
6479	// ActiveViewOptOut: Whether this directory site has disabled active
6480	// view creatives.
6481	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
6482
6483	// DfpSettings: Directory site Ad Manager settings.
6484	DfpSettings *DfpSettings `json:"dfpSettings,omitempty"`
6485
6486	// InstreamVideoPlacementAccepted: Whether this site accepts in-stream
6487	// video ads.
6488	InstreamVideoPlacementAccepted bool `json:"instreamVideoPlacementAccepted,omitempty"`
6489
6490	// InterstitialPlacementAccepted: Whether this site accepts interstitial
6491	// ads.
6492	InterstitialPlacementAccepted bool `json:"interstitialPlacementAccepted,omitempty"`
6493
6494	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
6495	// unconditionally include in API requests. By default, fields with
6496	// empty values are omitted from API requests. However, any non-pointer,
6497	// non-interface field appearing in ForceSendFields will be sent to the
6498	// server regardless of whether the field is empty or not. This may be
6499	// used to include empty fields in Patch requests.
6500	ForceSendFields []string `json:"-"`
6501
6502	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
6503	// include in API requests with the JSON null value. By default, fields
6504	// with empty values are omitted from API requests. However, any field
6505	// with an empty value appearing in NullFields will be sent to the
6506	// server as null. It is an error if a field in this list has a
6507	// non-empty value. This may be used to include null fields in Patch
6508	// requests.
6509	NullFields []string `json:"-"`
6510}
6511
6512func (s *DirectorySiteSettings) MarshalJSON() ([]byte, error) {
6513	type NoMethod DirectorySiteSettings
6514	raw := NoMethod(*s)
6515	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6516}
6517
6518// DirectorySitesListResponse: Directory Site List Response
6519type DirectorySitesListResponse struct {
6520	// DirectorySites: Directory site collection.
6521	DirectorySites []*DirectorySite `json:"directorySites,omitempty"`
6522
6523	// Kind: Identifies what kind of resource this is. Value: the fixed
6524	// string "dfareporting#directorySitesListResponse".
6525	Kind string `json:"kind,omitempty"`
6526
6527	// NextPageToken: Pagination token to be used for the next list
6528	// operation.
6529	NextPageToken string `json:"nextPageToken,omitempty"`
6530
6531	// ServerResponse contains the HTTP response code and headers from the
6532	// server.
6533	googleapi.ServerResponse `json:"-"`
6534
6535	// ForceSendFields is a list of field names (e.g. "DirectorySites") to
6536	// unconditionally include in API requests. By default, fields with
6537	// empty values are omitted from API requests. However, any non-pointer,
6538	// non-interface field appearing in ForceSendFields will be sent to the
6539	// server regardless of whether the field is empty or not. This may be
6540	// used to include empty fields in Patch requests.
6541	ForceSendFields []string `json:"-"`
6542
6543	// NullFields is a list of field names (e.g. "DirectorySites") to
6544	// include in API requests with the JSON null value. By default, fields
6545	// with empty values are omitted from API requests. However, any field
6546	// with an empty value appearing in NullFields will be sent to the
6547	// server as null. It is an error if a field in this list has a
6548	// non-empty value. This may be used to include null fields in Patch
6549	// requests.
6550	NullFields []string `json:"-"`
6551}
6552
6553func (s *DirectorySitesListResponse) MarshalJSON() ([]byte, error) {
6554	type NoMethod DirectorySitesListResponse
6555	raw := NoMethod(*s)
6556	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6557}
6558
6559// DynamicTargetingKey: Contains properties of a dynamic targeting key.
6560// Dynamic targeting keys are unique, user-friendly labels, created at
6561// the advertiser level in DCM, that can be assigned to ads, creatives,
6562// and placements and used for targeting with Studio dynamic creatives.
6563// Use these labels instead of numeric Campaign Manager IDs (such as
6564// placement IDs) to save time and avoid errors in your dynamic feeds.
6565type DynamicTargetingKey struct {
6566	// Kind: Identifies what kind of resource this is. Value: the fixed
6567	// string "dfareporting#dynamicTargetingKey".
6568	Kind string `json:"kind,omitempty"`
6569
6570	// Name: Name of this dynamic targeting key. This is a required field.
6571	// Must be less than 256 characters long and cannot contain commas. All
6572	// characters are converted to lowercase.
6573	Name string `json:"name,omitempty"`
6574
6575	// ObjectId: ID of the object of this dynamic targeting key. This is a
6576	// required field.
6577	ObjectId int64 `json:"objectId,omitempty,string"`
6578
6579	// ObjectType: Type of the object of this dynamic targeting key. This is
6580	// a required field.
6581	//
6582	// Possible values:
6583	//   "OBJECT_ADVERTISER"
6584	//   "OBJECT_AD"
6585	//   "OBJECT_CREATIVE"
6586	//   "OBJECT_PLACEMENT"
6587	ObjectType string `json:"objectType,omitempty"`
6588
6589	// ServerResponse contains the HTTP response code and headers from the
6590	// server.
6591	googleapi.ServerResponse `json:"-"`
6592
6593	// ForceSendFields is a list of field names (e.g. "Kind") to
6594	// unconditionally include in API requests. By default, fields with
6595	// empty values are omitted from API requests. However, any non-pointer,
6596	// non-interface field appearing in ForceSendFields will be sent to the
6597	// server regardless of whether the field is empty or not. This may be
6598	// used to include empty fields in Patch requests.
6599	ForceSendFields []string `json:"-"`
6600
6601	// NullFields is a list of field names (e.g. "Kind") to include in API
6602	// requests with the JSON null value. By default, fields with empty
6603	// values are omitted from API requests. However, any field with an
6604	// empty value appearing in NullFields will be sent to the server as
6605	// null. It is an error if a field in this list has a non-empty value.
6606	// This may be used to include null fields in Patch requests.
6607	NullFields []string `json:"-"`
6608}
6609
6610func (s *DynamicTargetingKey) MarshalJSON() ([]byte, error) {
6611	type NoMethod DynamicTargetingKey
6612	raw := NoMethod(*s)
6613	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6614}
6615
6616// DynamicTargetingKeysListResponse: Dynamic Targeting Key List Response
6617type DynamicTargetingKeysListResponse struct {
6618	// DynamicTargetingKeys: Dynamic targeting key collection.
6619	DynamicTargetingKeys []*DynamicTargetingKey `json:"dynamicTargetingKeys,omitempty"`
6620
6621	// Kind: Identifies what kind of resource this is. Value: the fixed
6622	// string "dfareporting#dynamicTargetingKeysListResponse".
6623	Kind string `json:"kind,omitempty"`
6624
6625	// ServerResponse contains the HTTP response code and headers from the
6626	// server.
6627	googleapi.ServerResponse `json:"-"`
6628
6629	// ForceSendFields is a list of field names (e.g.
6630	// "DynamicTargetingKeys") to unconditionally include in API requests.
6631	// By default, fields with empty values are omitted from API requests.
6632	// However, any non-pointer, non-interface field appearing in
6633	// ForceSendFields will be sent to the server regardless of whether the
6634	// field is empty or not. This may be used to include empty fields in
6635	// Patch requests.
6636	ForceSendFields []string `json:"-"`
6637
6638	// NullFields is a list of field names (e.g. "DynamicTargetingKeys") to
6639	// include in API requests with the JSON null value. By default, fields
6640	// with empty values are omitted from API requests. However, any field
6641	// with an empty value appearing in NullFields will be sent to the
6642	// server as null. It is an error if a field in this list has a
6643	// non-empty value. This may be used to include null fields in Patch
6644	// requests.
6645	NullFields []string `json:"-"`
6646}
6647
6648func (s *DynamicTargetingKeysListResponse) MarshalJSON() ([]byte, error) {
6649	type NoMethod DynamicTargetingKeysListResponse
6650	raw := NoMethod(*s)
6651	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6652}
6653
6654// EncryptionInfo: A description of how user IDs are encrypted.
6655type EncryptionInfo struct {
6656	// EncryptionEntityId: The encryption entity ID. This should match the
6657	// encryption configuration for ad serving or Data Transfer.
6658	EncryptionEntityId int64 `json:"encryptionEntityId,omitempty,string"`
6659
6660	// EncryptionEntityType: The encryption entity type. This should match
6661	// the encryption configuration for ad serving or Data Transfer.
6662	//
6663	// Possible values:
6664	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
6665	//   "DCM_ACCOUNT"
6666	//   "DCM_ADVERTISER"
6667	//   "DBM_PARTNER"
6668	//   "DBM_ADVERTISER"
6669	//   "ADWORDS_CUSTOMER"
6670	//   "DFP_NETWORK_CODE"
6671	EncryptionEntityType string `json:"encryptionEntityType,omitempty"`
6672
6673	// EncryptionSource: Describes whether the encrypted cookie was received
6674	// from ad serving (the %m macro) or from Data Transfer.
6675	//
6676	// Possible values:
6677	//   "ENCRYPTION_SCOPE_UNKNOWN"
6678	//   "AD_SERVING"
6679	//   "DATA_TRANSFER"
6680	EncryptionSource string `json:"encryptionSource,omitempty"`
6681
6682	// Kind: Identifies what kind of resource this is. Value: the fixed
6683	// string "dfareporting#encryptionInfo".
6684	Kind string `json:"kind,omitempty"`
6685
6686	// ForceSendFields is a list of field names (e.g. "EncryptionEntityId")
6687	// to 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. "EncryptionEntityId") to
6695	// include in API requests with the JSON null value. By default, fields
6696	// with empty values are omitted from API requests. However, any field
6697	// with an empty value appearing in NullFields will be sent to the
6698	// server as null. It is an error if a field in this list has a
6699	// non-empty value. This may be used to include null fields in Patch
6700	// requests.
6701	NullFields []string `json:"-"`
6702}
6703
6704func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
6705	type NoMethod EncryptionInfo
6706	raw := NoMethod(*s)
6707	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6708}
6709
6710// EventTag: Contains properties of an event tag.
6711type EventTag struct {
6712	// AccountId: Account ID of this event tag. This is a read-only field
6713	// that can be left blank.
6714	AccountId int64 `json:"accountId,omitempty,string"`
6715
6716	// AdvertiserId: Advertiser ID of this event tag. This field or the
6717	// campaignId field is required on insertion.
6718	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
6719
6720	// AdvertiserIdDimensionValue: Dimension value for the ID of the
6721	// advertiser. This is a read-only, auto-generated field.
6722	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
6723
6724	// CampaignId: Campaign ID of this event tag. This field or the
6725	// advertiserId field is required on insertion.
6726	CampaignId int64 `json:"campaignId,omitempty,string"`
6727
6728	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
6729	// This is a read-only, auto-generated field.
6730	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
6731
6732	// EnabledByDefault: Whether this event tag should be automatically
6733	// enabled for all of the advertiser's campaigns and ads.
6734	EnabledByDefault bool `json:"enabledByDefault,omitempty"`
6735
6736	// ExcludeFromAdxRequests: Whether to remove this event tag from ads
6737	// that are trafficked through Display & Video 360 to Ad Exchange. This
6738	// may be useful if the event tag uses a pixel that is unapproved for Ad
6739	// Exchange bids on one or more networks, such as the Google Display
6740	// Network.
6741	ExcludeFromAdxRequests bool `json:"excludeFromAdxRequests,omitempty"`
6742
6743	// Id: ID of this event tag. This is a read-only, auto-generated field.
6744	Id int64 `json:"id,omitempty,string"`
6745
6746	// Kind: Identifies what kind of resource this is. Value: the fixed
6747	// string "dfareporting#eventTag".
6748	Kind string `json:"kind,omitempty"`
6749
6750	// Name: Name of this event tag. This is a required field and must be
6751	// less than 256 characters long.
6752	Name string `json:"name,omitempty"`
6753
6754	// SiteFilterType: Site filter type for this event tag. If no type is
6755	// specified then the event tag will be applied to all sites.
6756	//
6757	// Possible values:
6758	//   "WHITELIST"
6759	//   "BLACKLIST"
6760	SiteFilterType string `json:"siteFilterType,omitempty"`
6761
6762	// SiteIds: Filter list of site IDs associated with this event tag. The
6763	// siteFilterType determines whether this is a allowlist or blocklist
6764	// filter.
6765	SiteIds googleapi.Int64s `json:"siteIds,omitempty"`
6766
6767	// SslCompliant: Whether this tag is SSL-compliant or not. This is a
6768	// read-only field.
6769	SslCompliant bool `json:"sslCompliant,omitempty"`
6770
6771	// Status: Status of this event tag. Must be ENABLED for this event tag
6772	// to fire. This is a required field.
6773	//
6774	// Possible values:
6775	//   "ENABLED"
6776	//   "DISABLED"
6777	Status string `json:"status,omitempty"`
6778
6779	// SubaccountId: Subaccount ID of this event tag. This is a read-only
6780	// field that can be left blank.
6781	SubaccountId int64 `json:"subaccountId,omitempty,string"`
6782
6783	// Type: Event tag type. Can be used to specify whether to use a
6784	// third-party pixel, a third-party JavaScript URL, or a third-party
6785	// click-through URL for either impression or click tracking. This is a
6786	// required field.
6787	//
6788	// Possible values:
6789	//   "IMPRESSION_IMAGE_EVENT_TAG"
6790	//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
6791	//   "CLICK_THROUGH_EVENT_TAG"
6792	Type string `json:"type,omitempty"`
6793
6794	// Url: Payload URL for this event tag. The URL on a click-through event
6795	// tag should have a landing page URL appended to the end of it. This
6796	// field is required on insertion.
6797	Url string `json:"url,omitempty"`
6798
6799	// UrlEscapeLevels: Number of times the landing page URL should be
6800	// URL-escaped before being appended to the click-through event tag URL.
6801	// Only applies to click-through event tags as specified by the event
6802	// tag type.
6803	UrlEscapeLevels int64 `json:"urlEscapeLevels,omitempty"`
6804
6805	// ServerResponse contains the HTTP response code and headers from the
6806	// server.
6807	googleapi.ServerResponse `json:"-"`
6808
6809	// ForceSendFields is a list of field names (e.g. "AccountId") to
6810	// unconditionally include in API requests. By default, fields with
6811	// empty values are omitted from API requests. However, any non-pointer,
6812	// non-interface field appearing in ForceSendFields will be sent to the
6813	// server regardless of whether the field is empty or not. This may be
6814	// used to include empty fields in Patch requests.
6815	ForceSendFields []string `json:"-"`
6816
6817	// NullFields is a list of field names (e.g. "AccountId") to include in
6818	// API requests with the JSON null value. By default, fields with empty
6819	// values are omitted from API requests. However, any field with an
6820	// empty value appearing in NullFields will be sent to the server as
6821	// null. It is an error if a field in this list has a non-empty value.
6822	// This may be used to include null fields in Patch requests.
6823	NullFields []string `json:"-"`
6824}
6825
6826func (s *EventTag) MarshalJSON() ([]byte, error) {
6827	type NoMethod EventTag
6828	raw := NoMethod(*s)
6829	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6830}
6831
6832// EventTagOverride: Event tag override information.
6833type EventTagOverride struct {
6834	// Enabled: Whether this override is enabled.
6835	Enabled bool `json:"enabled,omitempty"`
6836
6837	// Id: ID of this event tag override. This is a read-only,
6838	// auto-generated field.
6839	Id int64 `json:"id,omitempty,string"`
6840
6841	// ForceSendFields is a list of field names (e.g. "Enabled") to
6842	// unconditionally include in API requests. By default, fields with
6843	// empty values are omitted from API requests. However, any non-pointer,
6844	// non-interface field appearing in ForceSendFields will be sent to the
6845	// server regardless of whether the field is empty or not. This may be
6846	// used to include empty fields in Patch requests.
6847	ForceSendFields []string `json:"-"`
6848
6849	// NullFields is a list of field names (e.g. "Enabled") to include in
6850	// API requests with the JSON null value. By default, fields with empty
6851	// values are omitted from API requests. However, any field with an
6852	// empty value appearing in NullFields will be sent to the server as
6853	// null. It is an error if a field in this list has a non-empty value.
6854	// This may be used to include null fields in Patch requests.
6855	NullFields []string `json:"-"`
6856}
6857
6858func (s *EventTagOverride) MarshalJSON() ([]byte, error) {
6859	type NoMethod EventTagOverride
6860	raw := NoMethod(*s)
6861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6862}
6863
6864// EventTagsListResponse: Event Tag List Response
6865type EventTagsListResponse struct {
6866	// EventTags: Event tag collection.
6867	EventTags []*EventTag `json:"eventTags,omitempty"`
6868
6869	// Kind: Identifies what kind of resource this is. Value: the fixed
6870	// string "dfareporting#eventTagsListResponse".
6871	Kind string `json:"kind,omitempty"`
6872
6873	// ServerResponse contains the HTTP response code and headers from the
6874	// server.
6875	googleapi.ServerResponse `json:"-"`
6876
6877	// ForceSendFields is a list of field names (e.g. "EventTags") to
6878	// unconditionally include in API requests. By default, fields with
6879	// empty values are omitted from API requests. However, any non-pointer,
6880	// non-interface field appearing in ForceSendFields will be sent to the
6881	// server regardless of whether the field is empty or not. This may be
6882	// used to include empty fields in Patch requests.
6883	ForceSendFields []string `json:"-"`
6884
6885	// NullFields is a list of field names (e.g. "EventTags") to include in
6886	// API requests with the JSON null value. By default, fields with empty
6887	// values are omitted from API requests. However, any field with an
6888	// empty value appearing in NullFields will be sent to the server as
6889	// null. It is an error if a field in this list has a non-empty value.
6890	// This may be used to include null fields in Patch requests.
6891	NullFields []string `json:"-"`
6892}
6893
6894func (s *EventTagsListResponse) MarshalJSON() ([]byte, error) {
6895	type NoMethod EventTagsListResponse
6896	raw := NoMethod(*s)
6897	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6898}
6899
6900// File: Represents a File resource. A file contains the metadata for a
6901// report run. It shows the status of the run and holds the URLs to the
6902// generated report data if the run is finished and the status is
6903// "REPORT_AVAILABLE".
6904type File struct {
6905	// DateRange: The date range for which the file has report data. The
6906	// date range will always be the absolute date range for which the
6907	// report is run.
6908	DateRange *DateRange `json:"dateRange,omitempty"`
6909
6910	// Etag: Etag of this resource.
6911	Etag string `json:"etag,omitempty"`
6912
6913	// FileName: The filename of the file.
6914	FileName string `json:"fileName,omitempty"`
6915
6916	// Format: The output format of the report. Only available once the file
6917	// is available.
6918	//
6919	// Possible values:
6920	//   "CSV"
6921	//   "EXCEL"
6922	Format string `json:"format,omitempty"`
6923
6924	// Id: The unique ID of this report file.
6925	Id int64 `json:"id,omitempty,string"`
6926
6927	// Kind: Identifies what kind of resource this is. Value: the fixed
6928	// string "dfareporting#file".
6929	Kind string `json:"kind,omitempty"`
6930
6931	// LastModifiedTime: The timestamp in milliseconds since epoch when this
6932	// file was last modified.
6933	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
6934
6935	// ReportId: The ID of the report this file was generated from.
6936	ReportId int64 `json:"reportId,omitempty,string"`
6937
6938	// Status: The status of the report file.
6939	//
6940	// Possible values:
6941	//   "PROCESSING"
6942	//   "REPORT_AVAILABLE"
6943	//   "FAILED"
6944	//   "CANCELLED"
6945	Status string `json:"status,omitempty"`
6946
6947	// Urls: The URLs where the completed report file can be downloaded.
6948	Urls *FileUrls `json:"urls,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. "DateRange") to
6955	// unconditionally include in API requests. By default, fields with
6956	// empty values are omitted from API requests. However, any non-pointer,
6957	// non-interface field appearing in ForceSendFields will be sent to the
6958	// server regardless of whether the field is empty or not. This may be
6959	// used to include empty fields in Patch requests.
6960	ForceSendFields []string `json:"-"`
6961
6962	// NullFields is a list of field names (e.g. "DateRange") to include in
6963	// API requests with the JSON null value. By default, fields with empty
6964	// values are omitted from API requests. However, any field with an
6965	// empty value appearing in NullFields will be sent to the server as
6966	// null. It is an error if a field in this list has a non-empty value.
6967	// This may be used to include null fields in Patch requests.
6968	NullFields []string `json:"-"`
6969}
6970
6971func (s *File) MarshalJSON() ([]byte, error) {
6972	type NoMethod File
6973	raw := NoMethod(*s)
6974	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6975}
6976
6977// FileUrls: The URLs where the completed report file can be downloaded.
6978type FileUrls struct {
6979	// ApiUrl: The URL for downloading the report data through the API.
6980	ApiUrl string `json:"apiUrl,omitempty"`
6981
6982	// BrowserUrl: The URL for downloading the report data through a
6983	// browser.
6984	BrowserUrl string `json:"browserUrl,omitempty"`
6985
6986	// ForceSendFields is a list of field names (e.g. "ApiUrl") to
6987	// unconditionally include in API requests. By default, fields with
6988	// empty values are omitted from API requests. However, any non-pointer,
6989	// non-interface field appearing in ForceSendFields will be sent to the
6990	// server regardless of whether the field is empty or not. This may be
6991	// used to include empty fields in Patch requests.
6992	ForceSendFields []string `json:"-"`
6993
6994	// NullFields is a list of field names (e.g. "ApiUrl") to include in API
6995	// requests with the JSON null value. By default, fields with empty
6996	// values are omitted from API requests. However, any field with an
6997	// empty value appearing in NullFields will be sent to the server as
6998	// null. It is an error if a field in this list has a non-empty value.
6999	// This may be used to include null fields in Patch requests.
7000	NullFields []string `json:"-"`
7001}
7002
7003func (s *FileUrls) MarshalJSON() ([]byte, error) {
7004	type NoMethod FileUrls
7005	raw := NoMethod(*s)
7006	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7007}
7008
7009// FileList: List of files for a report.
7010type FileList struct {
7011	// Etag: Etag of this resource.
7012	Etag string `json:"etag,omitempty"`
7013
7014	// Items: The files returned in this response.
7015	Items []*File `json:"items,omitempty"`
7016
7017	// Kind: Identifies what kind of resource this is. Value: the fixed
7018	// string "dfareporting#fileList".
7019	Kind string `json:"kind,omitempty"`
7020
7021	// NextPageToken: Continuation token used to page through files. To
7022	// retrieve the next page of results, set the next request's "pageToken"
7023	// to the value of this field. The page token is only valid for a
7024	// limited amount of time and should not be persisted.
7025	NextPageToken string `json:"nextPageToken,omitempty"`
7026
7027	// ServerResponse contains the HTTP response code and headers from the
7028	// server.
7029	googleapi.ServerResponse `json:"-"`
7030
7031	// ForceSendFields is a list of field names (e.g. "Etag") to
7032	// unconditionally include in API requests. By default, fields with
7033	// empty values are omitted from API requests. However, any non-pointer,
7034	// non-interface field appearing in ForceSendFields will be sent to the
7035	// server regardless of whether the field is empty or not. This may be
7036	// used to include empty fields in Patch requests.
7037	ForceSendFields []string `json:"-"`
7038
7039	// NullFields is a list of field names (e.g. "Etag") to include in API
7040	// requests with the JSON null value. By default, fields with empty
7041	// values are omitted from API requests. However, any field with an
7042	// empty value appearing in NullFields will be sent to the server as
7043	// null. It is an error if a field in this list has a non-empty value.
7044	// This may be used to include null fields in Patch requests.
7045	NullFields []string `json:"-"`
7046}
7047
7048func (s *FileList) MarshalJSON() ([]byte, error) {
7049	type NoMethod FileList
7050	raw := NoMethod(*s)
7051	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7052}
7053
7054// Flight: Flight
7055type Flight struct {
7056	EndDate string `json:"endDate,omitempty"`
7057
7058	// RateOrCost: Rate or cost of this flight.
7059	RateOrCost int64 `json:"rateOrCost,omitempty,string"`
7060
7061	StartDate string `json:"startDate,omitempty"`
7062
7063	// Units: Units of this flight.
7064	Units int64 `json:"units,omitempty,string"`
7065
7066	// ForceSendFields is a list of field names (e.g. "EndDate") to
7067	// unconditionally include in API requests. By default, fields with
7068	// empty values are omitted from API requests. However, any non-pointer,
7069	// non-interface field appearing in ForceSendFields will be sent to the
7070	// server regardless of whether the field is empty or not. This may be
7071	// used to include empty fields in Patch requests.
7072	ForceSendFields []string `json:"-"`
7073
7074	// NullFields is a list of field names (e.g. "EndDate") to include in
7075	// API requests with the JSON null value. By default, fields with empty
7076	// values are omitted from API requests. However, any field with an
7077	// empty value appearing in NullFields will be sent to the server as
7078	// null. It is an error if a field in this list has a non-empty value.
7079	// This may be used to include null fields in Patch requests.
7080	NullFields []string `json:"-"`
7081}
7082
7083func (s *Flight) MarshalJSON() ([]byte, error) {
7084	type NoMethod Flight
7085	raw := NoMethod(*s)
7086	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7087}
7088
7089// FloodlightActivitiesGenerateTagResponse: Floodlight Activity
7090// GenerateTag Response
7091type FloodlightActivitiesGenerateTagResponse struct {
7092	// FloodlightActivityTag: Generated tag for this Floodlight activity.
7093	// For global site tags, this is the event snippet.
7094	FloodlightActivityTag string `json:"floodlightActivityTag,omitempty"`
7095
7096	// GlobalSiteTagGlobalSnippet: The global snippet section of a global
7097	// site tag. The global site tag sets new cookies on your domain, which
7098	// will store a unique identifier for a user or the ad click that
7099	// brought the user to your site. Learn more.
7100	GlobalSiteTagGlobalSnippet string `json:"globalSiteTagGlobalSnippet,omitempty"`
7101
7102	// Kind: Identifies what kind of resource this is. Value: the fixed
7103	// string "dfareporting#floodlightActivitiesGenerateTagResponse".
7104	Kind string `json:"kind,omitempty"`
7105
7106	// ServerResponse contains the HTTP response code and headers from the
7107	// server.
7108	googleapi.ServerResponse `json:"-"`
7109
7110	// ForceSendFields is a list of field names (e.g.
7111	// "FloodlightActivityTag") to unconditionally include in API requests.
7112	// By default, fields with empty values are omitted from API requests.
7113	// However, any non-pointer, non-interface field appearing in
7114	// ForceSendFields will be sent to the server regardless of whether the
7115	// field is empty or not. This may be used to include empty fields in
7116	// Patch requests.
7117	ForceSendFields []string `json:"-"`
7118
7119	// NullFields is a list of field names (e.g. "FloodlightActivityTag") to
7120	// include in API requests with the JSON null value. By default, fields
7121	// with empty values are omitted from API requests. However, any field
7122	// with an empty value appearing in NullFields will be sent to the
7123	// server as null. It is an error if a field in this list has a
7124	// non-empty value. This may be used to include null fields in Patch
7125	// requests.
7126	NullFields []string `json:"-"`
7127}
7128
7129func (s *FloodlightActivitiesGenerateTagResponse) MarshalJSON() ([]byte, error) {
7130	type NoMethod FloodlightActivitiesGenerateTagResponse
7131	raw := NoMethod(*s)
7132	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7133}
7134
7135// FloodlightActivitiesListResponse: Floodlight Activity List Response
7136type FloodlightActivitiesListResponse struct {
7137	// FloodlightActivities: Floodlight activity collection.
7138	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
7139
7140	// Kind: Identifies what kind of resource this is. Value: the fixed
7141	// string "dfareporting#floodlightActivitiesListResponse".
7142	Kind string `json:"kind,omitempty"`
7143
7144	// NextPageToken: Pagination token to be used for the next list
7145	// operation.
7146	NextPageToken string `json:"nextPageToken,omitempty"`
7147
7148	// ServerResponse contains the HTTP response code and headers from the
7149	// server.
7150	googleapi.ServerResponse `json:"-"`
7151
7152	// ForceSendFields is a list of field names (e.g.
7153	// "FloodlightActivities") to unconditionally include in API requests.
7154	// By default, fields with empty values are omitted from API requests.
7155	// However, any non-pointer, non-interface field appearing in
7156	// ForceSendFields will be sent to the server regardless of whether the
7157	// field is empty or not. This may be used to include empty fields in
7158	// Patch requests.
7159	ForceSendFields []string `json:"-"`
7160
7161	// NullFields is a list of field names (e.g. "FloodlightActivities") to
7162	// include in API requests with the JSON null value. By default, fields
7163	// with empty values are omitted from API requests. However, any field
7164	// with an empty value appearing in NullFields will be sent to the
7165	// server as null. It is an error if a field in this list has a
7166	// non-empty value. This may be used to include null fields in Patch
7167	// requests.
7168	NullFields []string `json:"-"`
7169}
7170
7171func (s *FloodlightActivitiesListResponse) MarshalJSON() ([]byte, error) {
7172	type NoMethod FloodlightActivitiesListResponse
7173	raw := NoMethod(*s)
7174	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7175}
7176
7177// FloodlightActivity: Contains properties of a Floodlight activity.
7178type FloodlightActivity struct {
7179	// AccountId: Account ID of this floodlight activity. This is a
7180	// read-only field that can be left blank.
7181	AccountId int64 `json:"accountId,omitempty,string"`
7182
7183	// AdvertiserId: Advertiser ID of this floodlight activity. If this
7184	// field is left blank, the value will be copied over either from the
7185	// activity group's advertiser or the existing activity's advertiser.
7186	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7187
7188	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7189	// advertiser. This is a read-only, auto-generated field.
7190	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7191
7192	// CacheBustingType: Code type used for cache busting in the generated
7193	// tag. Applicable only when floodlightActivityGroupType is COUNTER and
7194	// countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.
7195	//
7196	// Possible values:
7197	//   "JAVASCRIPT"
7198	//   "ACTIVE_SERVER_PAGE"
7199	//   "JSP"
7200	//   "PHP"
7201	//   "COLD_FUSION"
7202	CacheBustingType string `json:"cacheBustingType,omitempty"`
7203
7204	// CountingMethod: Counting method for conversions for this floodlight
7205	// activity. This is a required field.
7206	//
7207	// Possible values:
7208	//   "STANDARD_COUNTING"
7209	//   "UNIQUE_COUNTING"
7210	//   "SESSION_COUNTING"
7211	//   "TRANSACTIONS_COUNTING"
7212	//   "ITEMS_SOLD_COUNTING"
7213	CountingMethod string `json:"countingMethod,omitempty"`
7214
7215	// DefaultTags: Dynamic floodlight tags.
7216	DefaultTags []*FloodlightActivityDynamicTag `json:"defaultTags,omitempty"`
7217
7218	// ExpectedUrl: URL where this tag will be deployed. If specified, must
7219	// be less than 256 characters long.
7220	ExpectedUrl string `json:"expectedUrl,omitempty"`
7221
7222	// FloodlightActivityGroupId: Floodlight activity group ID of this
7223	// floodlight activity. This is a required field.
7224	FloodlightActivityGroupId int64 `json:"floodlightActivityGroupId,omitempty,string"`
7225
7226	// FloodlightActivityGroupName: Name of the associated floodlight
7227	// activity group. This is a read-only field.
7228	FloodlightActivityGroupName string `json:"floodlightActivityGroupName,omitempty"`
7229
7230	// FloodlightActivityGroupTagString: Tag string of the associated
7231	// floodlight activity group. This is a read-only field.
7232	FloodlightActivityGroupTagString string `json:"floodlightActivityGroupTagString,omitempty"`
7233
7234	// FloodlightActivityGroupType: Type of the associated floodlight
7235	// activity group. This is a read-only field.
7236	//
7237	// Possible values:
7238	//   "COUNTER"
7239	//   "SALE"
7240	FloodlightActivityGroupType string `json:"floodlightActivityGroupType,omitempty"`
7241
7242	// FloodlightConfigurationId: Floodlight configuration ID of this
7243	// floodlight activity. If this field is left blank, the value will be
7244	// copied over either from the activity group's floodlight configuration
7245	// or from the existing activity's floodlight configuration.
7246	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
7247
7248	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
7249	// of the floodlight configuration. This is a read-only, auto-generated
7250	// field.
7251	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
7252
7253	// FloodlightTagType: The type of Floodlight tag this activity will
7254	// generate. This is a required field.
7255	//
7256	// Possible values:
7257	//   "IFRAME"
7258	//   "IMAGE"
7259	//   "GLOBAL_SITE_TAG"
7260	FloodlightTagType string `json:"floodlightTagType,omitempty"`
7261
7262	// Hidden: Whether this activity is archived.
7263	Hidden bool `json:"hidden,omitempty"`
7264
7265	// Id: ID of this floodlight activity. This is a read-only,
7266	// auto-generated field.
7267	Id int64 `json:"id,omitempty,string"`
7268
7269	// IdDimensionValue: Dimension value for the ID of this floodlight
7270	// activity. This is a read-only, auto-generated field.
7271	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7272
7273	// Kind: Identifies what kind of resource this is. Value: the fixed
7274	// string "dfareporting#floodlightActivity".
7275	Kind string `json:"kind,omitempty"`
7276
7277	// Name: Name of this floodlight activity. This is a required field.
7278	// Must be less than 129 characters long and cannot contain quotes.
7279	Name string `json:"name,omitempty"`
7280
7281	// Notes: General notes or implementation instructions for the tag.
7282	Notes string `json:"notes,omitempty"`
7283
7284	// PublisherTags: Publisher dynamic floodlight tags.
7285	PublisherTags []*FloodlightActivityPublisherDynamicTag `json:"publisherTags,omitempty"`
7286
7287	// Secure: Whether this tag should use SSL.
7288	Secure bool `json:"secure,omitempty"`
7289
7290	// SslCompliant: Whether the floodlight activity is SSL-compliant. This
7291	// is a read-only field, its value detected by the system from the
7292	// floodlight tags.
7293	SslCompliant bool `json:"sslCompliant,omitempty"`
7294
7295	// SslRequired: Whether this floodlight activity must be SSL-compliant.
7296	SslRequired bool `json:"sslRequired,omitempty"`
7297
7298	// SubaccountId: Subaccount ID of this floodlight activity. This is a
7299	// read-only field that can be left blank.
7300	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7301
7302	// TagFormat: Tag format type for the floodlight activity. If left
7303	// blank, the tag format will default to HTML.
7304	//
7305	// Possible values:
7306	//   "HTML"
7307	//   "XHTML"
7308	TagFormat string `json:"tagFormat,omitempty"`
7309
7310	// TagString: Value of the cat= parameter in the floodlight tag, which
7311	// the ad servers use to identify the activity. This is optional: if
7312	// empty, a new tag string will be generated for you. This string must
7313	// be 1 to 8 characters long, with valid characters being a-z0-9[ _ ].
7314	// This tag string must also be unique among activities of the same
7315	// activity group. This field is read-only after insertion.
7316	TagString string `json:"tagString,omitempty"`
7317
7318	// UserDefinedVariableTypes: List of the user-defined variables used by
7319	// this conversion tag. These map to the "u[1-100]=" in the tags. Each
7320	// of these can have a user defined type. Acceptable values are U1 to
7321	// U100, inclusive.
7322	//
7323	// Possible values:
7324	//   "U1"
7325	//   "U2"
7326	//   "U3"
7327	//   "U4"
7328	//   "U5"
7329	//   "U6"
7330	//   "U7"
7331	//   "U8"
7332	//   "U9"
7333	//   "U10"
7334	//   "U11"
7335	//   "U12"
7336	//   "U13"
7337	//   "U14"
7338	//   "U15"
7339	//   "U16"
7340	//   "U17"
7341	//   "U18"
7342	//   "U19"
7343	//   "U20"
7344	//   "U21"
7345	//   "U22"
7346	//   "U23"
7347	//   "U24"
7348	//   "U25"
7349	//   "U26"
7350	//   "U27"
7351	//   "U28"
7352	//   "U29"
7353	//   "U30"
7354	//   "U31"
7355	//   "U32"
7356	//   "U33"
7357	//   "U34"
7358	//   "U35"
7359	//   "U36"
7360	//   "U37"
7361	//   "U38"
7362	//   "U39"
7363	//   "U40"
7364	//   "U41"
7365	//   "U42"
7366	//   "U43"
7367	//   "U44"
7368	//   "U45"
7369	//   "U46"
7370	//   "U47"
7371	//   "U48"
7372	//   "U49"
7373	//   "U50"
7374	//   "U51"
7375	//   "U52"
7376	//   "U53"
7377	//   "U54"
7378	//   "U55"
7379	//   "U56"
7380	//   "U57"
7381	//   "U58"
7382	//   "U59"
7383	//   "U60"
7384	//   "U61"
7385	//   "U62"
7386	//   "U63"
7387	//   "U64"
7388	//   "U65"
7389	//   "U66"
7390	//   "U67"
7391	//   "U68"
7392	//   "U69"
7393	//   "U70"
7394	//   "U71"
7395	//   "U72"
7396	//   "U73"
7397	//   "U74"
7398	//   "U75"
7399	//   "U76"
7400	//   "U77"
7401	//   "U78"
7402	//   "U79"
7403	//   "U80"
7404	//   "U81"
7405	//   "U82"
7406	//   "U83"
7407	//   "U84"
7408	//   "U85"
7409	//   "U86"
7410	//   "U87"
7411	//   "U88"
7412	//   "U89"
7413	//   "U90"
7414	//   "U91"
7415	//   "U92"
7416	//   "U93"
7417	//   "U94"
7418	//   "U95"
7419	//   "U96"
7420	//   "U97"
7421	//   "U98"
7422	//   "U99"
7423	//   "U100"
7424	UserDefinedVariableTypes []string `json:"userDefinedVariableTypes,omitempty"`
7425
7426	// ServerResponse contains the HTTP response code and headers from the
7427	// server.
7428	googleapi.ServerResponse `json:"-"`
7429
7430	// ForceSendFields is a list of field names (e.g. "AccountId") to
7431	// unconditionally include in API requests. By default, fields with
7432	// empty values are omitted from API requests. However, any non-pointer,
7433	// non-interface field appearing in ForceSendFields will be sent to the
7434	// server regardless of whether the field is empty or not. This may be
7435	// used to include empty fields in Patch requests.
7436	ForceSendFields []string `json:"-"`
7437
7438	// NullFields is a list of field names (e.g. "AccountId") to include in
7439	// API requests with the JSON null value. By default, fields with empty
7440	// values are omitted from API requests. However, any field with an
7441	// empty value appearing in NullFields will be sent to the server as
7442	// null. It is an error if a field in this list has a non-empty value.
7443	// This may be used to include null fields in Patch requests.
7444	NullFields []string `json:"-"`
7445}
7446
7447func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
7448	type NoMethod FloodlightActivity
7449	raw := NoMethod(*s)
7450	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7451}
7452
7453// FloodlightActivityDynamicTag: Dynamic Tag
7454type FloodlightActivityDynamicTag struct {
7455	// Id: ID of this dynamic tag. This is a read-only, auto-generated
7456	// field.
7457	Id int64 `json:"id,omitempty,string"`
7458
7459	// Name: Name of this tag.
7460	Name string `json:"name,omitempty"`
7461
7462	// Tag: Tag code.
7463	Tag string `json:"tag,omitempty"`
7464
7465	// ForceSendFields is a list of field names (e.g. "Id") to
7466	// unconditionally include in API requests. By default, fields with
7467	// empty values are omitted from API requests. However, any non-pointer,
7468	// non-interface field appearing in ForceSendFields will be sent to the
7469	// server regardless of whether the field is empty or not. This may be
7470	// used to include empty fields in Patch requests.
7471	ForceSendFields []string `json:"-"`
7472
7473	// NullFields is a list of field names (e.g. "Id") to include in API
7474	// requests with the JSON null value. By default, fields with empty
7475	// values are omitted from API requests. However, any field with an
7476	// empty value appearing in NullFields will be sent to the server as
7477	// null. It is an error if a field in this list has a non-empty value.
7478	// This may be used to include null fields in Patch requests.
7479	NullFields []string `json:"-"`
7480}
7481
7482func (s *FloodlightActivityDynamicTag) MarshalJSON() ([]byte, error) {
7483	type NoMethod FloodlightActivityDynamicTag
7484	raw := NoMethod(*s)
7485	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7486}
7487
7488// FloodlightActivityGroup: Contains properties of a Floodlight activity
7489// group.
7490type FloodlightActivityGroup struct {
7491	// AccountId: Account ID of this floodlight activity group. This is a
7492	// read-only field that can be left blank.
7493	AccountId int64 `json:"accountId,omitempty,string"`
7494
7495	// AdvertiserId: Advertiser ID of this floodlight activity group. If
7496	// this field is left blank, the value will be copied over either from
7497	// the floodlight configuration's advertiser or from the existing
7498	// activity group's advertiser.
7499	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7500
7501	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7502	// advertiser. This is a read-only, auto-generated field.
7503	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7504
7505	// FloodlightConfigurationId: Floodlight configuration ID of this
7506	// floodlight activity group. This is a required field.
7507	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
7508
7509	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
7510	// of the floodlight configuration. This is a read-only, auto-generated
7511	// field.
7512	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
7513
7514	// Id: ID of this floodlight activity group. This is a read-only,
7515	// auto-generated field.
7516	Id int64 `json:"id,omitempty,string"`
7517
7518	// IdDimensionValue: Dimension value for the ID of this floodlight
7519	// activity group. This is a read-only, auto-generated field.
7520	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7521
7522	// Kind: Identifies what kind of resource this is. Value: the fixed
7523	// string "dfareporting#floodlightActivityGroup".
7524	Kind string `json:"kind,omitempty"`
7525
7526	// Name: Name of this floodlight activity group. This is a required
7527	// field. Must be less than 65 characters long and cannot contain
7528	// quotes.
7529	Name string `json:"name,omitempty"`
7530
7531	// SubaccountId: Subaccount ID of this floodlight activity group. This
7532	// is a read-only field that can be left blank.
7533	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7534
7535	// TagString: Value of the type= parameter in the floodlight tag, which
7536	// the ad servers use to identify the activity group that the activity
7537	// belongs to. This is optional: if empty, a new tag string will be
7538	// generated for you. This string must be 1 to 8 characters long, with
7539	// valid characters being a-z0-9[ _ ]. This tag string must also be
7540	// unique among activity groups of the same floodlight configuration.
7541	// This field is read-only after insertion.
7542	TagString string `json:"tagString,omitempty"`
7543
7544	// Type: Type of the floodlight activity group. This is a required field
7545	// that is read-only after insertion.
7546	//
7547	// Possible values:
7548	//   "COUNTER"
7549	//   "SALE"
7550	Type string `json:"type,omitempty"`
7551
7552	// ServerResponse contains the HTTP response code and headers from the
7553	// server.
7554	googleapi.ServerResponse `json:"-"`
7555
7556	// ForceSendFields is a list of field names (e.g. "AccountId") to
7557	// unconditionally include in API requests. By default, fields with
7558	// empty values are omitted from API requests. However, any non-pointer,
7559	// non-interface field appearing in ForceSendFields will be sent to the
7560	// server regardless of whether the field is empty or not. This may be
7561	// used to include empty fields in Patch requests.
7562	ForceSendFields []string `json:"-"`
7563
7564	// NullFields is a list of field names (e.g. "AccountId") to include in
7565	// API requests with the JSON null value. By default, fields with empty
7566	// values are omitted from API requests. However, any field with an
7567	// empty value appearing in NullFields will be sent to the server as
7568	// null. It is an error if a field in this list has a non-empty value.
7569	// This may be used to include null fields in Patch requests.
7570	NullFields []string `json:"-"`
7571}
7572
7573func (s *FloodlightActivityGroup) MarshalJSON() ([]byte, error) {
7574	type NoMethod FloodlightActivityGroup
7575	raw := NoMethod(*s)
7576	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7577}
7578
7579// FloodlightActivityGroupsListResponse: Floodlight Activity Group List
7580// Response
7581type FloodlightActivityGroupsListResponse struct {
7582	// FloodlightActivityGroups: Floodlight activity group collection.
7583	FloodlightActivityGroups []*FloodlightActivityGroup `json:"floodlightActivityGroups,omitempty"`
7584
7585	// Kind: Identifies what kind of resource this is. Value: the fixed
7586	// string "dfareporting#floodlightActivityGroupsListResponse".
7587	Kind string `json:"kind,omitempty"`
7588
7589	// NextPageToken: Pagination token to be used for the next list
7590	// operation.
7591	NextPageToken string `json:"nextPageToken,omitempty"`
7592
7593	// ServerResponse contains the HTTP response code and headers from the
7594	// server.
7595	googleapi.ServerResponse `json:"-"`
7596
7597	// ForceSendFields is a list of field names (e.g.
7598	// "FloodlightActivityGroups") to unconditionally include in API
7599	// requests. By default, fields with empty values are omitted from API
7600	// requests. However, any non-pointer, non-interface field appearing in
7601	// ForceSendFields will be sent to the server regardless of whether the
7602	// field is empty or not. This may be used to include empty fields in
7603	// Patch requests.
7604	ForceSendFields []string `json:"-"`
7605
7606	// NullFields is a list of field names (e.g. "FloodlightActivityGroups")
7607	// to include in API requests with the JSON null value. By default,
7608	// fields with empty values are omitted from API requests. However, any
7609	// field with an empty value appearing in NullFields will be sent to the
7610	// server as null. It is an error if a field in this list has a
7611	// non-empty value. This may be used to include null fields in Patch
7612	// requests.
7613	NullFields []string `json:"-"`
7614}
7615
7616func (s *FloodlightActivityGroupsListResponse) MarshalJSON() ([]byte, error) {
7617	type NoMethod FloodlightActivityGroupsListResponse
7618	raw := NoMethod(*s)
7619	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7620}
7621
7622// FloodlightActivityPublisherDynamicTag: Publisher Dynamic Tag
7623type FloodlightActivityPublisherDynamicTag struct {
7624	// ClickThrough: Whether this tag is applicable only for click-throughs.
7625	ClickThrough bool `json:"clickThrough,omitempty"`
7626
7627	// DirectorySiteId: Directory site ID of this dynamic tag. This is a
7628	// write-only field that can be used as an alternative to the siteId
7629	// field. When this resource is retrieved, only the siteId field will be
7630	// populated.
7631	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
7632
7633	// DynamicTag: Dynamic floodlight tag.
7634	DynamicTag *FloodlightActivityDynamicTag `json:"dynamicTag,omitempty"`
7635
7636	// SiteId: Site ID of this dynamic tag.
7637	SiteId int64 `json:"siteId,omitempty,string"`
7638
7639	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
7640	// a read-only, auto-generated field.
7641	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
7642
7643	// ViewThrough: Whether this tag is applicable only for view-throughs.
7644	ViewThrough bool `json:"viewThrough,omitempty"`
7645
7646	// ForceSendFields is a list of field names (e.g. "ClickThrough") to
7647	// unconditionally include in API requests. By default, fields with
7648	// empty values are omitted from API requests. However, any non-pointer,
7649	// non-interface field appearing in ForceSendFields will be sent to the
7650	// server regardless of whether the field is empty or not. This may be
7651	// used to include empty fields in Patch requests.
7652	ForceSendFields []string `json:"-"`
7653
7654	// NullFields is a list of field names (e.g. "ClickThrough") to include
7655	// in API requests with the JSON null value. By default, fields with
7656	// empty values are omitted from API requests. However, any field with
7657	// an empty value appearing in NullFields will be sent to the server as
7658	// null. It is an error if a field in this list has a non-empty value.
7659	// This may be used to include null fields in Patch requests.
7660	NullFields []string `json:"-"`
7661}
7662
7663func (s *FloodlightActivityPublisherDynamicTag) MarshalJSON() ([]byte, error) {
7664	type NoMethod FloodlightActivityPublisherDynamicTag
7665	raw := NoMethod(*s)
7666	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7667}
7668
7669// FloodlightConfiguration: Contains properties of a Floodlight
7670// configuration.
7671type FloodlightConfiguration struct {
7672	// AccountId: Account ID of this floodlight configuration. This is a
7673	// read-only field that can be left blank.
7674	AccountId int64 `json:"accountId,omitempty,string"`
7675
7676	// AdvertiserId: Advertiser ID of the parent advertiser of this
7677	// floodlight configuration.
7678	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7679
7680	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7681	// advertiser. This is a read-only, auto-generated field.
7682	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7683
7684	// AnalyticsDataSharingEnabled: Whether advertiser data is shared with
7685	// Google Analytics.
7686	AnalyticsDataSharingEnabled bool `json:"analyticsDataSharingEnabled,omitempty"`
7687
7688	// CustomViewabilityMetric: Custom Viewability metric for the floodlight
7689	// configuration.
7690	CustomViewabilityMetric *CustomViewabilityMetric `json:"customViewabilityMetric,omitempty"`
7691
7692	// ExposureToConversionEnabled: Whether the exposure-to-conversion
7693	// report is enabled. This report shows detailed pathway information on
7694	// up to 10 of the most recent ad exposures seen by a user before
7695	// converting.
7696	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
7697
7698	// FirstDayOfWeek: Day that will be counted as the first day of the week
7699	// in reports. This is a required field.
7700	//
7701	// Possible values:
7702	//   "MONDAY"
7703	//   "SUNDAY"
7704	FirstDayOfWeek string `json:"firstDayOfWeek,omitempty"`
7705
7706	// Id: ID of this floodlight configuration. This is a read-only,
7707	// auto-generated field.
7708	Id int64 `json:"id,omitempty,string"`
7709
7710	// IdDimensionValue: Dimension value for the ID of this floodlight
7711	// configuration. This is a read-only, auto-generated field.
7712	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7713
7714	// InAppAttributionTrackingEnabled: Whether in-app attribution tracking
7715	// is enabled.
7716	InAppAttributionTrackingEnabled bool `json:"inAppAttributionTrackingEnabled,omitempty"`
7717
7718	// Kind: Identifies what kind of resource this is. Value: the fixed
7719	// string "dfareporting#floodlightConfiguration".
7720	Kind string `json:"kind,omitempty"`
7721
7722	// LookbackConfiguration: Lookback window settings for this floodlight
7723	// configuration.
7724	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
7725
7726	// NaturalSearchConversionAttributionOption: Types of attribution
7727	// options for natural search conversions.
7728	//
7729	// Possible values:
7730	//   "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
7731	//   "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
7732	//   "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"
7733	NaturalSearchConversionAttributionOption string `json:"naturalSearchConversionAttributionOption,omitempty"`
7734
7735	// OmnitureSettings: Settings for Campaign Manager Omniture integration.
7736	OmnitureSettings *OmnitureSettings `json:"omnitureSettings,omitempty"`
7737
7738	// SubaccountId: Subaccount ID of this floodlight configuration. This is
7739	// a read-only field that can be left blank.
7740	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7741
7742	// TagSettings: Configuration settings for dynamic and image floodlight
7743	// tags.
7744	TagSettings *TagSettings `json:"tagSettings,omitempty"`
7745
7746	// ThirdPartyAuthenticationTokens: List of third-party authentication
7747	// tokens enabled for this configuration.
7748	ThirdPartyAuthenticationTokens []*ThirdPartyAuthenticationToken `json:"thirdPartyAuthenticationTokens,omitempty"`
7749
7750	// UserDefinedVariableConfigurations: List of user defined variables
7751	// enabled for this configuration.
7752	UserDefinedVariableConfigurations []*UserDefinedVariableConfiguration `json:"userDefinedVariableConfigurations,omitempty"`
7753
7754	// ServerResponse contains the HTTP response code and headers from the
7755	// server.
7756	googleapi.ServerResponse `json:"-"`
7757
7758	// ForceSendFields is a list of field names (e.g. "AccountId") to
7759	// unconditionally include in API requests. By default, fields with
7760	// empty values are omitted from API requests. However, any non-pointer,
7761	// non-interface field appearing in ForceSendFields will be sent to the
7762	// server regardless of whether the field is empty or not. This may be
7763	// used to include empty fields in Patch requests.
7764	ForceSendFields []string `json:"-"`
7765
7766	// NullFields is a list of field names (e.g. "AccountId") to include in
7767	// API requests with the JSON null value. By default, fields with empty
7768	// values are omitted from API requests. However, any field with an
7769	// empty value appearing in NullFields will be sent to the server as
7770	// null. It is an error if a field in this list has a non-empty value.
7771	// This may be used to include null fields in Patch requests.
7772	NullFields []string `json:"-"`
7773}
7774
7775func (s *FloodlightConfiguration) MarshalJSON() ([]byte, error) {
7776	type NoMethod FloodlightConfiguration
7777	raw := NoMethod(*s)
7778	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7779}
7780
7781// FloodlightConfigurationsListResponse: Floodlight Configuration List
7782// Response
7783type FloodlightConfigurationsListResponse struct {
7784	// FloodlightConfigurations: Floodlight configuration collection.
7785	FloodlightConfigurations []*FloodlightConfiguration `json:"floodlightConfigurations,omitempty"`
7786
7787	// Kind: Identifies what kind of resource this is. Value: the fixed
7788	// string "dfareporting#floodlightConfigurationsListResponse".
7789	Kind string `json:"kind,omitempty"`
7790
7791	// ServerResponse contains the HTTP response code and headers from the
7792	// server.
7793	googleapi.ServerResponse `json:"-"`
7794
7795	// ForceSendFields is a list of field names (e.g.
7796	// "FloodlightConfigurations") to unconditionally include in API
7797	// requests. By default, fields with empty values are omitted from API
7798	// requests. However, any non-pointer, non-interface field appearing in
7799	// ForceSendFields will be sent to the server regardless of whether the
7800	// field is empty or not. This may be used to include empty fields in
7801	// Patch requests.
7802	ForceSendFields []string `json:"-"`
7803
7804	// NullFields is a list of field names (e.g. "FloodlightConfigurations")
7805	// to include in API requests with the JSON null value. By default,
7806	// fields with empty values are omitted from API requests. However, any
7807	// field with an empty value appearing in NullFields will be sent to the
7808	// server as null. It is an error if a field in this list has a
7809	// non-empty value. This may be used to include null fields in Patch
7810	// requests.
7811	NullFields []string `json:"-"`
7812}
7813
7814func (s *FloodlightConfigurationsListResponse) MarshalJSON() ([]byte, error) {
7815	type NoMethod FloodlightConfigurationsListResponse
7816	raw := NoMethod(*s)
7817	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7818}
7819
7820// FloodlightReportCompatibleFields: Represents fields that are
7821// compatible to be selected for a report of type "FlOODLIGHT".
7822type FloodlightReportCompatibleFields struct {
7823	// DimensionFilters: Dimensions which are compatible to be selected in
7824	// the "dimensionFilters" section of the report.
7825	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
7826
7827	// Dimensions: Dimensions which are compatible to be selected in the
7828	// "dimensions" section of the report.
7829	Dimensions []*Dimension `json:"dimensions,omitempty"`
7830
7831	// Kind: The kind of resource this is, in this case
7832	// dfareporting#floodlightReportCompatibleFields.
7833	Kind string `json:"kind,omitempty"`
7834
7835	// Metrics: Metrics which are compatible to be selected in the
7836	// "metricNames" section of the report.
7837	Metrics []*Metric `json:"metrics,omitempty"`
7838
7839	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
7840	// unconditionally include in API requests. By default, fields with
7841	// empty values are omitted from API requests. However, any non-pointer,
7842	// non-interface field appearing in ForceSendFields will be sent to the
7843	// server regardless of whether the field is empty or not. This may be
7844	// used to include empty fields in Patch requests.
7845	ForceSendFields []string `json:"-"`
7846
7847	// NullFields is a list of field names (e.g. "DimensionFilters") to
7848	// include in API requests with the JSON null value. By default, fields
7849	// with empty values are omitted from API requests. However, any field
7850	// with an empty value appearing in NullFields will be sent to the
7851	// server as null. It is an error if a field in this list has a
7852	// non-empty value. This may be used to include null fields in Patch
7853	// requests.
7854	NullFields []string `json:"-"`
7855}
7856
7857func (s *FloodlightReportCompatibleFields) MarshalJSON() ([]byte, error) {
7858	type NoMethod FloodlightReportCompatibleFields
7859	raw := NoMethod(*s)
7860	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7861}
7862
7863// FrequencyCap: Frequency Cap.
7864type FrequencyCap struct {
7865	// Duration: Duration of time, in seconds, for this frequency cap. The
7866	// maximum duration is 90 days. Acceptable values are 1 to 7776000,
7867	// inclusive.
7868	Duration int64 `json:"duration,omitempty,string"`
7869
7870	// Impressions: Number of times an individual user can be served the ad
7871	// within the specified duration. Acceptable values are 1 to 15,
7872	// inclusive.
7873	Impressions int64 `json:"impressions,omitempty,string"`
7874
7875	// ForceSendFields is a list of field names (e.g. "Duration") to
7876	// unconditionally include in API requests. By default, fields with
7877	// empty values are omitted from API requests. However, any non-pointer,
7878	// non-interface field appearing in ForceSendFields will be sent to the
7879	// server regardless of whether the field is empty or not. This may be
7880	// used to include empty fields in Patch requests.
7881	ForceSendFields []string `json:"-"`
7882
7883	// NullFields is a list of field names (e.g. "Duration") to include in
7884	// API requests with the JSON null value. By default, fields with empty
7885	// values are omitted from API requests. However, any field with an
7886	// empty value appearing in NullFields will be sent to the server as
7887	// null. It is an error if a field in this list has a non-empty value.
7888	// This may be used to include null fields in Patch requests.
7889	NullFields []string `json:"-"`
7890}
7891
7892func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
7893	type NoMethod FrequencyCap
7894	raw := NoMethod(*s)
7895	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7896}
7897
7898// FsCommand: FsCommand.
7899type FsCommand struct {
7900	// Left: Distance from the left of the browser.Applicable when
7901	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
7902	Left int64 `json:"left,omitempty"`
7903
7904	// PositionOption: Position in the browser where the window will open.
7905	//
7906	// Possible values:
7907	//   "CENTERED"
7908	//   "DISTANCE_FROM_TOP_LEFT_CORNER"
7909	PositionOption string `json:"positionOption,omitempty"`
7910
7911	// Top: Distance from the top of the browser. Applicable when
7912	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
7913	Top int64 `json:"top,omitempty"`
7914
7915	// WindowHeight: Height of the window.
7916	WindowHeight int64 `json:"windowHeight,omitempty"`
7917
7918	// WindowWidth: Width of the window.
7919	WindowWidth int64 `json:"windowWidth,omitempty"`
7920
7921	// ForceSendFields is a list of field names (e.g. "Left") to
7922	// unconditionally include in API requests. By default, fields with
7923	// empty values are omitted from API requests. However, any non-pointer,
7924	// non-interface field appearing in ForceSendFields will be sent to the
7925	// server regardless of whether the field is empty or not. This may be
7926	// used to include empty fields in Patch requests.
7927	ForceSendFields []string `json:"-"`
7928
7929	// NullFields is a list of field names (e.g. "Left") to include in API
7930	// requests with the JSON null value. By default, fields with empty
7931	// values are omitted from API requests. However, any field with an
7932	// empty value appearing in NullFields will be sent to the server as
7933	// null. It is an error if a field in this list has a non-empty value.
7934	// This may be used to include null fields in Patch requests.
7935	NullFields []string `json:"-"`
7936}
7937
7938func (s *FsCommand) MarshalJSON() ([]byte, error) {
7939	type NoMethod FsCommand
7940	raw := NoMethod(*s)
7941	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7942}
7943
7944// GeoTargeting: Geographical Targeting.
7945type GeoTargeting struct {
7946	// Cities: Cities to be targeted. For each city only dartId is required.
7947	// The other fields are populated automatically when the ad is inserted
7948	// or updated. If targeting a city, do not target or exclude the country
7949	// of the city, and do not target the metro or region of the city.
7950	Cities []*City `json:"cities,omitempty"`
7951
7952	// Countries: Countries to be targeted or excluded from targeting,
7953	// depending on the setting of the excludeCountries field. For each
7954	// country only dartId is required. The other fields are populated
7955	// automatically when the ad is inserted or updated. If targeting or
7956	// excluding a country, do not target regions, cities, metros, or postal
7957	// codes in the same country.
7958	Countries []*Country `json:"countries,omitempty"`
7959
7960	// ExcludeCountries: Whether or not to exclude the countries in the
7961	// countries field from targeting. If false, the countries field refers
7962	// to countries which will be targeted by the ad.
7963	ExcludeCountries bool `json:"excludeCountries,omitempty"`
7964
7965	// Metros: Metros to be targeted. For each metro only dmaId is required.
7966	// The other fields are populated automatically when the ad is inserted
7967	// or updated. If targeting a metro, do not target or exclude the
7968	// country of the metro.
7969	Metros []*Metro `json:"metros,omitempty"`
7970
7971	// PostalCodes: Postal codes to be targeted. For each postal code only
7972	// id is required. The other fields are populated automatically when the
7973	// ad is inserted or updated. If targeting a postal code, do not target
7974	// or exclude the country of the postal code.
7975	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
7976
7977	// Regions: Regions to be targeted. For each region only dartId is
7978	// required. The other fields are populated automatically when the ad is
7979	// inserted or updated. If targeting a region, do not target or exclude
7980	// the country of the region.
7981	Regions []*Region `json:"regions,omitempty"`
7982
7983	// ForceSendFields is a list of field names (e.g. "Cities") to
7984	// unconditionally include in API requests. By default, fields with
7985	// empty values are omitted from API requests. However, any non-pointer,
7986	// non-interface field appearing in ForceSendFields will be sent to the
7987	// server regardless of whether the field is empty or not. This may be
7988	// used to include empty fields in Patch requests.
7989	ForceSendFields []string `json:"-"`
7990
7991	// NullFields is a list of field names (e.g. "Cities") to include in API
7992	// requests with the JSON null value. By default, fields with empty
7993	// values are omitted from API requests. However, any field with an
7994	// empty value appearing in NullFields will be sent to the server as
7995	// null. It is an error if a field in this list has a non-empty value.
7996	// This may be used to include null fields in Patch requests.
7997	NullFields []string `json:"-"`
7998}
7999
8000func (s *GeoTargeting) MarshalJSON() ([]byte, error) {
8001	type NoMethod GeoTargeting
8002	raw := NoMethod(*s)
8003	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8004}
8005
8006// InventoryItem: Represents a buy from the Planning inventory store.
8007type InventoryItem struct {
8008	// AccountId: Account ID of this inventory item.
8009	AccountId int64 `json:"accountId,omitempty,string"`
8010
8011	// AdSlots: Ad slots of this inventory item. If this inventory item
8012	// represents a standalone placement, there will be exactly one ad slot.
8013	// If this inventory item represents a placement group, there will be
8014	// more than one ad slot, each representing one child placement in that
8015	// placement group.
8016	AdSlots []*AdSlot `json:"adSlots,omitempty"`
8017
8018	// AdvertiserId: Advertiser ID of this inventory item.
8019	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8020
8021	// ContentCategoryId: Content category ID of this inventory item.
8022	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
8023
8024	// EstimatedClickThroughRate: Estimated click-through rate of this
8025	// inventory item.
8026	EstimatedClickThroughRate int64 `json:"estimatedClickThroughRate,omitempty,string"`
8027
8028	// EstimatedConversionRate: Estimated conversion rate of this inventory
8029	// item.
8030	EstimatedConversionRate int64 `json:"estimatedConversionRate,omitempty,string"`
8031
8032	// Id: ID of this inventory item.
8033	Id int64 `json:"id,omitempty,string"`
8034
8035	// InPlan: Whether this inventory item is in plan.
8036	InPlan bool `json:"inPlan,omitempty"`
8037
8038	// Kind: Identifies what kind of resource this is. Value: the fixed
8039	// string "dfareporting#inventoryItem".
8040	Kind string `json:"kind,omitempty"`
8041
8042	// LastModifiedInfo: Information about the most recent modification of
8043	// this inventory item.
8044	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
8045
8046	// Name: Name of this inventory item. For standalone inventory items,
8047	// this is the same name as that of its only ad slot. For group
8048	// inventory items, this can differ from the name of any of its ad
8049	// slots.
8050	Name string `json:"name,omitempty"`
8051
8052	// NegotiationChannelId: Negotiation channel ID of this inventory item.
8053	NegotiationChannelId int64 `json:"negotiationChannelId,omitempty,string"`
8054
8055	// OrderId: Order ID of this inventory item.
8056	OrderId int64 `json:"orderId,omitempty,string"`
8057
8058	// PlacementStrategyId: Placement strategy ID of this inventory item.
8059	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
8060
8061	// Pricing: Pricing of this inventory item.
8062	Pricing *Pricing `json:"pricing,omitempty"`
8063
8064	// ProjectId: Project ID of this inventory item.
8065	ProjectId int64 `json:"projectId,omitempty,string"`
8066
8067	// RfpId: RFP ID of this inventory item.
8068	RfpId int64 `json:"rfpId,omitempty,string"`
8069
8070	// SiteId: ID of the site this inventory item is associated with.
8071	SiteId int64 `json:"siteId,omitempty,string"`
8072
8073	// SubaccountId: Subaccount ID of this inventory item.
8074	SubaccountId int64 `json:"subaccountId,omitempty,string"`
8075
8076	// Type: Type of inventory item.
8077	//
8078	// Possible values:
8079	//   "PLANNING_PLACEMENT_TYPE_REGULAR"
8080	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
8081	Type string `json:"type,omitempty"`
8082
8083	// ServerResponse contains the HTTP response code and headers from the
8084	// server.
8085	googleapi.ServerResponse `json:"-"`
8086
8087	// ForceSendFields is a list of field names (e.g. "AccountId") to
8088	// unconditionally include in API requests. By default, fields with
8089	// empty values are omitted from API requests. However, any non-pointer,
8090	// non-interface field appearing in ForceSendFields will be sent to the
8091	// server regardless of whether the field is empty or not. This may be
8092	// used to include empty fields in Patch requests.
8093	ForceSendFields []string `json:"-"`
8094
8095	// NullFields is a list of field names (e.g. "AccountId") to include in
8096	// API requests with the JSON null value. By default, fields with empty
8097	// values are omitted from API requests. However, any field with an
8098	// empty value appearing in NullFields will be sent to the server as
8099	// null. It is an error if a field in this list has a non-empty value.
8100	// This may be used to include null fields in Patch requests.
8101	NullFields []string `json:"-"`
8102}
8103
8104func (s *InventoryItem) MarshalJSON() ([]byte, error) {
8105	type NoMethod InventoryItem
8106	raw := NoMethod(*s)
8107	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8108}
8109
8110// InventoryItemsListResponse: Inventory item List Response
8111type InventoryItemsListResponse struct {
8112	// InventoryItems: Inventory item collection
8113	InventoryItems []*InventoryItem `json:"inventoryItems,omitempty"`
8114
8115	// Kind: Identifies what kind of resource this is. Value: the fixed
8116	// string "dfareporting#inventoryItemsListResponse".
8117	Kind string `json:"kind,omitempty"`
8118
8119	// NextPageToken: Pagination token to be used for the next list
8120	// operation.
8121	NextPageToken string `json:"nextPageToken,omitempty"`
8122
8123	// ServerResponse contains the HTTP response code and headers from the
8124	// server.
8125	googleapi.ServerResponse `json:"-"`
8126
8127	// ForceSendFields is a list of field names (e.g. "InventoryItems") to
8128	// unconditionally include in API requests. By default, fields with
8129	// empty values are omitted from API requests. However, any non-pointer,
8130	// non-interface field appearing in ForceSendFields will be sent to the
8131	// server regardless of whether the field is empty or not. This may be
8132	// used to include empty fields in Patch requests.
8133	ForceSendFields []string `json:"-"`
8134
8135	// NullFields is a list of field names (e.g. "InventoryItems") to
8136	// include in API requests with the JSON null value. By default, fields
8137	// with empty values are omitted from API requests. However, any field
8138	// with an empty value appearing in NullFields will be sent to the
8139	// server as null. It is an error if a field in this list has a
8140	// non-empty value. This may be used to include null fields in Patch
8141	// requests.
8142	NullFields []string `json:"-"`
8143}
8144
8145func (s *InventoryItemsListResponse) MarshalJSON() ([]byte, error) {
8146	type NoMethod InventoryItemsListResponse
8147	raw := NoMethod(*s)
8148	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8149}
8150
8151// KeyValueTargetingExpression: Key Value Targeting Expression.
8152type KeyValueTargetingExpression struct {
8153	// Expression: Keyword expression being targeted by the ad.
8154	Expression string `json:"expression,omitempty"`
8155
8156	// ForceSendFields is a list of field names (e.g. "Expression") to
8157	// unconditionally include in API requests. By default, fields with
8158	// empty values are omitted from API requests. However, any non-pointer,
8159	// non-interface field appearing in ForceSendFields will be sent to the
8160	// server regardless of whether the field is empty or not. This may be
8161	// used to include empty fields in Patch requests.
8162	ForceSendFields []string `json:"-"`
8163
8164	// NullFields is a list of field names (e.g. "Expression") to include in
8165	// API requests with the JSON null value. By default, fields with empty
8166	// values are omitted from API requests. However, any field with an
8167	// empty value appearing in NullFields will be sent to the server as
8168	// null. It is an error if a field in this list has a non-empty value.
8169	// This may be used to include null fields in Patch requests.
8170	NullFields []string `json:"-"`
8171}
8172
8173func (s *KeyValueTargetingExpression) MarshalJSON() ([]byte, error) {
8174	type NoMethod KeyValueTargetingExpression
8175	raw := NoMethod(*s)
8176	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8177}
8178
8179// LandingPage: Contains information about where a user's browser is
8180// taken after the user clicks an ad.
8181type LandingPage struct {
8182	// AdvertiserId: Advertiser ID of this landing page. This is a required
8183	// field.
8184	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8185
8186	// Archived: Whether this landing page has been archived.
8187	Archived bool `json:"archived,omitempty"`
8188
8189	// DeepLinks: Links that will direct the user to a mobile app, if
8190	// installed.
8191	DeepLinks []*DeepLink `json:"deepLinks,omitempty"`
8192
8193	// Id: ID of this landing page. This is a read-only, auto-generated
8194	// field.
8195	Id int64 `json:"id,omitempty,string"`
8196
8197	// Kind: Identifies what kind of resource this is. Value: the fixed
8198	// string "dfareporting#landingPage".
8199	Kind string `json:"kind,omitempty"`
8200
8201	// Name: Name of this landing page. This is a required field. It must be
8202	// less than 256 characters long.
8203	Name string `json:"name,omitempty"`
8204
8205	// Url: URL of this landing page. This is a required field.
8206	Url string `json:"url,omitempty"`
8207
8208	// ServerResponse contains the HTTP response code and headers from the
8209	// server.
8210	googleapi.ServerResponse `json:"-"`
8211
8212	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
8213	// unconditionally include in API requests. By default, fields with
8214	// empty values are omitted from API requests. However, any non-pointer,
8215	// non-interface field appearing in ForceSendFields will be sent to the
8216	// server regardless of whether the field is empty or not. This may be
8217	// used to include empty fields in Patch requests.
8218	ForceSendFields []string `json:"-"`
8219
8220	// NullFields is a list of field names (e.g. "AdvertiserId") to include
8221	// in API requests with the JSON null value. By default, fields with
8222	// empty values are omitted from API requests. However, any field with
8223	// an empty value appearing in NullFields will be sent to the server as
8224	// null. It is an error if a field in this list has a non-empty value.
8225	// This may be used to include null fields in Patch requests.
8226	NullFields []string `json:"-"`
8227}
8228
8229func (s *LandingPage) MarshalJSON() ([]byte, error) {
8230	type NoMethod LandingPage
8231	raw := NoMethod(*s)
8232	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8233}
8234
8235// Language: Contains information about a language that can be targeted
8236// by ads.
8237type Language struct {
8238	// Id: Language ID of this language. This is the ID used for targeting
8239	// and generating reports.
8240	Id int64 `json:"id,omitempty,string"`
8241
8242	// Kind: Identifies what kind of resource this is. Value: the fixed
8243	// string "dfareporting#language".
8244	Kind string `json:"kind,omitempty"`
8245
8246	// LanguageCode: Format of language code is an ISO 639 two-letter
8247	// language code optionally followed by an underscore followed by an ISO
8248	// 3166 code. Examples are "en" for English or "zh_CN" for Simplified
8249	// Chinese.
8250	LanguageCode string `json:"languageCode,omitempty"`
8251
8252	// Name: Name of this language.
8253	Name string `json:"name,omitempty"`
8254
8255	// ForceSendFields is a list of field names (e.g. "Id") to
8256	// unconditionally include in API requests. By default, fields with
8257	// empty values are omitted from API requests. However, any non-pointer,
8258	// non-interface field appearing in ForceSendFields will be sent to the
8259	// server regardless of whether the field is empty or not. This may be
8260	// used to include empty fields in Patch requests.
8261	ForceSendFields []string `json:"-"`
8262
8263	// NullFields is a list of field names (e.g. "Id") to include in API
8264	// requests with the JSON null value. By default, fields with empty
8265	// values are omitted from API requests. However, any field with an
8266	// empty value appearing in NullFields will be sent to the server as
8267	// null. It is an error if a field in this list has a non-empty value.
8268	// This may be used to include null fields in Patch requests.
8269	NullFields []string `json:"-"`
8270}
8271
8272func (s *Language) MarshalJSON() ([]byte, error) {
8273	type NoMethod Language
8274	raw := NoMethod(*s)
8275	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8276}
8277
8278// LanguageTargeting: Language Targeting.
8279type LanguageTargeting struct {
8280	// Languages: Languages that this ad targets. For each language only
8281	// languageId is required. The other fields are populated automatically
8282	// when the ad is inserted or updated.
8283	Languages []*Language `json:"languages,omitempty"`
8284
8285	// ForceSendFields is a list of field names (e.g. "Languages") to
8286	// unconditionally include in API requests. By default, fields with
8287	// empty values are omitted from API requests. However, any non-pointer,
8288	// non-interface field appearing in ForceSendFields will be sent to the
8289	// server regardless of whether the field is empty or not. This may be
8290	// used to include empty fields in Patch requests.
8291	ForceSendFields []string `json:"-"`
8292
8293	// NullFields is a list of field names (e.g. "Languages") to include in
8294	// API requests with the JSON null value. By default, fields with empty
8295	// values are omitted from API requests. However, any field with an
8296	// empty value appearing in NullFields will be sent to the server as
8297	// null. It is an error if a field in this list has a non-empty value.
8298	// This may be used to include null fields in Patch requests.
8299	NullFields []string `json:"-"`
8300}
8301
8302func (s *LanguageTargeting) MarshalJSON() ([]byte, error) {
8303	type NoMethod LanguageTargeting
8304	raw := NoMethod(*s)
8305	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8306}
8307
8308// LanguagesListResponse: Language List Response
8309type LanguagesListResponse struct {
8310	// Kind: Identifies what kind of resource this is. Value: the fixed
8311	// string "dfareporting#languagesListResponse".
8312	Kind string `json:"kind,omitempty"`
8313
8314	// Languages: Language collection.
8315	Languages []*Language `json:"languages,omitempty"`
8316
8317	// ServerResponse contains the HTTP response code and headers from the
8318	// server.
8319	googleapi.ServerResponse `json:"-"`
8320
8321	// ForceSendFields is a list of field names (e.g. "Kind") to
8322	// unconditionally include in API requests. By default, fields with
8323	// empty values are omitted from API requests. However, any non-pointer,
8324	// non-interface field appearing in ForceSendFields will be sent to the
8325	// server regardless of whether the field is empty or not. This may be
8326	// used to include empty fields in Patch requests.
8327	ForceSendFields []string `json:"-"`
8328
8329	// NullFields is a list of field names (e.g. "Kind") to include in API
8330	// requests with the JSON null value. By default, fields with empty
8331	// values are omitted from API requests. However, any field with an
8332	// empty value appearing in NullFields will be sent to the server as
8333	// null. It is an error if a field in this list has a non-empty value.
8334	// This may be used to include null fields in Patch requests.
8335	NullFields []string `json:"-"`
8336}
8337
8338func (s *LanguagesListResponse) MarshalJSON() ([]byte, error) {
8339	type NoMethod LanguagesListResponse
8340	raw := NoMethod(*s)
8341	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8342}
8343
8344// LastModifiedInfo: Modification timestamp.
8345type LastModifiedInfo struct {
8346	// Time: Timestamp of the last change in milliseconds since epoch.
8347	Time int64 `json:"time,omitempty,string"`
8348
8349	// ForceSendFields is a list of field names (e.g. "Time") to
8350	// unconditionally include in API requests. By default, fields with
8351	// empty values are omitted from API requests. However, any non-pointer,
8352	// non-interface field appearing in ForceSendFields will be sent to the
8353	// server regardless of whether the field is empty or not. This may be
8354	// used to include empty fields in Patch requests.
8355	ForceSendFields []string `json:"-"`
8356
8357	// NullFields is a list of field names (e.g. "Time") to include in API
8358	// requests with the JSON null value. By default, fields with empty
8359	// values are omitted from API requests. However, any field with an
8360	// empty value appearing in NullFields will be sent to the server as
8361	// null. It is an error if a field in this list has a non-empty value.
8362	// This may be used to include null fields in Patch requests.
8363	NullFields []string `json:"-"`
8364}
8365
8366func (s *LastModifiedInfo) MarshalJSON() ([]byte, error) {
8367	type NoMethod LastModifiedInfo
8368	raw := NoMethod(*s)
8369	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8370}
8371
8372// ListPopulationClause: A group clause made up of list population terms
8373// representing constraints joined by ORs.
8374type ListPopulationClause struct {
8375	// Terms: Terms of this list population clause. Each clause is made up
8376	// of list population terms representing constraints and are joined by
8377	// ORs.
8378	Terms []*ListPopulationTerm `json:"terms,omitempty"`
8379
8380	// ForceSendFields is a list of field names (e.g. "Terms") to
8381	// unconditionally include in API requests. By default, fields with
8382	// empty values are omitted from API requests. However, any non-pointer,
8383	// non-interface field appearing in ForceSendFields will be sent to the
8384	// server regardless of whether the field is empty or not. This may be
8385	// used to include empty fields in Patch requests.
8386	ForceSendFields []string `json:"-"`
8387
8388	// NullFields is a list of field names (e.g. "Terms") to include in API
8389	// requests with the JSON null value. By default, fields with empty
8390	// values are omitted from API requests. However, any field with an
8391	// empty value appearing in NullFields will be sent to the server as
8392	// null. It is an error if a field in this list has a non-empty value.
8393	// This may be used to include null fields in Patch requests.
8394	NullFields []string `json:"-"`
8395}
8396
8397func (s *ListPopulationClause) MarshalJSON() ([]byte, error) {
8398	type NoMethod ListPopulationClause
8399	raw := NoMethod(*s)
8400	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8401}
8402
8403// ListPopulationRule: Remarketing List Population Rule.
8404type ListPopulationRule struct {
8405	// FloodlightActivityId: Floodlight activity ID associated with this
8406	// rule. This field can be left blank.
8407	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
8408
8409	// FloodlightActivityName: Name of floodlight activity associated with
8410	// this rule. This is a read-only, auto-generated field.
8411	FloodlightActivityName string `json:"floodlightActivityName,omitempty"`
8412
8413	// ListPopulationClauses: Clauses that make up this list population
8414	// rule. Clauses are joined by ANDs, and the clauses themselves are made
8415	// up of list population terms which are joined by ORs.
8416	ListPopulationClauses []*ListPopulationClause `json:"listPopulationClauses,omitempty"`
8417
8418	// ForceSendFields is a list of field names (e.g.
8419	// "FloodlightActivityId") to unconditionally include in API requests.
8420	// By default, fields with empty values are omitted from API requests.
8421	// However, any non-pointer, non-interface field appearing in
8422	// ForceSendFields will be sent to the server regardless of whether the
8423	// field is empty or not. This may be used to include empty fields in
8424	// Patch requests.
8425	ForceSendFields []string `json:"-"`
8426
8427	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
8428	// include in API requests with the JSON null value. By default, fields
8429	// with empty values are omitted from API requests. However, any field
8430	// with an empty value appearing in NullFields will be sent to the
8431	// server as null. It is an error if a field in this list has a
8432	// non-empty value. This may be used to include null fields in Patch
8433	// requests.
8434	NullFields []string `json:"-"`
8435}
8436
8437func (s *ListPopulationRule) MarshalJSON() ([]byte, error) {
8438	type NoMethod ListPopulationRule
8439	raw := NoMethod(*s)
8440	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8441}
8442
8443// ListPopulationTerm: Remarketing List Population Rule Term.
8444type ListPopulationTerm struct {
8445	// Contains: Will be true if the term should check if the user is in the
8446	// list and false if the term should check if the user is not in the
8447	// list. This field is only relevant when type is set to
8448	// LIST_MEMBERSHIP_TERM. False by default.
8449	Contains bool `json:"contains,omitempty"`
8450
8451	// Negation: Whether to negate the comparison result of this term during
8452	// rule evaluation. This field is only relevant when type is left unset
8453	// or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
8454	Negation bool `json:"negation,omitempty"`
8455
8456	// Operator: Comparison operator of this term. This field is only
8457	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
8458	// REFERRER_TERM.
8459	//
8460	// Possible values:
8461	//   "NUM_EQUALS"
8462	//   "NUM_LESS_THAN"
8463	//   "NUM_LESS_THAN_EQUAL"
8464	//   "NUM_GREATER_THAN"
8465	//   "NUM_GREATER_THAN_EQUAL"
8466	//   "STRING_EQUALS"
8467	//   "STRING_CONTAINS"
8468	Operator string `json:"operator,omitempty"`
8469
8470	// RemarketingListId: ID of the list in question. This field is only
8471	// relevant when type is set to LIST_MEMBERSHIP_TERM.
8472	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
8473
8474	// Type: List population term type determines the applicable fields in
8475	// this object. If left unset or set to CUSTOM_VARIABLE_TERM, then
8476	// variableName, variableFriendlyName, operator, value, and negation are
8477	// applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
8478	// contains are applicable. If set to REFERRER_TERM then operator,
8479	// value, and negation are applicable.
8480	//
8481	// Possible values:
8482	//   "CUSTOM_VARIABLE_TERM"
8483	//   "LIST_MEMBERSHIP_TERM"
8484	//   "REFERRER_TERM"
8485	Type string `json:"type,omitempty"`
8486
8487	// Value: Literal to compare the variable to. This field is only
8488	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
8489	// REFERRER_TERM.
8490	Value string `json:"value,omitempty"`
8491
8492	// VariableFriendlyName: Friendly name of this term's variable. This is
8493	// a read-only, auto-generated field. This field is only relevant when
8494	// type is left unset or set to CUSTOM_VARIABLE_TERM.
8495	VariableFriendlyName string `json:"variableFriendlyName,omitempty"`
8496
8497	// VariableName: Name of the variable (U1, U2, etc.) being compared in
8498	// this term. This field is only relevant when type is set to null,
8499	// CUSTOM_VARIABLE_TERM or REFERRER_TERM.
8500	VariableName string `json:"variableName,omitempty"`
8501
8502	// ForceSendFields is a list of field names (e.g. "Contains") to
8503	// unconditionally include in API requests. By default, fields with
8504	// empty values are omitted from API requests. However, any non-pointer,
8505	// non-interface field appearing in ForceSendFields will be sent to the
8506	// server regardless of whether the field is empty or not. This may be
8507	// used to include empty fields in Patch requests.
8508	ForceSendFields []string `json:"-"`
8509
8510	// NullFields is a list of field names (e.g. "Contains") to include in
8511	// API requests with the JSON null value. By default, fields with empty
8512	// values are omitted from API requests. However, any field with an
8513	// empty value appearing in NullFields will be sent to the server as
8514	// null. It is an error if a field in this list has a non-empty value.
8515	// This may be used to include null fields in Patch requests.
8516	NullFields []string `json:"-"`
8517}
8518
8519func (s *ListPopulationTerm) MarshalJSON() ([]byte, error) {
8520	type NoMethod ListPopulationTerm
8521	raw := NoMethod(*s)
8522	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8523}
8524
8525// ListTargetingExpression: Remarketing List Targeting Expression.
8526type ListTargetingExpression struct {
8527	// Expression: Expression describing which lists are being targeted by
8528	// the ad.
8529	Expression string `json:"expression,omitempty"`
8530
8531	// ForceSendFields is a list of field names (e.g. "Expression") to
8532	// unconditionally include in API requests. By default, fields with
8533	// empty values are omitted from API requests. However, any non-pointer,
8534	// non-interface field appearing in ForceSendFields will be sent to the
8535	// server regardless of whether the field is empty or not. This may be
8536	// used to include empty fields in Patch requests.
8537	ForceSendFields []string `json:"-"`
8538
8539	// NullFields is a list of field names (e.g. "Expression") to include in
8540	// API requests with the JSON null value. By default, fields with empty
8541	// values are omitted from API requests. However, any field with an
8542	// empty value appearing in NullFields will be sent to the server as
8543	// null. It is an error if a field in this list has a non-empty value.
8544	// This may be used to include null fields in Patch requests.
8545	NullFields []string `json:"-"`
8546}
8547
8548func (s *ListTargetingExpression) MarshalJSON() ([]byte, error) {
8549	type NoMethod ListTargetingExpression
8550	raw := NoMethod(*s)
8551	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8552}
8553
8554// LookbackConfiguration: Lookback configuration settings.
8555type LookbackConfiguration struct {
8556	// ClickDuration: Lookback window, in days, from the last time a given
8557	// user clicked on one of your ads. If you enter 0, clicks will not be
8558	// considered as triggering events for floodlight tracking. If you leave
8559	// this field blank, the default value for your account will be used.
8560	// Acceptable values are 0 to 90, inclusive.
8561	ClickDuration int64 `json:"clickDuration,omitempty"`
8562
8563	// PostImpressionActivitiesDuration: Lookback window, in days, from the
8564	// last time a given user viewed one of your ads. If you enter 0,
8565	// impressions will not be considered as triggering events for
8566	// floodlight tracking. If you leave this field blank, the default value
8567	// for your account will be used. Acceptable values are 0 to 90,
8568	// inclusive.
8569	PostImpressionActivitiesDuration int64 `json:"postImpressionActivitiesDuration,omitempty"`
8570
8571	// ForceSendFields is a list of field names (e.g. "ClickDuration") to
8572	// unconditionally include in API requests. By default, fields with
8573	// empty values are omitted from API requests. However, any non-pointer,
8574	// non-interface field appearing in ForceSendFields will be sent to the
8575	// server regardless of whether the field is empty or not. This may be
8576	// used to include empty fields in Patch requests.
8577	ForceSendFields []string `json:"-"`
8578
8579	// NullFields is a list of field names (e.g. "ClickDuration") to include
8580	// in API requests with the JSON null value. By default, fields with
8581	// empty values are omitted from API requests. However, any field with
8582	// an empty value appearing in NullFields will be sent to the server as
8583	// null. It is an error if a field in this list has a non-empty value.
8584	// This may be used to include null fields in Patch requests.
8585	NullFields []string `json:"-"`
8586}
8587
8588func (s *LookbackConfiguration) MarshalJSON() ([]byte, error) {
8589	type NoMethod LookbackConfiguration
8590	raw := NoMethod(*s)
8591	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8592}
8593
8594// Metric: Represents a metric.
8595type Metric struct {
8596	// Kind: The kind of resource this is, in this case dfareporting#metric.
8597	Kind string `json:"kind,omitempty"`
8598
8599	// Name: The metric name, e.g. dfa:impressions
8600	Name string `json:"name,omitempty"`
8601
8602	// ForceSendFields is a list of field names (e.g. "Kind") to
8603	// unconditionally include in API requests. By default, fields with
8604	// empty values are omitted from API requests. However, any non-pointer,
8605	// non-interface field appearing in ForceSendFields will be sent to the
8606	// server regardless of whether the field is empty or not. This may be
8607	// used to include empty fields in Patch requests.
8608	ForceSendFields []string `json:"-"`
8609
8610	// NullFields is a list of field names (e.g. "Kind") to include in API
8611	// requests with the JSON null value. By default, fields with empty
8612	// values are omitted from API requests. However, any field with an
8613	// empty value appearing in NullFields will be sent to the server as
8614	// null. It is an error if a field in this list has a non-empty value.
8615	// This may be used to include null fields in Patch requests.
8616	NullFields []string `json:"-"`
8617}
8618
8619func (s *Metric) MarshalJSON() ([]byte, error) {
8620	type NoMethod Metric
8621	raw := NoMethod(*s)
8622	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8623}
8624
8625// Metro: Contains information about a metro region that can be targeted
8626// by ads.
8627type Metro struct {
8628	// CountryCode: Country code of the country to which this metro region
8629	// belongs.
8630	CountryCode string `json:"countryCode,omitempty"`
8631
8632	// CountryDartId: DART ID of the country to which this metro region
8633	// belongs.
8634	CountryDartId int64 `json:"countryDartId,omitempty,string"`
8635
8636	// DartId: DART ID of this metro region.
8637	DartId int64 `json:"dartId,omitempty,string"`
8638
8639	// DmaId: DMA ID of this metro region. This is the ID used for targeting
8640	// and generating reports, and is equivalent to metro_code.
8641	DmaId int64 `json:"dmaId,omitempty,string"`
8642
8643	// Kind: Identifies what kind of resource this is. Value: the fixed
8644	// string "dfareporting#metro".
8645	Kind string `json:"kind,omitempty"`
8646
8647	// MetroCode: Metro code of this metro region. This is equivalent to
8648	// dma_id.
8649	MetroCode string `json:"metroCode,omitempty"`
8650
8651	// Name: Name of this metro region.
8652	Name string `json:"name,omitempty"`
8653
8654	// ForceSendFields is a list of field names (e.g. "CountryCode") to
8655	// unconditionally include in API requests. By default, fields with
8656	// empty values are omitted from API requests. However, any non-pointer,
8657	// non-interface field appearing in ForceSendFields will be sent to the
8658	// server regardless of whether the field is empty or not. This may be
8659	// used to include empty fields in Patch requests.
8660	ForceSendFields []string `json:"-"`
8661
8662	// NullFields is a list of field names (e.g. "CountryCode") to include
8663	// in API requests with the JSON null value. By default, fields with
8664	// empty values are omitted from API requests. However, any field with
8665	// an empty value appearing in NullFields will be sent to the server as
8666	// null. It is an error if a field in this list has a non-empty value.
8667	// This may be used to include null fields in Patch requests.
8668	NullFields []string `json:"-"`
8669}
8670
8671func (s *Metro) MarshalJSON() ([]byte, error) {
8672	type NoMethod Metro
8673	raw := NoMethod(*s)
8674	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8675}
8676
8677// MetrosListResponse: Metro List Response
8678type MetrosListResponse struct {
8679	// Kind: Identifies what kind of resource this is. Value: the fixed
8680	// string "dfareporting#metrosListResponse".
8681	Kind string `json:"kind,omitempty"`
8682
8683	// Metros: Metro collection.
8684	Metros []*Metro `json:"metros,omitempty"`
8685
8686	// ServerResponse contains the HTTP response code and headers from the
8687	// server.
8688	googleapi.ServerResponse `json:"-"`
8689
8690	// ForceSendFields is a list of field names (e.g. "Kind") to
8691	// unconditionally include in API requests. By default, fields with
8692	// empty values are omitted from API requests. However, any non-pointer,
8693	// non-interface field appearing in ForceSendFields will be sent to the
8694	// server regardless of whether the field is empty or not. This may be
8695	// used to include empty fields in Patch requests.
8696	ForceSendFields []string `json:"-"`
8697
8698	// NullFields is a list of field names (e.g. "Kind") to include in API
8699	// requests with the JSON null value. By default, fields with empty
8700	// values are omitted from API requests. However, any field with an
8701	// empty value appearing in NullFields will be sent to the server as
8702	// null. It is an error if a field in this list has a non-empty value.
8703	// This may be used to include null fields in Patch requests.
8704	NullFields []string `json:"-"`
8705}
8706
8707func (s *MetrosListResponse) MarshalJSON() ([]byte, error) {
8708	type NoMethod MetrosListResponse
8709	raw := NoMethod(*s)
8710	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8711}
8712
8713// MobileApp: Contains information about a mobile app. Used as a landing
8714// page deep link.
8715type MobileApp struct {
8716	// Directory: Mobile app directory.
8717	//
8718	// Possible values:
8719	//   "UNKNOWN"
8720	//   "APPLE_APP_STORE"
8721	//   "GOOGLE_PLAY_STORE"
8722	Directory string `json:"directory,omitempty"`
8723
8724	// Id: ID of this mobile app.
8725	Id string `json:"id,omitempty"`
8726
8727	// Kind: Identifies what kind of resource this is. Value: the fixed
8728	// string "dfareporting#mobileApp".
8729	Kind string `json:"kind,omitempty"`
8730
8731	// PublisherName: Publisher name.
8732	PublisherName string `json:"publisherName,omitempty"`
8733
8734	// Title: Title of this mobile app.
8735	Title string `json:"title,omitempty"`
8736
8737	// ServerResponse contains the HTTP response code and headers from the
8738	// server.
8739	googleapi.ServerResponse `json:"-"`
8740
8741	// ForceSendFields is a list of field names (e.g. "Directory") to
8742	// unconditionally include in API requests. By default, fields with
8743	// empty values are omitted from API requests. However, any non-pointer,
8744	// non-interface field appearing in ForceSendFields will be sent to the
8745	// server regardless of whether the field is empty or not. This may be
8746	// used to include empty fields in Patch requests.
8747	ForceSendFields []string `json:"-"`
8748
8749	// NullFields is a list of field names (e.g. "Directory") to include in
8750	// API requests with the JSON null value. By default, fields with empty
8751	// values are omitted from API requests. However, any field with an
8752	// empty value appearing in NullFields will be sent to the server as
8753	// null. It is an error if a field in this list has a non-empty value.
8754	// This may be used to include null fields in Patch requests.
8755	NullFields []string `json:"-"`
8756}
8757
8758func (s *MobileApp) MarshalJSON() ([]byte, error) {
8759	type NoMethod MobileApp
8760	raw := NoMethod(*s)
8761	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8762}
8763
8764// MobileAppsListResponse: Mobile app List Response
8765type MobileAppsListResponse struct {
8766	// Kind: Identifies what kind of resource this is. Value: the fixed
8767	// string "dfareporting#mobileAppsListResponse".
8768	Kind string `json:"kind,omitempty"`
8769
8770	// MobileApps: Mobile apps collection.
8771	MobileApps []*MobileApp `json:"mobileApps,omitempty"`
8772
8773	// NextPageToken: Pagination token to be used for the next list
8774	// operation.
8775	NextPageToken string `json:"nextPageToken,omitempty"`
8776
8777	// ServerResponse contains the HTTP response code and headers from the
8778	// server.
8779	googleapi.ServerResponse `json:"-"`
8780
8781	// ForceSendFields is a list of field names (e.g. "Kind") to
8782	// unconditionally include in API requests. By default, fields with
8783	// empty values are omitted from API requests. However, any non-pointer,
8784	// non-interface field appearing in ForceSendFields will be sent to the
8785	// server regardless of whether the field is empty or not. This may be
8786	// used to include empty fields in Patch requests.
8787	ForceSendFields []string `json:"-"`
8788
8789	// NullFields is a list of field names (e.g. "Kind") to include in API
8790	// requests with the JSON null value. By default, fields with empty
8791	// values are omitted from API requests. However, any field with an
8792	// empty value appearing in NullFields will be sent to the server as
8793	// null. It is an error if a field in this list has a non-empty value.
8794	// This may be used to include null fields in Patch requests.
8795	NullFields []string `json:"-"`
8796}
8797
8798func (s *MobileAppsListResponse) MarshalJSON() ([]byte, error) {
8799	type NoMethod MobileAppsListResponse
8800	raw := NoMethod(*s)
8801	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8802}
8803
8804// MobileCarrier: Contains information about a mobile carrier that can
8805// be targeted by ads.
8806type MobileCarrier struct {
8807	// CountryCode: Country code of the country to which this mobile carrier
8808	// belongs.
8809	CountryCode string `json:"countryCode,omitempty"`
8810
8811	// CountryDartId: DART ID of the country to which this mobile carrier
8812	// belongs.
8813	CountryDartId int64 `json:"countryDartId,omitempty,string"`
8814
8815	// Id: ID of this mobile carrier.
8816	Id int64 `json:"id,omitempty,string"`
8817
8818	// Kind: Identifies what kind of resource this is. Value: the fixed
8819	// string "dfareporting#mobileCarrier".
8820	Kind string `json:"kind,omitempty"`
8821
8822	// Name: Name of this mobile carrier.
8823	Name string `json:"name,omitempty"`
8824
8825	// ServerResponse contains the HTTP response code and headers from the
8826	// server.
8827	googleapi.ServerResponse `json:"-"`
8828
8829	// ForceSendFields is a list of field names (e.g. "CountryCode") to
8830	// unconditionally include in API requests. By default, fields with
8831	// empty values are omitted from API requests. However, any non-pointer,
8832	// non-interface field appearing in ForceSendFields will be sent to the
8833	// server regardless of whether the field is empty or not. This may be
8834	// used to include empty fields in Patch requests.
8835	ForceSendFields []string `json:"-"`
8836
8837	// NullFields is a list of field names (e.g. "CountryCode") to include
8838	// in API requests with the JSON null value. By default, fields with
8839	// empty values are omitted from API requests. However, any field with
8840	// an empty value appearing in NullFields will be sent to the server as
8841	// null. It is an error if a field in this list has a non-empty value.
8842	// This may be used to include null fields in Patch requests.
8843	NullFields []string `json:"-"`
8844}
8845
8846func (s *MobileCarrier) MarshalJSON() ([]byte, error) {
8847	type NoMethod MobileCarrier
8848	raw := NoMethod(*s)
8849	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8850}
8851
8852// MobileCarriersListResponse: Mobile Carrier List Response
8853type MobileCarriersListResponse struct {
8854	// Kind: Identifies what kind of resource this is. Value: the fixed
8855	// string "dfareporting#mobileCarriersListResponse".
8856	Kind string `json:"kind,omitempty"`
8857
8858	// MobileCarriers: Mobile carrier collection.
8859	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
8860
8861	// ServerResponse contains the HTTP response code and headers from the
8862	// server.
8863	googleapi.ServerResponse `json:"-"`
8864
8865	// ForceSendFields is a list of field names (e.g. "Kind") to
8866	// unconditionally include in API requests. By default, fields with
8867	// empty values are omitted from API requests. However, any non-pointer,
8868	// non-interface field appearing in ForceSendFields will be sent to the
8869	// server regardless of whether the field is empty or not. This may be
8870	// used to include empty fields in Patch requests.
8871	ForceSendFields []string `json:"-"`
8872
8873	// NullFields is a list of field names (e.g. "Kind") to include in API
8874	// requests with the JSON null value. By default, fields with empty
8875	// values are omitted from API requests. However, any field with an
8876	// empty value appearing in NullFields will be sent to the server as
8877	// null. It is an error if a field in this list has a non-empty value.
8878	// This may be used to include null fields in Patch requests.
8879	NullFields []string `json:"-"`
8880}
8881
8882func (s *MobileCarriersListResponse) MarshalJSON() ([]byte, error) {
8883	type NoMethod MobileCarriersListResponse
8884	raw := NoMethod(*s)
8885	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8886}
8887
8888// ObjectFilter: Object Filter.
8889type ObjectFilter struct {
8890	// Kind: Identifies what kind of resource this is. Value: the fixed
8891	// string "dfareporting#objectFilter".
8892	Kind string `json:"kind,omitempty"`
8893
8894	// ObjectIds: Applicable when status is ASSIGNED. The user has access to
8895	// objects with these object IDs.
8896	ObjectIds googleapi.Int64s `json:"objectIds,omitempty"`
8897
8898	// Status: Status of the filter. NONE means the user has access to none
8899	// of the objects. ALL means the user has access to all objects.
8900	// ASSIGNED means the user has access to the objects with IDs in the
8901	// objectIds list.
8902	//
8903	// Possible values:
8904	//   "NONE"
8905	//   "ASSIGNED"
8906	//   "ALL"
8907	Status string `json:"status,omitempty"`
8908
8909	// ForceSendFields is a list of field names (e.g. "Kind") to
8910	// unconditionally include in API requests. By default, fields with
8911	// empty values are omitted from API requests. However, any non-pointer,
8912	// non-interface field appearing in ForceSendFields will be sent to the
8913	// server regardless of whether the field is empty or not. This may be
8914	// used to include empty fields in Patch requests.
8915	ForceSendFields []string `json:"-"`
8916
8917	// NullFields is a list of field names (e.g. "Kind") to include in API
8918	// requests with the JSON null value. By default, fields with empty
8919	// values are omitted from API requests. However, any field with an
8920	// empty value appearing in NullFields will be sent to the server as
8921	// null. It is an error if a field in this list has a non-empty value.
8922	// This may be used to include null fields in Patch requests.
8923	NullFields []string `json:"-"`
8924}
8925
8926func (s *ObjectFilter) MarshalJSON() ([]byte, error) {
8927	type NoMethod ObjectFilter
8928	raw := NoMethod(*s)
8929	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8930}
8931
8932// OffsetPosition: Offset Position.
8933type OffsetPosition struct {
8934	// Left: Offset distance from left side of an asset or a window.
8935	Left int64 `json:"left,omitempty"`
8936
8937	// Top: Offset distance from top side of an asset or a window.
8938	Top int64 `json:"top,omitempty"`
8939
8940	// ForceSendFields is a list of field names (e.g. "Left") to
8941	// unconditionally include in API requests. By default, fields with
8942	// empty values are omitted from API requests. However, any non-pointer,
8943	// non-interface field appearing in ForceSendFields will be sent to the
8944	// server regardless of whether the field is empty or not. This may be
8945	// used to include empty fields in Patch requests.
8946	ForceSendFields []string `json:"-"`
8947
8948	// NullFields is a list of field names (e.g. "Left") to include in API
8949	// requests with the JSON null value. By default, fields with empty
8950	// values are omitted from API requests. However, any field with an
8951	// empty value appearing in NullFields will be sent to the server as
8952	// null. It is an error if a field in this list has a non-empty value.
8953	// This may be used to include null fields in Patch requests.
8954	NullFields []string `json:"-"`
8955}
8956
8957func (s *OffsetPosition) MarshalJSON() ([]byte, error) {
8958	type NoMethod OffsetPosition
8959	raw := NoMethod(*s)
8960	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8961}
8962
8963// OmnitureSettings: Omniture Integration Settings.
8964type OmnitureSettings struct {
8965	// OmnitureCostDataEnabled: Whether placement cost data will be sent to
8966	// Omniture. This property can be enabled only if
8967	// omnitureIntegrationEnabled is true.
8968	OmnitureCostDataEnabled bool `json:"omnitureCostDataEnabled,omitempty"`
8969
8970	// OmnitureIntegrationEnabled: Whether Omniture integration is enabled.
8971	// This property can be enabled only when the "Advanced Ad Serving"
8972	// account setting is enabled.
8973	OmnitureIntegrationEnabled bool `json:"omnitureIntegrationEnabled,omitempty"`
8974
8975	// ForceSendFields is a list of field names (e.g.
8976	// "OmnitureCostDataEnabled") to unconditionally include in API
8977	// requests. By default, fields with empty values are omitted from API
8978	// requests. However, any non-pointer, non-interface field appearing in
8979	// ForceSendFields will be sent to the server regardless of whether the
8980	// field is empty or not. This may be used to include empty fields in
8981	// Patch requests.
8982	ForceSendFields []string `json:"-"`
8983
8984	// NullFields is a list of field names (e.g. "OmnitureCostDataEnabled")
8985	// to include in API requests with the JSON null value. By default,
8986	// fields with empty values are omitted from API requests. However, any
8987	// field with an empty value appearing in NullFields will be sent to the
8988	// server as null. It is an error if a field in this list has a
8989	// non-empty value. This may be used to include null fields in Patch
8990	// requests.
8991	NullFields []string `json:"-"`
8992}
8993
8994func (s *OmnitureSettings) MarshalJSON() ([]byte, error) {
8995	type NoMethod OmnitureSettings
8996	raw := NoMethod(*s)
8997	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8998}
8999
9000// OperatingSystem: Contains information about an operating system that
9001// can be targeted by ads.
9002type OperatingSystem struct {
9003	// DartId: DART ID of this operating system. This is the ID used for
9004	// targeting.
9005	DartId int64 `json:"dartId,omitempty,string"`
9006
9007	// Desktop: Whether this operating system is for desktop.
9008	Desktop bool `json:"desktop,omitempty"`
9009
9010	// Kind: Identifies what kind of resource this is. Value: the fixed
9011	// string "dfareporting#operatingSystem".
9012	Kind string `json:"kind,omitempty"`
9013
9014	// Mobile: Whether this operating system is for mobile.
9015	Mobile bool `json:"mobile,omitempty"`
9016
9017	// Name: Name of this operating system.
9018	Name string `json:"name,omitempty"`
9019
9020	// ServerResponse contains the HTTP response code and headers from the
9021	// server.
9022	googleapi.ServerResponse `json:"-"`
9023
9024	// ForceSendFields is a list of field names (e.g. "DartId") to
9025	// unconditionally include in API requests. By default, fields with
9026	// empty values are omitted from API requests. However, any non-pointer,
9027	// non-interface field appearing in ForceSendFields will be sent to the
9028	// server regardless of whether the field is empty or not. This may be
9029	// used to include empty fields in Patch requests.
9030	ForceSendFields []string `json:"-"`
9031
9032	// NullFields is a list of field names (e.g. "DartId") to include in API
9033	// requests with the JSON null value. By default, fields with empty
9034	// values are omitted from API requests. However, any field with an
9035	// empty value appearing in NullFields will be sent to the server as
9036	// null. It is an error if a field in this list has a non-empty value.
9037	// This may be used to include null fields in Patch requests.
9038	NullFields []string `json:"-"`
9039}
9040
9041func (s *OperatingSystem) MarshalJSON() ([]byte, error) {
9042	type NoMethod OperatingSystem
9043	raw := NoMethod(*s)
9044	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9045}
9046
9047// OperatingSystemVersion: Contains information about a particular
9048// version of an operating system that can be targeted by ads.
9049type OperatingSystemVersion struct {
9050	// Id: ID of this operating system version.
9051	Id int64 `json:"id,omitempty,string"`
9052
9053	// Kind: Identifies what kind of resource this is. Value: the fixed
9054	// string "dfareporting#operatingSystemVersion".
9055	Kind string `json:"kind,omitempty"`
9056
9057	// MajorVersion: Major version (leftmost number) of this operating
9058	// system version.
9059	MajorVersion string `json:"majorVersion,omitempty"`
9060
9061	// MinorVersion: Minor version (number after the first dot) of this
9062	// operating system version.
9063	MinorVersion string `json:"minorVersion,omitempty"`
9064
9065	// Name: Name of this operating system version.
9066	Name string `json:"name,omitempty"`
9067
9068	// OperatingSystem: Operating system of this operating system version.
9069	OperatingSystem *OperatingSystem `json:"operatingSystem,omitempty"`
9070
9071	// ServerResponse contains the HTTP response code and headers from the
9072	// server.
9073	googleapi.ServerResponse `json:"-"`
9074
9075	// ForceSendFields is a list of field names (e.g. "Id") to
9076	// unconditionally include in API requests. By default, fields with
9077	// empty values are omitted from API requests. However, any non-pointer,
9078	// non-interface field appearing in ForceSendFields will be sent to the
9079	// server regardless of whether the field is empty or not. This may be
9080	// used to include empty fields in Patch requests.
9081	ForceSendFields []string `json:"-"`
9082
9083	// NullFields is a list of field names (e.g. "Id") to include in API
9084	// requests with the JSON null value. By default, fields with empty
9085	// values are omitted from API requests. However, any field with an
9086	// empty value appearing in NullFields will be sent to the server as
9087	// null. It is an error if a field in this list has a non-empty value.
9088	// This may be used to include null fields in Patch requests.
9089	NullFields []string `json:"-"`
9090}
9091
9092func (s *OperatingSystemVersion) MarshalJSON() ([]byte, error) {
9093	type NoMethod OperatingSystemVersion
9094	raw := NoMethod(*s)
9095	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9096}
9097
9098// OperatingSystemVersionsListResponse: Operating System Version List
9099// Response
9100type OperatingSystemVersionsListResponse struct {
9101	// Kind: Identifies what kind of resource this is. Value: the fixed
9102	// string "dfareporting#operatingSystemVersionsListResponse".
9103	Kind string `json:"kind,omitempty"`
9104
9105	// OperatingSystemVersions: Operating system version collection.
9106	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
9107
9108	// ServerResponse contains the HTTP response code and headers from the
9109	// server.
9110	googleapi.ServerResponse `json:"-"`
9111
9112	// ForceSendFields is a list of field names (e.g. "Kind") to
9113	// unconditionally include in API requests. By default, fields with
9114	// empty values are omitted from API requests. However, any non-pointer,
9115	// non-interface field appearing in ForceSendFields will be sent to the
9116	// server regardless of whether the field is empty or not. This may be
9117	// used to include empty fields in Patch requests.
9118	ForceSendFields []string `json:"-"`
9119
9120	// NullFields is a list of field names (e.g. "Kind") to include in API
9121	// requests with the JSON null value. By default, fields with empty
9122	// values are omitted from API requests. However, any field with an
9123	// empty value appearing in NullFields will be sent to the server as
9124	// null. It is an error if a field in this list has a non-empty value.
9125	// This may be used to include null fields in Patch requests.
9126	NullFields []string `json:"-"`
9127}
9128
9129func (s *OperatingSystemVersionsListResponse) MarshalJSON() ([]byte, error) {
9130	type NoMethod OperatingSystemVersionsListResponse
9131	raw := NoMethod(*s)
9132	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9133}
9134
9135// OperatingSystemsListResponse: Operating System List Response
9136type OperatingSystemsListResponse struct {
9137	// Kind: Identifies what kind of resource this is. Value: the fixed
9138	// string "dfareporting#operatingSystemsListResponse".
9139	Kind string `json:"kind,omitempty"`
9140
9141	// OperatingSystems: Operating system collection.
9142	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
9143
9144	// ServerResponse contains the HTTP response code and headers from the
9145	// server.
9146	googleapi.ServerResponse `json:"-"`
9147
9148	// ForceSendFields is a list of field names (e.g. "Kind") to
9149	// unconditionally include in API requests. By default, fields with
9150	// empty values are omitted from API requests. However, any non-pointer,
9151	// non-interface field appearing in ForceSendFields will be sent to the
9152	// server regardless of whether the field is empty or not. This may be
9153	// used to include empty fields in Patch requests.
9154	ForceSendFields []string `json:"-"`
9155
9156	// NullFields is a list of field names (e.g. "Kind") to include in API
9157	// requests with the JSON null value. By default, fields with empty
9158	// values are omitted from API requests. However, any field with an
9159	// empty value appearing in NullFields will be sent to the server as
9160	// null. It is an error if a field in this list has a non-empty value.
9161	// This may be used to include null fields in Patch requests.
9162	NullFields []string `json:"-"`
9163}
9164
9165func (s *OperatingSystemsListResponse) MarshalJSON() ([]byte, error) {
9166	type NoMethod OperatingSystemsListResponse
9167	raw := NoMethod(*s)
9168	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9169}
9170
9171// OptimizationActivity: Creative optimization activity.
9172type OptimizationActivity struct {
9173	// FloodlightActivityId: Floodlight activity ID of this optimization
9174	// activity. This is a required field.
9175	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
9176
9177	// FloodlightActivityIdDimensionValue: Dimension value for the ID of the
9178	// floodlight activity. This is a read-only, auto-generated field.
9179	FloodlightActivityIdDimensionValue *DimensionValue `json:"floodlightActivityIdDimensionValue,omitempty"`
9180
9181	// Weight: Weight associated with this optimization. The weight assigned
9182	// will be understood in proportion to the weights assigned to the other
9183	// optimization activities. Value must be greater than or equal to 1.
9184	Weight int64 `json:"weight,omitempty"`
9185
9186	// ForceSendFields is a list of field names (e.g.
9187	// "FloodlightActivityId") to unconditionally include in API requests.
9188	// By default, fields with empty values are omitted from API requests.
9189	// However, any non-pointer, non-interface field appearing in
9190	// ForceSendFields will be sent to the server regardless of whether the
9191	// field is empty or not. This may be used to include empty fields in
9192	// Patch requests.
9193	ForceSendFields []string `json:"-"`
9194
9195	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
9196	// include in API requests with the JSON null value. By default, fields
9197	// with empty values are omitted from API requests. However, any field
9198	// with an empty value appearing in NullFields will be sent to the
9199	// server as null. It is an error if a field in this list has a
9200	// non-empty value. This may be used to include null fields in Patch
9201	// requests.
9202	NullFields []string `json:"-"`
9203}
9204
9205func (s *OptimizationActivity) MarshalJSON() ([]byte, error) {
9206	type NoMethod OptimizationActivity
9207	raw := NoMethod(*s)
9208	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9209}
9210
9211// Order: Describes properties of a Planning order.
9212type Order struct {
9213	// AccountId: Account ID of this order.
9214	AccountId int64 `json:"accountId,omitempty,string"`
9215
9216	// AdvertiserId: Advertiser ID of this order.
9217	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9218
9219	// ApproverUserProfileIds: IDs for users that have to approve documents
9220	// created for this order.
9221	ApproverUserProfileIds googleapi.Int64s `json:"approverUserProfileIds,omitempty"`
9222
9223	// BuyerInvoiceId: Buyer invoice ID associated with this order.
9224	BuyerInvoiceId string `json:"buyerInvoiceId,omitempty"`
9225
9226	// BuyerOrganizationName: Name of the buyer organization.
9227	BuyerOrganizationName string `json:"buyerOrganizationName,omitempty"`
9228
9229	// Comments: Comments in this order.
9230	Comments string `json:"comments,omitempty"`
9231
9232	// Contacts: Contacts for this order.
9233	Contacts []*OrderContact `json:"contacts,omitempty"`
9234
9235	// Id: ID of this order. This is a read-only, auto-generated field.
9236	Id int64 `json:"id,omitempty,string"`
9237
9238	// Kind: Identifies what kind of resource this is. Value: the fixed
9239	// string "dfareporting#order".
9240	Kind string `json:"kind,omitempty"`
9241
9242	// LastModifiedInfo: Information about the most recent modification of
9243	// this order.
9244	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9245
9246	// Name: Name of this order.
9247	Name string `json:"name,omitempty"`
9248
9249	// Notes: Notes of this order.
9250	Notes string `json:"notes,omitempty"`
9251
9252	// PlanningTermId: ID of the terms and conditions template used in this
9253	// order.
9254	PlanningTermId int64 `json:"planningTermId,omitempty,string"`
9255
9256	// ProjectId: Project ID of this order.
9257	ProjectId int64 `json:"projectId,omitempty,string"`
9258
9259	// SellerOrderId: Seller order ID associated with this order.
9260	SellerOrderId string `json:"sellerOrderId,omitempty"`
9261
9262	// SellerOrganizationName: Name of the seller organization.
9263	SellerOrganizationName string `json:"sellerOrganizationName,omitempty"`
9264
9265	// SiteId: Site IDs this order is associated with.
9266	SiteId googleapi.Int64s `json:"siteId,omitempty"`
9267
9268	// SiteNames: Free-form site names this order is associated with.
9269	SiteNames []string `json:"siteNames,omitempty"`
9270
9271	// SubaccountId: Subaccount ID of this order.
9272	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9273
9274	// TermsAndConditions: Terms and conditions of this order.
9275	TermsAndConditions string `json:"termsAndConditions,omitempty"`
9276
9277	// ServerResponse contains the HTTP response code and headers from the
9278	// server.
9279	googleapi.ServerResponse `json:"-"`
9280
9281	// ForceSendFields is a list of field names (e.g. "AccountId") to
9282	// unconditionally include in API requests. By default, fields with
9283	// empty values are omitted from API requests. However, any non-pointer,
9284	// non-interface field appearing in ForceSendFields will be sent to the
9285	// server regardless of whether the field is empty or not. This may be
9286	// used to include empty fields in Patch requests.
9287	ForceSendFields []string `json:"-"`
9288
9289	// NullFields is a list of field names (e.g. "AccountId") to include in
9290	// API requests with the JSON null value. By default, fields with empty
9291	// values are omitted from API requests. However, any field with an
9292	// empty value appearing in NullFields will be sent to the server as
9293	// null. It is an error if a field in this list has a non-empty value.
9294	// This may be used to include null fields in Patch requests.
9295	NullFields []string `json:"-"`
9296}
9297
9298func (s *Order) MarshalJSON() ([]byte, error) {
9299	type NoMethod Order
9300	raw := NoMethod(*s)
9301	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9302}
9303
9304// OrderContact: Contact of an order.
9305type OrderContact struct {
9306	// ContactInfo: Free-form information about this contact. It could be
9307	// any information related to this contact in addition to type, title,
9308	// name, and signature user profile ID.
9309	ContactInfo string `json:"contactInfo,omitempty"`
9310
9311	// ContactName: Name of this contact.
9312	ContactName string `json:"contactName,omitempty"`
9313
9314	// ContactTitle: Title of this contact.
9315	ContactTitle string `json:"contactTitle,omitempty"`
9316
9317	// ContactType: Type of this contact.
9318	//
9319	// Possible values:
9320	//   "PLANNING_ORDER_CONTACT_BUYER_CONTACT"
9321	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
9322	//   "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
9323	ContactType string `json:"contactType,omitempty"`
9324
9325	// SignatureUserProfileId: ID of the user profile containing the
9326	// signature that will be embedded into order documents.
9327	SignatureUserProfileId int64 `json:"signatureUserProfileId,omitempty,string"`
9328
9329	// ForceSendFields is a list of field names (e.g. "ContactInfo") to
9330	// unconditionally include in API requests. By default, fields with
9331	// empty values are omitted from API requests. However, any non-pointer,
9332	// non-interface field appearing in ForceSendFields will be sent to the
9333	// server regardless of whether the field is empty or not. This may be
9334	// used to include empty fields in Patch requests.
9335	ForceSendFields []string `json:"-"`
9336
9337	// NullFields is a list of field names (e.g. "ContactInfo") to include
9338	// in API requests with the JSON null value. By default, fields with
9339	// empty values are omitted from API requests. However, any field with
9340	// an empty value appearing in NullFields will be sent to the server as
9341	// null. It is an error if a field in this list has a non-empty value.
9342	// This may be used to include null fields in Patch requests.
9343	NullFields []string `json:"-"`
9344}
9345
9346func (s *OrderContact) MarshalJSON() ([]byte, error) {
9347	type NoMethod OrderContact
9348	raw := NoMethod(*s)
9349	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9350}
9351
9352// OrderDocument: Contains properties of a Planning order document.
9353type OrderDocument struct {
9354	// AccountId: Account ID of this order document.
9355	AccountId int64 `json:"accountId,omitempty,string"`
9356
9357	// AdvertiserId: Advertiser ID of this order document.
9358	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9359
9360	// AmendedOrderDocumentId: The amended order document ID of this order
9361	// document. An order document can be created by optionally amending
9362	// another order document so that the change history can be preserved.
9363	AmendedOrderDocumentId int64 `json:"amendedOrderDocumentId,omitempty,string"`
9364
9365	// ApprovedByUserProfileIds: IDs of users who have approved this order
9366	// document.
9367	ApprovedByUserProfileIds googleapi.Int64s `json:"approvedByUserProfileIds,omitempty"`
9368
9369	// Cancelled: Whether this order document is cancelled.
9370	Cancelled bool `json:"cancelled,omitempty"`
9371
9372	// CreatedInfo: Information about the creation of this order document.
9373	CreatedInfo *LastModifiedInfo `json:"createdInfo,omitempty"`
9374
9375	EffectiveDate string `json:"effectiveDate,omitempty"`
9376
9377	// Id: ID of this order document.
9378	Id int64 `json:"id,omitempty,string"`
9379
9380	// Kind: Identifies what kind of resource this is. Value: the fixed
9381	// string "dfareporting#orderDocument".
9382	Kind string `json:"kind,omitempty"`
9383
9384	// LastSentRecipients: List of email addresses that received the last
9385	// sent document.
9386	LastSentRecipients []string `json:"lastSentRecipients,omitempty"`
9387
9388	LastSentTime string `json:"lastSentTime,omitempty"`
9389
9390	// OrderId: ID of the order from which this order document is created.
9391	OrderId int64 `json:"orderId,omitempty,string"`
9392
9393	// ProjectId: Project ID of this order document.
9394	ProjectId int64 `json:"projectId,omitempty,string"`
9395
9396	// Signed: Whether this order document has been signed.
9397	Signed bool `json:"signed,omitempty"`
9398
9399	// SubaccountId: Subaccount ID of this order document.
9400	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9401
9402	// Title: Title of this order document.
9403	Title string `json:"title,omitempty"`
9404
9405	// Type: Type of this order document
9406	//
9407	// Possible values:
9408	//   "PLANNING_ORDER_TYPE_INSERTION_ORDER"
9409	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
9410	Type string `json:"type,omitempty"`
9411
9412	// ServerResponse contains the HTTP response code and headers from the
9413	// server.
9414	googleapi.ServerResponse `json:"-"`
9415
9416	// ForceSendFields is a list of field names (e.g. "AccountId") to
9417	// unconditionally include in API requests. By default, fields with
9418	// empty values are omitted from API requests. However, any non-pointer,
9419	// non-interface field appearing in ForceSendFields will be sent to the
9420	// server regardless of whether the field is empty or not. This may be
9421	// used to include empty fields in Patch requests.
9422	ForceSendFields []string `json:"-"`
9423
9424	// NullFields is a list of field names (e.g. "AccountId") to include in
9425	// API requests with the JSON null value. By default, fields with empty
9426	// values are omitted from API requests. However, any field with an
9427	// empty value appearing in NullFields will be sent to the server as
9428	// null. It is an error if a field in this list has a non-empty value.
9429	// This may be used to include null fields in Patch requests.
9430	NullFields []string `json:"-"`
9431}
9432
9433func (s *OrderDocument) MarshalJSON() ([]byte, error) {
9434	type NoMethod OrderDocument
9435	raw := NoMethod(*s)
9436	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9437}
9438
9439// OrderDocumentsListResponse: Order document List Response
9440type OrderDocumentsListResponse struct {
9441	// Kind: Identifies what kind of resource this is. Value: the fixed
9442	// string "dfareporting#orderDocumentsListResponse".
9443	Kind string `json:"kind,omitempty"`
9444
9445	// NextPageToken: Pagination token to be used for the next list
9446	// operation.
9447	NextPageToken string `json:"nextPageToken,omitempty"`
9448
9449	// OrderDocuments: Order document collection
9450	OrderDocuments []*OrderDocument `json:"orderDocuments,omitempty"`
9451
9452	// ServerResponse contains the HTTP response code and headers from the
9453	// server.
9454	googleapi.ServerResponse `json:"-"`
9455
9456	// ForceSendFields is a list of field names (e.g. "Kind") to
9457	// unconditionally include in API requests. By default, fields with
9458	// empty values are omitted from API requests. However, any non-pointer,
9459	// non-interface field appearing in ForceSendFields will be sent to the
9460	// server regardless of whether the field is empty or not. This may be
9461	// used to include empty fields in Patch requests.
9462	ForceSendFields []string `json:"-"`
9463
9464	// NullFields is a list of field names (e.g. "Kind") to include in API
9465	// requests with the JSON null value. By default, fields with empty
9466	// values are omitted from API requests. However, any field with an
9467	// empty value appearing in NullFields will be sent to the server as
9468	// null. It is an error if a field in this list has a non-empty value.
9469	// This may be used to include null fields in Patch requests.
9470	NullFields []string `json:"-"`
9471}
9472
9473func (s *OrderDocumentsListResponse) MarshalJSON() ([]byte, error) {
9474	type NoMethod OrderDocumentsListResponse
9475	raw := NoMethod(*s)
9476	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9477}
9478
9479// OrdersListResponse: Order List Response
9480type OrdersListResponse struct {
9481	// Kind: Identifies what kind of resource this is. Value: the fixed
9482	// string "dfareporting#ordersListResponse".
9483	Kind string `json:"kind,omitempty"`
9484
9485	// NextPageToken: Pagination token to be used for the next list
9486	// operation.
9487	NextPageToken string `json:"nextPageToken,omitempty"`
9488
9489	// Orders: Order collection.
9490	Orders []*Order `json:"orders,omitempty"`
9491
9492	// ServerResponse contains the HTTP response code and headers from the
9493	// server.
9494	googleapi.ServerResponse `json:"-"`
9495
9496	// ForceSendFields is a list of field names (e.g. "Kind") to
9497	// unconditionally include in API requests. By default, fields with
9498	// empty values are omitted from API requests. However, any non-pointer,
9499	// non-interface field appearing in ForceSendFields will be sent to the
9500	// server regardless of whether the field is empty or not. This may be
9501	// used to include empty fields in Patch requests.
9502	ForceSendFields []string `json:"-"`
9503
9504	// NullFields is a list of field names (e.g. "Kind") to include in API
9505	// requests with the JSON null value. By default, fields with empty
9506	// values are omitted from API requests. However, any field with an
9507	// empty value appearing in NullFields will be sent to the server as
9508	// null. It is an error if a field in this list has a non-empty value.
9509	// This may be used to include null fields in Patch requests.
9510	NullFields []string `json:"-"`
9511}
9512
9513func (s *OrdersListResponse) MarshalJSON() ([]byte, error) {
9514	type NoMethod OrdersListResponse
9515	raw := NoMethod(*s)
9516	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9517}
9518
9519// PathToConversionReportCompatibleFields: Represents fields that are
9520// compatible to be selected for a report of type "PATH_TO_CONVERSION".
9521type PathToConversionReportCompatibleFields struct {
9522	// ConversionDimensions: Conversion dimensions which are compatible to
9523	// be selected in the "conversionDimensions" section of the report.
9524	ConversionDimensions []*Dimension `json:"conversionDimensions,omitempty"`
9525
9526	// CustomFloodlightVariables: Custom floodlight variables which are
9527	// compatible to be selected in the "customFloodlightVariables" section
9528	// of the report.
9529	CustomFloodlightVariables []*Dimension `json:"customFloodlightVariables,omitempty"`
9530
9531	// Kind: The kind of resource this is, in this case
9532	// dfareporting#pathToConversionReportCompatibleFields.
9533	Kind string `json:"kind,omitempty"`
9534
9535	// Metrics: Metrics which are compatible to be selected in the
9536	// "metricNames" section of the report.
9537	Metrics []*Metric `json:"metrics,omitempty"`
9538
9539	// PerInteractionDimensions: Per-interaction dimensions which are
9540	// compatible to be selected in the "perInteractionDimensions" section
9541	// of the report.
9542	PerInteractionDimensions []*Dimension `json:"perInteractionDimensions,omitempty"`
9543
9544	// ForceSendFields is a list of field names (e.g.
9545	// "ConversionDimensions") to unconditionally include in API requests.
9546	// By default, fields with empty values are omitted from API requests.
9547	// However, any non-pointer, non-interface field appearing in
9548	// ForceSendFields will be sent to the server regardless of whether the
9549	// field is empty or not. This may be used to include empty fields in
9550	// Patch requests.
9551	ForceSendFields []string `json:"-"`
9552
9553	// NullFields is a list of field names (e.g. "ConversionDimensions") to
9554	// include in API requests with the JSON null value. By default, fields
9555	// with empty values are omitted from API requests. However, any field
9556	// with an empty value appearing in NullFields will be sent to the
9557	// server as null. It is an error if a field in this list has a
9558	// non-empty value. This may be used to include null fields in Patch
9559	// requests.
9560	NullFields []string `json:"-"`
9561}
9562
9563func (s *PathToConversionReportCompatibleFields) MarshalJSON() ([]byte, error) {
9564	type NoMethod PathToConversionReportCompatibleFields
9565	raw := NoMethod(*s)
9566	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9567}
9568
9569// Placement: Contains properties of a placement.
9570type Placement struct {
9571	// AccountId: Account ID of this placement. This field can be left
9572	// blank.
9573	AccountId int64 `json:"accountId,omitempty,string"`
9574
9575	// AdBlockingOptOut: Whether this placement opts out of ad blocking.
9576	// When true, ad blocking is disabled for this placement. When false,
9577	// the campaign and site settings take effect.
9578	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
9579
9580	// AdditionalSizes: Additional sizes associated with this placement.
9581	// When inserting or updating a placement, only the size ID field is
9582	// used.
9583	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
9584
9585	// AdvertiserId: Advertiser ID of this placement. This field can be left
9586	// blank.
9587	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9588
9589	// AdvertiserIdDimensionValue: Dimension value for the ID of the
9590	// advertiser. This is a read-only, auto-generated field.
9591	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
9592
9593	// Archived: Whether this placement is archived.
9594	Archived bool `json:"archived,omitempty"`
9595
9596	// CampaignId: Campaign ID of this placement. This field is a required
9597	// field on insertion.
9598	CampaignId int64 `json:"campaignId,omitempty,string"`
9599
9600	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
9601	// This is a read-only, auto-generated field.
9602	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
9603
9604	// Comment: Comments for this placement.
9605	Comment string `json:"comment,omitempty"`
9606
9607	// Compatibility: Placement compatibility. DISPLAY and
9608	// DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices
9609	// or in mobile apps for regular or interstitial ads respectively. APP
9610	// and APP_INTERSTITIAL are no longer allowed for new placement
9611	// insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL.
9612	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
9613	// with the VAST standard. This field is required on insertion.
9614	//
9615	// Possible values:
9616	//   "DISPLAY"
9617	//   "DISPLAY_INTERSTITIAL"
9618	//   "APP"
9619	//   "APP_INTERSTITIAL"
9620	//   "IN_STREAM_VIDEO"
9621	//   "IN_STREAM_AUDIO"
9622	Compatibility string `json:"compatibility,omitempty"`
9623
9624	// ContentCategoryId: ID of the content category assigned to this
9625	// placement.
9626	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
9627
9628	// CreateInfo: Information about the creation of this placement. This is
9629	// a read-only field.
9630	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
9631
9632	// DirectorySiteId: Directory site ID of this placement. On insert, you
9633	// must set either this field or the siteId field to specify the site
9634	// associated with this placement. This is a required field that is
9635	// read-only after insertion.
9636	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
9637
9638	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
9639	// directory site. This is a read-only, auto-generated field.
9640	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
9641
9642	// ExternalId: External ID for this placement.
9643	ExternalId string `json:"externalId,omitempty"`
9644
9645	// Id: ID of this placement. This is a read-only, auto-generated field.
9646	Id int64 `json:"id,omitempty,string"`
9647
9648	// IdDimensionValue: Dimension value for the ID of this placement. This
9649	// is a read-only, auto-generated field.
9650	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
9651
9652	// KeyName: Key name of this placement. This is a read-only,
9653	// auto-generated field.
9654	KeyName string `json:"keyName,omitempty"`
9655
9656	// Kind: Identifies what kind of resource this is. Value: the fixed
9657	// string "dfareporting#placement".
9658	Kind string `json:"kind,omitempty"`
9659
9660	// LastModifiedInfo: Information about the most recent modification of
9661	// this placement. This is a read-only field.
9662	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9663
9664	// LookbackConfiguration: Lookback window settings for this placement.
9665	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
9666
9667	// Name: Name of this placement.This is a required field and must be
9668	// less than 256 characters long.
9669	Name string `json:"name,omitempty"`
9670
9671	// PaymentApproved: Whether payment was approved for this placement.
9672	// This is a read-only field relevant only to publisher-paid placements.
9673	PaymentApproved bool `json:"paymentApproved,omitempty"`
9674
9675	// PaymentSource: Payment source for this placement. This is a required
9676	// field that is read-only after insertion.
9677	//
9678	// Possible values:
9679	//   "PLACEMENT_AGENCY_PAID"
9680	//   "PLACEMENT_PUBLISHER_PAID"
9681	PaymentSource string `json:"paymentSource,omitempty"`
9682
9683	// PlacementGroupId: ID of this placement's group, if applicable.
9684	PlacementGroupId int64 `json:"placementGroupId,omitempty,string"`
9685
9686	// PlacementGroupIdDimensionValue: Dimension value for the ID of the
9687	// placement group. This is a read-only, auto-generated field.
9688	PlacementGroupIdDimensionValue *DimensionValue `json:"placementGroupIdDimensionValue,omitempty"`
9689
9690	// PlacementStrategyId: ID of the placement strategy assigned to this
9691	// placement.
9692	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
9693
9694	// PricingSchedule: Pricing schedule of this placement. This field is
9695	// required on insertion, specifically subfields startDate, endDate and
9696	// pricingType.
9697	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
9698
9699	// Primary: Whether this placement is the primary placement of a
9700	// roadblock (placement group). You cannot change this field from true
9701	// to false. Setting this field to true will automatically set the
9702	// primary field on the original primary placement of the roadblock to
9703	// false, and it will automatically set the roadblock's
9704	// primaryPlacementId field to the ID of this placement.
9705	Primary bool `json:"primary,omitempty"`
9706
9707	// PublisherUpdateInfo: Information about the last publisher update.
9708	// This is a read-only field.
9709	PublisherUpdateInfo *LastModifiedInfo `json:"publisherUpdateInfo,omitempty"`
9710
9711	// SiteId: Site ID associated with this placement. On insert, you must
9712	// set either this field or the directorySiteId field to specify the
9713	// site associated with this placement. This is a required field that is
9714	// read-only after insertion.
9715	SiteId int64 `json:"siteId,omitempty,string"`
9716
9717	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
9718	// a read-only, auto-generated field.
9719	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
9720
9721	// Size: Size associated with this placement. When inserting or updating
9722	// a placement, only the size ID field is used. This field is required
9723	// on insertion.
9724	Size *Size `json:"size,omitempty"`
9725
9726	// SslRequired: Whether creatives assigned to this placement must be
9727	// SSL-compliant.
9728	SslRequired bool `json:"sslRequired,omitempty"`
9729
9730	// Status: Third-party placement status.
9731	//
9732	// Possible values:
9733	//   "PENDING_REVIEW"
9734	//   "PAYMENT_ACCEPTED"
9735	//   "PAYMENT_REJECTED"
9736	//   "ACKNOWLEDGE_REJECTION"
9737	//   "ACKNOWLEDGE_ACCEPTANCE"
9738	//   "DRAFT"
9739	Status string `json:"status,omitempty"`
9740
9741	// SubaccountId: Subaccount ID of this placement. This field can be left
9742	// blank.
9743	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9744
9745	// TagFormats: Tag formats to generate for this placement. This field is
9746	// required on insertion. Acceptable values are: -
9747	// "PLACEMENT_TAG_STANDARD" - "PLACEMENT_TAG_IFRAME_JAVASCRIPT" -
9748	// "PLACEMENT_TAG_IFRAME_ILAYER" - "PLACEMENT_TAG_INTERNAL_REDIRECT" -
9749	// "PLACEMENT_TAG_JAVASCRIPT" -
9750	// "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" -
9751	// "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" -
9752	// "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" -
9753	// "PLACEMENT_TAG_CLICK_COMMANDS" -
9754	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" -
9755	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3" -
9756	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" -
9757	// "PLACEMENT_TAG_TRACKING" - "PLACEMENT_TAG_TRACKING_IFRAME" -
9758	// "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
9759	//
9760	// Possible values:
9761	//   "PLACEMENT_TAG_STANDARD"
9762	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
9763	//   "PLACEMENT_TAG_IFRAME_ILAYER"
9764	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
9765	//   "PLACEMENT_TAG_JAVASCRIPT"
9766	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
9767	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
9768	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
9769	//   "PLACEMENT_TAG_CLICK_COMMANDS"
9770	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
9771	//   "PLACEMENT_TAG_TRACKING"
9772	//   "PLACEMENT_TAG_TRACKING_IFRAME"
9773	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
9774	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
9775	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
9776	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
9777	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
9778	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
9779	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
9780	TagFormats []string `json:"tagFormats,omitempty"`
9781
9782	// TagSetting: Tag settings for this placement.
9783	TagSetting *TagSetting `json:"tagSetting,omitempty"`
9784
9785	// VideoActiveViewOptOut: Whether Verification and ActiveView are
9786	// disabled for in-stream video creatives for this placement. The same
9787	// setting videoActiveViewOptOut exists on the site level -- the opt out
9788	// occurs if either of these settings are true. These settings are
9789	// distinct from DirectorySites.settings.activeViewOptOut or
9790	// Sites.siteSettings.activeViewOptOut which only apply to display ads.
9791	// However, Accounts.activeViewOptOut opts out both video traffic, as
9792	// well as display ads, from Verification and ActiveView.
9793	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
9794
9795	// VideoSettings: A collection of settings which affect video creatives
9796	// served through this placement. Applicable to placements with
9797	// IN_STREAM_VIDEO compatibility.
9798	VideoSettings *VideoSettings `json:"videoSettings,omitempty"`
9799
9800	// VpaidAdapterChoice: VPAID adapter setting for this placement.
9801	// Controls which VPAID format the measurement adapter will use for
9802	// in-stream video creatives assigned to this placement. *Note:* Flash
9803	// is no longer supported. This field now defaults to HTML5 when the
9804	// following values are provided: FLASH, BOTH.
9805	//
9806	// Possible values:
9807	//   "DEFAULT"
9808	//   "FLASH"
9809	//   "HTML5"
9810	//   "BOTH"
9811	VpaidAdapterChoice string `json:"vpaidAdapterChoice,omitempty"`
9812
9813	// ServerResponse contains the HTTP response code and headers from the
9814	// server.
9815	googleapi.ServerResponse `json:"-"`
9816
9817	// ForceSendFields is a list of field names (e.g. "AccountId") to
9818	// unconditionally include in API requests. By default, fields with
9819	// empty values are omitted from API requests. However, any non-pointer,
9820	// non-interface field appearing in ForceSendFields will be sent to the
9821	// server regardless of whether the field is empty or not. This may be
9822	// used to include empty fields in Patch requests.
9823	ForceSendFields []string `json:"-"`
9824
9825	// NullFields is a list of field names (e.g. "AccountId") to include in
9826	// API requests with the JSON null value. By default, fields with empty
9827	// values are omitted from API requests. However, any field with an
9828	// empty value appearing in NullFields will be sent to the server as
9829	// null. It is an error if a field in this list has a non-empty value.
9830	// This may be used to include null fields in Patch requests.
9831	NullFields []string `json:"-"`
9832}
9833
9834func (s *Placement) MarshalJSON() ([]byte, error) {
9835	type NoMethod Placement
9836	raw := NoMethod(*s)
9837	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9838}
9839
9840// PlacementAssignment: Placement Assignment.
9841type PlacementAssignment struct {
9842	// Active: Whether this placement assignment is active. When true, the
9843	// placement will be included in the ad's rotation.
9844	Active bool `json:"active,omitempty"`
9845
9846	// PlacementId: ID of the placement to be assigned. This is a required
9847	// field.
9848	PlacementId int64 `json:"placementId,omitempty,string"`
9849
9850	// PlacementIdDimensionValue: Dimension value for the ID of the
9851	// placement. This is a read-only, auto-generated field.
9852	PlacementIdDimensionValue *DimensionValue `json:"placementIdDimensionValue,omitempty"`
9853
9854	// SslRequired: Whether the placement to be assigned requires SSL. This
9855	// is a read-only field that is auto-generated when the ad is inserted
9856	// or updated.
9857	SslRequired bool `json:"sslRequired,omitempty"`
9858
9859	// ForceSendFields is a list of field names (e.g. "Active") to
9860	// unconditionally include in API requests. By default, fields with
9861	// empty values are omitted from API requests. However, any non-pointer,
9862	// non-interface field appearing in ForceSendFields will be sent to the
9863	// server regardless of whether the field is empty or not. This may be
9864	// used to include empty fields in Patch requests.
9865	ForceSendFields []string `json:"-"`
9866
9867	// NullFields is a list of field names (e.g. "Active") to include in API
9868	// requests with the JSON null value. By default, fields with empty
9869	// values are omitted from API requests. However, any field with an
9870	// empty value appearing in NullFields will be sent to the server as
9871	// null. It is an error if a field in this list has a non-empty value.
9872	// This may be used to include null fields in Patch requests.
9873	NullFields []string `json:"-"`
9874}
9875
9876func (s *PlacementAssignment) MarshalJSON() ([]byte, error) {
9877	type NoMethod PlacementAssignment
9878	raw := NoMethod(*s)
9879	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9880}
9881
9882// PlacementGroup: Contains properties of a package or roadblock.
9883type PlacementGroup struct {
9884	// AccountId: Account ID of this placement group. This is a read-only
9885	// field that can be left blank.
9886	AccountId int64 `json:"accountId,omitempty,string"`
9887
9888	// AdvertiserId: Advertiser ID of this placement group. This is a
9889	// required field on insertion.
9890	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9891
9892	// AdvertiserIdDimensionValue: Dimension value for the ID of the
9893	// advertiser. This is a read-only, auto-generated field.
9894	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
9895
9896	// Archived: Whether this placement group is archived.
9897	Archived bool `json:"archived,omitempty"`
9898
9899	// CampaignId: Campaign ID of this placement group. This field is
9900	// required on insertion.
9901	CampaignId int64 `json:"campaignId,omitempty,string"`
9902
9903	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
9904	// This is a read-only, auto-generated field.
9905	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
9906
9907	// ChildPlacementIds: IDs of placements which are assigned to this
9908	// placement group. This is a read-only, auto-generated field.
9909	ChildPlacementIds googleapi.Int64s `json:"childPlacementIds,omitempty"`
9910
9911	// Comment: Comments for this placement group.
9912	Comment string `json:"comment,omitempty"`
9913
9914	// ContentCategoryId: ID of the content category assigned to this
9915	// placement group.
9916	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
9917
9918	// CreateInfo: Information about the creation of this placement group.
9919	// This is a read-only field.
9920	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
9921
9922	// DirectorySiteId: Directory site ID associated with this placement
9923	// group. On insert, you must set either this field or the site_id field
9924	// to specify the site associated with this placement group. This is a
9925	// required field that is read-only after insertion.
9926	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
9927
9928	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
9929	// directory site. This is a read-only, auto-generated field.
9930	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
9931
9932	// ExternalId: External ID for this placement.
9933	ExternalId string `json:"externalId,omitempty"`
9934
9935	// Id: ID of this placement group. This is a read-only, auto-generated
9936	// field.
9937	Id int64 `json:"id,omitempty,string"`
9938
9939	// IdDimensionValue: Dimension value for the ID of this placement group.
9940	// This is a read-only, auto-generated field.
9941	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
9942
9943	// Kind: Identifies what kind of resource this is. Value: the fixed
9944	// string "dfareporting#placementGroup".
9945	Kind string `json:"kind,omitempty"`
9946
9947	// LastModifiedInfo: Information about the most recent modification of
9948	// this placement group. This is a read-only field.
9949	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9950
9951	// Name: Name of this placement group. This is a required field and must
9952	// be less than 256 characters long.
9953	Name string `json:"name,omitempty"`
9954
9955	// PlacementGroupType: Type of this placement group. A package is a
9956	// simple group of placements that acts as a single pricing point for a
9957	// group of tags. A roadblock is a group of placements that not only
9958	// acts as a single pricing point, but also assumes that all the tags in
9959	// it will be served at the same time. A roadblock requires one of its
9960	// assigned placements to be marked as primary for reporting. This field
9961	// is required on insertion.
9962	//
9963	// Possible values:
9964	//   "PLACEMENT_PACKAGE"
9965	//   "PLACEMENT_ROADBLOCK"
9966	PlacementGroupType string `json:"placementGroupType,omitempty"`
9967
9968	// PlacementStrategyId: ID of the placement strategy assigned to this
9969	// placement group.
9970	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
9971
9972	// PricingSchedule: Pricing schedule of this placement group. This field
9973	// is required on insertion.
9974	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
9975
9976	// PrimaryPlacementId: ID of the primary placement, used to calculate
9977	// the media cost of a roadblock (placement group). Modifying this field
9978	// will automatically modify the primary field on all affected roadblock
9979	// child placements.
9980	PrimaryPlacementId int64 `json:"primaryPlacementId,omitempty,string"`
9981
9982	// PrimaryPlacementIdDimensionValue: Dimension value for the ID of the
9983	// primary placement. This is a read-only, auto-generated field.
9984	PrimaryPlacementIdDimensionValue *DimensionValue `json:"primaryPlacementIdDimensionValue,omitempty"`
9985
9986	// SiteId: Site ID associated with this placement group. On insert, you
9987	// must set either this field or the directorySiteId field to specify
9988	// the site associated with this placement group. This is a required
9989	// field that is read-only after insertion.
9990	SiteId int64 `json:"siteId,omitempty,string"`
9991
9992	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
9993	// a read-only, auto-generated field.
9994	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
9995
9996	// SubaccountId: Subaccount ID of this placement group. This is a
9997	// read-only field that can be left blank.
9998	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9999
10000	// ServerResponse contains the HTTP response code and headers from the
10001	// server.
10002	googleapi.ServerResponse `json:"-"`
10003
10004	// ForceSendFields is a list of field names (e.g. "AccountId") to
10005	// unconditionally include in API requests. By default, fields with
10006	// empty values are omitted from API requests. However, any non-pointer,
10007	// non-interface field appearing in ForceSendFields will be sent to the
10008	// server regardless of whether the field is empty or not. This may be
10009	// used to include empty fields in Patch requests.
10010	ForceSendFields []string `json:"-"`
10011
10012	// NullFields is a list of field names (e.g. "AccountId") to include in
10013	// API requests with the JSON null value. By default, fields with empty
10014	// values are omitted from API requests. However, any field with an
10015	// empty value appearing in NullFields will be sent to the server as
10016	// null. It is an error if a field in this list has a non-empty value.
10017	// This may be used to include null fields in Patch requests.
10018	NullFields []string `json:"-"`
10019}
10020
10021func (s *PlacementGroup) MarshalJSON() ([]byte, error) {
10022	type NoMethod PlacementGroup
10023	raw := NoMethod(*s)
10024	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10025}
10026
10027// PlacementGroupsListResponse: Placement Group List Response
10028type PlacementGroupsListResponse struct {
10029	// Kind: Identifies what kind of resource this is. Value: the fixed
10030	// string "dfareporting#placementGroupsListResponse".
10031	Kind string `json:"kind,omitempty"`
10032
10033	// NextPageToken: Pagination token to be used for the next list
10034	// operation.
10035	NextPageToken string `json:"nextPageToken,omitempty"`
10036
10037	// PlacementGroups: Placement group collection.
10038	PlacementGroups []*PlacementGroup `json:"placementGroups,omitempty"`
10039
10040	// ServerResponse contains the HTTP response code and headers from the
10041	// server.
10042	googleapi.ServerResponse `json:"-"`
10043
10044	// ForceSendFields is a list of field names (e.g. "Kind") to
10045	// unconditionally include in API requests. By default, fields with
10046	// empty values are omitted from API requests. However, any non-pointer,
10047	// non-interface field appearing in ForceSendFields will be sent to the
10048	// server regardless of whether the field is empty or not. This may be
10049	// used to include empty fields in Patch requests.
10050	ForceSendFields []string `json:"-"`
10051
10052	// NullFields is a list of field names (e.g. "Kind") to include in API
10053	// requests with the JSON null value. By default, fields with empty
10054	// values are omitted from API requests. However, any field with an
10055	// empty value appearing in NullFields will be sent to the server as
10056	// null. It is an error if a field in this list has a non-empty value.
10057	// This may be used to include null fields in Patch requests.
10058	NullFields []string `json:"-"`
10059}
10060
10061func (s *PlacementGroupsListResponse) MarshalJSON() ([]byte, error) {
10062	type NoMethod PlacementGroupsListResponse
10063	raw := NoMethod(*s)
10064	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10065}
10066
10067// PlacementStrategiesListResponse: Placement Strategy List Response
10068type PlacementStrategiesListResponse struct {
10069	// Kind: Identifies what kind of resource this is. Value: the fixed
10070	// string "dfareporting#placementStrategiesListResponse".
10071	Kind string `json:"kind,omitempty"`
10072
10073	// NextPageToken: Pagination token to be used for the next list
10074	// operation.
10075	NextPageToken string `json:"nextPageToken,omitempty"`
10076
10077	// PlacementStrategies: Placement strategy collection.
10078	PlacementStrategies []*PlacementStrategy `json:"placementStrategies,omitempty"`
10079
10080	// ServerResponse contains the HTTP response code and headers from the
10081	// server.
10082	googleapi.ServerResponse `json:"-"`
10083
10084	// ForceSendFields is a list of field names (e.g. "Kind") to
10085	// unconditionally include in API requests. By default, fields with
10086	// empty values are omitted from API requests. However, any non-pointer,
10087	// non-interface field appearing in ForceSendFields will be sent to the
10088	// server regardless of whether the field is empty or not. This may be
10089	// used to include empty fields in Patch requests.
10090	ForceSendFields []string `json:"-"`
10091
10092	// NullFields is a list of field names (e.g. "Kind") to include in API
10093	// requests with the JSON null value. By default, fields with empty
10094	// values are omitted from API requests. However, any field with an
10095	// empty value appearing in NullFields will be sent to the server as
10096	// null. It is an error if a field in this list has a non-empty value.
10097	// This may be used to include null fields in Patch requests.
10098	NullFields []string `json:"-"`
10099}
10100
10101func (s *PlacementStrategiesListResponse) MarshalJSON() ([]byte, error) {
10102	type NoMethod PlacementStrategiesListResponse
10103	raw := NoMethod(*s)
10104	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10105}
10106
10107// PlacementStrategy: Contains properties of a placement strategy.
10108type PlacementStrategy struct {
10109	// AccountId: Account ID of this placement strategy.This is a read-only
10110	// field that can be left blank.
10111	AccountId int64 `json:"accountId,omitempty,string"`
10112
10113	// Id: ID of this placement strategy. This is a read-only,
10114	// auto-generated field.
10115	Id int64 `json:"id,omitempty,string"`
10116
10117	// Kind: Identifies what kind of resource this is. Value: the fixed
10118	// string "dfareporting#placementStrategy".
10119	Kind string `json:"kind,omitempty"`
10120
10121	// Name: Name of this placement strategy. This is a required field. It
10122	// must be less than 256 characters long and unique among placement
10123	// strategies of the same account.
10124	Name string `json:"name,omitempty"`
10125
10126	// ServerResponse contains the HTTP response code and headers from the
10127	// server.
10128	googleapi.ServerResponse `json:"-"`
10129
10130	// ForceSendFields is a list of field names (e.g. "AccountId") to
10131	// unconditionally include in API requests. By default, fields with
10132	// empty values are omitted from API requests. However, any non-pointer,
10133	// non-interface field appearing in ForceSendFields will be sent to the
10134	// server regardless of whether the field is empty or not. This may be
10135	// used to include empty fields in Patch requests.
10136	ForceSendFields []string `json:"-"`
10137
10138	// NullFields is a list of field names (e.g. "AccountId") to include in
10139	// API requests with the JSON null value. By default, fields with empty
10140	// values are omitted from API requests. However, any field with an
10141	// empty value appearing in NullFields will be sent to the server as
10142	// null. It is an error if a field in this list has a non-empty value.
10143	// This may be used to include null fields in Patch requests.
10144	NullFields []string `json:"-"`
10145}
10146
10147func (s *PlacementStrategy) MarshalJSON() ([]byte, error) {
10148	type NoMethod PlacementStrategy
10149	raw := NoMethod(*s)
10150	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10151}
10152
10153// PlacementTag: Placement Tag
10154type PlacementTag struct {
10155	// PlacementId: Placement ID
10156	PlacementId int64 `json:"placementId,omitempty,string"`
10157
10158	// TagDatas: Tags generated for this placement.
10159	TagDatas []*TagData `json:"tagDatas,omitempty"`
10160
10161	// ForceSendFields is a list of field names (e.g. "PlacementId") to
10162	// unconditionally include in API requests. By default, fields with
10163	// empty values are omitted from API requests. However, any non-pointer,
10164	// non-interface field appearing in ForceSendFields will be sent to the
10165	// server regardless of whether the field is empty or not. This may be
10166	// used to include empty fields in Patch requests.
10167	ForceSendFields []string `json:"-"`
10168
10169	// NullFields is a list of field names (e.g. "PlacementId") to include
10170	// in API requests with the JSON null value. By default, fields with
10171	// empty values are omitted from API requests. However, any field with
10172	// an empty value appearing in NullFields will be sent to the server as
10173	// null. It is an error if a field in this list has a non-empty value.
10174	// This may be used to include null fields in Patch requests.
10175	NullFields []string `json:"-"`
10176}
10177
10178func (s *PlacementTag) MarshalJSON() ([]byte, error) {
10179	type NoMethod PlacementTag
10180	raw := NoMethod(*s)
10181	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10182}
10183
10184// PlacementsGenerateTagsResponse: Placement GenerateTags Response
10185type PlacementsGenerateTagsResponse struct {
10186	// Kind: Identifies what kind of resource this is. Value: the fixed
10187	// string "dfareporting#placementsGenerateTagsResponse".
10188	Kind string `json:"kind,omitempty"`
10189
10190	// PlacementTags: Set of generated tags for the specified placements.
10191	PlacementTags []*PlacementTag `json:"placementTags,omitempty"`
10192
10193	// ServerResponse contains the HTTP response code and headers from the
10194	// server.
10195	googleapi.ServerResponse `json:"-"`
10196
10197	// ForceSendFields is a list of field names (e.g. "Kind") to
10198	// unconditionally include in API requests. By default, fields with
10199	// empty values are omitted from API requests. However, any non-pointer,
10200	// non-interface field appearing in ForceSendFields will be sent to the
10201	// server regardless of whether the field is empty or not. This may be
10202	// used to include empty fields in Patch requests.
10203	ForceSendFields []string `json:"-"`
10204
10205	// NullFields is a list of field names (e.g. "Kind") to include in API
10206	// requests with the JSON null value. By default, fields with empty
10207	// values are omitted from API requests. However, any field with an
10208	// empty value appearing in NullFields will be sent to the server as
10209	// null. It is an error if a field in this list has a non-empty value.
10210	// This may be used to include null fields in Patch requests.
10211	NullFields []string `json:"-"`
10212}
10213
10214func (s *PlacementsGenerateTagsResponse) MarshalJSON() ([]byte, error) {
10215	type NoMethod PlacementsGenerateTagsResponse
10216	raw := NoMethod(*s)
10217	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10218}
10219
10220// PlacementsListResponse: Placement List Response
10221type PlacementsListResponse struct {
10222	// Kind: Identifies what kind of resource this is. Value: the fixed
10223	// string "dfareporting#placementsListResponse".
10224	Kind string `json:"kind,omitempty"`
10225
10226	// NextPageToken: Pagination token to be used for the next list
10227	// operation.
10228	NextPageToken string `json:"nextPageToken,omitempty"`
10229
10230	// Placements: Placement collection.
10231	Placements []*Placement `json:"placements,omitempty"`
10232
10233	// ServerResponse contains the HTTP response code and headers from the
10234	// server.
10235	googleapi.ServerResponse `json:"-"`
10236
10237	// ForceSendFields is a list of field names (e.g. "Kind") to
10238	// unconditionally include in API requests. By default, fields with
10239	// empty values are omitted from API requests. However, any non-pointer,
10240	// non-interface field appearing in ForceSendFields will be sent to the
10241	// server regardless of whether the field is empty or not. This may be
10242	// used to include empty fields in Patch requests.
10243	ForceSendFields []string `json:"-"`
10244
10245	// NullFields is a list of field names (e.g. "Kind") to include in API
10246	// requests with the JSON null value. By default, fields with empty
10247	// values are omitted from API requests. However, any field with an
10248	// empty value appearing in NullFields will be sent to the server as
10249	// null. It is an error if a field in this list has a non-empty value.
10250	// This may be used to include null fields in Patch requests.
10251	NullFields []string `json:"-"`
10252}
10253
10254func (s *PlacementsListResponse) MarshalJSON() ([]byte, error) {
10255	type NoMethod PlacementsListResponse
10256	raw := NoMethod(*s)
10257	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10258}
10259
10260// PlatformType: Contains information about a platform type that can be
10261// targeted by ads.
10262type PlatformType struct {
10263	// Id: ID of this platform type.
10264	Id int64 `json:"id,omitempty,string"`
10265
10266	// Kind: Identifies what kind of resource this is. Value: the fixed
10267	// string "dfareporting#platformType".
10268	Kind string `json:"kind,omitempty"`
10269
10270	// Name: Name of this platform type.
10271	Name string `json:"name,omitempty"`
10272
10273	// ServerResponse contains the HTTP response code and headers from the
10274	// server.
10275	googleapi.ServerResponse `json:"-"`
10276
10277	// ForceSendFields is a list of field names (e.g. "Id") to
10278	// unconditionally include in API requests. By default, fields with
10279	// empty values are omitted from API requests. However, any non-pointer,
10280	// non-interface field appearing in ForceSendFields will be sent to the
10281	// server regardless of whether the field is empty or not. This may be
10282	// used to include empty fields in Patch requests.
10283	ForceSendFields []string `json:"-"`
10284
10285	// NullFields is a list of field names (e.g. "Id") to include in API
10286	// requests with the JSON null value. By default, fields with empty
10287	// values are omitted from API requests. However, any field with an
10288	// empty value appearing in NullFields will be sent to the server as
10289	// null. It is an error if a field in this list has a non-empty value.
10290	// This may be used to include null fields in Patch requests.
10291	NullFields []string `json:"-"`
10292}
10293
10294func (s *PlatformType) MarshalJSON() ([]byte, error) {
10295	type NoMethod PlatformType
10296	raw := NoMethod(*s)
10297	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10298}
10299
10300// PlatformTypesListResponse: Platform Type List Response
10301type PlatformTypesListResponse struct {
10302	// Kind: Identifies what kind of resource this is. Value: the fixed
10303	// string "dfareporting#platformTypesListResponse".
10304	Kind string `json:"kind,omitempty"`
10305
10306	// PlatformTypes: Platform type collection.
10307	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
10308
10309	// ServerResponse contains the HTTP response code and headers from the
10310	// server.
10311	googleapi.ServerResponse `json:"-"`
10312
10313	// ForceSendFields is a list of field names (e.g. "Kind") to
10314	// unconditionally include in API requests. By default, fields with
10315	// empty values are omitted from API requests. However, any non-pointer,
10316	// non-interface field appearing in ForceSendFields will be sent to the
10317	// server regardless of whether the field is empty or not. This may be
10318	// used to include empty fields in Patch requests.
10319	ForceSendFields []string `json:"-"`
10320
10321	// NullFields is a list of field names (e.g. "Kind") to include in API
10322	// requests with the JSON null value. By default, fields with empty
10323	// values are omitted from API requests. However, any field with an
10324	// empty value appearing in NullFields will be sent to the server as
10325	// null. It is an error if a field in this list has a non-empty value.
10326	// This may be used to include null fields in Patch requests.
10327	NullFields []string `json:"-"`
10328}
10329
10330func (s *PlatformTypesListResponse) MarshalJSON() ([]byte, error) {
10331	type NoMethod PlatformTypesListResponse
10332	raw := NoMethod(*s)
10333	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10334}
10335
10336// PopupWindowProperties: Popup Window Properties.
10337type PopupWindowProperties struct {
10338	// Dimension: Popup dimension for a creative. This is a read-only field.
10339	// Applicable to the following creative types: all RICH_MEDIA and all
10340	// VPAID
10341	Dimension *Size `json:"dimension,omitempty"`
10342
10343	// Offset: Upper-left corner coordinates of the popup window. Applicable
10344	// if positionType is COORDINATES.
10345	Offset *OffsetPosition `json:"offset,omitempty"`
10346
10347	// PositionType: Popup window position either centered or at specific
10348	// coordinate.
10349	//
10350	// Possible values:
10351	//   "CENTER"
10352	//   "COORDINATES"
10353	PositionType string `json:"positionType,omitempty"`
10354
10355	// ShowAddressBar: Whether to display the browser address bar.
10356	ShowAddressBar bool `json:"showAddressBar,omitempty"`
10357
10358	// ShowMenuBar: Whether to display the browser menu bar.
10359	ShowMenuBar bool `json:"showMenuBar,omitempty"`
10360
10361	// ShowScrollBar: Whether to display the browser scroll bar.
10362	ShowScrollBar bool `json:"showScrollBar,omitempty"`
10363
10364	// ShowStatusBar: Whether to display the browser status bar.
10365	ShowStatusBar bool `json:"showStatusBar,omitempty"`
10366
10367	// ShowToolBar: Whether to display the browser tool bar.
10368	ShowToolBar bool `json:"showToolBar,omitempty"`
10369
10370	// Title: Title of popup window.
10371	Title string `json:"title,omitempty"`
10372
10373	// ForceSendFields is a list of field names (e.g. "Dimension") to
10374	// unconditionally include in API requests. By default, fields with
10375	// empty values are omitted from API requests. However, any non-pointer,
10376	// non-interface field appearing in ForceSendFields will be sent to the
10377	// server regardless of whether the field is empty or not. This may be
10378	// used to include empty fields in Patch requests.
10379	ForceSendFields []string `json:"-"`
10380
10381	// NullFields is a list of field names (e.g. "Dimension") to include in
10382	// API requests with the JSON null value. By default, fields with empty
10383	// values are omitted from API requests. However, any field with an
10384	// empty value appearing in NullFields will be sent to the server as
10385	// null. It is an error if a field in this list has a non-empty value.
10386	// This may be used to include null fields in Patch requests.
10387	NullFields []string `json:"-"`
10388}
10389
10390func (s *PopupWindowProperties) MarshalJSON() ([]byte, error) {
10391	type NoMethod PopupWindowProperties
10392	raw := NoMethod(*s)
10393	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10394}
10395
10396// PostalCode: Contains information about a postal code that can be
10397// targeted by ads.
10398type PostalCode struct {
10399	// Code: Postal code. This is equivalent to the id field.
10400	Code string `json:"code,omitempty"`
10401
10402	// CountryCode: Country code of the country to which this postal code
10403	// belongs.
10404	CountryCode string `json:"countryCode,omitempty"`
10405
10406	// CountryDartId: DART ID of the country to which this postal code
10407	// belongs.
10408	CountryDartId int64 `json:"countryDartId,omitempty,string"`
10409
10410	// Id: ID of this postal code.
10411	Id string `json:"id,omitempty"`
10412
10413	// Kind: Identifies what kind of resource this is. Value: the fixed
10414	// string "dfareporting#postalCode".
10415	Kind string `json:"kind,omitempty"`
10416
10417	// ServerResponse contains the HTTP response code and headers from the
10418	// server.
10419	googleapi.ServerResponse `json:"-"`
10420
10421	// ForceSendFields is a list of field names (e.g. "Code") to
10422	// unconditionally include in API requests. By default, fields with
10423	// empty values are omitted from API requests. However, any non-pointer,
10424	// non-interface field appearing in ForceSendFields will be sent to the
10425	// server regardless of whether the field is empty or not. This may be
10426	// used to include empty fields in Patch requests.
10427	ForceSendFields []string `json:"-"`
10428
10429	// NullFields is a list of field names (e.g. "Code") to include in API
10430	// requests with the JSON null value. By default, fields with empty
10431	// values are omitted from API requests. However, any field with an
10432	// empty value appearing in NullFields will be sent to the server as
10433	// null. It is an error if a field in this list has a non-empty value.
10434	// This may be used to include null fields in Patch requests.
10435	NullFields []string `json:"-"`
10436}
10437
10438func (s *PostalCode) MarshalJSON() ([]byte, error) {
10439	type NoMethod PostalCode
10440	raw := NoMethod(*s)
10441	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10442}
10443
10444// PostalCodesListResponse: Postal Code List Response
10445type PostalCodesListResponse struct {
10446	// Kind: Identifies what kind of resource this is. Value: the fixed
10447	// string "dfareporting#postalCodesListResponse".
10448	Kind string `json:"kind,omitempty"`
10449
10450	// PostalCodes: Postal code collection.
10451	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
10452
10453	// ServerResponse contains the HTTP response code and headers from the
10454	// server.
10455	googleapi.ServerResponse `json:"-"`
10456
10457	// ForceSendFields is a list of field names (e.g. "Kind") to
10458	// unconditionally include in API requests. By default, fields with
10459	// empty values are omitted from API requests. However, any non-pointer,
10460	// non-interface field appearing in ForceSendFields will be sent to the
10461	// server regardless of whether the field is empty or not. This may be
10462	// used to include empty fields in Patch requests.
10463	ForceSendFields []string `json:"-"`
10464
10465	// NullFields is a list of field names (e.g. "Kind") to include in API
10466	// requests with the JSON null value. By default, fields with empty
10467	// values are omitted from API requests. However, any field with an
10468	// empty value appearing in NullFields will be sent to the server as
10469	// null. It is an error if a field in this list has a non-empty value.
10470	// This may be used to include null fields in Patch requests.
10471	NullFields []string `json:"-"`
10472}
10473
10474func (s *PostalCodesListResponse) MarshalJSON() ([]byte, error) {
10475	type NoMethod PostalCodesListResponse
10476	raw := NoMethod(*s)
10477	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10478}
10479
10480// Pricing: Pricing Information
10481type Pricing struct {
10482	// CapCostType: Cap cost type of this inventory item.
10483	//
10484	// Possible values:
10485	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
10486	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
10487	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
10488	CapCostType string `json:"capCostType,omitempty"`
10489
10490	EndDate string `json:"endDate,omitempty"`
10491
10492	// Flights: Flights of this inventory item. A flight (a.k.a. pricing
10493	// period) represents the inventory item pricing information for a
10494	// specific period of time.
10495	Flights []*Flight `json:"flights,omitempty"`
10496
10497	// GroupType: Group type of this inventory item if it represents a
10498	// placement group. Is null otherwise. There are two type of placement
10499	// groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of
10500	// inventory items that acts as a single pricing point for a group of
10501	// tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory
10502	// items that not only acts as a single pricing point, but also assumes
10503	// that all the tags in it will be served at the same time. A roadblock
10504	// requires one of its assigned inventory items to be marked as primary.
10505	//
10506	// Possible values:
10507	//   "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE"
10508	//   "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"
10509	GroupType string `json:"groupType,omitempty"`
10510
10511	// PricingType: Pricing type of this inventory item.
10512	//
10513	// Possible values:
10514	//   "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
10515	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
10516	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
10517	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
10518	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
10519	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
10520	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
10521	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
10522	PricingType string `json:"pricingType,omitempty"`
10523
10524	StartDate string `json:"startDate,omitempty"`
10525
10526	// ForceSendFields is a list of field names (e.g. "CapCostType") to
10527	// unconditionally include in API requests. By default, fields with
10528	// empty values are omitted from API requests. However, any non-pointer,
10529	// non-interface field appearing in ForceSendFields will be sent to the
10530	// server regardless of whether the field is empty or not. This may be
10531	// used to include empty fields in Patch requests.
10532	ForceSendFields []string `json:"-"`
10533
10534	// NullFields is a list of field names (e.g. "CapCostType") to include
10535	// in API requests with the JSON null value. By default, fields with
10536	// empty values are omitted from API requests. However, any field with
10537	// an empty value appearing in NullFields will be sent to the server as
10538	// null. It is an error if a field in this list has a non-empty value.
10539	// This may be used to include null fields in Patch requests.
10540	NullFields []string `json:"-"`
10541}
10542
10543func (s *Pricing) MarshalJSON() ([]byte, error) {
10544	type NoMethod Pricing
10545	raw := NoMethod(*s)
10546	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10547}
10548
10549// PricingSchedule: Pricing Schedule
10550type PricingSchedule struct {
10551	// CapCostOption: Placement cap cost option.
10552	//
10553	// Possible values:
10554	//   "CAP_COST_NONE"
10555	//   "CAP_COST_MONTHLY"
10556	//   "CAP_COST_CUMULATIVE"
10557	CapCostOption string `json:"capCostOption,omitempty"`
10558
10559	// DisregardOverdelivery: Whether cap costs are ignored by ad serving.
10560	DisregardOverdelivery bool `json:"disregardOverdelivery,omitempty"`
10561
10562	EndDate string `json:"endDate,omitempty"`
10563
10564	// Flighted: Whether this placement is flighted. If true, pricing
10565	// periods will be computed automatically.
10566	Flighted bool `json:"flighted,omitempty"`
10567
10568	// FloodlightActivityId: Floodlight activity ID associated with this
10569	// placement. This field should be set when placement pricing type is
10570	// set to PRICING_TYPE_CPA.
10571	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
10572
10573	// PricingPeriods: Pricing periods for this placement.
10574	PricingPeriods []*PricingSchedulePricingPeriod `json:"pricingPeriods,omitempty"`
10575
10576	// PricingType: Placement pricing type. This field is required on
10577	// insertion.
10578	//
10579	// Possible values:
10580	//   "PRICING_TYPE_CPM"
10581	//   "PRICING_TYPE_CPC"
10582	//   "PRICING_TYPE_CPA"
10583	//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
10584	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
10585	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
10586	PricingType string `json:"pricingType,omitempty"`
10587
10588	StartDate string `json:"startDate,omitempty"`
10589
10590	TestingStartDate string `json:"testingStartDate,omitempty"`
10591
10592	// ForceSendFields is a list of field names (e.g. "CapCostOption") to
10593	// unconditionally include in API requests. By default, fields with
10594	// empty values are omitted from API requests. However, any non-pointer,
10595	// non-interface field appearing in ForceSendFields will be sent to the
10596	// server regardless of whether the field is empty or not. This may be
10597	// used to include empty fields in Patch requests.
10598	ForceSendFields []string `json:"-"`
10599
10600	// NullFields is a list of field names (e.g. "CapCostOption") to include
10601	// in API requests with the JSON null value. By default, fields with
10602	// empty values are omitted from API requests. However, any field with
10603	// an empty value appearing in NullFields will be sent to the server as
10604	// null. It is an error if a field in this list has a non-empty value.
10605	// This may be used to include null fields in Patch requests.
10606	NullFields []string `json:"-"`
10607}
10608
10609func (s *PricingSchedule) MarshalJSON() ([]byte, error) {
10610	type NoMethod PricingSchedule
10611	raw := NoMethod(*s)
10612	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10613}
10614
10615// PricingSchedulePricingPeriod: Pricing Period
10616type PricingSchedulePricingPeriod struct {
10617	EndDate string `json:"endDate,omitempty"`
10618
10619	// PricingComment: Comments for this pricing period.
10620	PricingComment string `json:"pricingComment,omitempty"`
10621
10622	// RateOrCostNanos: Rate or cost of this pricing period in nanos (i.e.,
10623	// multipled by 1000000000). Acceptable values are 0 to
10624	// 1000000000000000000, inclusive.
10625	RateOrCostNanos int64 `json:"rateOrCostNanos,omitempty,string"`
10626
10627	StartDate string `json:"startDate,omitempty"`
10628
10629	// Units: Units of this pricing period. Acceptable values are 0 to
10630	// 10000000000, inclusive.
10631	Units int64 `json:"units,omitempty,string"`
10632
10633	// ForceSendFields is a list of field names (e.g. "EndDate") to
10634	// unconditionally include in API requests. By default, fields with
10635	// empty values are omitted from API requests. However, any non-pointer,
10636	// non-interface field appearing in ForceSendFields will be sent to the
10637	// server regardless of whether the field is empty or not. This may be
10638	// used to include empty fields in Patch requests.
10639	ForceSendFields []string `json:"-"`
10640
10641	// NullFields is a list of field names (e.g. "EndDate") to include in
10642	// API requests with the JSON null value. By default, fields with empty
10643	// values are omitted from API requests. However, any field with an
10644	// empty value appearing in NullFields will be sent to the server as
10645	// null. It is an error if a field in this list has a non-empty value.
10646	// This may be used to include null fields in Patch requests.
10647	NullFields []string `json:"-"`
10648}
10649
10650func (s *PricingSchedulePricingPeriod) MarshalJSON() ([]byte, error) {
10651	type NoMethod PricingSchedulePricingPeriod
10652	raw := NoMethod(*s)
10653	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10654}
10655
10656// Project: Contains properties of a Planning project.
10657type Project struct {
10658	// AccountId: Account ID of this project.
10659	AccountId int64 `json:"accountId,omitempty,string"`
10660
10661	// AdvertiserId: Advertiser ID of this project.
10662	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10663
10664	// AudienceAgeGroup: Audience age group of this project.
10665	//
10666	// Possible values:
10667	//   "PLANNING_AUDIENCE_AGE_18_24"
10668	//   "PLANNING_AUDIENCE_AGE_25_34"
10669	//   "PLANNING_AUDIENCE_AGE_35_44"
10670	//   "PLANNING_AUDIENCE_AGE_45_54"
10671	//   "PLANNING_AUDIENCE_AGE_55_64"
10672	//   "PLANNING_AUDIENCE_AGE_65_OR_MORE"
10673	//   "PLANNING_AUDIENCE_AGE_UNKNOWN"
10674	AudienceAgeGroup string `json:"audienceAgeGroup,omitempty"`
10675
10676	// AudienceGender: Audience gender of this project.
10677	//
10678	// Possible values:
10679	//   "PLANNING_AUDIENCE_GENDER_MALE"
10680	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
10681	AudienceGender string `json:"audienceGender,omitempty"`
10682
10683	// Budget: Budget of this project in the currency specified by the
10684	// current account. The value stored in this field represents only the
10685	// non-fractional amount. For example, for USD, the smallest value that
10686	// can be represented by this field is 1 US dollar.
10687	Budget int64 `json:"budget,omitempty,string"`
10688
10689	// ClientBillingCode: Client billing code of this project.
10690	ClientBillingCode string `json:"clientBillingCode,omitempty"`
10691
10692	// ClientName: Name of the project client.
10693	ClientName string `json:"clientName,omitempty"`
10694
10695	EndDate string `json:"endDate,omitempty"`
10696
10697	// Id: ID of this project. This is a read-only, auto-generated field.
10698	Id int64 `json:"id,omitempty,string"`
10699
10700	// Kind: Identifies what kind of resource this is. Value: the fixed
10701	// string "dfareporting#project".
10702	Kind string `json:"kind,omitempty"`
10703
10704	// LastModifiedInfo: Information about the most recent modification of
10705	// this project.
10706	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
10707
10708	// Name: Name of this project.
10709	Name string `json:"name,omitempty"`
10710
10711	// Overview: Overview of this project.
10712	Overview string `json:"overview,omitempty"`
10713
10714	StartDate string `json:"startDate,omitempty"`
10715
10716	// SubaccountId: Subaccount ID of this project.
10717	SubaccountId int64 `json:"subaccountId,omitempty,string"`
10718
10719	// TargetClicks: Number of clicks that the advertiser is targeting.
10720	TargetClicks int64 `json:"targetClicks,omitempty,string"`
10721
10722	// TargetConversions: Number of conversions that the advertiser is
10723	// targeting.
10724	TargetConversions int64 `json:"targetConversions,omitempty,string"`
10725
10726	// TargetCpaNanos: CPA that the advertiser is targeting.
10727	TargetCpaNanos int64 `json:"targetCpaNanos,omitempty,string"`
10728
10729	// TargetCpcNanos: CPC that the advertiser is targeting.
10730	TargetCpcNanos int64 `json:"targetCpcNanos,omitempty,string"`
10731
10732	// TargetCpmActiveViewNanos: vCPM from Active View that the advertiser
10733	// is targeting.
10734	TargetCpmActiveViewNanos int64 `json:"targetCpmActiveViewNanos,omitempty,string"`
10735
10736	// TargetCpmNanos: CPM that the advertiser is targeting.
10737	TargetCpmNanos int64 `json:"targetCpmNanos,omitempty,string"`
10738
10739	// TargetImpressions: Number of impressions that the advertiser is
10740	// targeting.
10741	TargetImpressions int64 `json:"targetImpressions,omitempty,string"`
10742
10743	// ServerResponse contains the HTTP response code and headers from the
10744	// server.
10745	googleapi.ServerResponse `json:"-"`
10746
10747	// ForceSendFields is a list of field names (e.g. "AccountId") to
10748	// unconditionally include in API requests. By default, fields with
10749	// empty values are omitted from API requests. However, any non-pointer,
10750	// non-interface field appearing in ForceSendFields will be sent to the
10751	// server regardless of whether the field is empty or not. This may be
10752	// used to include empty fields in Patch requests.
10753	ForceSendFields []string `json:"-"`
10754
10755	// NullFields is a list of field names (e.g. "AccountId") to include in
10756	// API requests with the JSON null value. By default, fields with empty
10757	// values are omitted from API requests. However, any field with an
10758	// empty value appearing in NullFields will be sent to the server as
10759	// null. It is an error if a field in this list has a non-empty value.
10760	// This may be used to include null fields in Patch requests.
10761	NullFields []string `json:"-"`
10762}
10763
10764func (s *Project) MarshalJSON() ([]byte, error) {
10765	type NoMethod Project
10766	raw := NoMethod(*s)
10767	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10768}
10769
10770// ProjectsListResponse: Project List Response
10771type ProjectsListResponse struct {
10772	// Kind: Identifies what kind of resource this is. Value: the fixed
10773	// string "dfareporting#projectsListResponse".
10774	Kind string `json:"kind,omitempty"`
10775
10776	// NextPageToken: Pagination token to be used for the next list
10777	// operation.
10778	NextPageToken string `json:"nextPageToken,omitempty"`
10779
10780	// Projects: Project collection.
10781	Projects []*Project `json:"projects,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 *ProjectsListResponse) MarshalJSON() ([]byte, error) {
10805	type NoMethod ProjectsListResponse
10806	raw := NoMethod(*s)
10807	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10808}
10809
10810// ReachReportCompatibleFields: Represents fields that are compatible to
10811// be selected for a report of type "REACH".
10812type ReachReportCompatibleFields struct {
10813	// DimensionFilters: Dimensions which are compatible to be selected in
10814	// the "dimensionFilters" section of the report.
10815	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
10816
10817	// Dimensions: Dimensions which are compatible to be selected in the
10818	// "dimensions" section of the report.
10819	Dimensions []*Dimension `json:"dimensions,omitempty"`
10820
10821	// Kind: The kind of resource this is, in this case
10822	// dfareporting#reachReportCompatibleFields.
10823	Kind string `json:"kind,omitempty"`
10824
10825	// Metrics: Metrics which are compatible to be selected in the
10826	// "metricNames" section of the report.
10827	Metrics []*Metric `json:"metrics,omitempty"`
10828
10829	// PivotedActivityMetrics: Metrics which are compatible to be selected
10830	// as activity metrics to pivot on in the "activities" section of the
10831	// report.
10832	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
10833
10834	// ReachByFrequencyMetrics: Metrics which are compatible to be selected
10835	// in the "reachByFrequencyMetricNames" section of the report.
10836	ReachByFrequencyMetrics []*Metric `json:"reachByFrequencyMetrics,omitempty"`
10837
10838	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
10839	// unconditionally include in API requests. By default, fields with
10840	// empty values are omitted from API requests. However, any non-pointer,
10841	// non-interface field appearing in ForceSendFields will be sent to the
10842	// server regardless of whether the field is empty or not. This may be
10843	// used to include empty fields in Patch requests.
10844	ForceSendFields []string `json:"-"`
10845
10846	// NullFields is a list of field names (e.g. "DimensionFilters") to
10847	// include in API requests with the JSON null value. By default, fields
10848	// with empty values are omitted from API requests. However, any field
10849	// with an empty value appearing in NullFields will be sent to the
10850	// server as null. It is an error if a field in this list has a
10851	// non-empty value. This may be used to include null fields in Patch
10852	// requests.
10853	NullFields []string `json:"-"`
10854}
10855
10856func (s *ReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
10857	type NoMethod ReachReportCompatibleFields
10858	raw := NoMethod(*s)
10859	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10860}
10861
10862// Recipient: Represents a recipient.
10863type Recipient struct {
10864	// DeliveryType: The delivery type for the recipient.
10865	//
10866	// Possible values:
10867	//   "LINK"
10868	//   "ATTACHMENT"
10869	DeliveryType string `json:"deliveryType,omitempty"`
10870
10871	// Email: The email address of the recipient.
10872	Email string `json:"email,omitempty"`
10873
10874	// Kind: The kind of resource this is, in this case
10875	// dfareporting#recipient.
10876	Kind string `json:"kind,omitempty"`
10877
10878	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
10879	// unconditionally include in API requests. By default, fields with
10880	// empty values are omitted from API requests. However, any non-pointer,
10881	// non-interface field appearing in ForceSendFields will be sent to the
10882	// server regardless of whether the field is empty or not. This may be
10883	// used to include empty fields in Patch requests.
10884	ForceSendFields []string `json:"-"`
10885
10886	// NullFields is a list of field names (e.g. "DeliveryType") to include
10887	// in API requests with the JSON null value. By default, fields with
10888	// empty values are omitted from API requests. However, any field with
10889	// an empty value appearing in NullFields will be sent to the server as
10890	// null. It is an error if a field in this list has a non-empty value.
10891	// This may be used to include null fields in Patch requests.
10892	NullFields []string `json:"-"`
10893}
10894
10895func (s *Recipient) MarshalJSON() ([]byte, error) {
10896	type NoMethod Recipient
10897	raw := NoMethod(*s)
10898	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10899}
10900
10901// Region: Contains information about a region that can be targeted by
10902// ads.
10903type Region struct {
10904	// CountryCode: Country code of the country to which this region
10905	// belongs.
10906	CountryCode string `json:"countryCode,omitempty"`
10907
10908	// CountryDartId: DART ID of the country to which this region belongs.
10909	CountryDartId int64 `json:"countryDartId,omitempty,string"`
10910
10911	// DartId: DART ID of this region.
10912	DartId int64 `json:"dartId,omitempty,string"`
10913
10914	// Kind: Identifies what kind of resource this is. Value: the fixed
10915	// string "dfareporting#region".
10916	Kind string `json:"kind,omitempty"`
10917
10918	// Name: Name of this region.
10919	Name string `json:"name,omitempty"`
10920
10921	// RegionCode: Region code.
10922	RegionCode string `json:"regionCode,omitempty"`
10923
10924	// ForceSendFields is a list of field names (e.g. "CountryCode") to
10925	// unconditionally include in API requests. By default, fields with
10926	// empty values are omitted from API requests. However, any non-pointer,
10927	// non-interface field appearing in ForceSendFields will be sent to the
10928	// server regardless of whether the field is empty or not. This may be
10929	// used to include empty fields in Patch requests.
10930	ForceSendFields []string `json:"-"`
10931
10932	// NullFields is a list of field names (e.g. "CountryCode") to include
10933	// in API requests with the JSON null value. By default, fields with
10934	// empty values are omitted from API requests. However, any field with
10935	// an empty value appearing in NullFields will be sent to the server as
10936	// null. It is an error if a field in this list has a non-empty value.
10937	// This may be used to include null fields in Patch requests.
10938	NullFields []string `json:"-"`
10939}
10940
10941func (s *Region) MarshalJSON() ([]byte, error) {
10942	type NoMethod Region
10943	raw := NoMethod(*s)
10944	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10945}
10946
10947// RegionsListResponse: Region List Response
10948type RegionsListResponse struct {
10949	// Kind: Identifies what kind of resource this is. Value: the fixed
10950	// string "dfareporting#regionsListResponse".
10951	Kind string `json:"kind,omitempty"`
10952
10953	// Regions: Region collection.
10954	Regions []*Region `json:"regions,omitempty"`
10955
10956	// ServerResponse contains the HTTP response code and headers from the
10957	// server.
10958	googleapi.ServerResponse `json:"-"`
10959
10960	// ForceSendFields is a list of field names (e.g. "Kind") to
10961	// unconditionally include in API requests. By default, fields with
10962	// empty values are omitted from API requests. However, any non-pointer,
10963	// non-interface field appearing in ForceSendFields will be sent to the
10964	// server regardless of whether the field is empty or not. This may be
10965	// used to include empty fields in Patch requests.
10966	ForceSendFields []string `json:"-"`
10967
10968	// NullFields is a list of field names (e.g. "Kind") to include in API
10969	// requests with the JSON null value. By default, fields with empty
10970	// values are omitted from API requests. However, any field with an
10971	// empty value appearing in NullFields will be sent to the server as
10972	// null. It is an error if a field in this list has a non-empty value.
10973	// This may be used to include null fields in Patch requests.
10974	NullFields []string `json:"-"`
10975}
10976
10977func (s *RegionsListResponse) MarshalJSON() ([]byte, error) {
10978	type NoMethod RegionsListResponse
10979	raw := NoMethod(*s)
10980	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10981}
10982
10983// RemarketingList: Contains properties of a remarketing list.
10984// Remarketing enables you to create lists of users who have performed
10985// specific actions on a site, then target ads to members of those
10986// lists. This resource can be used to manage remarketing lists that are
10987// owned by your advertisers. To see all remarketing lists that are
10988// visible to your advertisers, including those that are shared to your
10989// advertiser or account, use the TargetableRemarketingLists resource.
10990type RemarketingList struct {
10991	// AccountId: Account ID of this remarketing list. This is a read-only,
10992	// auto-generated field that is only returned in GET requests.
10993	AccountId int64 `json:"accountId,omitempty,string"`
10994
10995	// Active: Whether this remarketing list is active.
10996	Active bool `json:"active,omitempty"`
10997
10998	// AdvertiserId: Dimension value for the advertiser ID that owns this
10999	// remarketing list. This is a required field.
11000	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
11001
11002	// AdvertiserIdDimensionValue: Dimension value for the ID of the
11003	// advertiser. This is a read-only, auto-generated field.
11004	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
11005
11006	// Description: Remarketing list description.
11007	Description string `json:"description,omitempty"`
11008
11009	// Id: Remarketing list ID. This is a read-only, auto-generated field.
11010	Id int64 `json:"id,omitempty,string"`
11011
11012	// Kind: Identifies what kind of resource this is. Value: the fixed
11013	// string "dfareporting#remarketingList".
11014	Kind string `json:"kind,omitempty"`
11015
11016	// LifeSpan: Number of days that a user should remain in the remarketing
11017	// list without an impression. Acceptable values are 1 to 540,
11018	// inclusive.
11019	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
11020
11021	// ListPopulationRule: Rule used to populate the remarketing list with
11022	// users.
11023	ListPopulationRule *ListPopulationRule `json:"listPopulationRule,omitempty"`
11024
11025	// ListSize: Number of users currently in the list. This is a read-only
11026	// field.
11027	ListSize int64 `json:"listSize,omitempty,string"`
11028
11029	// ListSource: Product from which this remarketing list was originated.
11030	//
11031	// Possible values:
11032	//   "REMARKETING_LIST_SOURCE_OTHER"
11033	//   "REMARKETING_LIST_SOURCE_ADX"
11034	//   "REMARKETING_LIST_SOURCE_DFP"
11035	//   "REMARKETING_LIST_SOURCE_XFP"
11036	//   "REMARKETING_LIST_SOURCE_DFA"
11037	//   "REMARKETING_LIST_SOURCE_GA"
11038	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
11039	//   "REMARKETING_LIST_SOURCE_DBM"
11040	//   "REMARKETING_LIST_SOURCE_GPLUS"
11041	//   "REMARKETING_LIST_SOURCE_DMP"
11042	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
11043	ListSource string `json:"listSource,omitempty"`
11044
11045	// Name: Name of the remarketing list. This is a required field. Must be
11046	// no greater than 128 characters long.
11047	Name string `json:"name,omitempty"`
11048
11049	// SubaccountId: Subaccount ID of this remarketing list. This is a
11050	// read-only, auto-generated field that is only returned in GET
11051	// requests.
11052	SubaccountId int64 `json:"subaccountId,omitempty,string"`
11053
11054	// ServerResponse contains the HTTP response code and headers from the
11055	// server.
11056	googleapi.ServerResponse `json:"-"`
11057
11058	// ForceSendFields is a list of field names (e.g. "AccountId") to
11059	// unconditionally include in API requests. By default, fields with
11060	// empty values are omitted from API requests. However, any non-pointer,
11061	// non-interface field appearing in ForceSendFields will be sent to the
11062	// server regardless of whether the field is empty or not. This may be
11063	// used to include empty fields in Patch requests.
11064	ForceSendFields []string `json:"-"`
11065
11066	// NullFields is a list of field names (e.g. "AccountId") to include in
11067	// API requests with the JSON null value. By default, fields with empty
11068	// values are omitted from API requests. However, any field with an
11069	// empty value appearing in NullFields will be sent to the server as
11070	// null. It is an error if a field in this list has a non-empty value.
11071	// This may be used to include null fields in Patch requests.
11072	NullFields []string `json:"-"`
11073}
11074
11075func (s *RemarketingList) MarshalJSON() ([]byte, error) {
11076	type NoMethod RemarketingList
11077	raw := NoMethod(*s)
11078	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11079}
11080
11081// RemarketingListShare: Contains properties of a remarketing list's
11082// sharing information. Sharing allows other accounts or advertisers to
11083// target to your remarketing lists. This resource can be used to manage
11084// remarketing list sharing to other accounts and advertisers.
11085type RemarketingListShare struct {
11086	// Kind: Identifies what kind of resource this is. Value: the fixed
11087	// string "dfareporting#remarketingListShare".
11088	Kind string `json:"kind,omitempty"`
11089
11090	// RemarketingListId: Remarketing list ID. This is a read-only,
11091	// auto-generated field.
11092	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
11093
11094	// SharedAccountIds: Accounts that the remarketing list is shared with.
11095	SharedAccountIds googleapi.Int64s `json:"sharedAccountIds,omitempty"`
11096
11097	// SharedAdvertiserIds: Advertisers that the remarketing list is shared
11098	// with.
11099	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
11100
11101	// ServerResponse contains the HTTP response code and headers from the
11102	// server.
11103	googleapi.ServerResponse `json:"-"`
11104
11105	// ForceSendFields is a list of field names (e.g. "Kind") to
11106	// unconditionally include in API requests. By default, fields with
11107	// empty values are omitted from API requests. However, any non-pointer,
11108	// non-interface field appearing in ForceSendFields will be sent to the
11109	// server regardless of whether the field is empty or not. This may be
11110	// used to include empty fields in Patch requests.
11111	ForceSendFields []string `json:"-"`
11112
11113	// NullFields is a list of field names (e.g. "Kind") to include in API
11114	// requests with the JSON null value. By default, fields with empty
11115	// values are omitted from API requests. However, any field with an
11116	// empty value appearing in NullFields will be sent to the server as
11117	// null. It is an error if a field in this list has a non-empty value.
11118	// This may be used to include null fields in Patch requests.
11119	NullFields []string `json:"-"`
11120}
11121
11122func (s *RemarketingListShare) MarshalJSON() ([]byte, error) {
11123	type NoMethod RemarketingListShare
11124	raw := NoMethod(*s)
11125	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11126}
11127
11128// RemarketingListsListResponse: Remarketing list response
11129type RemarketingListsListResponse struct {
11130	// Kind: Identifies what kind of resource this is. Value: the fixed
11131	// string "dfareporting#remarketingListsListResponse".
11132	Kind string `json:"kind,omitempty"`
11133
11134	// NextPageToken: Pagination token to be used for the next list
11135	// operation.
11136	NextPageToken string `json:"nextPageToken,omitempty"`
11137
11138	// RemarketingLists: Remarketing list collection.
11139	RemarketingLists []*RemarketingList `json:"remarketingLists,omitempty"`
11140
11141	// ServerResponse contains the HTTP response code and headers from the
11142	// server.
11143	googleapi.ServerResponse `json:"-"`
11144
11145	// ForceSendFields is a list of field names (e.g. "Kind") to
11146	// unconditionally include in API requests. By default, fields with
11147	// empty values are omitted from API requests. However, any non-pointer,
11148	// non-interface field appearing in ForceSendFields will be sent to the
11149	// server regardless of whether the field is empty or not. This may be
11150	// used to include empty fields in Patch requests.
11151	ForceSendFields []string `json:"-"`
11152
11153	// NullFields is a list of field names (e.g. "Kind") to include in API
11154	// requests with the JSON null value. By default, fields with empty
11155	// values are omitted from API requests. However, any field with an
11156	// empty value appearing in NullFields will be sent to the server as
11157	// null. It is an error if a field in this list has a non-empty value.
11158	// This may be used to include null fields in Patch requests.
11159	NullFields []string `json:"-"`
11160}
11161
11162func (s *RemarketingListsListResponse) MarshalJSON() ([]byte, error) {
11163	type NoMethod RemarketingListsListResponse
11164	raw := NoMethod(*s)
11165	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11166}
11167
11168// Report: Represents a Report resource.
11169type Report struct {
11170	// AccountId: The account ID to which this report belongs.
11171	AccountId int64 `json:"accountId,omitempty,string"`
11172
11173	// Criteria: The report criteria for a report of type "STANDARD".
11174	Criteria *ReportCriteria `json:"criteria,omitempty"`
11175
11176	// CrossDimensionReachCriteria: The report criteria for a report of type
11177	// "CROSS_DIMENSION_REACH".
11178	CrossDimensionReachCriteria *ReportCrossDimensionReachCriteria `json:"crossDimensionReachCriteria,omitempty"`
11179
11180	// Delivery: The report's email delivery settings.
11181	Delivery *ReportDelivery `json:"delivery,omitempty"`
11182
11183	// Etag: The eTag of this response for caching purposes.
11184	Etag string `json:"etag,omitempty"`
11185
11186	// FileName: The filename used when generating report files for this
11187	// report.
11188	FileName string `json:"fileName,omitempty"`
11189
11190	// FloodlightCriteria: The report criteria for a report of type
11191	// "FLOODLIGHT".
11192	FloodlightCriteria *ReportFloodlightCriteria `json:"floodlightCriteria,omitempty"`
11193
11194	// Format: The output format of the report. If not specified, default
11195	// format is "CSV". Note that the actual format in the completed report
11196	// file might differ if for instance the report's size exceeds the
11197	// format's capabilities. "CSV" will then be the fallback format.
11198	//
11199	// Possible values:
11200	//   "CSV"
11201	//   "EXCEL"
11202	Format string `json:"format,omitempty"`
11203
11204	// Id: The unique ID identifying this report resource.
11205	Id int64 `json:"id,omitempty,string"`
11206
11207	// Kind: The kind of resource this is, in this case dfareporting#report.
11208	Kind string `json:"kind,omitempty"`
11209
11210	// LastModifiedTime: The timestamp (in milliseconds since epoch) of when
11211	// this report was last modified.
11212	LastModifiedTime uint64 `json:"lastModifiedTime,omitempty,string"`
11213
11214	// Name: The name of the report.
11215	Name string `json:"name,omitempty"`
11216
11217	// OwnerProfileId: The user profile id of the owner of this report.
11218	OwnerProfileId int64 `json:"ownerProfileId,omitempty,string"`
11219
11220	// PathToConversionCriteria: The report criteria for a report of type
11221	// "PATH_TO_CONVERSION".
11222	PathToConversionCriteria *ReportPathToConversionCriteria `json:"pathToConversionCriteria,omitempty"`
11223
11224	// ReachCriteria: The report criteria for a report of type "REACH".
11225	ReachCriteria *ReportReachCriteria `json:"reachCriteria,omitempty"`
11226
11227	// Schedule: The report's schedule. Can only be set if the report's
11228	// 'dateRange' is a relative date range and the relative date range is
11229	// not "TODAY".
11230	Schedule *ReportSchedule `json:"schedule,omitempty"`
11231
11232	// SubAccountId: The subaccount ID to which this report belongs if
11233	// applicable.
11234	SubAccountId int64 `json:"subAccountId,omitempty,string"`
11235
11236	// Type: The type of the report.
11237	//
11238	// Possible values:
11239	//   "STANDARD"
11240	//   "REACH"
11241	//   "PATH_TO_CONVERSION"
11242	//   "CROSS_DIMENSION_REACH"
11243	//   "FLOODLIGHT"
11244	Type string `json:"type,omitempty"`
11245
11246	// ServerResponse contains the HTTP response code and headers from the
11247	// server.
11248	googleapi.ServerResponse `json:"-"`
11249
11250	// ForceSendFields is a list of field names (e.g. "AccountId") to
11251	// unconditionally include in API requests. By default, fields with
11252	// empty values are omitted from API requests. However, any non-pointer,
11253	// non-interface field appearing in ForceSendFields will be sent to the
11254	// server regardless of whether the field is empty or not. This may be
11255	// used to include empty fields in Patch requests.
11256	ForceSendFields []string `json:"-"`
11257
11258	// NullFields is a list of field names (e.g. "AccountId") to include in
11259	// API requests with the JSON null value. By default, fields with empty
11260	// values are omitted from API requests. However, any field with an
11261	// empty value appearing in NullFields will be sent to the server as
11262	// null. It is an error if a field in this list has a non-empty value.
11263	// This may be used to include null fields in Patch requests.
11264	NullFields []string `json:"-"`
11265}
11266
11267func (s *Report) MarshalJSON() ([]byte, error) {
11268	type NoMethod Report
11269	raw := NoMethod(*s)
11270	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11271}
11272
11273// ReportCriteria: The report criteria for a report of type "STANDARD".
11274type ReportCriteria struct {
11275	// Activities: Activity group.
11276	Activities *Activities `json:"activities,omitempty"`
11277
11278	// CustomRichMediaEvents: Custom Rich Media Events group.
11279	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
11280
11281	// DateRange: The date range for which this report should be run.
11282	DateRange *DateRange `json:"dateRange,omitempty"`
11283
11284	// DimensionFilters: The list of filters on which dimensions are
11285	// filtered. Filters for different dimensions are ANDed, filters for the
11286	// same dimension are grouped together and ORed.
11287	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11288
11289	// Dimensions: The list of standard dimensions the report should
11290	// include.
11291	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11292
11293	// MetricNames: The list of names of metrics the report should include.
11294	MetricNames []string `json:"metricNames,omitempty"`
11295
11296	// ForceSendFields is a list of field names (e.g. "Activities") to
11297	// unconditionally include in API requests. By default, fields with
11298	// empty values are omitted from API requests. However, any non-pointer,
11299	// non-interface field appearing in ForceSendFields will be sent to the
11300	// server regardless of whether the field is empty or not. This may be
11301	// used to include empty fields in Patch requests.
11302	ForceSendFields []string `json:"-"`
11303
11304	// NullFields is a list of field names (e.g. "Activities") to include in
11305	// API requests with the JSON null value. By default, fields with empty
11306	// values are omitted from API requests. However, any field with an
11307	// empty value appearing in NullFields will be sent to the server as
11308	// null. It is an error if a field in this list has a non-empty value.
11309	// This may be used to include null fields in Patch requests.
11310	NullFields []string `json:"-"`
11311}
11312
11313func (s *ReportCriteria) MarshalJSON() ([]byte, error) {
11314	type NoMethod ReportCriteria
11315	raw := NoMethod(*s)
11316	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11317}
11318
11319// ReportCrossDimensionReachCriteria: The report criteria for a report
11320// of type "CROSS_DIMENSION_REACH".
11321type ReportCrossDimensionReachCriteria struct {
11322	// Breakdown: The list of dimensions the report should include.
11323	Breakdown []*SortedDimension `json:"breakdown,omitempty"`
11324
11325	// DateRange: The date range this report should be run for.
11326	DateRange *DateRange `json:"dateRange,omitempty"`
11327
11328	// Dimension: The dimension option.
11329	//
11330	// Possible values:
11331	//   "ADVERTISER"
11332	//   "CAMPAIGN"
11333	//   "SITE_BY_ADVERTISER"
11334	//   "SITE_BY_CAMPAIGN"
11335	Dimension string `json:"dimension,omitempty"`
11336
11337	// DimensionFilters: The list of filters on which dimensions are
11338	// filtered.
11339	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11340
11341	// MetricNames: The list of names of metrics the report should include.
11342	MetricNames []string `json:"metricNames,omitempty"`
11343
11344	// OverlapMetricNames: The list of names of overlap metrics the report
11345	// should include.
11346	OverlapMetricNames []string `json:"overlapMetricNames,omitempty"`
11347
11348	// Pivoted: Whether the report is pivoted or not. Defaults to true.
11349	Pivoted bool `json:"pivoted,omitempty"`
11350
11351	// ForceSendFields is a list of field names (e.g. "Breakdown") to
11352	// unconditionally include in API requests. By default, fields with
11353	// empty values are omitted from API requests. However, any non-pointer,
11354	// non-interface field appearing in ForceSendFields will be sent to the
11355	// server regardless of whether the field is empty or not. This may be
11356	// used to include empty fields in Patch requests.
11357	ForceSendFields []string `json:"-"`
11358
11359	// NullFields is a list of field names (e.g. "Breakdown") to include in
11360	// API requests with the JSON null value. By default, fields with empty
11361	// values are omitted from API requests. However, any field with an
11362	// empty value appearing in NullFields will be sent to the server as
11363	// null. It is an error if a field in this list has a non-empty value.
11364	// This may be used to include null fields in Patch requests.
11365	NullFields []string `json:"-"`
11366}
11367
11368func (s *ReportCrossDimensionReachCriteria) MarshalJSON() ([]byte, error) {
11369	type NoMethod ReportCrossDimensionReachCriteria
11370	raw := NoMethod(*s)
11371	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11372}
11373
11374// ReportDelivery: The report's email delivery settings.
11375type ReportDelivery struct {
11376	// EmailOwner: Whether the report should be emailed to the report owner.
11377	EmailOwner bool `json:"emailOwner,omitempty"`
11378
11379	// EmailOwnerDeliveryType: The type of delivery for the owner to
11380	// receive, if enabled.
11381	//
11382	// Possible values:
11383	//   "LINK"
11384	//   "ATTACHMENT"
11385	EmailOwnerDeliveryType string `json:"emailOwnerDeliveryType,omitempty"`
11386
11387	// Message: The message to be sent with each email.
11388	Message string `json:"message,omitempty"`
11389
11390	// Recipients: The list of recipients to which to email the report.
11391	Recipients []*Recipient `json:"recipients,omitempty"`
11392
11393	// ForceSendFields is a list of field names (e.g. "EmailOwner") to
11394	// unconditionally include in API requests. By default, fields with
11395	// empty values are omitted from API requests. However, any non-pointer,
11396	// non-interface field appearing in ForceSendFields will be sent to the
11397	// server regardless of whether the field is empty or not. This may be
11398	// used to include empty fields in Patch requests.
11399	ForceSendFields []string `json:"-"`
11400
11401	// NullFields is a list of field names (e.g. "EmailOwner") to include in
11402	// API requests with the JSON null value. By default, fields with empty
11403	// values are omitted from API requests. However, any field with an
11404	// empty value appearing in NullFields will be sent to the server as
11405	// null. It is an error if a field in this list has a non-empty value.
11406	// This may be used to include null fields in Patch requests.
11407	NullFields []string `json:"-"`
11408}
11409
11410func (s *ReportDelivery) MarshalJSON() ([]byte, error) {
11411	type NoMethod ReportDelivery
11412	raw := NoMethod(*s)
11413	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11414}
11415
11416// ReportFloodlightCriteria: The report criteria for a report of type
11417// "FLOODLIGHT".
11418type ReportFloodlightCriteria struct {
11419	// CustomRichMediaEvents: The list of custom rich media events to
11420	// include.
11421	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
11422
11423	// DateRange: The date range this report should be run for.
11424	DateRange *DateRange `json:"dateRange,omitempty"`
11425
11426	// DimensionFilters: The list of filters on which dimensions are
11427	// filtered. Filters for different dimensions are ANDed, filters for the
11428	// same dimension are grouped together and ORed.
11429	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11430
11431	// Dimensions: The list of dimensions the report should include.
11432	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11433
11434	// FloodlightConfigId: The floodlight ID for which to show data in this
11435	// report. All advertisers associated with that ID will automatically be
11436	// added. The dimension of the value needs to be
11437	// 'dfa:floodlightConfigId'.
11438	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
11439
11440	// MetricNames: The list of names of metrics the report should include.
11441	MetricNames []string `json:"metricNames,omitempty"`
11442
11443	// ReportProperties: The properties of the report.
11444	ReportProperties *ReportFloodlightCriteriaReportProperties `json:"reportProperties,omitempty"`
11445
11446	// ForceSendFields is a list of field names (e.g.
11447	// "CustomRichMediaEvents") to unconditionally include in API requests.
11448	// By default, fields with empty values are omitted from API requests.
11449	// However, any non-pointer, non-interface field appearing in
11450	// ForceSendFields will be sent to the server regardless of whether the
11451	// field is empty or not. This may be used to include empty fields in
11452	// Patch requests.
11453	ForceSendFields []string `json:"-"`
11454
11455	// NullFields is a list of field names (e.g. "CustomRichMediaEvents") to
11456	// include in API requests with the JSON null value. By default, fields
11457	// with empty values are omitted from API requests. However, any field
11458	// with an empty value appearing in NullFields will be sent to the
11459	// server as null. It is an error if a field in this list has a
11460	// non-empty value. This may be used to include null fields in Patch
11461	// requests.
11462	NullFields []string `json:"-"`
11463}
11464
11465func (s *ReportFloodlightCriteria) MarshalJSON() ([]byte, error) {
11466	type NoMethod ReportFloodlightCriteria
11467	raw := NoMethod(*s)
11468	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11469}
11470
11471// ReportFloodlightCriteriaReportProperties: The properties of the
11472// report.
11473type ReportFloodlightCriteriaReportProperties struct {
11474	// IncludeAttributedIPConversions: Include conversions that have no
11475	// cookie, but do have an exposure path.
11476	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
11477
11478	// IncludeUnattributedCookieConversions: Include conversions of users
11479	// with a DoubleClick cookie but without an exposure. That means the
11480	// user did not click or see an ad from the advertiser within the
11481	// Floodlight group, or that the interaction happened outside the
11482	// lookback window.
11483	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
11484
11485	// IncludeUnattributedIPConversions: Include conversions that have no
11486	// associated cookies and no exposures. It’s therefore impossible to
11487	// know how the user was exposed to your ads during the lookback window
11488	// prior to a conversion.
11489	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
11490
11491	// ForceSendFields is a list of field names (e.g.
11492	// "IncludeAttributedIPConversions") to unconditionally include in API
11493	// requests. By default, fields with empty values are omitted from API
11494	// requests. However, any non-pointer, non-interface field appearing in
11495	// ForceSendFields will be sent to the server regardless of whether the
11496	// field is empty or not. This may be used to include empty fields in
11497	// Patch requests.
11498	ForceSendFields []string `json:"-"`
11499
11500	// NullFields is a list of field names (e.g.
11501	// "IncludeAttributedIPConversions") to include in API requests with the
11502	// JSON null value. By default, fields with empty values are omitted
11503	// from API requests. However, any field with an empty value appearing
11504	// in NullFields will be sent to the server as null. It is an error if a
11505	// field in this list has a non-empty value. This may be used to include
11506	// null fields in Patch requests.
11507	NullFields []string `json:"-"`
11508}
11509
11510func (s *ReportFloodlightCriteriaReportProperties) MarshalJSON() ([]byte, error) {
11511	type NoMethod ReportFloodlightCriteriaReportProperties
11512	raw := NoMethod(*s)
11513	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11514}
11515
11516// ReportPathToConversionCriteria: The report criteria for a report of
11517// type "PATH_TO_CONVERSION".
11518type ReportPathToConversionCriteria struct {
11519	// ActivityFilters: The list of 'dfa:activity' values to filter on.
11520	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
11521
11522	// ConversionDimensions: The list of conversion dimensions the report
11523	// should include.
11524	ConversionDimensions []*SortedDimension `json:"conversionDimensions,omitempty"`
11525
11526	// CustomFloodlightVariables: The list of custom floodlight variables
11527	// the report should include.
11528	CustomFloodlightVariables []*SortedDimension `json:"customFloodlightVariables,omitempty"`
11529
11530	// CustomRichMediaEvents: The list of custom rich media events to
11531	// include.
11532	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
11533
11534	// DateRange: The date range this report should be run for.
11535	DateRange *DateRange `json:"dateRange,omitempty"`
11536
11537	// FloodlightConfigId: The floodlight ID for which to show data in this
11538	// report. All advertisers associated with that ID will automatically be
11539	// added. The dimension of the value needs to be
11540	// 'dfa:floodlightConfigId'.
11541	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
11542
11543	// MetricNames: The list of names of metrics the report should include.
11544	MetricNames []string `json:"metricNames,omitempty"`
11545
11546	// PerInteractionDimensions: The list of per interaction dimensions the
11547	// report should include.
11548	PerInteractionDimensions []*SortedDimension `json:"perInteractionDimensions,omitempty"`
11549
11550	// ReportProperties: The properties of the report.
11551	ReportProperties *ReportPathToConversionCriteriaReportProperties `json:"reportProperties,omitempty"`
11552
11553	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
11554	// unconditionally include in API requests. By default, fields with
11555	// empty values are omitted from API requests. However, any non-pointer,
11556	// non-interface field appearing in ForceSendFields will be sent to the
11557	// server regardless of whether the field is empty or not. This may be
11558	// used to include empty fields in Patch requests.
11559	ForceSendFields []string `json:"-"`
11560
11561	// NullFields is a list of field names (e.g. "ActivityFilters") to
11562	// include in API requests with the JSON null value. By default, fields
11563	// with empty values are omitted from API requests. However, any field
11564	// with an empty value appearing in NullFields will be sent to the
11565	// server as null. It is an error if a field in this list has a
11566	// non-empty value. This may be used to include null fields in Patch
11567	// requests.
11568	NullFields []string `json:"-"`
11569}
11570
11571func (s *ReportPathToConversionCriteria) MarshalJSON() ([]byte, error) {
11572	type NoMethod ReportPathToConversionCriteria
11573	raw := NoMethod(*s)
11574	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11575}
11576
11577// ReportPathToConversionCriteriaReportProperties: The properties of the
11578// report.
11579type ReportPathToConversionCriteriaReportProperties struct {
11580	// ClicksLookbackWindow: DFA checks to see if a click interaction
11581	// occurred within the specified period of time before a conversion. By
11582	// default the value is pulled from Floodlight or you can manually enter
11583	// a custom value. Valid values: 1-90.
11584	ClicksLookbackWindow int64 `json:"clicksLookbackWindow,omitempty"`
11585
11586	// ImpressionsLookbackWindow: DFA checks to see if an impression
11587	// interaction occurred within the specified period of time before a
11588	// conversion. By default the value is pulled from Floodlight or you can
11589	// manually enter a custom value. Valid values: 1-90.
11590	ImpressionsLookbackWindow int64 `json:"impressionsLookbackWindow,omitempty"`
11591
11592	// IncludeAttributedIPConversions: Deprecated: has no effect.
11593	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
11594
11595	// IncludeUnattributedCookieConversions: Include conversions of users
11596	// with a DoubleClick cookie but without an exposure. That means the
11597	// user did not click or see an ad from the advertiser within the
11598	// Floodlight group, or that the interaction happened outside the
11599	// lookback window.
11600	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
11601
11602	// IncludeUnattributedIPConversions: Include conversions that have no
11603	// associated cookies and no exposures. It’s therefore impossible to
11604	// know how the user was exposed to your ads during the lookback window
11605	// prior to a conversion.
11606	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
11607
11608	// MaximumClickInteractions: The maximum number of click interactions to
11609	// include in the report. Advertisers currently paying for E2C reports
11610	// get up to 200 (100 clicks, 100 impressions). If another advertiser in
11611	// your network is paying for E2C, you can have up to 5 total exposures
11612	// per report.
11613	MaximumClickInteractions int64 `json:"maximumClickInteractions,omitempty"`
11614
11615	// MaximumImpressionInteractions: The maximum number of click
11616	// interactions to include in the report. Advertisers currently paying
11617	// for E2C reports get up to 200 (100 clicks, 100 impressions). If
11618	// another advertiser in your network is paying for E2C, you can have up
11619	// to 5 total exposures per report.
11620	MaximumImpressionInteractions int64 `json:"maximumImpressionInteractions,omitempty"`
11621
11622	// MaximumInteractionGap: The maximum amount of time that can take place
11623	// between interactions (clicks or impressions) by the same user. Valid
11624	// values: 1-90.
11625	MaximumInteractionGap int64 `json:"maximumInteractionGap,omitempty"`
11626
11627	// PivotOnInteractionPath: Enable pivoting on interaction path.
11628	PivotOnInteractionPath bool `json:"pivotOnInteractionPath,omitempty"`
11629
11630	// ForceSendFields is a list of field names (e.g.
11631	// "ClicksLookbackWindow") to unconditionally include in API requests.
11632	// By default, fields with empty values are omitted from API requests.
11633	// However, any non-pointer, non-interface field appearing in
11634	// ForceSendFields will be sent to the server regardless of whether the
11635	// field is empty or not. This may be used to include empty fields in
11636	// Patch requests.
11637	ForceSendFields []string `json:"-"`
11638
11639	// NullFields is a list of field names (e.g. "ClicksLookbackWindow") to
11640	// include in API requests with the JSON null value. By default, fields
11641	// with empty values are omitted from API requests. However, any field
11642	// with an empty value appearing in NullFields will be sent to the
11643	// server as null. It is an error if a field in this list has a
11644	// non-empty value. This may be used to include null fields in Patch
11645	// requests.
11646	NullFields []string `json:"-"`
11647}
11648
11649func (s *ReportPathToConversionCriteriaReportProperties) MarshalJSON() ([]byte, error) {
11650	type NoMethod ReportPathToConversionCriteriaReportProperties
11651	raw := NoMethod(*s)
11652	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11653}
11654
11655// ReportReachCriteria: The report criteria for a report of type
11656// "REACH".
11657type ReportReachCriteria struct {
11658	// Activities: Activity group.
11659	Activities *Activities `json:"activities,omitempty"`
11660
11661	// CustomRichMediaEvents: Custom Rich Media Events group.
11662	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
11663
11664	// DateRange: The date range this report should be run for.
11665	DateRange *DateRange `json:"dateRange,omitempty"`
11666
11667	// DimensionFilters: The list of filters on which dimensions are
11668	// filtered. Filters for different dimensions are ANDed, filters for the
11669	// same dimension are grouped together and ORed.
11670	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11671
11672	// Dimensions: The list of dimensions the report should include.
11673	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11674
11675	// EnableAllDimensionCombinations: Whether to enable all reach dimension
11676	// combinations in the report. Defaults to false. If enabled, the date
11677	// range of the report should be within the last 42 days.
11678	EnableAllDimensionCombinations bool `json:"enableAllDimensionCombinations,omitempty"`
11679
11680	// MetricNames: The list of names of metrics the report should include.
11681	MetricNames []string `json:"metricNames,omitempty"`
11682
11683	// ReachByFrequencyMetricNames: The list of names of Reach By Frequency
11684	// metrics the report should include.
11685	ReachByFrequencyMetricNames []string `json:"reachByFrequencyMetricNames,omitempty"`
11686
11687	// ForceSendFields is a list of field names (e.g. "Activities") to
11688	// unconditionally include in API requests. By default, fields with
11689	// empty values are omitted from API requests. However, any non-pointer,
11690	// non-interface field appearing in ForceSendFields will be sent to the
11691	// server regardless of whether the field is empty or not. This may be
11692	// used to include empty fields in Patch requests.
11693	ForceSendFields []string `json:"-"`
11694
11695	// NullFields is a list of field names (e.g. "Activities") to include in
11696	// API requests with the JSON null value. By default, fields with empty
11697	// values are omitted from API requests. However, any field with an
11698	// empty value appearing in NullFields will be sent to the server as
11699	// null. It is an error if a field in this list has a non-empty value.
11700	// This may be used to include null fields in Patch requests.
11701	NullFields []string `json:"-"`
11702}
11703
11704func (s *ReportReachCriteria) MarshalJSON() ([]byte, error) {
11705	type NoMethod ReportReachCriteria
11706	raw := NoMethod(*s)
11707	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11708}
11709
11710// ReportSchedule: The report's schedule. Can only be set if the
11711// report's 'dateRange' is a relative date range and the relative date
11712// range is not "TODAY".
11713type ReportSchedule struct {
11714	// Active: Whether the schedule is active or not. Must be set to either
11715	// true or false.
11716	Active bool `json:"active,omitempty"`
11717
11718	// Every: Defines every how many days, weeks or months the report should
11719	// be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
11720	// "MONTHLY".
11721	Every int64 `json:"every,omitempty"`
11722
11723	ExpirationDate string `json:"expirationDate,omitempty"`
11724
11725	// Repeats: The interval for which the report is repeated. Note: -
11726	// "DAILY" also requires field "every" to be set. - "WEEKLY" also
11727	// requires fields "every" and "repeatsOnWeekDays" to be set. -
11728	// "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
11729	// set.
11730	Repeats string `json:"repeats,omitempty"`
11731
11732	// RepeatsOnWeekDays: List of week days "WEEKLY" on which scheduled
11733	// reports should run.
11734	//
11735	// Possible values:
11736	//   "SUNDAY"
11737	//   "MONDAY"
11738	//   "TUESDAY"
11739	//   "WEDNESDAY"
11740	//   "THURSDAY"
11741	//   "FRIDAY"
11742	//   "SATURDAY"
11743	RepeatsOnWeekDays []string `json:"repeatsOnWeekDays,omitempty"`
11744
11745	// RunsOnDayOfMonth: Enum to define for "MONTHLY" scheduled reports
11746	// whether reports should be repeated on the same day of the month as
11747	// "startDate" or the same day of the week of the month. Example: If
11748	// 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH"
11749	// would run subsequent reports on the 2nd of every Month, and
11750	// "WEEK_OF_MONTH" would run subsequent reports on the first Monday of
11751	// the month.
11752	//
11753	// Possible values:
11754	//   "DAY_OF_MONTH"
11755	//   "WEEK_OF_MONTH"
11756	RunsOnDayOfMonth string `json:"runsOnDayOfMonth,omitempty"`
11757
11758	StartDate string `json:"startDate,omitempty"`
11759
11760	// ForceSendFields is a list of field names (e.g. "Active") to
11761	// unconditionally include in API requests. By default, fields with
11762	// empty values are omitted from API requests. However, any non-pointer,
11763	// non-interface field appearing in ForceSendFields will be sent to the
11764	// server regardless of whether the field is empty or not. This may be
11765	// used to include empty fields in Patch requests.
11766	ForceSendFields []string `json:"-"`
11767
11768	// NullFields is a list of field names (e.g. "Active") to include in API
11769	// requests with the JSON null value. By default, fields with empty
11770	// values are omitted from API requests. However, any field with an
11771	// empty value appearing in NullFields will be sent to the server as
11772	// null. It is an error if a field in this list has a non-empty value.
11773	// This may be used to include null fields in Patch requests.
11774	NullFields []string `json:"-"`
11775}
11776
11777func (s *ReportSchedule) MarshalJSON() ([]byte, error) {
11778	type NoMethod ReportSchedule
11779	raw := NoMethod(*s)
11780	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11781}
11782
11783// ReportCompatibleFields: Represents fields that are compatible to be
11784// selected for a report of type "STANDARD".
11785type ReportCompatibleFields struct {
11786	// DimensionFilters: Dimensions which are compatible to be selected in
11787	// the "dimensionFilters" section of the report.
11788	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
11789
11790	// Dimensions: Dimensions which are compatible to be selected in the
11791	// "dimensions" section of the report.
11792	Dimensions []*Dimension `json:"dimensions,omitempty"`
11793
11794	// Kind: The kind of resource this is, in this case
11795	// dfareporting#reportCompatibleFields.
11796	Kind string `json:"kind,omitempty"`
11797
11798	// Metrics: Metrics which are compatible to be selected in the
11799	// "metricNames" section of the report.
11800	Metrics []*Metric `json:"metrics,omitempty"`
11801
11802	// PivotedActivityMetrics: Metrics which are compatible to be selected
11803	// as activity metrics to pivot on in the "activities" section of the
11804	// report.
11805	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
11806
11807	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
11808	// unconditionally include in API requests. By default, fields with
11809	// empty values are omitted from API requests. However, any non-pointer,
11810	// non-interface field appearing in ForceSendFields will be sent to the
11811	// server regardless of whether the field is empty or not. This may be
11812	// used to include empty fields in Patch requests.
11813	ForceSendFields []string `json:"-"`
11814
11815	// NullFields is a list of field names (e.g. "DimensionFilters") to
11816	// include in API requests with the JSON null value. By default, fields
11817	// with empty values are omitted from API requests. However, any field
11818	// with an empty value appearing in NullFields will be sent to the
11819	// server as null. It is an error if a field in this list has a
11820	// non-empty value. This may be used to include null fields in Patch
11821	// requests.
11822	NullFields []string `json:"-"`
11823}
11824
11825func (s *ReportCompatibleFields) MarshalJSON() ([]byte, error) {
11826	type NoMethod ReportCompatibleFields
11827	raw := NoMethod(*s)
11828	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11829}
11830
11831// ReportList: Represents the list of reports.
11832type ReportList struct {
11833	// Etag: The eTag of this response for caching purposes.
11834	Etag string `json:"etag,omitempty"`
11835
11836	// Items: The reports returned in this response.
11837	Items []*Report `json:"items,omitempty"`
11838
11839	// Kind: The kind of list this is, in this case dfareporting#reportList.
11840	Kind string `json:"kind,omitempty"`
11841
11842	// NextPageToken: Continuation token used to page through reports. To
11843	// retrieve the next page of results, set the next request's "pageToken"
11844	// to the value of this field. The page token is only valid for a
11845	// limited amount of time and should not be persisted.
11846	NextPageToken string `json:"nextPageToken,omitempty"`
11847
11848	// ServerResponse contains the HTTP response code and headers from the
11849	// server.
11850	googleapi.ServerResponse `json:"-"`
11851
11852	// ForceSendFields is a list of field names (e.g. "Etag") to
11853	// unconditionally include in API requests. By default, fields with
11854	// empty values are omitted from API requests. However, any non-pointer,
11855	// non-interface field appearing in ForceSendFields will be sent to the
11856	// server regardless of whether the field is empty or not. This may be
11857	// used to include empty fields in Patch requests.
11858	ForceSendFields []string `json:"-"`
11859
11860	// NullFields is a list of field names (e.g. "Etag") to include in API
11861	// requests with the JSON null value. By default, fields with empty
11862	// values are omitted from API requests. However, any field with an
11863	// empty value appearing in NullFields will be sent to the server as
11864	// null. It is an error if a field in this list has a non-empty value.
11865	// This may be used to include null fields in Patch requests.
11866	NullFields []string `json:"-"`
11867}
11868
11869func (s *ReportList) MarshalJSON() ([]byte, error) {
11870	type NoMethod ReportList
11871	raw := NoMethod(*s)
11872	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11873}
11874
11875// ReportsConfiguration: Reporting Configuration
11876type ReportsConfiguration struct {
11877	// ExposureToConversionEnabled: Whether the exposure to conversion
11878	// report is enabled. This report shows detailed pathway information on
11879	// up to 10 of the most recent ad exposures seen by a user before
11880	// converting.
11881	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
11882
11883	// LookbackConfiguration: Default lookback windows for new advertisers
11884	// in this account.
11885	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
11886
11887	// ReportGenerationTimeZoneId: Report generation time zone ID of this
11888	// account. This is a required field that can only be changed by a
11889	// superuser. Acceptable values are: - "1" for "America/New_York" - "2"
11890	// for "Europe/London" - "3" for "Europe/Paris" - "4" for
11891	// "Africa/Johannesburg" - "5" for "Asia/Jerusalem" - "6" for
11892	// "Asia/Shanghai" - "7" for "Asia/Hong_Kong" - "8" for "Asia/Tokyo" -
11893	// "9" for "Australia/Sydney" - "10" for "Asia/Dubai" - "11" for
11894	// "America/Los_Angeles" - "12" for "Pacific/Auckland" - "13" for
11895	// "America/Sao_Paulo" - "16" for "America/Asuncion" - "17" for
11896	// "America/Chicago" - "18" for "America/Denver" - "19" for
11897	// "America/St_Johns" - "20" for "Asia/Dhaka" - "21" for "Asia/Jakarta"
11898	// - "22" for "Asia/Kabul" - "23" for "Asia/Karachi" - "24" for
11899	// "Asia/Calcutta" - "25" for "Asia/Pyongyang" - "26" for "Asia/Rangoon"
11900	// - "27" for "Atlantic/Cape_Verde" - "28" for "Atlantic/South_Georgia"
11901	// - "29" for "Australia/Adelaide" - "30" for "Australia/Lord_Howe" -
11902	// "31" for "Europe/Moscow" - "32" for "Pacific/Kiritimati" - "35" for
11903	// "Pacific/Norfolk" - "36" for "Pacific/Tongatapu"
11904	ReportGenerationTimeZoneId int64 `json:"reportGenerationTimeZoneId,omitempty,string"`
11905
11906	// ForceSendFields is a list of field names (e.g.
11907	// "ExposureToConversionEnabled") to unconditionally include in API
11908	// requests. By default, fields with empty values are omitted from API
11909	// requests. However, any non-pointer, non-interface field appearing in
11910	// ForceSendFields will be sent to the server regardless of whether the
11911	// field is empty or not. This may be used to include empty fields in
11912	// Patch requests.
11913	ForceSendFields []string `json:"-"`
11914
11915	// NullFields is a list of field names (e.g.
11916	// "ExposureToConversionEnabled") to include in API requests with the
11917	// JSON null value. By default, fields with empty values are omitted
11918	// from API requests. However, any field with an empty value appearing
11919	// in NullFields will be sent to the server as null. It is an error if a
11920	// field in this list has a non-empty value. This may be used to include
11921	// null fields in Patch requests.
11922	NullFields []string `json:"-"`
11923}
11924
11925func (s *ReportsConfiguration) MarshalJSON() ([]byte, error) {
11926	type NoMethod ReportsConfiguration
11927	raw := NoMethod(*s)
11928	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11929}
11930
11931// RichMediaExitOverride: Rich Media Exit Override.
11932type RichMediaExitOverride struct {
11933	// ClickThroughUrl: Click-through URL of this rich media exit override.
11934	// Applicable if the enabled field is set to true.
11935	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
11936
11937	// Enabled: Whether to use the clickThroughUrl. If false, the
11938	// creative-level exit will be used.
11939	Enabled bool `json:"enabled,omitempty"`
11940
11941	// ExitId: ID for the override to refer to a specific exit in the
11942	// creative.
11943	ExitId int64 `json:"exitId,omitempty,string"`
11944
11945	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
11946	// unconditionally include in API requests. By default, fields with
11947	// empty values are omitted from API requests. However, any non-pointer,
11948	// non-interface field appearing in ForceSendFields will be sent to the
11949	// server regardless of whether the field is empty or not. This may be
11950	// used to include empty fields in Patch requests.
11951	ForceSendFields []string `json:"-"`
11952
11953	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
11954	// include in API requests with the JSON null value. By default, fields
11955	// with empty values are omitted from API requests. However, any field
11956	// with an empty value appearing in NullFields will be sent to the
11957	// server as null. It is an error if a field in this list has a
11958	// non-empty value. This may be used to include null fields in Patch
11959	// requests.
11960	NullFields []string `json:"-"`
11961}
11962
11963func (s *RichMediaExitOverride) MarshalJSON() ([]byte, error) {
11964	type NoMethod RichMediaExitOverride
11965	raw := NoMethod(*s)
11966	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11967}
11968
11969// Rule: A rule associates an asset with a targeting template for
11970// asset-level targeting. Applicable to INSTREAM_VIDEO creatives.
11971type Rule struct {
11972	// AssetId: A creativeAssets[].id. This should refer to one of the
11973	// parent assets in this creative. This is a required field.
11974	AssetId int64 `json:"assetId,omitempty,string"`
11975
11976	// Name: A user-friendly name for this rule. This is a required field.
11977	Name string `json:"name,omitempty"`
11978
11979	// TargetingTemplateId: A targeting template ID. The targeting from the
11980	// targeting template will be used to determine whether this asset
11981	// should be served. This is a required field.
11982	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
11983
11984	// ForceSendFields is a list of field names (e.g. "AssetId") to
11985	// unconditionally include in API requests. By default, fields with
11986	// empty values are omitted from API requests. However, any non-pointer,
11987	// non-interface field appearing in ForceSendFields will be sent to the
11988	// server regardless of whether the field is empty or not. This may be
11989	// used to include empty fields in Patch requests.
11990	ForceSendFields []string `json:"-"`
11991
11992	// NullFields is a list of field names (e.g. "AssetId") to include in
11993	// API requests with the JSON null value. By default, fields with empty
11994	// values are omitted from API requests. However, any field with an
11995	// empty value appearing in NullFields will be sent to the server as
11996	// null. It is an error if a field in this list has a non-empty value.
11997	// This may be used to include null fields in Patch requests.
11998	NullFields []string `json:"-"`
11999}
12000
12001func (s *Rule) MarshalJSON() ([]byte, error) {
12002	type NoMethod Rule
12003	raw := NoMethod(*s)
12004	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12005}
12006
12007// Site: Contains properties of a site.
12008type Site struct {
12009	// AccountId: Account ID of this site. This is a read-only field that
12010	// can be left blank.
12011	AccountId int64 `json:"accountId,omitempty,string"`
12012
12013	// Approved: Whether this site is approved.
12014	Approved bool `json:"approved,omitempty"`
12015
12016	// DirectorySiteId: Directory site associated with this site. This is a
12017	// required field that is read-only after insertion.
12018	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
12019
12020	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
12021	// directory site. This is a read-only, auto-generated field.
12022	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
12023
12024	// Id: ID of this site. This is a read-only, auto-generated field.
12025	Id int64 `json:"id,omitempty,string"`
12026
12027	// IdDimensionValue: Dimension value for the ID of this site. This is a
12028	// read-only, auto-generated field.
12029	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
12030
12031	// KeyName: Key name of this site. This is a read-only, auto-generated
12032	// field.
12033	KeyName string `json:"keyName,omitempty"`
12034
12035	// Kind: Identifies what kind of resource this is. Value: the fixed
12036	// string "dfareporting#site".
12037	Kind string `json:"kind,omitempty"`
12038
12039	// Name: Name of this site.This is a required field. Must be less than
12040	// 128 characters long. If this site is under a subaccount, the name
12041	// must be unique among sites of the same subaccount. Otherwise, this
12042	// site is a top-level site, and the name must be unique among top-level
12043	// sites of the same account.
12044	Name string `json:"name,omitempty"`
12045
12046	// SiteContacts: Site contacts.
12047	SiteContacts []*SiteContact `json:"siteContacts,omitempty"`
12048
12049	// SiteSettings: Site-wide settings.
12050	SiteSettings *SiteSettings `json:"siteSettings,omitempty"`
12051
12052	// SubaccountId: Subaccount ID of this site. This is a read-only field
12053	// that can be left blank.
12054	SubaccountId int64 `json:"subaccountId,omitempty,string"`
12055
12056	// VideoSettings: Default video settings for new placements created
12057	// under this site. This value will be used to populate the
12058	// placements.videoSettings field, when no value is specified for the
12059	// new placement.
12060	VideoSettings *SiteVideoSettings `json:"videoSettings,omitempty"`
12061
12062	// ServerResponse contains the HTTP response code and headers from the
12063	// server.
12064	googleapi.ServerResponse `json:"-"`
12065
12066	// ForceSendFields is a list of field names (e.g. "AccountId") to
12067	// unconditionally include in API requests. By default, fields with
12068	// empty values are omitted from API requests. However, any non-pointer,
12069	// non-interface field appearing in ForceSendFields will be sent to the
12070	// server regardless of whether the field is empty or not. This may be
12071	// used to include empty fields in Patch requests.
12072	ForceSendFields []string `json:"-"`
12073
12074	// NullFields is a list of field names (e.g. "AccountId") to include in
12075	// API requests with the JSON null value. By default, fields with empty
12076	// values are omitted from API requests. However, any field with an
12077	// empty value appearing in NullFields will be sent to the server as
12078	// null. It is an error if a field in this list has a non-empty value.
12079	// This may be used to include null fields in Patch requests.
12080	NullFields []string `json:"-"`
12081}
12082
12083func (s *Site) MarshalJSON() ([]byte, error) {
12084	type NoMethod Site
12085	raw := NoMethod(*s)
12086	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12087}
12088
12089// SiteCompanionSetting: Companion Settings
12090type SiteCompanionSetting struct {
12091	// CompanionsDisabled: Whether companions are disabled for this site
12092	// template.
12093	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
12094
12095	// EnabledSizes: Whitelist of companion sizes to be served via this site
12096	// template. Set this list to null or empty to serve all companion
12097	// sizes.
12098	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
12099
12100	// ImageOnly: Whether to serve only static images as companions.
12101	ImageOnly bool `json:"imageOnly,omitempty"`
12102
12103	// Kind: Identifies what kind of resource this is. Value: the fixed
12104	// string "dfareporting#siteCompanionSetting".
12105	Kind string `json:"kind,omitempty"`
12106
12107	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
12108	// to unconditionally include in API requests. By default, fields with
12109	// empty values are omitted from API requests. However, any non-pointer,
12110	// non-interface field appearing in ForceSendFields will be sent to the
12111	// server regardless of whether the field is empty or not. This may be
12112	// used to include empty fields in Patch requests.
12113	ForceSendFields []string `json:"-"`
12114
12115	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
12116	// include in API requests with the JSON null value. By default, fields
12117	// with empty values are omitted from API requests. However, any field
12118	// with an empty value appearing in NullFields will be sent to the
12119	// server as null. It is an error if a field in this list has a
12120	// non-empty value. This may be used to include null fields in Patch
12121	// requests.
12122	NullFields []string `json:"-"`
12123}
12124
12125func (s *SiteCompanionSetting) MarshalJSON() ([]byte, error) {
12126	type NoMethod SiteCompanionSetting
12127	raw := NoMethod(*s)
12128	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12129}
12130
12131// SiteContact: Site Contact
12132type SiteContact struct {
12133	// Address: Address of this site contact.
12134	Address string `json:"address,omitempty"`
12135
12136	// ContactType: Site contact type.
12137	//
12138	// Possible values:
12139	//   "SALES_PERSON"
12140	//   "TRAFFICKER"
12141	ContactType string `json:"contactType,omitempty"`
12142
12143	// Email: Email address of this site contact. This is a required field.
12144	Email string `json:"email,omitempty"`
12145
12146	// FirstName: First name of this site contact.
12147	FirstName string `json:"firstName,omitempty"`
12148
12149	// Id: ID of this site contact. This is a read-only, auto-generated
12150	// field.
12151	Id int64 `json:"id,omitempty,string"`
12152
12153	// LastName: Last name of this site contact.
12154	LastName string `json:"lastName,omitempty"`
12155
12156	// Phone: Primary phone number of this site contact.
12157	Phone string `json:"phone,omitempty"`
12158
12159	// Title: Title or designation of this site contact.
12160	Title string `json:"title,omitempty"`
12161
12162	// ForceSendFields is a list of field names (e.g. "Address") to
12163	// unconditionally include in API requests. By default, fields with
12164	// empty values are omitted from API requests. However, any non-pointer,
12165	// non-interface field appearing in ForceSendFields will be sent to the
12166	// server regardless of whether the field is empty or not. This may be
12167	// used to include empty fields in Patch requests.
12168	ForceSendFields []string `json:"-"`
12169
12170	// NullFields is a list of field names (e.g. "Address") to include in
12171	// API requests with the JSON null value. By default, fields with empty
12172	// values are omitted from API requests. However, any field with an
12173	// empty value appearing in NullFields will be sent to the server as
12174	// null. It is an error if a field in this list has a non-empty value.
12175	// This may be used to include null fields in Patch requests.
12176	NullFields []string `json:"-"`
12177}
12178
12179func (s *SiteContact) MarshalJSON() ([]byte, error) {
12180	type NoMethod SiteContact
12181	raw := NoMethod(*s)
12182	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12183}
12184
12185// SiteSettings: Site Settings
12186type SiteSettings struct {
12187	// ActiveViewOptOut: Whether active view creatives are disabled for this
12188	// site.
12189	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
12190
12191	// AdBlockingOptOut: Whether this site opts out of ad blocking. When
12192	// true, ad blocking is disabled for all placements under the site,
12193	// regardless of the individual placement settings. When false, the
12194	// campaign and placement settings take effect.
12195	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
12196
12197	// DisableNewCookie: Whether new cookies are disabled for this site.
12198	DisableNewCookie bool `json:"disableNewCookie,omitempty"`
12199
12200	// TagSetting: Configuration settings for dynamic and image floodlight
12201	// tags.
12202	TagSetting *TagSetting `json:"tagSetting,omitempty"`
12203
12204	// VideoActiveViewOptOutTemplate: Whether Verification and ActiveView
12205	// for in-stream video creatives are disabled by default for new
12206	// placements created under this site. This value will be used to
12207	// populate the placement.videoActiveViewOptOut field, when no value is
12208	// specified for the new placement.
12209	VideoActiveViewOptOutTemplate bool `json:"videoActiveViewOptOutTemplate,omitempty"`
12210
12211	// VpaidAdapterChoiceTemplate: Default VPAID adapter setting for new
12212	// placements created under this site. This value will be used to
12213	// populate the placements.vpaidAdapterChoice field, when no value is
12214	// specified for the new placement. Controls which VPAID format the
12215	// measurement adapter will use for in-stream video creatives assigned
12216	// to the placement. The publisher's specifications will typically
12217	// determine this setting. For VPAID creatives, the adapter format will
12218	// match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter).
12219	// *Note:* Flash is no longer supported. This field now defaults to
12220	// HTML5 when the following values are provided: FLASH, BOTH.
12221	//
12222	// Possible values:
12223	//   "DEFAULT"
12224	//   "FLASH"
12225	//   "HTML5"
12226	//   "BOTH"
12227	VpaidAdapterChoiceTemplate string `json:"vpaidAdapterChoiceTemplate,omitempty"`
12228
12229	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
12230	// unconditionally include in API requests. By default, fields with
12231	// empty values are omitted from API requests. However, any non-pointer,
12232	// non-interface field appearing in ForceSendFields will be sent to the
12233	// server regardless of whether the field is empty or not. This may be
12234	// used to include empty fields in Patch requests.
12235	ForceSendFields []string `json:"-"`
12236
12237	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
12238	// include in API requests with the JSON null value. By default, fields
12239	// with empty values are omitted from API requests. However, any field
12240	// with an empty value appearing in NullFields will be sent to the
12241	// server as null. It is an error if a field in this list has a
12242	// non-empty value. This may be used to include null fields in Patch
12243	// requests.
12244	NullFields []string `json:"-"`
12245}
12246
12247func (s *SiteSettings) MarshalJSON() ([]byte, error) {
12248	type NoMethod SiteSettings
12249	raw := NoMethod(*s)
12250	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12251}
12252
12253// SiteSkippableSetting: Skippable Settings
12254type SiteSkippableSetting struct {
12255	// Kind: Identifies what kind of resource this is. Value: the fixed
12256	// string "dfareporting#siteSkippableSetting".
12257	Kind string `json:"kind,omitempty"`
12258
12259	// ProgressOffset: Amount of time to play videos served to this site
12260	// template before counting a view. Applicable when skippable is true.
12261	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
12262
12263	// SkipOffset: Amount of time to play videos served to this site before
12264	// the skip button should appear. Applicable when skippable is true.
12265	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
12266
12267	// Skippable: Whether the user can skip creatives served to this site.
12268	// This will act as default for new placements created under this site.
12269	Skippable bool `json:"skippable,omitempty"`
12270
12271	// ForceSendFields is a list of field names (e.g. "Kind") to
12272	// unconditionally include in API requests. By default, fields with
12273	// empty values are omitted from API requests. However, any non-pointer,
12274	// non-interface field appearing in ForceSendFields will be sent to the
12275	// server regardless of whether the field is empty or not. This may be
12276	// used to include empty fields in Patch requests.
12277	ForceSendFields []string `json:"-"`
12278
12279	// NullFields is a list of field names (e.g. "Kind") to include in API
12280	// requests with the JSON null value. By default, fields with empty
12281	// values are omitted from API requests. However, any field with an
12282	// empty value appearing in NullFields will be sent to the server as
12283	// null. It is an error if a field in this list has a non-empty value.
12284	// This may be used to include null fields in Patch requests.
12285	NullFields []string `json:"-"`
12286}
12287
12288func (s *SiteSkippableSetting) MarshalJSON() ([]byte, error) {
12289	type NoMethod SiteSkippableSetting
12290	raw := NoMethod(*s)
12291	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12292}
12293
12294// SiteTranscodeSetting: Transcode Settings
12295type SiteTranscodeSetting struct {
12296	// EnabledVideoFormats: Whitelist of video formats to be served to this
12297	// site template. Set this list to null or empty to serve all video
12298	// formats.
12299	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
12300
12301	// Kind: Identifies what kind of resource this is. Value: the fixed
12302	// string "dfareporting#siteTranscodeSetting".
12303	Kind string `json:"kind,omitempty"`
12304
12305	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
12306	// to unconditionally include in API requests. By default, fields with
12307	// empty values are omitted from API requests. However, any non-pointer,
12308	// non-interface field appearing in ForceSendFields will be sent to the
12309	// server regardless of whether the field is empty or not. This may be
12310	// used to include empty fields in Patch requests.
12311	ForceSendFields []string `json:"-"`
12312
12313	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
12314	// include in API requests with the JSON null value. By default, fields
12315	// with empty values are omitted from API requests. However, any field
12316	// with an empty value appearing in NullFields will be sent to the
12317	// server as null. It is an error if a field in this list has a
12318	// non-empty value. This may be used to include null fields in Patch
12319	// requests.
12320	NullFields []string `json:"-"`
12321}
12322
12323func (s *SiteTranscodeSetting) MarshalJSON() ([]byte, error) {
12324	type NoMethod SiteTranscodeSetting
12325	raw := NoMethod(*s)
12326	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12327}
12328
12329// SiteVideoSettings: Video Settings
12330type SiteVideoSettings struct {
12331	// CompanionSettings: Settings for the companion creatives of video
12332	// creatives served to this site.
12333	CompanionSettings *SiteCompanionSetting `json:"companionSettings,omitempty"`
12334
12335	// Kind: Identifies what kind of resource this is. Value: the fixed
12336	// string "dfareporting#siteVideoSettings".
12337	Kind string `json:"kind,omitempty"`
12338
12339	// Orientation: Orientation of a site template used for video. This will
12340	// act as default for new placements created under this site.
12341	//
12342	// Possible values:
12343	//   "ANY"
12344	//   "LANDSCAPE"
12345	//   "PORTRAIT"
12346	Orientation string `json:"orientation,omitempty"`
12347
12348	// SkippableSettings: Settings for the skippability of video creatives
12349	// served to this site. This will act as default for new placements
12350	// created under this site.
12351	SkippableSettings *SiteSkippableSetting `json:"skippableSettings,omitempty"`
12352
12353	// TranscodeSettings: Settings for the transcodes of video creatives
12354	// served to this site. This will act as default for new placements
12355	// created under this site.
12356	TranscodeSettings *SiteTranscodeSetting `json:"transcodeSettings,omitempty"`
12357
12358	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
12359	// to unconditionally include in API requests. By default, fields with
12360	// empty values are omitted from API requests. However, any non-pointer,
12361	// non-interface field appearing in ForceSendFields will be sent to the
12362	// server regardless of whether the field is empty or not. This may be
12363	// used to include empty fields in Patch requests.
12364	ForceSendFields []string `json:"-"`
12365
12366	// NullFields is a list of field names (e.g. "CompanionSettings") to
12367	// include in API requests with the JSON null value. By default, fields
12368	// with empty values are omitted from API requests. However, any field
12369	// with an empty value appearing in NullFields will be sent to the
12370	// server as null. It is an error if a field in this list has a
12371	// non-empty value. This may be used to include null fields in Patch
12372	// requests.
12373	NullFields []string `json:"-"`
12374}
12375
12376func (s *SiteVideoSettings) MarshalJSON() ([]byte, error) {
12377	type NoMethod SiteVideoSettings
12378	raw := NoMethod(*s)
12379	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12380}
12381
12382// SitesListResponse: Site List Response
12383type SitesListResponse struct {
12384	// Kind: Identifies what kind of resource this is. Value: the fixed
12385	// string "dfareporting#sitesListResponse".
12386	Kind string `json:"kind,omitempty"`
12387
12388	// NextPageToken: Pagination token to be used for the next list
12389	// operation.
12390	NextPageToken string `json:"nextPageToken,omitempty"`
12391
12392	// Sites: Site collection.
12393	Sites []*Site `json:"sites,omitempty"`
12394
12395	// ServerResponse contains the HTTP response code and headers from the
12396	// server.
12397	googleapi.ServerResponse `json:"-"`
12398
12399	// ForceSendFields is a list of field names (e.g. "Kind") to
12400	// unconditionally include in API requests. By default, fields with
12401	// empty values are omitted from API requests. However, any non-pointer,
12402	// non-interface field appearing in ForceSendFields will be sent to the
12403	// server regardless of whether the field is empty or not. This may be
12404	// used to include empty fields in Patch requests.
12405	ForceSendFields []string `json:"-"`
12406
12407	// NullFields is a list of field names (e.g. "Kind") to include in API
12408	// requests with the JSON null value. By default, fields with empty
12409	// values are omitted from API requests. However, any field with an
12410	// empty value appearing in NullFields will be sent to the server as
12411	// null. It is an error if a field in this list has a non-empty value.
12412	// This may be used to include null fields in Patch requests.
12413	NullFields []string `json:"-"`
12414}
12415
12416func (s *SitesListResponse) MarshalJSON() ([]byte, error) {
12417	type NoMethod SitesListResponse
12418	raw := NoMethod(*s)
12419	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12420}
12421
12422// Size: Represents the dimensions of ads, placements, creatives, or
12423// creative assets.
12424type Size struct {
12425	// Height: Height of this size. Acceptable values are 0 to 32767,
12426	// inclusive.
12427	Height int64 `json:"height,omitempty"`
12428
12429	// Iab: IAB standard size. This is a read-only, auto-generated field.
12430	Iab bool `json:"iab,omitempty"`
12431
12432	// Id: ID of this size. This is a read-only, auto-generated field.
12433	Id int64 `json:"id,omitempty,string"`
12434
12435	// Kind: Identifies what kind of resource this is. Value: the fixed
12436	// string "dfareporting#size".
12437	Kind string `json:"kind,omitempty"`
12438
12439	// Width: Width of this size. Acceptable values are 0 to 32767,
12440	// inclusive.
12441	Width int64 `json:"width,omitempty"`
12442
12443	// ServerResponse contains the HTTP response code and headers from the
12444	// server.
12445	googleapi.ServerResponse `json:"-"`
12446
12447	// ForceSendFields is a list of field names (e.g. "Height") to
12448	// unconditionally include in API requests. By default, fields with
12449	// empty values are omitted from API requests. However, any non-pointer,
12450	// non-interface field appearing in ForceSendFields will be sent to the
12451	// server regardless of whether the field is empty or not. This may be
12452	// used to include empty fields in Patch requests.
12453	ForceSendFields []string `json:"-"`
12454
12455	// NullFields is a list of field names (e.g. "Height") to include in API
12456	// requests with the JSON null value. By default, fields with empty
12457	// values are omitted from API requests. However, any field with an
12458	// empty value appearing in NullFields will be sent to the server as
12459	// null. It is an error if a field in this list has a non-empty value.
12460	// This may be used to include null fields in Patch requests.
12461	NullFields []string `json:"-"`
12462}
12463
12464func (s *Size) MarshalJSON() ([]byte, error) {
12465	type NoMethod Size
12466	raw := NoMethod(*s)
12467	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12468}
12469
12470// SizesListResponse: Size List Response
12471type SizesListResponse struct {
12472	// Kind: Identifies what kind of resource this is. Value: the fixed
12473	// string "dfareporting#sizesListResponse".
12474	Kind string `json:"kind,omitempty"`
12475
12476	// Sizes: Size collection.
12477	Sizes []*Size `json:"sizes,omitempty"`
12478
12479	// ServerResponse contains the HTTP response code and headers from the
12480	// server.
12481	googleapi.ServerResponse `json:"-"`
12482
12483	// ForceSendFields is a list of field names (e.g. "Kind") to
12484	// unconditionally include in API requests. By default, fields with
12485	// empty values are omitted from API requests. However, any non-pointer,
12486	// non-interface field appearing in ForceSendFields will be sent to the
12487	// server regardless of whether the field is empty or not. This may be
12488	// used to include empty fields in Patch requests.
12489	ForceSendFields []string `json:"-"`
12490
12491	// NullFields is a list of field names (e.g. "Kind") to include in API
12492	// requests with the JSON null value. By default, fields with empty
12493	// values are omitted from API requests. However, any field with an
12494	// empty value appearing in NullFields will be sent to the server as
12495	// null. It is an error if a field in this list has a non-empty value.
12496	// This may be used to include null fields in Patch requests.
12497	NullFields []string `json:"-"`
12498}
12499
12500func (s *SizesListResponse) MarshalJSON() ([]byte, error) {
12501	type NoMethod SizesListResponse
12502	raw := NoMethod(*s)
12503	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12504}
12505
12506// SkippableSetting: Skippable Settings
12507type SkippableSetting struct {
12508	// Kind: Identifies what kind of resource this is. Value: the fixed
12509	// string "dfareporting#skippableSetting".
12510	Kind string `json:"kind,omitempty"`
12511
12512	// ProgressOffset: Amount of time to play videos served to this
12513	// placement before counting a view. Applicable when skippable is true.
12514	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
12515
12516	// SkipOffset: Amount of time to play videos served to this placement
12517	// before the skip button should appear. Applicable when skippable is
12518	// true.
12519	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
12520
12521	// Skippable: Whether the user can skip creatives served to this
12522	// placement.
12523	Skippable bool `json:"skippable,omitempty"`
12524
12525	// ForceSendFields is a list of field names (e.g. "Kind") to
12526	// unconditionally include in API requests. By default, fields with
12527	// empty values are omitted from API requests. However, any non-pointer,
12528	// non-interface field appearing in ForceSendFields will be sent to the
12529	// server regardless of whether the field is empty or not. This may be
12530	// used to include empty fields in Patch requests.
12531	ForceSendFields []string `json:"-"`
12532
12533	// NullFields is a list of field names (e.g. "Kind") to include in API
12534	// requests with the JSON null value. By default, fields with empty
12535	// values are omitted from API requests. However, any field with an
12536	// empty value appearing in NullFields will be sent to the server as
12537	// null. It is an error if a field in this list has a non-empty value.
12538	// This may be used to include null fields in Patch requests.
12539	NullFields []string `json:"-"`
12540}
12541
12542func (s *SkippableSetting) MarshalJSON() ([]byte, error) {
12543	type NoMethod SkippableSetting
12544	raw := NoMethod(*s)
12545	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12546}
12547
12548// SortedDimension: Represents a sorted dimension.
12549type SortedDimension struct {
12550	// Kind: The kind of resource this is, in this case
12551	// dfareporting#sortedDimension.
12552	Kind string `json:"kind,omitempty"`
12553
12554	// Name: The name of the dimension.
12555	Name string `json:"name,omitempty"`
12556
12557	// SortOrder: An optional sort order for the dimension column.
12558	//
12559	// Possible values:
12560	//   "ASCENDING"
12561	//   "DESCENDING"
12562	SortOrder string `json:"sortOrder,omitempty"`
12563
12564	// ForceSendFields is a list of field names (e.g. "Kind") to
12565	// unconditionally include in API requests. By default, fields with
12566	// empty values are omitted from API requests. However, any non-pointer,
12567	// non-interface field appearing in ForceSendFields will be sent to the
12568	// server regardless of whether the field is empty or not. This may be
12569	// used to include empty fields in Patch requests.
12570	ForceSendFields []string `json:"-"`
12571
12572	// NullFields is a list of field names (e.g. "Kind") to include in API
12573	// requests with the JSON null value. By default, fields with empty
12574	// values are omitted from API requests. However, any field with an
12575	// empty value appearing in NullFields will be sent to the server as
12576	// null. It is an error if a field in this list has a non-empty value.
12577	// This may be used to include null fields in Patch requests.
12578	NullFields []string `json:"-"`
12579}
12580
12581func (s *SortedDimension) MarshalJSON() ([]byte, error) {
12582	type NoMethod SortedDimension
12583	raw := NoMethod(*s)
12584	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12585}
12586
12587// Subaccount: Contains properties of a Campaign Manager subaccount.
12588type Subaccount struct {
12589	// AccountId: ID of the account that contains this subaccount. This is a
12590	// read-only field that can be left blank.
12591	AccountId int64 `json:"accountId,omitempty,string"`
12592
12593	// AvailablePermissionIds: IDs of the available user role permissions
12594	// for this subaccount.
12595	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
12596
12597	// Id: ID of this subaccount. This is a read-only, auto-generated field.
12598	Id int64 `json:"id,omitempty,string"`
12599
12600	// Kind: Identifies what kind of resource this is. Value: the fixed
12601	// string "dfareporting#subaccount".
12602	Kind string `json:"kind,omitempty"`
12603
12604	// Name: Name of this subaccount. This is a required field. Must be less
12605	// than 128 characters long and be unique among subaccounts of the same
12606	// account.
12607	Name string `json:"name,omitempty"`
12608
12609	// ServerResponse contains the HTTP response code and headers from the
12610	// server.
12611	googleapi.ServerResponse `json:"-"`
12612
12613	// ForceSendFields is a list of field names (e.g. "AccountId") to
12614	// unconditionally include in API requests. By default, fields with
12615	// empty values are omitted from API requests. However, any non-pointer,
12616	// non-interface field appearing in ForceSendFields will be sent to the
12617	// server regardless of whether the field is empty or not. This may be
12618	// used to include empty fields in Patch requests.
12619	ForceSendFields []string `json:"-"`
12620
12621	// NullFields is a list of field names (e.g. "AccountId") to include in
12622	// API requests with the JSON null value. By default, fields with empty
12623	// values are omitted from API requests. However, any field with an
12624	// empty value appearing in NullFields will be sent to the server as
12625	// null. It is an error if a field in this list has a non-empty value.
12626	// This may be used to include null fields in Patch requests.
12627	NullFields []string `json:"-"`
12628}
12629
12630func (s *Subaccount) MarshalJSON() ([]byte, error) {
12631	type NoMethod Subaccount
12632	raw := NoMethod(*s)
12633	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12634}
12635
12636// SubaccountsListResponse: Subaccount List Response
12637type SubaccountsListResponse struct {
12638	// Kind: Identifies what kind of resource this is. Value: the fixed
12639	// string "dfareporting#subaccountsListResponse".
12640	Kind string `json:"kind,omitempty"`
12641
12642	// NextPageToken: Pagination token to be used for the next list
12643	// operation.
12644	NextPageToken string `json:"nextPageToken,omitempty"`
12645
12646	// Subaccounts: Subaccount collection.
12647	Subaccounts []*Subaccount `json:"subaccounts,omitempty"`
12648
12649	// ServerResponse contains the HTTP response code and headers from the
12650	// server.
12651	googleapi.ServerResponse `json:"-"`
12652
12653	// ForceSendFields is a list of field names (e.g. "Kind") to
12654	// unconditionally include in API requests. By default, fields with
12655	// empty values are omitted from API requests. However, any non-pointer,
12656	// non-interface field appearing in ForceSendFields will be sent to the
12657	// server regardless of whether the field is empty or not. This may be
12658	// used to include empty fields in Patch requests.
12659	ForceSendFields []string `json:"-"`
12660
12661	// NullFields is a list of field names (e.g. "Kind") to include in API
12662	// requests with the JSON null value. By default, fields with empty
12663	// values are omitted from API requests. However, any field with an
12664	// empty value appearing in NullFields will be sent to the server as
12665	// null. It is an error if a field in this list has a non-empty value.
12666	// This may be used to include null fields in Patch requests.
12667	NullFields []string `json:"-"`
12668}
12669
12670func (s *SubaccountsListResponse) MarshalJSON() ([]byte, error) {
12671	type NoMethod SubaccountsListResponse
12672	raw := NoMethod(*s)
12673	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12674}
12675
12676// TagData: Placement Tag Data
12677type TagData struct {
12678	// AdId: Ad associated with this placement tag. Applicable only when
12679	// format is PLACEMENT_TAG_TRACKING.
12680	AdId int64 `json:"adId,omitempty,string"`
12681
12682	// ClickTag: Tag string to record a click.
12683	ClickTag string `json:"clickTag,omitempty"`
12684
12685	// CreativeId: Creative associated with this placement tag. Applicable
12686	// only when format is PLACEMENT_TAG_TRACKING.
12687	CreativeId int64 `json:"creativeId,omitempty,string"`
12688
12689	// Format: TagData tag format of this tag.
12690	//
12691	// Possible values:
12692	//   "PLACEMENT_TAG_STANDARD"
12693	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
12694	//   "PLACEMENT_TAG_IFRAME_ILAYER"
12695	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
12696	//   "PLACEMENT_TAG_JAVASCRIPT"
12697	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
12698	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
12699	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
12700	//   "PLACEMENT_TAG_CLICK_COMMANDS"
12701	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
12702	//   "PLACEMENT_TAG_TRACKING"
12703	//   "PLACEMENT_TAG_TRACKING_IFRAME"
12704	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
12705	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
12706	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
12707	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
12708	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
12709	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
12710	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
12711	Format string `json:"format,omitempty"`
12712
12713	// ImpressionTag: Tag string for serving an ad.
12714	ImpressionTag string `json:"impressionTag,omitempty"`
12715
12716	// ForceSendFields is a list of field names (e.g. "AdId") to
12717	// unconditionally include in API requests. By default, fields with
12718	// empty values are omitted from API requests. However, any non-pointer,
12719	// non-interface field appearing in ForceSendFields will be sent to the
12720	// server regardless of whether the field is empty or not. This may be
12721	// used to include empty fields in Patch requests.
12722	ForceSendFields []string `json:"-"`
12723
12724	// NullFields is a list of field names (e.g. "AdId") to include in API
12725	// requests with the JSON null value. By default, fields with empty
12726	// values are omitted from API requests. However, any field with an
12727	// empty value appearing in NullFields will be sent to the server as
12728	// null. It is an error if a field in this list has a non-empty value.
12729	// This may be used to include null fields in Patch requests.
12730	NullFields []string `json:"-"`
12731}
12732
12733func (s *TagData) MarshalJSON() ([]byte, error) {
12734	type NoMethod TagData
12735	raw := NoMethod(*s)
12736	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12737}
12738
12739// TagSetting: Tag Settings
12740type TagSetting struct {
12741	// AdditionalKeyValues: Additional key-values to be included in tags.
12742	// Each key-value pair must be of the form key=value, and pairs must be
12743	// separated by a semicolon (;). Keys and values must not contain
12744	// commas. For example, id=2;color=red is a valid value for this field.
12745	AdditionalKeyValues string `json:"additionalKeyValues,omitempty"`
12746
12747	// IncludeClickThroughUrls: Whether static landing page URLs should be
12748	// included in the tags. This setting applies only to placements.
12749	IncludeClickThroughUrls bool `json:"includeClickThroughUrls,omitempty"`
12750
12751	// IncludeClickTracking: Whether click-tracking string should be
12752	// included in the tags.
12753	IncludeClickTracking bool `json:"includeClickTracking,omitempty"`
12754
12755	// KeywordOption: Option specifying how keywords are embedded in ad
12756	// tags. This setting can be used to specify whether keyword
12757	// placeholders are inserted in placement tags for this site. Publishers
12758	// can then add keywords to those placeholders.
12759	//
12760	// Possible values:
12761	//   "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
12762	//   "IGNORE"
12763	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
12764	KeywordOption string `json:"keywordOption,omitempty"`
12765
12766	// ForceSendFields is a list of field names (e.g. "AdditionalKeyValues")
12767	// to unconditionally include in API requests. By default, fields with
12768	// empty values are omitted from API requests. However, any non-pointer,
12769	// non-interface field appearing in ForceSendFields will be sent to the
12770	// server regardless of whether the field is empty or not. This may be
12771	// used to include empty fields in Patch requests.
12772	ForceSendFields []string `json:"-"`
12773
12774	// NullFields is a list of field names (e.g. "AdditionalKeyValues") to
12775	// include in API requests with the JSON null value. By default, fields
12776	// with empty values are omitted from API requests. However, any field
12777	// with an empty value appearing in NullFields will be sent to the
12778	// server as null. It is an error if a field in this list has a
12779	// non-empty value. This may be used to include null fields in Patch
12780	// requests.
12781	NullFields []string `json:"-"`
12782}
12783
12784func (s *TagSetting) MarshalJSON() ([]byte, error) {
12785	type NoMethod TagSetting
12786	raw := NoMethod(*s)
12787	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12788}
12789
12790// TagSettings: Dynamic and Image Tag Settings.
12791type TagSettings struct {
12792	// DynamicTagEnabled: Whether dynamic floodlight tags are enabled.
12793	DynamicTagEnabled bool `json:"dynamicTagEnabled,omitempty"`
12794
12795	// ImageTagEnabled: Whether image tags are enabled.
12796	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
12797
12798	// ForceSendFields is a list of field names (e.g. "DynamicTagEnabled")
12799	// to unconditionally include in API requests. By default, fields with
12800	// empty values are omitted from API requests. However, any non-pointer,
12801	// non-interface field appearing in ForceSendFields will be sent to the
12802	// server regardless of whether the field is empty or not. This may be
12803	// used to include empty fields in Patch requests.
12804	ForceSendFields []string `json:"-"`
12805
12806	// NullFields is a list of field names (e.g. "DynamicTagEnabled") to
12807	// include in API requests with the JSON null value. By default, fields
12808	// with empty values are omitted from API requests. However, any field
12809	// with an empty value appearing in NullFields will be sent to the
12810	// server as null. It is an error if a field in this list has a
12811	// non-empty value. This may be used to include null fields in Patch
12812	// requests.
12813	NullFields []string `json:"-"`
12814}
12815
12816func (s *TagSettings) MarshalJSON() ([]byte, error) {
12817	type NoMethod TagSettings
12818	raw := NoMethod(*s)
12819	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12820}
12821
12822// TargetWindow: Target Window.
12823type TargetWindow struct {
12824	// CustomHtml: User-entered value.
12825	CustomHtml string `json:"customHtml,omitempty"`
12826
12827	// TargetWindowOption: Type of browser window for which the backup image
12828	// of the flash creative can be displayed.
12829	//
12830	// Possible values:
12831	//   "NEW_WINDOW"
12832	//   "CURRENT_WINDOW"
12833	//   "CUSTOM"
12834	TargetWindowOption string `json:"targetWindowOption,omitempty"`
12835
12836	// ForceSendFields is a list of field names (e.g. "CustomHtml") to
12837	// unconditionally include in API requests. By default, fields with
12838	// empty values are omitted from API requests. However, any non-pointer,
12839	// non-interface field appearing in ForceSendFields will be sent to the
12840	// server regardless of whether the field is empty or not. This may be
12841	// used to include empty fields in Patch requests.
12842	ForceSendFields []string `json:"-"`
12843
12844	// NullFields is a list of field names (e.g. "CustomHtml") to include in
12845	// API requests with the JSON null value. By default, fields with empty
12846	// values are omitted from API requests. However, any field with an
12847	// empty value appearing in NullFields will be sent to the server as
12848	// null. It is an error if a field in this list has a non-empty value.
12849	// This may be used to include null fields in Patch requests.
12850	NullFields []string `json:"-"`
12851}
12852
12853func (s *TargetWindow) MarshalJSON() ([]byte, error) {
12854	type NoMethod TargetWindow
12855	raw := NoMethod(*s)
12856	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12857}
12858
12859// TargetableRemarketingList: Contains properties of a targetable
12860// remarketing list. Remarketing enables you to create lists of users
12861// who have performed specific actions on a site, then target ads to
12862// members of those lists. This resource is a read-only view of a
12863// remarketing list to be used to faciliate targeting ads to specific
12864// lists. Remarketing lists that are owned by your advertisers and those
12865// that are shared to your advertisers or account are accessible via
12866// this resource. To manage remarketing lists that are owned by your
12867// advertisers, use the RemarketingLists resource.
12868type TargetableRemarketingList struct {
12869	// AccountId: Account ID of this remarketing list. This is a read-only,
12870	// auto-generated field that is only returned in GET requests.
12871	AccountId int64 `json:"accountId,omitempty,string"`
12872
12873	// Active: Whether this targetable remarketing list is active.
12874	Active bool `json:"active,omitempty"`
12875
12876	// AdvertiserId: Dimension value for the advertiser ID that owns this
12877	// targetable remarketing list.
12878	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
12879
12880	// AdvertiserIdDimensionValue: Dimension value for the ID of the
12881	// advertiser.
12882	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
12883
12884	// Description: Targetable remarketing list description.
12885	Description string `json:"description,omitempty"`
12886
12887	// Id: Targetable remarketing list ID.
12888	Id int64 `json:"id,omitempty,string"`
12889
12890	// Kind: Identifies what kind of resource this is. Value: the fixed
12891	// string "dfareporting#targetableRemarketingList".
12892	Kind string `json:"kind,omitempty"`
12893
12894	// LifeSpan: Number of days that a user should remain in the targetable
12895	// remarketing list without an impression.
12896	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
12897
12898	// ListSize: Number of users currently in the list. This is a read-only
12899	// field.
12900	ListSize int64 `json:"listSize,omitempty,string"`
12901
12902	// ListSource: Product from which this targetable remarketing list was
12903	// originated.
12904	//
12905	// Possible values:
12906	//   "REMARKETING_LIST_SOURCE_OTHER"
12907	//   "REMARKETING_LIST_SOURCE_ADX"
12908	//   "REMARKETING_LIST_SOURCE_DFP"
12909	//   "REMARKETING_LIST_SOURCE_XFP"
12910	//   "REMARKETING_LIST_SOURCE_DFA"
12911	//   "REMARKETING_LIST_SOURCE_GA"
12912	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
12913	//   "REMARKETING_LIST_SOURCE_DBM"
12914	//   "REMARKETING_LIST_SOURCE_GPLUS"
12915	//   "REMARKETING_LIST_SOURCE_DMP"
12916	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
12917	ListSource string `json:"listSource,omitempty"`
12918
12919	// Name: Name of the targetable remarketing list. Is no greater than 128
12920	// characters long.
12921	Name string `json:"name,omitempty"`
12922
12923	// SubaccountId: Subaccount ID of this remarketing list. This is a
12924	// read-only, auto-generated field that is only returned in GET
12925	// requests.
12926	SubaccountId int64 `json:"subaccountId,omitempty,string"`
12927
12928	// ServerResponse contains the HTTP response code and headers from the
12929	// server.
12930	googleapi.ServerResponse `json:"-"`
12931
12932	// ForceSendFields is a list of field names (e.g. "AccountId") to
12933	// unconditionally include in API requests. By default, fields with
12934	// empty values are omitted from API requests. However, any non-pointer,
12935	// non-interface field appearing in ForceSendFields will be sent to the
12936	// server regardless of whether the field is empty or not. This may be
12937	// used to include empty fields in Patch requests.
12938	ForceSendFields []string `json:"-"`
12939
12940	// NullFields is a list of field names (e.g. "AccountId") to include in
12941	// API requests with the JSON null value. By default, fields with empty
12942	// values are omitted from API requests. However, any field with an
12943	// empty value appearing in NullFields will be sent to the server as
12944	// null. It is an error if a field in this list has a non-empty value.
12945	// This may be used to include null fields in Patch requests.
12946	NullFields []string `json:"-"`
12947}
12948
12949func (s *TargetableRemarketingList) MarshalJSON() ([]byte, error) {
12950	type NoMethod TargetableRemarketingList
12951	raw := NoMethod(*s)
12952	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12953}
12954
12955// TargetableRemarketingListsListResponse: Targetable remarketing list
12956// response
12957type TargetableRemarketingListsListResponse struct {
12958	// Kind: Identifies what kind of resource this is. Value: the fixed
12959	// string "dfareporting#targetableRemarketingListsListResponse".
12960	Kind string `json:"kind,omitempty"`
12961
12962	// NextPageToken: Pagination token to be used for the next list
12963	// operation.
12964	NextPageToken string `json:"nextPageToken,omitempty"`
12965
12966	// TargetableRemarketingLists: Targetable remarketing list collection.
12967	TargetableRemarketingLists []*TargetableRemarketingList `json:"targetableRemarketingLists,omitempty"`
12968
12969	// ServerResponse contains the HTTP response code and headers from the
12970	// server.
12971	googleapi.ServerResponse `json:"-"`
12972
12973	// ForceSendFields is a list of field names (e.g. "Kind") to
12974	// unconditionally include in API requests. By default, fields with
12975	// empty values are omitted from API requests. However, any non-pointer,
12976	// non-interface field appearing in ForceSendFields will be sent to the
12977	// server regardless of whether the field is empty or not. This may be
12978	// used to include empty fields in Patch requests.
12979	ForceSendFields []string `json:"-"`
12980
12981	// NullFields is a list of field names (e.g. "Kind") to include in API
12982	// requests with the JSON null value. By default, fields with empty
12983	// values are omitted from API requests. However, any field with an
12984	// empty value appearing in NullFields will be sent to the server as
12985	// null. It is an error if a field in this list has a non-empty value.
12986	// This may be used to include null fields in Patch requests.
12987	NullFields []string `json:"-"`
12988}
12989
12990func (s *TargetableRemarketingListsListResponse) MarshalJSON() ([]byte, error) {
12991	type NoMethod TargetableRemarketingListsListResponse
12992	raw := NoMethod(*s)
12993	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12994}
12995
12996// TargetingTemplate: Contains properties of a targeting template. A
12997// targeting template encapsulates targeting information which can be
12998// reused across multiple ads.
12999type TargetingTemplate struct {
13000	// AccountId: Account ID of this targeting template. This field, if left
13001	// unset, will be auto-generated on insert and is read-only after
13002	// insert.
13003	AccountId int64 `json:"accountId,omitempty,string"`
13004
13005	// AdvertiserId: Advertiser ID of this targeting template. This is a
13006	// required field on insert and is read-only after insert.
13007	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
13008
13009	// AdvertiserIdDimensionValue: Dimension value for the ID of the
13010	// advertiser. This is a read-only, auto-generated field.
13011	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
13012
13013	// DayPartTargeting: Time and day targeting criteria.
13014	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
13015
13016	// GeoTargeting: Geographical targeting criteria.
13017	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
13018
13019	// Id: ID of this targeting template. This is a read-only,
13020	// auto-generated field.
13021	Id int64 `json:"id,omitempty,string"`
13022
13023	// KeyValueTargetingExpression: Key-value targeting criteria.
13024	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
13025
13026	// Kind: Identifies what kind of resource this is. Value: the fixed
13027	// string "dfareporting#targetingTemplate".
13028	Kind string `json:"kind,omitempty"`
13029
13030	// LanguageTargeting: Language targeting criteria.
13031	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
13032
13033	// ListTargetingExpression: Remarketing list targeting criteria.
13034	ListTargetingExpression *ListTargetingExpression `json:"listTargetingExpression,omitempty"`
13035
13036	// Name: Name of this targeting template. This field is required. It
13037	// must be less than 256 characters long and unique within an
13038	// advertiser.
13039	Name string `json:"name,omitempty"`
13040
13041	// SubaccountId: Subaccount ID of this targeting template. This field,
13042	// if left unset, will be auto-generated on insert and is read-only
13043	// after insert.
13044	SubaccountId int64 `json:"subaccountId,omitempty,string"`
13045
13046	// TechnologyTargeting: Technology platform targeting criteria.
13047	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
13048
13049	// ServerResponse contains the HTTP response code and headers from the
13050	// server.
13051	googleapi.ServerResponse `json:"-"`
13052
13053	// ForceSendFields is a list of field names (e.g. "AccountId") to
13054	// unconditionally include in API requests. By default, fields with
13055	// empty values are omitted from API requests. However, any non-pointer,
13056	// non-interface field appearing in ForceSendFields will be sent to the
13057	// server regardless of whether the field is empty or not. This may be
13058	// used to include empty fields in Patch requests.
13059	ForceSendFields []string `json:"-"`
13060
13061	// NullFields is a list of field names (e.g. "AccountId") to include in
13062	// API requests with the JSON null value. By default, fields with empty
13063	// values are omitted from API requests. However, any field with an
13064	// empty value appearing in NullFields will be sent to the server as
13065	// null. It is an error if a field in this list has a non-empty value.
13066	// This may be used to include null fields in Patch requests.
13067	NullFields []string `json:"-"`
13068}
13069
13070func (s *TargetingTemplate) MarshalJSON() ([]byte, error) {
13071	type NoMethod TargetingTemplate
13072	raw := NoMethod(*s)
13073	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13074}
13075
13076// TargetingTemplatesListResponse: Targeting Template List Response
13077type TargetingTemplatesListResponse struct {
13078	// Kind: Identifies what kind of resource this is. Value: the fixed
13079	// string "dfareporting#targetingTemplatesListResponse".
13080	Kind string `json:"kind,omitempty"`
13081
13082	// NextPageToken: Pagination token to be used for the next list
13083	// operation.
13084	NextPageToken string `json:"nextPageToken,omitempty"`
13085
13086	// TargetingTemplates: Targeting template collection.
13087	TargetingTemplates []*TargetingTemplate `json:"targetingTemplates,omitempty"`
13088
13089	// ServerResponse contains the HTTP response code and headers from the
13090	// server.
13091	googleapi.ServerResponse `json:"-"`
13092
13093	// ForceSendFields is a list of field names (e.g. "Kind") to
13094	// unconditionally include in API requests. By default, fields with
13095	// empty values are omitted from API requests. However, any non-pointer,
13096	// non-interface field appearing in ForceSendFields will be sent to the
13097	// server regardless of whether the field is empty or not. This may be
13098	// used to include empty fields in Patch requests.
13099	ForceSendFields []string `json:"-"`
13100
13101	// NullFields is a list of field names (e.g. "Kind") to include in API
13102	// requests with the JSON null value. By default, fields with empty
13103	// values are omitted from API requests. However, any field with an
13104	// empty value appearing in NullFields will be sent to the server as
13105	// null. It is an error if a field in this list has a non-empty value.
13106	// This may be used to include null fields in Patch requests.
13107	NullFields []string `json:"-"`
13108}
13109
13110func (s *TargetingTemplatesListResponse) MarshalJSON() ([]byte, error) {
13111	type NoMethod TargetingTemplatesListResponse
13112	raw := NoMethod(*s)
13113	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13114}
13115
13116// TechnologyTargeting: Technology Targeting.
13117type TechnologyTargeting struct {
13118	// Browsers: Browsers that this ad targets. For each browser either set
13119	// browserVersionId or dartId along with the version numbers. If both
13120	// are specified, only browserVersionId will be used. The other fields
13121	// are populated automatically when the ad is inserted or updated.
13122	Browsers []*Browser `json:"browsers,omitempty"`
13123
13124	// ConnectionTypes: Connection types that this ad targets. For each
13125	// connection type only id is required. The other fields are populated
13126	// automatically when the ad is inserted or updated.
13127	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
13128
13129	// MobileCarriers: Mobile carriers that this ad targets. For each mobile
13130	// carrier only id is required, and the other fields are populated
13131	// automatically when the ad is inserted or updated. If targeting a
13132	// mobile carrier, do not set targeting for any zip codes.
13133	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
13134
13135	// OperatingSystemVersions: Operating system versions that this ad
13136	// targets. To target all versions, use operatingSystems. For each
13137	// operating system version, only id is required. The other fields are
13138	// populated automatically when the ad is inserted or updated. If
13139	// targeting an operating system version, do not set targeting for the
13140	// corresponding operating system in operatingSystems.
13141	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
13142
13143	// OperatingSystems: Operating systems that this ad targets. To target
13144	// specific versions, use operatingSystemVersions. For each operating
13145	// system only dartId is required. The other fields are populated
13146	// automatically when the ad is inserted or updated. If targeting an
13147	// operating system, do not set targeting for operating system versions
13148	// for the same operating system.
13149	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
13150
13151	// PlatformTypes: Platform types that this ad targets. For example,
13152	// desktop, mobile, or tablet. For each platform type, only id is
13153	// required, and the other fields are populated automatically when the
13154	// ad is inserted or updated.
13155	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
13156
13157	// ForceSendFields is a list of field names (e.g. "Browsers") to
13158	// unconditionally include in API requests. By default, fields with
13159	// empty values are omitted from API requests. However, any non-pointer,
13160	// non-interface field appearing in ForceSendFields will be sent to the
13161	// server regardless of whether the field is empty or not. This may be
13162	// used to include empty fields in Patch requests.
13163	ForceSendFields []string `json:"-"`
13164
13165	// NullFields is a list of field names (e.g. "Browsers") to include in
13166	// API requests with the JSON null value. By default, fields with empty
13167	// values are omitted from API requests. However, any field with an
13168	// empty value appearing in NullFields will be sent to the server as
13169	// null. It is an error if a field in this list has a non-empty value.
13170	// This may be used to include null fields in Patch requests.
13171	NullFields []string `json:"-"`
13172}
13173
13174func (s *TechnologyTargeting) MarshalJSON() ([]byte, error) {
13175	type NoMethod TechnologyTargeting
13176	raw := NoMethod(*s)
13177	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13178}
13179
13180// ThirdPartyAuthenticationToken: Third Party Authentication Token
13181type ThirdPartyAuthenticationToken struct {
13182	// Name: Name of the third-party authentication token.
13183	Name string `json:"name,omitempty"`
13184
13185	// Value: Value of the third-party authentication token. This is a
13186	// read-only, auto-generated field.
13187	Value string `json:"value,omitempty"`
13188
13189	// ForceSendFields is a list of field names (e.g. "Name") to
13190	// unconditionally include in API requests. By default, fields with
13191	// empty values are omitted from API requests. However, any non-pointer,
13192	// non-interface field appearing in ForceSendFields will be sent to the
13193	// server regardless of whether the field is empty or not. This may be
13194	// used to include empty fields in Patch requests.
13195	ForceSendFields []string `json:"-"`
13196
13197	// NullFields is a list of field names (e.g. "Name") to include in API
13198	// requests with the JSON null value. By default, fields with empty
13199	// values are omitted from API requests. However, any field with an
13200	// empty value appearing in NullFields will be sent to the server as
13201	// null. It is an error if a field in this list has a non-empty value.
13202	// This may be used to include null fields in Patch requests.
13203	NullFields []string `json:"-"`
13204}
13205
13206func (s *ThirdPartyAuthenticationToken) MarshalJSON() ([]byte, error) {
13207	type NoMethod ThirdPartyAuthenticationToken
13208	raw := NoMethod(*s)
13209	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13210}
13211
13212// ThirdPartyTrackingUrl: Third-party Tracking URL.
13213type ThirdPartyTrackingUrl struct {
13214	// ThirdPartyUrlType: Third-party URL type for in-stream video and
13215	// in-stream audio creatives.
13216	//
13217	// Possible values:
13218	//   "IMPRESSION"
13219	//   "CLICK_TRACKING"
13220	//   "VIDEO_START"
13221	//   "VIDEO_FIRST_QUARTILE"
13222	//   "VIDEO_MIDPOINT"
13223	//   "VIDEO_THIRD_QUARTILE"
13224	//   "VIDEO_COMPLETE"
13225	//   "VIDEO_MUTE"
13226	//   "VIDEO_PAUSE"
13227	//   "VIDEO_REWIND"
13228	//   "VIDEO_FULLSCREEN"
13229	//   "VIDEO_STOP"
13230	//   "VIDEO_CUSTOM"
13231	//   "SURVEY"
13232	//   "RICH_MEDIA_IMPRESSION"
13233	//   "RICH_MEDIA_RM_IMPRESSION"
13234	//   "RICH_MEDIA_BACKUP_IMPRESSION"
13235	//   "VIDEO_SKIP"
13236	//   "VIDEO_PROGRESS"
13237	ThirdPartyUrlType string `json:"thirdPartyUrlType,omitempty"`
13238
13239	// Url: URL for the specified third-party URL type.
13240	Url string `json:"url,omitempty"`
13241
13242	// ForceSendFields is a list of field names (e.g. "ThirdPartyUrlType")
13243	// to unconditionally include in API requests. By default, fields with
13244	// empty values are omitted from API requests. However, any non-pointer,
13245	// non-interface field appearing in ForceSendFields will be sent to the
13246	// server regardless of whether the field is empty or not. This may be
13247	// used to include empty fields in Patch requests.
13248	ForceSendFields []string `json:"-"`
13249
13250	// NullFields is a list of field names (e.g. "ThirdPartyUrlType") to
13251	// include in API requests with the JSON null value. By default, fields
13252	// with empty values are omitted from API requests. However, any field
13253	// with an empty value appearing in NullFields will be sent to the
13254	// server as null. It is an error if a field in this list has a
13255	// non-empty value. This may be used to include null fields in Patch
13256	// requests.
13257	NullFields []string `json:"-"`
13258}
13259
13260func (s *ThirdPartyTrackingUrl) MarshalJSON() ([]byte, error) {
13261	type NoMethod ThirdPartyTrackingUrl
13262	raw := NoMethod(*s)
13263	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13264}
13265
13266// TranscodeSetting: Transcode Settings
13267type TranscodeSetting struct {
13268	// EnabledVideoFormats: Whitelist of video formats to be served to this
13269	// placement. Set this list to null or empty to serve all video formats.
13270	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
13271
13272	// Kind: Identifies what kind of resource this is. Value: the fixed
13273	// string "dfareporting#transcodeSetting".
13274	Kind string `json:"kind,omitempty"`
13275
13276	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
13277	// to unconditionally include in API requests. By default, fields with
13278	// empty values are omitted from API requests. However, any non-pointer,
13279	// non-interface field appearing in ForceSendFields will be sent to the
13280	// server regardless of whether the field is empty or not. This may be
13281	// used to include empty fields in Patch requests.
13282	ForceSendFields []string `json:"-"`
13283
13284	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
13285	// include in API requests with the JSON null value. By default, fields
13286	// with empty values are omitted from API requests. However, any field
13287	// with an empty value appearing in NullFields will be sent to the
13288	// server as null. It is an error if a field in this list has a
13289	// non-empty value. This may be used to include null fields in Patch
13290	// requests.
13291	NullFields []string `json:"-"`
13292}
13293
13294func (s *TranscodeSetting) MarshalJSON() ([]byte, error) {
13295	type NoMethod TranscodeSetting
13296	raw := NoMethod(*s)
13297	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13298}
13299
13300// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
13301// to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and
13302// VPAID.
13303type UniversalAdId struct {
13304	// Registry: Registry used for the Ad ID value.
13305	//
13306	// Possible values:
13307	//   "OTHER"
13308	//   "AD_ID.ORG"
13309	//   "CLEARCAST"
13310	//   "DCM"
13311	Registry string `json:"registry,omitempty"`
13312
13313	// Value: ID value for this creative. Only alphanumeric characters and
13314	// the following symbols are valid: "_/\-". Maximum length is 64
13315	// characters. Read only when registry is DCM.
13316	Value string `json:"value,omitempty"`
13317
13318	// ForceSendFields is a list of field names (e.g. "Registry") to
13319	// unconditionally include in API requests. By default, fields with
13320	// empty values are omitted from API requests. However, any non-pointer,
13321	// non-interface field appearing in ForceSendFields will be sent to the
13322	// server regardless of whether the field is empty or not. This may be
13323	// used to include empty fields in Patch requests.
13324	ForceSendFields []string `json:"-"`
13325
13326	// NullFields is a list of field names (e.g. "Registry") to include in
13327	// API requests with the JSON null value. By default, fields with empty
13328	// values are omitted from API requests. However, any field with an
13329	// empty value appearing in NullFields will be sent to the server as
13330	// null. It is an error if a field in this list has a non-empty value.
13331	// This may be used to include null fields in Patch requests.
13332	NullFields []string `json:"-"`
13333}
13334
13335func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
13336	type NoMethod UniversalAdId
13337	raw := NoMethod(*s)
13338	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13339}
13340
13341// UserDefinedVariableConfiguration: User Defined Variable
13342// configuration.
13343type UserDefinedVariableConfiguration struct {
13344	// DataType: Data type for the variable. This is a required field.
13345	//
13346	// Possible values:
13347	//   "STRING"
13348	//   "NUMBER"
13349	DataType string `json:"dataType,omitempty"`
13350
13351	// ReportName: User-friendly name for the variable which will appear in
13352	// reports. This is a required field, must be less than 64 characters
13353	// long, and cannot contain the following characters: ""<>".
13354	ReportName string `json:"reportName,omitempty"`
13355
13356	// VariableType: Variable name in the tag. This is a required field.
13357	//
13358	// Possible values:
13359	//   "U1"
13360	//   "U2"
13361	//   "U3"
13362	//   "U4"
13363	//   "U5"
13364	//   "U6"
13365	//   "U7"
13366	//   "U8"
13367	//   "U9"
13368	//   "U10"
13369	//   "U11"
13370	//   "U12"
13371	//   "U13"
13372	//   "U14"
13373	//   "U15"
13374	//   "U16"
13375	//   "U17"
13376	//   "U18"
13377	//   "U19"
13378	//   "U20"
13379	//   "U21"
13380	//   "U22"
13381	//   "U23"
13382	//   "U24"
13383	//   "U25"
13384	//   "U26"
13385	//   "U27"
13386	//   "U28"
13387	//   "U29"
13388	//   "U30"
13389	//   "U31"
13390	//   "U32"
13391	//   "U33"
13392	//   "U34"
13393	//   "U35"
13394	//   "U36"
13395	//   "U37"
13396	//   "U38"
13397	//   "U39"
13398	//   "U40"
13399	//   "U41"
13400	//   "U42"
13401	//   "U43"
13402	//   "U44"
13403	//   "U45"
13404	//   "U46"
13405	//   "U47"
13406	//   "U48"
13407	//   "U49"
13408	//   "U50"
13409	//   "U51"
13410	//   "U52"
13411	//   "U53"
13412	//   "U54"
13413	//   "U55"
13414	//   "U56"
13415	//   "U57"
13416	//   "U58"
13417	//   "U59"
13418	//   "U60"
13419	//   "U61"
13420	//   "U62"
13421	//   "U63"
13422	//   "U64"
13423	//   "U65"
13424	//   "U66"
13425	//   "U67"
13426	//   "U68"
13427	//   "U69"
13428	//   "U70"
13429	//   "U71"
13430	//   "U72"
13431	//   "U73"
13432	//   "U74"
13433	//   "U75"
13434	//   "U76"
13435	//   "U77"
13436	//   "U78"
13437	//   "U79"
13438	//   "U80"
13439	//   "U81"
13440	//   "U82"
13441	//   "U83"
13442	//   "U84"
13443	//   "U85"
13444	//   "U86"
13445	//   "U87"
13446	//   "U88"
13447	//   "U89"
13448	//   "U90"
13449	//   "U91"
13450	//   "U92"
13451	//   "U93"
13452	//   "U94"
13453	//   "U95"
13454	//   "U96"
13455	//   "U97"
13456	//   "U98"
13457	//   "U99"
13458	//   "U100"
13459	VariableType string `json:"variableType,omitempty"`
13460
13461	// ForceSendFields is a list of field names (e.g. "DataType") to
13462	// unconditionally include in API requests. By default, fields with
13463	// empty values are omitted from API requests. However, any non-pointer,
13464	// non-interface field appearing in ForceSendFields will be sent to the
13465	// server regardless of whether the field is empty or not. This may be
13466	// used to include empty fields in Patch requests.
13467	ForceSendFields []string `json:"-"`
13468
13469	// NullFields is a list of field names (e.g. "DataType") to include in
13470	// API requests with the JSON null value. By default, fields with empty
13471	// values are omitted from API requests. However, any field with an
13472	// empty value appearing in NullFields will be sent to the server as
13473	// null. It is an error if a field in this list has a non-empty value.
13474	// This may be used to include null fields in Patch requests.
13475	NullFields []string `json:"-"`
13476}
13477
13478func (s *UserDefinedVariableConfiguration) MarshalJSON() ([]byte, error) {
13479	type NoMethod UserDefinedVariableConfiguration
13480	raw := NoMethod(*s)
13481	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13482}
13483
13484// UserProfile: A UserProfile resource lets you list all DFA user
13485// profiles that are associated with a Google user account. The
13486// profile_id needs to be specified in other API requests.
13487type UserProfile struct {
13488	// AccountId: The account ID to which this profile belongs.
13489	AccountId int64 `json:"accountId,omitempty,string"`
13490
13491	// AccountName: The account name this profile belongs to.
13492	AccountName string `json:"accountName,omitempty"`
13493
13494	// Etag: Etag of this resource.
13495	Etag string `json:"etag,omitempty"`
13496
13497	// Kind: Identifies what kind of resource this is. Value: the fixed
13498	// string "dfareporting#userProfile".
13499	Kind string `json:"kind,omitempty"`
13500
13501	// ProfileId: The unique ID of the user profile.
13502	ProfileId int64 `json:"profileId,omitempty,string"`
13503
13504	// SubAccountId: The sub account ID this profile belongs to if
13505	// applicable.
13506	SubAccountId int64 `json:"subAccountId,omitempty,string"`
13507
13508	// SubAccountName: The sub account name this profile belongs to if
13509	// applicable.
13510	SubAccountName string `json:"subAccountName,omitempty"`
13511
13512	// UserName: The user name.
13513	UserName string `json:"userName,omitempty"`
13514
13515	// ServerResponse contains the HTTP response code and headers from the
13516	// server.
13517	googleapi.ServerResponse `json:"-"`
13518
13519	// ForceSendFields is a list of field names (e.g. "AccountId") to
13520	// unconditionally include in API requests. By default, fields with
13521	// empty values are omitted from API requests. However, any non-pointer,
13522	// non-interface field appearing in ForceSendFields will be sent to the
13523	// server regardless of whether the field is empty or not. This may be
13524	// used to include empty fields in Patch requests.
13525	ForceSendFields []string `json:"-"`
13526
13527	// NullFields is a list of field names (e.g. "AccountId") to include in
13528	// API requests with the JSON null value. By default, fields with empty
13529	// values are omitted from API requests. However, any field with an
13530	// empty value appearing in NullFields will be sent to the server as
13531	// null. It is an error if a field in this list has a non-empty value.
13532	// This may be used to include null fields in Patch requests.
13533	NullFields []string `json:"-"`
13534}
13535
13536func (s *UserProfile) MarshalJSON() ([]byte, error) {
13537	type NoMethod UserProfile
13538	raw := NoMethod(*s)
13539	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13540}
13541
13542// UserProfileList: Represents the list of user profiles.
13543type UserProfileList struct {
13544	// Etag: Etag of this resource.
13545	Etag string `json:"etag,omitempty"`
13546
13547	// Items: The user profiles returned in this response.
13548	Items []*UserProfile `json:"items,omitempty"`
13549
13550	// Kind: Identifies what kind of resource this is. Value: the fixed
13551	// string "dfareporting#userProfileList".
13552	Kind string `json:"kind,omitempty"`
13553
13554	// ServerResponse contains the HTTP response code and headers from the
13555	// server.
13556	googleapi.ServerResponse `json:"-"`
13557
13558	// ForceSendFields is a list of field names (e.g. "Etag") to
13559	// unconditionally include in API requests. By default, fields with
13560	// empty values are omitted from API requests. However, any non-pointer,
13561	// non-interface field appearing in ForceSendFields will be sent to the
13562	// server regardless of whether the field is empty or not. This may be
13563	// used to include empty fields in Patch requests.
13564	ForceSendFields []string `json:"-"`
13565
13566	// NullFields is a list of field names (e.g. "Etag") to include in API
13567	// requests with the JSON null value. By default, fields with empty
13568	// values are omitted from API requests. However, any field with an
13569	// empty value appearing in NullFields will be sent to the server as
13570	// null. It is an error if a field in this list has a non-empty value.
13571	// This may be used to include null fields in Patch requests.
13572	NullFields []string `json:"-"`
13573}
13574
13575func (s *UserProfileList) MarshalJSON() ([]byte, error) {
13576	type NoMethod UserProfileList
13577	raw := NoMethod(*s)
13578	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13579}
13580
13581// UserRole: Contains properties of auser role, which is used to manage
13582// user access.
13583type UserRole struct {
13584	// AccountId: Account ID of this user role. This is a read-only field
13585	// that can be left blank.
13586	AccountId int64 `json:"accountId,omitempty,string"`
13587
13588	// DefaultUserRole: Whether this is a default user role. Default user
13589	// roles are created by the system for the account/subaccount and cannot
13590	// be modified or deleted. Each default user role comes with a basic set
13591	// of preassigned permissions.
13592	DefaultUserRole bool `json:"defaultUserRole,omitempty"`
13593
13594	// Id: ID of this user role. This is a read-only, auto-generated field.
13595	Id int64 `json:"id,omitempty,string"`
13596
13597	// Kind: Identifies what kind of resource this is. Value: the fixed
13598	// string "dfareporting#userRole".
13599	Kind string `json:"kind,omitempty"`
13600
13601	// Name: Name of this user role. This is a required field. Must be less
13602	// than 256 characters long. If this user role is under a subaccount,
13603	// the name must be unique among sites of the same subaccount.
13604	// Otherwise, this user role is a top-level user role, and the name must
13605	// be unique among top-level user roles of the same account.
13606	Name string `json:"name,omitempty"`
13607
13608	// ParentUserRoleId: ID of the user role that this user role is based on
13609	// or copied from. This is a required field.
13610	ParentUserRoleId int64 `json:"parentUserRoleId,omitempty,string"`
13611
13612	// Permissions: List of permissions associated with this user role.
13613	Permissions []*UserRolePermission `json:"permissions,omitempty"`
13614
13615	// SubaccountId: Subaccount ID of this user role. This is a read-only
13616	// field that can be left blank.
13617	SubaccountId int64 `json:"subaccountId,omitempty,string"`
13618
13619	// ServerResponse contains the HTTP response code and headers from the
13620	// server.
13621	googleapi.ServerResponse `json:"-"`
13622
13623	// ForceSendFields is a list of field names (e.g. "AccountId") to
13624	// unconditionally include in API requests. By default, fields with
13625	// empty values are omitted from API requests. However, any non-pointer,
13626	// non-interface field appearing in ForceSendFields will be sent to the
13627	// server regardless of whether the field is empty or not. This may be
13628	// used to include empty fields in Patch requests.
13629	ForceSendFields []string `json:"-"`
13630
13631	// NullFields is a list of field names (e.g. "AccountId") to include in
13632	// API requests with the JSON null value. By default, fields with empty
13633	// values are omitted from API requests. However, any field with an
13634	// empty value appearing in NullFields will be sent to the server as
13635	// null. It is an error if a field in this list has a non-empty value.
13636	// This may be used to include null fields in Patch requests.
13637	NullFields []string `json:"-"`
13638}
13639
13640func (s *UserRole) MarshalJSON() ([]byte, error) {
13641	type NoMethod UserRole
13642	raw := NoMethod(*s)
13643	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13644}
13645
13646// UserRolePermission: Contains properties of a user role permission.
13647type UserRolePermission struct {
13648	// Availability: Levels of availability for a user role permission.
13649	//
13650	// Possible values:
13651	//   "NOT_AVAILABLE_BY_DEFAULT"
13652	//   "ACCOUNT_BY_DEFAULT"
13653	//   "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
13654	//   "ACCOUNT_ALWAYS"
13655	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
13656	Availability string `json:"availability,omitempty"`
13657
13658	// Id: ID of this user role permission.
13659	Id int64 `json:"id,omitempty,string"`
13660
13661	// Kind: Identifies what kind of resource this is. Value: the fixed
13662	// string "dfareporting#userRolePermission".
13663	Kind string `json:"kind,omitempty"`
13664
13665	// Name: Name of this user role permission.
13666	Name string `json:"name,omitempty"`
13667
13668	// PermissionGroupId: ID of the permission group that this user role
13669	// permission belongs to.
13670	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
13671
13672	// ServerResponse contains the HTTP response code and headers from the
13673	// server.
13674	googleapi.ServerResponse `json:"-"`
13675
13676	// ForceSendFields is a list of field names (e.g. "Availability") to
13677	// unconditionally include in API requests. By default, fields with
13678	// empty values are omitted from API requests. However, any non-pointer,
13679	// non-interface field appearing in ForceSendFields will be sent to the
13680	// server regardless of whether the field is empty or not. This may be
13681	// used to include empty fields in Patch requests.
13682	ForceSendFields []string `json:"-"`
13683
13684	// NullFields is a list of field names (e.g. "Availability") to include
13685	// in API requests with the JSON null value. By default, fields with
13686	// empty values are omitted from API requests. However, any field with
13687	// an empty value appearing in NullFields will be sent to the server as
13688	// null. It is an error if a field in this list has a non-empty value.
13689	// This may be used to include null fields in Patch requests.
13690	NullFields []string `json:"-"`
13691}
13692
13693func (s *UserRolePermission) MarshalJSON() ([]byte, error) {
13694	type NoMethod UserRolePermission
13695	raw := NoMethod(*s)
13696	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13697}
13698
13699// UserRolePermissionGroup: Represents a grouping of related user role
13700// permissions.
13701type UserRolePermissionGroup struct {
13702	// Id: ID of this user role permission.
13703	Id int64 `json:"id,omitempty,string"`
13704
13705	// Kind: Identifies what kind of resource this is. Value: the fixed
13706	// string "dfareporting#userRolePermissionGroup".
13707	Kind string `json:"kind,omitempty"`
13708
13709	// Name: Name of this user role permission group.
13710	Name string `json:"name,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. "Id") 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. "Id") to include in API
13725	// 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 *UserRolePermissionGroup) MarshalJSON() ([]byte, error) {
13734	type NoMethod UserRolePermissionGroup
13735	raw := NoMethod(*s)
13736	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13737}
13738
13739// UserRolePermissionGroupsListResponse: User Role Permission Group List
13740// Response
13741type UserRolePermissionGroupsListResponse struct {
13742	// Kind: Identifies what kind of resource this is. Value: the fixed
13743	// string "dfareporting#userRolePermissionGroupsListResponse".
13744	Kind string `json:"kind,omitempty"`
13745
13746	// UserRolePermissionGroups: User role permission group collection.
13747	UserRolePermissionGroups []*UserRolePermissionGroup `json:"userRolePermissionGroups,omitempty"`
13748
13749	// ServerResponse contains the HTTP response code and headers from the
13750	// server.
13751	googleapi.ServerResponse `json:"-"`
13752
13753	// ForceSendFields is a list of field names (e.g. "Kind") to
13754	// unconditionally include in API requests. By default, fields with
13755	// empty values are omitted from API requests. However, any non-pointer,
13756	// non-interface field appearing in ForceSendFields will be sent to the
13757	// server regardless of whether the field is empty or not. This may be
13758	// used to include empty fields in Patch requests.
13759	ForceSendFields []string `json:"-"`
13760
13761	// NullFields is a list of field names (e.g. "Kind") to include in API
13762	// requests with the JSON null value. By default, fields with empty
13763	// values are omitted from API requests. However, any field with an
13764	// empty value appearing in NullFields will be sent to the server as
13765	// null. It is an error if a field in this list has a non-empty value.
13766	// This may be used to include null fields in Patch requests.
13767	NullFields []string `json:"-"`
13768}
13769
13770func (s *UserRolePermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
13771	type NoMethod UserRolePermissionGroupsListResponse
13772	raw := NoMethod(*s)
13773	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13774}
13775
13776// UserRolePermissionsListResponse: User Role Permission List Response
13777type UserRolePermissionsListResponse struct {
13778	// Kind: Identifies what kind of resource this is. Value: the fixed
13779	// string "dfareporting#userRolePermissionsListResponse".
13780	Kind string `json:"kind,omitempty"`
13781
13782	// UserRolePermissions: User role permission collection.
13783	UserRolePermissions []*UserRolePermission `json:"userRolePermissions,omitempty"`
13784
13785	// ServerResponse contains the HTTP response code and headers from the
13786	// server.
13787	googleapi.ServerResponse `json:"-"`
13788
13789	// ForceSendFields is a list of field names (e.g. "Kind") to
13790	// unconditionally include in API requests. By default, fields with
13791	// empty values are omitted from API requests. However, any non-pointer,
13792	// non-interface field appearing in ForceSendFields will be sent to the
13793	// server regardless of whether the field is empty or not. This may be
13794	// used to include empty fields in Patch requests.
13795	ForceSendFields []string `json:"-"`
13796
13797	// NullFields is a list of field names (e.g. "Kind") to include in API
13798	// requests with the JSON null value. By default, fields with empty
13799	// values are omitted from API requests. However, any field with an
13800	// empty value appearing in NullFields will be sent to the server as
13801	// null. It is an error if a field in this list has a non-empty value.
13802	// This may be used to include null fields in Patch requests.
13803	NullFields []string `json:"-"`
13804}
13805
13806func (s *UserRolePermissionsListResponse) MarshalJSON() ([]byte, error) {
13807	type NoMethod UserRolePermissionsListResponse
13808	raw := NoMethod(*s)
13809	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13810}
13811
13812// UserRolesListResponse: User Role List Response
13813type UserRolesListResponse struct {
13814	// Kind: Identifies what kind of resource this is. Value: the fixed
13815	// string "dfareporting#userRolesListResponse".
13816	Kind string `json:"kind,omitempty"`
13817
13818	// NextPageToken: Pagination token to be used for the next list
13819	// operation.
13820	NextPageToken string `json:"nextPageToken,omitempty"`
13821
13822	// UserRoles: User role collection.
13823	UserRoles []*UserRole `json:"userRoles,omitempty"`
13824
13825	// ServerResponse contains the HTTP response code and headers from the
13826	// server.
13827	googleapi.ServerResponse `json:"-"`
13828
13829	// ForceSendFields is a list of field names (e.g. "Kind") to
13830	// unconditionally include in API requests. By default, fields with
13831	// empty values are omitted from API requests. However, any non-pointer,
13832	// non-interface field appearing in ForceSendFields will be sent to the
13833	// server regardless of whether the field is empty or not. This may be
13834	// used to include empty fields in Patch requests.
13835	ForceSendFields []string `json:"-"`
13836
13837	// NullFields is a list of field names (e.g. "Kind") to include in API
13838	// requests with the JSON null value. By default, fields with empty
13839	// values are omitted from API requests. However, any field with an
13840	// empty value appearing in NullFields will be sent to the server as
13841	// null. It is an error if a field in this list has a non-empty value.
13842	// This may be used to include null fields in Patch requests.
13843	NullFields []string `json:"-"`
13844}
13845
13846func (s *UserRolesListResponse) MarshalJSON() ([]byte, error) {
13847	type NoMethod UserRolesListResponse
13848	raw := NoMethod(*s)
13849	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13850}
13851
13852// VideoFormat: Contains information about supported video formats.
13853type VideoFormat struct {
13854	// FileType: File type of the video format.
13855	//
13856	// Possible values:
13857	//   "FLV"
13858	//   "THREEGPP"
13859	//   "MP4"
13860	//   "WEBM"
13861	//   "M3U8"
13862	FileType string `json:"fileType,omitempty"`
13863
13864	// Id: ID of the video format.
13865	Id int64 `json:"id,omitempty"`
13866
13867	// Kind: Identifies what kind of resource this is. Value: the fixed
13868	// string "dfareporting#videoFormat".
13869	Kind string `json:"kind,omitempty"`
13870
13871	// Resolution: The resolution of this video format.
13872	Resolution *Size `json:"resolution,omitempty"`
13873
13874	// TargetBitRate: The target bit rate of this video format.
13875	TargetBitRate int64 `json:"targetBitRate,omitempty"`
13876
13877	// ServerResponse contains the HTTP response code and headers from the
13878	// server.
13879	googleapi.ServerResponse `json:"-"`
13880
13881	// ForceSendFields is a list of field names (e.g. "FileType") to
13882	// unconditionally include in API requests. By default, fields with
13883	// empty values are omitted from API requests. However, any non-pointer,
13884	// non-interface field appearing in ForceSendFields will be sent to the
13885	// server regardless of whether the field is empty or not. This may be
13886	// used to include empty fields in Patch requests.
13887	ForceSendFields []string `json:"-"`
13888
13889	// NullFields is a list of field names (e.g. "FileType") to include in
13890	// API requests with the JSON null value. By default, fields with empty
13891	// values are omitted from API requests. However, any field with an
13892	// empty value appearing in NullFields will be sent to the server as
13893	// null. It is an error if a field in this list has a non-empty value.
13894	// This may be used to include null fields in Patch requests.
13895	NullFields []string `json:"-"`
13896}
13897
13898func (s *VideoFormat) MarshalJSON() ([]byte, error) {
13899	type NoMethod VideoFormat
13900	raw := NoMethod(*s)
13901	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13902}
13903
13904// VideoFormatsListResponse: Video Format List Response
13905type VideoFormatsListResponse struct {
13906	// Kind: Identifies what kind of resource this is. Value: the fixed
13907	// string "dfareporting#videoFormatsListResponse".
13908	Kind string `json:"kind,omitempty"`
13909
13910	// VideoFormats: Video format collection.
13911	VideoFormats []*VideoFormat `json:"videoFormats,omitempty"`
13912
13913	// ServerResponse contains the HTTP response code and headers from the
13914	// server.
13915	googleapi.ServerResponse `json:"-"`
13916
13917	// ForceSendFields is a list of field names (e.g. "Kind") to
13918	// unconditionally include in API requests. By default, fields with
13919	// empty values are omitted from API requests. However, any non-pointer,
13920	// non-interface field appearing in ForceSendFields will be sent to the
13921	// server regardless of whether the field is empty or not. This may be
13922	// used to include empty fields in Patch requests.
13923	ForceSendFields []string `json:"-"`
13924
13925	// NullFields is a list of field names (e.g. "Kind") to include in API
13926	// requests with the JSON null value. By default, fields with empty
13927	// values are omitted from API requests. However, any field with an
13928	// empty value appearing in NullFields will be sent to the server as
13929	// null. It is an error if a field in this list has a non-empty value.
13930	// This may be used to include null fields in Patch requests.
13931	NullFields []string `json:"-"`
13932}
13933
13934func (s *VideoFormatsListResponse) MarshalJSON() ([]byte, error) {
13935	type NoMethod VideoFormatsListResponse
13936	raw := NoMethod(*s)
13937	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13938}
13939
13940// VideoOffset: Video Offset
13941type VideoOffset struct {
13942	// OffsetPercentage: Duration, as a percentage of video duration. Do not
13943	// set when offsetSeconds is set. Acceptable values are 0 to 100,
13944	// inclusive.
13945	OffsetPercentage int64 `json:"offsetPercentage,omitempty"`
13946
13947	// OffsetSeconds: Duration, in seconds. Do not set when offsetPercentage
13948	// is set. Acceptable values are 0 to 86399, inclusive.
13949	OffsetSeconds int64 `json:"offsetSeconds,omitempty"`
13950
13951	// ForceSendFields is a list of field names (e.g. "OffsetPercentage") to
13952	// unconditionally include in API requests. By default, fields with
13953	// empty values are omitted from API requests. However, any non-pointer,
13954	// non-interface field appearing in ForceSendFields will be sent to the
13955	// server regardless of whether the field is empty or not. This may be
13956	// used to include empty fields in Patch requests.
13957	ForceSendFields []string `json:"-"`
13958
13959	// NullFields is a list of field names (e.g. "OffsetPercentage") to
13960	// include in API requests with the JSON null value. By default, fields
13961	// with empty values are omitted from API requests. However, any field
13962	// with an empty value appearing in NullFields will be sent to the
13963	// server as null. It is an error if a field in this list has a
13964	// non-empty value. This may be used to include null fields in Patch
13965	// requests.
13966	NullFields []string `json:"-"`
13967}
13968
13969func (s *VideoOffset) MarshalJSON() ([]byte, error) {
13970	type NoMethod VideoOffset
13971	raw := NoMethod(*s)
13972	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13973}
13974
13975// VideoSettings: Video Settings
13976type VideoSettings struct {
13977	// CompanionSettings: Settings for the companion creatives of video
13978	// creatives served to this placement.
13979	CompanionSettings *CompanionSetting `json:"companionSettings,omitempty"`
13980
13981	// Kind: Identifies what kind of resource this is. Value: the fixed
13982	// string "dfareporting#videoSettings".
13983	Kind string `json:"kind,omitempty"`
13984
13985	// Orientation: Orientation of a video placement. If this value is set,
13986	// placement will return assets matching the specified orientation.
13987	//
13988	// Possible values:
13989	//   "ANY"
13990	//   "LANDSCAPE"
13991	//   "PORTRAIT"
13992	Orientation string `json:"orientation,omitempty"`
13993
13994	// SkippableSettings: Settings for the skippability of video creatives
13995	// served to this placement. If this object is provided, the
13996	// creative-level skippable settings will be overridden.
13997	SkippableSettings *SkippableSetting `json:"skippableSettings,omitempty"`
13998
13999	// TranscodeSettings: Settings for the transcodes of video creatives
14000	// served to this placement. If this object is provided, the
14001	// creative-level transcode settings will be overridden.
14002	TranscodeSettings *TranscodeSetting `json:"transcodeSettings,omitempty"`
14003
14004	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
14005	// to unconditionally include in API requests. By default, fields with
14006	// empty values are omitted from API requests. However, any non-pointer,
14007	// non-interface field appearing in ForceSendFields will be sent to the
14008	// server regardless of whether the field is empty or not. This may be
14009	// used to include empty fields in Patch requests.
14010	ForceSendFields []string `json:"-"`
14011
14012	// NullFields is a list of field names (e.g. "CompanionSettings") to
14013	// include in API requests with the JSON null value. By default, fields
14014	// with empty values are omitted from API requests. However, any field
14015	// with an empty value appearing in NullFields will be sent to the
14016	// server as null. It is an error if a field in this list has a
14017	// non-empty value. This may be used to include null fields in Patch
14018	// requests.
14019	NullFields []string `json:"-"`
14020}
14021
14022func (s *VideoSettings) MarshalJSON() ([]byte, error) {
14023	type NoMethod VideoSettings
14024	raw := NoMethod(*s)
14025	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14026}
14027
14028// method id "dfareporting.accountActiveAdSummaries.get":
14029
14030type AccountActiveAdSummariesGetCall struct {
14031	s                *Service
14032	profileId        int64
14033	summaryAccountId int64
14034	urlParams_       gensupport.URLParams
14035	ifNoneMatch_     string
14036	ctx_             context.Context
14037	header_          http.Header
14038}
14039
14040// Get: Gets the account's active ad summary by account ID.
14041func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
14042	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14043	c.profileId = profileId
14044	c.summaryAccountId = summaryAccountId
14045	return c
14046}
14047
14048// Fields allows partial responses to be retrieved. See
14049// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14050// for more information.
14051func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
14052	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14053	return c
14054}
14055
14056// IfNoneMatch sets the optional parameter which makes the operation
14057// fail if the object's ETag matches the given value. This is useful for
14058// getting updates only after the object has changed since the last
14059// request. Use googleapi.IsNotModified to check whether the response
14060// error from Do is the result of In-None-Match.
14061func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
14062	c.ifNoneMatch_ = entityTag
14063	return c
14064}
14065
14066// Context sets the context to be used in this call's Do method. Any
14067// pending HTTP request will be aborted if the provided context is
14068// canceled.
14069func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
14070	c.ctx_ = ctx
14071	return c
14072}
14073
14074// Header returns an http.Header that can be modified by the caller to
14075// add HTTP headers to the request.
14076func (c *AccountActiveAdSummariesGetCall) Header() http.Header {
14077	if c.header_ == nil {
14078		c.header_ = make(http.Header)
14079	}
14080	return c.header_
14081}
14082
14083func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
14084	reqHeaders := make(http.Header)
14085	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
14086	for k, v := range c.header_ {
14087		reqHeaders[k] = v
14088	}
14089	reqHeaders.Set("User-Agent", c.s.userAgent())
14090	if c.ifNoneMatch_ != "" {
14091		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14092	}
14093	var body io.Reader = nil
14094	c.urlParams_.Set("alt", alt)
14095	c.urlParams_.Set("prettyPrint", "false")
14096	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
14097	urls += "?" + c.urlParams_.Encode()
14098	req, err := http.NewRequest("GET", urls, body)
14099	if err != nil {
14100		return nil, err
14101	}
14102	req.Header = reqHeaders
14103	googleapi.Expand(req.URL, map[string]string{
14104		"profileId":        strconv.FormatInt(c.profileId, 10),
14105		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
14106	})
14107	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14108}
14109
14110// Do executes the "dfareporting.accountActiveAdSummaries.get" call.
14111// Exactly one of *AccountActiveAdSummary or error will be non-nil. Any
14112// non-2xx status code is an error. Response headers are in either
14113// *AccountActiveAdSummary.ServerResponse.Header or (if a response was
14114// returned at all) in error.(*googleapi.Error).Header. Use
14115// googleapi.IsNotModified to check whether the returned error was
14116// because http.StatusNotModified was returned.
14117func (c *AccountActiveAdSummariesGetCall) Do(opts ...googleapi.CallOption) (*AccountActiveAdSummary, error) {
14118	gensupport.SetOptions(c.urlParams_, opts...)
14119	res, err := c.doRequest("json")
14120	if res != nil && res.StatusCode == http.StatusNotModified {
14121		if res.Body != nil {
14122			res.Body.Close()
14123		}
14124		return nil, &googleapi.Error{
14125			Code:   res.StatusCode,
14126			Header: res.Header,
14127		}
14128	}
14129	if err != nil {
14130		return nil, err
14131	}
14132	defer googleapi.CloseBody(res)
14133	if err := googleapi.CheckResponse(res); err != nil {
14134		return nil, err
14135	}
14136	ret := &AccountActiveAdSummary{
14137		ServerResponse: googleapi.ServerResponse{
14138			Header:         res.Header,
14139			HTTPStatusCode: res.StatusCode,
14140		},
14141	}
14142	target := &ret
14143	if err := gensupport.DecodeResponse(target, res); err != nil {
14144		return nil, err
14145	}
14146	return ret, nil
14147	// {
14148	//   "description": "Gets the account's active ad summary by account ID.",
14149	//   "flatPath": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
14150	//   "httpMethod": "GET",
14151	//   "id": "dfareporting.accountActiveAdSummaries.get",
14152	//   "parameterOrder": [
14153	//     "profileId",
14154	//     "summaryAccountId"
14155	//   ],
14156	//   "parameters": {
14157	//     "profileId": {
14158	//       "description": "User profile ID associated with this request.",
14159	//       "format": "int64",
14160	//       "location": "path",
14161	//       "required": true,
14162	//       "type": "string"
14163	//     },
14164	//     "summaryAccountId": {
14165	//       "description": "Account ID.",
14166	//       "format": "int64",
14167	//       "location": "path",
14168	//       "required": true,
14169	//       "type": "string"
14170	//     }
14171	//   },
14172	//   "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
14173	//   "response": {
14174	//     "$ref": "AccountActiveAdSummary"
14175	//   },
14176	//   "scopes": [
14177	//     "https://www.googleapis.com/auth/dfatrafficking"
14178	//   ]
14179	// }
14180
14181}
14182
14183// method id "dfareporting.accountPermissionGroups.get":
14184
14185type AccountPermissionGroupsGetCall struct {
14186	s            *Service
14187	profileId    int64
14188	id           int64
14189	urlParams_   gensupport.URLParams
14190	ifNoneMatch_ string
14191	ctx_         context.Context
14192	header_      http.Header
14193}
14194
14195// Get: Gets one account permission group by ID.
14196func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
14197	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14198	c.profileId = profileId
14199	c.id = id
14200	return c
14201}
14202
14203// Fields allows partial responses to be retrieved. See
14204// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14205// for more information.
14206func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
14207	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14208	return c
14209}
14210
14211// IfNoneMatch sets the optional parameter which makes the operation
14212// fail if the object's ETag matches the given value. This is useful for
14213// getting updates only after the object has changed since the last
14214// request. Use googleapi.IsNotModified to check whether the response
14215// error from Do is the result of In-None-Match.
14216func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
14217	c.ifNoneMatch_ = entityTag
14218	return c
14219}
14220
14221// Context sets the context to be used in this call's Do method. Any
14222// pending HTTP request will be aborted if the provided context is
14223// canceled.
14224func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
14225	c.ctx_ = ctx
14226	return c
14227}
14228
14229// Header returns an http.Header that can be modified by the caller to
14230// add HTTP headers to the request.
14231func (c *AccountPermissionGroupsGetCall) Header() http.Header {
14232	if c.header_ == nil {
14233		c.header_ = make(http.Header)
14234	}
14235	return c.header_
14236}
14237
14238func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
14239	reqHeaders := make(http.Header)
14240	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
14241	for k, v := range c.header_ {
14242		reqHeaders[k] = v
14243	}
14244	reqHeaders.Set("User-Agent", c.s.userAgent())
14245	if c.ifNoneMatch_ != "" {
14246		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14247	}
14248	var body io.Reader = nil
14249	c.urlParams_.Set("alt", alt)
14250	c.urlParams_.Set("prettyPrint", "false")
14251	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
14252	urls += "?" + c.urlParams_.Encode()
14253	req, err := http.NewRequest("GET", urls, body)
14254	if err != nil {
14255		return nil, err
14256	}
14257	req.Header = reqHeaders
14258	googleapi.Expand(req.URL, map[string]string{
14259		"profileId": strconv.FormatInt(c.profileId, 10),
14260		"id":        strconv.FormatInt(c.id, 10),
14261	})
14262	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14263}
14264
14265// Do executes the "dfareporting.accountPermissionGroups.get" call.
14266// Exactly one of *AccountPermissionGroup or error will be non-nil. Any
14267// non-2xx status code is an error. Response headers are in either
14268// *AccountPermissionGroup.ServerResponse.Header or (if a response was
14269// returned at all) in error.(*googleapi.Error).Header. Use
14270// googleapi.IsNotModified to check whether the returned error was
14271// because http.StatusNotModified was returned.
14272func (c *AccountPermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroup, error) {
14273	gensupport.SetOptions(c.urlParams_, opts...)
14274	res, err := c.doRequest("json")
14275	if res != nil && res.StatusCode == http.StatusNotModified {
14276		if res.Body != nil {
14277			res.Body.Close()
14278		}
14279		return nil, &googleapi.Error{
14280			Code:   res.StatusCode,
14281			Header: res.Header,
14282		}
14283	}
14284	if err != nil {
14285		return nil, err
14286	}
14287	defer googleapi.CloseBody(res)
14288	if err := googleapi.CheckResponse(res); err != nil {
14289		return nil, err
14290	}
14291	ret := &AccountPermissionGroup{
14292		ServerResponse: googleapi.ServerResponse{
14293			Header:         res.Header,
14294			HTTPStatusCode: res.StatusCode,
14295		},
14296	}
14297	target := &ret
14298	if err := gensupport.DecodeResponse(target, res); err != nil {
14299		return nil, err
14300	}
14301	return ret, nil
14302	// {
14303	//   "description": "Gets one account permission group by ID.",
14304	//   "flatPath": "userprofiles/{profileId}/accountPermissionGroups/{id}",
14305	//   "httpMethod": "GET",
14306	//   "id": "dfareporting.accountPermissionGroups.get",
14307	//   "parameterOrder": [
14308	//     "profileId",
14309	//     "id"
14310	//   ],
14311	//   "parameters": {
14312	//     "id": {
14313	//       "description": "Account permission group ID.",
14314	//       "format": "int64",
14315	//       "location": "path",
14316	//       "required": true,
14317	//       "type": "string"
14318	//     },
14319	//     "profileId": {
14320	//       "description": "User profile ID associated with this request.",
14321	//       "format": "int64",
14322	//       "location": "path",
14323	//       "required": true,
14324	//       "type": "string"
14325	//     }
14326	//   },
14327	//   "path": "userprofiles/{profileId}/accountPermissionGroups/{id}",
14328	//   "response": {
14329	//     "$ref": "AccountPermissionGroup"
14330	//   },
14331	//   "scopes": [
14332	//     "https://www.googleapis.com/auth/dfatrafficking"
14333	//   ]
14334	// }
14335
14336}
14337
14338// method id "dfareporting.accountPermissionGroups.list":
14339
14340type AccountPermissionGroupsListCall struct {
14341	s            *Service
14342	profileId    int64
14343	urlParams_   gensupport.URLParams
14344	ifNoneMatch_ string
14345	ctx_         context.Context
14346	header_      http.Header
14347}
14348
14349// List: Retrieves the list of account permission groups.
14350func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
14351	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14352	c.profileId = profileId
14353	return c
14354}
14355
14356// Fields allows partial responses to be retrieved. See
14357// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14358// for more information.
14359func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
14360	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14361	return c
14362}
14363
14364// IfNoneMatch sets the optional parameter which makes the operation
14365// fail if the object's ETag matches the given value. This is useful for
14366// getting updates only after the object has changed since the last
14367// request. Use googleapi.IsNotModified to check whether the response
14368// error from Do is the result of In-None-Match.
14369func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
14370	c.ifNoneMatch_ = entityTag
14371	return c
14372}
14373
14374// Context sets the context to be used in this call's Do method. Any
14375// pending HTTP request will be aborted if the provided context is
14376// canceled.
14377func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
14378	c.ctx_ = ctx
14379	return c
14380}
14381
14382// Header returns an http.Header that can be modified by the caller to
14383// add HTTP headers to the request.
14384func (c *AccountPermissionGroupsListCall) Header() http.Header {
14385	if c.header_ == nil {
14386		c.header_ = make(http.Header)
14387	}
14388	return c.header_
14389}
14390
14391func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
14392	reqHeaders := make(http.Header)
14393	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
14394	for k, v := range c.header_ {
14395		reqHeaders[k] = v
14396	}
14397	reqHeaders.Set("User-Agent", c.s.userAgent())
14398	if c.ifNoneMatch_ != "" {
14399		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14400	}
14401	var body io.Reader = nil
14402	c.urlParams_.Set("alt", alt)
14403	c.urlParams_.Set("prettyPrint", "false")
14404	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
14405	urls += "?" + c.urlParams_.Encode()
14406	req, err := http.NewRequest("GET", urls, body)
14407	if err != nil {
14408		return nil, err
14409	}
14410	req.Header = reqHeaders
14411	googleapi.Expand(req.URL, map[string]string{
14412		"profileId": strconv.FormatInt(c.profileId, 10),
14413	})
14414	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14415}
14416
14417// Do executes the "dfareporting.accountPermissionGroups.list" call.
14418// Exactly one of *AccountPermissionGroupsListResponse or error will be
14419// non-nil. Any non-2xx status code is an error. Response headers are in
14420// either *AccountPermissionGroupsListResponse.ServerResponse.Header or
14421// (if a response was returned at all) in
14422// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
14423// whether the returned error was because http.StatusNotModified was
14424// returned.
14425func (c *AccountPermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroupsListResponse, error) {
14426	gensupport.SetOptions(c.urlParams_, opts...)
14427	res, err := c.doRequest("json")
14428	if res != nil && res.StatusCode == http.StatusNotModified {
14429		if res.Body != nil {
14430			res.Body.Close()
14431		}
14432		return nil, &googleapi.Error{
14433			Code:   res.StatusCode,
14434			Header: res.Header,
14435		}
14436	}
14437	if err != nil {
14438		return nil, err
14439	}
14440	defer googleapi.CloseBody(res)
14441	if err := googleapi.CheckResponse(res); err != nil {
14442		return nil, err
14443	}
14444	ret := &AccountPermissionGroupsListResponse{
14445		ServerResponse: googleapi.ServerResponse{
14446			Header:         res.Header,
14447			HTTPStatusCode: res.StatusCode,
14448		},
14449	}
14450	target := &ret
14451	if err := gensupport.DecodeResponse(target, res); err != nil {
14452		return nil, err
14453	}
14454	return ret, nil
14455	// {
14456	//   "description": "Retrieves the list of account permission groups.",
14457	//   "flatPath": "userprofiles/{profileId}/accountPermissionGroups",
14458	//   "httpMethod": "GET",
14459	//   "id": "dfareporting.accountPermissionGroups.list",
14460	//   "parameterOrder": [
14461	//     "profileId"
14462	//   ],
14463	//   "parameters": {
14464	//     "profileId": {
14465	//       "description": "User profile ID associated with this request.",
14466	//       "format": "int64",
14467	//       "location": "path",
14468	//       "required": true,
14469	//       "type": "string"
14470	//     }
14471	//   },
14472	//   "path": "userprofiles/{profileId}/accountPermissionGroups",
14473	//   "response": {
14474	//     "$ref": "AccountPermissionGroupsListResponse"
14475	//   },
14476	//   "scopes": [
14477	//     "https://www.googleapis.com/auth/dfatrafficking"
14478	//   ]
14479	// }
14480
14481}
14482
14483// method id "dfareporting.accountPermissions.get":
14484
14485type AccountPermissionsGetCall struct {
14486	s            *Service
14487	profileId    int64
14488	id           int64
14489	urlParams_   gensupport.URLParams
14490	ifNoneMatch_ string
14491	ctx_         context.Context
14492	header_      http.Header
14493}
14494
14495// Get: Gets one account permission by ID.
14496func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
14497	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14498	c.profileId = profileId
14499	c.id = id
14500	return c
14501}
14502
14503// Fields allows partial responses to be retrieved. See
14504// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14505// for more information.
14506func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
14507	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14508	return c
14509}
14510
14511// IfNoneMatch sets the optional parameter which makes the operation
14512// fail if the object's ETag matches the given value. This is useful for
14513// getting updates only after the object has changed since the last
14514// request. Use googleapi.IsNotModified to check whether the response
14515// error from Do is the result of In-None-Match.
14516func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
14517	c.ifNoneMatch_ = entityTag
14518	return c
14519}
14520
14521// Context sets the context to be used in this call's Do method. Any
14522// pending HTTP request will be aborted if the provided context is
14523// canceled.
14524func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
14525	c.ctx_ = ctx
14526	return c
14527}
14528
14529// Header returns an http.Header that can be modified by the caller to
14530// add HTTP headers to the request.
14531func (c *AccountPermissionsGetCall) Header() http.Header {
14532	if c.header_ == nil {
14533		c.header_ = make(http.Header)
14534	}
14535	return c.header_
14536}
14537
14538func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
14539	reqHeaders := make(http.Header)
14540	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
14541	for k, v := range c.header_ {
14542		reqHeaders[k] = v
14543	}
14544	reqHeaders.Set("User-Agent", c.s.userAgent())
14545	if c.ifNoneMatch_ != "" {
14546		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14547	}
14548	var body io.Reader = nil
14549	c.urlParams_.Set("alt", alt)
14550	c.urlParams_.Set("prettyPrint", "false")
14551	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
14552	urls += "?" + c.urlParams_.Encode()
14553	req, err := http.NewRequest("GET", urls, body)
14554	if err != nil {
14555		return nil, err
14556	}
14557	req.Header = reqHeaders
14558	googleapi.Expand(req.URL, map[string]string{
14559		"profileId": strconv.FormatInt(c.profileId, 10),
14560		"id":        strconv.FormatInt(c.id, 10),
14561	})
14562	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14563}
14564
14565// Do executes the "dfareporting.accountPermissions.get" call.
14566// Exactly one of *AccountPermission or error will be non-nil. Any
14567// non-2xx status code is an error. Response headers are in either
14568// *AccountPermission.ServerResponse.Header or (if a response was
14569// returned at all) in error.(*googleapi.Error).Header. Use
14570// googleapi.IsNotModified to check whether the returned error was
14571// because http.StatusNotModified was returned.
14572func (c *AccountPermissionsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermission, error) {
14573	gensupport.SetOptions(c.urlParams_, opts...)
14574	res, err := c.doRequest("json")
14575	if res != nil && res.StatusCode == http.StatusNotModified {
14576		if res.Body != nil {
14577			res.Body.Close()
14578		}
14579		return nil, &googleapi.Error{
14580			Code:   res.StatusCode,
14581			Header: res.Header,
14582		}
14583	}
14584	if err != nil {
14585		return nil, err
14586	}
14587	defer googleapi.CloseBody(res)
14588	if err := googleapi.CheckResponse(res); err != nil {
14589		return nil, err
14590	}
14591	ret := &AccountPermission{
14592		ServerResponse: googleapi.ServerResponse{
14593			Header:         res.Header,
14594			HTTPStatusCode: res.StatusCode,
14595		},
14596	}
14597	target := &ret
14598	if err := gensupport.DecodeResponse(target, res); err != nil {
14599		return nil, err
14600	}
14601	return ret, nil
14602	// {
14603	//   "description": "Gets one account permission by ID.",
14604	//   "flatPath": "userprofiles/{profileId}/accountPermissions/{id}",
14605	//   "httpMethod": "GET",
14606	//   "id": "dfareporting.accountPermissions.get",
14607	//   "parameterOrder": [
14608	//     "profileId",
14609	//     "id"
14610	//   ],
14611	//   "parameters": {
14612	//     "id": {
14613	//       "description": "Account permission ID.",
14614	//       "format": "int64",
14615	//       "location": "path",
14616	//       "required": true,
14617	//       "type": "string"
14618	//     },
14619	//     "profileId": {
14620	//       "description": "User profile ID associated with this request.",
14621	//       "format": "int64",
14622	//       "location": "path",
14623	//       "required": true,
14624	//       "type": "string"
14625	//     }
14626	//   },
14627	//   "path": "userprofiles/{profileId}/accountPermissions/{id}",
14628	//   "response": {
14629	//     "$ref": "AccountPermission"
14630	//   },
14631	//   "scopes": [
14632	//     "https://www.googleapis.com/auth/dfatrafficking"
14633	//   ]
14634	// }
14635
14636}
14637
14638// method id "dfareporting.accountPermissions.list":
14639
14640type AccountPermissionsListCall struct {
14641	s            *Service
14642	profileId    int64
14643	urlParams_   gensupport.URLParams
14644	ifNoneMatch_ string
14645	ctx_         context.Context
14646	header_      http.Header
14647}
14648
14649// List: Retrieves the list of account permissions.
14650func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
14651	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14652	c.profileId = profileId
14653	return c
14654}
14655
14656// Fields allows partial responses to be retrieved. See
14657// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14658// for more information.
14659func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
14660	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14661	return c
14662}
14663
14664// IfNoneMatch sets the optional parameter which makes the operation
14665// fail if the object's ETag matches the given value. This is useful for
14666// getting updates only after the object has changed since the last
14667// request. Use googleapi.IsNotModified to check whether the response
14668// error from Do is the result of In-None-Match.
14669func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
14670	c.ifNoneMatch_ = entityTag
14671	return c
14672}
14673
14674// Context sets the context to be used in this call's Do method. Any
14675// pending HTTP request will be aborted if the provided context is
14676// canceled.
14677func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
14678	c.ctx_ = ctx
14679	return c
14680}
14681
14682// Header returns an http.Header that can be modified by the caller to
14683// add HTTP headers to the request.
14684func (c *AccountPermissionsListCall) Header() http.Header {
14685	if c.header_ == nil {
14686		c.header_ = make(http.Header)
14687	}
14688	return c.header_
14689}
14690
14691func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
14692	reqHeaders := make(http.Header)
14693	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
14694	for k, v := range c.header_ {
14695		reqHeaders[k] = v
14696	}
14697	reqHeaders.Set("User-Agent", c.s.userAgent())
14698	if c.ifNoneMatch_ != "" {
14699		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14700	}
14701	var body io.Reader = nil
14702	c.urlParams_.Set("alt", alt)
14703	c.urlParams_.Set("prettyPrint", "false")
14704	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
14705	urls += "?" + c.urlParams_.Encode()
14706	req, err := http.NewRequest("GET", urls, body)
14707	if err != nil {
14708		return nil, err
14709	}
14710	req.Header = reqHeaders
14711	googleapi.Expand(req.URL, map[string]string{
14712		"profileId": strconv.FormatInt(c.profileId, 10),
14713	})
14714	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14715}
14716
14717// Do executes the "dfareporting.accountPermissions.list" call.
14718// Exactly one of *AccountPermissionsListResponse or error will be
14719// non-nil. Any non-2xx status code is an error. Response headers are in
14720// either *AccountPermissionsListResponse.ServerResponse.Header or (if a
14721// response was returned at all) in error.(*googleapi.Error).Header. Use
14722// googleapi.IsNotModified to check whether the returned error was
14723// because http.StatusNotModified was returned.
14724func (c *AccountPermissionsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionsListResponse, error) {
14725	gensupport.SetOptions(c.urlParams_, opts...)
14726	res, err := c.doRequest("json")
14727	if res != nil && res.StatusCode == http.StatusNotModified {
14728		if res.Body != nil {
14729			res.Body.Close()
14730		}
14731		return nil, &googleapi.Error{
14732			Code:   res.StatusCode,
14733			Header: res.Header,
14734		}
14735	}
14736	if err != nil {
14737		return nil, err
14738	}
14739	defer googleapi.CloseBody(res)
14740	if err := googleapi.CheckResponse(res); err != nil {
14741		return nil, err
14742	}
14743	ret := &AccountPermissionsListResponse{
14744		ServerResponse: googleapi.ServerResponse{
14745			Header:         res.Header,
14746			HTTPStatusCode: res.StatusCode,
14747		},
14748	}
14749	target := &ret
14750	if err := gensupport.DecodeResponse(target, res); err != nil {
14751		return nil, err
14752	}
14753	return ret, nil
14754	// {
14755	//   "description": "Retrieves the list of account permissions.",
14756	//   "flatPath": "userprofiles/{profileId}/accountPermissions",
14757	//   "httpMethod": "GET",
14758	//   "id": "dfareporting.accountPermissions.list",
14759	//   "parameterOrder": [
14760	//     "profileId"
14761	//   ],
14762	//   "parameters": {
14763	//     "profileId": {
14764	//       "description": "User profile ID associated with this request.",
14765	//       "format": "int64",
14766	//       "location": "path",
14767	//       "required": true,
14768	//       "type": "string"
14769	//     }
14770	//   },
14771	//   "path": "userprofiles/{profileId}/accountPermissions",
14772	//   "response": {
14773	//     "$ref": "AccountPermissionsListResponse"
14774	//   },
14775	//   "scopes": [
14776	//     "https://www.googleapis.com/auth/dfatrafficking"
14777	//   ]
14778	// }
14779
14780}
14781
14782// method id "dfareporting.accountUserProfiles.get":
14783
14784type AccountUserProfilesGetCall struct {
14785	s            *Service
14786	profileId    int64
14787	id           int64
14788	urlParams_   gensupport.URLParams
14789	ifNoneMatch_ string
14790	ctx_         context.Context
14791	header_      http.Header
14792}
14793
14794// Get: Gets one account user profile by ID.
14795func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
14796	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14797	c.profileId = profileId
14798	c.id = id
14799	return c
14800}
14801
14802// Fields allows partial responses to be retrieved. See
14803// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14804// for more information.
14805func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
14806	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14807	return c
14808}
14809
14810// IfNoneMatch sets the optional parameter which makes the operation
14811// fail if the object's ETag matches the given value. This is useful for
14812// getting updates only after the object has changed since the last
14813// request. Use googleapi.IsNotModified to check whether the response
14814// error from Do is the result of In-None-Match.
14815func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
14816	c.ifNoneMatch_ = entityTag
14817	return c
14818}
14819
14820// Context sets the context to be used in this call's Do method. Any
14821// pending HTTP request will be aborted if the provided context is
14822// canceled.
14823func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
14824	c.ctx_ = ctx
14825	return c
14826}
14827
14828// Header returns an http.Header that can be modified by the caller to
14829// add HTTP headers to the request.
14830func (c *AccountUserProfilesGetCall) Header() http.Header {
14831	if c.header_ == nil {
14832		c.header_ = make(http.Header)
14833	}
14834	return c.header_
14835}
14836
14837func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
14838	reqHeaders := make(http.Header)
14839	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
14840	for k, v := range c.header_ {
14841		reqHeaders[k] = v
14842	}
14843	reqHeaders.Set("User-Agent", c.s.userAgent())
14844	if c.ifNoneMatch_ != "" {
14845		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14846	}
14847	var body io.Reader = nil
14848	c.urlParams_.Set("alt", alt)
14849	c.urlParams_.Set("prettyPrint", "false")
14850	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
14851	urls += "?" + c.urlParams_.Encode()
14852	req, err := http.NewRequest("GET", urls, body)
14853	if err != nil {
14854		return nil, err
14855	}
14856	req.Header = reqHeaders
14857	googleapi.Expand(req.URL, map[string]string{
14858		"profileId": strconv.FormatInt(c.profileId, 10),
14859		"id":        strconv.FormatInt(c.id, 10),
14860	})
14861	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14862}
14863
14864// Do executes the "dfareporting.accountUserProfiles.get" call.
14865// Exactly one of *AccountUserProfile or error will be non-nil. Any
14866// non-2xx status code is an error. Response headers are in either
14867// *AccountUserProfile.ServerResponse.Header or (if a response was
14868// returned at all) in error.(*googleapi.Error).Header. Use
14869// googleapi.IsNotModified to check whether the returned error was
14870// because http.StatusNotModified was returned.
14871func (c *AccountUserProfilesGetCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
14872	gensupport.SetOptions(c.urlParams_, opts...)
14873	res, err := c.doRequest("json")
14874	if res != nil && res.StatusCode == http.StatusNotModified {
14875		if res.Body != nil {
14876			res.Body.Close()
14877		}
14878		return nil, &googleapi.Error{
14879			Code:   res.StatusCode,
14880			Header: res.Header,
14881		}
14882	}
14883	if err != nil {
14884		return nil, err
14885	}
14886	defer googleapi.CloseBody(res)
14887	if err := googleapi.CheckResponse(res); err != nil {
14888		return nil, err
14889	}
14890	ret := &AccountUserProfile{
14891		ServerResponse: googleapi.ServerResponse{
14892			Header:         res.Header,
14893			HTTPStatusCode: res.StatusCode,
14894		},
14895	}
14896	target := &ret
14897	if err := gensupport.DecodeResponse(target, res); err != nil {
14898		return nil, err
14899	}
14900	return ret, nil
14901	// {
14902	//   "description": "Gets one account user profile by ID.",
14903	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles/{id}",
14904	//   "httpMethod": "GET",
14905	//   "id": "dfareporting.accountUserProfiles.get",
14906	//   "parameterOrder": [
14907	//     "profileId",
14908	//     "id"
14909	//   ],
14910	//   "parameters": {
14911	//     "id": {
14912	//       "description": "User profile ID.",
14913	//       "format": "int64",
14914	//       "location": "path",
14915	//       "required": true,
14916	//       "type": "string"
14917	//     },
14918	//     "profileId": {
14919	//       "description": "User profile ID associated with this request.",
14920	//       "format": "int64",
14921	//       "location": "path",
14922	//       "required": true,
14923	//       "type": "string"
14924	//     }
14925	//   },
14926	//   "path": "userprofiles/{profileId}/accountUserProfiles/{id}",
14927	//   "response": {
14928	//     "$ref": "AccountUserProfile"
14929	//   },
14930	//   "scopes": [
14931	//     "https://www.googleapis.com/auth/dfatrafficking"
14932	//   ]
14933	// }
14934
14935}
14936
14937// method id "dfareporting.accountUserProfiles.insert":
14938
14939type AccountUserProfilesInsertCall struct {
14940	s                  *Service
14941	profileId          int64
14942	accountuserprofile *AccountUserProfile
14943	urlParams_         gensupport.URLParams
14944	ctx_               context.Context
14945	header_            http.Header
14946}
14947
14948// Insert: Inserts a new account user profile.
14949func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
14950	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14951	c.profileId = profileId
14952	c.accountuserprofile = accountuserprofile
14953	return c
14954}
14955
14956// Fields allows partial responses to be retrieved. See
14957// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14958// for more information.
14959func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
14960	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14961	return c
14962}
14963
14964// Context sets the context to be used in this call's Do method. Any
14965// pending HTTP request will be aborted if the provided context is
14966// canceled.
14967func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
14968	c.ctx_ = ctx
14969	return c
14970}
14971
14972// Header returns an http.Header that can be modified by the caller to
14973// add HTTP headers to the request.
14974func (c *AccountUserProfilesInsertCall) Header() http.Header {
14975	if c.header_ == nil {
14976		c.header_ = make(http.Header)
14977	}
14978	return c.header_
14979}
14980
14981func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
14982	reqHeaders := make(http.Header)
14983	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
14984	for k, v := range c.header_ {
14985		reqHeaders[k] = v
14986	}
14987	reqHeaders.Set("User-Agent", c.s.userAgent())
14988	var body io.Reader = nil
14989	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
14990	if err != nil {
14991		return nil, err
14992	}
14993	reqHeaders.Set("Content-Type", "application/json")
14994	c.urlParams_.Set("alt", alt)
14995	c.urlParams_.Set("prettyPrint", "false")
14996	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
14997	urls += "?" + c.urlParams_.Encode()
14998	req, err := http.NewRequest("POST", urls, body)
14999	if err != nil {
15000		return nil, err
15001	}
15002	req.Header = reqHeaders
15003	googleapi.Expand(req.URL, map[string]string{
15004		"profileId": strconv.FormatInt(c.profileId, 10),
15005	})
15006	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15007}
15008
15009// Do executes the "dfareporting.accountUserProfiles.insert" call.
15010// Exactly one of *AccountUserProfile or error will be non-nil. Any
15011// non-2xx status code is an error. Response headers are in either
15012// *AccountUserProfile.ServerResponse.Header or (if a response was
15013// returned at all) in error.(*googleapi.Error).Header. Use
15014// googleapi.IsNotModified to check whether the returned error was
15015// because http.StatusNotModified was returned.
15016func (c *AccountUserProfilesInsertCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15017	gensupport.SetOptions(c.urlParams_, opts...)
15018	res, err := c.doRequest("json")
15019	if res != nil && res.StatusCode == http.StatusNotModified {
15020		if res.Body != nil {
15021			res.Body.Close()
15022		}
15023		return nil, &googleapi.Error{
15024			Code:   res.StatusCode,
15025			Header: res.Header,
15026		}
15027	}
15028	if err != nil {
15029		return nil, err
15030	}
15031	defer googleapi.CloseBody(res)
15032	if err := googleapi.CheckResponse(res); err != nil {
15033		return nil, err
15034	}
15035	ret := &AccountUserProfile{
15036		ServerResponse: googleapi.ServerResponse{
15037			Header:         res.Header,
15038			HTTPStatusCode: res.StatusCode,
15039		},
15040	}
15041	target := &ret
15042	if err := gensupport.DecodeResponse(target, res); err != nil {
15043		return nil, err
15044	}
15045	return ret, nil
15046	// {
15047	//   "description": "Inserts a new account user profile.",
15048	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15049	//   "httpMethod": "POST",
15050	//   "id": "dfareporting.accountUserProfiles.insert",
15051	//   "parameterOrder": [
15052	//     "profileId"
15053	//   ],
15054	//   "parameters": {
15055	//     "profileId": {
15056	//       "description": "User profile ID associated with this request.",
15057	//       "format": "int64",
15058	//       "location": "path",
15059	//       "required": true,
15060	//       "type": "string"
15061	//     }
15062	//   },
15063	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15064	//   "request": {
15065	//     "$ref": "AccountUserProfile"
15066	//   },
15067	//   "response": {
15068	//     "$ref": "AccountUserProfile"
15069	//   },
15070	//   "scopes": [
15071	//     "https://www.googleapis.com/auth/dfatrafficking"
15072	//   ]
15073	// }
15074
15075}
15076
15077// method id "dfareporting.accountUserProfiles.list":
15078
15079type AccountUserProfilesListCall struct {
15080	s            *Service
15081	profileId    int64
15082	urlParams_   gensupport.URLParams
15083	ifNoneMatch_ string
15084	ctx_         context.Context
15085	header_      http.Header
15086}
15087
15088// List: Retrieves a list of account user profiles, possibly filtered.
15089// This method supports paging.
15090func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
15091	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15092	c.profileId = profileId
15093	return c
15094}
15095
15096// Active sets the optional parameter "active": Select only active user
15097// profiles.
15098func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
15099	c.urlParams_.Set("active", fmt.Sprint(active))
15100	return c
15101}
15102
15103// Ids sets the optional parameter "ids": Select only user profiles with
15104// these IDs.
15105func (c *AccountUserProfilesListCall) Ids(ids ...int64) *AccountUserProfilesListCall {
15106	var ids_ []string
15107	for _, v := range ids {
15108		ids_ = append(ids_, fmt.Sprint(v))
15109	}
15110	c.urlParams_.SetMulti("ids", ids_)
15111	return c
15112}
15113
15114// MaxResults sets the optional parameter "maxResults": Maximum number
15115// of results to return.
15116func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
15117	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
15118	return c
15119}
15120
15121// PageToken sets the optional parameter "pageToken": Value of the
15122// nextPageToken from the previous result page.
15123func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
15124	c.urlParams_.Set("pageToken", pageToken)
15125	return c
15126}
15127
15128// SearchString sets the optional parameter "searchString": Allows
15129// searching for objects by name, ID or email. Wildcards (*) are
15130// allowed. For example, "user profile*2015" will return objects with
15131// names like "user profile June 2015", "user profile April 2015", or
15132// simply "user profile 2015". Most of the searches also add wildcards
15133// implicitly at the start and the end of the search string. For
15134// example, a search string of "user profile" will match objects with
15135// name "my user profile", "user profile 2015", or simply "user
15136// profile".
15137func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
15138	c.urlParams_.Set("searchString", searchString)
15139	return c
15140}
15141
15142// SortField sets the optional parameter "sortField": Field by which to
15143// sort the list.
15144//
15145// Possible values:
15146//   "ID" (default)
15147//   "NAME"
15148func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
15149	c.urlParams_.Set("sortField", sortField)
15150	return c
15151}
15152
15153// SortOrder sets the optional parameter "sortOrder": Order of sorted
15154// results.
15155//
15156// Possible values:
15157//   "ASCENDING" (default)
15158//   "DESCENDING"
15159func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
15160	c.urlParams_.Set("sortOrder", sortOrder)
15161	return c
15162}
15163
15164// SubaccountId sets the optional parameter "subaccountId": Select only
15165// user profiles with the specified subaccount ID.
15166func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
15167	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
15168	return c
15169}
15170
15171// UserRoleId sets the optional parameter "userRoleId": Select only user
15172// profiles with the specified user role ID.
15173func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
15174	c.urlParams_.Set("userRoleId", fmt.Sprint(userRoleId))
15175	return c
15176}
15177
15178// Fields allows partial responses to be retrieved. See
15179// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15180// for more information.
15181func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
15182	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15183	return c
15184}
15185
15186// IfNoneMatch sets the optional parameter which makes the operation
15187// fail if the object's ETag matches the given value. This is useful for
15188// getting updates only after the object has changed since the last
15189// request. Use googleapi.IsNotModified to check whether the response
15190// error from Do is the result of In-None-Match.
15191func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
15192	c.ifNoneMatch_ = entityTag
15193	return c
15194}
15195
15196// Context sets the context to be used in this call's Do method. Any
15197// pending HTTP request will be aborted if the provided context is
15198// canceled.
15199func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
15200	c.ctx_ = ctx
15201	return c
15202}
15203
15204// Header returns an http.Header that can be modified by the caller to
15205// add HTTP headers to the request.
15206func (c *AccountUserProfilesListCall) Header() http.Header {
15207	if c.header_ == nil {
15208		c.header_ = make(http.Header)
15209	}
15210	return c.header_
15211}
15212
15213func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
15214	reqHeaders := make(http.Header)
15215	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
15216	for k, v := range c.header_ {
15217		reqHeaders[k] = v
15218	}
15219	reqHeaders.Set("User-Agent", c.s.userAgent())
15220	if c.ifNoneMatch_ != "" {
15221		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15222	}
15223	var body io.Reader = nil
15224	c.urlParams_.Set("alt", alt)
15225	c.urlParams_.Set("prettyPrint", "false")
15226	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15227	urls += "?" + c.urlParams_.Encode()
15228	req, err := http.NewRequest("GET", urls, body)
15229	if err != nil {
15230		return nil, err
15231	}
15232	req.Header = reqHeaders
15233	googleapi.Expand(req.URL, map[string]string{
15234		"profileId": strconv.FormatInt(c.profileId, 10),
15235	})
15236	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15237}
15238
15239// Do executes the "dfareporting.accountUserProfiles.list" call.
15240// Exactly one of *AccountUserProfilesListResponse or error will be
15241// non-nil. Any non-2xx status code is an error. Response headers are in
15242// either *AccountUserProfilesListResponse.ServerResponse.Header or (if
15243// a response was returned at all) in error.(*googleapi.Error).Header.
15244// Use googleapi.IsNotModified to check whether the returned error was
15245// because http.StatusNotModified was returned.
15246func (c *AccountUserProfilesListCall) Do(opts ...googleapi.CallOption) (*AccountUserProfilesListResponse, error) {
15247	gensupport.SetOptions(c.urlParams_, opts...)
15248	res, err := c.doRequest("json")
15249	if res != nil && res.StatusCode == http.StatusNotModified {
15250		if res.Body != nil {
15251			res.Body.Close()
15252		}
15253		return nil, &googleapi.Error{
15254			Code:   res.StatusCode,
15255			Header: res.Header,
15256		}
15257	}
15258	if err != nil {
15259		return nil, err
15260	}
15261	defer googleapi.CloseBody(res)
15262	if err := googleapi.CheckResponse(res); err != nil {
15263		return nil, err
15264	}
15265	ret := &AccountUserProfilesListResponse{
15266		ServerResponse: googleapi.ServerResponse{
15267			Header:         res.Header,
15268			HTTPStatusCode: res.StatusCode,
15269		},
15270	}
15271	target := &ret
15272	if err := gensupport.DecodeResponse(target, res); err != nil {
15273		return nil, err
15274	}
15275	return ret, nil
15276	// {
15277	//   "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
15278	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15279	//   "httpMethod": "GET",
15280	//   "id": "dfareporting.accountUserProfiles.list",
15281	//   "parameterOrder": [
15282	//     "profileId"
15283	//   ],
15284	//   "parameters": {
15285	//     "active": {
15286	//       "description": "Select only active user profiles.",
15287	//       "location": "query",
15288	//       "type": "boolean"
15289	//     },
15290	//     "ids": {
15291	//       "description": "Select only user profiles with these IDs.",
15292	//       "format": "int64",
15293	//       "location": "query",
15294	//       "repeated": true,
15295	//       "type": "string"
15296	//     },
15297	//     "maxResults": {
15298	//       "default": "1000",
15299	//       "description": "Maximum number of results to return.",
15300	//       "format": "int32",
15301	//       "location": "query",
15302	//       "maximum": "1000",
15303	//       "minimum": "0",
15304	//       "type": "integer"
15305	//     },
15306	//     "pageToken": {
15307	//       "description": "Value of the nextPageToken from the previous result page.",
15308	//       "location": "query",
15309	//       "type": "string"
15310	//     },
15311	//     "profileId": {
15312	//       "description": "User profile ID associated with this request.",
15313	//       "format": "int64",
15314	//       "location": "path",
15315	//       "required": true,
15316	//       "type": "string"
15317	//     },
15318	//     "searchString": {
15319	//       "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\".",
15320	//       "location": "query",
15321	//       "type": "string"
15322	//     },
15323	//     "sortField": {
15324	//       "default": "ID",
15325	//       "description": "Field by which to sort the list.",
15326	//       "enum": [
15327	//         "ID",
15328	//         "NAME"
15329	//       ],
15330	//       "enumDescriptions": [
15331	//         "",
15332	//         ""
15333	//       ],
15334	//       "location": "query",
15335	//       "type": "string"
15336	//     },
15337	//     "sortOrder": {
15338	//       "default": "ASCENDING",
15339	//       "description": "Order of sorted results.",
15340	//       "enum": [
15341	//         "ASCENDING",
15342	//         "DESCENDING"
15343	//       ],
15344	//       "enumDescriptions": [
15345	//         "",
15346	//         ""
15347	//       ],
15348	//       "location": "query",
15349	//       "type": "string"
15350	//     },
15351	//     "subaccountId": {
15352	//       "description": "Select only user profiles with the specified subaccount ID.",
15353	//       "format": "int64",
15354	//       "location": "query",
15355	//       "type": "string"
15356	//     },
15357	//     "userRoleId": {
15358	//       "description": "Select only user profiles with the specified user role ID.",
15359	//       "format": "int64",
15360	//       "location": "query",
15361	//       "type": "string"
15362	//     }
15363	//   },
15364	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15365	//   "response": {
15366	//     "$ref": "AccountUserProfilesListResponse"
15367	//   },
15368	//   "scopes": [
15369	//     "https://www.googleapis.com/auth/dfatrafficking"
15370	//   ]
15371	// }
15372
15373}
15374
15375// Pages invokes f for each page of results.
15376// A non-nil error returned from f will halt the iteration.
15377// The provided context supersedes any context provided to the Context method.
15378func (c *AccountUserProfilesListCall) Pages(ctx context.Context, f func(*AccountUserProfilesListResponse) error) error {
15379	c.ctx_ = ctx
15380	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15381	for {
15382		x, err := c.Do()
15383		if err != nil {
15384			return err
15385		}
15386		if err := f(x); err != nil {
15387			return err
15388		}
15389		if x.NextPageToken == "" {
15390			return nil
15391		}
15392		c.PageToken(x.NextPageToken)
15393	}
15394}
15395
15396// method id "dfareporting.accountUserProfiles.patch":
15397
15398type AccountUserProfilesPatchCall struct {
15399	s                  *Service
15400	profileId          int64
15401	accountuserprofile *AccountUserProfile
15402	urlParams_         gensupport.URLParams
15403	ctx_               context.Context
15404	header_            http.Header
15405}
15406
15407// Patch: Updates an existing account user profile. This method supports
15408// patch semantics.
15409func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
15410	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15411	c.profileId = profileId
15412	c.urlParams_.Set("id", fmt.Sprint(id))
15413	c.accountuserprofile = accountuserprofile
15414	return c
15415}
15416
15417// Fields allows partial responses to be retrieved. See
15418// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15419// for more information.
15420func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
15421	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15422	return c
15423}
15424
15425// Context sets the context to be used in this call's Do method. Any
15426// pending HTTP request will be aborted if the provided context is
15427// canceled.
15428func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
15429	c.ctx_ = ctx
15430	return c
15431}
15432
15433// Header returns an http.Header that can be modified by the caller to
15434// add HTTP headers to the request.
15435func (c *AccountUserProfilesPatchCall) Header() http.Header {
15436	if c.header_ == nil {
15437		c.header_ = make(http.Header)
15438	}
15439	return c.header_
15440}
15441
15442func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
15443	reqHeaders := make(http.Header)
15444	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
15445	for k, v := range c.header_ {
15446		reqHeaders[k] = v
15447	}
15448	reqHeaders.Set("User-Agent", c.s.userAgent())
15449	var body io.Reader = nil
15450	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15451	if err != nil {
15452		return nil, err
15453	}
15454	reqHeaders.Set("Content-Type", "application/json")
15455	c.urlParams_.Set("alt", alt)
15456	c.urlParams_.Set("prettyPrint", "false")
15457	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15458	urls += "?" + c.urlParams_.Encode()
15459	req, err := http.NewRequest("PATCH", urls, body)
15460	if err != nil {
15461		return nil, err
15462	}
15463	req.Header = reqHeaders
15464	googleapi.Expand(req.URL, map[string]string{
15465		"profileId": strconv.FormatInt(c.profileId, 10),
15466	})
15467	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15468}
15469
15470// Do executes the "dfareporting.accountUserProfiles.patch" call.
15471// Exactly one of *AccountUserProfile or error will be non-nil. Any
15472// non-2xx status code is an error. Response headers are in either
15473// *AccountUserProfile.ServerResponse.Header or (if a response was
15474// returned at all) in error.(*googleapi.Error).Header. Use
15475// googleapi.IsNotModified to check whether the returned error was
15476// because http.StatusNotModified was returned.
15477func (c *AccountUserProfilesPatchCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15478	gensupport.SetOptions(c.urlParams_, opts...)
15479	res, err := c.doRequest("json")
15480	if res != nil && res.StatusCode == http.StatusNotModified {
15481		if res.Body != nil {
15482			res.Body.Close()
15483		}
15484		return nil, &googleapi.Error{
15485			Code:   res.StatusCode,
15486			Header: res.Header,
15487		}
15488	}
15489	if err != nil {
15490		return nil, err
15491	}
15492	defer googleapi.CloseBody(res)
15493	if err := googleapi.CheckResponse(res); err != nil {
15494		return nil, err
15495	}
15496	ret := &AccountUserProfile{
15497		ServerResponse: googleapi.ServerResponse{
15498			Header:         res.Header,
15499			HTTPStatusCode: res.StatusCode,
15500		},
15501	}
15502	target := &ret
15503	if err := gensupport.DecodeResponse(target, res); err != nil {
15504		return nil, err
15505	}
15506	return ret, nil
15507	// {
15508	//   "description": "Updates an existing account user profile. This method supports patch semantics.",
15509	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15510	//   "httpMethod": "PATCH",
15511	//   "id": "dfareporting.accountUserProfiles.patch",
15512	//   "parameterOrder": [
15513	//     "profileId",
15514	//     "id"
15515	//   ],
15516	//   "parameters": {
15517	//     "id": {
15518	//       "description": "AccountUserProfile ID.",
15519	//       "format": "int64",
15520	//       "location": "query",
15521	//       "required": true,
15522	//       "type": "string"
15523	//     },
15524	//     "profileId": {
15525	//       "description": "User profile ID associated with this request.",
15526	//       "format": "int64",
15527	//       "location": "path",
15528	//       "required": true,
15529	//       "type": "string"
15530	//     }
15531	//   },
15532	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15533	//   "request": {
15534	//     "$ref": "AccountUserProfile"
15535	//   },
15536	//   "response": {
15537	//     "$ref": "AccountUserProfile"
15538	//   },
15539	//   "scopes": [
15540	//     "https://www.googleapis.com/auth/dfatrafficking"
15541	//   ]
15542	// }
15543
15544}
15545
15546// method id "dfareporting.accountUserProfiles.update":
15547
15548type AccountUserProfilesUpdateCall struct {
15549	s                  *Service
15550	profileId          int64
15551	accountuserprofile *AccountUserProfile
15552	urlParams_         gensupport.URLParams
15553	ctx_               context.Context
15554	header_            http.Header
15555}
15556
15557// Update: Updates an existing account user profile.
15558func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
15559	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15560	c.profileId = profileId
15561	c.accountuserprofile = accountuserprofile
15562	return c
15563}
15564
15565// Fields allows partial responses to be retrieved. See
15566// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15567// for more information.
15568func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
15569	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15570	return c
15571}
15572
15573// Context sets the context to be used in this call's Do method. Any
15574// pending HTTP request will be aborted if the provided context is
15575// canceled.
15576func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
15577	c.ctx_ = ctx
15578	return c
15579}
15580
15581// Header returns an http.Header that can be modified by the caller to
15582// add HTTP headers to the request.
15583func (c *AccountUserProfilesUpdateCall) Header() http.Header {
15584	if c.header_ == nil {
15585		c.header_ = make(http.Header)
15586	}
15587	return c.header_
15588}
15589
15590func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
15591	reqHeaders := make(http.Header)
15592	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
15593	for k, v := range c.header_ {
15594		reqHeaders[k] = v
15595	}
15596	reqHeaders.Set("User-Agent", c.s.userAgent())
15597	var body io.Reader = nil
15598	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15599	if err != nil {
15600		return nil, err
15601	}
15602	reqHeaders.Set("Content-Type", "application/json")
15603	c.urlParams_.Set("alt", alt)
15604	c.urlParams_.Set("prettyPrint", "false")
15605	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15606	urls += "?" + c.urlParams_.Encode()
15607	req, err := http.NewRequest("PUT", urls, body)
15608	if err != nil {
15609		return nil, err
15610	}
15611	req.Header = reqHeaders
15612	googleapi.Expand(req.URL, map[string]string{
15613		"profileId": strconv.FormatInt(c.profileId, 10),
15614	})
15615	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15616}
15617
15618// Do executes the "dfareporting.accountUserProfiles.update" call.
15619// Exactly one of *AccountUserProfile or error will be non-nil. Any
15620// non-2xx status code is an error. Response headers are in either
15621// *AccountUserProfile.ServerResponse.Header or (if a response was
15622// returned at all) in error.(*googleapi.Error).Header. Use
15623// googleapi.IsNotModified to check whether the returned error was
15624// because http.StatusNotModified was returned.
15625func (c *AccountUserProfilesUpdateCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15626	gensupport.SetOptions(c.urlParams_, opts...)
15627	res, err := c.doRequest("json")
15628	if res != nil && res.StatusCode == http.StatusNotModified {
15629		if res.Body != nil {
15630			res.Body.Close()
15631		}
15632		return nil, &googleapi.Error{
15633			Code:   res.StatusCode,
15634			Header: res.Header,
15635		}
15636	}
15637	if err != nil {
15638		return nil, err
15639	}
15640	defer googleapi.CloseBody(res)
15641	if err := googleapi.CheckResponse(res); err != nil {
15642		return nil, err
15643	}
15644	ret := &AccountUserProfile{
15645		ServerResponse: googleapi.ServerResponse{
15646			Header:         res.Header,
15647			HTTPStatusCode: res.StatusCode,
15648		},
15649	}
15650	target := &ret
15651	if err := gensupport.DecodeResponse(target, res); err != nil {
15652		return nil, err
15653	}
15654	return ret, nil
15655	// {
15656	//   "description": "Updates an existing account user profile.",
15657	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15658	//   "httpMethod": "PUT",
15659	//   "id": "dfareporting.accountUserProfiles.update",
15660	//   "parameterOrder": [
15661	//     "profileId"
15662	//   ],
15663	//   "parameters": {
15664	//     "profileId": {
15665	//       "description": "User profile ID associated with this request.",
15666	//       "format": "int64",
15667	//       "location": "path",
15668	//       "required": true,
15669	//       "type": "string"
15670	//     }
15671	//   },
15672	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15673	//   "request": {
15674	//     "$ref": "AccountUserProfile"
15675	//   },
15676	//   "response": {
15677	//     "$ref": "AccountUserProfile"
15678	//   },
15679	//   "scopes": [
15680	//     "https://www.googleapis.com/auth/dfatrafficking"
15681	//   ]
15682	// }
15683
15684}
15685
15686// method id "dfareporting.accounts.get":
15687
15688type AccountsGetCall struct {
15689	s            *Service
15690	profileId    int64
15691	id           int64
15692	urlParams_   gensupport.URLParams
15693	ifNoneMatch_ string
15694	ctx_         context.Context
15695	header_      http.Header
15696}
15697
15698// Get: Gets one account by ID.
15699func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
15700	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15701	c.profileId = profileId
15702	c.id = id
15703	return c
15704}
15705
15706// Fields allows partial responses to be retrieved. See
15707// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15708// for more information.
15709func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
15710	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15711	return c
15712}
15713
15714// IfNoneMatch sets the optional parameter which makes the operation
15715// fail if the object's ETag matches the given value. This is useful for
15716// getting updates only after the object has changed since the last
15717// request. Use googleapi.IsNotModified to check whether the response
15718// error from Do is the result of In-None-Match.
15719func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
15720	c.ifNoneMatch_ = entityTag
15721	return c
15722}
15723
15724// Context sets the context to be used in this call's Do method. Any
15725// pending HTTP request will be aborted if the provided context is
15726// canceled.
15727func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
15728	c.ctx_ = ctx
15729	return c
15730}
15731
15732// Header returns an http.Header that can be modified by the caller to
15733// add HTTP headers to the request.
15734func (c *AccountsGetCall) Header() http.Header {
15735	if c.header_ == nil {
15736		c.header_ = make(http.Header)
15737	}
15738	return c.header_
15739}
15740
15741func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
15742	reqHeaders := make(http.Header)
15743	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
15744	for k, v := range c.header_ {
15745		reqHeaders[k] = v
15746	}
15747	reqHeaders.Set("User-Agent", c.s.userAgent())
15748	if c.ifNoneMatch_ != "" {
15749		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15750	}
15751	var body io.Reader = nil
15752	c.urlParams_.Set("alt", alt)
15753	c.urlParams_.Set("prettyPrint", "false")
15754	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
15755	urls += "?" + c.urlParams_.Encode()
15756	req, err := http.NewRequest("GET", urls, body)
15757	if err != nil {
15758		return nil, err
15759	}
15760	req.Header = reqHeaders
15761	googleapi.Expand(req.URL, map[string]string{
15762		"profileId": strconv.FormatInt(c.profileId, 10),
15763		"id":        strconv.FormatInt(c.id, 10),
15764	})
15765	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15766}
15767
15768// Do executes the "dfareporting.accounts.get" call.
15769// Exactly one of *Account or error will be non-nil. Any non-2xx status
15770// code is an error. Response headers are in either
15771// *Account.ServerResponse.Header or (if a response was returned at all)
15772// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15773// check whether the returned error was because http.StatusNotModified
15774// was returned.
15775func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
15776	gensupport.SetOptions(c.urlParams_, opts...)
15777	res, err := c.doRequest("json")
15778	if res != nil && res.StatusCode == http.StatusNotModified {
15779		if res.Body != nil {
15780			res.Body.Close()
15781		}
15782		return nil, &googleapi.Error{
15783			Code:   res.StatusCode,
15784			Header: res.Header,
15785		}
15786	}
15787	if err != nil {
15788		return nil, err
15789	}
15790	defer googleapi.CloseBody(res)
15791	if err := googleapi.CheckResponse(res); err != nil {
15792		return nil, err
15793	}
15794	ret := &Account{
15795		ServerResponse: googleapi.ServerResponse{
15796			Header:         res.Header,
15797			HTTPStatusCode: res.StatusCode,
15798		},
15799	}
15800	target := &ret
15801	if err := gensupport.DecodeResponse(target, res); err != nil {
15802		return nil, err
15803	}
15804	return ret, nil
15805	// {
15806	//   "description": "Gets one account by ID.",
15807	//   "flatPath": "userprofiles/{profileId}/accounts/{id}",
15808	//   "httpMethod": "GET",
15809	//   "id": "dfareporting.accounts.get",
15810	//   "parameterOrder": [
15811	//     "profileId",
15812	//     "id"
15813	//   ],
15814	//   "parameters": {
15815	//     "id": {
15816	//       "description": "Account ID.",
15817	//       "format": "int64",
15818	//       "location": "path",
15819	//       "required": true,
15820	//       "type": "string"
15821	//     },
15822	//     "profileId": {
15823	//       "description": "User profile ID associated with this request.",
15824	//       "format": "int64",
15825	//       "location": "path",
15826	//       "required": true,
15827	//       "type": "string"
15828	//     }
15829	//   },
15830	//   "path": "userprofiles/{profileId}/accounts/{id}",
15831	//   "response": {
15832	//     "$ref": "Account"
15833	//   },
15834	//   "scopes": [
15835	//     "https://www.googleapis.com/auth/dfatrafficking"
15836	//   ]
15837	// }
15838
15839}
15840
15841// method id "dfareporting.accounts.list":
15842
15843type AccountsListCall struct {
15844	s            *Service
15845	profileId    int64
15846	urlParams_   gensupport.URLParams
15847	ifNoneMatch_ string
15848	ctx_         context.Context
15849	header_      http.Header
15850}
15851
15852// List: Retrieves the list of accounts, possibly filtered. This method
15853// supports paging.
15854func (r *AccountsService) List(profileId int64) *AccountsListCall {
15855	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15856	c.profileId = profileId
15857	return c
15858}
15859
15860// Active sets the optional parameter "active": Select only active
15861// accounts. Don't set this field to select both active and non-active
15862// accounts.
15863func (c *AccountsListCall) Active(active bool) *AccountsListCall {
15864	c.urlParams_.Set("active", fmt.Sprint(active))
15865	return c
15866}
15867
15868// Ids sets the optional parameter "ids": Select only accounts with
15869// these IDs.
15870func (c *AccountsListCall) Ids(ids ...int64) *AccountsListCall {
15871	var ids_ []string
15872	for _, v := range ids {
15873		ids_ = append(ids_, fmt.Sprint(v))
15874	}
15875	c.urlParams_.SetMulti("ids", ids_)
15876	return c
15877}
15878
15879// MaxResults sets the optional parameter "maxResults": Maximum number
15880// of results to return.
15881func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
15882	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
15883	return c
15884}
15885
15886// PageToken sets the optional parameter "pageToken": Value of the
15887// nextPageToken from the previous result page.
15888func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
15889	c.urlParams_.Set("pageToken", pageToken)
15890	return c
15891}
15892
15893// SearchString sets the optional parameter "searchString": Allows
15894// searching for objects by name or ID. Wildcards (*) are allowed. For
15895// example, "account*2015" will return objects with names like "account
15896// June 2015", "account April 2015", or simply "account 2015". Most of
15897// the searches also add wildcards implicitly at the start and the end
15898// of the search string. For example, a search string of "account" will
15899// match objects with name "my account", "account 2015", or simply
15900// "account".
15901func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
15902	c.urlParams_.Set("searchString", searchString)
15903	return c
15904}
15905
15906// SortField sets the optional parameter "sortField": Field by which to
15907// sort the list.
15908//
15909// Possible values:
15910//   "ID" (default)
15911//   "NAME"
15912func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
15913	c.urlParams_.Set("sortField", sortField)
15914	return c
15915}
15916
15917// SortOrder sets the optional parameter "sortOrder": Order of sorted
15918// results.
15919//
15920// Possible values:
15921//   "ASCENDING" (default)
15922//   "DESCENDING"
15923func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
15924	c.urlParams_.Set("sortOrder", sortOrder)
15925	return c
15926}
15927
15928// Fields allows partial responses to be retrieved. See
15929// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15930// for more information.
15931func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
15932	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15933	return c
15934}
15935
15936// IfNoneMatch sets the optional parameter which makes the operation
15937// fail if the object's ETag matches the given value. This is useful for
15938// getting updates only after the object has changed since the last
15939// request. Use googleapi.IsNotModified to check whether the response
15940// error from Do is the result of In-None-Match.
15941func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
15942	c.ifNoneMatch_ = entityTag
15943	return c
15944}
15945
15946// Context sets the context to be used in this call's Do method. Any
15947// pending HTTP request will be aborted if the provided context is
15948// canceled.
15949func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
15950	c.ctx_ = ctx
15951	return c
15952}
15953
15954// Header returns an http.Header that can be modified by the caller to
15955// add HTTP headers to the request.
15956func (c *AccountsListCall) Header() http.Header {
15957	if c.header_ == nil {
15958		c.header_ = make(http.Header)
15959	}
15960	return c.header_
15961}
15962
15963func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
15964	reqHeaders := make(http.Header)
15965	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
15966	for k, v := range c.header_ {
15967		reqHeaders[k] = v
15968	}
15969	reqHeaders.Set("User-Agent", c.s.userAgent())
15970	if c.ifNoneMatch_ != "" {
15971		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15972	}
15973	var body io.Reader = nil
15974	c.urlParams_.Set("alt", alt)
15975	c.urlParams_.Set("prettyPrint", "false")
15976	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
15977	urls += "?" + c.urlParams_.Encode()
15978	req, err := http.NewRequest("GET", urls, body)
15979	if err != nil {
15980		return nil, err
15981	}
15982	req.Header = reqHeaders
15983	googleapi.Expand(req.URL, map[string]string{
15984		"profileId": strconv.FormatInt(c.profileId, 10),
15985	})
15986	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15987}
15988
15989// Do executes the "dfareporting.accounts.list" call.
15990// Exactly one of *AccountsListResponse or error will be non-nil. Any
15991// non-2xx status code is an error. Response headers are in either
15992// *AccountsListResponse.ServerResponse.Header or (if a response was
15993// returned at all) in error.(*googleapi.Error).Header. Use
15994// googleapi.IsNotModified to check whether the returned error was
15995// because http.StatusNotModified was returned.
15996func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsListResponse, error) {
15997	gensupport.SetOptions(c.urlParams_, opts...)
15998	res, err := c.doRequest("json")
15999	if res != nil && res.StatusCode == http.StatusNotModified {
16000		if res.Body != nil {
16001			res.Body.Close()
16002		}
16003		return nil, &googleapi.Error{
16004			Code:   res.StatusCode,
16005			Header: res.Header,
16006		}
16007	}
16008	if err != nil {
16009		return nil, err
16010	}
16011	defer googleapi.CloseBody(res)
16012	if err := googleapi.CheckResponse(res); err != nil {
16013		return nil, err
16014	}
16015	ret := &AccountsListResponse{
16016		ServerResponse: googleapi.ServerResponse{
16017			Header:         res.Header,
16018			HTTPStatusCode: res.StatusCode,
16019		},
16020	}
16021	target := &ret
16022	if err := gensupport.DecodeResponse(target, res); err != nil {
16023		return nil, err
16024	}
16025	return ret, nil
16026	// {
16027	//   "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
16028	//   "flatPath": "userprofiles/{profileId}/accounts",
16029	//   "httpMethod": "GET",
16030	//   "id": "dfareporting.accounts.list",
16031	//   "parameterOrder": [
16032	//     "profileId"
16033	//   ],
16034	//   "parameters": {
16035	//     "active": {
16036	//       "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.",
16037	//       "location": "query",
16038	//       "type": "boolean"
16039	//     },
16040	//     "ids": {
16041	//       "description": "Select only accounts with these IDs.",
16042	//       "format": "int64",
16043	//       "location": "query",
16044	//       "repeated": true,
16045	//       "type": "string"
16046	//     },
16047	//     "maxResults": {
16048	//       "default": "1000",
16049	//       "description": "Maximum number of results to return.",
16050	//       "format": "int32",
16051	//       "location": "query",
16052	//       "maximum": "1000",
16053	//       "minimum": "0",
16054	//       "type": "integer"
16055	//     },
16056	//     "pageToken": {
16057	//       "description": "Value of the nextPageToken from the previous result page.",
16058	//       "location": "query",
16059	//       "type": "string"
16060	//     },
16061	//     "profileId": {
16062	//       "description": "User profile ID associated with this request.",
16063	//       "format": "int64",
16064	//       "location": "path",
16065	//       "required": true,
16066	//       "type": "string"
16067	//     },
16068	//     "searchString": {
16069	//       "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\".",
16070	//       "location": "query",
16071	//       "type": "string"
16072	//     },
16073	//     "sortField": {
16074	//       "default": "ID",
16075	//       "description": "Field by which to sort the list.",
16076	//       "enum": [
16077	//         "ID",
16078	//         "NAME"
16079	//       ],
16080	//       "enumDescriptions": [
16081	//         "",
16082	//         ""
16083	//       ],
16084	//       "location": "query",
16085	//       "type": "string"
16086	//     },
16087	//     "sortOrder": {
16088	//       "default": "ASCENDING",
16089	//       "description": "Order of sorted results.",
16090	//       "enum": [
16091	//         "ASCENDING",
16092	//         "DESCENDING"
16093	//       ],
16094	//       "enumDescriptions": [
16095	//         "",
16096	//         ""
16097	//       ],
16098	//       "location": "query",
16099	//       "type": "string"
16100	//     }
16101	//   },
16102	//   "path": "userprofiles/{profileId}/accounts",
16103	//   "response": {
16104	//     "$ref": "AccountsListResponse"
16105	//   },
16106	//   "scopes": [
16107	//     "https://www.googleapis.com/auth/dfatrafficking"
16108	//   ]
16109	// }
16110
16111}
16112
16113// Pages invokes f for each page of results.
16114// A non-nil error returned from f will halt the iteration.
16115// The provided context supersedes any context provided to the Context method.
16116func (c *AccountsListCall) Pages(ctx context.Context, f func(*AccountsListResponse) error) error {
16117	c.ctx_ = ctx
16118	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16119	for {
16120		x, err := c.Do()
16121		if err != nil {
16122			return err
16123		}
16124		if err := f(x); err != nil {
16125			return err
16126		}
16127		if x.NextPageToken == "" {
16128			return nil
16129		}
16130		c.PageToken(x.NextPageToken)
16131	}
16132}
16133
16134// method id "dfareporting.accounts.patch":
16135
16136type AccountsPatchCall struct {
16137	s          *Service
16138	profileId  int64
16139	account    *Account
16140	urlParams_ gensupport.URLParams
16141	ctx_       context.Context
16142	header_    http.Header
16143}
16144
16145// Patch: Updates an existing account. This method supports patch
16146// semantics.
16147func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
16148	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16149	c.profileId = profileId
16150	c.urlParams_.Set("id", fmt.Sprint(id))
16151	c.account = account
16152	return c
16153}
16154
16155// Fields allows partial responses to be retrieved. See
16156// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16157// for more information.
16158func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
16159	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16160	return c
16161}
16162
16163// Context sets the context to be used in this call's Do method. Any
16164// pending HTTP request will be aborted if the provided context is
16165// canceled.
16166func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
16167	c.ctx_ = ctx
16168	return c
16169}
16170
16171// Header returns an http.Header that can be modified by the caller to
16172// add HTTP headers to the request.
16173func (c *AccountsPatchCall) Header() http.Header {
16174	if c.header_ == nil {
16175		c.header_ = make(http.Header)
16176	}
16177	return c.header_
16178}
16179
16180func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
16181	reqHeaders := make(http.Header)
16182	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
16183	for k, v := range c.header_ {
16184		reqHeaders[k] = v
16185	}
16186	reqHeaders.Set("User-Agent", c.s.userAgent())
16187	var body io.Reader = nil
16188	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
16189	if err != nil {
16190		return nil, err
16191	}
16192	reqHeaders.Set("Content-Type", "application/json")
16193	c.urlParams_.Set("alt", alt)
16194	c.urlParams_.Set("prettyPrint", "false")
16195	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16196	urls += "?" + c.urlParams_.Encode()
16197	req, err := http.NewRequest("PATCH", urls, body)
16198	if err != nil {
16199		return nil, err
16200	}
16201	req.Header = reqHeaders
16202	googleapi.Expand(req.URL, map[string]string{
16203		"profileId": strconv.FormatInt(c.profileId, 10),
16204	})
16205	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16206}
16207
16208// Do executes the "dfareporting.accounts.patch" call.
16209// Exactly one of *Account or error will be non-nil. Any non-2xx status
16210// code is an error. Response headers are in either
16211// *Account.ServerResponse.Header or (if a response was returned at all)
16212// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16213// check whether the returned error was because http.StatusNotModified
16214// was returned.
16215func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) {
16216	gensupport.SetOptions(c.urlParams_, opts...)
16217	res, err := c.doRequest("json")
16218	if res != nil && res.StatusCode == http.StatusNotModified {
16219		if res.Body != nil {
16220			res.Body.Close()
16221		}
16222		return nil, &googleapi.Error{
16223			Code:   res.StatusCode,
16224			Header: res.Header,
16225		}
16226	}
16227	if err != nil {
16228		return nil, err
16229	}
16230	defer googleapi.CloseBody(res)
16231	if err := googleapi.CheckResponse(res); err != nil {
16232		return nil, err
16233	}
16234	ret := &Account{
16235		ServerResponse: googleapi.ServerResponse{
16236			Header:         res.Header,
16237			HTTPStatusCode: res.StatusCode,
16238		},
16239	}
16240	target := &ret
16241	if err := gensupport.DecodeResponse(target, res); err != nil {
16242		return nil, err
16243	}
16244	return ret, nil
16245	// {
16246	//   "description": "Updates an existing account. This method supports patch semantics.",
16247	//   "flatPath": "userprofiles/{profileId}/accounts",
16248	//   "httpMethod": "PATCH",
16249	//   "id": "dfareporting.accounts.patch",
16250	//   "parameterOrder": [
16251	//     "profileId",
16252	//     "id"
16253	//   ],
16254	//   "parameters": {
16255	//     "id": {
16256	//       "description": "Account ID.",
16257	//       "format": "int64",
16258	//       "location": "query",
16259	//       "required": true,
16260	//       "type": "string"
16261	//     },
16262	//     "profileId": {
16263	//       "description": "User profile ID associated with this request.",
16264	//       "format": "int64",
16265	//       "location": "path",
16266	//       "required": true,
16267	//       "type": "string"
16268	//     }
16269	//   },
16270	//   "path": "userprofiles/{profileId}/accounts",
16271	//   "request": {
16272	//     "$ref": "Account"
16273	//   },
16274	//   "response": {
16275	//     "$ref": "Account"
16276	//   },
16277	//   "scopes": [
16278	//     "https://www.googleapis.com/auth/dfatrafficking"
16279	//   ]
16280	// }
16281
16282}
16283
16284// method id "dfareporting.accounts.update":
16285
16286type AccountsUpdateCall struct {
16287	s          *Service
16288	profileId  int64
16289	account    *Account
16290	urlParams_ gensupport.URLParams
16291	ctx_       context.Context
16292	header_    http.Header
16293}
16294
16295// Update: Updates an existing account.
16296func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
16297	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16298	c.profileId = profileId
16299	c.account = account
16300	return c
16301}
16302
16303// Fields allows partial responses to be retrieved. See
16304// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16305// for more information.
16306func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
16307	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16308	return c
16309}
16310
16311// Context sets the context to be used in this call's Do method. Any
16312// pending HTTP request will be aborted if the provided context is
16313// canceled.
16314func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
16315	c.ctx_ = ctx
16316	return c
16317}
16318
16319// Header returns an http.Header that can be modified by the caller to
16320// add HTTP headers to the request.
16321func (c *AccountsUpdateCall) Header() http.Header {
16322	if c.header_ == nil {
16323		c.header_ = make(http.Header)
16324	}
16325	return c.header_
16326}
16327
16328func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
16329	reqHeaders := make(http.Header)
16330	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
16331	for k, v := range c.header_ {
16332		reqHeaders[k] = v
16333	}
16334	reqHeaders.Set("User-Agent", c.s.userAgent())
16335	var body io.Reader = nil
16336	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
16337	if err != nil {
16338		return nil, err
16339	}
16340	reqHeaders.Set("Content-Type", "application/json")
16341	c.urlParams_.Set("alt", alt)
16342	c.urlParams_.Set("prettyPrint", "false")
16343	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16344	urls += "?" + c.urlParams_.Encode()
16345	req, err := http.NewRequest("PUT", urls, body)
16346	if err != nil {
16347		return nil, err
16348	}
16349	req.Header = reqHeaders
16350	googleapi.Expand(req.URL, map[string]string{
16351		"profileId": strconv.FormatInt(c.profileId, 10),
16352	})
16353	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16354}
16355
16356// Do executes the "dfareporting.accounts.update" call.
16357// Exactly one of *Account or error will be non-nil. Any non-2xx status
16358// code is an error. Response headers are in either
16359// *Account.ServerResponse.Header or (if a response was returned at all)
16360// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16361// check whether the returned error was because http.StatusNotModified
16362// was returned.
16363func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
16364	gensupport.SetOptions(c.urlParams_, opts...)
16365	res, err := c.doRequest("json")
16366	if res != nil && res.StatusCode == http.StatusNotModified {
16367		if res.Body != nil {
16368			res.Body.Close()
16369		}
16370		return nil, &googleapi.Error{
16371			Code:   res.StatusCode,
16372			Header: res.Header,
16373		}
16374	}
16375	if err != nil {
16376		return nil, err
16377	}
16378	defer googleapi.CloseBody(res)
16379	if err := googleapi.CheckResponse(res); err != nil {
16380		return nil, err
16381	}
16382	ret := &Account{
16383		ServerResponse: googleapi.ServerResponse{
16384			Header:         res.Header,
16385			HTTPStatusCode: res.StatusCode,
16386		},
16387	}
16388	target := &ret
16389	if err := gensupport.DecodeResponse(target, res); err != nil {
16390		return nil, err
16391	}
16392	return ret, nil
16393	// {
16394	//   "description": "Updates an existing account.",
16395	//   "flatPath": "userprofiles/{profileId}/accounts",
16396	//   "httpMethod": "PUT",
16397	//   "id": "dfareporting.accounts.update",
16398	//   "parameterOrder": [
16399	//     "profileId"
16400	//   ],
16401	//   "parameters": {
16402	//     "profileId": {
16403	//       "description": "User profile ID associated with this request.",
16404	//       "format": "int64",
16405	//       "location": "path",
16406	//       "required": true,
16407	//       "type": "string"
16408	//     }
16409	//   },
16410	//   "path": "userprofiles/{profileId}/accounts",
16411	//   "request": {
16412	//     "$ref": "Account"
16413	//   },
16414	//   "response": {
16415	//     "$ref": "Account"
16416	//   },
16417	//   "scopes": [
16418	//     "https://www.googleapis.com/auth/dfatrafficking"
16419	//   ]
16420	// }
16421
16422}
16423
16424// method id "dfareporting.ads.get":
16425
16426type AdsGetCall struct {
16427	s            *Service
16428	profileId    int64
16429	id           int64
16430	urlParams_   gensupport.URLParams
16431	ifNoneMatch_ string
16432	ctx_         context.Context
16433	header_      http.Header
16434}
16435
16436// Get: Gets one ad by ID.
16437func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
16438	c := &AdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16439	c.profileId = profileId
16440	c.id = id
16441	return c
16442}
16443
16444// Fields allows partial responses to be retrieved. See
16445// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16446// for more information.
16447func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
16448	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16449	return c
16450}
16451
16452// IfNoneMatch sets the optional parameter which makes the operation
16453// fail if the object's ETag matches the given value. This is useful for
16454// getting updates only after the object has changed since the last
16455// request. Use googleapi.IsNotModified to check whether the response
16456// error from Do is the result of In-None-Match.
16457func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
16458	c.ifNoneMatch_ = entityTag
16459	return c
16460}
16461
16462// Context sets the context to be used in this call's Do method. Any
16463// pending HTTP request will be aborted if the provided context is
16464// canceled.
16465func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
16466	c.ctx_ = ctx
16467	return c
16468}
16469
16470// Header returns an http.Header that can be modified by the caller to
16471// add HTTP headers to the request.
16472func (c *AdsGetCall) Header() http.Header {
16473	if c.header_ == nil {
16474		c.header_ = make(http.Header)
16475	}
16476	return c.header_
16477}
16478
16479func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
16480	reqHeaders := make(http.Header)
16481	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
16482	for k, v := range c.header_ {
16483		reqHeaders[k] = v
16484	}
16485	reqHeaders.Set("User-Agent", c.s.userAgent())
16486	if c.ifNoneMatch_ != "" {
16487		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16488	}
16489	var body io.Reader = nil
16490	c.urlParams_.Set("alt", alt)
16491	c.urlParams_.Set("prettyPrint", "false")
16492	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
16493	urls += "?" + c.urlParams_.Encode()
16494	req, err := http.NewRequest("GET", urls, body)
16495	if err != nil {
16496		return nil, err
16497	}
16498	req.Header = reqHeaders
16499	googleapi.Expand(req.URL, map[string]string{
16500		"profileId": strconv.FormatInt(c.profileId, 10),
16501		"id":        strconv.FormatInt(c.id, 10),
16502	})
16503	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16504}
16505
16506// Do executes the "dfareporting.ads.get" call.
16507// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
16508// is an error. Response headers are in either *Ad.ServerResponse.Header
16509// or (if a response was returned at all) in
16510// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16511// whether the returned error was because http.StatusNotModified was
16512// returned.
16513func (c *AdsGetCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
16514	gensupport.SetOptions(c.urlParams_, opts...)
16515	res, err := c.doRequest("json")
16516	if res != nil && res.StatusCode == http.StatusNotModified {
16517		if res.Body != nil {
16518			res.Body.Close()
16519		}
16520		return nil, &googleapi.Error{
16521			Code:   res.StatusCode,
16522			Header: res.Header,
16523		}
16524	}
16525	if err != nil {
16526		return nil, err
16527	}
16528	defer googleapi.CloseBody(res)
16529	if err := googleapi.CheckResponse(res); err != nil {
16530		return nil, err
16531	}
16532	ret := &Ad{
16533		ServerResponse: googleapi.ServerResponse{
16534			Header:         res.Header,
16535			HTTPStatusCode: res.StatusCode,
16536		},
16537	}
16538	target := &ret
16539	if err := gensupport.DecodeResponse(target, res); err != nil {
16540		return nil, err
16541	}
16542	return ret, nil
16543	// {
16544	//   "description": "Gets one ad by ID.",
16545	//   "flatPath": "userprofiles/{profileId}/ads/{id}",
16546	//   "httpMethod": "GET",
16547	//   "id": "dfareporting.ads.get",
16548	//   "parameterOrder": [
16549	//     "profileId",
16550	//     "id"
16551	//   ],
16552	//   "parameters": {
16553	//     "id": {
16554	//       "description": "Ad ID.",
16555	//       "format": "int64",
16556	//       "location": "path",
16557	//       "required": true,
16558	//       "type": "string"
16559	//     },
16560	//     "profileId": {
16561	//       "description": "User profile ID associated with this request.",
16562	//       "format": "int64",
16563	//       "location": "path",
16564	//       "required": true,
16565	//       "type": "string"
16566	//     }
16567	//   },
16568	//   "path": "userprofiles/{profileId}/ads/{id}",
16569	//   "response": {
16570	//     "$ref": "Ad"
16571	//   },
16572	//   "scopes": [
16573	//     "https://www.googleapis.com/auth/dfatrafficking"
16574	//   ]
16575	// }
16576
16577}
16578
16579// method id "dfareporting.ads.insert":
16580
16581type AdsInsertCall struct {
16582	s          *Service
16583	profileId  int64
16584	ad         *Ad
16585	urlParams_ gensupport.URLParams
16586	ctx_       context.Context
16587	header_    http.Header
16588}
16589
16590// Insert: Inserts a new ad.
16591func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
16592	c := &AdsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16593	c.profileId = profileId
16594	c.ad = ad
16595	return c
16596}
16597
16598// Fields allows partial responses to be retrieved. See
16599// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16600// for more information.
16601func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
16602	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16603	return c
16604}
16605
16606// Context sets the context to be used in this call's Do method. Any
16607// pending HTTP request will be aborted if the provided context is
16608// canceled.
16609func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
16610	c.ctx_ = ctx
16611	return c
16612}
16613
16614// Header returns an http.Header that can be modified by the caller to
16615// add HTTP headers to the request.
16616func (c *AdsInsertCall) Header() http.Header {
16617	if c.header_ == nil {
16618		c.header_ = make(http.Header)
16619	}
16620	return c.header_
16621}
16622
16623func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
16624	reqHeaders := make(http.Header)
16625	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
16626	for k, v := range c.header_ {
16627		reqHeaders[k] = v
16628	}
16629	reqHeaders.Set("User-Agent", c.s.userAgent())
16630	var body io.Reader = nil
16631	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
16632	if err != nil {
16633		return nil, err
16634	}
16635	reqHeaders.Set("Content-Type", "application/json")
16636	c.urlParams_.Set("alt", alt)
16637	c.urlParams_.Set("prettyPrint", "false")
16638	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
16639	urls += "?" + c.urlParams_.Encode()
16640	req, err := http.NewRequest("POST", urls, body)
16641	if err != nil {
16642		return nil, err
16643	}
16644	req.Header = reqHeaders
16645	googleapi.Expand(req.URL, map[string]string{
16646		"profileId": strconv.FormatInt(c.profileId, 10),
16647	})
16648	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16649}
16650
16651// Do executes the "dfareporting.ads.insert" call.
16652// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
16653// is an error. Response headers are in either *Ad.ServerResponse.Header
16654// or (if a response was returned at all) in
16655// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16656// whether the returned error was because http.StatusNotModified was
16657// returned.
16658func (c *AdsInsertCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
16659	gensupport.SetOptions(c.urlParams_, opts...)
16660	res, err := c.doRequest("json")
16661	if res != nil && res.StatusCode == http.StatusNotModified {
16662		if res.Body != nil {
16663			res.Body.Close()
16664		}
16665		return nil, &googleapi.Error{
16666			Code:   res.StatusCode,
16667			Header: res.Header,
16668		}
16669	}
16670	if err != nil {
16671		return nil, err
16672	}
16673	defer googleapi.CloseBody(res)
16674	if err := googleapi.CheckResponse(res); err != nil {
16675		return nil, err
16676	}
16677	ret := &Ad{
16678		ServerResponse: googleapi.ServerResponse{
16679			Header:         res.Header,
16680			HTTPStatusCode: res.StatusCode,
16681		},
16682	}
16683	target := &ret
16684	if err := gensupport.DecodeResponse(target, res); err != nil {
16685		return nil, err
16686	}
16687	return ret, nil
16688	// {
16689	//   "description": "Inserts a new ad.",
16690	//   "flatPath": "userprofiles/{profileId}/ads",
16691	//   "httpMethod": "POST",
16692	//   "id": "dfareporting.ads.insert",
16693	//   "parameterOrder": [
16694	//     "profileId"
16695	//   ],
16696	//   "parameters": {
16697	//     "profileId": {
16698	//       "description": "User profile ID associated with this request.",
16699	//       "format": "int64",
16700	//       "location": "path",
16701	//       "required": true,
16702	//       "type": "string"
16703	//     }
16704	//   },
16705	//   "path": "userprofiles/{profileId}/ads",
16706	//   "request": {
16707	//     "$ref": "Ad"
16708	//   },
16709	//   "response": {
16710	//     "$ref": "Ad"
16711	//   },
16712	//   "scopes": [
16713	//     "https://www.googleapis.com/auth/dfatrafficking"
16714	//   ]
16715	// }
16716
16717}
16718
16719// method id "dfareporting.ads.list":
16720
16721type AdsListCall struct {
16722	s            *Service
16723	profileId    int64
16724	urlParams_   gensupport.URLParams
16725	ifNoneMatch_ string
16726	ctx_         context.Context
16727	header_      http.Header
16728}
16729
16730// List: Retrieves a list of ads, possibly filtered. This method
16731// supports paging.
16732func (r *AdsService) List(profileId int64) *AdsListCall {
16733	c := &AdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16734	c.profileId = profileId
16735	return c
16736}
16737
16738// Active sets the optional parameter "active": Select only active ads.
16739func (c *AdsListCall) Active(active bool) *AdsListCall {
16740	c.urlParams_.Set("active", fmt.Sprint(active))
16741	return c
16742}
16743
16744// AdvertiserId sets the optional parameter "advertiserId": Select only
16745// ads with this advertiser ID.
16746func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
16747	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
16748	return c
16749}
16750
16751// Archived sets the optional parameter "archived": Select only archived
16752// ads.
16753func (c *AdsListCall) Archived(archived bool) *AdsListCall {
16754	c.urlParams_.Set("archived", fmt.Sprint(archived))
16755	return c
16756}
16757
16758// AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
16759// Select only ads with these audience segment IDs.
16760func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds ...int64) *AdsListCall {
16761	var audienceSegmentIds_ []string
16762	for _, v := range audienceSegmentIds {
16763		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprint(v))
16764	}
16765	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
16766	return c
16767}
16768
16769// CampaignIds sets the optional parameter "campaignIds": Select only
16770// ads with these campaign IDs.
16771func (c *AdsListCall) CampaignIds(campaignIds ...int64) *AdsListCall {
16772	var campaignIds_ []string
16773	for _, v := range campaignIds {
16774		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
16775	}
16776	c.urlParams_.SetMulti("campaignIds", campaignIds_)
16777	return c
16778}
16779
16780// Compatibility sets the optional parameter "compatibility": Select
16781// default ads with the specified compatibility. Applicable when type is
16782// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
16783// rendering either on desktop or on mobile devices for regular or
16784// interstitial ads, respectively. APP and APP_INTERSTITIAL are for
16785// rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
16786// in-stream video ads developed with the VAST standard.
16787//
16788// Possible values:
16789//   "DISPLAY"
16790//   "DISPLAY_INTERSTITIAL"
16791//   "APP"
16792//   "APP_INTERSTITIAL"
16793//   "IN_STREAM_VIDEO"
16794//   "IN_STREAM_AUDIO"
16795func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
16796	c.urlParams_.Set("compatibility", compatibility)
16797	return c
16798}
16799
16800// CreativeIds sets the optional parameter "creativeIds": Select only
16801// ads with these creative IDs assigned.
16802func (c *AdsListCall) CreativeIds(creativeIds ...int64) *AdsListCall {
16803	var creativeIds_ []string
16804	for _, v := range creativeIds {
16805		creativeIds_ = append(creativeIds_, fmt.Sprint(v))
16806	}
16807	c.urlParams_.SetMulti("creativeIds", creativeIds_)
16808	return c
16809}
16810
16811// CreativeOptimizationConfigurationIds sets the optional parameter
16812// "creativeOptimizationConfigurationIds": Select only ads with these
16813// creative optimization configuration IDs.
16814func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds ...int64) *AdsListCall {
16815	var creativeOptimizationConfigurationIds_ []string
16816	for _, v := range creativeOptimizationConfigurationIds {
16817		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprint(v))
16818	}
16819	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
16820	return c
16821}
16822
16823// DynamicClickTracker sets the optional parameter
16824// "dynamicClickTracker": Select only dynamic click trackers. Applicable
16825// when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click
16826// trackers. If false, select static click trackers. Leave unset to
16827// select both.
16828func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
16829	c.urlParams_.Set("dynamicClickTracker", fmt.Sprint(dynamicClickTracker))
16830	return c
16831}
16832
16833// Ids sets the optional parameter "ids": Select only ads with these
16834// IDs.
16835func (c *AdsListCall) Ids(ids ...int64) *AdsListCall {
16836	var ids_ []string
16837	for _, v := range ids {
16838		ids_ = append(ids_, fmt.Sprint(v))
16839	}
16840	c.urlParams_.SetMulti("ids", ids_)
16841	return c
16842}
16843
16844// LandingPageIds sets the optional parameter "landingPageIds": Select
16845// only ads with these landing page IDs.
16846func (c *AdsListCall) LandingPageIds(landingPageIds ...int64) *AdsListCall {
16847	var landingPageIds_ []string
16848	for _, v := range landingPageIds {
16849		landingPageIds_ = append(landingPageIds_, fmt.Sprint(v))
16850	}
16851	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
16852	return c
16853}
16854
16855// MaxResults sets the optional parameter "maxResults": Maximum number
16856// of results to return.
16857func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
16858	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
16859	return c
16860}
16861
16862// OverriddenEventTagId sets the optional parameter
16863// "overriddenEventTagId": Select only ads with this event tag override
16864// ID.
16865func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
16866	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
16867	return c
16868}
16869
16870// PageToken sets the optional parameter "pageToken": Value of the
16871// nextPageToken from the previous result page.
16872func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
16873	c.urlParams_.Set("pageToken", pageToken)
16874	return c
16875}
16876
16877// PlacementIds sets the optional parameter "placementIds": Select only
16878// ads with these placement IDs assigned.
16879func (c *AdsListCall) PlacementIds(placementIds ...int64) *AdsListCall {
16880	var placementIds_ []string
16881	for _, v := range placementIds {
16882		placementIds_ = append(placementIds_, fmt.Sprint(v))
16883	}
16884	c.urlParams_.SetMulti("placementIds", placementIds_)
16885	return c
16886}
16887
16888// RemarketingListIds sets the optional parameter "remarketingListIds":
16889// Select only ads whose list targeting expression use these remarketing
16890// list IDs.
16891func (c *AdsListCall) RemarketingListIds(remarketingListIds ...int64) *AdsListCall {
16892	var remarketingListIds_ []string
16893	for _, v := range remarketingListIds {
16894		remarketingListIds_ = append(remarketingListIds_, fmt.Sprint(v))
16895	}
16896	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
16897	return c
16898}
16899
16900// SearchString sets the optional parameter "searchString": Allows
16901// searching for objects by name or ID. Wildcards (*) are allowed. For
16902// example, "ad*2015" will return objects with names like "ad June
16903// 2015", "ad April 2015", or simply "ad 2015". Most of the searches
16904// also add wildcards implicitly at the start and the end of the search
16905// string. For example, a search string of "ad" will match objects with
16906// name "my ad", "ad 2015", or simply "ad".
16907func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
16908	c.urlParams_.Set("searchString", searchString)
16909	return c
16910}
16911
16912// SizeIds sets the optional parameter "sizeIds": Select only ads with
16913// these size IDs.
16914func (c *AdsListCall) SizeIds(sizeIds ...int64) *AdsListCall {
16915	var sizeIds_ []string
16916	for _, v := range sizeIds {
16917		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
16918	}
16919	c.urlParams_.SetMulti("sizeIds", sizeIds_)
16920	return c
16921}
16922
16923// SortField sets the optional parameter "sortField": Field by which to
16924// sort the list.
16925//
16926// Possible values:
16927//   "ID" (default)
16928//   "NAME"
16929func (c *AdsListCall) SortField(sortField string) *AdsListCall {
16930	c.urlParams_.Set("sortField", sortField)
16931	return c
16932}
16933
16934// SortOrder sets the optional parameter "sortOrder": Order of sorted
16935// results.
16936//
16937// Possible values:
16938//   "ASCENDING" (default)
16939//   "DESCENDING"
16940func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
16941	c.urlParams_.Set("sortOrder", sortOrder)
16942	return c
16943}
16944
16945// SslCompliant sets the optional parameter "sslCompliant": Select only
16946// ads that are SSL-compliant.
16947func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
16948	c.urlParams_.Set("sslCompliant", fmt.Sprint(sslCompliant))
16949	return c
16950}
16951
16952// SslRequired sets the optional parameter "sslRequired": Select only
16953// ads that require SSL.
16954func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
16955	c.urlParams_.Set("sslRequired", fmt.Sprint(sslRequired))
16956	return c
16957}
16958
16959// Type sets the optional parameter "type": Select only ads with these
16960// types.
16961//
16962// Possible values:
16963//   "AD_SERVING_STANDARD_AD"
16964//   "AD_SERVING_DEFAULT_AD"
16965//   "AD_SERVING_CLICK_TRACKER"
16966//   "AD_SERVING_TRACKING"
16967//   "AD_SERVING_BRAND_SAFE_AD"
16968func (c *AdsListCall) Type(type_ ...string) *AdsListCall {
16969	c.urlParams_.SetMulti("type", append([]string{}, type_...))
16970	return c
16971}
16972
16973// Fields allows partial responses to be retrieved. See
16974// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16975// for more information.
16976func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
16977	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16978	return c
16979}
16980
16981// IfNoneMatch sets the optional parameter which makes the operation
16982// fail if the object's ETag matches the given value. This is useful for
16983// getting updates only after the object has changed since the last
16984// request. Use googleapi.IsNotModified to check whether the response
16985// error from Do is the result of In-None-Match.
16986func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
16987	c.ifNoneMatch_ = entityTag
16988	return c
16989}
16990
16991// Context sets the context to be used in this call's Do method. Any
16992// pending HTTP request will be aborted if the provided context is
16993// canceled.
16994func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
16995	c.ctx_ = ctx
16996	return c
16997}
16998
16999// Header returns an http.Header that can be modified by the caller to
17000// add HTTP headers to the request.
17001func (c *AdsListCall) Header() http.Header {
17002	if c.header_ == nil {
17003		c.header_ = make(http.Header)
17004	}
17005	return c.header_
17006}
17007
17008func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
17009	reqHeaders := make(http.Header)
17010	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
17011	for k, v := range c.header_ {
17012		reqHeaders[k] = v
17013	}
17014	reqHeaders.Set("User-Agent", c.s.userAgent())
17015	if c.ifNoneMatch_ != "" {
17016		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17017	}
17018	var body io.Reader = nil
17019	c.urlParams_.Set("alt", alt)
17020	c.urlParams_.Set("prettyPrint", "false")
17021	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17022	urls += "?" + c.urlParams_.Encode()
17023	req, err := http.NewRequest("GET", urls, body)
17024	if err != nil {
17025		return nil, err
17026	}
17027	req.Header = reqHeaders
17028	googleapi.Expand(req.URL, map[string]string{
17029		"profileId": strconv.FormatInt(c.profileId, 10),
17030	})
17031	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17032}
17033
17034// Do executes the "dfareporting.ads.list" call.
17035// Exactly one of *AdsListResponse or error will be non-nil. Any non-2xx
17036// status code is an error. Response headers are in either
17037// *AdsListResponse.ServerResponse.Header or (if a response was returned
17038// at all) in error.(*googleapi.Error).Header. Use
17039// googleapi.IsNotModified to check whether the returned error was
17040// because http.StatusNotModified was returned.
17041func (c *AdsListCall) Do(opts ...googleapi.CallOption) (*AdsListResponse, error) {
17042	gensupport.SetOptions(c.urlParams_, opts...)
17043	res, err := c.doRequest("json")
17044	if res != nil && res.StatusCode == http.StatusNotModified {
17045		if res.Body != nil {
17046			res.Body.Close()
17047		}
17048		return nil, &googleapi.Error{
17049			Code:   res.StatusCode,
17050			Header: res.Header,
17051		}
17052	}
17053	if err != nil {
17054		return nil, err
17055	}
17056	defer googleapi.CloseBody(res)
17057	if err := googleapi.CheckResponse(res); err != nil {
17058		return nil, err
17059	}
17060	ret := &AdsListResponse{
17061		ServerResponse: googleapi.ServerResponse{
17062			Header:         res.Header,
17063			HTTPStatusCode: res.StatusCode,
17064		},
17065	}
17066	target := &ret
17067	if err := gensupport.DecodeResponse(target, res); err != nil {
17068		return nil, err
17069	}
17070	return ret, nil
17071	// {
17072	//   "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
17073	//   "flatPath": "userprofiles/{profileId}/ads",
17074	//   "httpMethod": "GET",
17075	//   "id": "dfareporting.ads.list",
17076	//   "parameterOrder": [
17077	//     "profileId"
17078	//   ],
17079	//   "parameters": {
17080	//     "active": {
17081	//       "description": "Select only active ads.",
17082	//       "location": "query",
17083	//       "type": "boolean"
17084	//     },
17085	//     "advertiserId": {
17086	//       "description": "Select only ads with this advertiser ID.",
17087	//       "format": "int64",
17088	//       "location": "query",
17089	//       "type": "string"
17090	//     },
17091	//     "archived": {
17092	//       "description": "Select only archived ads.",
17093	//       "location": "query",
17094	//       "type": "boolean"
17095	//     },
17096	//     "audienceSegmentIds": {
17097	//       "description": "Select only ads with these audience segment IDs.",
17098	//       "format": "int64",
17099	//       "location": "query",
17100	//       "repeated": true,
17101	//       "type": "string"
17102	//     },
17103	//     "campaignIds": {
17104	//       "description": "Select only ads with these campaign IDs.",
17105	//       "format": "int64",
17106	//       "location": "query",
17107	//       "repeated": true,
17108	//       "type": "string"
17109	//     },
17110	//     "compatibility": {
17111	//       "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.",
17112	//       "enum": [
17113	//         "DISPLAY",
17114	//         "DISPLAY_INTERSTITIAL",
17115	//         "APP",
17116	//         "APP_INTERSTITIAL",
17117	//         "IN_STREAM_VIDEO",
17118	//         "IN_STREAM_AUDIO"
17119	//       ],
17120	//       "enumDescriptions": [
17121	//         "",
17122	//         "",
17123	//         "",
17124	//         "",
17125	//         "",
17126	//         ""
17127	//       ],
17128	//       "location": "query",
17129	//       "type": "string"
17130	//     },
17131	//     "creativeIds": {
17132	//       "description": "Select only ads with these creative IDs assigned.",
17133	//       "format": "int64",
17134	//       "location": "query",
17135	//       "repeated": true,
17136	//       "type": "string"
17137	//     },
17138	//     "creativeOptimizationConfigurationIds": {
17139	//       "description": "Select only ads with these creative optimization configuration IDs.",
17140	//       "format": "int64",
17141	//       "location": "query",
17142	//       "repeated": true,
17143	//       "type": "string"
17144	//     },
17145	//     "dynamicClickTracker": {
17146	//       "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.",
17147	//       "location": "query",
17148	//       "type": "boolean"
17149	//     },
17150	//     "ids": {
17151	//       "description": "Select only ads with these IDs.",
17152	//       "format": "int64",
17153	//       "location": "query",
17154	//       "repeated": true,
17155	//       "type": "string"
17156	//     },
17157	//     "landingPageIds": {
17158	//       "description": "Select only ads with these landing page IDs.",
17159	//       "format": "int64",
17160	//       "location": "query",
17161	//       "repeated": true,
17162	//       "type": "string"
17163	//     },
17164	//     "maxResults": {
17165	//       "default": "1000",
17166	//       "description": "Maximum number of results to return.",
17167	//       "format": "int32",
17168	//       "location": "query",
17169	//       "maximum": "1000",
17170	//       "minimum": "0",
17171	//       "type": "integer"
17172	//     },
17173	//     "overriddenEventTagId": {
17174	//       "description": "Select only ads with this event tag override ID.",
17175	//       "format": "int64",
17176	//       "location": "query",
17177	//       "type": "string"
17178	//     },
17179	//     "pageToken": {
17180	//       "description": "Value of the nextPageToken from the previous result page.",
17181	//       "location": "query",
17182	//       "type": "string"
17183	//     },
17184	//     "placementIds": {
17185	//       "description": "Select only ads with these placement IDs assigned.",
17186	//       "format": "int64",
17187	//       "location": "query",
17188	//       "repeated": true,
17189	//       "type": "string"
17190	//     },
17191	//     "profileId": {
17192	//       "description": "User profile ID associated with this request.",
17193	//       "format": "int64",
17194	//       "location": "path",
17195	//       "required": true,
17196	//       "type": "string"
17197	//     },
17198	//     "remarketingListIds": {
17199	//       "description": "Select only ads whose list targeting expression use these remarketing list IDs.",
17200	//       "format": "int64",
17201	//       "location": "query",
17202	//       "repeated": true,
17203	//       "type": "string"
17204	//     },
17205	//     "searchString": {
17206	//       "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\".",
17207	//       "location": "query",
17208	//       "type": "string"
17209	//     },
17210	//     "sizeIds": {
17211	//       "description": "Select only ads with these size IDs.",
17212	//       "format": "int64",
17213	//       "location": "query",
17214	//       "repeated": true,
17215	//       "type": "string"
17216	//     },
17217	//     "sortField": {
17218	//       "default": "ID",
17219	//       "description": "Field by which to sort the list.",
17220	//       "enum": [
17221	//         "ID",
17222	//         "NAME"
17223	//       ],
17224	//       "enumDescriptions": [
17225	//         "",
17226	//         ""
17227	//       ],
17228	//       "location": "query",
17229	//       "type": "string"
17230	//     },
17231	//     "sortOrder": {
17232	//       "default": "ASCENDING",
17233	//       "description": "Order of sorted results.",
17234	//       "enum": [
17235	//         "ASCENDING",
17236	//         "DESCENDING"
17237	//       ],
17238	//       "enumDescriptions": [
17239	//         "",
17240	//         ""
17241	//       ],
17242	//       "location": "query",
17243	//       "type": "string"
17244	//     },
17245	//     "sslCompliant": {
17246	//       "description": "Select only ads that are SSL-compliant.",
17247	//       "location": "query",
17248	//       "type": "boolean"
17249	//     },
17250	//     "sslRequired": {
17251	//       "description": "Select only ads that require SSL.",
17252	//       "location": "query",
17253	//       "type": "boolean"
17254	//     },
17255	//     "type": {
17256	//       "description": "Select only ads with these types.",
17257	//       "enum": [
17258	//         "AD_SERVING_STANDARD_AD",
17259	//         "AD_SERVING_DEFAULT_AD",
17260	//         "AD_SERVING_CLICK_TRACKER",
17261	//         "AD_SERVING_TRACKING",
17262	//         "AD_SERVING_BRAND_SAFE_AD"
17263	//       ],
17264	//       "enumDescriptions": [
17265	//         "",
17266	//         "",
17267	//         "",
17268	//         "",
17269	//         ""
17270	//       ],
17271	//       "location": "query",
17272	//       "repeated": true,
17273	//       "type": "string"
17274	//     }
17275	//   },
17276	//   "path": "userprofiles/{profileId}/ads",
17277	//   "response": {
17278	//     "$ref": "AdsListResponse"
17279	//   },
17280	//   "scopes": [
17281	//     "https://www.googleapis.com/auth/dfatrafficking"
17282	//   ]
17283	// }
17284
17285}
17286
17287// Pages invokes f for each page of results.
17288// A non-nil error returned from f will halt the iteration.
17289// The provided context supersedes any context provided to the Context method.
17290func (c *AdsListCall) Pages(ctx context.Context, f func(*AdsListResponse) error) error {
17291	c.ctx_ = ctx
17292	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17293	for {
17294		x, err := c.Do()
17295		if err != nil {
17296			return err
17297		}
17298		if err := f(x); err != nil {
17299			return err
17300		}
17301		if x.NextPageToken == "" {
17302			return nil
17303		}
17304		c.PageToken(x.NextPageToken)
17305	}
17306}
17307
17308// method id "dfareporting.ads.patch":
17309
17310type AdsPatchCall struct {
17311	s          *Service
17312	profileId  int64
17313	ad         *Ad
17314	urlParams_ gensupport.URLParams
17315	ctx_       context.Context
17316	header_    http.Header
17317}
17318
17319// Patch: Updates an existing ad. This method supports patch semantics.
17320func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
17321	c := &AdsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17322	c.profileId = profileId
17323	c.urlParams_.Set("id", fmt.Sprint(id))
17324	c.ad = ad
17325	return c
17326}
17327
17328// Fields allows partial responses to be retrieved. See
17329// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17330// for more information.
17331func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
17332	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17333	return c
17334}
17335
17336// Context sets the context to be used in this call's Do method. Any
17337// pending HTTP request will be aborted if the provided context is
17338// canceled.
17339func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
17340	c.ctx_ = ctx
17341	return c
17342}
17343
17344// Header returns an http.Header that can be modified by the caller to
17345// add HTTP headers to the request.
17346func (c *AdsPatchCall) Header() http.Header {
17347	if c.header_ == nil {
17348		c.header_ = make(http.Header)
17349	}
17350	return c.header_
17351}
17352
17353func (c *AdsPatchCall) doRequest(alt string) (*http.Response, error) {
17354	reqHeaders := make(http.Header)
17355	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
17356	for k, v := range c.header_ {
17357		reqHeaders[k] = v
17358	}
17359	reqHeaders.Set("User-Agent", c.s.userAgent())
17360	var body io.Reader = nil
17361	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
17362	if err != nil {
17363		return nil, err
17364	}
17365	reqHeaders.Set("Content-Type", "application/json")
17366	c.urlParams_.Set("alt", alt)
17367	c.urlParams_.Set("prettyPrint", "false")
17368	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17369	urls += "?" + c.urlParams_.Encode()
17370	req, err := http.NewRequest("PATCH", urls, body)
17371	if err != nil {
17372		return nil, err
17373	}
17374	req.Header = reqHeaders
17375	googleapi.Expand(req.URL, map[string]string{
17376		"profileId": strconv.FormatInt(c.profileId, 10),
17377	})
17378	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17379}
17380
17381// Do executes the "dfareporting.ads.patch" call.
17382// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
17383// is an error. Response headers are in either *Ad.ServerResponse.Header
17384// or (if a response was returned at all) in
17385// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17386// whether the returned error was because http.StatusNotModified was
17387// returned.
17388func (c *AdsPatchCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
17389	gensupport.SetOptions(c.urlParams_, opts...)
17390	res, err := c.doRequest("json")
17391	if res != nil && res.StatusCode == http.StatusNotModified {
17392		if res.Body != nil {
17393			res.Body.Close()
17394		}
17395		return nil, &googleapi.Error{
17396			Code:   res.StatusCode,
17397			Header: res.Header,
17398		}
17399	}
17400	if err != nil {
17401		return nil, err
17402	}
17403	defer googleapi.CloseBody(res)
17404	if err := googleapi.CheckResponse(res); err != nil {
17405		return nil, err
17406	}
17407	ret := &Ad{
17408		ServerResponse: googleapi.ServerResponse{
17409			Header:         res.Header,
17410			HTTPStatusCode: res.StatusCode,
17411		},
17412	}
17413	target := &ret
17414	if err := gensupport.DecodeResponse(target, res); err != nil {
17415		return nil, err
17416	}
17417	return ret, nil
17418	// {
17419	//   "description": "Updates an existing ad. This method supports patch semantics.",
17420	//   "flatPath": "userprofiles/{profileId}/ads",
17421	//   "httpMethod": "PATCH",
17422	//   "id": "dfareporting.ads.patch",
17423	//   "parameterOrder": [
17424	//     "profileId",
17425	//     "id"
17426	//   ],
17427	//   "parameters": {
17428	//     "id": {
17429	//       "description": "Ad ID.",
17430	//       "format": "int64",
17431	//       "location": "query",
17432	//       "required": true,
17433	//       "type": "string"
17434	//     },
17435	//     "profileId": {
17436	//       "description": "User profile ID associated with this request.",
17437	//       "format": "int64",
17438	//       "location": "path",
17439	//       "required": true,
17440	//       "type": "string"
17441	//     }
17442	//   },
17443	//   "path": "userprofiles/{profileId}/ads",
17444	//   "request": {
17445	//     "$ref": "Ad"
17446	//   },
17447	//   "response": {
17448	//     "$ref": "Ad"
17449	//   },
17450	//   "scopes": [
17451	//     "https://www.googleapis.com/auth/dfatrafficking"
17452	//   ]
17453	// }
17454
17455}
17456
17457// method id "dfareporting.ads.update":
17458
17459type AdsUpdateCall struct {
17460	s          *Service
17461	profileId  int64
17462	ad         *Ad
17463	urlParams_ gensupport.URLParams
17464	ctx_       context.Context
17465	header_    http.Header
17466}
17467
17468// Update: Updates an existing ad.
17469func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
17470	c := &AdsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17471	c.profileId = profileId
17472	c.ad = ad
17473	return c
17474}
17475
17476// Fields allows partial responses to be retrieved. See
17477// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17478// for more information.
17479func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
17480	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17481	return c
17482}
17483
17484// Context sets the context to be used in this call's Do method. Any
17485// pending HTTP request will be aborted if the provided context is
17486// canceled.
17487func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
17488	c.ctx_ = ctx
17489	return c
17490}
17491
17492// Header returns an http.Header that can be modified by the caller to
17493// add HTTP headers to the request.
17494func (c *AdsUpdateCall) Header() http.Header {
17495	if c.header_ == nil {
17496		c.header_ = make(http.Header)
17497	}
17498	return c.header_
17499}
17500
17501func (c *AdsUpdateCall) doRequest(alt string) (*http.Response, error) {
17502	reqHeaders := make(http.Header)
17503	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
17504	for k, v := range c.header_ {
17505		reqHeaders[k] = v
17506	}
17507	reqHeaders.Set("User-Agent", c.s.userAgent())
17508	var body io.Reader = nil
17509	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
17510	if err != nil {
17511		return nil, err
17512	}
17513	reqHeaders.Set("Content-Type", "application/json")
17514	c.urlParams_.Set("alt", alt)
17515	c.urlParams_.Set("prettyPrint", "false")
17516	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17517	urls += "?" + c.urlParams_.Encode()
17518	req, err := http.NewRequest("PUT", urls, body)
17519	if err != nil {
17520		return nil, err
17521	}
17522	req.Header = reqHeaders
17523	googleapi.Expand(req.URL, map[string]string{
17524		"profileId": strconv.FormatInt(c.profileId, 10),
17525	})
17526	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17527}
17528
17529// Do executes the "dfareporting.ads.update" call.
17530// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
17531// is an error. Response headers are in either *Ad.ServerResponse.Header
17532// or (if a response was returned at all) in
17533// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17534// whether the returned error was because http.StatusNotModified was
17535// returned.
17536func (c *AdsUpdateCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
17537	gensupport.SetOptions(c.urlParams_, opts...)
17538	res, err := c.doRequest("json")
17539	if res != nil && res.StatusCode == http.StatusNotModified {
17540		if res.Body != nil {
17541			res.Body.Close()
17542		}
17543		return nil, &googleapi.Error{
17544			Code:   res.StatusCode,
17545			Header: res.Header,
17546		}
17547	}
17548	if err != nil {
17549		return nil, err
17550	}
17551	defer googleapi.CloseBody(res)
17552	if err := googleapi.CheckResponse(res); err != nil {
17553		return nil, err
17554	}
17555	ret := &Ad{
17556		ServerResponse: googleapi.ServerResponse{
17557			Header:         res.Header,
17558			HTTPStatusCode: res.StatusCode,
17559		},
17560	}
17561	target := &ret
17562	if err := gensupport.DecodeResponse(target, res); err != nil {
17563		return nil, err
17564	}
17565	return ret, nil
17566	// {
17567	//   "description": "Updates an existing ad.",
17568	//   "flatPath": "userprofiles/{profileId}/ads",
17569	//   "httpMethod": "PUT",
17570	//   "id": "dfareporting.ads.update",
17571	//   "parameterOrder": [
17572	//     "profileId"
17573	//   ],
17574	//   "parameters": {
17575	//     "profileId": {
17576	//       "description": "User profile ID associated with this request.",
17577	//       "format": "int64",
17578	//       "location": "path",
17579	//       "required": true,
17580	//       "type": "string"
17581	//     }
17582	//   },
17583	//   "path": "userprofiles/{profileId}/ads",
17584	//   "request": {
17585	//     "$ref": "Ad"
17586	//   },
17587	//   "response": {
17588	//     "$ref": "Ad"
17589	//   },
17590	//   "scopes": [
17591	//     "https://www.googleapis.com/auth/dfatrafficking"
17592	//   ]
17593	// }
17594
17595}
17596
17597// method id "dfareporting.advertiserGroups.delete":
17598
17599type AdvertiserGroupsDeleteCall struct {
17600	s          *Service
17601	profileId  int64
17602	id         int64
17603	urlParams_ gensupport.URLParams
17604	ctx_       context.Context
17605	header_    http.Header
17606}
17607
17608// Delete: Deletes an existing advertiser group.
17609func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
17610	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17611	c.profileId = profileId
17612	c.id = id
17613	return c
17614}
17615
17616// Fields allows partial responses to be retrieved. See
17617// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17618// for more information.
17619func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
17620	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17621	return c
17622}
17623
17624// Context sets the context to be used in this call's Do method. Any
17625// pending HTTP request will be aborted if the provided context is
17626// canceled.
17627func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
17628	c.ctx_ = ctx
17629	return c
17630}
17631
17632// Header returns an http.Header that can be modified by the caller to
17633// add HTTP headers to the request.
17634func (c *AdvertiserGroupsDeleteCall) Header() http.Header {
17635	if c.header_ == nil {
17636		c.header_ = make(http.Header)
17637	}
17638	return c.header_
17639}
17640
17641func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
17642	reqHeaders := make(http.Header)
17643	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
17644	for k, v := range c.header_ {
17645		reqHeaders[k] = v
17646	}
17647	reqHeaders.Set("User-Agent", c.s.userAgent())
17648	var body io.Reader = nil
17649	c.urlParams_.Set("alt", alt)
17650	c.urlParams_.Set("prettyPrint", "false")
17651	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
17652	urls += "?" + c.urlParams_.Encode()
17653	req, err := http.NewRequest("DELETE", urls, body)
17654	if err != nil {
17655		return nil, err
17656	}
17657	req.Header = reqHeaders
17658	googleapi.Expand(req.URL, map[string]string{
17659		"profileId": strconv.FormatInt(c.profileId, 10),
17660		"id":        strconv.FormatInt(c.id, 10),
17661	})
17662	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17663}
17664
17665// Do executes the "dfareporting.advertiserGroups.delete" call.
17666func (c *AdvertiserGroupsDeleteCall) Do(opts ...googleapi.CallOption) error {
17667	gensupport.SetOptions(c.urlParams_, opts...)
17668	res, err := c.doRequest("json")
17669	if err != nil {
17670		return err
17671	}
17672	defer googleapi.CloseBody(res)
17673	if err := googleapi.CheckResponse(res); err != nil {
17674		return err
17675	}
17676	return nil
17677	// {
17678	//   "description": "Deletes an existing advertiser group.",
17679	//   "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
17680	//   "httpMethod": "DELETE",
17681	//   "id": "dfareporting.advertiserGroups.delete",
17682	//   "parameterOrder": [
17683	//     "profileId",
17684	//     "id"
17685	//   ],
17686	//   "parameters": {
17687	//     "id": {
17688	//       "description": "Advertiser group ID.",
17689	//       "format": "int64",
17690	//       "location": "path",
17691	//       "required": true,
17692	//       "type": "string"
17693	//     },
17694	//     "profileId": {
17695	//       "description": "User profile ID associated with this request.",
17696	//       "format": "int64",
17697	//       "location": "path",
17698	//       "required": true,
17699	//       "type": "string"
17700	//     }
17701	//   },
17702	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
17703	//   "scopes": [
17704	//     "https://www.googleapis.com/auth/dfatrafficking"
17705	//   ]
17706	// }
17707
17708}
17709
17710// method id "dfareporting.advertiserGroups.get":
17711
17712type AdvertiserGroupsGetCall struct {
17713	s            *Service
17714	profileId    int64
17715	id           int64
17716	urlParams_   gensupport.URLParams
17717	ifNoneMatch_ string
17718	ctx_         context.Context
17719	header_      http.Header
17720}
17721
17722// Get: Gets one advertiser group by ID.
17723func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
17724	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17725	c.profileId = profileId
17726	c.id = id
17727	return c
17728}
17729
17730// Fields allows partial responses to be retrieved. See
17731// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17732// for more information.
17733func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
17734	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17735	return c
17736}
17737
17738// IfNoneMatch sets the optional parameter which makes the operation
17739// fail if the object's ETag matches the given value. This is useful for
17740// getting updates only after the object has changed since the last
17741// request. Use googleapi.IsNotModified to check whether the response
17742// error from Do is the result of In-None-Match.
17743func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
17744	c.ifNoneMatch_ = entityTag
17745	return c
17746}
17747
17748// Context sets the context to be used in this call's Do method. Any
17749// pending HTTP request will be aborted if the provided context is
17750// canceled.
17751func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
17752	c.ctx_ = ctx
17753	return c
17754}
17755
17756// Header returns an http.Header that can be modified by the caller to
17757// add HTTP headers to the request.
17758func (c *AdvertiserGroupsGetCall) Header() http.Header {
17759	if c.header_ == nil {
17760		c.header_ = make(http.Header)
17761	}
17762	return c.header_
17763}
17764
17765func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
17766	reqHeaders := make(http.Header)
17767	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
17768	for k, v := range c.header_ {
17769		reqHeaders[k] = v
17770	}
17771	reqHeaders.Set("User-Agent", c.s.userAgent())
17772	if c.ifNoneMatch_ != "" {
17773		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17774	}
17775	var body io.Reader = nil
17776	c.urlParams_.Set("alt", alt)
17777	c.urlParams_.Set("prettyPrint", "false")
17778	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
17779	urls += "?" + c.urlParams_.Encode()
17780	req, err := http.NewRequest("GET", urls, body)
17781	if err != nil {
17782		return nil, err
17783	}
17784	req.Header = reqHeaders
17785	googleapi.Expand(req.URL, map[string]string{
17786		"profileId": strconv.FormatInt(c.profileId, 10),
17787		"id":        strconv.FormatInt(c.id, 10),
17788	})
17789	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17790}
17791
17792// Do executes the "dfareporting.advertiserGroups.get" call.
17793// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
17794// status code is an error. Response headers are in either
17795// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
17796// at all) in error.(*googleapi.Error).Header. Use
17797// googleapi.IsNotModified to check whether the returned error was
17798// because http.StatusNotModified was returned.
17799func (c *AdvertiserGroupsGetCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
17800	gensupport.SetOptions(c.urlParams_, opts...)
17801	res, err := c.doRequest("json")
17802	if res != nil && res.StatusCode == http.StatusNotModified {
17803		if res.Body != nil {
17804			res.Body.Close()
17805		}
17806		return nil, &googleapi.Error{
17807			Code:   res.StatusCode,
17808			Header: res.Header,
17809		}
17810	}
17811	if err != nil {
17812		return nil, err
17813	}
17814	defer googleapi.CloseBody(res)
17815	if err := googleapi.CheckResponse(res); err != nil {
17816		return nil, err
17817	}
17818	ret := &AdvertiserGroup{
17819		ServerResponse: googleapi.ServerResponse{
17820			Header:         res.Header,
17821			HTTPStatusCode: res.StatusCode,
17822		},
17823	}
17824	target := &ret
17825	if err := gensupport.DecodeResponse(target, res); err != nil {
17826		return nil, err
17827	}
17828	return ret, nil
17829	// {
17830	//   "description": "Gets one advertiser group by ID.",
17831	//   "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
17832	//   "httpMethod": "GET",
17833	//   "id": "dfareporting.advertiserGroups.get",
17834	//   "parameterOrder": [
17835	//     "profileId",
17836	//     "id"
17837	//   ],
17838	//   "parameters": {
17839	//     "id": {
17840	//       "description": "Advertiser group ID.",
17841	//       "format": "int64",
17842	//       "location": "path",
17843	//       "required": true,
17844	//       "type": "string"
17845	//     },
17846	//     "profileId": {
17847	//       "description": "User profile ID associated with this request.",
17848	//       "format": "int64",
17849	//       "location": "path",
17850	//       "required": true,
17851	//       "type": "string"
17852	//     }
17853	//   },
17854	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
17855	//   "response": {
17856	//     "$ref": "AdvertiserGroup"
17857	//   },
17858	//   "scopes": [
17859	//     "https://www.googleapis.com/auth/dfatrafficking"
17860	//   ]
17861	// }
17862
17863}
17864
17865// method id "dfareporting.advertiserGroups.insert":
17866
17867type AdvertiserGroupsInsertCall struct {
17868	s               *Service
17869	profileId       int64
17870	advertisergroup *AdvertiserGroup
17871	urlParams_      gensupport.URLParams
17872	ctx_            context.Context
17873	header_         http.Header
17874}
17875
17876// Insert: Inserts a new advertiser group.
17877func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
17878	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17879	c.profileId = profileId
17880	c.advertisergroup = advertisergroup
17881	return c
17882}
17883
17884// Fields allows partial responses to be retrieved. See
17885// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17886// for more information.
17887func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
17888	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17889	return c
17890}
17891
17892// Context sets the context to be used in this call's Do method. Any
17893// pending HTTP request will be aborted if the provided context is
17894// canceled.
17895func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
17896	c.ctx_ = ctx
17897	return c
17898}
17899
17900// Header returns an http.Header that can be modified by the caller to
17901// add HTTP headers to the request.
17902func (c *AdvertiserGroupsInsertCall) Header() http.Header {
17903	if c.header_ == nil {
17904		c.header_ = make(http.Header)
17905	}
17906	return c.header_
17907}
17908
17909func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
17910	reqHeaders := make(http.Header)
17911	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
17912	for k, v := range c.header_ {
17913		reqHeaders[k] = v
17914	}
17915	reqHeaders.Set("User-Agent", c.s.userAgent())
17916	var body io.Reader = nil
17917	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
17918	if err != nil {
17919		return nil, err
17920	}
17921	reqHeaders.Set("Content-Type", "application/json")
17922	c.urlParams_.Set("alt", alt)
17923	c.urlParams_.Set("prettyPrint", "false")
17924	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
17925	urls += "?" + c.urlParams_.Encode()
17926	req, err := http.NewRequest("POST", urls, body)
17927	if err != nil {
17928		return nil, err
17929	}
17930	req.Header = reqHeaders
17931	googleapi.Expand(req.URL, map[string]string{
17932		"profileId": strconv.FormatInt(c.profileId, 10),
17933	})
17934	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17935}
17936
17937// Do executes the "dfareporting.advertiserGroups.insert" call.
17938// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
17939// status code is an error. Response headers are in either
17940// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
17941// at all) in error.(*googleapi.Error).Header. Use
17942// googleapi.IsNotModified to check whether the returned error was
17943// because http.StatusNotModified was returned.
17944func (c *AdvertiserGroupsInsertCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
17945	gensupport.SetOptions(c.urlParams_, opts...)
17946	res, err := c.doRequest("json")
17947	if res != nil && res.StatusCode == http.StatusNotModified {
17948		if res.Body != nil {
17949			res.Body.Close()
17950		}
17951		return nil, &googleapi.Error{
17952			Code:   res.StatusCode,
17953			Header: res.Header,
17954		}
17955	}
17956	if err != nil {
17957		return nil, err
17958	}
17959	defer googleapi.CloseBody(res)
17960	if err := googleapi.CheckResponse(res); err != nil {
17961		return nil, err
17962	}
17963	ret := &AdvertiserGroup{
17964		ServerResponse: googleapi.ServerResponse{
17965			Header:         res.Header,
17966			HTTPStatusCode: res.StatusCode,
17967		},
17968	}
17969	target := &ret
17970	if err := gensupport.DecodeResponse(target, res); err != nil {
17971		return nil, err
17972	}
17973	return ret, nil
17974	// {
17975	//   "description": "Inserts a new advertiser group.",
17976	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
17977	//   "httpMethod": "POST",
17978	//   "id": "dfareporting.advertiserGroups.insert",
17979	//   "parameterOrder": [
17980	//     "profileId"
17981	//   ],
17982	//   "parameters": {
17983	//     "profileId": {
17984	//       "description": "User profile ID associated with this request.",
17985	//       "format": "int64",
17986	//       "location": "path",
17987	//       "required": true,
17988	//       "type": "string"
17989	//     }
17990	//   },
17991	//   "path": "userprofiles/{profileId}/advertiserGroups",
17992	//   "request": {
17993	//     "$ref": "AdvertiserGroup"
17994	//   },
17995	//   "response": {
17996	//     "$ref": "AdvertiserGroup"
17997	//   },
17998	//   "scopes": [
17999	//     "https://www.googleapis.com/auth/dfatrafficking"
18000	//   ]
18001	// }
18002
18003}
18004
18005// method id "dfareporting.advertiserGroups.list":
18006
18007type AdvertiserGroupsListCall struct {
18008	s            *Service
18009	profileId    int64
18010	urlParams_   gensupport.URLParams
18011	ifNoneMatch_ string
18012	ctx_         context.Context
18013	header_      http.Header
18014}
18015
18016// List: Retrieves a list of advertiser groups, possibly filtered. This
18017// method supports paging.
18018func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
18019	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18020	c.profileId = profileId
18021	return c
18022}
18023
18024// Ids sets the optional parameter "ids": Select only advertiser groups
18025// with these IDs.
18026func (c *AdvertiserGroupsListCall) Ids(ids ...int64) *AdvertiserGroupsListCall {
18027	var ids_ []string
18028	for _, v := range ids {
18029		ids_ = append(ids_, fmt.Sprint(v))
18030	}
18031	c.urlParams_.SetMulti("ids", ids_)
18032	return c
18033}
18034
18035// MaxResults sets the optional parameter "maxResults": Maximum number
18036// of results to return.
18037func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
18038	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
18039	return c
18040}
18041
18042// PageToken sets the optional parameter "pageToken": Value of the
18043// nextPageToken from the previous result page.
18044func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
18045	c.urlParams_.Set("pageToken", pageToken)
18046	return c
18047}
18048
18049// SearchString sets the optional parameter "searchString": Allows
18050// searching for objects by name or ID. Wildcards (*) are allowed. For
18051// example, "advertiser*2015" will return objects with names like
18052// "advertiser group June 2015", "advertiser group April 2015", or
18053// simply "advertiser group 2015". Most of the searches also add
18054// wildcards implicitly at the start and the end of the search string.
18055// For example, a search string of "advertisergroup" will match objects
18056// with name "my advertisergroup", "advertisergroup 2015", or simply
18057// "advertisergroup".
18058func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
18059	c.urlParams_.Set("searchString", searchString)
18060	return c
18061}
18062
18063// SortField sets the optional parameter "sortField": Field by which to
18064// sort the list.
18065//
18066// Possible values:
18067//   "ID" (default)
18068//   "NAME"
18069func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
18070	c.urlParams_.Set("sortField", sortField)
18071	return c
18072}
18073
18074// SortOrder sets the optional parameter "sortOrder": Order of sorted
18075// results.
18076//
18077// Possible values:
18078//   "ASCENDING" (default)
18079//   "DESCENDING"
18080func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
18081	c.urlParams_.Set("sortOrder", sortOrder)
18082	return c
18083}
18084
18085// Fields allows partial responses to be retrieved. See
18086// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18087// for more information.
18088func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
18089	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18090	return c
18091}
18092
18093// IfNoneMatch sets the optional parameter which makes the operation
18094// fail if the object's ETag matches the given value. This is useful for
18095// getting updates only after the object has changed since the last
18096// request. Use googleapi.IsNotModified to check whether the response
18097// error from Do is the result of In-None-Match.
18098func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
18099	c.ifNoneMatch_ = entityTag
18100	return c
18101}
18102
18103// Context sets the context to be used in this call's Do method. Any
18104// pending HTTP request will be aborted if the provided context is
18105// canceled.
18106func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
18107	c.ctx_ = ctx
18108	return c
18109}
18110
18111// Header returns an http.Header that can be modified by the caller to
18112// add HTTP headers to the request.
18113func (c *AdvertiserGroupsListCall) Header() http.Header {
18114	if c.header_ == nil {
18115		c.header_ = make(http.Header)
18116	}
18117	return c.header_
18118}
18119
18120func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
18121	reqHeaders := make(http.Header)
18122	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
18123	for k, v := range c.header_ {
18124		reqHeaders[k] = v
18125	}
18126	reqHeaders.Set("User-Agent", c.s.userAgent())
18127	if c.ifNoneMatch_ != "" {
18128		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18129	}
18130	var body io.Reader = nil
18131	c.urlParams_.Set("alt", alt)
18132	c.urlParams_.Set("prettyPrint", "false")
18133	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18134	urls += "?" + c.urlParams_.Encode()
18135	req, err := http.NewRequest("GET", urls, body)
18136	if err != nil {
18137		return nil, err
18138	}
18139	req.Header = reqHeaders
18140	googleapi.Expand(req.URL, map[string]string{
18141		"profileId": strconv.FormatInt(c.profileId, 10),
18142	})
18143	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18144}
18145
18146// Do executes the "dfareporting.advertiserGroups.list" call.
18147// Exactly one of *AdvertiserGroupsListResponse or error will be
18148// non-nil. Any non-2xx status code is an error. Response headers are in
18149// either *AdvertiserGroupsListResponse.ServerResponse.Header or (if a
18150// response was returned at all) in error.(*googleapi.Error).Header. Use
18151// googleapi.IsNotModified to check whether the returned error was
18152// because http.StatusNotModified was returned.
18153func (c *AdvertiserGroupsListCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroupsListResponse, error) {
18154	gensupport.SetOptions(c.urlParams_, opts...)
18155	res, err := c.doRequest("json")
18156	if res != nil && res.StatusCode == http.StatusNotModified {
18157		if res.Body != nil {
18158			res.Body.Close()
18159		}
18160		return nil, &googleapi.Error{
18161			Code:   res.StatusCode,
18162			Header: res.Header,
18163		}
18164	}
18165	if err != nil {
18166		return nil, err
18167	}
18168	defer googleapi.CloseBody(res)
18169	if err := googleapi.CheckResponse(res); err != nil {
18170		return nil, err
18171	}
18172	ret := &AdvertiserGroupsListResponse{
18173		ServerResponse: googleapi.ServerResponse{
18174			Header:         res.Header,
18175			HTTPStatusCode: res.StatusCode,
18176		},
18177	}
18178	target := &ret
18179	if err := gensupport.DecodeResponse(target, res); err != nil {
18180		return nil, err
18181	}
18182	return ret, nil
18183	// {
18184	//   "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
18185	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
18186	//   "httpMethod": "GET",
18187	//   "id": "dfareporting.advertiserGroups.list",
18188	//   "parameterOrder": [
18189	//     "profileId"
18190	//   ],
18191	//   "parameters": {
18192	//     "ids": {
18193	//       "description": "Select only advertiser groups with these IDs.",
18194	//       "format": "int64",
18195	//       "location": "query",
18196	//       "repeated": true,
18197	//       "type": "string"
18198	//     },
18199	//     "maxResults": {
18200	//       "default": "1000",
18201	//       "description": "Maximum number of results to return.",
18202	//       "format": "int32",
18203	//       "location": "query",
18204	//       "maximum": "1000",
18205	//       "minimum": "0",
18206	//       "type": "integer"
18207	//     },
18208	//     "pageToken": {
18209	//       "description": "Value of the nextPageToken from the previous result page.",
18210	//       "location": "query",
18211	//       "type": "string"
18212	//     },
18213	//     "profileId": {
18214	//       "description": "User profile ID associated with this request.",
18215	//       "format": "int64",
18216	//       "location": "path",
18217	//       "required": true,
18218	//       "type": "string"
18219	//     },
18220	//     "searchString": {
18221	//       "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\".",
18222	//       "location": "query",
18223	//       "type": "string"
18224	//     },
18225	//     "sortField": {
18226	//       "default": "ID",
18227	//       "description": "Field by which to sort the list.",
18228	//       "enum": [
18229	//         "ID",
18230	//         "NAME"
18231	//       ],
18232	//       "enumDescriptions": [
18233	//         "",
18234	//         ""
18235	//       ],
18236	//       "location": "query",
18237	//       "type": "string"
18238	//     },
18239	//     "sortOrder": {
18240	//       "default": "ASCENDING",
18241	//       "description": "Order of sorted results.",
18242	//       "enum": [
18243	//         "ASCENDING",
18244	//         "DESCENDING"
18245	//       ],
18246	//       "enumDescriptions": [
18247	//         "",
18248	//         ""
18249	//       ],
18250	//       "location": "query",
18251	//       "type": "string"
18252	//     }
18253	//   },
18254	//   "path": "userprofiles/{profileId}/advertiserGroups",
18255	//   "response": {
18256	//     "$ref": "AdvertiserGroupsListResponse"
18257	//   },
18258	//   "scopes": [
18259	//     "https://www.googleapis.com/auth/dfatrafficking"
18260	//   ]
18261	// }
18262
18263}
18264
18265// Pages invokes f for each page of results.
18266// A non-nil error returned from f will halt the iteration.
18267// The provided context supersedes any context provided to the Context method.
18268func (c *AdvertiserGroupsListCall) Pages(ctx context.Context, f func(*AdvertiserGroupsListResponse) error) error {
18269	c.ctx_ = ctx
18270	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18271	for {
18272		x, err := c.Do()
18273		if err != nil {
18274			return err
18275		}
18276		if err := f(x); err != nil {
18277			return err
18278		}
18279		if x.NextPageToken == "" {
18280			return nil
18281		}
18282		c.PageToken(x.NextPageToken)
18283	}
18284}
18285
18286// method id "dfareporting.advertiserGroups.patch":
18287
18288type AdvertiserGroupsPatchCall struct {
18289	s               *Service
18290	profileId       int64
18291	advertisergroup *AdvertiserGroup
18292	urlParams_      gensupport.URLParams
18293	ctx_            context.Context
18294	header_         http.Header
18295}
18296
18297// Patch: Updates an existing advertiser group. This method supports
18298// patch semantics.
18299func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
18300	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18301	c.profileId = profileId
18302	c.urlParams_.Set("id", fmt.Sprint(id))
18303	c.advertisergroup = advertisergroup
18304	return c
18305}
18306
18307// Fields allows partial responses to be retrieved. See
18308// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18309// for more information.
18310func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
18311	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18312	return c
18313}
18314
18315// Context sets the context to be used in this call's Do method. Any
18316// pending HTTP request will be aborted if the provided context is
18317// canceled.
18318func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
18319	c.ctx_ = ctx
18320	return c
18321}
18322
18323// Header returns an http.Header that can be modified by the caller to
18324// add HTTP headers to the request.
18325func (c *AdvertiserGroupsPatchCall) Header() http.Header {
18326	if c.header_ == nil {
18327		c.header_ = make(http.Header)
18328	}
18329	return c.header_
18330}
18331
18332func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
18333	reqHeaders := make(http.Header)
18334	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
18335	for k, v := range c.header_ {
18336		reqHeaders[k] = v
18337	}
18338	reqHeaders.Set("User-Agent", c.s.userAgent())
18339	var body io.Reader = nil
18340	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
18341	if err != nil {
18342		return nil, err
18343	}
18344	reqHeaders.Set("Content-Type", "application/json")
18345	c.urlParams_.Set("alt", alt)
18346	c.urlParams_.Set("prettyPrint", "false")
18347	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18348	urls += "?" + c.urlParams_.Encode()
18349	req, err := http.NewRequest("PATCH", urls, body)
18350	if err != nil {
18351		return nil, err
18352	}
18353	req.Header = reqHeaders
18354	googleapi.Expand(req.URL, map[string]string{
18355		"profileId": strconv.FormatInt(c.profileId, 10),
18356	})
18357	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18358}
18359
18360// Do executes the "dfareporting.advertiserGroups.patch" call.
18361// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18362// status code is an error. Response headers are in either
18363// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18364// at all) in error.(*googleapi.Error).Header. Use
18365// googleapi.IsNotModified to check whether the returned error was
18366// because http.StatusNotModified was returned.
18367func (c *AdvertiserGroupsPatchCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18368	gensupport.SetOptions(c.urlParams_, opts...)
18369	res, err := c.doRequest("json")
18370	if res != nil && res.StatusCode == http.StatusNotModified {
18371		if res.Body != nil {
18372			res.Body.Close()
18373		}
18374		return nil, &googleapi.Error{
18375			Code:   res.StatusCode,
18376			Header: res.Header,
18377		}
18378	}
18379	if err != nil {
18380		return nil, err
18381	}
18382	defer googleapi.CloseBody(res)
18383	if err := googleapi.CheckResponse(res); err != nil {
18384		return nil, err
18385	}
18386	ret := &AdvertiserGroup{
18387		ServerResponse: googleapi.ServerResponse{
18388			Header:         res.Header,
18389			HTTPStatusCode: res.StatusCode,
18390		},
18391	}
18392	target := &ret
18393	if err := gensupport.DecodeResponse(target, res); err != nil {
18394		return nil, err
18395	}
18396	return ret, nil
18397	// {
18398	//   "description": "Updates an existing advertiser group. This method supports patch semantics.",
18399	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
18400	//   "httpMethod": "PATCH",
18401	//   "id": "dfareporting.advertiserGroups.patch",
18402	//   "parameterOrder": [
18403	//     "profileId",
18404	//     "id"
18405	//   ],
18406	//   "parameters": {
18407	//     "id": {
18408	//       "description": "AdvertiserGroup ID.",
18409	//       "format": "int64",
18410	//       "location": "query",
18411	//       "required": true,
18412	//       "type": "string"
18413	//     },
18414	//     "profileId": {
18415	//       "description": "User profile ID associated with this request.",
18416	//       "format": "int64",
18417	//       "location": "path",
18418	//       "required": true,
18419	//       "type": "string"
18420	//     }
18421	//   },
18422	//   "path": "userprofiles/{profileId}/advertiserGroups",
18423	//   "request": {
18424	//     "$ref": "AdvertiserGroup"
18425	//   },
18426	//   "response": {
18427	//     "$ref": "AdvertiserGroup"
18428	//   },
18429	//   "scopes": [
18430	//     "https://www.googleapis.com/auth/dfatrafficking"
18431	//   ]
18432	// }
18433
18434}
18435
18436// method id "dfareporting.advertiserGroups.update":
18437
18438type AdvertiserGroupsUpdateCall struct {
18439	s               *Service
18440	profileId       int64
18441	advertisergroup *AdvertiserGroup
18442	urlParams_      gensupport.URLParams
18443	ctx_            context.Context
18444	header_         http.Header
18445}
18446
18447// Update: Updates an existing advertiser group.
18448func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
18449	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18450	c.profileId = profileId
18451	c.advertisergroup = advertisergroup
18452	return c
18453}
18454
18455// Fields allows partial responses to be retrieved. See
18456// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18457// for more information.
18458func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
18459	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18460	return c
18461}
18462
18463// Context sets the context to be used in this call's Do method. Any
18464// pending HTTP request will be aborted if the provided context is
18465// canceled.
18466func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
18467	c.ctx_ = ctx
18468	return c
18469}
18470
18471// Header returns an http.Header that can be modified by the caller to
18472// add HTTP headers to the request.
18473func (c *AdvertiserGroupsUpdateCall) Header() http.Header {
18474	if c.header_ == nil {
18475		c.header_ = make(http.Header)
18476	}
18477	return c.header_
18478}
18479
18480func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
18481	reqHeaders := make(http.Header)
18482	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
18483	for k, v := range c.header_ {
18484		reqHeaders[k] = v
18485	}
18486	reqHeaders.Set("User-Agent", c.s.userAgent())
18487	var body io.Reader = nil
18488	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
18489	if err != nil {
18490		return nil, err
18491	}
18492	reqHeaders.Set("Content-Type", "application/json")
18493	c.urlParams_.Set("alt", alt)
18494	c.urlParams_.Set("prettyPrint", "false")
18495	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18496	urls += "?" + c.urlParams_.Encode()
18497	req, err := http.NewRequest("PUT", urls, body)
18498	if err != nil {
18499		return nil, err
18500	}
18501	req.Header = reqHeaders
18502	googleapi.Expand(req.URL, map[string]string{
18503		"profileId": strconv.FormatInt(c.profileId, 10),
18504	})
18505	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18506}
18507
18508// Do executes the "dfareporting.advertiserGroups.update" call.
18509// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18510// status code is an error. Response headers are in either
18511// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18512// at all) in error.(*googleapi.Error).Header. Use
18513// googleapi.IsNotModified to check whether the returned error was
18514// because http.StatusNotModified was returned.
18515func (c *AdvertiserGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18516	gensupport.SetOptions(c.urlParams_, opts...)
18517	res, err := c.doRequest("json")
18518	if res != nil && res.StatusCode == http.StatusNotModified {
18519		if res.Body != nil {
18520			res.Body.Close()
18521		}
18522		return nil, &googleapi.Error{
18523			Code:   res.StatusCode,
18524			Header: res.Header,
18525		}
18526	}
18527	if err != nil {
18528		return nil, err
18529	}
18530	defer googleapi.CloseBody(res)
18531	if err := googleapi.CheckResponse(res); err != nil {
18532		return nil, err
18533	}
18534	ret := &AdvertiserGroup{
18535		ServerResponse: googleapi.ServerResponse{
18536			Header:         res.Header,
18537			HTTPStatusCode: res.StatusCode,
18538		},
18539	}
18540	target := &ret
18541	if err := gensupport.DecodeResponse(target, res); err != nil {
18542		return nil, err
18543	}
18544	return ret, nil
18545	// {
18546	//   "description": "Updates an existing advertiser group.",
18547	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
18548	//   "httpMethod": "PUT",
18549	//   "id": "dfareporting.advertiserGroups.update",
18550	//   "parameterOrder": [
18551	//     "profileId"
18552	//   ],
18553	//   "parameters": {
18554	//     "profileId": {
18555	//       "description": "User profile ID associated with this request.",
18556	//       "format": "int64",
18557	//       "location": "path",
18558	//       "required": true,
18559	//       "type": "string"
18560	//     }
18561	//   },
18562	//   "path": "userprofiles/{profileId}/advertiserGroups",
18563	//   "request": {
18564	//     "$ref": "AdvertiserGroup"
18565	//   },
18566	//   "response": {
18567	//     "$ref": "AdvertiserGroup"
18568	//   },
18569	//   "scopes": [
18570	//     "https://www.googleapis.com/auth/dfatrafficking"
18571	//   ]
18572	// }
18573
18574}
18575
18576// method id "dfareporting.advertiserLandingPages.get":
18577
18578type AdvertiserLandingPagesGetCall struct {
18579	s            *Service
18580	profileId    int64
18581	id           int64
18582	urlParams_   gensupport.URLParams
18583	ifNoneMatch_ string
18584	ctx_         context.Context
18585	header_      http.Header
18586}
18587
18588// Get: Gets one landing page by ID.
18589func (r *AdvertiserLandingPagesService) Get(profileId int64, id int64) *AdvertiserLandingPagesGetCall {
18590	c := &AdvertiserLandingPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18591	c.profileId = profileId
18592	c.id = id
18593	return c
18594}
18595
18596// Fields allows partial responses to be retrieved. See
18597// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18598// for more information.
18599func (c *AdvertiserLandingPagesGetCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesGetCall {
18600	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18601	return c
18602}
18603
18604// IfNoneMatch sets the optional parameter which makes the operation
18605// fail if the object's ETag matches the given value. This is useful for
18606// getting updates only after the object has changed since the last
18607// request. Use googleapi.IsNotModified to check whether the response
18608// error from Do is the result of In-None-Match.
18609func (c *AdvertiserLandingPagesGetCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesGetCall {
18610	c.ifNoneMatch_ = entityTag
18611	return c
18612}
18613
18614// Context sets the context to be used in this call's Do method. Any
18615// pending HTTP request will be aborted if the provided context is
18616// canceled.
18617func (c *AdvertiserLandingPagesGetCall) Context(ctx context.Context) *AdvertiserLandingPagesGetCall {
18618	c.ctx_ = ctx
18619	return c
18620}
18621
18622// Header returns an http.Header that can be modified by the caller to
18623// add HTTP headers to the request.
18624func (c *AdvertiserLandingPagesGetCall) Header() http.Header {
18625	if c.header_ == nil {
18626		c.header_ = make(http.Header)
18627	}
18628	return c.header_
18629}
18630
18631func (c *AdvertiserLandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
18632	reqHeaders := make(http.Header)
18633	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
18634	for k, v := range c.header_ {
18635		reqHeaders[k] = v
18636	}
18637	reqHeaders.Set("User-Agent", c.s.userAgent())
18638	if c.ifNoneMatch_ != "" {
18639		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18640	}
18641	var body io.Reader = nil
18642	c.urlParams_.Set("alt", alt)
18643	c.urlParams_.Set("prettyPrint", "false")
18644	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages/{id}")
18645	urls += "?" + c.urlParams_.Encode()
18646	req, err := http.NewRequest("GET", urls, body)
18647	if err != nil {
18648		return nil, err
18649	}
18650	req.Header = reqHeaders
18651	googleapi.Expand(req.URL, map[string]string{
18652		"profileId": strconv.FormatInt(c.profileId, 10),
18653		"id":        strconv.FormatInt(c.id, 10),
18654	})
18655	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18656}
18657
18658// Do executes the "dfareporting.advertiserLandingPages.get" call.
18659// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
18660// status code is an error. Response headers are in either
18661// *LandingPage.ServerResponse.Header or (if a response was returned at
18662// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18663// to check whether the returned error was because
18664// http.StatusNotModified was returned.
18665func (c *AdvertiserLandingPagesGetCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
18666	gensupport.SetOptions(c.urlParams_, opts...)
18667	res, err := c.doRequest("json")
18668	if res != nil && res.StatusCode == http.StatusNotModified {
18669		if res.Body != nil {
18670			res.Body.Close()
18671		}
18672		return nil, &googleapi.Error{
18673			Code:   res.StatusCode,
18674			Header: res.Header,
18675		}
18676	}
18677	if err != nil {
18678		return nil, err
18679	}
18680	defer googleapi.CloseBody(res)
18681	if err := googleapi.CheckResponse(res); err != nil {
18682		return nil, err
18683	}
18684	ret := &LandingPage{
18685		ServerResponse: googleapi.ServerResponse{
18686			Header:         res.Header,
18687			HTTPStatusCode: res.StatusCode,
18688		},
18689	}
18690	target := &ret
18691	if err := gensupport.DecodeResponse(target, res); err != nil {
18692		return nil, err
18693	}
18694	return ret, nil
18695	// {
18696	//   "description": "Gets one landing page by ID.",
18697	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages/{id}",
18698	//   "httpMethod": "GET",
18699	//   "id": "dfareporting.advertiserLandingPages.get",
18700	//   "parameterOrder": [
18701	//     "profileId",
18702	//     "id"
18703	//   ],
18704	//   "parameters": {
18705	//     "id": {
18706	//       "description": "Landing page ID.",
18707	//       "format": "int64",
18708	//       "location": "path",
18709	//       "required": true,
18710	//       "type": "string"
18711	//     },
18712	//     "profileId": {
18713	//       "description": "User profile ID associated with this request.",
18714	//       "format": "int64",
18715	//       "location": "path",
18716	//       "required": true,
18717	//       "type": "string"
18718	//     }
18719	//   },
18720	//   "path": "userprofiles/{profileId}/advertiserLandingPages/{id}",
18721	//   "response": {
18722	//     "$ref": "LandingPage"
18723	//   },
18724	//   "scopes": [
18725	//     "https://www.googleapis.com/auth/dfatrafficking"
18726	//   ]
18727	// }
18728
18729}
18730
18731// method id "dfareporting.advertiserLandingPages.insert":
18732
18733type AdvertiserLandingPagesInsertCall struct {
18734	s           *Service
18735	profileId   int64
18736	landingpage *LandingPage
18737	urlParams_  gensupport.URLParams
18738	ctx_        context.Context
18739	header_     http.Header
18740}
18741
18742// Insert: Inserts a new landing page.
18743func (r *AdvertiserLandingPagesService) Insert(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesInsertCall {
18744	c := &AdvertiserLandingPagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18745	c.profileId = profileId
18746	c.landingpage = landingpage
18747	return c
18748}
18749
18750// Fields allows partial responses to be retrieved. See
18751// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18752// for more information.
18753func (c *AdvertiserLandingPagesInsertCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesInsertCall {
18754	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18755	return c
18756}
18757
18758// Context sets the context to be used in this call's Do method. Any
18759// pending HTTP request will be aborted if the provided context is
18760// canceled.
18761func (c *AdvertiserLandingPagesInsertCall) Context(ctx context.Context) *AdvertiserLandingPagesInsertCall {
18762	c.ctx_ = ctx
18763	return c
18764}
18765
18766// Header returns an http.Header that can be modified by the caller to
18767// add HTTP headers to the request.
18768func (c *AdvertiserLandingPagesInsertCall) Header() http.Header {
18769	if c.header_ == nil {
18770		c.header_ = make(http.Header)
18771	}
18772	return c.header_
18773}
18774
18775func (c *AdvertiserLandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
18776	reqHeaders := make(http.Header)
18777	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
18778	for k, v := range c.header_ {
18779		reqHeaders[k] = v
18780	}
18781	reqHeaders.Set("User-Agent", c.s.userAgent())
18782	var body io.Reader = nil
18783	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
18784	if err != nil {
18785		return nil, err
18786	}
18787	reqHeaders.Set("Content-Type", "application/json")
18788	c.urlParams_.Set("alt", alt)
18789	c.urlParams_.Set("prettyPrint", "false")
18790	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
18791	urls += "?" + c.urlParams_.Encode()
18792	req, err := http.NewRequest("POST", urls, body)
18793	if err != nil {
18794		return nil, err
18795	}
18796	req.Header = reqHeaders
18797	googleapi.Expand(req.URL, map[string]string{
18798		"profileId": strconv.FormatInt(c.profileId, 10),
18799	})
18800	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18801}
18802
18803// Do executes the "dfareporting.advertiserLandingPages.insert" call.
18804// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
18805// status code is an error. Response headers are in either
18806// *LandingPage.ServerResponse.Header or (if a response was returned at
18807// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18808// to check whether the returned error was because
18809// http.StatusNotModified was returned.
18810func (c *AdvertiserLandingPagesInsertCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
18811	gensupport.SetOptions(c.urlParams_, opts...)
18812	res, err := c.doRequest("json")
18813	if res != nil && res.StatusCode == http.StatusNotModified {
18814		if res.Body != nil {
18815			res.Body.Close()
18816		}
18817		return nil, &googleapi.Error{
18818			Code:   res.StatusCode,
18819			Header: res.Header,
18820		}
18821	}
18822	if err != nil {
18823		return nil, err
18824	}
18825	defer googleapi.CloseBody(res)
18826	if err := googleapi.CheckResponse(res); err != nil {
18827		return nil, err
18828	}
18829	ret := &LandingPage{
18830		ServerResponse: googleapi.ServerResponse{
18831			Header:         res.Header,
18832			HTTPStatusCode: res.StatusCode,
18833		},
18834	}
18835	target := &ret
18836	if err := gensupport.DecodeResponse(target, res); err != nil {
18837		return nil, err
18838	}
18839	return ret, nil
18840	// {
18841	//   "description": "Inserts a new landing page.",
18842	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
18843	//   "httpMethod": "POST",
18844	//   "id": "dfareporting.advertiserLandingPages.insert",
18845	//   "parameterOrder": [
18846	//     "profileId"
18847	//   ],
18848	//   "parameters": {
18849	//     "profileId": {
18850	//       "description": "User profile ID associated with this request.",
18851	//       "format": "int64",
18852	//       "location": "path",
18853	//       "required": true,
18854	//       "type": "string"
18855	//     }
18856	//   },
18857	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
18858	//   "request": {
18859	//     "$ref": "LandingPage"
18860	//   },
18861	//   "response": {
18862	//     "$ref": "LandingPage"
18863	//   },
18864	//   "scopes": [
18865	//     "https://www.googleapis.com/auth/dfatrafficking"
18866	//   ]
18867	// }
18868
18869}
18870
18871// method id "dfareporting.advertiserLandingPages.list":
18872
18873type AdvertiserLandingPagesListCall struct {
18874	s            *Service
18875	profileId    int64
18876	urlParams_   gensupport.URLParams
18877	ifNoneMatch_ string
18878	ctx_         context.Context
18879	header_      http.Header
18880}
18881
18882// List: Retrieves a list of landing pages.
18883func (r *AdvertiserLandingPagesService) List(profileId int64) *AdvertiserLandingPagesListCall {
18884	c := &AdvertiserLandingPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18885	c.profileId = profileId
18886	return c
18887}
18888
18889// AdvertiserIds sets the optional parameter "advertiserIds": Select
18890// only landing pages that belong to these advertisers.
18891func (c *AdvertiserLandingPagesListCall) AdvertiserIds(advertiserIds ...int64) *AdvertiserLandingPagesListCall {
18892	var advertiserIds_ []string
18893	for _, v := range advertiserIds {
18894		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
18895	}
18896	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
18897	return c
18898}
18899
18900// Archived sets the optional parameter "archived": Select only archived
18901// landing pages. Don't set this field to select both archived and
18902// non-archived landing pages.
18903func (c *AdvertiserLandingPagesListCall) Archived(archived bool) *AdvertiserLandingPagesListCall {
18904	c.urlParams_.Set("archived", fmt.Sprint(archived))
18905	return c
18906}
18907
18908// CampaignIds sets the optional parameter "campaignIds": Select only
18909// landing pages that are associated with these campaigns.
18910func (c *AdvertiserLandingPagesListCall) CampaignIds(campaignIds ...int64) *AdvertiserLandingPagesListCall {
18911	var campaignIds_ []string
18912	for _, v := range campaignIds {
18913		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
18914	}
18915	c.urlParams_.SetMulti("campaignIds", campaignIds_)
18916	return c
18917}
18918
18919// Ids sets the optional parameter "ids": Select only landing pages with
18920// these IDs.
18921func (c *AdvertiserLandingPagesListCall) Ids(ids ...int64) *AdvertiserLandingPagesListCall {
18922	var ids_ []string
18923	for _, v := range ids {
18924		ids_ = append(ids_, fmt.Sprint(v))
18925	}
18926	c.urlParams_.SetMulti("ids", ids_)
18927	return c
18928}
18929
18930// MaxResults sets the optional parameter "maxResults": Maximum number
18931// of results to return.
18932func (c *AdvertiserLandingPagesListCall) MaxResults(maxResults int64) *AdvertiserLandingPagesListCall {
18933	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
18934	return c
18935}
18936
18937// PageToken sets the optional parameter "pageToken": Value of the
18938// nextPageToken from the previous result page.
18939func (c *AdvertiserLandingPagesListCall) PageToken(pageToken string) *AdvertiserLandingPagesListCall {
18940	c.urlParams_.Set("pageToken", pageToken)
18941	return c
18942}
18943
18944// SearchString sets the optional parameter "searchString": Allows
18945// searching for landing pages by name or ID. Wildcards (*) are allowed.
18946// For example, "landingpage*2017" will return landing pages with names
18947// like "landingpage July 2017", "landingpage March 2017", or simply
18948// "landingpage 2017". Most of the searches also add wildcards
18949// implicitly at the start and the end of the search string. For
18950// example, a search string of "landingpage" will match campaigns with
18951// name "my landingpage", "landingpage 2015", or simply "landingpage".
18952func (c *AdvertiserLandingPagesListCall) SearchString(searchString string) *AdvertiserLandingPagesListCall {
18953	c.urlParams_.Set("searchString", searchString)
18954	return c
18955}
18956
18957// SortField sets the optional parameter "sortField": Field by which to
18958// sort the list.
18959//
18960// Possible values:
18961//   "ID" (default)
18962//   "NAME"
18963func (c *AdvertiserLandingPagesListCall) SortField(sortField string) *AdvertiserLandingPagesListCall {
18964	c.urlParams_.Set("sortField", sortField)
18965	return c
18966}
18967
18968// SortOrder sets the optional parameter "sortOrder": Order of sorted
18969// results.
18970//
18971// Possible values:
18972//   "ASCENDING" (default)
18973//   "DESCENDING"
18974func (c *AdvertiserLandingPagesListCall) SortOrder(sortOrder string) *AdvertiserLandingPagesListCall {
18975	c.urlParams_.Set("sortOrder", sortOrder)
18976	return c
18977}
18978
18979// SubaccountId sets the optional parameter "subaccountId": Select only
18980// landing pages that belong to this subaccount.
18981func (c *AdvertiserLandingPagesListCall) SubaccountId(subaccountId int64) *AdvertiserLandingPagesListCall {
18982	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
18983	return c
18984}
18985
18986// Fields allows partial responses to be retrieved. See
18987// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18988// for more information.
18989func (c *AdvertiserLandingPagesListCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesListCall {
18990	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18991	return c
18992}
18993
18994// IfNoneMatch sets the optional parameter which makes the operation
18995// fail if the object's ETag matches the given value. This is useful for
18996// getting updates only after the object has changed since the last
18997// request. Use googleapi.IsNotModified to check whether the response
18998// error from Do is the result of In-None-Match.
18999func (c *AdvertiserLandingPagesListCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesListCall {
19000	c.ifNoneMatch_ = entityTag
19001	return c
19002}
19003
19004// Context sets the context to be used in this call's Do method. Any
19005// pending HTTP request will be aborted if the provided context is
19006// canceled.
19007func (c *AdvertiserLandingPagesListCall) Context(ctx context.Context) *AdvertiserLandingPagesListCall {
19008	c.ctx_ = ctx
19009	return c
19010}
19011
19012// Header returns an http.Header that can be modified by the caller to
19013// add HTTP headers to the request.
19014func (c *AdvertiserLandingPagesListCall) Header() http.Header {
19015	if c.header_ == nil {
19016		c.header_ = make(http.Header)
19017	}
19018	return c.header_
19019}
19020
19021func (c *AdvertiserLandingPagesListCall) doRequest(alt string) (*http.Response, error) {
19022	reqHeaders := make(http.Header)
19023	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
19024	for k, v := range c.header_ {
19025		reqHeaders[k] = v
19026	}
19027	reqHeaders.Set("User-Agent", c.s.userAgent())
19028	if c.ifNoneMatch_ != "" {
19029		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19030	}
19031	var body io.Reader = nil
19032	c.urlParams_.Set("alt", alt)
19033	c.urlParams_.Set("prettyPrint", "false")
19034	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19035	urls += "?" + c.urlParams_.Encode()
19036	req, err := http.NewRequest("GET", urls, body)
19037	if err != nil {
19038		return nil, err
19039	}
19040	req.Header = reqHeaders
19041	googleapi.Expand(req.URL, map[string]string{
19042		"profileId": strconv.FormatInt(c.profileId, 10),
19043	})
19044	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19045}
19046
19047// Do executes the "dfareporting.advertiserLandingPages.list" call.
19048// Exactly one of *AdvertiserLandingPagesListResponse or error will be
19049// non-nil. Any non-2xx status code is an error. Response headers are in
19050// either *AdvertiserLandingPagesListResponse.ServerResponse.Header or
19051// (if a response was returned at all) in
19052// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19053// whether the returned error was because http.StatusNotModified was
19054// returned.
19055func (c *AdvertiserLandingPagesListCall) Do(opts ...googleapi.CallOption) (*AdvertiserLandingPagesListResponse, error) {
19056	gensupport.SetOptions(c.urlParams_, opts...)
19057	res, err := c.doRequest("json")
19058	if res != nil && res.StatusCode == http.StatusNotModified {
19059		if res.Body != nil {
19060			res.Body.Close()
19061		}
19062		return nil, &googleapi.Error{
19063			Code:   res.StatusCode,
19064			Header: res.Header,
19065		}
19066	}
19067	if err != nil {
19068		return nil, err
19069	}
19070	defer googleapi.CloseBody(res)
19071	if err := googleapi.CheckResponse(res); err != nil {
19072		return nil, err
19073	}
19074	ret := &AdvertiserLandingPagesListResponse{
19075		ServerResponse: googleapi.ServerResponse{
19076			Header:         res.Header,
19077			HTTPStatusCode: res.StatusCode,
19078		},
19079	}
19080	target := &ret
19081	if err := gensupport.DecodeResponse(target, res); err != nil {
19082		return nil, err
19083	}
19084	return ret, nil
19085	// {
19086	//   "description": "Retrieves a list of landing pages.",
19087	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
19088	//   "httpMethod": "GET",
19089	//   "id": "dfareporting.advertiserLandingPages.list",
19090	//   "parameterOrder": [
19091	//     "profileId"
19092	//   ],
19093	//   "parameters": {
19094	//     "advertiserIds": {
19095	//       "description": "Select only landing pages that belong to these advertisers.",
19096	//       "format": "int64",
19097	//       "location": "query",
19098	//       "repeated": true,
19099	//       "type": "string"
19100	//     },
19101	//     "archived": {
19102	//       "description": "Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages.",
19103	//       "location": "query",
19104	//       "type": "boolean"
19105	//     },
19106	//     "campaignIds": {
19107	//       "description": "Select only landing pages that are associated with these campaigns.",
19108	//       "format": "int64",
19109	//       "location": "query",
19110	//       "repeated": true,
19111	//       "type": "string"
19112	//     },
19113	//     "ids": {
19114	//       "description": "Select only landing pages with these IDs.",
19115	//       "format": "int64",
19116	//       "location": "query",
19117	//       "repeated": true,
19118	//       "type": "string"
19119	//     },
19120	//     "maxResults": {
19121	//       "default": "1000",
19122	//       "description": "Maximum number of results to return.",
19123	//       "format": "int32",
19124	//       "location": "query",
19125	//       "maximum": "1000",
19126	//       "minimum": "0",
19127	//       "type": "integer"
19128	//     },
19129	//     "pageToken": {
19130	//       "description": "Value of the nextPageToken from the previous result page.",
19131	//       "location": "query",
19132	//       "type": "string"
19133	//     },
19134	//     "profileId": {
19135	//       "description": "User profile ID associated with this request.",
19136	//       "format": "int64",
19137	//       "location": "path",
19138	//       "required": true,
19139	//       "type": "string"
19140	//     },
19141	//     "searchString": {
19142	//       "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\".",
19143	//       "location": "query",
19144	//       "type": "string"
19145	//     },
19146	//     "sortField": {
19147	//       "default": "ID",
19148	//       "description": "Field by which to sort the list.",
19149	//       "enum": [
19150	//         "ID",
19151	//         "NAME"
19152	//       ],
19153	//       "enumDescriptions": [
19154	//         "",
19155	//         ""
19156	//       ],
19157	//       "location": "query",
19158	//       "type": "string"
19159	//     },
19160	//     "sortOrder": {
19161	//       "default": "ASCENDING",
19162	//       "description": "Order of sorted results.",
19163	//       "enum": [
19164	//         "ASCENDING",
19165	//         "DESCENDING"
19166	//       ],
19167	//       "enumDescriptions": [
19168	//         "",
19169	//         ""
19170	//       ],
19171	//       "location": "query",
19172	//       "type": "string"
19173	//     },
19174	//     "subaccountId": {
19175	//       "description": "Select only landing pages that belong to this subaccount.",
19176	//       "format": "int64",
19177	//       "location": "query",
19178	//       "type": "string"
19179	//     }
19180	//   },
19181	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19182	//   "response": {
19183	//     "$ref": "AdvertiserLandingPagesListResponse"
19184	//   },
19185	//   "scopes": [
19186	//     "https://www.googleapis.com/auth/dfatrafficking"
19187	//   ]
19188	// }
19189
19190}
19191
19192// Pages invokes f for each page of results.
19193// A non-nil error returned from f will halt the iteration.
19194// The provided context supersedes any context provided to the Context method.
19195func (c *AdvertiserLandingPagesListCall) Pages(ctx context.Context, f func(*AdvertiserLandingPagesListResponse) error) error {
19196	c.ctx_ = ctx
19197	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
19198	for {
19199		x, err := c.Do()
19200		if err != nil {
19201			return err
19202		}
19203		if err := f(x); err != nil {
19204			return err
19205		}
19206		if x.NextPageToken == "" {
19207			return nil
19208		}
19209		c.PageToken(x.NextPageToken)
19210	}
19211}
19212
19213// method id "dfareporting.advertiserLandingPages.patch":
19214
19215type AdvertiserLandingPagesPatchCall struct {
19216	s           *Service
19217	profileId   int64
19218	landingpage *LandingPage
19219	urlParams_  gensupport.URLParams
19220	ctx_        context.Context
19221	header_     http.Header
19222}
19223
19224// Patch: Updates an existing advertiser landing page. This method
19225// supports patch semantics.
19226func (r *AdvertiserLandingPagesService) Patch(profileId int64, id int64, landingpage *LandingPage) *AdvertiserLandingPagesPatchCall {
19227	c := &AdvertiserLandingPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19228	c.profileId = profileId
19229	c.urlParams_.Set("id", fmt.Sprint(id))
19230	c.landingpage = landingpage
19231	return c
19232}
19233
19234// Fields allows partial responses to be retrieved. See
19235// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19236// for more information.
19237func (c *AdvertiserLandingPagesPatchCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesPatchCall {
19238	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19239	return c
19240}
19241
19242// Context sets the context to be used in this call's Do method. Any
19243// pending HTTP request will be aborted if the provided context is
19244// canceled.
19245func (c *AdvertiserLandingPagesPatchCall) Context(ctx context.Context) *AdvertiserLandingPagesPatchCall {
19246	c.ctx_ = ctx
19247	return c
19248}
19249
19250// Header returns an http.Header that can be modified by the caller to
19251// add HTTP headers to the request.
19252func (c *AdvertiserLandingPagesPatchCall) Header() http.Header {
19253	if c.header_ == nil {
19254		c.header_ = make(http.Header)
19255	}
19256	return c.header_
19257}
19258
19259func (c *AdvertiserLandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
19260	reqHeaders := make(http.Header)
19261	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
19262	for k, v := range c.header_ {
19263		reqHeaders[k] = v
19264	}
19265	reqHeaders.Set("User-Agent", c.s.userAgent())
19266	var body io.Reader = nil
19267	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
19268	if err != nil {
19269		return nil, err
19270	}
19271	reqHeaders.Set("Content-Type", "application/json")
19272	c.urlParams_.Set("alt", alt)
19273	c.urlParams_.Set("prettyPrint", "false")
19274	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19275	urls += "?" + c.urlParams_.Encode()
19276	req, err := http.NewRequest("PATCH", urls, body)
19277	if err != nil {
19278		return nil, err
19279	}
19280	req.Header = reqHeaders
19281	googleapi.Expand(req.URL, map[string]string{
19282		"profileId": strconv.FormatInt(c.profileId, 10),
19283	})
19284	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19285}
19286
19287// Do executes the "dfareporting.advertiserLandingPages.patch" call.
19288// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
19289// status code is an error. Response headers are in either
19290// *LandingPage.ServerResponse.Header or (if a response was returned at
19291// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19292// to check whether the returned error was because
19293// http.StatusNotModified was returned.
19294func (c *AdvertiserLandingPagesPatchCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
19295	gensupport.SetOptions(c.urlParams_, opts...)
19296	res, err := c.doRequest("json")
19297	if res != nil && res.StatusCode == http.StatusNotModified {
19298		if res.Body != nil {
19299			res.Body.Close()
19300		}
19301		return nil, &googleapi.Error{
19302			Code:   res.StatusCode,
19303			Header: res.Header,
19304		}
19305	}
19306	if err != nil {
19307		return nil, err
19308	}
19309	defer googleapi.CloseBody(res)
19310	if err := googleapi.CheckResponse(res); err != nil {
19311		return nil, err
19312	}
19313	ret := &LandingPage{
19314		ServerResponse: googleapi.ServerResponse{
19315			Header:         res.Header,
19316			HTTPStatusCode: res.StatusCode,
19317		},
19318	}
19319	target := &ret
19320	if err := gensupport.DecodeResponse(target, res); err != nil {
19321		return nil, err
19322	}
19323	return ret, nil
19324	// {
19325	//   "description": "Updates an existing advertiser landing page. This method supports patch semantics.",
19326	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
19327	//   "httpMethod": "PATCH",
19328	//   "id": "dfareporting.advertiserLandingPages.patch",
19329	//   "parameterOrder": [
19330	//     "profileId",
19331	//     "id"
19332	//   ],
19333	//   "parameters": {
19334	//     "id": {
19335	//       "description": "LandingPage ID.",
19336	//       "format": "int64",
19337	//       "location": "query",
19338	//       "required": true,
19339	//       "type": "string"
19340	//     },
19341	//     "profileId": {
19342	//       "description": "User profile ID associated with this request.",
19343	//       "format": "int64",
19344	//       "location": "path",
19345	//       "required": true,
19346	//       "type": "string"
19347	//     }
19348	//   },
19349	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19350	//   "request": {
19351	//     "$ref": "LandingPage"
19352	//   },
19353	//   "response": {
19354	//     "$ref": "LandingPage"
19355	//   },
19356	//   "scopes": [
19357	//     "https://www.googleapis.com/auth/dfatrafficking"
19358	//   ]
19359	// }
19360
19361}
19362
19363// method id "dfareporting.advertiserLandingPages.update":
19364
19365type AdvertiserLandingPagesUpdateCall struct {
19366	s           *Service
19367	profileId   int64
19368	landingpage *LandingPage
19369	urlParams_  gensupport.URLParams
19370	ctx_        context.Context
19371	header_     http.Header
19372}
19373
19374// Update: Updates an existing landing page.
19375func (r *AdvertiserLandingPagesService) Update(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesUpdateCall {
19376	c := &AdvertiserLandingPagesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19377	c.profileId = profileId
19378	c.landingpage = landingpage
19379	return c
19380}
19381
19382// Fields allows partial responses to be retrieved. See
19383// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19384// for more information.
19385func (c *AdvertiserLandingPagesUpdateCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesUpdateCall {
19386	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19387	return c
19388}
19389
19390// Context sets the context to be used in this call's Do method. Any
19391// pending HTTP request will be aborted if the provided context is
19392// canceled.
19393func (c *AdvertiserLandingPagesUpdateCall) Context(ctx context.Context) *AdvertiserLandingPagesUpdateCall {
19394	c.ctx_ = ctx
19395	return c
19396}
19397
19398// Header returns an http.Header that can be modified by the caller to
19399// add HTTP headers to the request.
19400func (c *AdvertiserLandingPagesUpdateCall) Header() http.Header {
19401	if c.header_ == nil {
19402		c.header_ = make(http.Header)
19403	}
19404	return c.header_
19405}
19406
19407func (c *AdvertiserLandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
19408	reqHeaders := make(http.Header)
19409	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
19410	for k, v := range c.header_ {
19411		reqHeaders[k] = v
19412	}
19413	reqHeaders.Set("User-Agent", c.s.userAgent())
19414	var body io.Reader = nil
19415	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
19416	if err != nil {
19417		return nil, err
19418	}
19419	reqHeaders.Set("Content-Type", "application/json")
19420	c.urlParams_.Set("alt", alt)
19421	c.urlParams_.Set("prettyPrint", "false")
19422	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19423	urls += "?" + c.urlParams_.Encode()
19424	req, err := http.NewRequest("PUT", urls, body)
19425	if err != nil {
19426		return nil, err
19427	}
19428	req.Header = reqHeaders
19429	googleapi.Expand(req.URL, map[string]string{
19430		"profileId": strconv.FormatInt(c.profileId, 10),
19431	})
19432	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19433}
19434
19435// Do executes the "dfareporting.advertiserLandingPages.update" call.
19436// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
19437// status code is an error. Response headers are in either
19438// *LandingPage.ServerResponse.Header or (if a response was returned at
19439// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19440// to check whether the returned error was because
19441// http.StatusNotModified was returned.
19442func (c *AdvertiserLandingPagesUpdateCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
19443	gensupport.SetOptions(c.urlParams_, opts...)
19444	res, err := c.doRequest("json")
19445	if res != nil && res.StatusCode == http.StatusNotModified {
19446		if res.Body != nil {
19447			res.Body.Close()
19448		}
19449		return nil, &googleapi.Error{
19450			Code:   res.StatusCode,
19451			Header: res.Header,
19452		}
19453	}
19454	if err != nil {
19455		return nil, err
19456	}
19457	defer googleapi.CloseBody(res)
19458	if err := googleapi.CheckResponse(res); err != nil {
19459		return nil, err
19460	}
19461	ret := &LandingPage{
19462		ServerResponse: googleapi.ServerResponse{
19463			Header:         res.Header,
19464			HTTPStatusCode: res.StatusCode,
19465		},
19466	}
19467	target := &ret
19468	if err := gensupport.DecodeResponse(target, res); err != nil {
19469		return nil, err
19470	}
19471	return ret, nil
19472	// {
19473	//   "description": "Updates an existing landing page.",
19474	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
19475	//   "httpMethod": "PUT",
19476	//   "id": "dfareporting.advertiserLandingPages.update",
19477	//   "parameterOrder": [
19478	//     "profileId"
19479	//   ],
19480	//   "parameters": {
19481	//     "profileId": {
19482	//       "description": "User profile ID associated with this request.",
19483	//       "format": "int64",
19484	//       "location": "path",
19485	//       "required": true,
19486	//       "type": "string"
19487	//     }
19488	//   },
19489	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19490	//   "request": {
19491	//     "$ref": "LandingPage"
19492	//   },
19493	//   "response": {
19494	//     "$ref": "LandingPage"
19495	//   },
19496	//   "scopes": [
19497	//     "https://www.googleapis.com/auth/dfatrafficking"
19498	//   ]
19499	// }
19500
19501}
19502
19503// method id "dfareporting.advertisers.get":
19504
19505type AdvertisersGetCall struct {
19506	s            *Service
19507	profileId    int64
19508	id           int64
19509	urlParams_   gensupport.URLParams
19510	ifNoneMatch_ string
19511	ctx_         context.Context
19512	header_      http.Header
19513}
19514
19515// Get: Gets one advertiser by ID.
19516func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
19517	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19518	c.profileId = profileId
19519	c.id = id
19520	return c
19521}
19522
19523// Fields allows partial responses to be retrieved. See
19524// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19525// for more information.
19526func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
19527	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19528	return c
19529}
19530
19531// IfNoneMatch sets the optional parameter which makes the operation
19532// fail if the object's ETag matches the given value. This is useful for
19533// getting updates only after the object has changed since the last
19534// request. Use googleapi.IsNotModified to check whether the response
19535// error from Do is the result of In-None-Match.
19536func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
19537	c.ifNoneMatch_ = entityTag
19538	return c
19539}
19540
19541// Context sets the context to be used in this call's Do method. Any
19542// pending HTTP request will be aborted if the provided context is
19543// canceled.
19544func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
19545	c.ctx_ = ctx
19546	return c
19547}
19548
19549// Header returns an http.Header that can be modified by the caller to
19550// add HTTP headers to the request.
19551func (c *AdvertisersGetCall) Header() http.Header {
19552	if c.header_ == nil {
19553		c.header_ = make(http.Header)
19554	}
19555	return c.header_
19556}
19557
19558func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
19559	reqHeaders := make(http.Header)
19560	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
19561	for k, v := range c.header_ {
19562		reqHeaders[k] = v
19563	}
19564	reqHeaders.Set("User-Agent", c.s.userAgent())
19565	if c.ifNoneMatch_ != "" {
19566		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19567	}
19568	var body io.Reader = nil
19569	c.urlParams_.Set("alt", alt)
19570	c.urlParams_.Set("prettyPrint", "false")
19571	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
19572	urls += "?" + c.urlParams_.Encode()
19573	req, err := http.NewRequest("GET", urls, body)
19574	if err != nil {
19575		return nil, err
19576	}
19577	req.Header = reqHeaders
19578	googleapi.Expand(req.URL, map[string]string{
19579		"profileId": strconv.FormatInt(c.profileId, 10),
19580		"id":        strconv.FormatInt(c.id, 10),
19581	})
19582	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19583}
19584
19585// Do executes the "dfareporting.advertisers.get" call.
19586// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
19587// status code is an error. Response headers are in either
19588// *Advertiser.ServerResponse.Header or (if a response was returned at
19589// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19590// to check whether the returned error was because
19591// http.StatusNotModified was returned.
19592func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
19593	gensupport.SetOptions(c.urlParams_, opts...)
19594	res, err := c.doRequest("json")
19595	if res != nil && res.StatusCode == http.StatusNotModified {
19596		if res.Body != nil {
19597			res.Body.Close()
19598		}
19599		return nil, &googleapi.Error{
19600			Code:   res.StatusCode,
19601			Header: res.Header,
19602		}
19603	}
19604	if err != nil {
19605		return nil, err
19606	}
19607	defer googleapi.CloseBody(res)
19608	if err := googleapi.CheckResponse(res); err != nil {
19609		return nil, err
19610	}
19611	ret := &Advertiser{
19612		ServerResponse: googleapi.ServerResponse{
19613			Header:         res.Header,
19614			HTTPStatusCode: res.StatusCode,
19615		},
19616	}
19617	target := &ret
19618	if err := gensupport.DecodeResponse(target, res); err != nil {
19619		return nil, err
19620	}
19621	return ret, nil
19622	// {
19623	//   "description": "Gets one advertiser by ID.",
19624	//   "flatPath": "userprofiles/{profileId}/advertisers/{id}",
19625	//   "httpMethod": "GET",
19626	//   "id": "dfareporting.advertisers.get",
19627	//   "parameterOrder": [
19628	//     "profileId",
19629	//     "id"
19630	//   ],
19631	//   "parameters": {
19632	//     "id": {
19633	//       "description": "Advertiser ID.",
19634	//       "format": "int64",
19635	//       "location": "path",
19636	//       "required": true,
19637	//       "type": "string"
19638	//     },
19639	//     "profileId": {
19640	//       "description": "User profile ID associated with this request.",
19641	//       "format": "int64",
19642	//       "location": "path",
19643	//       "required": true,
19644	//       "type": "string"
19645	//     }
19646	//   },
19647	//   "path": "userprofiles/{profileId}/advertisers/{id}",
19648	//   "response": {
19649	//     "$ref": "Advertiser"
19650	//   },
19651	//   "scopes": [
19652	//     "https://www.googleapis.com/auth/dfatrafficking"
19653	//   ]
19654	// }
19655
19656}
19657
19658// method id "dfareporting.advertisers.insert":
19659
19660type AdvertisersInsertCall struct {
19661	s          *Service
19662	profileId  int64
19663	advertiser *Advertiser
19664	urlParams_ gensupport.URLParams
19665	ctx_       context.Context
19666	header_    http.Header
19667}
19668
19669// Insert: Inserts a new advertiser.
19670func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
19671	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19672	c.profileId = profileId
19673	c.advertiser = advertiser
19674	return c
19675}
19676
19677// Fields allows partial responses to be retrieved. See
19678// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19679// for more information.
19680func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
19681	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19682	return c
19683}
19684
19685// Context sets the context to be used in this call's Do method. Any
19686// pending HTTP request will be aborted if the provided context is
19687// canceled.
19688func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
19689	c.ctx_ = ctx
19690	return c
19691}
19692
19693// Header returns an http.Header that can be modified by the caller to
19694// add HTTP headers to the request.
19695func (c *AdvertisersInsertCall) Header() http.Header {
19696	if c.header_ == nil {
19697		c.header_ = make(http.Header)
19698	}
19699	return c.header_
19700}
19701
19702func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
19703	reqHeaders := make(http.Header)
19704	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
19705	for k, v := range c.header_ {
19706		reqHeaders[k] = v
19707	}
19708	reqHeaders.Set("User-Agent", c.s.userAgent())
19709	var body io.Reader = nil
19710	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
19711	if err != nil {
19712		return nil, err
19713	}
19714	reqHeaders.Set("Content-Type", "application/json")
19715	c.urlParams_.Set("alt", alt)
19716	c.urlParams_.Set("prettyPrint", "false")
19717	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
19718	urls += "?" + c.urlParams_.Encode()
19719	req, err := http.NewRequest("POST", urls, body)
19720	if err != nil {
19721		return nil, err
19722	}
19723	req.Header = reqHeaders
19724	googleapi.Expand(req.URL, map[string]string{
19725		"profileId": strconv.FormatInt(c.profileId, 10),
19726	})
19727	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19728}
19729
19730// Do executes the "dfareporting.advertisers.insert" call.
19731// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
19732// status code is an error. Response headers are in either
19733// *Advertiser.ServerResponse.Header or (if a response was returned at
19734// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19735// to check whether the returned error was because
19736// http.StatusNotModified was returned.
19737func (c *AdvertisersInsertCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
19738	gensupport.SetOptions(c.urlParams_, opts...)
19739	res, err := c.doRequest("json")
19740	if res != nil && res.StatusCode == http.StatusNotModified {
19741		if res.Body != nil {
19742			res.Body.Close()
19743		}
19744		return nil, &googleapi.Error{
19745			Code:   res.StatusCode,
19746			Header: res.Header,
19747		}
19748	}
19749	if err != nil {
19750		return nil, err
19751	}
19752	defer googleapi.CloseBody(res)
19753	if err := googleapi.CheckResponse(res); err != nil {
19754		return nil, err
19755	}
19756	ret := &Advertiser{
19757		ServerResponse: googleapi.ServerResponse{
19758			Header:         res.Header,
19759			HTTPStatusCode: res.StatusCode,
19760		},
19761	}
19762	target := &ret
19763	if err := gensupport.DecodeResponse(target, res); err != nil {
19764		return nil, err
19765	}
19766	return ret, nil
19767	// {
19768	//   "description": "Inserts a new advertiser.",
19769	//   "flatPath": "userprofiles/{profileId}/advertisers",
19770	//   "httpMethod": "POST",
19771	//   "id": "dfareporting.advertisers.insert",
19772	//   "parameterOrder": [
19773	//     "profileId"
19774	//   ],
19775	//   "parameters": {
19776	//     "profileId": {
19777	//       "description": "User profile ID associated with this request.",
19778	//       "format": "int64",
19779	//       "location": "path",
19780	//       "required": true,
19781	//       "type": "string"
19782	//     }
19783	//   },
19784	//   "path": "userprofiles/{profileId}/advertisers",
19785	//   "request": {
19786	//     "$ref": "Advertiser"
19787	//   },
19788	//   "response": {
19789	//     "$ref": "Advertiser"
19790	//   },
19791	//   "scopes": [
19792	//     "https://www.googleapis.com/auth/dfatrafficking"
19793	//   ]
19794	// }
19795
19796}
19797
19798// method id "dfareporting.advertisers.list":
19799
19800type AdvertisersListCall struct {
19801	s            *Service
19802	profileId    int64
19803	urlParams_   gensupport.URLParams
19804	ifNoneMatch_ string
19805	ctx_         context.Context
19806	header_      http.Header
19807}
19808
19809// List: Retrieves a list of advertisers, possibly filtered. This method
19810// supports paging.
19811func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
19812	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19813	c.profileId = profileId
19814	return c
19815}
19816
19817// AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
19818// Select only advertisers with these advertiser group IDs.
19819func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *AdvertisersListCall {
19820	var advertiserGroupIds_ []string
19821	for _, v := range advertiserGroupIds {
19822		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
19823	}
19824	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
19825	return c
19826}
19827
19828// FloodlightConfigurationIds sets the optional parameter
19829// "floodlightConfigurationIds": Select only advertisers with these
19830// floodlight configuration IDs.
19831func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds ...int64) *AdvertisersListCall {
19832	var floodlightConfigurationIds_ []string
19833	for _, v := range floodlightConfigurationIds {
19834		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprint(v))
19835	}
19836	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
19837	return c
19838}
19839
19840// Ids sets the optional parameter "ids": Select only advertisers with
19841// these IDs.
19842func (c *AdvertisersListCall) Ids(ids ...int64) *AdvertisersListCall {
19843	var ids_ []string
19844	for _, v := range ids {
19845		ids_ = append(ids_, fmt.Sprint(v))
19846	}
19847	c.urlParams_.SetMulti("ids", ids_)
19848	return c
19849}
19850
19851// IncludeAdvertisersWithoutGroupsOnly sets the optional parameter
19852// "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
19853// do not belong to any advertiser group.
19854func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
19855	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprint(includeAdvertisersWithoutGroupsOnly))
19856	return c
19857}
19858
19859// MaxResults sets the optional parameter "maxResults": Maximum number
19860// of results to return.
19861func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
19862	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
19863	return c
19864}
19865
19866// OnlyParent sets the optional parameter "onlyParent": Select only
19867// advertisers which use another advertiser's floodlight configuration.
19868func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
19869	c.urlParams_.Set("onlyParent", fmt.Sprint(onlyParent))
19870	return c
19871}
19872
19873// PageToken sets the optional parameter "pageToken": Value of the
19874// nextPageToken from the previous result page.
19875func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
19876	c.urlParams_.Set("pageToken", pageToken)
19877	return c
19878}
19879
19880// SearchString sets the optional parameter "searchString": Allows
19881// searching for objects by name or ID. Wildcards (*) are allowed. For
19882// example, "advertiser*2015" will return objects with names like
19883// "advertiser June 2015", "advertiser April 2015", or simply
19884// "advertiser 2015". Most of the searches also add wildcards implicitly
19885// at the start and the end of the search string. For example, a search
19886// string of "advertiser" will match objects with name "my advertiser",
19887// "advertiser 2015", or simply "advertiser" .
19888func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
19889	c.urlParams_.Set("searchString", searchString)
19890	return c
19891}
19892
19893// SortField sets the optional parameter "sortField": Field by which to
19894// sort the list.
19895//
19896// Possible values:
19897//   "ID" (default)
19898//   "NAME"
19899func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
19900	c.urlParams_.Set("sortField", sortField)
19901	return c
19902}
19903
19904// SortOrder sets the optional parameter "sortOrder": Order of sorted
19905// results.
19906//
19907// Possible values:
19908//   "ASCENDING" (default)
19909//   "DESCENDING"
19910func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
19911	c.urlParams_.Set("sortOrder", sortOrder)
19912	return c
19913}
19914
19915// Status sets the optional parameter "status": Select only advertisers
19916// with the specified status.
19917//
19918// Possible values:
19919//   "APPROVED"
19920//   "ON_HOLD"
19921func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
19922	c.urlParams_.Set("status", status)
19923	return c
19924}
19925
19926// SubaccountId sets the optional parameter "subaccountId": Select only
19927// advertisers with these subaccount IDs.
19928func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
19929	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
19930	return c
19931}
19932
19933// Fields allows partial responses to be retrieved. See
19934// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19935// for more information.
19936func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
19937	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19938	return c
19939}
19940
19941// IfNoneMatch sets the optional parameter which makes the operation
19942// fail if the object's ETag matches the given value. This is useful for
19943// getting updates only after the object has changed since the last
19944// request. Use googleapi.IsNotModified to check whether the response
19945// error from Do is the result of In-None-Match.
19946func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
19947	c.ifNoneMatch_ = entityTag
19948	return c
19949}
19950
19951// Context sets the context to be used in this call's Do method. Any
19952// pending HTTP request will be aborted if the provided context is
19953// canceled.
19954func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
19955	c.ctx_ = ctx
19956	return c
19957}
19958
19959// Header returns an http.Header that can be modified by the caller to
19960// add HTTP headers to the request.
19961func (c *AdvertisersListCall) Header() http.Header {
19962	if c.header_ == nil {
19963		c.header_ = make(http.Header)
19964	}
19965	return c.header_
19966}
19967
19968func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
19969	reqHeaders := make(http.Header)
19970	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
19971	for k, v := range c.header_ {
19972		reqHeaders[k] = v
19973	}
19974	reqHeaders.Set("User-Agent", c.s.userAgent())
19975	if c.ifNoneMatch_ != "" {
19976		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19977	}
19978	var body io.Reader = nil
19979	c.urlParams_.Set("alt", alt)
19980	c.urlParams_.Set("prettyPrint", "false")
19981	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
19982	urls += "?" + c.urlParams_.Encode()
19983	req, err := http.NewRequest("GET", urls, body)
19984	if err != nil {
19985		return nil, err
19986	}
19987	req.Header = reqHeaders
19988	googleapi.Expand(req.URL, map[string]string{
19989		"profileId": strconv.FormatInt(c.profileId, 10),
19990	})
19991	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19992}
19993
19994// Do executes the "dfareporting.advertisers.list" call.
19995// Exactly one of *AdvertisersListResponse or error will be non-nil. Any
19996// non-2xx status code is an error. Response headers are in either
19997// *AdvertisersListResponse.ServerResponse.Header or (if a response was
19998// returned at all) in error.(*googleapi.Error).Header. Use
19999// googleapi.IsNotModified to check whether the returned error was
20000// because http.StatusNotModified was returned.
20001func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*AdvertisersListResponse, error) {
20002	gensupport.SetOptions(c.urlParams_, opts...)
20003	res, err := c.doRequest("json")
20004	if res != nil && res.StatusCode == http.StatusNotModified {
20005		if res.Body != nil {
20006			res.Body.Close()
20007		}
20008		return nil, &googleapi.Error{
20009			Code:   res.StatusCode,
20010			Header: res.Header,
20011		}
20012	}
20013	if err != nil {
20014		return nil, err
20015	}
20016	defer googleapi.CloseBody(res)
20017	if err := googleapi.CheckResponse(res); err != nil {
20018		return nil, err
20019	}
20020	ret := &AdvertisersListResponse{
20021		ServerResponse: googleapi.ServerResponse{
20022			Header:         res.Header,
20023			HTTPStatusCode: res.StatusCode,
20024		},
20025	}
20026	target := &ret
20027	if err := gensupport.DecodeResponse(target, res); err != nil {
20028		return nil, err
20029	}
20030	return ret, nil
20031	// {
20032	//   "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
20033	//   "flatPath": "userprofiles/{profileId}/advertisers",
20034	//   "httpMethod": "GET",
20035	//   "id": "dfareporting.advertisers.list",
20036	//   "parameterOrder": [
20037	//     "profileId"
20038	//   ],
20039	//   "parameters": {
20040	//     "advertiserGroupIds": {
20041	//       "description": "Select only advertisers with these advertiser group IDs.",
20042	//       "format": "int64",
20043	//       "location": "query",
20044	//       "repeated": true,
20045	//       "type": "string"
20046	//     },
20047	//     "floodlightConfigurationIds": {
20048	//       "description": "Select only advertisers with these floodlight configuration IDs.",
20049	//       "format": "int64",
20050	//       "location": "query",
20051	//       "repeated": true,
20052	//       "type": "string"
20053	//     },
20054	//     "ids": {
20055	//       "description": "Select only advertisers with these IDs.",
20056	//       "format": "int64",
20057	//       "location": "query",
20058	//       "repeated": true,
20059	//       "type": "string"
20060	//     },
20061	//     "includeAdvertisersWithoutGroupsOnly": {
20062	//       "description": "Select only advertisers which do not belong to any advertiser group.",
20063	//       "location": "query",
20064	//       "type": "boolean"
20065	//     },
20066	//     "maxResults": {
20067	//       "default": "1000",
20068	//       "description": "Maximum number of results to return.",
20069	//       "format": "int32",
20070	//       "location": "query",
20071	//       "maximum": "1000",
20072	//       "minimum": "0",
20073	//       "type": "integer"
20074	//     },
20075	//     "onlyParent": {
20076	//       "description": "Select only advertisers which use another advertiser's floodlight configuration.",
20077	//       "location": "query",
20078	//       "type": "boolean"
20079	//     },
20080	//     "pageToken": {
20081	//       "description": "Value of the nextPageToken from the previous result page.",
20082	//       "location": "query",
20083	//       "type": "string"
20084	//     },
20085	//     "profileId": {
20086	//       "description": "User profile ID associated with this request.",
20087	//       "format": "int64",
20088	//       "location": "path",
20089	//       "required": true,
20090	//       "type": "string"
20091	//     },
20092	//     "searchString": {
20093	//       "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\" .",
20094	//       "location": "query",
20095	//       "type": "string"
20096	//     },
20097	//     "sortField": {
20098	//       "default": "ID",
20099	//       "description": "Field by which to sort the list.",
20100	//       "enum": [
20101	//         "ID",
20102	//         "NAME"
20103	//       ],
20104	//       "enumDescriptions": [
20105	//         "",
20106	//         ""
20107	//       ],
20108	//       "location": "query",
20109	//       "type": "string"
20110	//     },
20111	//     "sortOrder": {
20112	//       "default": "ASCENDING",
20113	//       "description": "Order of sorted results.",
20114	//       "enum": [
20115	//         "ASCENDING",
20116	//         "DESCENDING"
20117	//       ],
20118	//       "enumDescriptions": [
20119	//         "",
20120	//         ""
20121	//       ],
20122	//       "location": "query",
20123	//       "type": "string"
20124	//     },
20125	//     "status": {
20126	//       "description": "Select only advertisers with the specified status.",
20127	//       "enum": [
20128	//         "APPROVED",
20129	//         "ON_HOLD"
20130	//       ],
20131	//       "enumDescriptions": [
20132	//         "",
20133	//         ""
20134	//       ],
20135	//       "location": "query",
20136	//       "type": "string"
20137	//     },
20138	//     "subaccountId": {
20139	//       "description": "Select only advertisers with these subaccount IDs.",
20140	//       "format": "int64",
20141	//       "location": "query",
20142	//       "type": "string"
20143	//     }
20144	//   },
20145	//   "path": "userprofiles/{profileId}/advertisers",
20146	//   "response": {
20147	//     "$ref": "AdvertisersListResponse"
20148	//   },
20149	//   "scopes": [
20150	//     "https://www.googleapis.com/auth/dfatrafficking"
20151	//   ]
20152	// }
20153
20154}
20155
20156// Pages invokes f for each page of results.
20157// A non-nil error returned from f will halt the iteration.
20158// The provided context supersedes any context provided to the Context method.
20159func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*AdvertisersListResponse) error) error {
20160	c.ctx_ = ctx
20161	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20162	for {
20163		x, err := c.Do()
20164		if err != nil {
20165			return err
20166		}
20167		if err := f(x); err != nil {
20168			return err
20169		}
20170		if x.NextPageToken == "" {
20171			return nil
20172		}
20173		c.PageToken(x.NextPageToken)
20174	}
20175}
20176
20177// method id "dfareporting.advertisers.patch":
20178
20179type AdvertisersPatchCall struct {
20180	s          *Service
20181	profileId  int64
20182	advertiser *Advertiser
20183	urlParams_ gensupport.URLParams
20184	ctx_       context.Context
20185	header_    http.Header
20186}
20187
20188// Patch: Updates an existing advertiser. This method supports patch
20189// semantics.
20190func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
20191	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20192	c.profileId = profileId
20193	c.urlParams_.Set("id", fmt.Sprint(id))
20194	c.advertiser = advertiser
20195	return c
20196}
20197
20198// Fields allows partial responses to be retrieved. See
20199// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20200// for more information.
20201func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
20202	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20203	return c
20204}
20205
20206// Context sets the context to be used in this call's Do method. Any
20207// pending HTTP request will be aborted if the provided context is
20208// canceled.
20209func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
20210	c.ctx_ = ctx
20211	return c
20212}
20213
20214// Header returns an http.Header that can be modified by the caller to
20215// add HTTP headers to the request.
20216func (c *AdvertisersPatchCall) Header() http.Header {
20217	if c.header_ == nil {
20218		c.header_ = make(http.Header)
20219	}
20220	return c.header_
20221}
20222
20223func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
20224	reqHeaders := make(http.Header)
20225	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
20226	for k, v := range c.header_ {
20227		reqHeaders[k] = v
20228	}
20229	reqHeaders.Set("User-Agent", c.s.userAgent())
20230	var body io.Reader = nil
20231	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
20232	if err != nil {
20233		return nil, err
20234	}
20235	reqHeaders.Set("Content-Type", "application/json")
20236	c.urlParams_.Set("alt", alt)
20237	c.urlParams_.Set("prettyPrint", "false")
20238	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20239	urls += "?" + c.urlParams_.Encode()
20240	req, err := http.NewRequest("PATCH", urls, body)
20241	if err != nil {
20242		return nil, err
20243	}
20244	req.Header = reqHeaders
20245	googleapi.Expand(req.URL, map[string]string{
20246		"profileId": strconv.FormatInt(c.profileId, 10),
20247	})
20248	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20249}
20250
20251// Do executes the "dfareporting.advertisers.patch" call.
20252// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
20253// status code is an error. Response headers are in either
20254// *Advertiser.ServerResponse.Header or (if a response was returned at
20255// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20256// to check whether the returned error was because
20257// http.StatusNotModified was returned.
20258func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
20259	gensupport.SetOptions(c.urlParams_, opts...)
20260	res, err := c.doRequest("json")
20261	if res != nil && res.StatusCode == http.StatusNotModified {
20262		if res.Body != nil {
20263			res.Body.Close()
20264		}
20265		return nil, &googleapi.Error{
20266			Code:   res.StatusCode,
20267			Header: res.Header,
20268		}
20269	}
20270	if err != nil {
20271		return nil, err
20272	}
20273	defer googleapi.CloseBody(res)
20274	if err := googleapi.CheckResponse(res); err != nil {
20275		return nil, err
20276	}
20277	ret := &Advertiser{
20278		ServerResponse: googleapi.ServerResponse{
20279			Header:         res.Header,
20280			HTTPStatusCode: res.StatusCode,
20281		},
20282	}
20283	target := &ret
20284	if err := gensupport.DecodeResponse(target, res); err != nil {
20285		return nil, err
20286	}
20287	return ret, nil
20288	// {
20289	//   "description": "Updates an existing advertiser. This method supports patch semantics.",
20290	//   "flatPath": "userprofiles/{profileId}/advertisers",
20291	//   "httpMethod": "PATCH",
20292	//   "id": "dfareporting.advertisers.patch",
20293	//   "parameterOrder": [
20294	//     "profileId",
20295	//     "id"
20296	//   ],
20297	//   "parameters": {
20298	//     "id": {
20299	//       "description": "Advertiser ID.",
20300	//       "format": "int64",
20301	//       "location": "query",
20302	//       "required": true,
20303	//       "type": "string"
20304	//     },
20305	//     "profileId": {
20306	//       "description": "User profile ID associated with this request.",
20307	//       "format": "int64",
20308	//       "location": "path",
20309	//       "required": true,
20310	//       "type": "string"
20311	//     }
20312	//   },
20313	//   "path": "userprofiles/{profileId}/advertisers",
20314	//   "request": {
20315	//     "$ref": "Advertiser"
20316	//   },
20317	//   "response": {
20318	//     "$ref": "Advertiser"
20319	//   },
20320	//   "scopes": [
20321	//     "https://www.googleapis.com/auth/dfatrafficking"
20322	//   ]
20323	// }
20324
20325}
20326
20327// method id "dfareporting.advertisers.update":
20328
20329type AdvertisersUpdateCall struct {
20330	s          *Service
20331	profileId  int64
20332	advertiser *Advertiser
20333	urlParams_ gensupport.URLParams
20334	ctx_       context.Context
20335	header_    http.Header
20336}
20337
20338// Update: Updates an existing advertiser.
20339func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
20340	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20341	c.profileId = profileId
20342	c.advertiser = advertiser
20343	return c
20344}
20345
20346// Fields allows partial responses to be retrieved. See
20347// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20348// for more information.
20349func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
20350	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20351	return c
20352}
20353
20354// Context sets the context to be used in this call's Do method. Any
20355// pending HTTP request will be aborted if the provided context is
20356// canceled.
20357func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
20358	c.ctx_ = ctx
20359	return c
20360}
20361
20362// Header returns an http.Header that can be modified by the caller to
20363// add HTTP headers to the request.
20364func (c *AdvertisersUpdateCall) Header() http.Header {
20365	if c.header_ == nil {
20366		c.header_ = make(http.Header)
20367	}
20368	return c.header_
20369}
20370
20371func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
20372	reqHeaders := make(http.Header)
20373	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
20374	for k, v := range c.header_ {
20375		reqHeaders[k] = v
20376	}
20377	reqHeaders.Set("User-Agent", c.s.userAgent())
20378	var body io.Reader = nil
20379	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
20380	if err != nil {
20381		return nil, err
20382	}
20383	reqHeaders.Set("Content-Type", "application/json")
20384	c.urlParams_.Set("alt", alt)
20385	c.urlParams_.Set("prettyPrint", "false")
20386	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20387	urls += "?" + c.urlParams_.Encode()
20388	req, err := http.NewRequest("PUT", urls, body)
20389	if err != nil {
20390		return nil, err
20391	}
20392	req.Header = reqHeaders
20393	googleapi.Expand(req.URL, map[string]string{
20394		"profileId": strconv.FormatInt(c.profileId, 10),
20395	})
20396	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20397}
20398
20399// Do executes the "dfareporting.advertisers.update" call.
20400// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
20401// status code is an error. Response headers are in either
20402// *Advertiser.ServerResponse.Header or (if a response was returned at
20403// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20404// to check whether the returned error was because
20405// http.StatusNotModified was returned.
20406func (c *AdvertisersUpdateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
20407	gensupport.SetOptions(c.urlParams_, opts...)
20408	res, err := c.doRequest("json")
20409	if res != nil && res.StatusCode == http.StatusNotModified {
20410		if res.Body != nil {
20411			res.Body.Close()
20412		}
20413		return nil, &googleapi.Error{
20414			Code:   res.StatusCode,
20415			Header: res.Header,
20416		}
20417	}
20418	if err != nil {
20419		return nil, err
20420	}
20421	defer googleapi.CloseBody(res)
20422	if err := googleapi.CheckResponse(res); err != nil {
20423		return nil, err
20424	}
20425	ret := &Advertiser{
20426		ServerResponse: googleapi.ServerResponse{
20427			Header:         res.Header,
20428			HTTPStatusCode: res.StatusCode,
20429		},
20430	}
20431	target := &ret
20432	if err := gensupport.DecodeResponse(target, res); err != nil {
20433		return nil, err
20434	}
20435	return ret, nil
20436	// {
20437	//   "description": "Updates an existing advertiser.",
20438	//   "flatPath": "userprofiles/{profileId}/advertisers",
20439	//   "httpMethod": "PUT",
20440	//   "id": "dfareporting.advertisers.update",
20441	//   "parameterOrder": [
20442	//     "profileId"
20443	//   ],
20444	//   "parameters": {
20445	//     "profileId": {
20446	//       "description": "User profile ID associated with this request.",
20447	//       "format": "int64",
20448	//       "location": "path",
20449	//       "required": true,
20450	//       "type": "string"
20451	//     }
20452	//   },
20453	//   "path": "userprofiles/{profileId}/advertisers",
20454	//   "request": {
20455	//     "$ref": "Advertiser"
20456	//   },
20457	//   "response": {
20458	//     "$ref": "Advertiser"
20459	//   },
20460	//   "scopes": [
20461	//     "https://www.googleapis.com/auth/dfatrafficking"
20462	//   ]
20463	// }
20464
20465}
20466
20467// method id "dfareporting.browsers.list":
20468
20469type BrowsersListCall struct {
20470	s            *Service
20471	profileId    int64
20472	urlParams_   gensupport.URLParams
20473	ifNoneMatch_ string
20474	ctx_         context.Context
20475	header_      http.Header
20476}
20477
20478// List: Retrieves a list of browsers.
20479func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
20480	c := &BrowsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20481	c.profileId = profileId
20482	return c
20483}
20484
20485// Fields allows partial responses to be retrieved. See
20486// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20487// for more information.
20488func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
20489	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20490	return c
20491}
20492
20493// IfNoneMatch sets the optional parameter which makes the operation
20494// fail if the object's ETag matches the given value. This is useful for
20495// getting updates only after the object has changed since the last
20496// request. Use googleapi.IsNotModified to check whether the response
20497// error from Do is the result of In-None-Match.
20498func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
20499	c.ifNoneMatch_ = entityTag
20500	return c
20501}
20502
20503// Context sets the context to be used in this call's Do method. Any
20504// pending HTTP request will be aborted if the provided context is
20505// canceled.
20506func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
20507	c.ctx_ = ctx
20508	return c
20509}
20510
20511// Header returns an http.Header that can be modified by the caller to
20512// add HTTP headers to the request.
20513func (c *BrowsersListCall) Header() http.Header {
20514	if c.header_ == nil {
20515		c.header_ = make(http.Header)
20516	}
20517	return c.header_
20518}
20519
20520func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
20521	reqHeaders := make(http.Header)
20522	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
20523	for k, v := range c.header_ {
20524		reqHeaders[k] = v
20525	}
20526	reqHeaders.Set("User-Agent", c.s.userAgent())
20527	if c.ifNoneMatch_ != "" {
20528		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20529	}
20530	var body io.Reader = nil
20531	c.urlParams_.Set("alt", alt)
20532	c.urlParams_.Set("prettyPrint", "false")
20533	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
20534	urls += "?" + c.urlParams_.Encode()
20535	req, err := http.NewRequest("GET", urls, body)
20536	if err != nil {
20537		return nil, err
20538	}
20539	req.Header = reqHeaders
20540	googleapi.Expand(req.URL, map[string]string{
20541		"profileId": strconv.FormatInt(c.profileId, 10),
20542	})
20543	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20544}
20545
20546// Do executes the "dfareporting.browsers.list" call.
20547// Exactly one of *BrowsersListResponse or error will be non-nil. Any
20548// non-2xx status code is an error. Response headers are in either
20549// *BrowsersListResponse.ServerResponse.Header or (if a response was
20550// returned at all) in error.(*googleapi.Error).Header. Use
20551// googleapi.IsNotModified to check whether the returned error was
20552// because http.StatusNotModified was returned.
20553func (c *BrowsersListCall) Do(opts ...googleapi.CallOption) (*BrowsersListResponse, error) {
20554	gensupport.SetOptions(c.urlParams_, opts...)
20555	res, err := c.doRequest("json")
20556	if res != nil && res.StatusCode == http.StatusNotModified {
20557		if res.Body != nil {
20558			res.Body.Close()
20559		}
20560		return nil, &googleapi.Error{
20561			Code:   res.StatusCode,
20562			Header: res.Header,
20563		}
20564	}
20565	if err != nil {
20566		return nil, err
20567	}
20568	defer googleapi.CloseBody(res)
20569	if err := googleapi.CheckResponse(res); err != nil {
20570		return nil, err
20571	}
20572	ret := &BrowsersListResponse{
20573		ServerResponse: googleapi.ServerResponse{
20574			Header:         res.Header,
20575			HTTPStatusCode: res.StatusCode,
20576		},
20577	}
20578	target := &ret
20579	if err := gensupport.DecodeResponse(target, res); err != nil {
20580		return nil, err
20581	}
20582	return ret, nil
20583	// {
20584	//   "description": "Retrieves a list of browsers.",
20585	//   "flatPath": "userprofiles/{profileId}/browsers",
20586	//   "httpMethod": "GET",
20587	//   "id": "dfareporting.browsers.list",
20588	//   "parameterOrder": [
20589	//     "profileId"
20590	//   ],
20591	//   "parameters": {
20592	//     "profileId": {
20593	//       "description": "User profile ID associated with this request.",
20594	//       "format": "int64",
20595	//       "location": "path",
20596	//       "required": true,
20597	//       "type": "string"
20598	//     }
20599	//   },
20600	//   "path": "userprofiles/{profileId}/browsers",
20601	//   "response": {
20602	//     "$ref": "BrowsersListResponse"
20603	//   },
20604	//   "scopes": [
20605	//     "https://www.googleapis.com/auth/dfatrafficking"
20606	//   ]
20607	// }
20608
20609}
20610
20611// method id "dfareporting.campaignCreativeAssociations.insert":
20612
20613type CampaignCreativeAssociationsInsertCall struct {
20614	s                           *Service
20615	profileId                   int64
20616	campaignId                  int64
20617	campaigncreativeassociation *CampaignCreativeAssociation
20618	urlParams_                  gensupport.URLParams
20619	ctx_                        context.Context
20620	header_                     http.Header
20621}
20622
20623// Insert: Associates a creative with the specified campaign. This
20624// method creates a default ad with dimensions matching the creative in
20625// the campaign if such a default ad does not exist already.
20626func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
20627	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20628	c.profileId = profileId
20629	c.campaignId = campaignId
20630	c.campaigncreativeassociation = campaigncreativeassociation
20631	return c
20632}
20633
20634// Fields allows partial responses to be retrieved. See
20635// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20636// for more information.
20637func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
20638	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20639	return c
20640}
20641
20642// Context sets the context to be used in this call's Do method. Any
20643// pending HTTP request will be aborted if the provided context is
20644// canceled.
20645func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
20646	c.ctx_ = ctx
20647	return c
20648}
20649
20650// Header returns an http.Header that can be modified by the caller to
20651// add HTTP headers to the request.
20652func (c *CampaignCreativeAssociationsInsertCall) Header() http.Header {
20653	if c.header_ == nil {
20654		c.header_ = make(http.Header)
20655	}
20656	return c.header_
20657}
20658
20659func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
20660	reqHeaders := make(http.Header)
20661	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
20662	for k, v := range c.header_ {
20663		reqHeaders[k] = v
20664	}
20665	reqHeaders.Set("User-Agent", c.s.userAgent())
20666	var body io.Reader = nil
20667	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaigncreativeassociation)
20668	if err != nil {
20669		return nil, err
20670	}
20671	reqHeaders.Set("Content-Type", "application/json")
20672	c.urlParams_.Set("alt", alt)
20673	c.urlParams_.Set("prettyPrint", "false")
20674	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
20675	urls += "?" + c.urlParams_.Encode()
20676	req, err := http.NewRequest("POST", urls, body)
20677	if err != nil {
20678		return nil, err
20679	}
20680	req.Header = reqHeaders
20681	googleapi.Expand(req.URL, map[string]string{
20682		"profileId":  strconv.FormatInt(c.profileId, 10),
20683		"campaignId": strconv.FormatInt(c.campaignId, 10),
20684	})
20685	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20686}
20687
20688// Do executes the "dfareporting.campaignCreativeAssociations.insert" call.
20689// Exactly one of *CampaignCreativeAssociation or error will be non-nil.
20690// Any non-2xx status code is an error. Response headers are in either
20691// *CampaignCreativeAssociation.ServerResponse.Header or (if a response
20692// was returned at all) in error.(*googleapi.Error).Header. Use
20693// googleapi.IsNotModified to check whether the returned error was
20694// because http.StatusNotModified was returned.
20695func (c *CampaignCreativeAssociationsInsertCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociation, error) {
20696	gensupport.SetOptions(c.urlParams_, opts...)
20697	res, err := c.doRequest("json")
20698	if res != nil && res.StatusCode == http.StatusNotModified {
20699		if res.Body != nil {
20700			res.Body.Close()
20701		}
20702		return nil, &googleapi.Error{
20703			Code:   res.StatusCode,
20704			Header: res.Header,
20705		}
20706	}
20707	if err != nil {
20708		return nil, err
20709	}
20710	defer googleapi.CloseBody(res)
20711	if err := googleapi.CheckResponse(res); err != nil {
20712		return nil, err
20713	}
20714	ret := &CampaignCreativeAssociation{
20715		ServerResponse: googleapi.ServerResponse{
20716			Header:         res.Header,
20717			HTTPStatusCode: res.StatusCode,
20718		},
20719	}
20720	target := &ret
20721	if err := gensupport.DecodeResponse(target, res); err != nil {
20722		return nil, err
20723	}
20724	return ret, nil
20725	// {
20726	//   "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.",
20727	//   "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
20728	//   "httpMethod": "POST",
20729	//   "id": "dfareporting.campaignCreativeAssociations.insert",
20730	//   "parameterOrder": [
20731	//     "profileId",
20732	//     "campaignId"
20733	//   ],
20734	//   "parameters": {
20735	//     "campaignId": {
20736	//       "description": "Campaign ID in this association.",
20737	//       "format": "int64",
20738	//       "location": "path",
20739	//       "required": true,
20740	//       "type": "string"
20741	//     },
20742	//     "profileId": {
20743	//       "description": "User profile ID associated with this request.",
20744	//       "format": "int64",
20745	//       "location": "path",
20746	//       "required": true,
20747	//       "type": "string"
20748	//     }
20749	//   },
20750	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
20751	//   "request": {
20752	//     "$ref": "CampaignCreativeAssociation"
20753	//   },
20754	//   "response": {
20755	//     "$ref": "CampaignCreativeAssociation"
20756	//   },
20757	//   "scopes": [
20758	//     "https://www.googleapis.com/auth/dfatrafficking"
20759	//   ]
20760	// }
20761
20762}
20763
20764// method id "dfareporting.campaignCreativeAssociations.list":
20765
20766type CampaignCreativeAssociationsListCall struct {
20767	s            *Service
20768	profileId    int64
20769	campaignId   int64
20770	urlParams_   gensupport.URLParams
20771	ifNoneMatch_ string
20772	ctx_         context.Context
20773	header_      http.Header
20774}
20775
20776// List: Retrieves the list of creative IDs associated with the
20777// specified campaign. This method supports paging.
20778func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
20779	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20780	c.profileId = profileId
20781	c.campaignId = campaignId
20782	return c
20783}
20784
20785// MaxResults sets the optional parameter "maxResults": Maximum number
20786// of results to return.
20787func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
20788	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
20789	return c
20790}
20791
20792// PageToken sets the optional parameter "pageToken": Value of the
20793// nextPageToken from the previous result page.
20794func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
20795	c.urlParams_.Set("pageToken", pageToken)
20796	return c
20797}
20798
20799// SortOrder sets the optional parameter "sortOrder": Order of sorted
20800// results.
20801//
20802// Possible values:
20803//   "ASCENDING" (default)
20804//   "DESCENDING"
20805func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
20806	c.urlParams_.Set("sortOrder", sortOrder)
20807	return c
20808}
20809
20810// Fields allows partial responses to be retrieved. See
20811// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20812// for more information.
20813func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
20814	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20815	return c
20816}
20817
20818// IfNoneMatch sets the optional parameter which makes the operation
20819// fail if the object's ETag matches the given value. This is useful for
20820// getting updates only after the object has changed since the last
20821// request. Use googleapi.IsNotModified to check whether the response
20822// error from Do is the result of In-None-Match.
20823func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
20824	c.ifNoneMatch_ = entityTag
20825	return c
20826}
20827
20828// Context sets the context to be used in this call's Do method. Any
20829// pending HTTP request will be aborted if the provided context is
20830// canceled.
20831func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
20832	c.ctx_ = ctx
20833	return c
20834}
20835
20836// Header returns an http.Header that can be modified by the caller to
20837// add HTTP headers to the request.
20838func (c *CampaignCreativeAssociationsListCall) Header() http.Header {
20839	if c.header_ == nil {
20840		c.header_ = make(http.Header)
20841	}
20842	return c.header_
20843}
20844
20845func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
20846	reqHeaders := make(http.Header)
20847	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
20848	for k, v := range c.header_ {
20849		reqHeaders[k] = v
20850	}
20851	reqHeaders.Set("User-Agent", c.s.userAgent())
20852	if c.ifNoneMatch_ != "" {
20853		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20854	}
20855	var body io.Reader = nil
20856	c.urlParams_.Set("alt", alt)
20857	c.urlParams_.Set("prettyPrint", "false")
20858	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
20859	urls += "?" + c.urlParams_.Encode()
20860	req, err := http.NewRequest("GET", urls, body)
20861	if err != nil {
20862		return nil, err
20863	}
20864	req.Header = reqHeaders
20865	googleapi.Expand(req.URL, map[string]string{
20866		"profileId":  strconv.FormatInt(c.profileId, 10),
20867		"campaignId": strconv.FormatInt(c.campaignId, 10),
20868	})
20869	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20870}
20871
20872// Do executes the "dfareporting.campaignCreativeAssociations.list" call.
20873// Exactly one of *CampaignCreativeAssociationsListResponse or error
20874// will be non-nil. Any non-2xx status code is an error. Response
20875// headers are in either
20876// *CampaignCreativeAssociationsListResponse.ServerResponse.Header or
20877// (if a response was returned at all) in
20878// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20879// whether the returned error was because http.StatusNotModified was
20880// returned.
20881func (c *CampaignCreativeAssociationsListCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociationsListResponse, error) {
20882	gensupport.SetOptions(c.urlParams_, opts...)
20883	res, err := c.doRequest("json")
20884	if res != nil && res.StatusCode == http.StatusNotModified {
20885		if res.Body != nil {
20886			res.Body.Close()
20887		}
20888		return nil, &googleapi.Error{
20889			Code:   res.StatusCode,
20890			Header: res.Header,
20891		}
20892	}
20893	if err != nil {
20894		return nil, err
20895	}
20896	defer googleapi.CloseBody(res)
20897	if err := googleapi.CheckResponse(res); err != nil {
20898		return nil, err
20899	}
20900	ret := &CampaignCreativeAssociationsListResponse{
20901		ServerResponse: googleapi.ServerResponse{
20902			Header:         res.Header,
20903			HTTPStatusCode: res.StatusCode,
20904		},
20905	}
20906	target := &ret
20907	if err := gensupport.DecodeResponse(target, res); err != nil {
20908		return nil, err
20909	}
20910	return ret, nil
20911	// {
20912	//   "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
20913	//   "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
20914	//   "httpMethod": "GET",
20915	//   "id": "dfareporting.campaignCreativeAssociations.list",
20916	//   "parameterOrder": [
20917	//     "profileId",
20918	//     "campaignId"
20919	//   ],
20920	//   "parameters": {
20921	//     "campaignId": {
20922	//       "description": "Campaign ID in this association.",
20923	//       "format": "int64",
20924	//       "location": "path",
20925	//       "required": true,
20926	//       "type": "string"
20927	//     },
20928	//     "maxResults": {
20929	//       "default": "1000",
20930	//       "description": "Maximum number of results to return.",
20931	//       "format": "int32",
20932	//       "location": "query",
20933	//       "maximum": "1000",
20934	//       "minimum": "0",
20935	//       "type": "integer"
20936	//     },
20937	//     "pageToken": {
20938	//       "description": "Value of the nextPageToken from the previous result page.",
20939	//       "location": "query",
20940	//       "type": "string"
20941	//     },
20942	//     "profileId": {
20943	//       "description": "User profile ID associated with this request.",
20944	//       "format": "int64",
20945	//       "location": "path",
20946	//       "required": true,
20947	//       "type": "string"
20948	//     },
20949	//     "sortOrder": {
20950	//       "default": "ASCENDING",
20951	//       "description": "Order of sorted results.",
20952	//       "enum": [
20953	//         "ASCENDING",
20954	//         "DESCENDING"
20955	//       ],
20956	//       "enumDescriptions": [
20957	//         "",
20958	//         ""
20959	//       ],
20960	//       "location": "query",
20961	//       "type": "string"
20962	//     }
20963	//   },
20964	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
20965	//   "response": {
20966	//     "$ref": "CampaignCreativeAssociationsListResponse"
20967	//   },
20968	//   "scopes": [
20969	//     "https://www.googleapis.com/auth/dfatrafficking"
20970	//   ]
20971	// }
20972
20973}
20974
20975// Pages invokes f for each page of results.
20976// A non-nil error returned from f will halt the iteration.
20977// The provided context supersedes any context provided to the Context method.
20978func (c *CampaignCreativeAssociationsListCall) Pages(ctx context.Context, f func(*CampaignCreativeAssociationsListResponse) error) error {
20979	c.ctx_ = ctx
20980	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20981	for {
20982		x, err := c.Do()
20983		if err != nil {
20984			return err
20985		}
20986		if err := f(x); err != nil {
20987			return err
20988		}
20989		if x.NextPageToken == "" {
20990			return nil
20991		}
20992		c.PageToken(x.NextPageToken)
20993	}
20994}
20995
20996// method id "dfareporting.campaigns.get":
20997
20998type CampaignsGetCall struct {
20999	s            *Service
21000	profileId    int64
21001	id           int64
21002	urlParams_   gensupport.URLParams
21003	ifNoneMatch_ string
21004	ctx_         context.Context
21005	header_      http.Header
21006}
21007
21008// Get: Gets one campaign by ID.
21009func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
21010	c := &CampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21011	c.profileId = profileId
21012	c.id = id
21013	return c
21014}
21015
21016// Fields allows partial responses to be retrieved. See
21017// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21018// for more information.
21019func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
21020	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21021	return c
21022}
21023
21024// IfNoneMatch sets the optional parameter which makes the operation
21025// fail if the object's ETag matches the given value. This is useful for
21026// getting updates only after the object has changed since the last
21027// request. Use googleapi.IsNotModified to check whether the response
21028// error from Do is the result of In-None-Match.
21029func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
21030	c.ifNoneMatch_ = entityTag
21031	return c
21032}
21033
21034// Context sets the context to be used in this call's Do method. Any
21035// pending HTTP request will be aborted if the provided context is
21036// canceled.
21037func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
21038	c.ctx_ = ctx
21039	return c
21040}
21041
21042// Header returns an http.Header that can be modified by the caller to
21043// add HTTP headers to the request.
21044func (c *CampaignsGetCall) Header() http.Header {
21045	if c.header_ == nil {
21046		c.header_ = make(http.Header)
21047	}
21048	return c.header_
21049}
21050
21051func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
21052	reqHeaders := make(http.Header)
21053	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
21054	for k, v := range c.header_ {
21055		reqHeaders[k] = v
21056	}
21057	reqHeaders.Set("User-Agent", c.s.userAgent())
21058	if c.ifNoneMatch_ != "" {
21059		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21060	}
21061	var body io.Reader = nil
21062	c.urlParams_.Set("alt", alt)
21063	c.urlParams_.Set("prettyPrint", "false")
21064	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
21065	urls += "?" + c.urlParams_.Encode()
21066	req, err := http.NewRequest("GET", urls, body)
21067	if err != nil {
21068		return nil, err
21069	}
21070	req.Header = reqHeaders
21071	googleapi.Expand(req.URL, map[string]string{
21072		"profileId": strconv.FormatInt(c.profileId, 10),
21073		"id":        strconv.FormatInt(c.id, 10),
21074	})
21075	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21076}
21077
21078// Do executes the "dfareporting.campaigns.get" call.
21079// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21080// code is an error. Response headers are in either
21081// *Campaign.ServerResponse.Header or (if a response was returned at
21082// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21083// to check whether the returned error was because
21084// http.StatusNotModified was returned.
21085func (c *CampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21086	gensupport.SetOptions(c.urlParams_, opts...)
21087	res, err := c.doRequest("json")
21088	if res != nil && res.StatusCode == http.StatusNotModified {
21089		if res.Body != nil {
21090			res.Body.Close()
21091		}
21092		return nil, &googleapi.Error{
21093			Code:   res.StatusCode,
21094			Header: res.Header,
21095		}
21096	}
21097	if err != nil {
21098		return nil, err
21099	}
21100	defer googleapi.CloseBody(res)
21101	if err := googleapi.CheckResponse(res); err != nil {
21102		return nil, err
21103	}
21104	ret := &Campaign{
21105		ServerResponse: googleapi.ServerResponse{
21106			Header:         res.Header,
21107			HTTPStatusCode: res.StatusCode,
21108		},
21109	}
21110	target := &ret
21111	if err := gensupport.DecodeResponse(target, res); err != nil {
21112		return nil, err
21113	}
21114	return ret, nil
21115	// {
21116	//   "description": "Gets one campaign by ID.",
21117	//   "flatPath": "userprofiles/{profileId}/campaigns/{id}",
21118	//   "httpMethod": "GET",
21119	//   "id": "dfareporting.campaigns.get",
21120	//   "parameterOrder": [
21121	//     "profileId",
21122	//     "id"
21123	//   ],
21124	//   "parameters": {
21125	//     "id": {
21126	//       "description": "Campaign ID.",
21127	//       "format": "int64",
21128	//       "location": "path",
21129	//       "required": true,
21130	//       "type": "string"
21131	//     },
21132	//     "profileId": {
21133	//       "description": "User profile ID associated with this request.",
21134	//       "format": "int64",
21135	//       "location": "path",
21136	//       "required": true,
21137	//       "type": "string"
21138	//     }
21139	//   },
21140	//   "path": "userprofiles/{profileId}/campaigns/{id}",
21141	//   "response": {
21142	//     "$ref": "Campaign"
21143	//   },
21144	//   "scopes": [
21145	//     "https://www.googleapis.com/auth/dfatrafficking"
21146	//   ]
21147	// }
21148
21149}
21150
21151// method id "dfareporting.campaigns.insert":
21152
21153type CampaignsInsertCall struct {
21154	s          *Service
21155	profileId  int64
21156	campaign   *Campaign
21157	urlParams_ gensupport.URLParams
21158	ctx_       context.Context
21159	header_    http.Header
21160}
21161
21162// Insert: Inserts a new campaign.
21163func (r *CampaignsService) Insert(profileId int64, campaign *Campaign) *CampaignsInsertCall {
21164	c := &CampaignsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21165	c.profileId = profileId
21166	c.campaign = campaign
21167	return c
21168}
21169
21170// Fields allows partial responses to be retrieved. See
21171// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21172// for more information.
21173func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
21174	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21175	return c
21176}
21177
21178// Context sets the context to be used in this call's Do method. Any
21179// pending HTTP request will be aborted if the provided context is
21180// canceled.
21181func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
21182	c.ctx_ = ctx
21183	return c
21184}
21185
21186// Header returns an http.Header that can be modified by the caller to
21187// add HTTP headers to the request.
21188func (c *CampaignsInsertCall) Header() http.Header {
21189	if c.header_ == nil {
21190		c.header_ = make(http.Header)
21191	}
21192	return c.header_
21193}
21194
21195func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
21196	reqHeaders := make(http.Header)
21197	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
21198	for k, v := range c.header_ {
21199		reqHeaders[k] = v
21200	}
21201	reqHeaders.Set("User-Agent", c.s.userAgent())
21202	var body io.Reader = nil
21203	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21204	if err != nil {
21205		return nil, err
21206	}
21207	reqHeaders.Set("Content-Type", "application/json")
21208	c.urlParams_.Set("alt", alt)
21209	c.urlParams_.Set("prettyPrint", "false")
21210	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21211	urls += "?" + c.urlParams_.Encode()
21212	req, err := http.NewRequest("POST", urls, body)
21213	if err != nil {
21214		return nil, err
21215	}
21216	req.Header = reqHeaders
21217	googleapi.Expand(req.URL, map[string]string{
21218		"profileId": strconv.FormatInt(c.profileId, 10),
21219	})
21220	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21221}
21222
21223// Do executes the "dfareporting.campaigns.insert" call.
21224// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21225// code is an error. Response headers are in either
21226// *Campaign.ServerResponse.Header or (if a response was returned at
21227// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21228// to check whether the returned error was because
21229// http.StatusNotModified was returned.
21230func (c *CampaignsInsertCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21231	gensupport.SetOptions(c.urlParams_, opts...)
21232	res, err := c.doRequest("json")
21233	if res != nil && res.StatusCode == http.StatusNotModified {
21234		if res.Body != nil {
21235			res.Body.Close()
21236		}
21237		return nil, &googleapi.Error{
21238			Code:   res.StatusCode,
21239			Header: res.Header,
21240		}
21241	}
21242	if err != nil {
21243		return nil, err
21244	}
21245	defer googleapi.CloseBody(res)
21246	if err := googleapi.CheckResponse(res); err != nil {
21247		return nil, err
21248	}
21249	ret := &Campaign{
21250		ServerResponse: googleapi.ServerResponse{
21251			Header:         res.Header,
21252			HTTPStatusCode: res.StatusCode,
21253		},
21254	}
21255	target := &ret
21256	if err := gensupport.DecodeResponse(target, res); err != nil {
21257		return nil, err
21258	}
21259	return ret, nil
21260	// {
21261	//   "description": "Inserts a new campaign.",
21262	//   "flatPath": "userprofiles/{profileId}/campaigns",
21263	//   "httpMethod": "POST",
21264	//   "id": "dfareporting.campaigns.insert",
21265	//   "parameterOrder": [
21266	//     "profileId"
21267	//   ],
21268	//   "parameters": {
21269	//     "profileId": {
21270	//       "description": "User profile ID associated with this request.",
21271	//       "format": "int64",
21272	//       "location": "path",
21273	//       "required": true,
21274	//       "type": "string"
21275	//     }
21276	//   },
21277	//   "path": "userprofiles/{profileId}/campaigns",
21278	//   "request": {
21279	//     "$ref": "Campaign"
21280	//   },
21281	//   "response": {
21282	//     "$ref": "Campaign"
21283	//   },
21284	//   "scopes": [
21285	//     "https://www.googleapis.com/auth/dfatrafficking"
21286	//   ]
21287	// }
21288
21289}
21290
21291// method id "dfareporting.campaigns.list":
21292
21293type CampaignsListCall struct {
21294	s            *Service
21295	profileId    int64
21296	urlParams_   gensupport.URLParams
21297	ifNoneMatch_ string
21298	ctx_         context.Context
21299	header_      http.Header
21300}
21301
21302// List: Retrieves a list of campaigns, possibly filtered. This method
21303// supports paging.
21304func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
21305	c := &CampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21306	c.profileId = profileId
21307	return c
21308}
21309
21310// AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
21311// Select only campaigns whose advertisers belong to these advertiser
21312// groups.
21313func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *CampaignsListCall {
21314	var advertiserGroupIds_ []string
21315	for _, v := range advertiserGroupIds {
21316		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
21317	}
21318	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
21319	return c
21320}
21321
21322// AdvertiserIds sets the optional parameter "advertiserIds": Select
21323// only campaigns that belong to these advertisers.
21324func (c *CampaignsListCall) AdvertiserIds(advertiserIds ...int64) *CampaignsListCall {
21325	var advertiserIds_ []string
21326	for _, v := range advertiserIds {
21327		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
21328	}
21329	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
21330	return c
21331}
21332
21333// Archived sets the optional parameter "archived": Select only archived
21334// campaigns. Don't set this field to select both archived and
21335// non-archived campaigns.
21336func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
21337	c.urlParams_.Set("archived", fmt.Sprint(archived))
21338	return c
21339}
21340
21341// AtLeastOneOptimizationActivity sets the optional parameter
21342// "atLeastOneOptimizationActivity": Select only campaigns that have at
21343// least one optimization activity.
21344func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
21345	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprint(atLeastOneOptimizationActivity))
21346	return c
21347}
21348
21349// ExcludedIds sets the optional parameter "excludedIds": Exclude
21350// campaigns with these IDs.
21351func (c *CampaignsListCall) ExcludedIds(excludedIds ...int64) *CampaignsListCall {
21352	var excludedIds_ []string
21353	for _, v := range excludedIds {
21354		excludedIds_ = append(excludedIds_, fmt.Sprint(v))
21355	}
21356	c.urlParams_.SetMulti("excludedIds", excludedIds_)
21357	return c
21358}
21359
21360// Ids sets the optional parameter "ids": Select only campaigns with
21361// these IDs.
21362func (c *CampaignsListCall) Ids(ids ...int64) *CampaignsListCall {
21363	var ids_ []string
21364	for _, v := range ids {
21365		ids_ = append(ids_, fmt.Sprint(v))
21366	}
21367	c.urlParams_.SetMulti("ids", ids_)
21368	return c
21369}
21370
21371// MaxResults sets the optional parameter "maxResults": Maximum number
21372// of results to return.
21373func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
21374	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
21375	return c
21376}
21377
21378// OverriddenEventTagId sets the optional parameter
21379// "overriddenEventTagId": Select only campaigns that have overridden
21380// this event tag ID.
21381func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
21382	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
21383	return c
21384}
21385
21386// PageToken sets the optional parameter "pageToken": Value of the
21387// nextPageToken from the previous result page.
21388func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
21389	c.urlParams_.Set("pageToken", pageToken)
21390	return c
21391}
21392
21393// SearchString sets the optional parameter "searchString": Allows
21394// searching for campaigns by name or ID. Wildcards (*) are allowed. For
21395// example, "campaign*2015" will return campaigns with names like
21396// "campaign June 2015", "campaign April 2015", or simply "campaign
21397// 2015". Most of the searches also add wildcards implicitly at the
21398// start and the end of the search string. For example, a search string
21399// of "campaign" will match campaigns with name "my campaign", "campaign
21400// 2015", or simply "campaign".
21401func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
21402	c.urlParams_.Set("searchString", searchString)
21403	return c
21404}
21405
21406// SortField sets the optional parameter "sortField": Field by which to
21407// sort the list.
21408//
21409// Possible values:
21410//   "ID" (default)
21411//   "NAME"
21412func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
21413	c.urlParams_.Set("sortField", sortField)
21414	return c
21415}
21416
21417// SortOrder sets the optional parameter "sortOrder": Order of sorted
21418// results.
21419//
21420// Possible values:
21421//   "ASCENDING" (default)
21422//   "DESCENDING"
21423func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
21424	c.urlParams_.Set("sortOrder", sortOrder)
21425	return c
21426}
21427
21428// SubaccountId sets the optional parameter "subaccountId": Select only
21429// campaigns that belong to this subaccount.
21430func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
21431	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
21432	return c
21433}
21434
21435// Fields allows partial responses to be retrieved. See
21436// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21437// for more information.
21438func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
21439	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21440	return c
21441}
21442
21443// IfNoneMatch sets the optional parameter which makes the operation
21444// fail if the object's ETag matches the given value. This is useful for
21445// getting updates only after the object has changed since the last
21446// request. Use googleapi.IsNotModified to check whether the response
21447// error from Do is the result of In-None-Match.
21448func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
21449	c.ifNoneMatch_ = entityTag
21450	return c
21451}
21452
21453// Context sets the context to be used in this call's Do method. Any
21454// pending HTTP request will be aborted if the provided context is
21455// canceled.
21456func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
21457	c.ctx_ = ctx
21458	return c
21459}
21460
21461// Header returns an http.Header that can be modified by the caller to
21462// add HTTP headers to the request.
21463func (c *CampaignsListCall) Header() http.Header {
21464	if c.header_ == nil {
21465		c.header_ = make(http.Header)
21466	}
21467	return c.header_
21468}
21469
21470func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
21471	reqHeaders := make(http.Header)
21472	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
21473	for k, v := range c.header_ {
21474		reqHeaders[k] = v
21475	}
21476	reqHeaders.Set("User-Agent", c.s.userAgent())
21477	if c.ifNoneMatch_ != "" {
21478		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21479	}
21480	var body io.Reader = nil
21481	c.urlParams_.Set("alt", alt)
21482	c.urlParams_.Set("prettyPrint", "false")
21483	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21484	urls += "?" + c.urlParams_.Encode()
21485	req, err := http.NewRequest("GET", urls, body)
21486	if err != nil {
21487		return nil, err
21488	}
21489	req.Header = reqHeaders
21490	googleapi.Expand(req.URL, map[string]string{
21491		"profileId": strconv.FormatInt(c.profileId, 10),
21492	})
21493	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21494}
21495
21496// Do executes the "dfareporting.campaigns.list" call.
21497// Exactly one of *CampaignsListResponse or error will be non-nil. Any
21498// non-2xx status code is an error. Response headers are in either
21499// *CampaignsListResponse.ServerResponse.Header or (if a response was
21500// returned at all) in error.(*googleapi.Error).Header. Use
21501// googleapi.IsNotModified to check whether the returned error was
21502// because http.StatusNotModified was returned.
21503func (c *CampaignsListCall) Do(opts ...googleapi.CallOption) (*CampaignsListResponse, error) {
21504	gensupport.SetOptions(c.urlParams_, opts...)
21505	res, err := c.doRequest("json")
21506	if res != nil && res.StatusCode == http.StatusNotModified {
21507		if res.Body != nil {
21508			res.Body.Close()
21509		}
21510		return nil, &googleapi.Error{
21511			Code:   res.StatusCode,
21512			Header: res.Header,
21513		}
21514	}
21515	if err != nil {
21516		return nil, err
21517	}
21518	defer googleapi.CloseBody(res)
21519	if err := googleapi.CheckResponse(res); err != nil {
21520		return nil, err
21521	}
21522	ret := &CampaignsListResponse{
21523		ServerResponse: googleapi.ServerResponse{
21524			Header:         res.Header,
21525			HTTPStatusCode: res.StatusCode,
21526		},
21527	}
21528	target := &ret
21529	if err := gensupport.DecodeResponse(target, res); err != nil {
21530		return nil, err
21531	}
21532	return ret, nil
21533	// {
21534	//   "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
21535	//   "flatPath": "userprofiles/{profileId}/campaigns",
21536	//   "httpMethod": "GET",
21537	//   "id": "dfareporting.campaigns.list",
21538	//   "parameterOrder": [
21539	//     "profileId"
21540	//   ],
21541	//   "parameters": {
21542	//     "advertiserGroupIds": {
21543	//       "description": "Select only campaigns whose advertisers belong to these advertiser groups.",
21544	//       "format": "int64",
21545	//       "location": "query",
21546	//       "repeated": true,
21547	//       "type": "string"
21548	//     },
21549	//     "advertiserIds": {
21550	//       "description": "Select only campaigns that belong to these advertisers.",
21551	//       "format": "int64",
21552	//       "location": "query",
21553	//       "repeated": true,
21554	//       "type": "string"
21555	//     },
21556	//     "archived": {
21557	//       "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.",
21558	//       "location": "query",
21559	//       "type": "boolean"
21560	//     },
21561	//     "atLeastOneOptimizationActivity": {
21562	//       "description": "Select only campaigns that have at least one optimization activity.",
21563	//       "location": "query",
21564	//       "type": "boolean"
21565	//     },
21566	//     "excludedIds": {
21567	//       "description": "Exclude campaigns with these IDs.",
21568	//       "format": "int64",
21569	//       "location": "query",
21570	//       "repeated": true,
21571	//       "type": "string"
21572	//     },
21573	//     "ids": {
21574	//       "description": "Select only campaigns with these IDs.",
21575	//       "format": "int64",
21576	//       "location": "query",
21577	//       "repeated": true,
21578	//       "type": "string"
21579	//     },
21580	//     "maxResults": {
21581	//       "default": "1000",
21582	//       "description": "Maximum number of results to return.",
21583	//       "format": "int32",
21584	//       "location": "query",
21585	//       "maximum": "1000",
21586	//       "minimum": "0",
21587	//       "type": "integer"
21588	//     },
21589	//     "overriddenEventTagId": {
21590	//       "description": "Select only campaigns that have overridden this event tag ID.",
21591	//       "format": "int64",
21592	//       "location": "query",
21593	//       "type": "string"
21594	//     },
21595	//     "pageToken": {
21596	//       "description": "Value of the nextPageToken from the previous result page.",
21597	//       "location": "query",
21598	//       "type": "string"
21599	//     },
21600	//     "profileId": {
21601	//       "description": "User profile ID associated with this request.",
21602	//       "format": "int64",
21603	//       "location": "path",
21604	//       "required": true,
21605	//       "type": "string"
21606	//     },
21607	//     "searchString": {
21608	//       "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\".",
21609	//       "location": "query",
21610	//       "type": "string"
21611	//     },
21612	//     "sortField": {
21613	//       "default": "ID",
21614	//       "description": "Field by which to sort the list.",
21615	//       "enum": [
21616	//         "ID",
21617	//         "NAME"
21618	//       ],
21619	//       "enumDescriptions": [
21620	//         "",
21621	//         ""
21622	//       ],
21623	//       "location": "query",
21624	//       "type": "string"
21625	//     },
21626	//     "sortOrder": {
21627	//       "default": "ASCENDING",
21628	//       "description": "Order of sorted results.",
21629	//       "enum": [
21630	//         "ASCENDING",
21631	//         "DESCENDING"
21632	//       ],
21633	//       "enumDescriptions": [
21634	//         "",
21635	//         ""
21636	//       ],
21637	//       "location": "query",
21638	//       "type": "string"
21639	//     },
21640	//     "subaccountId": {
21641	//       "description": "Select only campaigns that belong to this subaccount.",
21642	//       "format": "int64",
21643	//       "location": "query",
21644	//       "type": "string"
21645	//     }
21646	//   },
21647	//   "path": "userprofiles/{profileId}/campaigns",
21648	//   "response": {
21649	//     "$ref": "CampaignsListResponse"
21650	//   },
21651	//   "scopes": [
21652	//     "https://www.googleapis.com/auth/dfatrafficking"
21653	//   ]
21654	// }
21655
21656}
21657
21658// Pages invokes f for each page of results.
21659// A non-nil error returned from f will halt the iteration.
21660// The provided context supersedes any context provided to the Context method.
21661func (c *CampaignsListCall) Pages(ctx context.Context, f func(*CampaignsListResponse) error) error {
21662	c.ctx_ = ctx
21663	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21664	for {
21665		x, err := c.Do()
21666		if err != nil {
21667			return err
21668		}
21669		if err := f(x); err != nil {
21670			return err
21671		}
21672		if x.NextPageToken == "" {
21673			return nil
21674		}
21675		c.PageToken(x.NextPageToken)
21676	}
21677}
21678
21679// method id "dfareporting.campaigns.patch":
21680
21681type CampaignsPatchCall struct {
21682	s          *Service
21683	profileId  int64
21684	campaign   *Campaign
21685	urlParams_ gensupport.URLParams
21686	ctx_       context.Context
21687	header_    http.Header
21688}
21689
21690// Patch: Updates an existing campaign. This method supports patch
21691// semantics.
21692func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
21693	c := &CampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21694	c.profileId = profileId
21695	c.urlParams_.Set("id", fmt.Sprint(id))
21696	c.campaign = campaign
21697	return c
21698}
21699
21700// Fields allows partial responses to be retrieved. See
21701// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21702// for more information.
21703func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
21704	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21705	return c
21706}
21707
21708// Context sets the context to be used in this call's Do method. Any
21709// pending HTTP request will be aborted if the provided context is
21710// canceled.
21711func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
21712	c.ctx_ = ctx
21713	return c
21714}
21715
21716// Header returns an http.Header that can be modified by the caller to
21717// add HTTP headers to the request.
21718func (c *CampaignsPatchCall) Header() http.Header {
21719	if c.header_ == nil {
21720		c.header_ = make(http.Header)
21721	}
21722	return c.header_
21723}
21724
21725func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
21726	reqHeaders := make(http.Header)
21727	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
21728	for k, v := range c.header_ {
21729		reqHeaders[k] = v
21730	}
21731	reqHeaders.Set("User-Agent", c.s.userAgent())
21732	var body io.Reader = nil
21733	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21734	if err != nil {
21735		return nil, err
21736	}
21737	reqHeaders.Set("Content-Type", "application/json")
21738	c.urlParams_.Set("alt", alt)
21739	c.urlParams_.Set("prettyPrint", "false")
21740	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21741	urls += "?" + c.urlParams_.Encode()
21742	req, err := http.NewRequest("PATCH", urls, body)
21743	if err != nil {
21744		return nil, err
21745	}
21746	req.Header = reqHeaders
21747	googleapi.Expand(req.URL, map[string]string{
21748		"profileId": strconv.FormatInt(c.profileId, 10),
21749	})
21750	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21751}
21752
21753// Do executes the "dfareporting.campaigns.patch" call.
21754// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21755// code is an error. Response headers are in either
21756// *Campaign.ServerResponse.Header or (if a response was returned at
21757// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21758// to check whether the returned error was because
21759// http.StatusNotModified was returned.
21760func (c *CampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21761	gensupport.SetOptions(c.urlParams_, opts...)
21762	res, err := c.doRequest("json")
21763	if res != nil && res.StatusCode == http.StatusNotModified {
21764		if res.Body != nil {
21765			res.Body.Close()
21766		}
21767		return nil, &googleapi.Error{
21768			Code:   res.StatusCode,
21769			Header: res.Header,
21770		}
21771	}
21772	if err != nil {
21773		return nil, err
21774	}
21775	defer googleapi.CloseBody(res)
21776	if err := googleapi.CheckResponse(res); err != nil {
21777		return nil, err
21778	}
21779	ret := &Campaign{
21780		ServerResponse: googleapi.ServerResponse{
21781			Header:         res.Header,
21782			HTTPStatusCode: res.StatusCode,
21783		},
21784	}
21785	target := &ret
21786	if err := gensupport.DecodeResponse(target, res); err != nil {
21787		return nil, err
21788	}
21789	return ret, nil
21790	// {
21791	//   "description": "Updates an existing campaign. This method supports patch semantics.",
21792	//   "flatPath": "userprofiles/{profileId}/campaigns",
21793	//   "httpMethod": "PATCH",
21794	//   "id": "dfareporting.campaigns.patch",
21795	//   "parameterOrder": [
21796	//     "profileId",
21797	//     "id"
21798	//   ],
21799	//   "parameters": {
21800	//     "id": {
21801	//       "description": "Campaign ID.",
21802	//       "format": "int64",
21803	//       "location": "query",
21804	//       "required": true,
21805	//       "type": "string"
21806	//     },
21807	//     "profileId": {
21808	//       "description": "User profile ID associated with this request.",
21809	//       "format": "int64",
21810	//       "location": "path",
21811	//       "required": true,
21812	//       "type": "string"
21813	//     }
21814	//   },
21815	//   "path": "userprofiles/{profileId}/campaigns",
21816	//   "request": {
21817	//     "$ref": "Campaign"
21818	//   },
21819	//   "response": {
21820	//     "$ref": "Campaign"
21821	//   },
21822	//   "scopes": [
21823	//     "https://www.googleapis.com/auth/dfatrafficking"
21824	//   ]
21825	// }
21826
21827}
21828
21829// method id "dfareporting.campaigns.update":
21830
21831type CampaignsUpdateCall struct {
21832	s          *Service
21833	profileId  int64
21834	campaign   *Campaign
21835	urlParams_ gensupport.URLParams
21836	ctx_       context.Context
21837	header_    http.Header
21838}
21839
21840// Update: Updates an existing campaign.
21841func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
21842	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21843	c.profileId = profileId
21844	c.campaign = campaign
21845	return c
21846}
21847
21848// Fields allows partial responses to be retrieved. See
21849// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21850// for more information.
21851func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
21852	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21853	return c
21854}
21855
21856// Context sets the context to be used in this call's Do method. Any
21857// pending HTTP request will be aborted if the provided context is
21858// canceled.
21859func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
21860	c.ctx_ = ctx
21861	return c
21862}
21863
21864// Header returns an http.Header that can be modified by the caller to
21865// add HTTP headers to the request.
21866func (c *CampaignsUpdateCall) Header() http.Header {
21867	if c.header_ == nil {
21868		c.header_ = make(http.Header)
21869	}
21870	return c.header_
21871}
21872
21873func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
21874	reqHeaders := make(http.Header)
21875	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
21876	for k, v := range c.header_ {
21877		reqHeaders[k] = v
21878	}
21879	reqHeaders.Set("User-Agent", c.s.userAgent())
21880	var body io.Reader = nil
21881	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21882	if err != nil {
21883		return nil, err
21884	}
21885	reqHeaders.Set("Content-Type", "application/json")
21886	c.urlParams_.Set("alt", alt)
21887	c.urlParams_.Set("prettyPrint", "false")
21888	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21889	urls += "?" + c.urlParams_.Encode()
21890	req, err := http.NewRequest("PUT", urls, body)
21891	if err != nil {
21892		return nil, err
21893	}
21894	req.Header = reqHeaders
21895	googleapi.Expand(req.URL, map[string]string{
21896		"profileId": strconv.FormatInt(c.profileId, 10),
21897	})
21898	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21899}
21900
21901// Do executes the "dfareporting.campaigns.update" call.
21902// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21903// code is an error. Response headers are in either
21904// *Campaign.ServerResponse.Header or (if a response was returned at
21905// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21906// to check whether the returned error was because
21907// http.StatusNotModified was returned.
21908func (c *CampaignsUpdateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21909	gensupport.SetOptions(c.urlParams_, opts...)
21910	res, err := c.doRequest("json")
21911	if res != nil && res.StatusCode == http.StatusNotModified {
21912		if res.Body != nil {
21913			res.Body.Close()
21914		}
21915		return nil, &googleapi.Error{
21916			Code:   res.StatusCode,
21917			Header: res.Header,
21918		}
21919	}
21920	if err != nil {
21921		return nil, err
21922	}
21923	defer googleapi.CloseBody(res)
21924	if err := googleapi.CheckResponse(res); err != nil {
21925		return nil, err
21926	}
21927	ret := &Campaign{
21928		ServerResponse: googleapi.ServerResponse{
21929			Header:         res.Header,
21930			HTTPStatusCode: res.StatusCode,
21931		},
21932	}
21933	target := &ret
21934	if err := gensupport.DecodeResponse(target, res); err != nil {
21935		return nil, err
21936	}
21937	return ret, nil
21938	// {
21939	//   "description": "Updates an existing campaign.",
21940	//   "flatPath": "userprofiles/{profileId}/campaigns",
21941	//   "httpMethod": "PUT",
21942	//   "id": "dfareporting.campaigns.update",
21943	//   "parameterOrder": [
21944	//     "profileId"
21945	//   ],
21946	//   "parameters": {
21947	//     "profileId": {
21948	//       "description": "User profile ID associated with this request.",
21949	//       "format": "int64",
21950	//       "location": "path",
21951	//       "required": true,
21952	//       "type": "string"
21953	//     }
21954	//   },
21955	//   "path": "userprofiles/{profileId}/campaigns",
21956	//   "request": {
21957	//     "$ref": "Campaign"
21958	//   },
21959	//   "response": {
21960	//     "$ref": "Campaign"
21961	//   },
21962	//   "scopes": [
21963	//     "https://www.googleapis.com/auth/dfatrafficking"
21964	//   ]
21965	// }
21966
21967}
21968
21969// method id "dfareporting.changeLogs.get":
21970
21971type ChangeLogsGetCall struct {
21972	s            *Service
21973	profileId    int64
21974	id           int64
21975	urlParams_   gensupport.URLParams
21976	ifNoneMatch_ string
21977	ctx_         context.Context
21978	header_      http.Header
21979}
21980
21981// Get: Gets one change log by ID.
21982func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
21983	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21984	c.profileId = profileId
21985	c.id = id
21986	return c
21987}
21988
21989// Fields allows partial responses to be retrieved. See
21990// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21991// for more information.
21992func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
21993	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21994	return c
21995}
21996
21997// IfNoneMatch sets the optional parameter which makes the operation
21998// fail if the object's ETag matches the given value. This is useful for
21999// getting updates only after the object has changed since the last
22000// request. Use googleapi.IsNotModified to check whether the response
22001// error from Do is the result of In-None-Match.
22002func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
22003	c.ifNoneMatch_ = entityTag
22004	return c
22005}
22006
22007// Context sets the context to be used in this call's Do method. Any
22008// pending HTTP request will be aborted if the provided context is
22009// canceled.
22010func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
22011	c.ctx_ = ctx
22012	return c
22013}
22014
22015// Header returns an http.Header that can be modified by the caller to
22016// add HTTP headers to the request.
22017func (c *ChangeLogsGetCall) Header() http.Header {
22018	if c.header_ == nil {
22019		c.header_ = make(http.Header)
22020	}
22021	return c.header_
22022}
22023
22024func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
22025	reqHeaders := make(http.Header)
22026	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
22027	for k, v := range c.header_ {
22028		reqHeaders[k] = v
22029	}
22030	reqHeaders.Set("User-Agent", c.s.userAgent())
22031	if c.ifNoneMatch_ != "" {
22032		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22033	}
22034	var body io.Reader = nil
22035	c.urlParams_.Set("alt", alt)
22036	c.urlParams_.Set("prettyPrint", "false")
22037	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
22038	urls += "?" + c.urlParams_.Encode()
22039	req, err := http.NewRequest("GET", urls, body)
22040	if err != nil {
22041		return nil, err
22042	}
22043	req.Header = reqHeaders
22044	googleapi.Expand(req.URL, map[string]string{
22045		"profileId": strconv.FormatInt(c.profileId, 10),
22046		"id":        strconv.FormatInt(c.id, 10),
22047	})
22048	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22049}
22050
22051// Do executes the "dfareporting.changeLogs.get" call.
22052// Exactly one of *ChangeLog or error will be non-nil. Any non-2xx
22053// status code is an error. Response headers are in either
22054// *ChangeLog.ServerResponse.Header or (if a response was returned at
22055// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22056// to check whether the returned error was because
22057// http.StatusNotModified was returned.
22058func (c *ChangeLogsGetCall) Do(opts ...googleapi.CallOption) (*ChangeLog, error) {
22059	gensupport.SetOptions(c.urlParams_, opts...)
22060	res, err := c.doRequest("json")
22061	if res != nil && res.StatusCode == http.StatusNotModified {
22062		if res.Body != nil {
22063			res.Body.Close()
22064		}
22065		return nil, &googleapi.Error{
22066			Code:   res.StatusCode,
22067			Header: res.Header,
22068		}
22069	}
22070	if err != nil {
22071		return nil, err
22072	}
22073	defer googleapi.CloseBody(res)
22074	if err := googleapi.CheckResponse(res); err != nil {
22075		return nil, err
22076	}
22077	ret := &ChangeLog{
22078		ServerResponse: googleapi.ServerResponse{
22079			Header:         res.Header,
22080			HTTPStatusCode: res.StatusCode,
22081		},
22082	}
22083	target := &ret
22084	if err := gensupport.DecodeResponse(target, res); err != nil {
22085		return nil, err
22086	}
22087	return ret, nil
22088	// {
22089	//   "description": "Gets one change log by ID.",
22090	//   "flatPath": "userprofiles/{profileId}/changeLogs/{id}",
22091	//   "httpMethod": "GET",
22092	//   "id": "dfareporting.changeLogs.get",
22093	//   "parameterOrder": [
22094	//     "profileId",
22095	//     "id"
22096	//   ],
22097	//   "parameters": {
22098	//     "id": {
22099	//       "description": "Change log ID.",
22100	//       "format": "int64",
22101	//       "location": "path",
22102	//       "required": true,
22103	//       "type": "string"
22104	//     },
22105	//     "profileId": {
22106	//       "description": "User profile ID associated with this request.",
22107	//       "format": "int64",
22108	//       "location": "path",
22109	//       "required": true,
22110	//       "type": "string"
22111	//     }
22112	//   },
22113	//   "path": "userprofiles/{profileId}/changeLogs/{id}",
22114	//   "response": {
22115	//     "$ref": "ChangeLog"
22116	//   },
22117	//   "scopes": [
22118	//     "https://www.googleapis.com/auth/dfatrafficking"
22119	//   ]
22120	// }
22121
22122}
22123
22124// method id "dfareporting.changeLogs.list":
22125
22126type ChangeLogsListCall struct {
22127	s            *Service
22128	profileId    int64
22129	urlParams_   gensupport.URLParams
22130	ifNoneMatch_ string
22131	ctx_         context.Context
22132	header_      http.Header
22133}
22134
22135// List: Retrieves a list of change logs. This method supports paging.
22136func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
22137	c := &ChangeLogsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22138	c.profileId = profileId
22139	return c
22140}
22141
22142// Action sets the optional parameter "action": Select only change logs
22143// with the specified action.
22144//
22145// Possible values:
22146//   "ACTION_CREATE"
22147//   "ACTION_UPDATE"
22148//   "ACTION_DELETE"
22149//   "ACTION_ENABLE"
22150//   "ACTION_DISABLE"
22151//   "ACTION_ADD"
22152//   "ACTION_REMOVE"
22153//   "ACTION_MARK_AS_DEFAULT"
22154//   "ACTION_ASSOCIATE"
22155//   "ACTION_ASSIGN"
22156//   "ACTION_UNASSIGN"
22157//   "ACTION_SEND"
22158//   "ACTION_LINK"
22159//   "ACTION_UNLINK"
22160//   "ACTION_PUSH"
22161//   "ACTION_EMAIL_TAGS"
22162//   "ACTION_SHARE"
22163func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
22164	c.urlParams_.Set("action", action)
22165	return c
22166}
22167
22168// Ids sets the optional parameter "ids": Select only change logs with
22169// these IDs.
22170func (c *ChangeLogsListCall) Ids(ids ...int64) *ChangeLogsListCall {
22171	var ids_ []string
22172	for _, v := range ids {
22173		ids_ = append(ids_, fmt.Sprint(v))
22174	}
22175	c.urlParams_.SetMulti("ids", ids_)
22176	return c
22177}
22178
22179// MaxChangeTime sets the optional parameter "maxChangeTime": Select
22180// only change logs whose change time is before the specified
22181// maxChangeTime.The time should be formatted as an RFC3339 date/time
22182// string. For example, for 10:54 PM on July 18th, 2015, in the
22183// America/New York time zone, the format is
22184// "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
22185// the letter T, the hour (24-hour clock system), minute, second, and
22186// then the time zone offset.
22187func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
22188	c.urlParams_.Set("maxChangeTime", maxChangeTime)
22189	return c
22190}
22191
22192// MaxResults sets the optional parameter "maxResults": Maximum number
22193// of results to return.
22194func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
22195	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
22196	return c
22197}
22198
22199// MinChangeTime sets the optional parameter "minChangeTime": Select
22200// only change logs whose change time is after the specified
22201// minChangeTime.The time should be formatted as an RFC3339 date/time
22202// string. For example, for 10:54 PM on July 18th, 2015, in the
22203// America/New York time zone, the format is
22204// "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
22205// the letter T, the hour (24-hour clock system), minute, second, and
22206// then the time zone offset.
22207func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
22208	c.urlParams_.Set("minChangeTime", minChangeTime)
22209	return c
22210}
22211
22212// ObjectIds sets the optional parameter "objectIds": Select only change
22213// logs with these object IDs.
22214func (c *ChangeLogsListCall) ObjectIds(objectIds ...int64) *ChangeLogsListCall {
22215	var objectIds_ []string
22216	for _, v := range objectIds {
22217		objectIds_ = append(objectIds_, fmt.Sprint(v))
22218	}
22219	c.urlParams_.SetMulti("objectIds", objectIds_)
22220	return c
22221}
22222
22223// ObjectType sets the optional parameter "objectType": Select only
22224// change logs with the specified object type.
22225//
22226// Possible values:
22227//   "OBJECT_ADVERTISER"
22228//   "OBJECT_FLOODLIGHT_CONFIGURATION"
22229//   "OBJECT_AD"
22230//   "OBJECT_FLOODLIGHT_ACTVITY"
22231//   "OBJECT_CAMPAIGN"
22232//   "OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
22233//   "OBJECT_CREATIVE"
22234//   "OBJECT_PLACEMENT"
22235//   "OBJECT_DFA_SITE"
22236//   "OBJECT_USER_ROLE"
22237//   "OBJECT_USER_PROFILE"
22238//   "OBJECT_ADVERTISER_GROUP"
22239//   "OBJECT_ACCOUNT"
22240//   "OBJECT_SUBACCOUNT"
22241//   "OBJECT_RICHMEDIA_CREATIVE"
22242//   "OBJECT_INSTREAM_CREATIVE"
22243//   "OBJECT_MEDIA_ORDER"
22244//   "OBJECT_CONTENT_CATEGORY"
22245//   "OBJECT_PLACEMENT_STRATEGY"
22246//   "OBJECT_SD_SITE"
22247//   "OBJECT_SIZE"
22248//   "OBJECT_CREATIVE_GROUP"
22249//   "OBJECT_CREATIVE_ASSET"
22250//   "OBJECT_USER_PROFILE_FILTER"
22251//   "OBJECT_LANDING_PAGE"
22252//   "OBJECT_CREATIVE_FIELD"
22253//   "OBJECT_REMARKETING_LIST"
22254//   "OBJECT_PROVIDED_LIST_CLIENT"
22255//   "OBJECT_EVENT_TAG"
22256//   "OBJECT_CREATIVE_BUNDLE"
22257//   "OBJECT_BILLING_ACCOUNT_GROUP"
22258//   "OBJECT_BILLING_FEATURE"
22259//   "OBJECT_RATE_CARD"
22260//   "OBJECT_ACCOUNT_BILLING_FEATURE"
22261//   "OBJECT_BILLING_MINIMUM_FEE"
22262//   "OBJECT_BILLING_PROFILE"
22263//   "OBJECT_PLAYSTORE_LINK"
22264//   "OBJECT_TARGETING_TEMPLATE"
22265//   "OBJECT_SEARCH_LIFT_STUDY"
22266//   "OBJECT_FLOODLIGHT_DV360_LINK"
22267func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
22268	c.urlParams_.Set("objectType", objectType)
22269	return c
22270}
22271
22272// PageToken sets the optional parameter "pageToken": Value of the
22273// nextPageToken from the previous result page.
22274func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
22275	c.urlParams_.Set("pageToken", pageToken)
22276	return c
22277}
22278
22279// SearchString sets the optional parameter "searchString": Select only
22280// change logs whose object ID, user name, old or new values match the
22281// search string.
22282func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
22283	c.urlParams_.Set("searchString", searchString)
22284	return c
22285}
22286
22287// UserProfileIds sets the optional parameter "userProfileIds": Select
22288// only change logs with these user profile IDs.
22289func (c *ChangeLogsListCall) UserProfileIds(userProfileIds ...int64) *ChangeLogsListCall {
22290	var userProfileIds_ []string
22291	for _, v := range userProfileIds {
22292		userProfileIds_ = append(userProfileIds_, fmt.Sprint(v))
22293	}
22294	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
22295	return c
22296}
22297
22298// Fields allows partial responses to be retrieved. See
22299// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22300// for more information.
22301func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
22302	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22303	return c
22304}
22305
22306// IfNoneMatch sets the optional parameter which makes the operation
22307// fail if the object's ETag matches the given value. This is useful for
22308// getting updates only after the object has changed since the last
22309// request. Use googleapi.IsNotModified to check whether the response
22310// error from Do is the result of In-None-Match.
22311func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
22312	c.ifNoneMatch_ = entityTag
22313	return c
22314}
22315
22316// Context sets the context to be used in this call's Do method. Any
22317// pending HTTP request will be aborted if the provided context is
22318// canceled.
22319func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
22320	c.ctx_ = ctx
22321	return c
22322}
22323
22324// Header returns an http.Header that can be modified by the caller to
22325// add HTTP headers to the request.
22326func (c *ChangeLogsListCall) Header() http.Header {
22327	if c.header_ == nil {
22328		c.header_ = make(http.Header)
22329	}
22330	return c.header_
22331}
22332
22333func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
22334	reqHeaders := make(http.Header)
22335	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
22336	for k, v := range c.header_ {
22337		reqHeaders[k] = v
22338	}
22339	reqHeaders.Set("User-Agent", c.s.userAgent())
22340	if c.ifNoneMatch_ != "" {
22341		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22342	}
22343	var body io.Reader = nil
22344	c.urlParams_.Set("alt", alt)
22345	c.urlParams_.Set("prettyPrint", "false")
22346	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
22347	urls += "?" + c.urlParams_.Encode()
22348	req, err := http.NewRequest("GET", urls, body)
22349	if err != nil {
22350		return nil, err
22351	}
22352	req.Header = reqHeaders
22353	googleapi.Expand(req.URL, map[string]string{
22354		"profileId": strconv.FormatInt(c.profileId, 10),
22355	})
22356	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22357}
22358
22359// Do executes the "dfareporting.changeLogs.list" call.
22360// Exactly one of *ChangeLogsListResponse or error will be non-nil. Any
22361// non-2xx status code is an error. Response headers are in either
22362// *ChangeLogsListResponse.ServerResponse.Header or (if a response was
22363// returned at all) in error.(*googleapi.Error).Header. Use
22364// googleapi.IsNotModified to check whether the returned error was
22365// because http.StatusNotModified was returned.
22366func (c *ChangeLogsListCall) Do(opts ...googleapi.CallOption) (*ChangeLogsListResponse, error) {
22367	gensupport.SetOptions(c.urlParams_, opts...)
22368	res, err := c.doRequest("json")
22369	if res != nil && res.StatusCode == http.StatusNotModified {
22370		if res.Body != nil {
22371			res.Body.Close()
22372		}
22373		return nil, &googleapi.Error{
22374			Code:   res.StatusCode,
22375			Header: res.Header,
22376		}
22377	}
22378	if err != nil {
22379		return nil, err
22380	}
22381	defer googleapi.CloseBody(res)
22382	if err := googleapi.CheckResponse(res); err != nil {
22383		return nil, err
22384	}
22385	ret := &ChangeLogsListResponse{
22386		ServerResponse: googleapi.ServerResponse{
22387			Header:         res.Header,
22388			HTTPStatusCode: res.StatusCode,
22389		},
22390	}
22391	target := &ret
22392	if err := gensupport.DecodeResponse(target, res); err != nil {
22393		return nil, err
22394	}
22395	return ret, nil
22396	// {
22397	//   "description": "Retrieves a list of change logs. This method supports paging.",
22398	//   "flatPath": "userprofiles/{profileId}/changeLogs",
22399	//   "httpMethod": "GET",
22400	//   "id": "dfareporting.changeLogs.list",
22401	//   "parameterOrder": [
22402	//     "profileId"
22403	//   ],
22404	//   "parameters": {
22405	//     "action": {
22406	//       "description": "Select only change logs with the specified action.",
22407	//       "enum": [
22408	//         "ACTION_CREATE",
22409	//         "ACTION_UPDATE",
22410	//         "ACTION_DELETE",
22411	//         "ACTION_ENABLE",
22412	//         "ACTION_DISABLE",
22413	//         "ACTION_ADD",
22414	//         "ACTION_REMOVE",
22415	//         "ACTION_MARK_AS_DEFAULT",
22416	//         "ACTION_ASSOCIATE",
22417	//         "ACTION_ASSIGN",
22418	//         "ACTION_UNASSIGN",
22419	//         "ACTION_SEND",
22420	//         "ACTION_LINK",
22421	//         "ACTION_UNLINK",
22422	//         "ACTION_PUSH",
22423	//         "ACTION_EMAIL_TAGS",
22424	//         "ACTION_SHARE"
22425	//       ],
22426	//       "enumDescriptions": [
22427	//         "",
22428	//         "",
22429	//         "",
22430	//         "",
22431	//         "",
22432	//         "",
22433	//         "",
22434	//         "",
22435	//         "",
22436	//         "",
22437	//         "",
22438	//         "",
22439	//         "",
22440	//         "",
22441	//         "",
22442	//         "",
22443	//         ""
22444	//       ],
22445	//       "location": "query",
22446	//       "type": "string"
22447	//     },
22448	//     "ids": {
22449	//       "description": "Select only change logs with these IDs.",
22450	//       "format": "int64",
22451	//       "location": "query",
22452	//       "repeated": true,
22453	//       "type": "string"
22454	//     },
22455	//     "maxChangeTime": {
22456	//       "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.",
22457	//       "location": "query",
22458	//       "type": "string"
22459	//     },
22460	//     "maxResults": {
22461	//       "default": "1000",
22462	//       "description": "Maximum number of results to return.",
22463	//       "format": "int32",
22464	//       "location": "query",
22465	//       "maximum": "1000",
22466	//       "minimum": "0",
22467	//       "type": "integer"
22468	//     },
22469	//     "minChangeTime": {
22470	//       "description": "Select only change logs whose change time is after the specified minChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is \"2015-07-18T22:54:00-04:00\". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.",
22471	//       "location": "query",
22472	//       "type": "string"
22473	//     },
22474	//     "objectIds": {
22475	//       "description": "Select only change logs with these object IDs.",
22476	//       "format": "int64",
22477	//       "location": "query",
22478	//       "repeated": true,
22479	//       "type": "string"
22480	//     },
22481	//     "objectType": {
22482	//       "description": "Select only change logs with the specified object type.",
22483	//       "enum": [
22484	//         "OBJECT_ADVERTISER",
22485	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
22486	//         "OBJECT_AD",
22487	//         "OBJECT_FLOODLIGHT_ACTVITY",
22488	//         "OBJECT_CAMPAIGN",
22489	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
22490	//         "OBJECT_CREATIVE",
22491	//         "OBJECT_PLACEMENT",
22492	//         "OBJECT_DFA_SITE",
22493	//         "OBJECT_USER_ROLE",
22494	//         "OBJECT_USER_PROFILE",
22495	//         "OBJECT_ADVERTISER_GROUP",
22496	//         "OBJECT_ACCOUNT",
22497	//         "OBJECT_SUBACCOUNT",
22498	//         "OBJECT_RICHMEDIA_CREATIVE",
22499	//         "OBJECT_INSTREAM_CREATIVE",
22500	//         "OBJECT_MEDIA_ORDER",
22501	//         "OBJECT_CONTENT_CATEGORY",
22502	//         "OBJECT_PLACEMENT_STRATEGY",
22503	//         "OBJECT_SD_SITE",
22504	//         "OBJECT_SIZE",
22505	//         "OBJECT_CREATIVE_GROUP",
22506	//         "OBJECT_CREATIVE_ASSET",
22507	//         "OBJECT_USER_PROFILE_FILTER",
22508	//         "OBJECT_LANDING_PAGE",
22509	//         "OBJECT_CREATIVE_FIELD",
22510	//         "OBJECT_REMARKETING_LIST",
22511	//         "OBJECT_PROVIDED_LIST_CLIENT",
22512	//         "OBJECT_EVENT_TAG",
22513	//         "OBJECT_CREATIVE_BUNDLE",
22514	//         "OBJECT_BILLING_ACCOUNT_GROUP",
22515	//         "OBJECT_BILLING_FEATURE",
22516	//         "OBJECT_RATE_CARD",
22517	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
22518	//         "OBJECT_BILLING_MINIMUM_FEE",
22519	//         "OBJECT_BILLING_PROFILE",
22520	//         "OBJECT_PLAYSTORE_LINK",
22521	//         "OBJECT_TARGETING_TEMPLATE",
22522	//         "OBJECT_SEARCH_LIFT_STUDY",
22523	//         "OBJECT_FLOODLIGHT_DV360_LINK"
22524	//       ],
22525	//       "enumDescriptions": [
22526	//         "",
22527	//         "",
22528	//         "",
22529	//         "",
22530	//         "",
22531	//         "",
22532	//         "",
22533	//         "",
22534	//         "",
22535	//         "",
22536	//         "",
22537	//         "",
22538	//         "",
22539	//         "",
22540	//         "",
22541	//         "",
22542	//         "",
22543	//         "",
22544	//         "",
22545	//         "",
22546	//         "",
22547	//         "",
22548	//         "",
22549	//         "",
22550	//         "",
22551	//         "",
22552	//         "",
22553	//         "",
22554	//         "",
22555	//         "",
22556	//         "",
22557	//         "",
22558	//         "",
22559	//         "",
22560	//         "",
22561	//         "",
22562	//         "",
22563	//         "",
22564	//         "",
22565	//         ""
22566	//       ],
22567	//       "location": "query",
22568	//       "type": "string"
22569	//     },
22570	//     "pageToken": {
22571	//       "description": "Value of the nextPageToken from the previous result page.",
22572	//       "location": "query",
22573	//       "type": "string"
22574	//     },
22575	//     "profileId": {
22576	//       "description": "User profile ID associated with this request.",
22577	//       "format": "int64",
22578	//       "location": "path",
22579	//       "required": true,
22580	//       "type": "string"
22581	//     },
22582	//     "searchString": {
22583	//       "description": "Select only change logs whose object ID, user name, old or new values match the search string.",
22584	//       "location": "query",
22585	//       "type": "string"
22586	//     },
22587	//     "userProfileIds": {
22588	//       "description": "Select only change logs with these user profile IDs.",
22589	//       "format": "int64",
22590	//       "location": "query",
22591	//       "repeated": true,
22592	//       "type": "string"
22593	//     }
22594	//   },
22595	//   "path": "userprofiles/{profileId}/changeLogs",
22596	//   "response": {
22597	//     "$ref": "ChangeLogsListResponse"
22598	//   },
22599	//   "scopes": [
22600	//     "https://www.googleapis.com/auth/dfatrafficking"
22601	//   ]
22602	// }
22603
22604}
22605
22606// Pages invokes f for each page of results.
22607// A non-nil error returned from f will halt the iteration.
22608// The provided context supersedes any context provided to the Context method.
22609func (c *ChangeLogsListCall) Pages(ctx context.Context, f func(*ChangeLogsListResponse) error) error {
22610	c.ctx_ = ctx
22611	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22612	for {
22613		x, err := c.Do()
22614		if err != nil {
22615			return err
22616		}
22617		if err := f(x); err != nil {
22618			return err
22619		}
22620		if x.NextPageToken == "" {
22621			return nil
22622		}
22623		c.PageToken(x.NextPageToken)
22624	}
22625}
22626
22627// method id "dfareporting.cities.list":
22628
22629type CitiesListCall struct {
22630	s            *Service
22631	profileId    int64
22632	urlParams_   gensupport.URLParams
22633	ifNoneMatch_ string
22634	ctx_         context.Context
22635	header_      http.Header
22636}
22637
22638// List: Retrieves a list of cities, possibly filtered.
22639func (r *CitiesService) List(profileId int64) *CitiesListCall {
22640	c := &CitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22641	c.profileId = profileId
22642	return c
22643}
22644
22645// CountryDartIds sets the optional parameter "countryDartIds": Select
22646// only cities from these countries.
22647func (c *CitiesListCall) CountryDartIds(countryDartIds ...int64) *CitiesListCall {
22648	var countryDartIds_ []string
22649	for _, v := range countryDartIds {
22650		countryDartIds_ = append(countryDartIds_, fmt.Sprint(v))
22651	}
22652	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
22653	return c
22654}
22655
22656// DartIds sets the optional parameter "dartIds": Select only cities
22657// with these DART IDs.
22658func (c *CitiesListCall) DartIds(dartIds ...int64) *CitiesListCall {
22659	var dartIds_ []string
22660	for _, v := range dartIds {
22661		dartIds_ = append(dartIds_, fmt.Sprint(v))
22662	}
22663	c.urlParams_.SetMulti("dartIds", dartIds_)
22664	return c
22665}
22666
22667// NamePrefix sets the optional parameter "namePrefix": Select only
22668// cities with names starting with this prefix.
22669func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
22670	c.urlParams_.Set("namePrefix", namePrefix)
22671	return c
22672}
22673
22674// RegionDartIds sets the optional parameter "regionDartIds": Select
22675// only cities from these regions.
22676func (c *CitiesListCall) RegionDartIds(regionDartIds ...int64) *CitiesListCall {
22677	var regionDartIds_ []string
22678	for _, v := range regionDartIds {
22679		regionDartIds_ = append(regionDartIds_, fmt.Sprint(v))
22680	}
22681	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
22682	return c
22683}
22684
22685// Fields allows partial responses to be retrieved. See
22686// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22687// for more information.
22688func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
22689	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22690	return c
22691}
22692
22693// IfNoneMatch sets the optional parameter which makes the operation
22694// fail if the object's ETag matches the given value. This is useful for
22695// getting updates only after the object has changed since the last
22696// request. Use googleapi.IsNotModified to check whether the response
22697// error from Do is the result of In-None-Match.
22698func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
22699	c.ifNoneMatch_ = entityTag
22700	return c
22701}
22702
22703// Context sets the context to be used in this call's Do method. Any
22704// pending HTTP request will be aborted if the provided context is
22705// canceled.
22706func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
22707	c.ctx_ = ctx
22708	return c
22709}
22710
22711// Header returns an http.Header that can be modified by the caller to
22712// add HTTP headers to the request.
22713func (c *CitiesListCall) Header() http.Header {
22714	if c.header_ == nil {
22715		c.header_ = make(http.Header)
22716	}
22717	return c.header_
22718}
22719
22720func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
22721	reqHeaders := make(http.Header)
22722	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
22723	for k, v := range c.header_ {
22724		reqHeaders[k] = v
22725	}
22726	reqHeaders.Set("User-Agent", c.s.userAgent())
22727	if c.ifNoneMatch_ != "" {
22728		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22729	}
22730	var body io.Reader = nil
22731	c.urlParams_.Set("alt", alt)
22732	c.urlParams_.Set("prettyPrint", "false")
22733	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
22734	urls += "?" + c.urlParams_.Encode()
22735	req, err := http.NewRequest("GET", urls, body)
22736	if err != nil {
22737		return nil, err
22738	}
22739	req.Header = reqHeaders
22740	googleapi.Expand(req.URL, map[string]string{
22741		"profileId": strconv.FormatInt(c.profileId, 10),
22742	})
22743	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22744}
22745
22746// Do executes the "dfareporting.cities.list" call.
22747// Exactly one of *CitiesListResponse or error will be non-nil. Any
22748// non-2xx status code is an error. Response headers are in either
22749// *CitiesListResponse.ServerResponse.Header or (if a response was
22750// returned at all) in error.(*googleapi.Error).Header. Use
22751// googleapi.IsNotModified to check whether the returned error was
22752// because http.StatusNotModified was returned.
22753func (c *CitiesListCall) Do(opts ...googleapi.CallOption) (*CitiesListResponse, error) {
22754	gensupport.SetOptions(c.urlParams_, opts...)
22755	res, err := c.doRequest("json")
22756	if res != nil && res.StatusCode == http.StatusNotModified {
22757		if res.Body != nil {
22758			res.Body.Close()
22759		}
22760		return nil, &googleapi.Error{
22761			Code:   res.StatusCode,
22762			Header: res.Header,
22763		}
22764	}
22765	if err != nil {
22766		return nil, err
22767	}
22768	defer googleapi.CloseBody(res)
22769	if err := googleapi.CheckResponse(res); err != nil {
22770		return nil, err
22771	}
22772	ret := &CitiesListResponse{
22773		ServerResponse: googleapi.ServerResponse{
22774			Header:         res.Header,
22775			HTTPStatusCode: res.StatusCode,
22776		},
22777	}
22778	target := &ret
22779	if err := gensupport.DecodeResponse(target, res); err != nil {
22780		return nil, err
22781	}
22782	return ret, nil
22783	// {
22784	//   "description": "Retrieves a list of cities, possibly filtered.",
22785	//   "flatPath": "userprofiles/{profileId}/cities",
22786	//   "httpMethod": "GET",
22787	//   "id": "dfareporting.cities.list",
22788	//   "parameterOrder": [
22789	//     "profileId"
22790	//   ],
22791	//   "parameters": {
22792	//     "countryDartIds": {
22793	//       "description": "Select only cities from these countries.",
22794	//       "format": "int64",
22795	//       "location": "query",
22796	//       "repeated": true,
22797	//       "type": "string"
22798	//     },
22799	//     "dartIds": {
22800	//       "description": "Select only cities with these DART IDs.",
22801	//       "format": "int64",
22802	//       "location": "query",
22803	//       "repeated": true,
22804	//       "type": "string"
22805	//     },
22806	//     "namePrefix": {
22807	//       "description": "Select only cities with names starting with this prefix.",
22808	//       "location": "query",
22809	//       "type": "string"
22810	//     },
22811	//     "profileId": {
22812	//       "description": "User profile ID associated with this request.",
22813	//       "format": "int64",
22814	//       "location": "path",
22815	//       "required": true,
22816	//       "type": "string"
22817	//     },
22818	//     "regionDartIds": {
22819	//       "description": "Select only cities from these regions.",
22820	//       "format": "int64",
22821	//       "location": "query",
22822	//       "repeated": true,
22823	//       "type": "string"
22824	//     }
22825	//   },
22826	//   "path": "userprofiles/{profileId}/cities",
22827	//   "response": {
22828	//     "$ref": "CitiesListResponse"
22829	//   },
22830	//   "scopes": [
22831	//     "https://www.googleapis.com/auth/dfatrafficking"
22832	//   ]
22833	// }
22834
22835}
22836
22837// method id "dfareporting.connectionTypes.get":
22838
22839type ConnectionTypesGetCall struct {
22840	s            *Service
22841	profileId    int64
22842	id           int64
22843	urlParams_   gensupport.URLParams
22844	ifNoneMatch_ string
22845	ctx_         context.Context
22846	header_      http.Header
22847}
22848
22849// Get: Gets one connection type by ID.
22850func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
22851	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22852	c.profileId = profileId
22853	c.id = id
22854	return c
22855}
22856
22857// Fields allows partial responses to be retrieved. See
22858// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22859// for more information.
22860func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
22861	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22862	return c
22863}
22864
22865// IfNoneMatch sets the optional parameter which makes the operation
22866// fail if the object's ETag matches the given value. This is useful for
22867// getting updates only after the object has changed since the last
22868// request. Use googleapi.IsNotModified to check whether the response
22869// error from Do is the result of In-None-Match.
22870func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
22871	c.ifNoneMatch_ = entityTag
22872	return c
22873}
22874
22875// Context sets the context to be used in this call's Do method. Any
22876// pending HTTP request will be aborted if the provided context is
22877// canceled.
22878func (c *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
22879	c.ctx_ = ctx
22880	return c
22881}
22882
22883// Header returns an http.Header that can be modified by the caller to
22884// add HTTP headers to the request.
22885func (c *ConnectionTypesGetCall) Header() http.Header {
22886	if c.header_ == nil {
22887		c.header_ = make(http.Header)
22888	}
22889	return c.header_
22890}
22891
22892func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
22893	reqHeaders := make(http.Header)
22894	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
22895	for k, v := range c.header_ {
22896		reqHeaders[k] = v
22897	}
22898	reqHeaders.Set("User-Agent", c.s.userAgent())
22899	if c.ifNoneMatch_ != "" {
22900		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22901	}
22902	var body io.Reader = nil
22903	c.urlParams_.Set("alt", alt)
22904	c.urlParams_.Set("prettyPrint", "false")
22905	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
22906	urls += "?" + c.urlParams_.Encode()
22907	req, err := http.NewRequest("GET", urls, body)
22908	if err != nil {
22909		return nil, err
22910	}
22911	req.Header = reqHeaders
22912	googleapi.Expand(req.URL, map[string]string{
22913		"profileId": strconv.FormatInt(c.profileId, 10),
22914		"id":        strconv.FormatInt(c.id, 10),
22915	})
22916	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22917}
22918
22919// Do executes the "dfareporting.connectionTypes.get" call.
22920// Exactly one of *ConnectionType or error will be non-nil. Any non-2xx
22921// status code is an error. Response headers are in either
22922// *ConnectionType.ServerResponse.Header or (if a response was returned
22923// at all) in error.(*googleapi.Error).Header. Use
22924// googleapi.IsNotModified to check whether the returned error was
22925// because http.StatusNotModified was returned.
22926func (c *ConnectionTypesGetCall) Do(opts ...googleapi.CallOption) (*ConnectionType, error) {
22927	gensupport.SetOptions(c.urlParams_, opts...)
22928	res, err := c.doRequest("json")
22929	if res != nil && res.StatusCode == http.StatusNotModified {
22930		if res.Body != nil {
22931			res.Body.Close()
22932		}
22933		return nil, &googleapi.Error{
22934			Code:   res.StatusCode,
22935			Header: res.Header,
22936		}
22937	}
22938	if err != nil {
22939		return nil, err
22940	}
22941	defer googleapi.CloseBody(res)
22942	if err := googleapi.CheckResponse(res); err != nil {
22943		return nil, err
22944	}
22945	ret := &ConnectionType{
22946		ServerResponse: googleapi.ServerResponse{
22947			Header:         res.Header,
22948			HTTPStatusCode: res.StatusCode,
22949		},
22950	}
22951	target := &ret
22952	if err := gensupport.DecodeResponse(target, res); err != nil {
22953		return nil, err
22954	}
22955	return ret, nil
22956	// {
22957	//   "description": "Gets one connection type by ID.",
22958	//   "flatPath": "userprofiles/{profileId}/connectionTypes/{id}",
22959	//   "httpMethod": "GET",
22960	//   "id": "dfareporting.connectionTypes.get",
22961	//   "parameterOrder": [
22962	//     "profileId",
22963	//     "id"
22964	//   ],
22965	//   "parameters": {
22966	//     "id": {
22967	//       "description": "Connection type ID.",
22968	//       "format": "int64",
22969	//       "location": "path",
22970	//       "required": true,
22971	//       "type": "string"
22972	//     },
22973	//     "profileId": {
22974	//       "description": "User profile ID associated with this request.",
22975	//       "format": "int64",
22976	//       "location": "path",
22977	//       "required": true,
22978	//       "type": "string"
22979	//     }
22980	//   },
22981	//   "path": "userprofiles/{profileId}/connectionTypes/{id}",
22982	//   "response": {
22983	//     "$ref": "ConnectionType"
22984	//   },
22985	//   "scopes": [
22986	//     "https://www.googleapis.com/auth/dfatrafficking"
22987	//   ]
22988	// }
22989
22990}
22991
22992// method id "dfareporting.connectionTypes.list":
22993
22994type ConnectionTypesListCall struct {
22995	s            *Service
22996	profileId    int64
22997	urlParams_   gensupport.URLParams
22998	ifNoneMatch_ string
22999	ctx_         context.Context
23000	header_      http.Header
23001}
23002
23003// List: Retrieves a list of connection types.
23004func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
23005	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23006	c.profileId = profileId
23007	return c
23008}
23009
23010// Fields allows partial responses to be retrieved. See
23011// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23012// for more information.
23013func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
23014	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23015	return c
23016}
23017
23018// IfNoneMatch sets the optional parameter which makes the operation
23019// fail if the object's ETag matches the given value. This is useful for
23020// getting updates only after the object has changed since the last
23021// request. Use googleapi.IsNotModified to check whether the response
23022// error from Do is the result of In-None-Match.
23023func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
23024	c.ifNoneMatch_ = entityTag
23025	return c
23026}
23027
23028// Context sets the context to be used in this call's Do method. Any
23029// pending HTTP request will be aborted if the provided context is
23030// canceled.
23031func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
23032	c.ctx_ = ctx
23033	return c
23034}
23035
23036// Header returns an http.Header that can be modified by the caller to
23037// add HTTP headers to the request.
23038func (c *ConnectionTypesListCall) Header() http.Header {
23039	if c.header_ == nil {
23040		c.header_ = make(http.Header)
23041	}
23042	return c.header_
23043}
23044
23045func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
23046	reqHeaders := make(http.Header)
23047	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
23048	for k, v := range c.header_ {
23049		reqHeaders[k] = v
23050	}
23051	reqHeaders.Set("User-Agent", c.s.userAgent())
23052	if c.ifNoneMatch_ != "" {
23053		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23054	}
23055	var body io.Reader = nil
23056	c.urlParams_.Set("alt", alt)
23057	c.urlParams_.Set("prettyPrint", "false")
23058	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
23059	urls += "?" + c.urlParams_.Encode()
23060	req, err := http.NewRequest("GET", urls, body)
23061	if err != nil {
23062		return nil, err
23063	}
23064	req.Header = reqHeaders
23065	googleapi.Expand(req.URL, map[string]string{
23066		"profileId": strconv.FormatInt(c.profileId, 10),
23067	})
23068	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23069}
23070
23071// Do executes the "dfareporting.connectionTypes.list" call.
23072// Exactly one of *ConnectionTypesListResponse or error will be non-nil.
23073// Any non-2xx status code is an error. Response headers are in either
23074// *ConnectionTypesListResponse.ServerResponse.Header or (if a response
23075// was returned at all) in error.(*googleapi.Error).Header. Use
23076// googleapi.IsNotModified to check whether the returned error was
23077// because http.StatusNotModified was returned.
23078func (c *ConnectionTypesListCall) Do(opts ...googleapi.CallOption) (*ConnectionTypesListResponse, error) {
23079	gensupport.SetOptions(c.urlParams_, opts...)
23080	res, err := c.doRequest("json")
23081	if res != nil && res.StatusCode == http.StatusNotModified {
23082		if res.Body != nil {
23083			res.Body.Close()
23084		}
23085		return nil, &googleapi.Error{
23086			Code:   res.StatusCode,
23087			Header: res.Header,
23088		}
23089	}
23090	if err != nil {
23091		return nil, err
23092	}
23093	defer googleapi.CloseBody(res)
23094	if err := googleapi.CheckResponse(res); err != nil {
23095		return nil, err
23096	}
23097	ret := &ConnectionTypesListResponse{
23098		ServerResponse: googleapi.ServerResponse{
23099			Header:         res.Header,
23100			HTTPStatusCode: res.StatusCode,
23101		},
23102	}
23103	target := &ret
23104	if err := gensupport.DecodeResponse(target, res); err != nil {
23105		return nil, err
23106	}
23107	return ret, nil
23108	// {
23109	//   "description": "Retrieves a list of connection types.",
23110	//   "flatPath": "userprofiles/{profileId}/connectionTypes",
23111	//   "httpMethod": "GET",
23112	//   "id": "dfareporting.connectionTypes.list",
23113	//   "parameterOrder": [
23114	//     "profileId"
23115	//   ],
23116	//   "parameters": {
23117	//     "profileId": {
23118	//       "description": "User profile ID associated with this request.",
23119	//       "format": "int64",
23120	//       "location": "path",
23121	//       "required": true,
23122	//       "type": "string"
23123	//     }
23124	//   },
23125	//   "path": "userprofiles/{profileId}/connectionTypes",
23126	//   "response": {
23127	//     "$ref": "ConnectionTypesListResponse"
23128	//   },
23129	//   "scopes": [
23130	//     "https://www.googleapis.com/auth/dfatrafficking"
23131	//   ]
23132	// }
23133
23134}
23135
23136// method id "dfareporting.contentCategories.delete":
23137
23138type ContentCategoriesDeleteCall struct {
23139	s          *Service
23140	profileId  int64
23141	id         int64
23142	urlParams_ gensupport.URLParams
23143	ctx_       context.Context
23144	header_    http.Header
23145}
23146
23147// Delete: Deletes an existing content category.
23148func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
23149	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23150	c.profileId = profileId
23151	c.id = id
23152	return c
23153}
23154
23155// Fields allows partial responses to be retrieved. See
23156// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23157// for more information.
23158func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
23159	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23160	return c
23161}
23162
23163// Context sets the context to be used in this call's Do method. Any
23164// pending HTTP request will be aborted if the provided context is
23165// canceled.
23166func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
23167	c.ctx_ = ctx
23168	return c
23169}
23170
23171// Header returns an http.Header that can be modified by the caller to
23172// add HTTP headers to the request.
23173func (c *ContentCategoriesDeleteCall) Header() http.Header {
23174	if c.header_ == nil {
23175		c.header_ = make(http.Header)
23176	}
23177	return c.header_
23178}
23179
23180func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
23181	reqHeaders := make(http.Header)
23182	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
23183	for k, v := range c.header_ {
23184		reqHeaders[k] = v
23185	}
23186	reqHeaders.Set("User-Agent", c.s.userAgent())
23187	var body io.Reader = nil
23188	c.urlParams_.Set("alt", alt)
23189	c.urlParams_.Set("prettyPrint", "false")
23190	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
23191	urls += "?" + c.urlParams_.Encode()
23192	req, err := http.NewRequest("DELETE", urls, body)
23193	if err != nil {
23194		return nil, err
23195	}
23196	req.Header = reqHeaders
23197	googleapi.Expand(req.URL, map[string]string{
23198		"profileId": strconv.FormatInt(c.profileId, 10),
23199		"id":        strconv.FormatInt(c.id, 10),
23200	})
23201	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23202}
23203
23204// Do executes the "dfareporting.contentCategories.delete" call.
23205func (c *ContentCategoriesDeleteCall) Do(opts ...googleapi.CallOption) error {
23206	gensupport.SetOptions(c.urlParams_, opts...)
23207	res, err := c.doRequest("json")
23208	if err != nil {
23209		return err
23210	}
23211	defer googleapi.CloseBody(res)
23212	if err := googleapi.CheckResponse(res); err != nil {
23213		return err
23214	}
23215	return nil
23216	// {
23217	//   "description": "Deletes an existing content category.",
23218	//   "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
23219	//   "httpMethod": "DELETE",
23220	//   "id": "dfareporting.contentCategories.delete",
23221	//   "parameterOrder": [
23222	//     "profileId",
23223	//     "id"
23224	//   ],
23225	//   "parameters": {
23226	//     "id": {
23227	//       "description": "Content category ID.",
23228	//       "format": "int64",
23229	//       "location": "path",
23230	//       "required": true,
23231	//       "type": "string"
23232	//     },
23233	//     "profileId": {
23234	//       "description": "User profile ID associated with this request.",
23235	//       "format": "int64",
23236	//       "location": "path",
23237	//       "required": true,
23238	//       "type": "string"
23239	//     }
23240	//   },
23241	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
23242	//   "scopes": [
23243	//     "https://www.googleapis.com/auth/dfatrafficking"
23244	//   ]
23245	// }
23246
23247}
23248
23249// method id "dfareporting.contentCategories.get":
23250
23251type ContentCategoriesGetCall struct {
23252	s            *Service
23253	profileId    int64
23254	id           int64
23255	urlParams_   gensupport.URLParams
23256	ifNoneMatch_ string
23257	ctx_         context.Context
23258	header_      http.Header
23259}
23260
23261// Get: Gets one content category by ID.
23262func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
23263	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23264	c.profileId = profileId
23265	c.id = id
23266	return c
23267}
23268
23269// Fields allows partial responses to be retrieved. See
23270// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23271// for more information.
23272func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
23273	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23274	return c
23275}
23276
23277// IfNoneMatch sets the optional parameter which makes the operation
23278// fail if the object's ETag matches the given value. This is useful for
23279// getting updates only after the object has changed since the last
23280// request. Use googleapi.IsNotModified to check whether the response
23281// error from Do is the result of In-None-Match.
23282func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
23283	c.ifNoneMatch_ = entityTag
23284	return c
23285}
23286
23287// Context sets the context to be used in this call's Do method. Any
23288// pending HTTP request will be aborted if the provided context is
23289// canceled.
23290func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
23291	c.ctx_ = ctx
23292	return c
23293}
23294
23295// Header returns an http.Header that can be modified by the caller to
23296// add HTTP headers to the request.
23297func (c *ContentCategoriesGetCall) Header() http.Header {
23298	if c.header_ == nil {
23299		c.header_ = make(http.Header)
23300	}
23301	return c.header_
23302}
23303
23304func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
23305	reqHeaders := make(http.Header)
23306	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
23307	for k, v := range c.header_ {
23308		reqHeaders[k] = v
23309	}
23310	reqHeaders.Set("User-Agent", c.s.userAgent())
23311	if c.ifNoneMatch_ != "" {
23312		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23313	}
23314	var body io.Reader = nil
23315	c.urlParams_.Set("alt", alt)
23316	c.urlParams_.Set("prettyPrint", "false")
23317	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
23318	urls += "?" + c.urlParams_.Encode()
23319	req, err := http.NewRequest("GET", urls, body)
23320	if err != nil {
23321		return nil, err
23322	}
23323	req.Header = reqHeaders
23324	googleapi.Expand(req.URL, map[string]string{
23325		"profileId": strconv.FormatInt(c.profileId, 10),
23326		"id":        strconv.FormatInt(c.id, 10),
23327	})
23328	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23329}
23330
23331// Do executes the "dfareporting.contentCategories.get" call.
23332// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
23333// status code is an error. Response headers are in either
23334// *ContentCategory.ServerResponse.Header or (if a response was returned
23335// at all) in error.(*googleapi.Error).Header. Use
23336// googleapi.IsNotModified to check whether the returned error was
23337// because http.StatusNotModified was returned.
23338func (c *ContentCategoriesGetCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
23339	gensupport.SetOptions(c.urlParams_, opts...)
23340	res, err := c.doRequest("json")
23341	if res != nil && res.StatusCode == http.StatusNotModified {
23342		if res.Body != nil {
23343			res.Body.Close()
23344		}
23345		return nil, &googleapi.Error{
23346			Code:   res.StatusCode,
23347			Header: res.Header,
23348		}
23349	}
23350	if err != nil {
23351		return nil, err
23352	}
23353	defer googleapi.CloseBody(res)
23354	if err := googleapi.CheckResponse(res); err != nil {
23355		return nil, err
23356	}
23357	ret := &ContentCategory{
23358		ServerResponse: googleapi.ServerResponse{
23359			Header:         res.Header,
23360			HTTPStatusCode: res.StatusCode,
23361		},
23362	}
23363	target := &ret
23364	if err := gensupport.DecodeResponse(target, res); err != nil {
23365		return nil, err
23366	}
23367	return ret, nil
23368	// {
23369	//   "description": "Gets one content category by ID.",
23370	//   "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
23371	//   "httpMethod": "GET",
23372	//   "id": "dfareporting.contentCategories.get",
23373	//   "parameterOrder": [
23374	//     "profileId",
23375	//     "id"
23376	//   ],
23377	//   "parameters": {
23378	//     "id": {
23379	//       "description": "Content category ID.",
23380	//       "format": "int64",
23381	//       "location": "path",
23382	//       "required": true,
23383	//       "type": "string"
23384	//     },
23385	//     "profileId": {
23386	//       "description": "User profile ID associated with this request.",
23387	//       "format": "int64",
23388	//       "location": "path",
23389	//       "required": true,
23390	//       "type": "string"
23391	//     }
23392	//   },
23393	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
23394	//   "response": {
23395	//     "$ref": "ContentCategory"
23396	//   },
23397	//   "scopes": [
23398	//     "https://www.googleapis.com/auth/dfatrafficking"
23399	//   ]
23400	// }
23401
23402}
23403
23404// method id "dfareporting.contentCategories.insert":
23405
23406type ContentCategoriesInsertCall struct {
23407	s               *Service
23408	profileId       int64
23409	contentcategory *ContentCategory
23410	urlParams_      gensupport.URLParams
23411	ctx_            context.Context
23412	header_         http.Header
23413}
23414
23415// Insert: Inserts a new content category.
23416func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
23417	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23418	c.profileId = profileId
23419	c.contentcategory = contentcategory
23420	return c
23421}
23422
23423// Fields allows partial responses to be retrieved. See
23424// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23425// for more information.
23426func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
23427	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23428	return c
23429}
23430
23431// Context sets the context to be used in this call's Do method. Any
23432// pending HTTP request will be aborted if the provided context is
23433// canceled.
23434func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
23435	c.ctx_ = ctx
23436	return c
23437}
23438
23439// Header returns an http.Header that can be modified by the caller to
23440// add HTTP headers to the request.
23441func (c *ContentCategoriesInsertCall) Header() http.Header {
23442	if c.header_ == nil {
23443		c.header_ = make(http.Header)
23444	}
23445	return c.header_
23446}
23447
23448func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
23449	reqHeaders := make(http.Header)
23450	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
23451	for k, v := range c.header_ {
23452		reqHeaders[k] = v
23453	}
23454	reqHeaders.Set("User-Agent", c.s.userAgent())
23455	var body io.Reader = nil
23456	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
23457	if err != nil {
23458		return nil, err
23459	}
23460	reqHeaders.Set("Content-Type", "application/json")
23461	c.urlParams_.Set("alt", alt)
23462	c.urlParams_.Set("prettyPrint", "false")
23463	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
23464	urls += "?" + c.urlParams_.Encode()
23465	req, err := http.NewRequest("POST", urls, body)
23466	if err != nil {
23467		return nil, err
23468	}
23469	req.Header = reqHeaders
23470	googleapi.Expand(req.URL, map[string]string{
23471		"profileId": strconv.FormatInt(c.profileId, 10),
23472	})
23473	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23474}
23475
23476// Do executes the "dfareporting.contentCategories.insert" 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 *ContentCategoriesInsertCall) 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": "Inserts a new content category.",
23515	//   "flatPath": "userprofiles/{profileId}/contentCategories",
23516	//   "httpMethod": "POST",
23517	//   "id": "dfareporting.contentCategories.insert",
23518	//   "parameterOrder": [
23519	//     "profileId"
23520	//   ],
23521	//   "parameters": {
23522	//     "profileId": {
23523	//       "description": "User profile ID associated with this request.",
23524	//       "format": "int64",
23525	//       "location": "path",
23526	//       "required": true,
23527	//       "type": "string"
23528	//     }
23529	//   },
23530	//   "path": "userprofiles/{profileId}/contentCategories",
23531	//   "request": {
23532	//     "$ref": "ContentCategory"
23533	//   },
23534	//   "response": {
23535	//     "$ref": "ContentCategory"
23536	//   },
23537	//   "scopes": [
23538	//     "https://www.googleapis.com/auth/dfatrafficking"
23539	//   ]
23540	// }
23541
23542}
23543
23544// method id "dfareporting.contentCategories.list":
23545
23546type ContentCategoriesListCall struct {
23547	s            *Service
23548	profileId    int64
23549	urlParams_   gensupport.URLParams
23550	ifNoneMatch_ string
23551	ctx_         context.Context
23552	header_      http.Header
23553}
23554
23555// List: Retrieves a list of content categories, possibly filtered. This
23556// method supports paging.
23557func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
23558	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23559	c.profileId = profileId
23560	return c
23561}
23562
23563// Ids sets the optional parameter "ids": Select only content categories
23564// with these IDs.
23565func (c *ContentCategoriesListCall) Ids(ids ...int64) *ContentCategoriesListCall {
23566	var ids_ []string
23567	for _, v := range ids {
23568		ids_ = append(ids_, fmt.Sprint(v))
23569	}
23570	c.urlParams_.SetMulti("ids", ids_)
23571	return c
23572}
23573
23574// MaxResults sets the optional parameter "maxResults": Maximum number
23575// of results to return.
23576func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
23577	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
23578	return c
23579}
23580
23581// PageToken sets the optional parameter "pageToken": Value of the
23582// nextPageToken from the previous result page.
23583func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
23584	c.urlParams_.Set("pageToken", pageToken)
23585	return c
23586}
23587
23588// SearchString sets the optional parameter "searchString": Allows
23589// searching for objects by name or ID. Wildcards (*) are allowed. For
23590// example, "contentcategory*2015" will return objects with names like
23591// "contentcategory June 2015", "contentcategory April 2015", or simply
23592// "contentcategory 2015". Most of the searches also add wildcards
23593// implicitly at the start and the end of the search string. For
23594// example, a search string of "contentcategory" will match objects with
23595// name "my contentcategory", "contentcategory 2015", or simply
23596// "contentcategory".
23597func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
23598	c.urlParams_.Set("searchString", searchString)
23599	return c
23600}
23601
23602// SortField sets the optional parameter "sortField": Field by which to
23603// sort the list.
23604//
23605// Possible values:
23606//   "ID" (default)
23607//   "NAME"
23608func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
23609	c.urlParams_.Set("sortField", sortField)
23610	return c
23611}
23612
23613// SortOrder sets the optional parameter "sortOrder": Order of sorted
23614// results.
23615//
23616// Possible values:
23617//   "ASCENDING" (default)
23618//   "DESCENDING"
23619func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
23620	c.urlParams_.Set("sortOrder", sortOrder)
23621	return c
23622}
23623
23624// Fields allows partial responses to be retrieved. See
23625// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23626// for more information.
23627func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
23628	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23629	return c
23630}
23631
23632// IfNoneMatch sets the optional parameter which makes the operation
23633// fail if the object's ETag matches the given value. This is useful for
23634// getting updates only after the object has changed since the last
23635// request. Use googleapi.IsNotModified to check whether the response
23636// error from Do is the result of In-None-Match.
23637func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
23638	c.ifNoneMatch_ = entityTag
23639	return c
23640}
23641
23642// Context sets the context to be used in this call's Do method. Any
23643// pending HTTP request will be aborted if the provided context is
23644// canceled.
23645func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
23646	c.ctx_ = ctx
23647	return c
23648}
23649
23650// Header returns an http.Header that can be modified by the caller to
23651// add HTTP headers to the request.
23652func (c *ContentCategoriesListCall) Header() http.Header {
23653	if c.header_ == nil {
23654		c.header_ = make(http.Header)
23655	}
23656	return c.header_
23657}
23658
23659func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
23660	reqHeaders := make(http.Header)
23661	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
23662	for k, v := range c.header_ {
23663		reqHeaders[k] = v
23664	}
23665	reqHeaders.Set("User-Agent", c.s.userAgent())
23666	if c.ifNoneMatch_ != "" {
23667		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23668	}
23669	var body io.Reader = nil
23670	c.urlParams_.Set("alt", alt)
23671	c.urlParams_.Set("prettyPrint", "false")
23672	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
23673	urls += "?" + c.urlParams_.Encode()
23674	req, err := http.NewRequest("GET", urls, body)
23675	if err != nil {
23676		return nil, err
23677	}
23678	req.Header = reqHeaders
23679	googleapi.Expand(req.URL, map[string]string{
23680		"profileId": strconv.FormatInt(c.profileId, 10),
23681	})
23682	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23683}
23684
23685// Do executes the "dfareporting.contentCategories.list" call.
23686// Exactly one of *ContentCategoriesListResponse or error will be
23687// non-nil. Any non-2xx status code is an error. Response headers are in
23688// either *ContentCategoriesListResponse.ServerResponse.Header or (if a
23689// response was returned at all) in error.(*googleapi.Error).Header. Use
23690// googleapi.IsNotModified to check whether the returned error was
23691// because http.StatusNotModified was returned.
23692func (c *ContentCategoriesListCall) Do(opts ...googleapi.CallOption) (*ContentCategoriesListResponse, error) {
23693	gensupport.SetOptions(c.urlParams_, opts...)
23694	res, err := c.doRequest("json")
23695	if res != nil && res.StatusCode == http.StatusNotModified {
23696		if res.Body != nil {
23697			res.Body.Close()
23698		}
23699		return nil, &googleapi.Error{
23700			Code:   res.StatusCode,
23701			Header: res.Header,
23702		}
23703	}
23704	if err != nil {
23705		return nil, err
23706	}
23707	defer googleapi.CloseBody(res)
23708	if err := googleapi.CheckResponse(res); err != nil {
23709		return nil, err
23710	}
23711	ret := &ContentCategoriesListResponse{
23712		ServerResponse: googleapi.ServerResponse{
23713			Header:         res.Header,
23714			HTTPStatusCode: res.StatusCode,
23715		},
23716	}
23717	target := &ret
23718	if err := gensupport.DecodeResponse(target, res); err != nil {
23719		return nil, err
23720	}
23721	return ret, nil
23722	// {
23723	//   "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
23724	//   "flatPath": "userprofiles/{profileId}/contentCategories",
23725	//   "httpMethod": "GET",
23726	//   "id": "dfareporting.contentCategories.list",
23727	//   "parameterOrder": [
23728	//     "profileId"
23729	//   ],
23730	//   "parameters": {
23731	//     "ids": {
23732	//       "description": "Select only content categories with these IDs.",
23733	//       "format": "int64",
23734	//       "location": "query",
23735	//       "repeated": true,
23736	//       "type": "string"
23737	//     },
23738	//     "maxResults": {
23739	//       "default": "1000",
23740	//       "description": "Maximum number of results to return.",
23741	//       "format": "int32",
23742	//       "location": "query",
23743	//       "maximum": "1000",
23744	//       "minimum": "0",
23745	//       "type": "integer"
23746	//     },
23747	//     "pageToken": {
23748	//       "description": "Value of the nextPageToken from the previous result page.",
23749	//       "location": "query",
23750	//       "type": "string"
23751	//     },
23752	//     "profileId": {
23753	//       "description": "User profile ID associated with this request.",
23754	//       "format": "int64",
23755	//       "location": "path",
23756	//       "required": true,
23757	//       "type": "string"
23758	//     },
23759	//     "searchString": {
23760	//       "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\".",
23761	//       "location": "query",
23762	//       "type": "string"
23763	//     },
23764	//     "sortField": {
23765	//       "default": "ID",
23766	//       "description": "Field by which to sort the list.",
23767	//       "enum": [
23768	//         "ID",
23769	//         "NAME"
23770	//       ],
23771	//       "enumDescriptions": [
23772	//         "",
23773	//         ""
23774	//       ],
23775	//       "location": "query",
23776	//       "type": "string"
23777	//     },
23778	//     "sortOrder": {
23779	//       "default": "ASCENDING",
23780	//       "description": "Order of sorted results.",
23781	//       "enum": [
23782	//         "ASCENDING",
23783	//         "DESCENDING"
23784	//       ],
23785	//       "enumDescriptions": [
23786	//         "",
23787	//         ""
23788	//       ],
23789	//       "location": "query",
23790	//       "type": "string"
23791	//     }
23792	//   },
23793	//   "path": "userprofiles/{profileId}/contentCategories",
23794	//   "response": {
23795	//     "$ref": "ContentCategoriesListResponse"
23796	//   },
23797	//   "scopes": [
23798	//     "https://www.googleapis.com/auth/dfatrafficking"
23799	//   ]
23800	// }
23801
23802}
23803
23804// Pages invokes f for each page of results.
23805// A non-nil error returned from f will halt the iteration.
23806// The provided context supersedes any context provided to the Context method.
23807func (c *ContentCategoriesListCall) Pages(ctx context.Context, f func(*ContentCategoriesListResponse) error) error {
23808	c.ctx_ = ctx
23809	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
23810	for {
23811		x, err := c.Do()
23812		if err != nil {
23813			return err
23814		}
23815		if err := f(x); err != nil {
23816			return err
23817		}
23818		if x.NextPageToken == "" {
23819			return nil
23820		}
23821		c.PageToken(x.NextPageToken)
23822	}
23823}
23824
23825// method id "dfareporting.contentCategories.patch":
23826
23827type ContentCategoriesPatchCall struct {
23828	s               *Service
23829	profileId       int64
23830	contentcategory *ContentCategory
23831	urlParams_      gensupport.URLParams
23832	ctx_            context.Context
23833	header_         http.Header
23834}
23835
23836// Patch: Updates an existing content category. This method supports
23837// patch semantics.
23838func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
23839	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23840	c.profileId = profileId
23841	c.urlParams_.Set("id", fmt.Sprint(id))
23842	c.contentcategory = contentcategory
23843	return c
23844}
23845
23846// Fields allows partial responses to be retrieved. See
23847// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23848// for more information.
23849func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
23850	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23851	return c
23852}
23853
23854// Context sets the context to be used in this call's Do method. Any
23855// pending HTTP request will be aborted if the provided context is
23856// canceled.
23857func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
23858	c.ctx_ = ctx
23859	return c
23860}
23861
23862// Header returns an http.Header that can be modified by the caller to
23863// add HTTP headers to the request.
23864func (c *ContentCategoriesPatchCall) Header() http.Header {
23865	if c.header_ == nil {
23866		c.header_ = make(http.Header)
23867	}
23868	return c.header_
23869}
23870
23871func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
23872	reqHeaders := make(http.Header)
23873	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
23874	for k, v := range c.header_ {
23875		reqHeaders[k] = v
23876	}
23877	reqHeaders.Set("User-Agent", c.s.userAgent())
23878	var body io.Reader = nil
23879	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
23880	if err != nil {
23881		return nil, err
23882	}
23883	reqHeaders.Set("Content-Type", "application/json")
23884	c.urlParams_.Set("alt", alt)
23885	c.urlParams_.Set("prettyPrint", "false")
23886	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
23887	urls += "?" + c.urlParams_.Encode()
23888	req, err := http.NewRequest("PATCH", urls, body)
23889	if err != nil {
23890		return nil, err
23891	}
23892	req.Header = reqHeaders
23893	googleapi.Expand(req.URL, map[string]string{
23894		"profileId": strconv.FormatInt(c.profileId, 10),
23895	})
23896	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23897}
23898
23899// Do executes the "dfareporting.contentCategories.patch" call.
23900// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
23901// status code is an error. Response headers are in either
23902// *ContentCategory.ServerResponse.Header or (if a response was returned
23903// at all) in error.(*googleapi.Error).Header. Use
23904// googleapi.IsNotModified to check whether the returned error was
23905// because http.StatusNotModified was returned.
23906func (c *ContentCategoriesPatchCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
23907	gensupport.SetOptions(c.urlParams_, opts...)
23908	res, err := c.doRequest("json")
23909	if res != nil && res.StatusCode == http.StatusNotModified {
23910		if res.Body != nil {
23911			res.Body.Close()
23912		}
23913		return nil, &googleapi.Error{
23914			Code:   res.StatusCode,
23915			Header: res.Header,
23916		}
23917	}
23918	if err != nil {
23919		return nil, err
23920	}
23921	defer googleapi.CloseBody(res)
23922	if err := googleapi.CheckResponse(res); err != nil {
23923		return nil, err
23924	}
23925	ret := &ContentCategory{
23926		ServerResponse: googleapi.ServerResponse{
23927			Header:         res.Header,
23928			HTTPStatusCode: res.StatusCode,
23929		},
23930	}
23931	target := &ret
23932	if err := gensupport.DecodeResponse(target, res); err != nil {
23933		return nil, err
23934	}
23935	return ret, nil
23936	// {
23937	//   "description": "Updates an existing content category. This method supports patch semantics.",
23938	//   "flatPath": "userprofiles/{profileId}/contentCategories",
23939	//   "httpMethod": "PATCH",
23940	//   "id": "dfareporting.contentCategories.patch",
23941	//   "parameterOrder": [
23942	//     "profileId",
23943	//     "id"
23944	//   ],
23945	//   "parameters": {
23946	//     "id": {
23947	//       "description": "ContentCategory ID.",
23948	//       "format": "int64",
23949	//       "location": "query",
23950	//       "required": true,
23951	//       "type": "string"
23952	//     },
23953	//     "profileId": {
23954	//       "description": "User profile ID associated with this request.",
23955	//       "format": "int64",
23956	//       "location": "path",
23957	//       "required": true,
23958	//       "type": "string"
23959	//     }
23960	//   },
23961	//   "path": "userprofiles/{profileId}/contentCategories",
23962	//   "request": {
23963	//     "$ref": "ContentCategory"
23964	//   },
23965	//   "response": {
23966	//     "$ref": "ContentCategory"
23967	//   },
23968	//   "scopes": [
23969	//     "https://www.googleapis.com/auth/dfatrafficking"
23970	//   ]
23971	// }
23972
23973}
23974
23975// method id "dfareporting.contentCategories.update":
23976
23977type ContentCategoriesUpdateCall struct {
23978	s               *Service
23979	profileId       int64
23980	contentcategory *ContentCategory
23981	urlParams_      gensupport.URLParams
23982	ctx_            context.Context
23983	header_         http.Header
23984}
23985
23986// Update: Updates an existing content category.
23987func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
23988	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23989	c.profileId = profileId
23990	c.contentcategory = contentcategory
23991	return c
23992}
23993
23994// Fields allows partial responses to be retrieved. See
23995// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23996// for more information.
23997func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
23998	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23999	return c
24000}
24001
24002// Context sets the context to be used in this call's Do method. Any
24003// pending HTTP request will be aborted if the provided context is
24004// canceled.
24005func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
24006	c.ctx_ = ctx
24007	return c
24008}
24009
24010// Header returns an http.Header that can be modified by the caller to
24011// add HTTP headers to the request.
24012func (c *ContentCategoriesUpdateCall) Header() http.Header {
24013	if c.header_ == nil {
24014		c.header_ = make(http.Header)
24015	}
24016	return c.header_
24017}
24018
24019func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
24020	reqHeaders := make(http.Header)
24021	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
24022	for k, v := range c.header_ {
24023		reqHeaders[k] = v
24024	}
24025	reqHeaders.Set("User-Agent", c.s.userAgent())
24026	var body io.Reader = nil
24027	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
24028	if err != nil {
24029		return nil, err
24030	}
24031	reqHeaders.Set("Content-Type", "application/json")
24032	c.urlParams_.Set("alt", alt)
24033	c.urlParams_.Set("prettyPrint", "false")
24034	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
24035	urls += "?" + c.urlParams_.Encode()
24036	req, err := http.NewRequest("PUT", urls, body)
24037	if err != nil {
24038		return nil, err
24039	}
24040	req.Header = reqHeaders
24041	googleapi.Expand(req.URL, map[string]string{
24042		"profileId": strconv.FormatInt(c.profileId, 10),
24043	})
24044	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24045}
24046
24047// Do executes the "dfareporting.contentCategories.update" call.
24048// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
24049// status code is an error. Response headers are in either
24050// *ContentCategory.ServerResponse.Header or (if a response was returned
24051// at all) in error.(*googleapi.Error).Header. Use
24052// googleapi.IsNotModified to check whether the returned error was
24053// because http.StatusNotModified was returned.
24054func (c *ContentCategoriesUpdateCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
24055	gensupport.SetOptions(c.urlParams_, opts...)
24056	res, err := c.doRequest("json")
24057	if res != nil && res.StatusCode == http.StatusNotModified {
24058		if res.Body != nil {
24059			res.Body.Close()
24060		}
24061		return nil, &googleapi.Error{
24062			Code:   res.StatusCode,
24063			Header: res.Header,
24064		}
24065	}
24066	if err != nil {
24067		return nil, err
24068	}
24069	defer googleapi.CloseBody(res)
24070	if err := googleapi.CheckResponse(res); err != nil {
24071		return nil, err
24072	}
24073	ret := &ContentCategory{
24074		ServerResponse: googleapi.ServerResponse{
24075			Header:         res.Header,
24076			HTTPStatusCode: res.StatusCode,
24077		},
24078	}
24079	target := &ret
24080	if err := gensupport.DecodeResponse(target, res); err != nil {
24081		return nil, err
24082	}
24083	return ret, nil
24084	// {
24085	//   "description": "Updates an existing content category.",
24086	//   "flatPath": "userprofiles/{profileId}/contentCategories",
24087	//   "httpMethod": "PUT",
24088	//   "id": "dfareporting.contentCategories.update",
24089	//   "parameterOrder": [
24090	//     "profileId"
24091	//   ],
24092	//   "parameters": {
24093	//     "profileId": {
24094	//       "description": "User profile ID associated with this request.",
24095	//       "format": "int64",
24096	//       "location": "path",
24097	//       "required": true,
24098	//       "type": "string"
24099	//     }
24100	//   },
24101	//   "path": "userprofiles/{profileId}/contentCategories",
24102	//   "request": {
24103	//     "$ref": "ContentCategory"
24104	//   },
24105	//   "response": {
24106	//     "$ref": "ContentCategory"
24107	//   },
24108	//   "scopes": [
24109	//     "https://www.googleapis.com/auth/dfatrafficking"
24110	//   ]
24111	// }
24112
24113}
24114
24115// method id "dfareporting.conversions.batchinsert":
24116
24117type ConversionsBatchinsertCall struct {
24118	s                             *Service
24119	profileId                     int64
24120	conversionsbatchinsertrequest *ConversionsBatchInsertRequest
24121	urlParams_                    gensupport.URLParams
24122	ctx_                          context.Context
24123	header_                       http.Header
24124}
24125
24126// Batchinsert: Inserts conversions.
24127func (r *ConversionsService) Batchinsert(profileId int64, conversionsbatchinsertrequest *ConversionsBatchInsertRequest) *ConversionsBatchinsertCall {
24128	c := &ConversionsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24129	c.profileId = profileId
24130	c.conversionsbatchinsertrequest = conversionsbatchinsertrequest
24131	return c
24132}
24133
24134// Fields allows partial responses to be retrieved. See
24135// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24136// for more information.
24137func (c *ConversionsBatchinsertCall) Fields(s ...googleapi.Field) *ConversionsBatchinsertCall {
24138	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24139	return c
24140}
24141
24142// Context sets the context to be used in this call's Do method. Any
24143// pending HTTP request will be aborted if the provided context is
24144// canceled.
24145func (c *ConversionsBatchinsertCall) Context(ctx context.Context) *ConversionsBatchinsertCall {
24146	c.ctx_ = ctx
24147	return c
24148}
24149
24150// Header returns an http.Header that can be modified by the caller to
24151// add HTTP headers to the request.
24152func (c *ConversionsBatchinsertCall) Header() http.Header {
24153	if c.header_ == nil {
24154		c.header_ = make(http.Header)
24155	}
24156	return c.header_
24157}
24158
24159func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
24160	reqHeaders := make(http.Header)
24161	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
24162	for k, v := range c.header_ {
24163		reqHeaders[k] = v
24164	}
24165	reqHeaders.Set("User-Agent", c.s.userAgent())
24166	var body io.Reader = nil
24167	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchinsertrequest)
24168	if err != nil {
24169		return nil, err
24170	}
24171	reqHeaders.Set("Content-Type", "application/json")
24172	c.urlParams_.Set("alt", alt)
24173	c.urlParams_.Set("prettyPrint", "false")
24174	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchinsert")
24175	urls += "?" + c.urlParams_.Encode()
24176	req, err := http.NewRequest("POST", urls, body)
24177	if err != nil {
24178		return nil, err
24179	}
24180	req.Header = reqHeaders
24181	googleapi.Expand(req.URL, map[string]string{
24182		"profileId": strconv.FormatInt(c.profileId, 10),
24183	})
24184	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24185}
24186
24187// Do executes the "dfareporting.conversions.batchinsert" call.
24188// Exactly one of *ConversionsBatchInsertResponse or error will be
24189// non-nil. Any non-2xx status code is an error. Response headers are in
24190// either *ConversionsBatchInsertResponse.ServerResponse.Header or (if a
24191// response was returned at all) in error.(*googleapi.Error).Header. Use
24192// googleapi.IsNotModified to check whether the returned error was
24193// because http.StatusNotModified was returned.
24194func (c *ConversionsBatchinsertCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchInsertResponse, error) {
24195	gensupport.SetOptions(c.urlParams_, opts...)
24196	res, err := c.doRequest("json")
24197	if res != nil && res.StatusCode == http.StatusNotModified {
24198		if res.Body != nil {
24199			res.Body.Close()
24200		}
24201		return nil, &googleapi.Error{
24202			Code:   res.StatusCode,
24203			Header: res.Header,
24204		}
24205	}
24206	if err != nil {
24207		return nil, err
24208	}
24209	defer googleapi.CloseBody(res)
24210	if err := googleapi.CheckResponse(res); err != nil {
24211		return nil, err
24212	}
24213	ret := &ConversionsBatchInsertResponse{
24214		ServerResponse: googleapi.ServerResponse{
24215			Header:         res.Header,
24216			HTTPStatusCode: res.StatusCode,
24217		},
24218	}
24219	target := &ret
24220	if err := gensupport.DecodeResponse(target, res); err != nil {
24221		return nil, err
24222	}
24223	return ret, nil
24224	// {
24225	//   "description": "Inserts conversions.",
24226	//   "flatPath": "userprofiles/{profileId}/conversions/batchinsert",
24227	//   "httpMethod": "POST",
24228	//   "id": "dfareporting.conversions.batchinsert",
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}/conversions/batchinsert",
24242	//   "request": {
24243	//     "$ref": "ConversionsBatchInsertRequest"
24244	//   },
24245	//   "response": {
24246	//     "$ref": "ConversionsBatchInsertResponse"
24247	//   },
24248	//   "scopes": [
24249	//     "https://www.googleapis.com/auth/ddmconversions"
24250	//   ]
24251	// }
24252
24253}
24254
24255// method id "dfareporting.conversions.batchupdate":
24256
24257type ConversionsBatchupdateCall struct {
24258	s                             *Service
24259	profileId                     int64
24260	conversionsbatchupdaterequest *ConversionsBatchUpdateRequest
24261	urlParams_                    gensupport.URLParams
24262	ctx_                          context.Context
24263	header_                       http.Header
24264}
24265
24266// Batchupdate: Updates existing conversions.
24267func (r *ConversionsService) Batchupdate(profileId int64, conversionsbatchupdaterequest *ConversionsBatchUpdateRequest) *ConversionsBatchupdateCall {
24268	c := &ConversionsBatchupdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24269	c.profileId = profileId
24270	c.conversionsbatchupdaterequest = conversionsbatchupdaterequest
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 *ConversionsBatchupdateCall) Fields(s ...googleapi.Field) *ConversionsBatchupdateCall {
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 *ConversionsBatchupdateCall) Context(ctx context.Context) *ConversionsBatchupdateCall {
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 *ConversionsBatchupdateCall) Header() http.Header {
24293	if c.header_ == nil {
24294		c.header_ = make(http.Header)
24295	}
24296	return c.header_
24297}
24298
24299func (c *ConversionsBatchupdateCall) doRequest(alt string) (*http.Response, error) {
24300	reqHeaders := make(http.Header)
24301	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
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.conversionsbatchupdaterequest)
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/batchupdate")
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.batchupdate" call.
24328// Exactly one of *ConversionsBatchUpdateResponse or error will be
24329// non-nil. Any non-2xx status code is an error. Response headers are in
24330// either *ConversionsBatchUpdateResponse.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 *ConversionsBatchupdateCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchUpdateResponse, 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 := &ConversionsBatchUpdateResponse{
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": "Updates existing conversions.",
24366	//   "flatPath": "userprofiles/{profileId}/conversions/batchupdate",
24367	//   "httpMethod": "POST",
24368	//   "id": "dfareporting.conversions.batchupdate",
24369	//   "parameterOrder": [
24370	//     "profileId"
24371	//   ],
24372	//   "parameters": {
24373	//     "profileId": {
24374	//       "description": "User profile ID associated with this request.",
24375	//       "format": "int64",
24376	//       "location": "path",
24377	//       "required": true,
24378	//       "type": "string"
24379	//     }
24380	//   },
24381	//   "path": "userprofiles/{profileId}/conversions/batchupdate",
24382	//   "request": {
24383	//     "$ref": "ConversionsBatchUpdateRequest"
24384	//   },
24385	//   "response": {
24386	//     "$ref": "ConversionsBatchUpdateResponse"
24387	//   },
24388	//   "scopes": [
24389	//     "https://www.googleapis.com/auth/ddmconversions"
24390	//   ]
24391	// }
24392
24393}
24394
24395// method id "dfareporting.countries.get":
24396
24397type CountriesGetCall struct {
24398	s            *Service
24399	profileId    int64
24400	dartId       int64
24401	urlParams_   gensupport.URLParams
24402	ifNoneMatch_ string
24403	ctx_         context.Context
24404	header_      http.Header
24405}
24406
24407// Get: Gets one country by ID.
24408func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
24409	c := &CountriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24410	c.profileId = profileId
24411	c.dartId = dartId
24412	return c
24413}
24414
24415// Fields allows partial responses to be retrieved. See
24416// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24417// for more information.
24418func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
24419	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24420	return c
24421}
24422
24423// IfNoneMatch sets the optional parameter which makes the operation
24424// fail if the object's ETag matches the given value. This is useful for
24425// getting updates only after the object has changed since the last
24426// request. Use googleapi.IsNotModified to check whether the response
24427// error from Do is the result of In-None-Match.
24428func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
24429	c.ifNoneMatch_ = entityTag
24430	return c
24431}
24432
24433// Context sets the context to be used in this call's Do method. Any
24434// pending HTTP request will be aborted if the provided context is
24435// canceled.
24436func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
24437	c.ctx_ = ctx
24438	return c
24439}
24440
24441// Header returns an http.Header that can be modified by the caller to
24442// add HTTP headers to the request.
24443func (c *CountriesGetCall) Header() http.Header {
24444	if c.header_ == nil {
24445		c.header_ = make(http.Header)
24446	}
24447	return c.header_
24448}
24449
24450func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
24451	reqHeaders := make(http.Header)
24452	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
24453	for k, v := range c.header_ {
24454		reqHeaders[k] = v
24455	}
24456	reqHeaders.Set("User-Agent", c.s.userAgent())
24457	if c.ifNoneMatch_ != "" {
24458		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24459	}
24460	var body io.Reader = nil
24461	c.urlParams_.Set("alt", alt)
24462	c.urlParams_.Set("prettyPrint", "false")
24463	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
24464	urls += "?" + c.urlParams_.Encode()
24465	req, err := http.NewRequest("GET", urls, body)
24466	if err != nil {
24467		return nil, err
24468	}
24469	req.Header = reqHeaders
24470	googleapi.Expand(req.URL, map[string]string{
24471		"profileId": strconv.FormatInt(c.profileId, 10),
24472		"dartId":    strconv.FormatInt(c.dartId, 10),
24473	})
24474	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24475}
24476
24477// Do executes the "dfareporting.countries.get" call.
24478// Exactly one of *Country or error will be non-nil. Any non-2xx status
24479// code is an error. Response headers are in either
24480// *Country.ServerResponse.Header or (if a response was returned at all)
24481// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24482// check whether the returned error was because http.StatusNotModified
24483// was returned.
24484func (c *CountriesGetCall) Do(opts ...googleapi.CallOption) (*Country, error) {
24485	gensupport.SetOptions(c.urlParams_, opts...)
24486	res, err := c.doRequest("json")
24487	if res != nil && res.StatusCode == http.StatusNotModified {
24488		if res.Body != nil {
24489			res.Body.Close()
24490		}
24491		return nil, &googleapi.Error{
24492			Code:   res.StatusCode,
24493			Header: res.Header,
24494		}
24495	}
24496	if err != nil {
24497		return nil, err
24498	}
24499	defer googleapi.CloseBody(res)
24500	if err := googleapi.CheckResponse(res); err != nil {
24501		return nil, err
24502	}
24503	ret := &Country{
24504		ServerResponse: googleapi.ServerResponse{
24505			Header:         res.Header,
24506			HTTPStatusCode: res.StatusCode,
24507		},
24508	}
24509	target := &ret
24510	if err := gensupport.DecodeResponse(target, res); err != nil {
24511		return nil, err
24512	}
24513	return ret, nil
24514	// {
24515	//   "description": "Gets one country by ID.",
24516	//   "flatPath": "userprofiles/{profileId}/countries/{dartId}",
24517	//   "httpMethod": "GET",
24518	//   "id": "dfareporting.countries.get",
24519	//   "parameterOrder": [
24520	//     "profileId",
24521	//     "dartId"
24522	//   ],
24523	//   "parameters": {
24524	//     "dartId": {
24525	//       "description": "Country DART ID.",
24526	//       "format": "int64",
24527	//       "location": "path",
24528	//       "required": true,
24529	//       "type": "string"
24530	//     },
24531	//     "profileId": {
24532	//       "description": "User profile ID associated with this request.",
24533	//       "format": "int64",
24534	//       "location": "path",
24535	//       "required": true,
24536	//       "type": "string"
24537	//     }
24538	//   },
24539	//   "path": "userprofiles/{profileId}/countries/{dartId}",
24540	//   "response": {
24541	//     "$ref": "Country"
24542	//   },
24543	//   "scopes": [
24544	//     "https://www.googleapis.com/auth/dfatrafficking"
24545	//   ]
24546	// }
24547
24548}
24549
24550// method id "dfareporting.countries.list":
24551
24552type CountriesListCall struct {
24553	s            *Service
24554	profileId    int64
24555	urlParams_   gensupport.URLParams
24556	ifNoneMatch_ string
24557	ctx_         context.Context
24558	header_      http.Header
24559}
24560
24561// List: Retrieves a list of countries.
24562func (r *CountriesService) List(profileId int64) *CountriesListCall {
24563	c := &CountriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24564	c.profileId = profileId
24565	return c
24566}
24567
24568// Fields allows partial responses to be retrieved. See
24569// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24570// for more information.
24571func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
24572	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24573	return c
24574}
24575
24576// IfNoneMatch sets the optional parameter which makes the operation
24577// fail if the object's ETag matches the given value. This is useful for
24578// getting updates only after the object has changed since the last
24579// request. Use googleapi.IsNotModified to check whether the response
24580// error from Do is the result of In-None-Match.
24581func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
24582	c.ifNoneMatch_ = entityTag
24583	return c
24584}
24585
24586// Context sets the context to be used in this call's Do method. Any
24587// pending HTTP request will be aborted if the provided context is
24588// canceled.
24589func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
24590	c.ctx_ = ctx
24591	return c
24592}
24593
24594// Header returns an http.Header that can be modified by the caller to
24595// add HTTP headers to the request.
24596func (c *CountriesListCall) Header() http.Header {
24597	if c.header_ == nil {
24598		c.header_ = make(http.Header)
24599	}
24600	return c.header_
24601}
24602
24603func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
24604	reqHeaders := make(http.Header)
24605	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
24606	for k, v := range c.header_ {
24607		reqHeaders[k] = v
24608	}
24609	reqHeaders.Set("User-Agent", c.s.userAgent())
24610	if c.ifNoneMatch_ != "" {
24611		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24612	}
24613	var body io.Reader = nil
24614	c.urlParams_.Set("alt", alt)
24615	c.urlParams_.Set("prettyPrint", "false")
24616	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
24617	urls += "?" + c.urlParams_.Encode()
24618	req, err := http.NewRequest("GET", urls, body)
24619	if err != nil {
24620		return nil, err
24621	}
24622	req.Header = reqHeaders
24623	googleapi.Expand(req.URL, map[string]string{
24624		"profileId": strconv.FormatInt(c.profileId, 10),
24625	})
24626	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24627}
24628
24629// Do executes the "dfareporting.countries.list" call.
24630// Exactly one of *CountriesListResponse or error will be non-nil. Any
24631// non-2xx status code is an error. Response headers are in either
24632// *CountriesListResponse.ServerResponse.Header or (if a response was
24633// returned at all) in error.(*googleapi.Error).Header. Use
24634// googleapi.IsNotModified to check whether the returned error was
24635// because http.StatusNotModified was returned.
24636func (c *CountriesListCall) Do(opts ...googleapi.CallOption) (*CountriesListResponse, error) {
24637	gensupport.SetOptions(c.urlParams_, opts...)
24638	res, err := c.doRequest("json")
24639	if res != nil && res.StatusCode == http.StatusNotModified {
24640		if res.Body != nil {
24641			res.Body.Close()
24642		}
24643		return nil, &googleapi.Error{
24644			Code:   res.StatusCode,
24645			Header: res.Header,
24646		}
24647	}
24648	if err != nil {
24649		return nil, err
24650	}
24651	defer googleapi.CloseBody(res)
24652	if err := googleapi.CheckResponse(res); err != nil {
24653		return nil, err
24654	}
24655	ret := &CountriesListResponse{
24656		ServerResponse: googleapi.ServerResponse{
24657			Header:         res.Header,
24658			HTTPStatusCode: res.StatusCode,
24659		},
24660	}
24661	target := &ret
24662	if err := gensupport.DecodeResponse(target, res); err != nil {
24663		return nil, err
24664	}
24665	return ret, nil
24666	// {
24667	//   "description": "Retrieves a list of countries.",
24668	//   "flatPath": "userprofiles/{profileId}/countries",
24669	//   "httpMethod": "GET",
24670	//   "id": "dfareporting.countries.list",
24671	//   "parameterOrder": [
24672	//     "profileId"
24673	//   ],
24674	//   "parameters": {
24675	//     "profileId": {
24676	//       "description": "User profile ID associated with this request.",
24677	//       "format": "int64",
24678	//       "location": "path",
24679	//       "required": true,
24680	//       "type": "string"
24681	//     }
24682	//   },
24683	//   "path": "userprofiles/{profileId}/countries",
24684	//   "response": {
24685	//     "$ref": "CountriesListResponse"
24686	//   },
24687	//   "scopes": [
24688	//     "https://www.googleapis.com/auth/dfatrafficking"
24689	//   ]
24690	// }
24691
24692}
24693
24694// method id "dfareporting.creativeAssets.insert":
24695
24696type CreativeAssetsInsertCall struct {
24697	s                     *Service
24698	profileId             int64
24699	advertiserId          int64
24700	creativeassetmetadata *CreativeAssetMetadata
24701	urlParams_            gensupport.URLParams
24702	mediaInfo_            *gensupport.MediaInfo
24703	ctx_                  context.Context
24704	header_               http.Header
24705}
24706
24707// Insert: Inserts a new creative asset.
24708func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
24709	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24710	c.profileId = profileId
24711	c.advertiserId = advertiserId
24712	c.creativeassetmetadata = creativeassetmetadata
24713	return c
24714}
24715
24716// Media specifies the media to upload in one or more chunks. The chunk
24717// size may be controlled by supplying a MediaOption generated by
24718// googleapi.ChunkSize. The chunk size defaults to
24719// googleapi.DefaultUploadChunkSize.The Content-Type header used in the
24720// upload request will be determined by sniffing the contents of r,
24721// unless a MediaOption generated by googleapi.ContentType is
24722// supplied.
24723// At most one of Media and ResumableMedia may be set.
24724func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall {
24725	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
24726	return c
24727}
24728
24729// ResumableMedia specifies the media to upload in chunks and can be
24730// canceled with ctx.
24731//
24732// Deprecated: use Media instead.
24733//
24734// At most one of Media and ResumableMedia may be set. mediaType
24735// identifies the MIME media type of the upload, such as "image/png". If
24736// mediaType is "", it will be auto-detected. The provided ctx will
24737// supersede any context previously provided to the Context method.
24738func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
24739	c.ctx_ = ctx
24740	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
24741	return c
24742}
24743
24744// ProgressUpdater provides a callback function that will be called
24745// after every chunk. It should be a low-latency function in order to
24746// not slow down the upload operation. This should only be called when
24747// using ResumableMedia (as opposed to Media).
24748func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
24749	c.mediaInfo_.SetProgressUpdater(pu)
24750	return c
24751}
24752
24753// Fields allows partial responses to be retrieved. See
24754// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24755// for more information.
24756func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
24757	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24758	return c
24759}
24760
24761// Context sets the context to be used in this call's Do method. Any
24762// pending HTTP request will be aborted if the provided context is
24763// canceled.
24764// This context will supersede any context previously provided to the
24765// ResumableMedia method.
24766func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
24767	c.ctx_ = ctx
24768	return c
24769}
24770
24771// Header returns an http.Header that can be modified by the caller to
24772// add HTTP headers to the request.
24773func (c *CreativeAssetsInsertCall) Header() http.Header {
24774	if c.header_ == nil {
24775		c.header_ = make(http.Header)
24776	}
24777	return c.header_
24778}
24779
24780func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
24781	reqHeaders := make(http.Header)
24782	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
24783	for k, v := range c.header_ {
24784		reqHeaders[k] = v
24785	}
24786	reqHeaders.Set("User-Agent", c.s.userAgent())
24787	var body io.Reader = nil
24788	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativeassetmetadata)
24789	if err != nil {
24790		return nil, err
24791	}
24792	reqHeaders.Set("Content-Type", "application/json")
24793	c.urlParams_.Set("alt", alt)
24794	c.urlParams_.Set("prettyPrint", "false")
24795	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
24796	if c.mediaInfo_ != nil {
24797		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/dfareporting/v3.3/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
24798		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
24799	}
24800	if body == nil {
24801		body = new(bytes.Buffer)
24802		reqHeaders.Set("Content-Type", "application/json")
24803	}
24804	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
24805	defer cleanup()
24806	urls += "?" + c.urlParams_.Encode()
24807	req, err := http.NewRequest("POST", urls, body)
24808	if err != nil {
24809		return nil, err
24810	}
24811	req.Header = reqHeaders
24812	req.GetBody = getBody
24813	googleapi.Expand(req.URL, map[string]string{
24814		"profileId":    strconv.FormatInt(c.profileId, 10),
24815		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
24816	})
24817	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24818}
24819
24820// Do executes the "dfareporting.creativeAssets.insert" call.
24821// Exactly one of *CreativeAssetMetadata or error will be non-nil. Any
24822// non-2xx status code is an error. Response headers are in either
24823// *CreativeAssetMetadata.ServerResponse.Header or (if a response was
24824// returned at all) in error.(*googleapi.Error).Header. Use
24825// googleapi.IsNotModified to check whether the returned error was
24826// because http.StatusNotModified was returned.
24827func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAssetMetadata, error) {
24828	gensupport.SetOptions(c.urlParams_, opts...)
24829	res, err := c.doRequest("json")
24830	if res != nil && res.StatusCode == http.StatusNotModified {
24831		if res.Body != nil {
24832			res.Body.Close()
24833		}
24834		return nil, &googleapi.Error{
24835			Code:   res.StatusCode,
24836			Header: res.Header,
24837		}
24838	}
24839	if err != nil {
24840		return nil, err
24841	}
24842	defer googleapi.CloseBody(res)
24843	if err := googleapi.CheckResponse(res); err != nil {
24844		return nil, err
24845	}
24846	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
24847	if rx != nil {
24848		rx.Client = c.s.client
24849		rx.UserAgent = c.s.userAgent()
24850		ctx := c.ctx_
24851		if ctx == nil {
24852			ctx = context.TODO()
24853		}
24854		res, err = rx.Upload(ctx)
24855		if err != nil {
24856			return nil, err
24857		}
24858		defer res.Body.Close()
24859		if err := googleapi.CheckResponse(res); err != nil {
24860			return nil, err
24861		}
24862	}
24863	ret := &CreativeAssetMetadata{
24864		ServerResponse: googleapi.ServerResponse{
24865			Header:         res.Header,
24866			HTTPStatusCode: res.StatusCode,
24867		},
24868	}
24869	target := &ret
24870	if err := gensupport.DecodeResponse(target, res); err != nil {
24871		return nil, err
24872	}
24873	return ret, nil
24874	// {
24875	//   "description": "Inserts a new creative asset.",
24876	//   "flatPath": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
24877	//   "httpMethod": "POST",
24878	//   "id": "dfareporting.creativeAssets.insert",
24879	//   "mediaUpload": {
24880	//     "accept": [
24881	//       "*/*"
24882	//     ],
24883	//     "maxSize": "1073741824",
24884	//     "protocols": {
24885	//       "simple": {
24886	//         "multipart": true,
24887	//         "path": "/upload/dfareporting/v3.3/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
24888	//       }
24889	//     }
24890	//   },
24891	//   "parameterOrder": [
24892	//     "profileId",
24893	//     "advertiserId"
24894	//   ],
24895	//   "parameters": {
24896	//     "advertiserId": {
24897	//       "description": "Advertiser ID of this creative. This is a required field.",
24898	//       "format": "int64",
24899	//       "location": "path",
24900	//       "required": true,
24901	//       "type": "string"
24902	//     },
24903	//     "profileId": {
24904	//       "description": "User profile ID associated with this request.",
24905	//       "format": "int64",
24906	//       "location": "path",
24907	//       "required": true,
24908	//       "type": "string"
24909	//     }
24910	//   },
24911	//   "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
24912	//   "request": {
24913	//     "$ref": "CreativeAssetMetadata"
24914	//   },
24915	//   "response": {
24916	//     "$ref": "CreativeAssetMetadata"
24917	//   },
24918	//   "scopes": [
24919	//     "https://www.googleapis.com/auth/dfatrafficking"
24920	//   ],
24921	//   "supportsMediaUpload": true
24922	// }
24923
24924}
24925
24926// method id "dfareporting.creativeFieldValues.delete":
24927
24928type CreativeFieldValuesDeleteCall struct {
24929	s               *Service
24930	profileId       int64
24931	creativeFieldId int64
24932	id              int64
24933	urlParams_      gensupport.URLParams
24934	ctx_            context.Context
24935	header_         http.Header
24936}
24937
24938// Delete: Deletes an existing creative field value.
24939func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
24940	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24941	c.profileId = profileId
24942	c.creativeFieldId = creativeFieldId
24943	c.id = id
24944	return c
24945}
24946
24947// Fields allows partial responses to be retrieved. See
24948// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24949// for more information.
24950func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
24951	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24952	return c
24953}
24954
24955// Context sets the context to be used in this call's Do method. Any
24956// pending HTTP request will be aborted if the provided context is
24957// canceled.
24958func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
24959	c.ctx_ = ctx
24960	return c
24961}
24962
24963// Header returns an http.Header that can be modified by the caller to
24964// add HTTP headers to the request.
24965func (c *CreativeFieldValuesDeleteCall) Header() http.Header {
24966	if c.header_ == nil {
24967		c.header_ = make(http.Header)
24968	}
24969	return c.header_
24970}
24971
24972func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
24973	reqHeaders := make(http.Header)
24974	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
24975	for k, v := range c.header_ {
24976		reqHeaders[k] = v
24977	}
24978	reqHeaders.Set("User-Agent", c.s.userAgent())
24979	var body io.Reader = nil
24980	c.urlParams_.Set("alt", alt)
24981	c.urlParams_.Set("prettyPrint", "false")
24982	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
24983	urls += "?" + c.urlParams_.Encode()
24984	req, err := http.NewRequest("DELETE", urls, body)
24985	if err != nil {
24986		return nil, err
24987	}
24988	req.Header = reqHeaders
24989	googleapi.Expand(req.URL, map[string]string{
24990		"profileId":       strconv.FormatInt(c.profileId, 10),
24991		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
24992		"id":              strconv.FormatInt(c.id, 10),
24993	})
24994	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24995}
24996
24997// Do executes the "dfareporting.creativeFieldValues.delete" call.
24998func (c *CreativeFieldValuesDeleteCall) Do(opts ...googleapi.CallOption) error {
24999	gensupport.SetOptions(c.urlParams_, opts...)
25000	res, err := c.doRequest("json")
25001	if err != nil {
25002		return err
25003	}
25004	defer googleapi.CloseBody(res)
25005	if err := googleapi.CheckResponse(res); err != nil {
25006		return err
25007	}
25008	return nil
25009	// {
25010	//   "description": "Deletes an existing creative field value.",
25011	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25012	//   "httpMethod": "DELETE",
25013	//   "id": "dfareporting.creativeFieldValues.delete",
25014	//   "parameterOrder": [
25015	//     "profileId",
25016	//     "creativeFieldId",
25017	//     "id"
25018	//   ],
25019	//   "parameters": {
25020	//     "creativeFieldId": {
25021	//       "description": "Creative field ID for this creative field value.",
25022	//       "format": "int64",
25023	//       "location": "path",
25024	//       "required": true,
25025	//       "type": "string"
25026	//     },
25027	//     "id": {
25028	//       "description": "Creative Field Value ID",
25029	//       "format": "int64",
25030	//       "location": "path",
25031	//       "required": true,
25032	//       "type": "string"
25033	//     },
25034	//     "profileId": {
25035	//       "description": "User profile ID associated with this request.",
25036	//       "format": "int64",
25037	//       "location": "path",
25038	//       "required": true,
25039	//       "type": "string"
25040	//     }
25041	//   },
25042	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25043	//   "scopes": [
25044	//     "https://www.googleapis.com/auth/dfatrafficking"
25045	//   ]
25046	// }
25047
25048}
25049
25050// method id "dfareporting.creativeFieldValues.get":
25051
25052type CreativeFieldValuesGetCall struct {
25053	s               *Service
25054	profileId       int64
25055	creativeFieldId int64
25056	id              int64
25057	urlParams_      gensupport.URLParams
25058	ifNoneMatch_    string
25059	ctx_            context.Context
25060	header_         http.Header
25061}
25062
25063// Get: Gets one creative field value by ID.
25064func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
25065	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25066	c.profileId = profileId
25067	c.creativeFieldId = creativeFieldId
25068	c.id = id
25069	return c
25070}
25071
25072// Fields allows partial responses to be retrieved. See
25073// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25074// for more information.
25075func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
25076	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25077	return c
25078}
25079
25080// IfNoneMatch sets the optional parameter which makes the operation
25081// fail if the object's ETag matches the given value. This is useful for
25082// getting updates only after the object has changed since the last
25083// request. Use googleapi.IsNotModified to check whether the response
25084// error from Do is the result of In-None-Match.
25085func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
25086	c.ifNoneMatch_ = entityTag
25087	return c
25088}
25089
25090// Context sets the context to be used in this call's Do method. Any
25091// pending HTTP request will be aborted if the provided context is
25092// canceled.
25093func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
25094	c.ctx_ = ctx
25095	return c
25096}
25097
25098// Header returns an http.Header that can be modified by the caller to
25099// add HTTP headers to the request.
25100func (c *CreativeFieldValuesGetCall) Header() http.Header {
25101	if c.header_ == nil {
25102		c.header_ = make(http.Header)
25103	}
25104	return c.header_
25105}
25106
25107func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
25108	reqHeaders := make(http.Header)
25109	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
25110	for k, v := range c.header_ {
25111		reqHeaders[k] = v
25112	}
25113	reqHeaders.Set("User-Agent", c.s.userAgent())
25114	if c.ifNoneMatch_ != "" {
25115		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25116	}
25117	var body io.Reader = nil
25118	c.urlParams_.Set("alt", alt)
25119	c.urlParams_.Set("prettyPrint", "false")
25120	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
25121	urls += "?" + c.urlParams_.Encode()
25122	req, err := http.NewRequest("GET", urls, body)
25123	if err != nil {
25124		return nil, err
25125	}
25126	req.Header = reqHeaders
25127	googleapi.Expand(req.URL, map[string]string{
25128		"profileId":       strconv.FormatInt(c.profileId, 10),
25129		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25130		"id":              strconv.FormatInt(c.id, 10),
25131	})
25132	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25133}
25134
25135// Do executes the "dfareporting.creativeFieldValues.get" call.
25136// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25137// non-2xx status code is an error. Response headers are in either
25138// *CreativeFieldValue.ServerResponse.Header or (if a response was
25139// returned at all) in error.(*googleapi.Error).Header. Use
25140// googleapi.IsNotModified to check whether the returned error was
25141// because http.StatusNotModified was returned.
25142func (c *CreativeFieldValuesGetCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25143	gensupport.SetOptions(c.urlParams_, opts...)
25144	res, err := c.doRequest("json")
25145	if res != nil && res.StatusCode == http.StatusNotModified {
25146		if res.Body != nil {
25147			res.Body.Close()
25148		}
25149		return nil, &googleapi.Error{
25150			Code:   res.StatusCode,
25151			Header: res.Header,
25152		}
25153	}
25154	if err != nil {
25155		return nil, err
25156	}
25157	defer googleapi.CloseBody(res)
25158	if err := googleapi.CheckResponse(res); err != nil {
25159		return nil, err
25160	}
25161	ret := &CreativeFieldValue{
25162		ServerResponse: googleapi.ServerResponse{
25163			Header:         res.Header,
25164			HTTPStatusCode: res.StatusCode,
25165		},
25166	}
25167	target := &ret
25168	if err := gensupport.DecodeResponse(target, res); err != nil {
25169		return nil, err
25170	}
25171	return ret, nil
25172	// {
25173	//   "description": "Gets one creative field value by ID.",
25174	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25175	//   "httpMethod": "GET",
25176	//   "id": "dfareporting.creativeFieldValues.get",
25177	//   "parameterOrder": [
25178	//     "profileId",
25179	//     "creativeFieldId",
25180	//     "id"
25181	//   ],
25182	//   "parameters": {
25183	//     "creativeFieldId": {
25184	//       "description": "Creative field ID for this creative field value.",
25185	//       "format": "int64",
25186	//       "location": "path",
25187	//       "required": true,
25188	//       "type": "string"
25189	//     },
25190	//     "id": {
25191	//       "description": "Creative Field Value ID",
25192	//       "format": "int64",
25193	//       "location": "path",
25194	//       "required": true,
25195	//       "type": "string"
25196	//     },
25197	//     "profileId": {
25198	//       "description": "User profile ID associated with this request.",
25199	//       "format": "int64",
25200	//       "location": "path",
25201	//       "required": true,
25202	//       "type": "string"
25203	//     }
25204	//   },
25205	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25206	//   "response": {
25207	//     "$ref": "CreativeFieldValue"
25208	//   },
25209	//   "scopes": [
25210	//     "https://www.googleapis.com/auth/dfatrafficking"
25211	//   ]
25212	// }
25213
25214}
25215
25216// method id "dfareporting.creativeFieldValues.insert":
25217
25218type CreativeFieldValuesInsertCall struct {
25219	s                  *Service
25220	profileId          int64
25221	creativeFieldId    int64
25222	creativefieldvalue *CreativeFieldValue
25223	urlParams_         gensupport.URLParams
25224	ctx_               context.Context
25225	header_            http.Header
25226}
25227
25228// Insert: Inserts a new creative field value.
25229func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
25230	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25231	c.profileId = profileId
25232	c.creativeFieldId = creativeFieldId
25233	c.creativefieldvalue = creativefieldvalue
25234	return c
25235}
25236
25237// Fields allows partial responses to be retrieved. See
25238// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25239// for more information.
25240func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
25241	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25242	return c
25243}
25244
25245// Context sets the context to be used in this call's Do method. Any
25246// pending HTTP request will be aborted if the provided context is
25247// canceled.
25248func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
25249	c.ctx_ = ctx
25250	return c
25251}
25252
25253// Header returns an http.Header that can be modified by the caller to
25254// add HTTP headers to the request.
25255func (c *CreativeFieldValuesInsertCall) Header() http.Header {
25256	if c.header_ == nil {
25257		c.header_ = make(http.Header)
25258	}
25259	return c.header_
25260}
25261
25262func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
25263	reqHeaders := make(http.Header)
25264	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
25265	for k, v := range c.header_ {
25266		reqHeaders[k] = v
25267	}
25268	reqHeaders.Set("User-Agent", c.s.userAgent())
25269	var body io.Reader = nil
25270	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
25271	if err != nil {
25272		return nil, err
25273	}
25274	reqHeaders.Set("Content-Type", "application/json")
25275	c.urlParams_.Set("alt", alt)
25276	c.urlParams_.Set("prettyPrint", "false")
25277	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25278	urls += "?" + c.urlParams_.Encode()
25279	req, err := http.NewRequest("POST", urls, body)
25280	if err != nil {
25281		return nil, err
25282	}
25283	req.Header = reqHeaders
25284	googleapi.Expand(req.URL, map[string]string{
25285		"profileId":       strconv.FormatInt(c.profileId, 10),
25286		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25287	})
25288	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25289}
25290
25291// Do executes the "dfareporting.creativeFieldValues.insert" call.
25292// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25293// non-2xx status code is an error. Response headers are in either
25294// *CreativeFieldValue.ServerResponse.Header or (if a response was
25295// returned at all) in error.(*googleapi.Error).Header. Use
25296// googleapi.IsNotModified to check whether the returned error was
25297// because http.StatusNotModified was returned.
25298func (c *CreativeFieldValuesInsertCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25299	gensupport.SetOptions(c.urlParams_, opts...)
25300	res, err := c.doRequest("json")
25301	if res != nil && res.StatusCode == http.StatusNotModified {
25302		if res.Body != nil {
25303			res.Body.Close()
25304		}
25305		return nil, &googleapi.Error{
25306			Code:   res.StatusCode,
25307			Header: res.Header,
25308		}
25309	}
25310	if err != nil {
25311		return nil, err
25312	}
25313	defer googleapi.CloseBody(res)
25314	if err := googleapi.CheckResponse(res); err != nil {
25315		return nil, err
25316	}
25317	ret := &CreativeFieldValue{
25318		ServerResponse: googleapi.ServerResponse{
25319			Header:         res.Header,
25320			HTTPStatusCode: res.StatusCode,
25321		},
25322	}
25323	target := &ret
25324	if err := gensupport.DecodeResponse(target, res); err != nil {
25325		return nil, err
25326	}
25327	return ret, nil
25328	// {
25329	//   "description": "Inserts a new creative field value.",
25330	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25331	//   "httpMethod": "POST",
25332	//   "id": "dfareporting.creativeFieldValues.insert",
25333	//   "parameterOrder": [
25334	//     "profileId",
25335	//     "creativeFieldId"
25336	//   ],
25337	//   "parameters": {
25338	//     "creativeFieldId": {
25339	//       "description": "Creative field ID for this creative field value.",
25340	//       "format": "int64",
25341	//       "location": "path",
25342	//       "required": true,
25343	//       "type": "string"
25344	//     },
25345	//     "profileId": {
25346	//       "description": "User profile ID associated with this request.",
25347	//       "format": "int64",
25348	//       "location": "path",
25349	//       "required": true,
25350	//       "type": "string"
25351	//     }
25352	//   },
25353	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25354	//   "request": {
25355	//     "$ref": "CreativeFieldValue"
25356	//   },
25357	//   "response": {
25358	//     "$ref": "CreativeFieldValue"
25359	//   },
25360	//   "scopes": [
25361	//     "https://www.googleapis.com/auth/dfatrafficking"
25362	//   ]
25363	// }
25364
25365}
25366
25367// method id "dfareporting.creativeFieldValues.list":
25368
25369type CreativeFieldValuesListCall struct {
25370	s               *Service
25371	profileId       int64
25372	creativeFieldId int64
25373	urlParams_      gensupport.URLParams
25374	ifNoneMatch_    string
25375	ctx_            context.Context
25376	header_         http.Header
25377}
25378
25379// List: Retrieves a list of creative field values, possibly filtered.
25380// This method supports paging.
25381func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
25382	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25383	c.profileId = profileId
25384	c.creativeFieldId = creativeFieldId
25385	return c
25386}
25387
25388// Ids sets the optional parameter "ids": Select only creative field
25389// values with these IDs.
25390func (c *CreativeFieldValuesListCall) Ids(ids ...int64) *CreativeFieldValuesListCall {
25391	var ids_ []string
25392	for _, v := range ids {
25393		ids_ = append(ids_, fmt.Sprint(v))
25394	}
25395	c.urlParams_.SetMulti("ids", ids_)
25396	return c
25397}
25398
25399// MaxResults sets the optional parameter "maxResults": Maximum number
25400// of results to return.
25401func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
25402	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
25403	return c
25404}
25405
25406// PageToken sets the optional parameter "pageToken": Value of the
25407// nextPageToken from the previous result page.
25408func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
25409	c.urlParams_.Set("pageToken", pageToken)
25410	return c
25411}
25412
25413// SearchString sets the optional parameter "searchString": Allows
25414// searching for creative field values by their values. Wildcards (e.g.
25415// *) are not allowed.
25416func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
25417	c.urlParams_.Set("searchString", searchString)
25418	return c
25419}
25420
25421// SortField sets the optional parameter "sortField": Field by which to
25422// sort the list.
25423//
25424// Possible values:
25425//   "ID" (default)
25426//   "VALUE"
25427func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
25428	c.urlParams_.Set("sortField", sortField)
25429	return c
25430}
25431
25432// SortOrder sets the optional parameter "sortOrder": Order of sorted
25433// results.
25434//
25435// Possible values:
25436//   "ASCENDING" (default)
25437//   "DESCENDING"
25438func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
25439	c.urlParams_.Set("sortOrder", sortOrder)
25440	return c
25441}
25442
25443// Fields allows partial responses to be retrieved. See
25444// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25445// for more information.
25446func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
25447	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25448	return c
25449}
25450
25451// IfNoneMatch sets the optional parameter which makes the operation
25452// fail if the object's ETag matches the given value. This is useful for
25453// getting updates only after the object has changed since the last
25454// request. Use googleapi.IsNotModified to check whether the response
25455// error from Do is the result of In-None-Match.
25456func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
25457	c.ifNoneMatch_ = entityTag
25458	return c
25459}
25460
25461// Context sets the context to be used in this call's Do method. Any
25462// pending HTTP request will be aborted if the provided context is
25463// canceled.
25464func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
25465	c.ctx_ = ctx
25466	return c
25467}
25468
25469// Header returns an http.Header that can be modified by the caller to
25470// add HTTP headers to the request.
25471func (c *CreativeFieldValuesListCall) Header() http.Header {
25472	if c.header_ == nil {
25473		c.header_ = make(http.Header)
25474	}
25475	return c.header_
25476}
25477
25478func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
25479	reqHeaders := make(http.Header)
25480	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
25481	for k, v := range c.header_ {
25482		reqHeaders[k] = v
25483	}
25484	reqHeaders.Set("User-Agent", c.s.userAgent())
25485	if c.ifNoneMatch_ != "" {
25486		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25487	}
25488	var body io.Reader = nil
25489	c.urlParams_.Set("alt", alt)
25490	c.urlParams_.Set("prettyPrint", "false")
25491	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25492	urls += "?" + c.urlParams_.Encode()
25493	req, err := http.NewRequest("GET", urls, body)
25494	if err != nil {
25495		return nil, err
25496	}
25497	req.Header = reqHeaders
25498	googleapi.Expand(req.URL, map[string]string{
25499		"profileId":       strconv.FormatInt(c.profileId, 10),
25500		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25501	})
25502	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25503}
25504
25505// Do executes the "dfareporting.creativeFieldValues.list" call.
25506// Exactly one of *CreativeFieldValuesListResponse or error will be
25507// non-nil. Any non-2xx status code is an error. Response headers are in
25508// either *CreativeFieldValuesListResponse.ServerResponse.Header or (if
25509// a response was returned at all) in error.(*googleapi.Error).Header.
25510// Use googleapi.IsNotModified to check whether the returned error was
25511// because http.StatusNotModified was returned.
25512func (c *CreativeFieldValuesListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValuesListResponse, error) {
25513	gensupport.SetOptions(c.urlParams_, opts...)
25514	res, err := c.doRequest("json")
25515	if res != nil && res.StatusCode == http.StatusNotModified {
25516		if res.Body != nil {
25517			res.Body.Close()
25518		}
25519		return nil, &googleapi.Error{
25520			Code:   res.StatusCode,
25521			Header: res.Header,
25522		}
25523	}
25524	if err != nil {
25525		return nil, err
25526	}
25527	defer googleapi.CloseBody(res)
25528	if err := googleapi.CheckResponse(res); err != nil {
25529		return nil, err
25530	}
25531	ret := &CreativeFieldValuesListResponse{
25532		ServerResponse: googleapi.ServerResponse{
25533			Header:         res.Header,
25534			HTTPStatusCode: res.StatusCode,
25535		},
25536	}
25537	target := &ret
25538	if err := gensupport.DecodeResponse(target, res); err != nil {
25539		return nil, err
25540	}
25541	return ret, nil
25542	// {
25543	//   "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
25544	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25545	//   "httpMethod": "GET",
25546	//   "id": "dfareporting.creativeFieldValues.list",
25547	//   "parameterOrder": [
25548	//     "profileId",
25549	//     "creativeFieldId"
25550	//   ],
25551	//   "parameters": {
25552	//     "creativeFieldId": {
25553	//       "description": "Creative field ID for this creative field value.",
25554	//       "format": "int64",
25555	//       "location": "path",
25556	//       "required": true,
25557	//       "type": "string"
25558	//     },
25559	//     "ids": {
25560	//       "description": "Select only creative field values with these IDs.",
25561	//       "format": "int64",
25562	//       "location": "query",
25563	//       "repeated": true,
25564	//       "type": "string"
25565	//     },
25566	//     "maxResults": {
25567	//       "default": "1000",
25568	//       "description": "Maximum number of results to return.",
25569	//       "format": "int32",
25570	//       "location": "query",
25571	//       "maximum": "1000",
25572	//       "minimum": "0",
25573	//       "type": "integer"
25574	//     },
25575	//     "pageToken": {
25576	//       "description": "Value of the nextPageToken from the previous result page.",
25577	//       "location": "query",
25578	//       "type": "string"
25579	//     },
25580	//     "profileId": {
25581	//       "description": "User profile ID associated with this request.",
25582	//       "format": "int64",
25583	//       "location": "path",
25584	//       "required": true,
25585	//       "type": "string"
25586	//     },
25587	//     "searchString": {
25588	//       "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.",
25589	//       "location": "query",
25590	//       "type": "string"
25591	//     },
25592	//     "sortField": {
25593	//       "default": "ID",
25594	//       "description": "Field by which to sort the list.",
25595	//       "enum": [
25596	//         "ID",
25597	//         "VALUE"
25598	//       ],
25599	//       "enumDescriptions": [
25600	//         "",
25601	//         ""
25602	//       ],
25603	//       "location": "query",
25604	//       "type": "string"
25605	//     },
25606	//     "sortOrder": {
25607	//       "default": "ASCENDING",
25608	//       "description": "Order of sorted results.",
25609	//       "enum": [
25610	//         "ASCENDING",
25611	//         "DESCENDING"
25612	//       ],
25613	//       "enumDescriptions": [
25614	//         "",
25615	//         ""
25616	//       ],
25617	//       "location": "query",
25618	//       "type": "string"
25619	//     }
25620	//   },
25621	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25622	//   "response": {
25623	//     "$ref": "CreativeFieldValuesListResponse"
25624	//   },
25625	//   "scopes": [
25626	//     "https://www.googleapis.com/auth/dfatrafficking"
25627	//   ]
25628	// }
25629
25630}
25631
25632// Pages invokes f for each page of results.
25633// A non-nil error returned from f will halt the iteration.
25634// The provided context supersedes any context provided to the Context method.
25635func (c *CreativeFieldValuesListCall) Pages(ctx context.Context, f func(*CreativeFieldValuesListResponse) error) error {
25636	c.ctx_ = ctx
25637	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
25638	for {
25639		x, err := c.Do()
25640		if err != nil {
25641			return err
25642		}
25643		if err := f(x); err != nil {
25644			return err
25645		}
25646		if x.NextPageToken == "" {
25647			return nil
25648		}
25649		c.PageToken(x.NextPageToken)
25650	}
25651}
25652
25653// method id "dfareporting.creativeFieldValues.patch":
25654
25655type CreativeFieldValuesPatchCall struct {
25656	s                  *Service
25657	profileId          int64
25658	creativeFieldId    int64
25659	creativefieldvalue *CreativeFieldValue
25660	urlParams_         gensupport.URLParams
25661	ctx_               context.Context
25662	header_            http.Header
25663}
25664
25665// Patch: Updates an existing creative field value. This method supports
25666// patch semantics.
25667func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
25668	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25669	c.profileId = profileId
25670	c.creativeFieldId = creativeFieldId
25671	c.urlParams_.Set("id", fmt.Sprint(id))
25672	c.creativefieldvalue = creativefieldvalue
25673	return c
25674}
25675
25676// Fields allows partial responses to be retrieved. See
25677// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25678// for more information.
25679func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
25680	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25681	return c
25682}
25683
25684// Context sets the context to be used in this call's Do method. Any
25685// pending HTTP request will be aborted if the provided context is
25686// canceled.
25687func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
25688	c.ctx_ = ctx
25689	return c
25690}
25691
25692// Header returns an http.Header that can be modified by the caller to
25693// add HTTP headers to the request.
25694func (c *CreativeFieldValuesPatchCall) Header() http.Header {
25695	if c.header_ == nil {
25696		c.header_ = make(http.Header)
25697	}
25698	return c.header_
25699}
25700
25701func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
25702	reqHeaders := make(http.Header)
25703	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
25704	for k, v := range c.header_ {
25705		reqHeaders[k] = v
25706	}
25707	reqHeaders.Set("User-Agent", c.s.userAgent())
25708	var body io.Reader = nil
25709	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
25710	if err != nil {
25711		return nil, err
25712	}
25713	reqHeaders.Set("Content-Type", "application/json")
25714	c.urlParams_.Set("alt", alt)
25715	c.urlParams_.Set("prettyPrint", "false")
25716	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25717	urls += "?" + c.urlParams_.Encode()
25718	req, err := http.NewRequest("PATCH", urls, body)
25719	if err != nil {
25720		return nil, err
25721	}
25722	req.Header = reqHeaders
25723	googleapi.Expand(req.URL, map[string]string{
25724		"profileId":       strconv.FormatInt(c.profileId, 10),
25725		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25726	})
25727	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25728}
25729
25730// Do executes the "dfareporting.creativeFieldValues.patch" call.
25731// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25732// non-2xx status code is an error. Response headers are in either
25733// *CreativeFieldValue.ServerResponse.Header or (if a response was
25734// returned at all) in error.(*googleapi.Error).Header. Use
25735// googleapi.IsNotModified to check whether the returned error was
25736// because http.StatusNotModified was returned.
25737func (c *CreativeFieldValuesPatchCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25738	gensupport.SetOptions(c.urlParams_, opts...)
25739	res, err := c.doRequest("json")
25740	if res != nil && res.StatusCode == http.StatusNotModified {
25741		if res.Body != nil {
25742			res.Body.Close()
25743		}
25744		return nil, &googleapi.Error{
25745			Code:   res.StatusCode,
25746			Header: res.Header,
25747		}
25748	}
25749	if err != nil {
25750		return nil, err
25751	}
25752	defer googleapi.CloseBody(res)
25753	if err := googleapi.CheckResponse(res); err != nil {
25754		return nil, err
25755	}
25756	ret := &CreativeFieldValue{
25757		ServerResponse: googleapi.ServerResponse{
25758			Header:         res.Header,
25759			HTTPStatusCode: res.StatusCode,
25760		},
25761	}
25762	target := &ret
25763	if err := gensupport.DecodeResponse(target, res); err != nil {
25764		return nil, err
25765	}
25766	return ret, nil
25767	// {
25768	//   "description": "Updates an existing creative field value. This method supports patch semantics.",
25769	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25770	//   "httpMethod": "PATCH",
25771	//   "id": "dfareporting.creativeFieldValues.patch",
25772	//   "parameterOrder": [
25773	//     "profileId",
25774	//     "creativeFieldId",
25775	//     "id"
25776	//   ],
25777	//   "parameters": {
25778	//     "creativeFieldId": {
25779	//       "description": "CreativeField ID.",
25780	//       "format": "int64",
25781	//       "location": "path",
25782	//       "required": true,
25783	//       "type": "string"
25784	//     },
25785	//     "id": {
25786	//       "description": "CreativeFieldValue ID.",
25787	//       "format": "int64",
25788	//       "location": "query",
25789	//       "required": true,
25790	//       "type": "string"
25791	//     },
25792	//     "profileId": {
25793	//       "description": "User profile ID associated with this request.",
25794	//       "format": "int64",
25795	//       "location": "path",
25796	//       "required": true,
25797	//       "type": "string"
25798	//     }
25799	//   },
25800	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25801	//   "request": {
25802	//     "$ref": "CreativeFieldValue"
25803	//   },
25804	//   "response": {
25805	//     "$ref": "CreativeFieldValue"
25806	//   },
25807	//   "scopes": [
25808	//     "https://www.googleapis.com/auth/dfatrafficking"
25809	//   ]
25810	// }
25811
25812}
25813
25814// method id "dfareporting.creativeFieldValues.update":
25815
25816type CreativeFieldValuesUpdateCall struct {
25817	s                  *Service
25818	profileId          int64
25819	creativeFieldId    int64
25820	creativefieldvalue *CreativeFieldValue
25821	urlParams_         gensupport.URLParams
25822	ctx_               context.Context
25823	header_            http.Header
25824}
25825
25826// Update: Updates an existing creative field value.
25827func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
25828	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25829	c.profileId = profileId
25830	c.creativeFieldId = creativeFieldId
25831	c.creativefieldvalue = creativefieldvalue
25832	return c
25833}
25834
25835// Fields allows partial responses to be retrieved. See
25836// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25837// for more information.
25838func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
25839	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25840	return c
25841}
25842
25843// Context sets the context to be used in this call's Do method. Any
25844// pending HTTP request will be aborted if the provided context is
25845// canceled.
25846func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
25847	c.ctx_ = ctx
25848	return c
25849}
25850
25851// Header returns an http.Header that can be modified by the caller to
25852// add HTTP headers to the request.
25853func (c *CreativeFieldValuesUpdateCall) Header() http.Header {
25854	if c.header_ == nil {
25855		c.header_ = make(http.Header)
25856	}
25857	return c.header_
25858}
25859
25860func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
25861	reqHeaders := make(http.Header)
25862	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
25863	for k, v := range c.header_ {
25864		reqHeaders[k] = v
25865	}
25866	reqHeaders.Set("User-Agent", c.s.userAgent())
25867	var body io.Reader = nil
25868	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
25869	if err != nil {
25870		return nil, err
25871	}
25872	reqHeaders.Set("Content-Type", "application/json")
25873	c.urlParams_.Set("alt", alt)
25874	c.urlParams_.Set("prettyPrint", "false")
25875	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25876	urls += "?" + c.urlParams_.Encode()
25877	req, err := http.NewRequest("PUT", urls, body)
25878	if err != nil {
25879		return nil, err
25880	}
25881	req.Header = reqHeaders
25882	googleapi.Expand(req.URL, map[string]string{
25883		"profileId":       strconv.FormatInt(c.profileId, 10),
25884		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25885	})
25886	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25887}
25888
25889// Do executes the "dfareporting.creativeFieldValues.update" call.
25890// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25891// non-2xx status code is an error. Response headers are in either
25892// *CreativeFieldValue.ServerResponse.Header or (if a response was
25893// returned at all) in error.(*googleapi.Error).Header. Use
25894// googleapi.IsNotModified to check whether the returned error was
25895// because http.StatusNotModified was returned.
25896func (c *CreativeFieldValuesUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25897	gensupport.SetOptions(c.urlParams_, opts...)
25898	res, err := c.doRequest("json")
25899	if res != nil && res.StatusCode == http.StatusNotModified {
25900		if res.Body != nil {
25901			res.Body.Close()
25902		}
25903		return nil, &googleapi.Error{
25904			Code:   res.StatusCode,
25905			Header: res.Header,
25906		}
25907	}
25908	if err != nil {
25909		return nil, err
25910	}
25911	defer googleapi.CloseBody(res)
25912	if err := googleapi.CheckResponse(res); err != nil {
25913		return nil, err
25914	}
25915	ret := &CreativeFieldValue{
25916		ServerResponse: googleapi.ServerResponse{
25917			Header:         res.Header,
25918			HTTPStatusCode: res.StatusCode,
25919		},
25920	}
25921	target := &ret
25922	if err := gensupport.DecodeResponse(target, res); err != nil {
25923		return nil, err
25924	}
25925	return ret, nil
25926	// {
25927	//   "description": "Updates an existing creative field value.",
25928	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25929	//   "httpMethod": "PUT",
25930	//   "id": "dfareporting.creativeFieldValues.update",
25931	//   "parameterOrder": [
25932	//     "profileId",
25933	//     "creativeFieldId"
25934	//   ],
25935	//   "parameters": {
25936	//     "creativeFieldId": {
25937	//       "description": "Creative field ID for this creative field value.",
25938	//       "format": "int64",
25939	//       "location": "path",
25940	//       "required": true,
25941	//       "type": "string"
25942	//     },
25943	//     "profileId": {
25944	//       "description": "User profile ID associated with this request.",
25945	//       "format": "int64",
25946	//       "location": "path",
25947	//       "required": true,
25948	//       "type": "string"
25949	//     }
25950	//   },
25951	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25952	//   "request": {
25953	//     "$ref": "CreativeFieldValue"
25954	//   },
25955	//   "response": {
25956	//     "$ref": "CreativeFieldValue"
25957	//   },
25958	//   "scopes": [
25959	//     "https://www.googleapis.com/auth/dfatrafficking"
25960	//   ]
25961	// }
25962
25963}
25964
25965// method id "dfareporting.creativeFields.delete":
25966
25967type CreativeFieldsDeleteCall struct {
25968	s          *Service
25969	profileId  int64
25970	id         int64
25971	urlParams_ gensupport.URLParams
25972	ctx_       context.Context
25973	header_    http.Header
25974}
25975
25976// Delete: Deletes an existing creative field.
25977func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
25978	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25979	c.profileId = profileId
25980	c.id = id
25981	return c
25982}
25983
25984// Fields allows partial responses to be retrieved. See
25985// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25986// for more information.
25987func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
25988	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25989	return c
25990}
25991
25992// Context sets the context to be used in this call's Do method. Any
25993// pending HTTP request will be aborted if the provided context is
25994// canceled.
25995func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
25996	c.ctx_ = ctx
25997	return c
25998}
25999
26000// Header returns an http.Header that can be modified by the caller to
26001// add HTTP headers to the request.
26002func (c *CreativeFieldsDeleteCall) Header() http.Header {
26003	if c.header_ == nil {
26004		c.header_ = make(http.Header)
26005	}
26006	return c.header_
26007}
26008
26009func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
26010	reqHeaders := make(http.Header)
26011	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
26012	for k, v := range c.header_ {
26013		reqHeaders[k] = v
26014	}
26015	reqHeaders.Set("User-Agent", c.s.userAgent())
26016	var body io.Reader = nil
26017	c.urlParams_.Set("alt", alt)
26018	c.urlParams_.Set("prettyPrint", "false")
26019	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
26020	urls += "?" + c.urlParams_.Encode()
26021	req, err := http.NewRequest("DELETE", urls, body)
26022	if err != nil {
26023		return nil, err
26024	}
26025	req.Header = reqHeaders
26026	googleapi.Expand(req.URL, map[string]string{
26027		"profileId": strconv.FormatInt(c.profileId, 10),
26028		"id":        strconv.FormatInt(c.id, 10),
26029	})
26030	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26031}
26032
26033// Do executes the "dfareporting.creativeFields.delete" call.
26034func (c *CreativeFieldsDeleteCall) Do(opts ...googleapi.CallOption) error {
26035	gensupport.SetOptions(c.urlParams_, opts...)
26036	res, err := c.doRequest("json")
26037	if err != nil {
26038		return err
26039	}
26040	defer googleapi.CloseBody(res)
26041	if err := googleapi.CheckResponse(res); err != nil {
26042		return err
26043	}
26044	return nil
26045	// {
26046	//   "description": "Deletes an existing creative field.",
26047	//   "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
26048	//   "httpMethod": "DELETE",
26049	//   "id": "dfareporting.creativeFields.delete",
26050	//   "parameterOrder": [
26051	//     "profileId",
26052	//     "id"
26053	//   ],
26054	//   "parameters": {
26055	//     "id": {
26056	//       "description": "Creative Field ID",
26057	//       "format": "int64",
26058	//       "location": "path",
26059	//       "required": true,
26060	//       "type": "string"
26061	//     },
26062	//     "profileId": {
26063	//       "description": "User profile ID associated with this request.",
26064	//       "format": "int64",
26065	//       "location": "path",
26066	//       "required": true,
26067	//       "type": "string"
26068	//     }
26069	//   },
26070	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
26071	//   "scopes": [
26072	//     "https://www.googleapis.com/auth/dfatrafficking"
26073	//   ]
26074	// }
26075
26076}
26077
26078// method id "dfareporting.creativeFields.get":
26079
26080type CreativeFieldsGetCall struct {
26081	s            *Service
26082	profileId    int64
26083	id           int64
26084	urlParams_   gensupport.URLParams
26085	ifNoneMatch_ string
26086	ctx_         context.Context
26087	header_      http.Header
26088}
26089
26090// Get: Gets one creative field by ID.
26091func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
26092	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26093	c.profileId = profileId
26094	c.id = id
26095	return c
26096}
26097
26098// Fields allows partial responses to be retrieved. See
26099// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26100// for more information.
26101func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
26102	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26103	return c
26104}
26105
26106// IfNoneMatch sets the optional parameter which makes the operation
26107// fail if the object's ETag matches the given value. This is useful for
26108// getting updates only after the object has changed since the last
26109// request. Use googleapi.IsNotModified to check whether the response
26110// error from Do is the result of In-None-Match.
26111func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
26112	c.ifNoneMatch_ = entityTag
26113	return c
26114}
26115
26116// Context sets the context to be used in this call's Do method. Any
26117// pending HTTP request will be aborted if the provided context is
26118// canceled.
26119func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
26120	c.ctx_ = ctx
26121	return c
26122}
26123
26124// Header returns an http.Header that can be modified by the caller to
26125// add HTTP headers to the request.
26126func (c *CreativeFieldsGetCall) Header() http.Header {
26127	if c.header_ == nil {
26128		c.header_ = make(http.Header)
26129	}
26130	return c.header_
26131}
26132
26133func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
26134	reqHeaders := make(http.Header)
26135	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
26136	for k, v := range c.header_ {
26137		reqHeaders[k] = v
26138	}
26139	reqHeaders.Set("User-Agent", c.s.userAgent())
26140	if c.ifNoneMatch_ != "" {
26141		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26142	}
26143	var body io.Reader = nil
26144	c.urlParams_.Set("alt", alt)
26145	c.urlParams_.Set("prettyPrint", "false")
26146	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
26147	urls += "?" + c.urlParams_.Encode()
26148	req, err := http.NewRequest("GET", urls, body)
26149	if err != nil {
26150		return nil, err
26151	}
26152	req.Header = reqHeaders
26153	googleapi.Expand(req.URL, map[string]string{
26154		"profileId": strconv.FormatInt(c.profileId, 10),
26155		"id":        strconv.FormatInt(c.id, 10),
26156	})
26157	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26158}
26159
26160// Do executes the "dfareporting.creativeFields.get" call.
26161// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26162// status code is an error. Response headers are in either
26163// *CreativeField.ServerResponse.Header or (if a response was returned
26164// at all) in error.(*googleapi.Error).Header. Use
26165// googleapi.IsNotModified to check whether the returned error was
26166// because http.StatusNotModified was returned.
26167func (c *CreativeFieldsGetCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26168	gensupport.SetOptions(c.urlParams_, opts...)
26169	res, err := c.doRequest("json")
26170	if res != nil && res.StatusCode == http.StatusNotModified {
26171		if res.Body != nil {
26172			res.Body.Close()
26173		}
26174		return nil, &googleapi.Error{
26175			Code:   res.StatusCode,
26176			Header: res.Header,
26177		}
26178	}
26179	if err != nil {
26180		return nil, err
26181	}
26182	defer googleapi.CloseBody(res)
26183	if err := googleapi.CheckResponse(res); err != nil {
26184		return nil, err
26185	}
26186	ret := &CreativeField{
26187		ServerResponse: googleapi.ServerResponse{
26188			Header:         res.Header,
26189			HTTPStatusCode: res.StatusCode,
26190		},
26191	}
26192	target := &ret
26193	if err := gensupport.DecodeResponse(target, res); err != nil {
26194		return nil, err
26195	}
26196	return ret, nil
26197	// {
26198	//   "description": "Gets one creative field by ID.",
26199	//   "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
26200	//   "httpMethod": "GET",
26201	//   "id": "dfareporting.creativeFields.get",
26202	//   "parameterOrder": [
26203	//     "profileId",
26204	//     "id"
26205	//   ],
26206	//   "parameters": {
26207	//     "id": {
26208	//       "description": "Creative Field ID",
26209	//       "format": "int64",
26210	//       "location": "path",
26211	//       "required": true,
26212	//       "type": "string"
26213	//     },
26214	//     "profileId": {
26215	//       "description": "User profile ID associated with this request.",
26216	//       "format": "int64",
26217	//       "location": "path",
26218	//       "required": true,
26219	//       "type": "string"
26220	//     }
26221	//   },
26222	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
26223	//   "response": {
26224	//     "$ref": "CreativeField"
26225	//   },
26226	//   "scopes": [
26227	//     "https://www.googleapis.com/auth/dfatrafficking"
26228	//   ]
26229	// }
26230
26231}
26232
26233// method id "dfareporting.creativeFields.insert":
26234
26235type CreativeFieldsInsertCall struct {
26236	s             *Service
26237	profileId     int64
26238	creativefield *CreativeField
26239	urlParams_    gensupport.URLParams
26240	ctx_          context.Context
26241	header_       http.Header
26242}
26243
26244// Insert: Inserts a new creative field.
26245func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
26246	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26247	c.profileId = profileId
26248	c.creativefield = creativefield
26249	return c
26250}
26251
26252// Fields allows partial responses to be retrieved. See
26253// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26254// for more information.
26255func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
26256	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26257	return c
26258}
26259
26260// Context sets the context to be used in this call's Do method. Any
26261// pending HTTP request will be aborted if the provided context is
26262// canceled.
26263func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
26264	c.ctx_ = ctx
26265	return c
26266}
26267
26268// Header returns an http.Header that can be modified by the caller to
26269// add HTTP headers to the request.
26270func (c *CreativeFieldsInsertCall) Header() http.Header {
26271	if c.header_ == nil {
26272		c.header_ = make(http.Header)
26273	}
26274	return c.header_
26275}
26276
26277func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
26278	reqHeaders := make(http.Header)
26279	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
26280	for k, v := range c.header_ {
26281		reqHeaders[k] = v
26282	}
26283	reqHeaders.Set("User-Agent", c.s.userAgent())
26284	var body io.Reader = nil
26285	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
26286	if err != nil {
26287		return nil, err
26288	}
26289	reqHeaders.Set("Content-Type", "application/json")
26290	c.urlParams_.Set("alt", alt)
26291	c.urlParams_.Set("prettyPrint", "false")
26292	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26293	urls += "?" + c.urlParams_.Encode()
26294	req, err := http.NewRequest("POST", urls, body)
26295	if err != nil {
26296		return nil, err
26297	}
26298	req.Header = reqHeaders
26299	googleapi.Expand(req.URL, map[string]string{
26300		"profileId": strconv.FormatInt(c.profileId, 10),
26301	})
26302	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26303}
26304
26305// Do executes the "dfareporting.creativeFields.insert" call.
26306// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26307// status code is an error. Response headers are in either
26308// *CreativeField.ServerResponse.Header or (if a response was returned
26309// at all) in error.(*googleapi.Error).Header. Use
26310// googleapi.IsNotModified to check whether the returned error was
26311// because http.StatusNotModified was returned.
26312func (c *CreativeFieldsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26313	gensupport.SetOptions(c.urlParams_, opts...)
26314	res, err := c.doRequest("json")
26315	if res != nil && res.StatusCode == http.StatusNotModified {
26316		if res.Body != nil {
26317			res.Body.Close()
26318		}
26319		return nil, &googleapi.Error{
26320			Code:   res.StatusCode,
26321			Header: res.Header,
26322		}
26323	}
26324	if err != nil {
26325		return nil, err
26326	}
26327	defer googleapi.CloseBody(res)
26328	if err := googleapi.CheckResponse(res); err != nil {
26329		return nil, err
26330	}
26331	ret := &CreativeField{
26332		ServerResponse: googleapi.ServerResponse{
26333			Header:         res.Header,
26334			HTTPStatusCode: res.StatusCode,
26335		},
26336	}
26337	target := &ret
26338	if err := gensupport.DecodeResponse(target, res); err != nil {
26339		return nil, err
26340	}
26341	return ret, nil
26342	// {
26343	//   "description": "Inserts a new creative field.",
26344	//   "flatPath": "userprofiles/{profileId}/creativeFields",
26345	//   "httpMethod": "POST",
26346	//   "id": "dfareporting.creativeFields.insert",
26347	//   "parameterOrder": [
26348	//     "profileId"
26349	//   ],
26350	//   "parameters": {
26351	//     "profileId": {
26352	//       "description": "User profile ID associated with this request.",
26353	//       "format": "int64",
26354	//       "location": "path",
26355	//       "required": true,
26356	//       "type": "string"
26357	//     }
26358	//   },
26359	//   "path": "userprofiles/{profileId}/creativeFields",
26360	//   "request": {
26361	//     "$ref": "CreativeField"
26362	//   },
26363	//   "response": {
26364	//     "$ref": "CreativeField"
26365	//   },
26366	//   "scopes": [
26367	//     "https://www.googleapis.com/auth/dfatrafficking"
26368	//   ]
26369	// }
26370
26371}
26372
26373// method id "dfareporting.creativeFields.list":
26374
26375type CreativeFieldsListCall struct {
26376	s            *Service
26377	profileId    int64
26378	urlParams_   gensupport.URLParams
26379	ifNoneMatch_ string
26380	ctx_         context.Context
26381	header_      http.Header
26382}
26383
26384// List: Retrieves a list of creative fields, possibly filtered. This
26385// method supports paging.
26386func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
26387	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26388	c.profileId = profileId
26389	return c
26390}
26391
26392// AdvertiserIds sets the optional parameter "advertiserIds": Select
26393// only creative fields that belong to these advertisers.
26394func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeFieldsListCall {
26395	var advertiserIds_ []string
26396	for _, v := range advertiserIds {
26397		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
26398	}
26399	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
26400	return c
26401}
26402
26403// Ids sets the optional parameter "ids": Select only creative fields
26404// with these IDs.
26405func (c *CreativeFieldsListCall) Ids(ids ...int64) *CreativeFieldsListCall {
26406	var ids_ []string
26407	for _, v := range ids {
26408		ids_ = append(ids_, fmt.Sprint(v))
26409	}
26410	c.urlParams_.SetMulti("ids", ids_)
26411	return c
26412}
26413
26414// MaxResults sets the optional parameter "maxResults": Maximum number
26415// of results to return.
26416func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
26417	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
26418	return c
26419}
26420
26421// PageToken sets the optional parameter "pageToken": Value of the
26422// nextPageToken from the previous result page.
26423func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
26424	c.urlParams_.Set("pageToken", pageToken)
26425	return c
26426}
26427
26428// SearchString sets the optional parameter "searchString": Allows
26429// searching for creative fields by name or ID. Wildcards (*) are
26430// allowed. For example, "creativefield*2015" will return creative
26431// fields with names like "creativefield June 2015", "creativefield
26432// April 2015", or simply "creativefield 2015". Most of the searches
26433// also add wild-cards implicitly at the start and the end of the search
26434// string. For example, a search string of "creativefield" will match
26435// creative fields with the name "my creativefield", "creativefield
26436// 2015", or simply "creativefield".
26437func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
26438	c.urlParams_.Set("searchString", searchString)
26439	return c
26440}
26441
26442// SortField sets the optional parameter "sortField": Field by which to
26443// sort the list.
26444//
26445// Possible values:
26446//   "ID" (default)
26447//   "NAME"
26448func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
26449	c.urlParams_.Set("sortField", sortField)
26450	return c
26451}
26452
26453// SortOrder sets the optional parameter "sortOrder": Order of sorted
26454// results.
26455//
26456// Possible values:
26457//   "ASCENDING" (default)
26458//   "DESCENDING"
26459func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
26460	c.urlParams_.Set("sortOrder", sortOrder)
26461	return c
26462}
26463
26464// Fields allows partial responses to be retrieved. See
26465// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26466// for more information.
26467func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
26468	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26469	return c
26470}
26471
26472// IfNoneMatch sets the optional parameter which makes the operation
26473// fail if the object's ETag matches the given value. This is useful for
26474// getting updates only after the object has changed since the last
26475// request. Use googleapi.IsNotModified to check whether the response
26476// error from Do is the result of In-None-Match.
26477func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
26478	c.ifNoneMatch_ = entityTag
26479	return c
26480}
26481
26482// Context sets the context to be used in this call's Do method. Any
26483// pending HTTP request will be aborted if the provided context is
26484// canceled.
26485func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
26486	c.ctx_ = ctx
26487	return c
26488}
26489
26490// Header returns an http.Header that can be modified by the caller to
26491// add HTTP headers to the request.
26492func (c *CreativeFieldsListCall) Header() http.Header {
26493	if c.header_ == nil {
26494		c.header_ = make(http.Header)
26495	}
26496	return c.header_
26497}
26498
26499func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
26500	reqHeaders := make(http.Header)
26501	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
26502	for k, v := range c.header_ {
26503		reqHeaders[k] = v
26504	}
26505	reqHeaders.Set("User-Agent", c.s.userAgent())
26506	if c.ifNoneMatch_ != "" {
26507		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26508	}
26509	var body io.Reader = nil
26510	c.urlParams_.Set("alt", alt)
26511	c.urlParams_.Set("prettyPrint", "false")
26512	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26513	urls += "?" + c.urlParams_.Encode()
26514	req, err := http.NewRequest("GET", urls, body)
26515	if err != nil {
26516		return nil, err
26517	}
26518	req.Header = reqHeaders
26519	googleapi.Expand(req.URL, map[string]string{
26520		"profileId": strconv.FormatInt(c.profileId, 10),
26521	})
26522	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26523}
26524
26525// Do executes the "dfareporting.creativeFields.list" call.
26526// Exactly one of *CreativeFieldsListResponse or error will be non-nil.
26527// Any non-2xx status code is an error. Response headers are in either
26528// *CreativeFieldsListResponse.ServerResponse.Header or (if a response
26529// was returned at all) in error.(*googleapi.Error).Header. Use
26530// googleapi.IsNotModified to check whether the returned error was
26531// because http.StatusNotModified was returned.
26532func (c *CreativeFieldsListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldsListResponse, error) {
26533	gensupport.SetOptions(c.urlParams_, opts...)
26534	res, err := c.doRequest("json")
26535	if res != nil && res.StatusCode == http.StatusNotModified {
26536		if res.Body != nil {
26537			res.Body.Close()
26538		}
26539		return nil, &googleapi.Error{
26540			Code:   res.StatusCode,
26541			Header: res.Header,
26542		}
26543	}
26544	if err != nil {
26545		return nil, err
26546	}
26547	defer googleapi.CloseBody(res)
26548	if err := googleapi.CheckResponse(res); err != nil {
26549		return nil, err
26550	}
26551	ret := &CreativeFieldsListResponse{
26552		ServerResponse: googleapi.ServerResponse{
26553			Header:         res.Header,
26554			HTTPStatusCode: res.StatusCode,
26555		},
26556	}
26557	target := &ret
26558	if err := gensupport.DecodeResponse(target, res); err != nil {
26559		return nil, err
26560	}
26561	return ret, nil
26562	// {
26563	//   "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
26564	//   "flatPath": "userprofiles/{profileId}/creativeFields",
26565	//   "httpMethod": "GET",
26566	//   "id": "dfareporting.creativeFields.list",
26567	//   "parameterOrder": [
26568	//     "profileId"
26569	//   ],
26570	//   "parameters": {
26571	//     "advertiserIds": {
26572	//       "description": "Select only creative fields that belong to these advertisers.",
26573	//       "format": "int64",
26574	//       "location": "query",
26575	//       "repeated": true,
26576	//       "type": "string"
26577	//     },
26578	//     "ids": {
26579	//       "description": "Select only creative fields with these IDs.",
26580	//       "format": "int64",
26581	//       "location": "query",
26582	//       "repeated": true,
26583	//       "type": "string"
26584	//     },
26585	//     "maxResults": {
26586	//       "default": "1000",
26587	//       "description": "Maximum number of results to return.",
26588	//       "format": "int32",
26589	//       "location": "query",
26590	//       "maximum": "1000",
26591	//       "minimum": "0",
26592	//       "type": "integer"
26593	//     },
26594	//     "pageToken": {
26595	//       "description": "Value of the nextPageToken from the previous result page.",
26596	//       "location": "query",
26597	//       "type": "string"
26598	//     },
26599	//     "profileId": {
26600	//       "description": "User profile ID associated with this request.",
26601	//       "format": "int64",
26602	//       "location": "path",
26603	//       "required": true,
26604	//       "type": "string"
26605	//     },
26606	//     "searchString": {
26607	//       "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\".",
26608	//       "location": "query",
26609	//       "type": "string"
26610	//     },
26611	//     "sortField": {
26612	//       "default": "ID",
26613	//       "description": "Field by which to sort the list.",
26614	//       "enum": [
26615	//         "ID",
26616	//         "NAME"
26617	//       ],
26618	//       "enumDescriptions": [
26619	//         "",
26620	//         ""
26621	//       ],
26622	//       "location": "query",
26623	//       "type": "string"
26624	//     },
26625	//     "sortOrder": {
26626	//       "default": "ASCENDING",
26627	//       "description": "Order of sorted results.",
26628	//       "enum": [
26629	//         "ASCENDING",
26630	//         "DESCENDING"
26631	//       ],
26632	//       "enumDescriptions": [
26633	//         "",
26634	//         ""
26635	//       ],
26636	//       "location": "query",
26637	//       "type": "string"
26638	//     }
26639	//   },
26640	//   "path": "userprofiles/{profileId}/creativeFields",
26641	//   "response": {
26642	//     "$ref": "CreativeFieldsListResponse"
26643	//   },
26644	//   "scopes": [
26645	//     "https://www.googleapis.com/auth/dfatrafficking"
26646	//   ]
26647	// }
26648
26649}
26650
26651// Pages invokes f for each page of results.
26652// A non-nil error returned from f will halt the iteration.
26653// The provided context supersedes any context provided to the Context method.
26654func (c *CreativeFieldsListCall) Pages(ctx context.Context, f func(*CreativeFieldsListResponse) error) error {
26655	c.ctx_ = ctx
26656	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26657	for {
26658		x, err := c.Do()
26659		if err != nil {
26660			return err
26661		}
26662		if err := f(x); err != nil {
26663			return err
26664		}
26665		if x.NextPageToken == "" {
26666			return nil
26667		}
26668		c.PageToken(x.NextPageToken)
26669	}
26670}
26671
26672// method id "dfareporting.creativeFields.patch":
26673
26674type CreativeFieldsPatchCall struct {
26675	s             *Service
26676	profileId     int64
26677	creativefield *CreativeField
26678	urlParams_    gensupport.URLParams
26679	ctx_          context.Context
26680	header_       http.Header
26681}
26682
26683// Patch: Updates an existing creative field. This method supports patch
26684// semantics.
26685func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
26686	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26687	c.profileId = profileId
26688	c.urlParams_.Set("id", fmt.Sprint(id))
26689	c.creativefield = creativefield
26690	return c
26691}
26692
26693// Fields allows partial responses to be retrieved. See
26694// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26695// for more information.
26696func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
26697	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26698	return c
26699}
26700
26701// Context sets the context to be used in this call's Do method. Any
26702// pending HTTP request will be aborted if the provided context is
26703// canceled.
26704func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
26705	c.ctx_ = ctx
26706	return c
26707}
26708
26709// Header returns an http.Header that can be modified by the caller to
26710// add HTTP headers to the request.
26711func (c *CreativeFieldsPatchCall) Header() http.Header {
26712	if c.header_ == nil {
26713		c.header_ = make(http.Header)
26714	}
26715	return c.header_
26716}
26717
26718func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
26719	reqHeaders := make(http.Header)
26720	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
26721	for k, v := range c.header_ {
26722		reqHeaders[k] = v
26723	}
26724	reqHeaders.Set("User-Agent", c.s.userAgent())
26725	var body io.Reader = nil
26726	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
26727	if err != nil {
26728		return nil, err
26729	}
26730	reqHeaders.Set("Content-Type", "application/json")
26731	c.urlParams_.Set("alt", alt)
26732	c.urlParams_.Set("prettyPrint", "false")
26733	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26734	urls += "?" + c.urlParams_.Encode()
26735	req, err := http.NewRequest("PATCH", urls, body)
26736	if err != nil {
26737		return nil, err
26738	}
26739	req.Header = reqHeaders
26740	googleapi.Expand(req.URL, map[string]string{
26741		"profileId": strconv.FormatInt(c.profileId, 10),
26742	})
26743	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26744}
26745
26746// Do executes the "dfareporting.creativeFields.patch" call.
26747// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26748// status code is an error. Response headers are in either
26749// *CreativeField.ServerResponse.Header or (if a response was returned
26750// at all) in error.(*googleapi.Error).Header. Use
26751// googleapi.IsNotModified to check whether the returned error was
26752// because http.StatusNotModified was returned.
26753func (c *CreativeFieldsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26754	gensupport.SetOptions(c.urlParams_, opts...)
26755	res, err := c.doRequest("json")
26756	if res != nil && res.StatusCode == http.StatusNotModified {
26757		if res.Body != nil {
26758			res.Body.Close()
26759		}
26760		return nil, &googleapi.Error{
26761			Code:   res.StatusCode,
26762			Header: res.Header,
26763		}
26764	}
26765	if err != nil {
26766		return nil, err
26767	}
26768	defer googleapi.CloseBody(res)
26769	if err := googleapi.CheckResponse(res); err != nil {
26770		return nil, err
26771	}
26772	ret := &CreativeField{
26773		ServerResponse: googleapi.ServerResponse{
26774			Header:         res.Header,
26775			HTTPStatusCode: res.StatusCode,
26776		},
26777	}
26778	target := &ret
26779	if err := gensupport.DecodeResponse(target, res); err != nil {
26780		return nil, err
26781	}
26782	return ret, nil
26783	// {
26784	//   "description": "Updates an existing creative field. This method supports patch semantics.",
26785	//   "flatPath": "userprofiles/{profileId}/creativeFields",
26786	//   "httpMethod": "PATCH",
26787	//   "id": "dfareporting.creativeFields.patch",
26788	//   "parameterOrder": [
26789	//     "profileId",
26790	//     "id"
26791	//   ],
26792	//   "parameters": {
26793	//     "id": {
26794	//       "description": "CreativeField ID.",
26795	//       "format": "int64",
26796	//       "location": "query",
26797	//       "required": true,
26798	//       "type": "string"
26799	//     },
26800	//     "profileId": {
26801	//       "description": "User profile ID associated with this request.",
26802	//       "format": "int64",
26803	//       "location": "path",
26804	//       "required": true,
26805	//       "type": "string"
26806	//     }
26807	//   },
26808	//   "path": "userprofiles/{profileId}/creativeFields",
26809	//   "request": {
26810	//     "$ref": "CreativeField"
26811	//   },
26812	//   "response": {
26813	//     "$ref": "CreativeField"
26814	//   },
26815	//   "scopes": [
26816	//     "https://www.googleapis.com/auth/dfatrafficking"
26817	//   ]
26818	// }
26819
26820}
26821
26822// method id "dfareporting.creativeFields.update":
26823
26824type CreativeFieldsUpdateCall struct {
26825	s             *Service
26826	profileId     int64
26827	creativefield *CreativeField
26828	urlParams_    gensupport.URLParams
26829	ctx_          context.Context
26830	header_       http.Header
26831}
26832
26833// Update: Updates an existing creative field.
26834func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
26835	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26836	c.profileId = profileId
26837	c.creativefield = creativefield
26838	return c
26839}
26840
26841// Fields allows partial responses to be retrieved. See
26842// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26843// for more information.
26844func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
26845	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26846	return c
26847}
26848
26849// Context sets the context to be used in this call's Do method. Any
26850// pending HTTP request will be aborted if the provided context is
26851// canceled.
26852func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
26853	c.ctx_ = ctx
26854	return c
26855}
26856
26857// Header returns an http.Header that can be modified by the caller to
26858// add HTTP headers to the request.
26859func (c *CreativeFieldsUpdateCall) Header() http.Header {
26860	if c.header_ == nil {
26861		c.header_ = make(http.Header)
26862	}
26863	return c.header_
26864}
26865
26866func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
26867	reqHeaders := make(http.Header)
26868	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
26869	for k, v := range c.header_ {
26870		reqHeaders[k] = v
26871	}
26872	reqHeaders.Set("User-Agent", c.s.userAgent())
26873	var body io.Reader = nil
26874	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
26875	if err != nil {
26876		return nil, err
26877	}
26878	reqHeaders.Set("Content-Type", "application/json")
26879	c.urlParams_.Set("alt", alt)
26880	c.urlParams_.Set("prettyPrint", "false")
26881	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26882	urls += "?" + c.urlParams_.Encode()
26883	req, err := http.NewRequest("PUT", urls, body)
26884	if err != nil {
26885		return nil, err
26886	}
26887	req.Header = reqHeaders
26888	googleapi.Expand(req.URL, map[string]string{
26889		"profileId": strconv.FormatInt(c.profileId, 10),
26890	})
26891	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26892}
26893
26894// Do executes the "dfareporting.creativeFields.update" call.
26895// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26896// status code is an error. Response headers are in either
26897// *CreativeField.ServerResponse.Header or (if a response was returned
26898// at all) in error.(*googleapi.Error).Header. Use
26899// googleapi.IsNotModified to check whether the returned error was
26900// because http.StatusNotModified was returned.
26901func (c *CreativeFieldsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26902	gensupport.SetOptions(c.urlParams_, opts...)
26903	res, err := c.doRequest("json")
26904	if res != nil && res.StatusCode == http.StatusNotModified {
26905		if res.Body != nil {
26906			res.Body.Close()
26907		}
26908		return nil, &googleapi.Error{
26909			Code:   res.StatusCode,
26910			Header: res.Header,
26911		}
26912	}
26913	if err != nil {
26914		return nil, err
26915	}
26916	defer googleapi.CloseBody(res)
26917	if err := googleapi.CheckResponse(res); err != nil {
26918		return nil, err
26919	}
26920	ret := &CreativeField{
26921		ServerResponse: googleapi.ServerResponse{
26922			Header:         res.Header,
26923			HTTPStatusCode: res.StatusCode,
26924		},
26925	}
26926	target := &ret
26927	if err := gensupport.DecodeResponse(target, res); err != nil {
26928		return nil, err
26929	}
26930	return ret, nil
26931	// {
26932	//   "description": "Updates an existing creative field.",
26933	//   "flatPath": "userprofiles/{profileId}/creativeFields",
26934	//   "httpMethod": "PUT",
26935	//   "id": "dfareporting.creativeFields.update",
26936	//   "parameterOrder": [
26937	//     "profileId"
26938	//   ],
26939	//   "parameters": {
26940	//     "profileId": {
26941	//       "description": "User profile ID associated with this request.",
26942	//       "format": "int64",
26943	//       "location": "path",
26944	//       "required": true,
26945	//       "type": "string"
26946	//     }
26947	//   },
26948	//   "path": "userprofiles/{profileId}/creativeFields",
26949	//   "request": {
26950	//     "$ref": "CreativeField"
26951	//   },
26952	//   "response": {
26953	//     "$ref": "CreativeField"
26954	//   },
26955	//   "scopes": [
26956	//     "https://www.googleapis.com/auth/dfatrafficking"
26957	//   ]
26958	// }
26959
26960}
26961
26962// method id "dfareporting.creativeGroups.get":
26963
26964type CreativeGroupsGetCall struct {
26965	s            *Service
26966	profileId    int64
26967	id           int64
26968	urlParams_   gensupport.URLParams
26969	ifNoneMatch_ string
26970	ctx_         context.Context
26971	header_      http.Header
26972}
26973
26974// Get: Gets one creative group by ID.
26975func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
26976	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26977	c.profileId = profileId
26978	c.id = id
26979	return c
26980}
26981
26982// Fields allows partial responses to be retrieved. See
26983// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26984// for more information.
26985func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
26986	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26987	return c
26988}
26989
26990// IfNoneMatch sets the optional parameter which makes the operation
26991// fail if the object's ETag matches the given value. This is useful for
26992// getting updates only after the object has changed since the last
26993// request. Use googleapi.IsNotModified to check whether the response
26994// error from Do is the result of In-None-Match.
26995func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
26996	c.ifNoneMatch_ = entityTag
26997	return c
26998}
26999
27000// Context sets the context to be used in this call's Do method. Any
27001// pending HTTP request will be aborted if the provided context is
27002// canceled.
27003func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
27004	c.ctx_ = ctx
27005	return c
27006}
27007
27008// Header returns an http.Header that can be modified by the caller to
27009// add HTTP headers to the request.
27010func (c *CreativeGroupsGetCall) Header() http.Header {
27011	if c.header_ == nil {
27012		c.header_ = make(http.Header)
27013	}
27014	return c.header_
27015}
27016
27017func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
27018	reqHeaders := make(http.Header)
27019	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
27020	for k, v := range c.header_ {
27021		reqHeaders[k] = v
27022	}
27023	reqHeaders.Set("User-Agent", c.s.userAgent())
27024	if c.ifNoneMatch_ != "" {
27025		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27026	}
27027	var body io.Reader = nil
27028	c.urlParams_.Set("alt", alt)
27029	c.urlParams_.Set("prettyPrint", "false")
27030	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
27031	urls += "?" + c.urlParams_.Encode()
27032	req, err := http.NewRequest("GET", urls, body)
27033	if err != nil {
27034		return nil, err
27035	}
27036	req.Header = reqHeaders
27037	googleapi.Expand(req.URL, map[string]string{
27038		"profileId": strconv.FormatInt(c.profileId, 10),
27039		"id":        strconv.FormatInt(c.id, 10),
27040	})
27041	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27042}
27043
27044// Do executes the "dfareporting.creativeGroups.get" call.
27045// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27046// status code is an error. Response headers are in either
27047// *CreativeGroup.ServerResponse.Header or (if a response was returned
27048// at all) in error.(*googleapi.Error).Header. Use
27049// googleapi.IsNotModified to check whether the returned error was
27050// because http.StatusNotModified was returned.
27051func (c *CreativeGroupsGetCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27052	gensupport.SetOptions(c.urlParams_, opts...)
27053	res, err := c.doRequest("json")
27054	if res != nil && res.StatusCode == http.StatusNotModified {
27055		if res.Body != nil {
27056			res.Body.Close()
27057		}
27058		return nil, &googleapi.Error{
27059			Code:   res.StatusCode,
27060			Header: res.Header,
27061		}
27062	}
27063	if err != nil {
27064		return nil, err
27065	}
27066	defer googleapi.CloseBody(res)
27067	if err := googleapi.CheckResponse(res); err != nil {
27068		return nil, err
27069	}
27070	ret := &CreativeGroup{
27071		ServerResponse: googleapi.ServerResponse{
27072			Header:         res.Header,
27073			HTTPStatusCode: res.StatusCode,
27074		},
27075	}
27076	target := &ret
27077	if err := gensupport.DecodeResponse(target, res); err != nil {
27078		return nil, err
27079	}
27080	return ret, nil
27081	// {
27082	//   "description": "Gets one creative group by ID.",
27083	//   "flatPath": "userprofiles/{profileId}/creativeGroups/{id}",
27084	//   "httpMethod": "GET",
27085	//   "id": "dfareporting.creativeGroups.get",
27086	//   "parameterOrder": [
27087	//     "profileId",
27088	//     "id"
27089	//   ],
27090	//   "parameters": {
27091	//     "id": {
27092	//       "description": "Creative group ID.",
27093	//       "format": "int64",
27094	//       "location": "path",
27095	//       "required": true,
27096	//       "type": "string"
27097	//     },
27098	//     "profileId": {
27099	//       "description": "User profile ID associated with this request.",
27100	//       "format": "int64",
27101	//       "location": "path",
27102	//       "required": true,
27103	//       "type": "string"
27104	//     }
27105	//   },
27106	//   "path": "userprofiles/{profileId}/creativeGroups/{id}",
27107	//   "response": {
27108	//     "$ref": "CreativeGroup"
27109	//   },
27110	//   "scopes": [
27111	//     "https://www.googleapis.com/auth/dfatrafficking"
27112	//   ]
27113	// }
27114
27115}
27116
27117// method id "dfareporting.creativeGroups.insert":
27118
27119type CreativeGroupsInsertCall struct {
27120	s             *Service
27121	profileId     int64
27122	creativegroup *CreativeGroup
27123	urlParams_    gensupport.URLParams
27124	ctx_          context.Context
27125	header_       http.Header
27126}
27127
27128// Insert: Inserts a new creative group.
27129func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
27130	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27131	c.profileId = profileId
27132	c.creativegroup = creativegroup
27133	return c
27134}
27135
27136// Fields allows partial responses to be retrieved. See
27137// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27138// for more information.
27139func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
27140	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27141	return c
27142}
27143
27144// Context sets the context to be used in this call's Do method. Any
27145// pending HTTP request will be aborted if the provided context is
27146// canceled.
27147func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
27148	c.ctx_ = ctx
27149	return c
27150}
27151
27152// Header returns an http.Header that can be modified by the caller to
27153// add HTTP headers to the request.
27154func (c *CreativeGroupsInsertCall) Header() http.Header {
27155	if c.header_ == nil {
27156		c.header_ = make(http.Header)
27157	}
27158	return c.header_
27159}
27160
27161func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
27162	reqHeaders := make(http.Header)
27163	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
27164	for k, v := range c.header_ {
27165		reqHeaders[k] = v
27166	}
27167	reqHeaders.Set("User-Agent", c.s.userAgent())
27168	var body io.Reader = nil
27169	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27170	if err != nil {
27171		return nil, err
27172	}
27173	reqHeaders.Set("Content-Type", "application/json")
27174	c.urlParams_.Set("alt", alt)
27175	c.urlParams_.Set("prettyPrint", "false")
27176	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27177	urls += "?" + c.urlParams_.Encode()
27178	req, err := http.NewRequest("POST", urls, body)
27179	if err != nil {
27180		return nil, err
27181	}
27182	req.Header = reqHeaders
27183	googleapi.Expand(req.URL, map[string]string{
27184		"profileId": strconv.FormatInt(c.profileId, 10),
27185	})
27186	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27187}
27188
27189// Do executes the "dfareporting.creativeGroups.insert" call.
27190// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27191// status code is an error. Response headers are in either
27192// *CreativeGroup.ServerResponse.Header or (if a response was returned
27193// at all) in error.(*googleapi.Error).Header. Use
27194// googleapi.IsNotModified to check whether the returned error was
27195// because http.StatusNotModified was returned.
27196func (c *CreativeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27197	gensupport.SetOptions(c.urlParams_, opts...)
27198	res, err := c.doRequest("json")
27199	if res != nil && res.StatusCode == http.StatusNotModified {
27200		if res.Body != nil {
27201			res.Body.Close()
27202		}
27203		return nil, &googleapi.Error{
27204			Code:   res.StatusCode,
27205			Header: res.Header,
27206		}
27207	}
27208	if err != nil {
27209		return nil, err
27210	}
27211	defer googleapi.CloseBody(res)
27212	if err := googleapi.CheckResponse(res); err != nil {
27213		return nil, err
27214	}
27215	ret := &CreativeGroup{
27216		ServerResponse: googleapi.ServerResponse{
27217			Header:         res.Header,
27218			HTTPStatusCode: res.StatusCode,
27219		},
27220	}
27221	target := &ret
27222	if err := gensupport.DecodeResponse(target, res); err != nil {
27223		return nil, err
27224	}
27225	return ret, nil
27226	// {
27227	//   "description": "Inserts a new creative group.",
27228	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
27229	//   "httpMethod": "POST",
27230	//   "id": "dfareporting.creativeGroups.insert",
27231	//   "parameterOrder": [
27232	//     "profileId"
27233	//   ],
27234	//   "parameters": {
27235	//     "profileId": {
27236	//       "description": "User profile ID associated with this request.",
27237	//       "format": "int64",
27238	//       "location": "path",
27239	//       "required": true,
27240	//       "type": "string"
27241	//     }
27242	//   },
27243	//   "path": "userprofiles/{profileId}/creativeGroups",
27244	//   "request": {
27245	//     "$ref": "CreativeGroup"
27246	//   },
27247	//   "response": {
27248	//     "$ref": "CreativeGroup"
27249	//   },
27250	//   "scopes": [
27251	//     "https://www.googleapis.com/auth/dfatrafficking"
27252	//   ]
27253	// }
27254
27255}
27256
27257// method id "dfareporting.creativeGroups.list":
27258
27259type CreativeGroupsListCall struct {
27260	s            *Service
27261	profileId    int64
27262	urlParams_   gensupport.URLParams
27263	ifNoneMatch_ string
27264	ctx_         context.Context
27265	header_      http.Header
27266}
27267
27268// List: Retrieves a list of creative groups, possibly filtered. This
27269// method supports paging.
27270func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
27271	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27272	c.profileId = profileId
27273	return c
27274}
27275
27276// AdvertiserIds sets the optional parameter "advertiserIds": Select
27277// only creative groups that belong to these advertisers.
27278func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeGroupsListCall {
27279	var advertiserIds_ []string
27280	for _, v := range advertiserIds {
27281		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
27282	}
27283	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
27284	return c
27285}
27286
27287// GroupNumber sets the optional parameter "groupNumber": Select only
27288// creative groups that belong to this subgroup.
27289func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
27290	c.urlParams_.Set("groupNumber", fmt.Sprint(groupNumber))
27291	return c
27292}
27293
27294// Ids sets the optional parameter "ids": Select only creative groups
27295// with these IDs.
27296func (c *CreativeGroupsListCall) Ids(ids ...int64) *CreativeGroupsListCall {
27297	var ids_ []string
27298	for _, v := range ids {
27299		ids_ = append(ids_, fmt.Sprint(v))
27300	}
27301	c.urlParams_.SetMulti("ids", ids_)
27302	return c
27303}
27304
27305// MaxResults sets the optional parameter "maxResults": Maximum number
27306// of results to return.
27307func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
27308	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
27309	return c
27310}
27311
27312// PageToken sets the optional parameter "pageToken": Value of the
27313// nextPageToken from the previous result page.
27314func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
27315	c.urlParams_.Set("pageToken", pageToken)
27316	return c
27317}
27318
27319// SearchString sets the optional parameter "searchString": Allows
27320// searching for creative groups by name or ID. Wildcards (*) are
27321// allowed. For example, "creativegroup*2015" will return creative
27322// groups with names like "creativegroup June 2015", "creativegroup
27323// April 2015", or simply "creativegroup 2015". Most of the searches
27324// also add wild-cards implicitly at the start and the end of the search
27325// string. For example, a search string of "creativegroup" will match
27326// creative groups with the name "my creativegroup", "creativegroup
27327// 2015", or simply "creativegroup".
27328func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
27329	c.urlParams_.Set("searchString", searchString)
27330	return c
27331}
27332
27333// SortField sets the optional parameter "sortField": Field by which to
27334// sort the list.
27335//
27336// Possible values:
27337//   "ID" (default)
27338//   "NAME"
27339func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
27340	c.urlParams_.Set("sortField", sortField)
27341	return c
27342}
27343
27344// SortOrder sets the optional parameter "sortOrder": Order of sorted
27345// results.
27346//
27347// Possible values:
27348//   "ASCENDING" (default)
27349//   "DESCENDING"
27350func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
27351	c.urlParams_.Set("sortOrder", sortOrder)
27352	return c
27353}
27354
27355// Fields allows partial responses to be retrieved. See
27356// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27357// for more information.
27358func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
27359	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27360	return c
27361}
27362
27363// IfNoneMatch sets the optional parameter which makes the operation
27364// fail if the object's ETag matches the given value. This is useful for
27365// getting updates only after the object has changed since the last
27366// request. Use googleapi.IsNotModified to check whether the response
27367// error from Do is the result of In-None-Match.
27368func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
27369	c.ifNoneMatch_ = entityTag
27370	return c
27371}
27372
27373// Context sets the context to be used in this call's Do method. Any
27374// pending HTTP request will be aborted if the provided context is
27375// canceled.
27376func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
27377	c.ctx_ = ctx
27378	return c
27379}
27380
27381// Header returns an http.Header that can be modified by the caller to
27382// add HTTP headers to the request.
27383func (c *CreativeGroupsListCall) Header() http.Header {
27384	if c.header_ == nil {
27385		c.header_ = make(http.Header)
27386	}
27387	return c.header_
27388}
27389
27390func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
27391	reqHeaders := make(http.Header)
27392	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
27393	for k, v := range c.header_ {
27394		reqHeaders[k] = v
27395	}
27396	reqHeaders.Set("User-Agent", c.s.userAgent())
27397	if c.ifNoneMatch_ != "" {
27398		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27399	}
27400	var body io.Reader = nil
27401	c.urlParams_.Set("alt", alt)
27402	c.urlParams_.Set("prettyPrint", "false")
27403	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27404	urls += "?" + c.urlParams_.Encode()
27405	req, err := http.NewRequest("GET", urls, body)
27406	if err != nil {
27407		return nil, err
27408	}
27409	req.Header = reqHeaders
27410	googleapi.Expand(req.URL, map[string]string{
27411		"profileId": strconv.FormatInt(c.profileId, 10),
27412	})
27413	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27414}
27415
27416// Do executes the "dfareporting.creativeGroups.list" call.
27417// Exactly one of *CreativeGroupsListResponse or error will be non-nil.
27418// Any non-2xx status code is an error. Response headers are in either
27419// *CreativeGroupsListResponse.ServerResponse.Header or (if a response
27420// was returned at all) in error.(*googleapi.Error).Header. Use
27421// googleapi.IsNotModified to check whether the returned error was
27422// because http.StatusNotModified was returned.
27423func (c *CreativeGroupsListCall) Do(opts ...googleapi.CallOption) (*CreativeGroupsListResponse, error) {
27424	gensupport.SetOptions(c.urlParams_, opts...)
27425	res, err := c.doRequest("json")
27426	if res != nil && res.StatusCode == http.StatusNotModified {
27427		if res.Body != nil {
27428			res.Body.Close()
27429		}
27430		return nil, &googleapi.Error{
27431			Code:   res.StatusCode,
27432			Header: res.Header,
27433		}
27434	}
27435	if err != nil {
27436		return nil, err
27437	}
27438	defer googleapi.CloseBody(res)
27439	if err := googleapi.CheckResponse(res); err != nil {
27440		return nil, err
27441	}
27442	ret := &CreativeGroupsListResponse{
27443		ServerResponse: googleapi.ServerResponse{
27444			Header:         res.Header,
27445			HTTPStatusCode: res.StatusCode,
27446		},
27447	}
27448	target := &ret
27449	if err := gensupport.DecodeResponse(target, res); err != nil {
27450		return nil, err
27451	}
27452	return ret, nil
27453	// {
27454	//   "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
27455	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
27456	//   "httpMethod": "GET",
27457	//   "id": "dfareporting.creativeGroups.list",
27458	//   "parameterOrder": [
27459	//     "profileId"
27460	//   ],
27461	//   "parameters": {
27462	//     "advertiserIds": {
27463	//       "description": "Select only creative groups that belong to these advertisers.",
27464	//       "format": "int64",
27465	//       "location": "query",
27466	//       "repeated": true,
27467	//       "type": "string"
27468	//     },
27469	//     "groupNumber": {
27470	//       "description": "Select only creative groups that belong to this subgroup.",
27471	//       "format": "int32",
27472	//       "location": "query",
27473	//       "maximum": "2",
27474	//       "minimum": "1",
27475	//       "type": "integer"
27476	//     },
27477	//     "ids": {
27478	//       "description": "Select only creative groups with these IDs.",
27479	//       "format": "int64",
27480	//       "location": "query",
27481	//       "repeated": true,
27482	//       "type": "string"
27483	//     },
27484	//     "maxResults": {
27485	//       "default": "1000",
27486	//       "description": "Maximum number of results to return.",
27487	//       "format": "int32",
27488	//       "location": "query",
27489	//       "maximum": "1000",
27490	//       "minimum": "0",
27491	//       "type": "integer"
27492	//     },
27493	//     "pageToken": {
27494	//       "description": "Value of the nextPageToken from the previous result page.",
27495	//       "location": "query",
27496	//       "type": "string"
27497	//     },
27498	//     "profileId": {
27499	//       "description": "User profile ID associated with this request.",
27500	//       "format": "int64",
27501	//       "location": "path",
27502	//       "required": true,
27503	//       "type": "string"
27504	//     },
27505	//     "searchString": {
27506	//       "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\".",
27507	//       "location": "query",
27508	//       "type": "string"
27509	//     },
27510	//     "sortField": {
27511	//       "default": "ID",
27512	//       "description": "Field by which to sort the list.",
27513	//       "enum": [
27514	//         "ID",
27515	//         "NAME"
27516	//       ],
27517	//       "enumDescriptions": [
27518	//         "",
27519	//         ""
27520	//       ],
27521	//       "location": "query",
27522	//       "type": "string"
27523	//     },
27524	//     "sortOrder": {
27525	//       "default": "ASCENDING",
27526	//       "description": "Order of sorted results.",
27527	//       "enum": [
27528	//         "ASCENDING",
27529	//         "DESCENDING"
27530	//       ],
27531	//       "enumDescriptions": [
27532	//         "",
27533	//         ""
27534	//       ],
27535	//       "location": "query",
27536	//       "type": "string"
27537	//     }
27538	//   },
27539	//   "path": "userprofiles/{profileId}/creativeGroups",
27540	//   "response": {
27541	//     "$ref": "CreativeGroupsListResponse"
27542	//   },
27543	//   "scopes": [
27544	//     "https://www.googleapis.com/auth/dfatrafficking"
27545	//   ]
27546	// }
27547
27548}
27549
27550// Pages invokes f for each page of results.
27551// A non-nil error returned from f will halt the iteration.
27552// The provided context supersedes any context provided to the Context method.
27553func (c *CreativeGroupsListCall) Pages(ctx context.Context, f func(*CreativeGroupsListResponse) error) error {
27554	c.ctx_ = ctx
27555	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27556	for {
27557		x, err := c.Do()
27558		if err != nil {
27559			return err
27560		}
27561		if err := f(x); err != nil {
27562			return err
27563		}
27564		if x.NextPageToken == "" {
27565			return nil
27566		}
27567		c.PageToken(x.NextPageToken)
27568	}
27569}
27570
27571// method id "dfareporting.creativeGroups.patch":
27572
27573type CreativeGroupsPatchCall struct {
27574	s             *Service
27575	profileId     int64
27576	creativegroup *CreativeGroup
27577	urlParams_    gensupport.URLParams
27578	ctx_          context.Context
27579	header_       http.Header
27580}
27581
27582// Patch: Updates an existing creative group. This method supports patch
27583// semantics.
27584func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
27585	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27586	c.profileId = profileId
27587	c.urlParams_.Set("id", fmt.Sprint(id))
27588	c.creativegroup = creativegroup
27589	return c
27590}
27591
27592// Fields allows partial responses to be retrieved. See
27593// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27594// for more information.
27595func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
27596	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27597	return c
27598}
27599
27600// Context sets the context to be used in this call's Do method. Any
27601// pending HTTP request will be aborted if the provided context is
27602// canceled.
27603func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
27604	c.ctx_ = ctx
27605	return c
27606}
27607
27608// Header returns an http.Header that can be modified by the caller to
27609// add HTTP headers to the request.
27610func (c *CreativeGroupsPatchCall) Header() http.Header {
27611	if c.header_ == nil {
27612		c.header_ = make(http.Header)
27613	}
27614	return c.header_
27615}
27616
27617func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
27618	reqHeaders := make(http.Header)
27619	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
27620	for k, v := range c.header_ {
27621		reqHeaders[k] = v
27622	}
27623	reqHeaders.Set("User-Agent", c.s.userAgent())
27624	var body io.Reader = nil
27625	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27626	if err != nil {
27627		return nil, err
27628	}
27629	reqHeaders.Set("Content-Type", "application/json")
27630	c.urlParams_.Set("alt", alt)
27631	c.urlParams_.Set("prettyPrint", "false")
27632	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27633	urls += "?" + c.urlParams_.Encode()
27634	req, err := http.NewRequest("PATCH", urls, body)
27635	if err != nil {
27636		return nil, err
27637	}
27638	req.Header = reqHeaders
27639	googleapi.Expand(req.URL, map[string]string{
27640		"profileId": strconv.FormatInt(c.profileId, 10),
27641	})
27642	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27643}
27644
27645// Do executes the "dfareporting.creativeGroups.patch" call.
27646// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27647// status code is an error. Response headers are in either
27648// *CreativeGroup.ServerResponse.Header or (if a response was returned
27649// at all) in error.(*googleapi.Error).Header. Use
27650// googleapi.IsNotModified to check whether the returned error was
27651// because http.StatusNotModified was returned.
27652func (c *CreativeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27653	gensupport.SetOptions(c.urlParams_, opts...)
27654	res, err := c.doRequest("json")
27655	if res != nil && res.StatusCode == http.StatusNotModified {
27656		if res.Body != nil {
27657			res.Body.Close()
27658		}
27659		return nil, &googleapi.Error{
27660			Code:   res.StatusCode,
27661			Header: res.Header,
27662		}
27663	}
27664	if err != nil {
27665		return nil, err
27666	}
27667	defer googleapi.CloseBody(res)
27668	if err := googleapi.CheckResponse(res); err != nil {
27669		return nil, err
27670	}
27671	ret := &CreativeGroup{
27672		ServerResponse: googleapi.ServerResponse{
27673			Header:         res.Header,
27674			HTTPStatusCode: res.StatusCode,
27675		},
27676	}
27677	target := &ret
27678	if err := gensupport.DecodeResponse(target, res); err != nil {
27679		return nil, err
27680	}
27681	return ret, nil
27682	// {
27683	//   "description": "Updates an existing creative group. This method supports patch semantics.",
27684	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
27685	//   "httpMethod": "PATCH",
27686	//   "id": "dfareporting.creativeGroups.patch",
27687	//   "parameterOrder": [
27688	//     "profileId",
27689	//     "id"
27690	//   ],
27691	//   "parameters": {
27692	//     "id": {
27693	//       "description": "CreativeGroup ID.",
27694	//       "format": "int64",
27695	//       "location": "query",
27696	//       "required": true,
27697	//       "type": "string"
27698	//     },
27699	//     "profileId": {
27700	//       "description": "User profile ID associated with this request.",
27701	//       "format": "int64",
27702	//       "location": "path",
27703	//       "required": true,
27704	//       "type": "string"
27705	//     }
27706	//   },
27707	//   "path": "userprofiles/{profileId}/creativeGroups",
27708	//   "request": {
27709	//     "$ref": "CreativeGroup"
27710	//   },
27711	//   "response": {
27712	//     "$ref": "CreativeGroup"
27713	//   },
27714	//   "scopes": [
27715	//     "https://www.googleapis.com/auth/dfatrafficking"
27716	//   ]
27717	// }
27718
27719}
27720
27721// method id "dfareporting.creativeGroups.update":
27722
27723type CreativeGroupsUpdateCall struct {
27724	s             *Service
27725	profileId     int64
27726	creativegroup *CreativeGroup
27727	urlParams_    gensupport.URLParams
27728	ctx_          context.Context
27729	header_       http.Header
27730}
27731
27732// Update: Updates an existing creative group.
27733func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
27734	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27735	c.profileId = profileId
27736	c.creativegroup = creativegroup
27737	return c
27738}
27739
27740// Fields allows partial responses to be retrieved. See
27741// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27742// for more information.
27743func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
27744	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27745	return c
27746}
27747
27748// Context sets the context to be used in this call's Do method. Any
27749// pending HTTP request will be aborted if the provided context is
27750// canceled.
27751func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
27752	c.ctx_ = ctx
27753	return c
27754}
27755
27756// Header returns an http.Header that can be modified by the caller to
27757// add HTTP headers to the request.
27758func (c *CreativeGroupsUpdateCall) Header() http.Header {
27759	if c.header_ == nil {
27760		c.header_ = make(http.Header)
27761	}
27762	return c.header_
27763}
27764
27765func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
27766	reqHeaders := make(http.Header)
27767	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
27768	for k, v := range c.header_ {
27769		reqHeaders[k] = v
27770	}
27771	reqHeaders.Set("User-Agent", c.s.userAgent())
27772	var body io.Reader = nil
27773	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27774	if err != nil {
27775		return nil, err
27776	}
27777	reqHeaders.Set("Content-Type", "application/json")
27778	c.urlParams_.Set("alt", alt)
27779	c.urlParams_.Set("prettyPrint", "false")
27780	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27781	urls += "?" + c.urlParams_.Encode()
27782	req, err := http.NewRequest("PUT", urls, body)
27783	if err != nil {
27784		return nil, err
27785	}
27786	req.Header = reqHeaders
27787	googleapi.Expand(req.URL, map[string]string{
27788		"profileId": strconv.FormatInt(c.profileId, 10),
27789	})
27790	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27791}
27792
27793// Do executes the "dfareporting.creativeGroups.update" call.
27794// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27795// status code is an error. Response headers are in either
27796// *CreativeGroup.ServerResponse.Header or (if a response was returned
27797// at all) in error.(*googleapi.Error).Header. Use
27798// googleapi.IsNotModified to check whether the returned error was
27799// because http.StatusNotModified was returned.
27800func (c *CreativeGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27801	gensupport.SetOptions(c.urlParams_, opts...)
27802	res, err := c.doRequest("json")
27803	if res != nil && res.StatusCode == http.StatusNotModified {
27804		if res.Body != nil {
27805			res.Body.Close()
27806		}
27807		return nil, &googleapi.Error{
27808			Code:   res.StatusCode,
27809			Header: res.Header,
27810		}
27811	}
27812	if err != nil {
27813		return nil, err
27814	}
27815	defer googleapi.CloseBody(res)
27816	if err := googleapi.CheckResponse(res); err != nil {
27817		return nil, err
27818	}
27819	ret := &CreativeGroup{
27820		ServerResponse: googleapi.ServerResponse{
27821			Header:         res.Header,
27822			HTTPStatusCode: res.StatusCode,
27823		},
27824	}
27825	target := &ret
27826	if err := gensupport.DecodeResponse(target, res); err != nil {
27827		return nil, err
27828	}
27829	return ret, nil
27830	// {
27831	//   "description": "Updates an existing creative group.",
27832	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
27833	//   "httpMethod": "PUT",
27834	//   "id": "dfareporting.creativeGroups.update",
27835	//   "parameterOrder": [
27836	//     "profileId"
27837	//   ],
27838	//   "parameters": {
27839	//     "profileId": {
27840	//       "description": "User profile ID associated with this request.",
27841	//       "format": "int64",
27842	//       "location": "path",
27843	//       "required": true,
27844	//       "type": "string"
27845	//     }
27846	//   },
27847	//   "path": "userprofiles/{profileId}/creativeGroups",
27848	//   "request": {
27849	//     "$ref": "CreativeGroup"
27850	//   },
27851	//   "response": {
27852	//     "$ref": "CreativeGroup"
27853	//   },
27854	//   "scopes": [
27855	//     "https://www.googleapis.com/auth/dfatrafficking"
27856	//   ]
27857	// }
27858
27859}
27860
27861// method id "dfareporting.creatives.get":
27862
27863type CreativesGetCall struct {
27864	s            *Service
27865	profileId    int64
27866	id           int64
27867	urlParams_   gensupport.URLParams
27868	ifNoneMatch_ string
27869	ctx_         context.Context
27870	header_      http.Header
27871}
27872
27873// Get: Gets one creative by ID.
27874func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
27875	c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27876	c.profileId = profileId
27877	c.id = id
27878	return c
27879}
27880
27881// Fields allows partial responses to be retrieved. See
27882// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27883// for more information.
27884func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
27885	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27886	return c
27887}
27888
27889// IfNoneMatch sets the optional parameter which makes the operation
27890// fail if the object's ETag matches the given value. This is useful for
27891// getting updates only after the object has changed since the last
27892// request. Use googleapi.IsNotModified to check whether the response
27893// error from Do is the result of In-None-Match.
27894func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
27895	c.ifNoneMatch_ = entityTag
27896	return c
27897}
27898
27899// Context sets the context to be used in this call's Do method. Any
27900// pending HTTP request will be aborted if the provided context is
27901// canceled.
27902func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
27903	c.ctx_ = ctx
27904	return c
27905}
27906
27907// Header returns an http.Header that can be modified by the caller to
27908// add HTTP headers to the request.
27909func (c *CreativesGetCall) Header() http.Header {
27910	if c.header_ == nil {
27911		c.header_ = make(http.Header)
27912	}
27913	return c.header_
27914}
27915
27916func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
27917	reqHeaders := make(http.Header)
27918	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
27919	for k, v := range c.header_ {
27920		reqHeaders[k] = v
27921	}
27922	reqHeaders.Set("User-Agent", c.s.userAgent())
27923	if c.ifNoneMatch_ != "" {
27924		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27925	}
27926	var body io.Reader = nil
27927	c.urlParams_.Set("alt", alt)
27928	c.urlParams_.Set("prettyPrint", "false")
27929	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
27930	urls += "?" + c.urlParams_.Encode()
27931	req, err := http.NewRequest("GET", urls, body)
27932	if err != nil {
27933		return nil, err
27934	}
27935	req.Header = reqHeaders
27936	googleapi.Expand(req.URL, map[string]string{
27937		"profileId": strconv.FormatInt(c.profileId, 10),
27938		"id":        strconv.FormatInt(c.id, 10),
27939	})
27940	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27941}
27942
27943// Do executes the "dfareporting.creatives.get" call.
27944// Exactly one of *Creative or error will be non-nil. Any non-2xx status
27945// code is an error. Response headers are in either
27946// *Creative.ServerResponse.Header or (if a response was returned at
27947// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
27948// to check whether the returned error was because
27949// http.StatusNotModified was returned.
27950func (c *CreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
27951	gensupport.SetOptions(c.urlParams_, opts...)
27952	res, err := c.doRequest("json")
27953	if res != nil && res.StatusCode == http.StatusNotModified {
27954		if res.Body != nil {
27955			res.Body.Close()
27956		}
27957		return nil, &googleapi.Error{
27958			Code:   res.StatusCode,
27959			Header: res.Header,
27960		}
27961	}
27962	if err != nil {
27963		return nil, err
27964	}
27965	defer googleapi.CloseBody(res)
27966	if err := googleapi.CheckResponse(res); err != nil {
27967		return nil, err
27968	}
27969	ret := &Creative{
27970		ServerResponse: googleapi.ServerResponse{
27971			Header:         res.Header,
27972			HTTPStatusCode: res.StatusCode,
27973		},
27974	}
27975	target := &ret
27976	if err := gensupport.DecodeResponse(target, res); err != nil {
27977		return nil, err
27978	}
27979	return ret, nil
27980	// {
27981	//   "description": "Gets one creative by ID.",
27982	//   "flatPath": "userprofiles/{profileId}/creatives/{id}",
27983	//   "httpMethod": "GET",
27984	//   "id": "dfareporting.creatives.get",
27985	//   "parameterOrder": [
27986	//     "profileId",
27987	//     "id"
27988	//   ],
27989	//   "parameters": {
27990	//     "id": {
27991	//       "description": "Creative ID.",
27992	//       "format": "int64",
27993	//       "location": "path",
27994	//       "required": true,
27995	//       "type": "string"
27996	//     },
27997	//     "profileId": {
27998	//       "description": "User profile ID associated with this request.",
27999	//       "format": "int64",
28000	//       "location": "path",
28001	//       "required": true,
28002	//       "type": "string"
28003	//     }
28004	//   },
28005	//   "path": "userprofiles/{profileId}/creatives/{id}",
28006	//   "response": {
28007	//     "$ref": "Creative"
28008	//   },
28009	//   "scopes": [
28010	//     "https://www.googleapis.com/auth/dfatrafficking"
28011	//   ]
28012	// }
28013
28014}
28015
28016// method id "dfareporting.creatives.insert":
28017
28018type CreativesInsertCall struct {
28019	s          *Service
28020	profileId  int64
28021	creative   *Creative
28022	urlParams_ gensupport.URLParams
28023	ctx_       context.Context
28024	header_    http.Header
28025}
28026
28027// Insert: Inserts a new creative.
28028func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
28029	c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28030	c.profileId = profileId
28031	c.creative = creative
28032	return c
28033}
28034
28035// Fields allows partial responses to be retrieved. See
28036// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28037// for more information.
28038func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
28039	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28040	return c
28041}
28042
28043// Context sets the context to be used in this call's Do method. Any
28044// pending HTTP request will be aborted if the provided context is
28045// canceled.
28046func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
28047	c.ctx_ = ctx
28048	return c
28049}
28050
28051// Header returns an http.Header that can be modified by the caller to
28052// add HTTP headers to the request.
28053func (c *CreativesInsertCall) Header() http.Header {
28054	if c.header_ == nil {
28055		c.header_ = make(http.Header)
28056	}
28057	return c.header_
28058}
28059
28060func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
28061	reqHeaders := make(http.Header)
28062	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
28063	for k, v := range c.header_ {
28064		reqHeaders[k] = v
28065	}
28066	reqHeaders.Set("User-Agent", c.s.userAgent())
28067	var body io.Reader = nil
28068	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
28069	if err != nil {
28070		return nil, err
28071	}
28072	reqHeaders.Set("Content-Type", "application/json")
28073	c.urlParams_.Set("alt", alt)
28074	c.urlParams_.Set("prettyPrint", "false")
28075	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28076	urls += "?" + c.urlParams_.Encode()
28077	req, err := http.NewRequest("POST", urls, body)
28078	if err != nil {
28079		return nil, err
28080	}
28081	req.Header = reqHeaders
28082	googleapi.Expand(req.URL, map[string]string{
28083		"profileId": strconv.FormatInt(c.profileId, 10),
28084	})
28085	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28086}
28087
28088// Do executes the "dfareporting.creatives.insert" call.
28089// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28090// code is an error. Response headers are in either
28091// *Creative.ServerResponse.Header or (if a response was returned at
28092// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28093// to check whether the returned error was because
28094// http.StatusNotModified was returned.
28095func (c *CreativesInsertCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28096	gensupport.SetOptions(c.urlParams_, opts...)
28097	res, err := c.doRequest("json")
28098	if res != nil && res.StatusCode == http.StatusNotModified {
28099		if res.Body != nil {
28100			res.Body.Close()
28101		}
28102		return nil, &googleapi.Error{
28103			Code:   res.StatusCode,
28104			Header: res.Header,
28105		}
28106	}
28107	if err != nil {
28108		return nil, err
28109	}
28110	defer googleapi.CloseBody(res)
28111	if err := googleapi.CheckResponse(res); err != nil {
28112		return nil, err
28113	}
28114	ret := &Creative{
28115		ServerResponse: googleapi.ServerResponse{
28116			Header:         res.Header,
28117			HTTPStatusCode: res.StatusCode,
28118		},
28119	}
28120	target := &ret
28121	if err := gensupport.DecodeResponse(target, res); err != nil {
28122		return nil, err
28123	}
28124	return ret, nil
28125	// {
28126	//   "description": "Inserts a new creative.",
28127	//   "flatPath": "userprofiles/{profileId}/creatives",
28128	//   "httpMethod": "POST",
28129	//   "id": "dfareporting.creatives.insert",
28130	//   "parameterOrder": [
28131	//     "profileId"
28132	//   ],
28133	//   "parameters": {
28134	//     "profileId": {
28135	//       "description": "User profile ID associated with this request.",
28136	//       "format": "int64",
28137	//       "location": "path",
28138	//       "required": true,
28139	//       "type": "string"
28140	//     }
28141	//   },
28142	//   "path": "userprofiles/{profileId}/creatives",
28143	//   "request": {
28144	//     "$ref": "Creative"
28145	//   },
28146	//   "response": {
28147	//     "$ref": "Creative"
28148	//   },
28149	//   "scopes": [
28150	//     "https://www.googleapis.com/auth/dfatrafficking"
28151	//   ]
28152	// }
28153
28154}
28155
28156// method id "dfareporting.creatives.list":
28157
28158type CreativesListCall struct {
28159	s            *Service
28160	profileId    int64
28161	urlParams_   gensupport.URLParams
28162	ifNoneMatch_ string
28163	ctx_         context.Context
28164	header_      http.Header
28165}
28166
28167// List: Retrieves a list of creatives, possibly filtered. This method
28168// supports paging.
28169func (r *CreativesService) List(profileId int64) *CreativesListCall {
28170	c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28171	c.profileId = profileId
28172	return c
28173}
28174
28175// Active sets the optional parameter "active": Select only active
28176// creatives. Leave blank to select active and inactive creatives.
28177func (c *CreativesListCall) Active(active bool) *CreativesListCall {
28178	c.urlParams_.Set("active", fmt.Sprint(active))
28179	return c
28180}
28181
28182// AdvertiserId sets the optional parameter "advertiserId": Select only
28183// creatives with this advertiser ID.
28184func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
28185	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
28186	return c
28187}
28188
28189// Archived sets the optional parameter "archived": Select only archived
28190// creatives. Leave blank to select archived and unarchived creatives.
28191func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
28192	c.urlParams_.Set("archived", fmt.Sprint(archived))
28193	return c
28194}
28195
28196// CampaignId sets the optional parameter "campaignId": Select only
28197// creatives with this campaign ID.
28198func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
28199	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
28200	return c
28201}
28202
28203// CompanionCreativeIds sets the optional parameter
28204// "companionCreativeIds": Select only in-stream video creatives with
28205// these companion IDs.
28206func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds ...int64) *CreativesListCall {
28207	var companionCreativeIds_ []string
28208	for _, v := range companionCreativeIds {
28209		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprint(v))
28210	}
28211	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
28212	return c
28213}
28214
28215// CreativeFieldIds sets the optional parameter "creativeFieldIds":
28216// Select only creatives with these creative field IDs.
28217func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds ...int64) *CreativesListCall {
28218	var creativeFieldIds_ []string
28219	for _, v := range creativeFieldIds {
28220		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprint(v))
28221	}
28222	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
28223	return c
28224}
28225
28226// Ids sets the optional parameter "ids": Select only creatives with
28227// these IDs.
28228func (c *CreativesListCall) Ids(ids ...int64) *CreativesListCall {
28229	var ids_ []string
28230	for _, v := range ids {
28231		ids_ = append(ids_, fmt.Sprint(v))
28232	}
28233	c.urlParams_.SetMulti("ids", ids_)
28234	return c
28235}
28236
28237// MaxResults sets the optional parameter "maxResults": Maximum number
28238// of results to return.
28239func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
28240	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
28241	return c
28242}
28243
28244// PageToken sets the optional parameter "pageToken": Value of the
28245// nextPageToken from the previous result page.
28246func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
28247	c.urlParams_.Set("pageToken", pageToken)
28248	return c
28249}
28250
28251// RenderingIds sets the optional parameter "renderingIds": Select only
28252// creatives with these rendering IDs.
28253func (c *CreativesListCall) RenderingIds(renderingIds ...int64) *CreativesListCall {
28254	var renderingIds_ []string
28255	for _, v := range renderingIds {
28256		renderingIds_ = append(renderingIds_, fmt.Sprint(v))
28257	}
28258	c.urlParams_.SetMulti("renderingIds", renderingIds_)
28259	return c
28260}
28261
28262// SearchString sets the optional parameter "searchString": Allows
28263// searching for objects by name or ID. Wildcards (*) are allowed. For
28264// example, "creative*2015" will return objects with names like
28265// "creative June 2015", "creative April 2015", or simply "creative
28266// 2015". Most of the searches also add wildcards implicitly at the
28267// start and the end of the search string. For example, a search string
28268// of "creative" will match objects with name "my creative", "creative
28269// 2015", or simply "creative".
28270func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
28271	c.urlParams_.Set("searchString", searchString)
28272	return c
28273}
28274
28275// SizeIds sets the optional parameter "sizeIds": Select only creatives
28276// with these size IDs.
28277func (c *CreativesListCall) SizeIds(sizeIds ...int64) *CreativesListCall {
28278	var sizeIds_ []string
28279	for _, v := range sizeIds {
28280		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
28281	}
28282	c.urlParams_.SetMulti("sizeIds", sizeIds_)
28283	return c
28284}
28285
28286// SortField sets the optional parameter "sortField": Field by which to
28287// sort the list.
28288//
28289// Possible values:
28290//   "ID" (default)
28291//   "NAME"
28292func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
28293	c.urlParams_.Set("sortField", sortField)
28294	return c
28295}
28296
28297// SortOrder sets the optional parameter "sortOrder": Order of sorted
28298// results.
28299//
28300// Possible values:
28301//   "ASCENDING" (default)
28302//   "DESCENDING"
28303func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
28304	c.urlParams_.Set("sortOrder", sortOrder)
28305	return c
28306}
28307
28308// StudioCreativeId sets the optional parameter "studioCreativeId":
28309// Select only creatives corresponding to this Studio creative ID.
28310func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
28311	c.urlParams_.Set("studioCreativeId", fmt.Sprint(studioCreativeId))
28312	return c
28313}
28314
28315// Types sets the optional parameter "types": Select only creatives with
28316// these creative types.
28317//
28318// Possible values:
28319//   "IMAGE"
28320//   "DISPLAY_REDIRECT"
28321//   "CUSTOM_DISPLAY"
28322//   "INTERNAL_REDIRECT"
28323//   "CUSTOM_DISPLAY_INTERSTITIAL"
28324//   "INTERSTITIAL_INTERNAL_REDIRECT"
28325//   "TRACKING_TEXT"
28326//   "RICH_MEDIA_DISPLAY_BANNER"
28327//   "RICH_MEDIA_INPAGE_FLOATING"
28328//   "RICH_MEDIA_IM_EXPAND"
28329//   "RICH_MEDIA_DISPLAY_EXPANDING"
28330//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
28331//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
28332//   "RICH_MEDIA_MOBILE_IN_APP"
28333//   "FLASH_INPAGE"
28334//   "INSTREAM_VIDEO"
28335//   "VPAID_LINEAR_VIDEO"
28336//   "VPAID_NON_LINEAR_VIDEO"
28337//   "INSTREAM_VIDEO_REDIRECT"
28338//   "RICH_MEDIA_PEEL_DOWN"
28339//   "HTML5_BANNER"
28340//   "DISPLAY"
28341//   "DISPLAY_IMAGE_GALLERY"
28342//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
28343//   "INSTREAM_AUDIO"
28344func (c *CreativesListCall) Types(types ...string) *CreativesListCall {
28345	c.urlParams_.SetMulti("types", append([]string{}, types...))
28346	return c
28347}
28348
28349// Fields allows partial responses to be retrieved. See
28350// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28351// for more information.
28352func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
28353	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28354	return c
28355}
28356
28357// IfNoneMatch sets the optional parameter which makes the operation
28358// fail if the object's ETag matches the given value. This is useful for
28359// getting updates only after the object has changed since the last
28360// request. Use googleapi.IsNotModified to check whether the response
28361// error from Do is the result of In-None-Match.
28362func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
28363	c.ifNoneMatch_ = entityTag
28364	return c
28365}
28366
28367// Context sets the context to be used in this call's Do method. Any
28368// pending HTTP request will be aborted if the provided context is
28369// canceled.
28370func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
28371	c.ctx_ = ctx
28372	return c
28373}
28374
28375// Header returns an http.Header that can be modified by the caller to
28376// add HTTP headers to the request.
28377func (c *CreativesListCall) Header() http.Header {
28378	if c.header_ == nil {
28379		c.header_ = make(http.Header)
28380	}
28381	return c.header_
28382}
28383
28384func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
28385	reqHeaders := make(http.Header)
28386	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
28387	for k, v := range c.header_ {
28388		reqHeaders[k] = v
28389	}
28390	reqHeaders.Set("User-Agent", c.s.userAgent())
28391	if c.ifNoneMatch_ != "" {
28392		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28393	}
28394	var body io.Reader = nil
28395	c.urlParams_.Set("alt", alt)
28396	c.urlParams_.Set("prettyPrint", "false")
28397	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28398	urls += "?" + c.urlParams_.Encode()
28399	req, err := http.NewRequest("GET", urls, body)
28400	if err != nil {
28401		return nil, err
28402	}
28403	req.Header = reqHeaders
28404	googleapi.Expand(req.URL, map[string]string{
28405		"profileId": strconv.FormatInt(c.profileId, 10),
28406	})
28407	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28408}
28409
28410// Do executes the "dfareporting.creatives.list" call.
28411// Exactly one of *CreativesListResponse or error will be non-nil. Any
28412// non-2xx status code is an error. Response headers are in either
28413// *CreativesListResponse.ServerResponse.Header or (if a response was
28414// returned at all) in error.(*googleapi.Error).Header. Use
28415// googleapi.IsNotModified to check whether the returned error was
28416// because http.StatusNotModified was returned.
28417func (c *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesListResponse, error) {
28418	gensupport.SetOptions(c.urlParams_, opts...)
28419	res, err := c.doRequest("json")
28420	if res != nil && res.StatusCode == http.StatusNotModified {
28421		if res.Body != nil {
28422			res.Body.Close()
28423		}
28424		return nil, &googleapi.Error{
28425			Code:   res.StatusCode,
28426			Header: res.Header,
28427		}
28428	}
28429	if err != nil {
28430		return nil, err
28431	}
28432	defer googleapi.CloseBody(res)
28433	if err := googleapi.CheckResponse(res); err != nil {
28434		return nil, err
28435	}
28436	ret := &CreativesListResponse{
28437		ServerResponse: googleapi.ServerResponse{
28438			Header:         res.Header,
28439			HTTPStatusCode: res.StatusCode,
28440		},
28441	}
28442	target := &ret
28443	if err := gensupport.DecodeResponse(target, res); err != nil {
28444		return nil, err
28445	}
28446	return ret, nil
28447	// {
28448	//   "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
28449	//   "flatPath": "userprofiles/{profileId}/creatives",
28450	//   "httpMethod": "GET",
28451	//   "id": "dfareporting.creatives.list",
28452	//   "parameterOrder": [
28453	//     "profileId"
28454	//   ],
28455	//   "parameters": {
28456	//     "active": {
28457	//       "description": "Select only active creatives. Leave blank to select active and inactive creatives.",
28458	//       "location": "query",
28459	//       "type": "boolean"
28460	//     },
28461	//     "advertiserId": {
28462	//       "description": "Select only creatives with this advertiser ID.",
28463	//       "format": "int64",
28464	//       "location": "query",
28465	//       "type": "string"
28466	//     },
28467	//     "archived": {
28468	//       "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.",
28469	//       "location": "query",
28470	//       "type": "boolean"
28471	//     },
28472	//     "campaignId": {
28473	//       "description": "Select only creatives with this campaign ID.",
28474	//       "format": "int64",
28475	//       "location": "query",
28476	//       "type": "string"
28477	//     },
28478	//     "companionCreativeIds": {
28479	//       "description": "Select only in-stream video creatives with these companion IDs.",
28480	//       "format": "int64",
28481	//       "location": "query",
28482	//       "repeated": true,
28483	//       "type": "string"
28484	//     },
28485	//     "creativeFieldIds": {
28486	//       "description": "Select only creatives with these creative field IDs.",
28487	//       "format": "int64",
28488	//       "location": "query",
28489	//       "repeated": true,
28490	//       "type": "string"
28491	//     },
28492	//     "ids": {
28493	//       "description": "Select only creatives with these IDs.",
28494	//       "format": "int64",
28495	//       "location": "query",
28496	//       "repeated": true,
28497	//       "type": "string"
28498	//     },
28499	//     "maxResults": {
28500	//       "default": "1000",
28501	//       "description": "Maximum number of results to return.",
28502	//       "format": "int32",
28503	//       "location": "query",
28504	//       "maximum": "1000",
28505	//       "minimum": "0",
28506	//       "type": "integer"
28507	//     },
28508	//     "pageToken": {
28509	//       "description": "Value of the nextPageToken from the previous result page.",
28510	//       "location": "query",
28511	//       "type": "string"
28512	//     },
28513	//     "profileId": {
28514	//       "description": "User profile ID associated with this request.",
28515	//       "format": "int64",
28516	//       "location": "path",
28517	//       "required": true,
28518	//       "type": "string"
28519	//     },
28520	//     "renderingIds": {
28521	//       "description": "Select only creatives with these rendering IDs.",
28522	//       "format": "int64",
28523	//       "location": "query",
28524	//       "repeated": true,
28525	//       "type": "string"
28526	//     },
28527	//     "searchString": {
28528	//       "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\".",
28529	//       "location": "query",
28530	//       "type": "string"
28531	//     },
28532	//     "sizeIds": {
28533	//       "description": "Select only creatives with these size IDs.",
28534	//       "format": "int64",
28535	//       "location": "query",
28536	//       "repeated": true,
28537	//       "type": "string"
28538	//     },
28539	//     "sortField": {
28540	//       "default": "ID",
28541	//       "description": "Field by which to sort the list.",
28542	//       "enum": [
28543	//         "ID",
28544	//         "NAME"
28545	//       ],
28546	//       "enumDescriptions": [
28547	//         "",
28548	//         ""
28549	//       ],
28550	//       "location": "query",
28551	//       "type": "string"
28552	//     },
28553	//     "sortOrder": {
28554	//       "default": "ASCENDING",
28555	//       "description": "Order of sorted results.",
28556	//       "enum": [
28557	//         "ASCENDING",
28558	//         "DESCENDING"
28559	//       ],
28560	//       "enumDescriptions": [
28561	//         "",
28562	//         ""
28563	//       ],
28564	//       "location": "query",
28565	//       "type": "string"
28566	//     },
28567	//     "studioCreativeId": {
28568	//       "description": "Select only creatives corresponding to this Studio creative ID.",
28569	//       "format": "int64",
28570	//       "location": "query",
28571	//       "type": "string"
28572	//     },
28573	//     "types": {
28574	//       "description": "Select only creatives with these creative types.",
28575	//       "enum": [
28576	//         "IMAGE",
28577	//         "DISPLAY_REDIRECT",
28578	//         "CUSTOM_DISPLAY",
28579	//         "INTERNAL_REDIRECT",
28580	//         "CUSTOM_DISPLAY_INTERSTITIAL",
28581	//         "INTERSTITIAL_INTERNAL_REDIRECT",
28582	//         "TRACKING_TEXT",
28583	//         "RICH_MEDIA_DISPLAY_BANNER",
28584	//         "RICH_MEDIA_INPAGE_FLOATING",
28585	//         "RICH_MEDIA_IM_EXPAND",
28586	//         "RICH_MEDIA_DISPLAY_EXPANDING",
28587	//         "RICH_MEDIA_DISPLAY_INTERSTITIAL",
28588	//         "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
28589	//         "RICH_MEDIA_MOBILE_IN_APP",
28590	//         "FLASH_INPAGE",
28591	//         "INSTREAM_VIDEO",
28592	//         "VPAID_LINEAR_VIDEO",
28593	//         "VPAID_NON_LINEAR_VIDEO",
28594	//         "INSTREAM_VIDEO_REDIRECT",
28595	//         "RICH_MEDIA_PEEL_DOWN",
28596	//         "HTML5_BANNER",
28597	//         "DISPLAY",
28598	//         "DISPLAY_IMAGE_GALLERY",
28599	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
28600	//         "INSTREAM_AUDIO"
28601	//       ],
28602	//       "enumDescriptions": [
28603	//         "",
28604	//         "",
28605	//         "",
28606	//         "",
28607	//         "",
28608	//         "",
28609	//         "",
28610	//         "",
28611	//         "",
28612	//         "",
28613	//         "",
28614	//         "",
28615	//         "",
28616	//         "",
28617	//         "",
28618	//         "",
28619	//         "",
28620	//         "",
28621	//         "",
28622	//         "",
28623	//         "",
28624	//         "",
28625	//         "",
28626	//         "",
28627	//         ""
28628	//       ],
28629	//       "location": "query",
28630	//       "repeated": true,
28631	//       "type": "string"
28632	//     }
28633	//   },
28634	//   "path": "userprofiles/{profileId}/creatives",
28635	//   "response": {
28636	//     "$ref": "CreativesListResponse"
28637	//   },
28638	//   "scopes": [
28639	//     "https://www.googleapis.com/auth/dfatrafficking"
28640	//   ]
28641	// }
28642
28643}
28644
28645// Pages invokes f for each page of results.
28646// A non-nil error returned from f will halt the iteration.
28647// The provided context supersedes any context provided to the Context method.
28648func (c *CreativesListCall) Pages(ctx context.Context, f func(*CreativesListResponse) error) error {
28649	c.ctx_ = ctx
28650	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
28651	for {
28652		x, err := c.Do()
28653		if err != nil {
28654			return err
28655		}
28656		if err := f(x); err != nil {
28657			return err
28658		}
28659		if x.NextPageToken == "" {
28660			return nil
28661		}
28662		c.PageToken(x.NextPageToken)
28663	}
28664}
28665
28666// method id "dfareporting.creatives.patch":
28667
28668type CreativesPatchCall struct {
28669	s          *Service
28670	profileId  int64
28671	creative   *Creative
28672	urlParams_ gensupport.URLParams
28673	ctx_       context.Context
28674	header_    http.Header
28675}
28676
28677// Patch: Updates an existing creative. This method supports patch
28678// semantics.
28679func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
28680	c := &CreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28681	c.profileId = profileId
28682	c.urlParams_.Set("id", fmt.Sprint(id))
28683	c.creative = creative
28684	return c
28685}
28686
28687// Fields allows partial responses to be retrieved. See
28688// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28689// for more information.
28690func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
28691	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28692	return c
28693}
28694
28695// Context sets the context to be used in this call's Do method. Any
28696// pending HTTP request will be aborted if the provided context is
28697// canceled.
28698func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
28699	c.ctx_ = ctx
28700	return c
28701}
28702
28703// Header returns an http.Header that can be modified by the caller to
28704// add HTTP headers to the request.
28705func (c *CreativesPatchCall) Header() http.Header {
28706	if c.header_ == nil {
28707		c.header_ = make(http.Header)
28708	}
28709	return c.header_
28710}
28711
28712func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
28713	reqHeaders := make(http.Header)
28714	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
28715	for k, v := range c.header_ {
28716		reqHeaders[k] = v
28717	}
28718	reqHeaders.Set("User-Agent", c.s.userAgent())
28719	var body io.Reader = nil
28720	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
28721	if err != nil {
28722		return nil, err
28723	}
28724	reqHeaders.Set("Content-Type", "application/json")
28725	c.urlParams_.Set("alt", alt)
28726	c.urlParams_.Set("prettyPrint", "false")
28727	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28728	urls += "?" + c.urlParams_.Encode()
28729	req, err := http.NewRequest("PATCH", urls, body)
28730	if err != nil {
28731		return nil, err
28732	}
28733	req.Header = reqHeaders
28734	googleapi.Expand(req.URL, map[string]string{
28735		"profileId": strconv.FormatInt(c.profileId, 10),
28736	})
28737	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28738}
28739
28740// Do executes the "dfareporting.creatives.patch" call.
28741// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28742// code is an error. Response headers are in either
28743// *Creative.ServerResponse.Header or (if a response was returned at
28744// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28745// to check whether the returned error was because
28746// http.StatusNotModified was returned.
28747func (c *CreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28748	gensupport.SetOptions(c.urlParams_, opts...)
28749	res, err := c.doRequest("json")
28750	if res != nil && res.StatusCode == http.StatusNotModified {
28751		if res.Body != nil {
28752			res.Body.Close()
28753		}
28754		return nil, &googleapi.Error{
28755			Code:   res.StatusCode,
28756			Header: res.Header,
28757		}
28758	}
28759	if err != nil {
28760		return nil, err
28761	}
28762	defer googleapi.CloseBody(res)
28763	if err := googleapi.CheckResponse(res); err != nil {
28764		return nil, err
28765	}
28766	ret := &Creative{
28767		ServerResponse: googleapi.ServerResponse{
28768			Header:         res.Header,
28769			HTTPStatusCode: res.StatusCode,
28770		},
28771	}
28772	target := &ret
28773	if err := gensupport.DecodeResponse(target, res); err != nil {
28774		return nil, err
28775	}
28776	return ret, nil
28777	// {
28778	//   "description": "Updates an existing creative. This method supports patch semantics.",
28779	//   "flatPath": "userprofiles/{profileId}/creatives",
28780	//   "httpMethod": "PATCH",
28781	//   "id": "dfareporting.creatives.patch",
28782	//   "parameterOrder": [
28783	//     "profileId",
28784	//     "id"
28785	//   ],
28786	//   "parameters": {
28787	//     "id": {
28788	//       "description": "Creative ID.",
28789	//       "format": "int64",
28790	//       "location": "query",
28791	//       "required": true,
28792	//       "type": "string"
28793	//     },
28794	//     "profileId": {
28795	//       "description": "User profile ID associated with this request.",
28796	//       "format": "int64",
28797	//       "location": "path",
28798	//       "required": true,
28799	//       "type": "string"
28800	//     }
28801	//   },
28802	//   "path": "userprofiles/{profileId}/creatives",
28803	//   "request": {
28804	//     "$ref": "Creative"
28805	//   },
28806	//   "response": {
28807	//     "$ref": "Creative"
28808	//   },
28809	//   "scopes": [
28810	//     "https://www.googleapis.com/auth/dfatrafficking"
28811	//   ]
28812	// }
28813
28814}
28815
28816// method id "dfareporting.creatives.update":
28817
28818type CreativesUpdateCall struct {
28819	s          *Service
28820	profileId  int64
28821	creative   *Creative
28822	urlParams_ gensupport.URLParams
28823	ctx_       context.Context
28824	header_    http.Header
28825}
28826
28827// Update: Updates an existing creative.
28828func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
28829	c := &CreativesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28830	c.profileId = profileId
28831	c.creative = creative
28832	return c
28833}
28834
28835// Fields allows partial responses to be retrieved. See
28836// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28837// for more information.
28838func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
28839	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28840	return c
28841}
28842
28843// Context sets the context to be used in this call's Do method. Any
28844// pending HTTP request will be aborted if the provided context is
28845// canceled.
28846func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
28847	c.ctx_ = ctx
28848	return c
28849}
28850
28851// Header returns an http.Header that can be modified by the caller to
28852// add HTTP headers to the request.
28853func (c *CreativesUpdateCall) Header() http.Header {
28854	if c.header_ == nil {
28855		c.header_ = make(http.Header)
28856	}
28857	return c.header_
28858}
28859
28860func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
28861	reqHeaders := make(http.Header)
28862	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
28863	for k, v := range c.header_ {
28864		reqHeaders[k] = v
28865	}
28866	reqHeaders.Set("User-Agent", c.s.userAgent())
28867	var body io.Reader = nil
28868	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
28869	if err != nil {
28870		return nil, err
28871	}
28872	reqHeaders.Set("Content-Type", "application/json")
28873	c.urlParams_.Set("alt", alt)
28874	c.urlParams_.Set("prettyPrint", "false")
28875	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28876	urls += "?" + c.urlParams_.Encode()
28877	req, err := http.NewRequest("PUT", urls, body)
28878	if err != nil {
28879		return nil, err
28880	}
28881	req.Header = reqHeaders
28882	googleapi.Expand(req.URL, map[string]string{
28883		"profileId": strconv.FormatInt(c.profileId, 10),
28884	})
28885	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28886}
28887
28888// Do executes the "dfareporting.creatives.update" call.
28889// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28890// code is an error. Response headers are in either
28891// *Creative.ServerResponse.Header or (if a response was returned at
28892// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28893// to check whether the returned error was because
28894// http.StatusNotModified was returned.
28895func (c *CreativesUpdateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28896	gensupport.SetOptions(c.urlParams_, opts...)
28897	res, err := c.doRequest("json")
28898	if res != nil && res.StatusCode == http.StatusNotModified {
28899		if res.Body != nil {
28900			res.Body.Close()
28901		}
28902		return nil, &googleapi.Error{
28903			Code:   res.StatusCode,
28904			Header: res.Header,
28905		}
28906	}
28907	if err != nil {
28908		return nil, err
28909	}
28910	defer googleapi.CloseBody(res)
28911	if err := googleapi.CheckResponse(res); err != nil {
28912		return nil, err
28913	}
28914	ret := &Creative{
28915		ServerResponse: googleapi.ServerResponse{
28916			Header:         res.Header,
28917			HTTPStatusCode: res.StatusCode,
28918		},
28919	}
28920	target := &ret
28921	if err := gensupport.DecodeResponse(target, res); err != nil {
28922		return nil, err
28923	}
28924	return ret, nil
28925	// {
28926	//   "description": "Updates an existing creative.",
28927	//   "flatPath": "userprofiles/{profileId}/creatives",
28928	//   "httpMethod": "PUT",
28929	//   "id": "dfareporting.creatives.update",
28930	//   "parameterOrder": [
28931	//     "profileId"
28932	//   ],
28933	//   "parameters": {
28934	//     "profileId": {
28935	//       "description": "User profile ID associated with this request.",
28936	//       "format": "int64",
28937	//       "location": "path",
28938	//       "required": true,
28939	//       "type": "string"
28940	//     }
28941	//   },
28942	//   "path": "userprofiles/{profileId}/creatives",
28943	//   "request": {
28944	//     "$ref": "Creative"
28945	//   },
28946	//   "response": {
28947	//     "$ref": "Creative"
28948	//   },
28949	//   "scopes": [
28950	//     "https://www.googleapis.com/auth/dfatrafficking"
28951	//   ]
28952	// }
28953
28954}
28955
28956// method id "dfareporting.dimensionValues.query":
28957
28958type DimensionValuesQueryCall struct {
28959	s                     *Service
28960	profileId             int64
28961	dimensionvaluerequest *DimensionValueRequest
28962	urlParams_            gensupport.URLParams
28963	ctx_                  context.Context
28964	header_               http.Header
28965}
28966
28967// Query: Retrieves list of report dimension values for a list of
28968// filters.
28969func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
28970	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28971	c.profileId = profileId
28972	c.dimensionvaluerequest = dimensionvaluerequest
28973	return c
28974}
28975
28976// MaxResults sets the optional parameter "maxResults": Maximum number
28977// of results to return.
28978func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
28979	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
28980	return c
28981}
28982
28983// PageToken sets the optional parameter "pageToken": The value of the
28984// nextToken from the previous result page.
28985func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
28986	c.urlParams_.Set("pageToken", pageToken)
28987	return c
28988}
28989
28990// Fields allows partial responses to be retrieved. See
28991// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28992// for more information.
28993func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
28994	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28995	return c
28996}
28997
28998// Context sets the context to be used in this call's Do method. Any
28999// pending HTTP request will be aborted if the provided context is
29000// canceled.
29001func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
29002	c.ctx_ = ctx
29003	return c
29004}
29005
29006// Header returns an http.Header that can be modified by the caller to
29007// add HTTP headers to the request.
29008func (c *DimensionValuesQueryCall) Header() http.Header {
29009	if c.header_ == nil {
29010		c.header_ = make(http.Header)
29011	}
29012	return c.header_
29013}
29014
29015func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
29016	reqHeaders := make(http.Header)
29017	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
29018	for k, v := range c.header_ {
29019		reqHeaders[k] = v
29020	}
29021	reqHeaders.Set("User-Agent", c.s.userAgent())
29022	var body io.Reader = nil
29023	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dimensionvaluerequest)
29024	if err != nil {
29025		return nil, err
29026	}
29027	reqHeaders.Set("Content-Type", "application/json")
29028	c.urlParams_.Set("alt", alt)
29029	c.urlParams_.Set("prettyPrint", "false")
29030	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
29031	urls += "?" + c.urlParams_.Encode()
29032	req, err := http.NewRequest("POST", urls, body)
29033	if err != nil {
29034		return nil, err
29035	}
29036	req.Header = reqHeaders
29037	googleapi.Expand(req.URL, map[string]string{
29038		"profileId": strconv.FormatInt(c.profileId, 10),
29039	})
29040	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29041}
29042
29043// Do executes the "dfareporting.dimensionValues.query" call.
29044// Exactly one of *DimensionValueList or error will be non-nil. Any
29045// non-2xx status code is an error. Response headers are in either
29046// *DimensionValueList.ServerResponse.Header or (if a response was
29047// returned at all) in error.(*googleapi.Error).Header. Use
29048// googleapi.IsNotModified to check whether the returned error was
29049// because http.StatusNotModified was returned.
29050func (c *DimensionValuesQueryCall) Do(opts ...googleapi.CallOption) (*DimensionValueList, error) {
29051	gensupport.SetOptions(c.urlParams_, opts...)
29052	res, err := c.doRequest("json")
29053	if res != nil && res.StatusCode == http.StatusNotModified {
29054		if res.Body != nil {
29055			res.Body.Close()
29056		}
29057		return nil, &googleapi.Error{
29058			Code:   res.StatusCode,
29059			Header: res.Header,
29060		}
29061	}
29062	if err != nil {
29063		return nil, err
29064	}
29065	defer googleapi.CloseBody(res)
29066	if err := googleapi.CheckResponse(res); err != nil {
29067		return nil, err
29068	}
29069	ret := &DimensionValueList{
29070		ServerResponse: googleapi.ServerResponse{
29071			Header:         res.Header,
29072			HTTPStatusCode: res.StatusCode,
29073		},
29074	}
29075	target := &ret
29076	if err := gensupport.DecodeResponse(target, res); err != nil {
29077		return nil, err
29078	}
29079	return ret, nil
29080	// {
29081	//   "description": "Retrieves list of report dimension values for a list of filters.",
29082	//   "flatPath": "userprofiles/{profileId}/dimensionvalues/query",
29083	//   "httpMethod": "POST",
29084	//   "id": "dfareporting.dimensionValues.query",
29085	//   "parameterOrder": [
29086	//     "profileId"
29087	//   ],
29088	//   "parameters": {
29089	//     "maxResults": {
29090	//       "default": "100",
29091	//       "description": "Maximum number of results to return.",
29092	//       "format": "int32",
29093	//       "location": "query",
29094	//       "maximum": "100",
29095	//       "minimum": "0",
29096	//       "type": "integer"
29097	//     },
29098	//     "pageToken": {
29099	//       "description": "The value of the nextToken from the previous result page.",
29100	//       "location": "query",
29101	//       "type": "string"
29102	//     },
29103	//     "profileId": {
29104	//       "description": "The DFA user profile ID.",
29105	//       "format": "int64",
29106	//       "location": "path",
29107	//       "required": true,
29108	//       "type": "string"
29109	//     }
29110	//   },
29111	//   "path": "userprofiles/{profileId}/dimensionvalues/query",
29112	//   "request": {
29113	//     "$ref": "DimensionValueRequest"
29114	//   },
29115	//   "response": {
29116	//     "$ref": "DimensionValueList"
29117	//   },
29118	//   "scopes": [
29119	//     "https://www.googleapis.com/auth/dfareporting"
29120	//   ]
29121	// }
29122
29123}
29124
29125// Pages invokes f for each page of results.
29126// A non-nil error returned from f will halt the iteration.
29127// The provided context supersedes any context provided to the Context method.
29128func (c *DimensionValuesQueryCall) Pages(ctx context.Context, f func(*DimensionValueList) error) error {
29129	c.ctx_ = ctx
29130	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29131	for {
29132		x, err := c.Do()
29133		if err != nil {
29134			return err
29135		}
29136		if err := f(x); err != nil {
29137			return err
29138		}
29139		if x.NextPageToken == "" {
29140			return nil
29141		}
29142		c.PageToken(x.NextPageToken)
29143	}
29144}
29145
29146// method id "dfareporting.directorySites.get":
29147
29148type DirectorySitesGetCall struct {
29149	s            *Service
29150	profileId    int64
29151	id           int64
29152	urlParams_   gensupport.URLParams
29153	ifNoneMatch_ string
29154	ctx_         context.Context
29155	header_      http.Header
29156}
29157
29158// Get: Gets one directory site by ID.
29159func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
29160	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29161	c.profileId = profileId
29162	c.id = id
29163	return c
29164}
29165
29166// Fields allows partial responses to be retrieved. See
29167// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29168// for more information.
29169func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
29170	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29171	return c
29172}
29173
29174// IfNoneMatch sets the optional parameter which makes the operation
29175// fail if the object's ETag matches the given value. This is useful for
29176// getting updates only after the object has changed since the last
29177// request. Use googleapi.IsNotModified to check whether the response
29178// error from Do is the result of In-None-Match.
29179func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
29180	c.ifNoneMatch_ = entityTag
29181	return c
29182}
29183
29184// Context sets the context to be used in this call's Do method. Any
29185// pending HTTP request will be aborted if the provided context is
29186// canceled.
29187func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
29188	c.ctx_ = ctx
29189	return c
29190}
29191
29192// Header returns an http.Header that can be modified by the caller to
29193// add HTTP headers to the request.
29194func (c *DirectorySitesGetCall) Header() http.Header {
29195	if c.header_ == nil {
29196		c.header_ = make(http.Header)
29197	}
29198	return c.header_
29199}
29200
29201func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
29202	reqHeaders := make(http.Header)
29203	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
29204	for k, v := range c.header_ {
29205		reqHeaders[k] = v
29206	}
29207	reqHeaders.Set("User-Agent", c.s.userAgent())
29208	if c.ifNoneMatch_ != "" {
29209		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29210	}
29211	var body io.Reader = nil
29212	c.urlParams_.Set("alt", alt)
29213	c.urlParams_.Set("prettyPrint", "false")
29214	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
29215	urls += "?" + c.urlParams_.Encode()
29216	req, err := http.NewRequest("GET", urls, body)
29217	if err != nil {
29218		return nil, err
29219	}
29220	req.Header = reqHeaders
29221	googleapi.Expand(req.URL, map[string]string{
29222		"profileId": strconv.FormatInt(c.profileId, 10),
29223		"id":        strconv.FormatInt(c.id, 10),
29224	})
29225	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29226}
29227
29228// Do executes the "dfareporting.directorySites.get" call.
29229// Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
29230// status code is an error. Response headers are in either
29231// *DirectorySite.ServerResponse.Header or (if a response was returned
29232// at all) in error.(*googleapi.Error).Header. Use
29233// googleapi.IsNotModified to check whether the returned error was
29234// because http.StatusNotModified was returned.
29235func (c *DirectorySitesGetCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
29236	gensupport.SetOptions(c.urlParams_, opts...)
29237	res, err := c.doRequest("json")
29238	if res != nil && res.StatusCode == http.StatusNotModified {
29239		if res.Body != nil {
29240			res.Body.Close()
29241		}
29242		return nil, &googleapi.Error{
29243			Code:   res.StatusCode,
29244			Header: res.Header,
29245		}
29246	}
29247	if err != nil {
29248		return nil, err
29249	}
29250	defer googleapi.CloseBody(res)
29251	if err := googleapi.CheckResponse(res); err != nil {
29252		return nil, err
29253	}
29254	ret := &DirectorySite{
29255		ServerResponse: googleapi.ServerResponse{
29256			Header:         res.Header,
29257			HTTPStatusCode: res.StatusCode,
29258		},
29259	}
29260	target := &ret
29261	if err := gensupport.DecodeResponse(target, res); err != nil {
29262		return nil, err
29263	}
29264	return ret, nil
29265	// {
29266	//   "description": "Gets one directory site by ID.",
29267	//   "flatPath": "userprofiles/{profileId}/directorySites/{id}",
29268	//   "httpMethod": "GET",
29269	//   "id": "dfareporting.directorySites.get",
29270	//   "parameterOrder": [
29271	//     "profileId",
29272	//     "id"
29273	//   ],
29274	//   "parameters": {
29275	//     "id": {
29276	//       "description": "Directory site ID.",
29277	//       "format": "int64",
29278	//       "location": "path",
29279	//       "required": true,
29280	//       "type": "string"
29281	//     },
29282	//     "profileId": {
29283	//       "description": "User profile ID associated with this request.",
29284	//       "format": "int64",
29285	//       "location": "path",
29286	//       "required": true,
29287	//       "type": "string"
29288	//     }
29289	//   },
29290	//   "path": "userprofiles/{profileId}/directorySites/{id}",
29291	//   "response": {
29292	//     "$ref": "DirectorySite"
29293	//   },
29294	//   "scopes": [
29295	//     "https://www.googleapis.com/auth/dfatrafficking"
29296	//   ]
29297	// }
29298
29299}
29300
29301// method id "dfareporting.directorySites.insert":
29302
29303type DirectorySitesInsertCall struct {
29304	s             *Service
29305	profileId     int64
29306	directorysite *DirectorySite
29307	urlParams_    gensupport.URLParams
29308	ctx_          context.Context
29309	header_       http.Header
29310}
29311
29312// Insert: Inserts a new directory site.
29313func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
29314	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29315	c.profileId = profileId
29316	c.directorysite = directorysite
29317	return c
29318}
29319
29320// Fields allows partial responses to be retrieved. See
29321// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29322// for more information.
29323func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
29324	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29325	return c
29326}
29327
29328// Context sets the context to be used in this call's Do method. Any
29329// pending HTTP request will be aborted if the provided context is
29330// canceled.
29331func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
29332	c.ctx_ = ctx
29333	return c
29334}
29335
29336// Header returns an http.Header that can be modified by the caller to
29337// add HTTP headers to the request.
29338func (c *DirectorySitesInsertCall) Header() http.Header {
29339	if c.header_ == nil {
29340		c.header_ = make(http.Header)
29341	}
29342	return c.header_
29343}
29344
29345func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
29346	reqHeaders := make(http.Header)
29347	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
29348	for k, v := range c.header_ {
29349		reqHeaders[k] = v
29350	}
29351	reqHeaders.Set("User-Agent", c.s.userAgent())
29352	var body io.Reader = nil
29353	body, err := googleapi.WithoutDataWrapper.JSONReader(c.directorysite)
29354	if err != nil {
29355		return nil, err
29356	}
29357	reqHeaders.Set("Content-Type", "application/json")
29358	c.urlParams_.Set("alt", alt)
29359	c.urlParams_.Set("prettyPrint", "false")
29360	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
29361	urls += "?" + c.urlParams_.Encode()
29362	req, err := http.NewRequest("POST", urls, body)
29363	if err != nil {
29364		return nil, err
29365	}
29366	req.Header = reqHeaders
29367	googleapi.Expand(req.URL, map[string]string{
29368		"profileId": strconv.FormatInt(c.profileId, 10),
29369	})
29370	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29371}
29372
29373// Do executes the "dfareporting.directorySites.insert" call.
29374// Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
29375// status code is an error. Response headers are in either
29376// *DirectorySite.ServerResponse.Header or (if a response was returned
29377// at all) in error.(*googleapi.Error).Header. Use
29378// googleapi.IsNotModified to check whether the returned error was
29379// because http.StatusNotModified was returned.
29380func (c *DirectorySitesInsertCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
29381	gensupport.SetOptions(c.urlParams_, opts...)
29382	res, err := c.doRequest("json")
29383	if res != nil && res.StatusCode == http.StatusNotModified {
29384		if res.Body != nil {
29385			res.Body.Close()
29386		}
29387		return nil, &googleapi.Error{
29388			Code:   res.StatusCode,
29389			Header: res.Header,
29390		}
29391	}
29392	if err != nil {
29393		return nil, err
29394	}
29395	defer googleapi.CloseBody(res)
29396	if err := googleapi.CheckResponse(res); err != nil {
29397		return nil, err
29398	}
29399	ret := &DirectorySite{
29400		ServerResponse: googleapi.ServerResponse{
29401			Header:         res.Header,
29402			HTTPStatusCode: res.StatusCode,
29403		},
29404	}
29405	target := &ret
29406	if err := gensupport.DecodeResponse(target, res); err != nil {
29407		return nil, err
29408	}
29409	return ret, nil
29410	// {
29411	//   "description": "Inserts a new directory site.",
29412	//   "flatPath": "userprofiles/{profileId}/directorySites",
29413	//   "httpMethod": "POST",
29414	//   "id": "dfareporting.directorySites.insert",
29415	//   "parameterOrder": [
29416	//     "profileId"
29417	//   ],
29418	//   "parameters": {
29419	//     "profileId": {
29420	//       "description": "User profile ID associated with this request.",
29421	//       "format": "int64",
29422	//       "location": "path",
29423	//       "required": true,
29424	//       "type": "string"
29425	//     }
29426	//   },
29427	//   "path": "userprofiles/{profileId}/directorySites",
29428	//   "request": {
29429	//     "$ref": "DirectorySite"
29430	//   },
29431	//   "response": {
29432	//     "$ref": "DirectorySite"
29433	//   },
29434	//   "scopes": [
29435	//     "https://www.googleapis.com/auth/dfatrafficking"
29436	//   ]
29437	// }
29438
29439}
29440
29441// method id "dfareporting.directorySites.list":
29442
29443type DirectorySitesListCall struct {
29444	s            *Service
29445	profileId    int64
29446	urlParams_   gensupport.URLParams
29447	ifNoneMatch_ string
29448	ctx_         context.Context
29449	header_      http.Header
29450}
29451
29452// List: Retrieves a list of directory sites, possibly filtered. This
29453// method supports paging.
29454func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
29455	c := &DirectorySitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29456	c.profileId = profileId
29457	return c
29458}
29459
29460// AcceptsInStreamVideoPlacements sets the optional parameter
29461// "acceptsInStreamVideoPlacements": This search filter is no longer
29462// supported and will have no effect on the results returned.
29463func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
29464	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
29465	return c
29466}
29467
29468// AcceptsInterstitialPlacements sets the optional parameter
29469// "acceptsInterstitialPlacements": This search filter is no longer
29470// supported and will have no effect on the results returned.
29471func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
29472	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
29473	return c
29474}
29475
29476// AcceptsPublisherPaidPlacements sets the optional parameter
29477// "acceptsPublisherPaidPlacements": Select only directory sites that
29478// accept publisher paid placements. This field can be left blank.
29479func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
29480	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
29481	return c
29482}
29483
29484// Active sets the optional parameter "active": Select only active
29485// directory sites. Leave blank to retrieve both active and inactive
29486// directory sites.
29487func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
29488	c.urlParams_.Set("active", fmt.Sprint(active))
29489	return c
29490}
29491
29492// DfpNetworkCode sets the optional parameter "dfpNetworkCode": Select
29493// only directory sites with this Ad Manager network code.
29494func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
29495	c.urlParams_.Set("dfpNetworkCode", dfpNetworkCode)
29496	return c
29497}
29498
29499// Ids sets the optional parameter "ids": Select only directory sites
29500// with these IDs.
29501func (c *DirectorySitesListCall) Ids(ids ...int64) *DirectorySitesListCall {
29502	var ids_ []string
29503	for _, v := range ids {
29504		ids_ = append(ids_, fmt.Sprint(v))
29505	}
29506	c.urlParams_.SetMulti("ids", ids_)
29507	return c
29508}
29509
29510// MaxResults sets the optional parameter "maxResults": Maximum number
29511// of results to return.
29512func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
29513	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
29514	return c
29515}
29516
29517// PageToken sets the optional parameter "pageToken": Value of the
29518// nextPageToken from the previous result page.
29519func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
29520	c.urlParams_.Set("pageToken", pageToken)
29521	return c
29522}
29523
29524// SearchString sets the optional parameter "searchString": Allows
29525// searching for objects by name, ID or URL. Wildcards (*) are allowed.
29526// For example, "directory site*2015" will return objects with names
29527// like "directory site June 2015", "directory site April 2015", or
29528// simply "directory site 2015". Most of the searches also add wildcards
29529// implicitly at the start and the end of the search string. For
29530// example, a search string of "directory site" will match objects with
29531// name "my directory site", "directory site 2015" or simply, "directory
29532// site".
29533func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
29534	c.urlParams_.Set("searchString", searchString)
29535	return c
29536}
29537
29538// SortField sets the optional parameter "sortField": Field by which to
29539// sort the list.
29540//
29541// Possible values:
29542//   "ID" (default)
29543//   "NAME"
29544func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
29545	c.urlParams_.Set("sortField", sortField)
29546	return c
29547}
29548
29549// SortOrder sets the optional parameter "sortOrder": Order of sorted
29550// results.
29551//
29552// Possible values:
29553//   "ASCENDING" (default)
29554//   "DESCENDING"
29555func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
29556	c.urlParams_.Set("sortOrder", sortOrder)
29557	return c
29558}
29559
29560// Fields allows partial responses to be retrieved. See
29561// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29562// for more information.
29563func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
29564	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29565	return c
29566}
29567
29568// IfNoneMatch sets the optional parameter which makes the operation
29569// fail if the object's ETag matches the given value. This is useful for
29570// getting updates only after the object has changed since the last
29571// request. Use googleapi.IsNotModified to check whether the response
29572// error from Do is the result of In-None-Match.
29573func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
29574	c.ifNoneMatch_ = entityTag
29575	return c
29576}
29577
29578// Context sets the context to be used in this call's Do method. Any
29579// pending HTTP request will be aborted if the provided context is
29580// canceled.
29581func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
29582	c.ctx_ = ctx
29583	return c
29584}
29585
29586// Header returns an http.Header that can be modified by the caller to
29587// add HTTP headers to the request.
29588func (c *DirectorySitesListCall) Header() http.Header {
29589	if c.header_ == nil {
29590		c.header_ = make(http.Header)
29591	}
29592	return c.header_
29593}
29594
29595func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
29596	reqHeaders := make(http.Header)
29597	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
29598	for k, v := range c.header_ {
29599		reqHeaders[k] = v
29600	}
29601	reqHeaders.Set("User-Agent", c.s.userAgent())
29602	if c.ifNoneMatch_ != "" {
29603		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29604	}
29605	var body io.Reader = nil
29606	c.urlParams_.Set("alt", alt)
29607	c.urlParams_.Set("prettyPrint", "false")
29608	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
29609	urls += "?" + c.urlParams_.Encode()
29610	req, err := http.NewRequest("GET", urls, body)
29611	if err != nil {
29612		return nil, err
29613	}
29614	req.Header = reqHeaders
29615	googleapi.Expand(req.URL, map[string]string{
29616		"profileId": strconv.FormatInt(c.profileId, 10),
29617	})
29618	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29619}
29620
29621// Do executes the "dfareporting.directorySites.list" call.
29622// Exactly one of *DirectorySitesListResponse or error will be non-nil.
29623// Any non-2xx status code is an error. Response headers are in either
29624// *DirectorySitesListResponse.ServerResponse.Header or (if a response
29625// was returned at all) in error.(*googleapi.Error).Header. Use
29626// googleapi.IsNotModified to check whether the returned error was
29627// because http.StatusNotModified was returned.
29628func (c *DirectorySitesListCall) Do(opts ...googleapi.CallOption) (*DirectorySitesListResponse, error) {
29629	gensupport.SetOptions(c.urlParams_, opts...)
29630	res, err := c.doRequest("json")
29631	if res != nil && res.StatusCode == http.StatusNotModified {
29632		if res.Body != nil {
29633			res.Body.Close()
29634		}
29635		return nil, &googleapi.Error{
29636			Code:   res.StatusCode,
29637			Header: res.Header,
29638		}
29639	}
29640	if err != nil {
29641		return nil, err
29642	}
29643	defer googleapi.CloseBody(res)
29644	if err := googleapi.CheckResponse(res); err != nil {
29645		return nil, err
29646	}
29647	ret := &DirectorySitesListResponse{
29648		ServerResponse: googleapi.ServerResponse{
29649			Header:         res.Header,
29650			HTTPStatusCode: res.StatusCode,
29651		},
29652	}
29653	target := &ret
29654	if err := gensupport.DecodeResponse(target, res); err != nil {
29655		return nil, err
29656	}
29657	return ret, nil
29658	// {
29659	//   "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
29660	//   "flatPath": "userprofiles/{profileId}/directorySites",
29661	//   "httpMethod": "GET",
29662	//   "id": "dfareporting.directorySites.list",
29663	//   "parameterOrder": [
29664	//     "profileId"
29665	//   ],
29666	//   "parameters": {
29667	//     "acceptsInStreamVideoPlacements": {
29668	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
29669	//       "location": "query",
29670	//       "type": "boolean"
29671	//     },
29672	//     "acceptsInterstitialPlacements": {
29673	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
29674	//       "location": "query",
29675	//       "type": "boolean"
29676	//     },
29677	//     "acceptsPublisherPaidPlacements": {
29678	//       "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.",
29679	//       "location": "query",
29680	//       "type": "boolean"
29681	//     },
29682	//     "active": {
29683	//       "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.",
29684	//       "location": "query",
29685	//       "type": "boolean"
29686	//     },
29687	//     "dfpNetworkCode": {
29688	//       "description": "Select only directory sites with this Ad Manager network code.",
29689	//       "location": "query",
29690	//       "type": "string"
29691	//     },
29692	//     "ids": {
29693	//       "description": "Select only directory sites with these IDs.",
29694	//       "format": "int64",
29695	//       "location": "query",
29696	//       "repeated": true,
29697	//       "type": "string"
29698	//     },
29699	//     "maxResults": {
29700	//       "default": "1000",
29701	//       "description": "Maximum number of results to return.",
29702	//       "format": "int32",
29703	//       "location": "query",
29704	//       "maximum": "1000",
29705	//       "minimum": "0",
29706	//       "type": "integer"
29707	//     },
29708	//     "pageToken": {
29709	//       "description": "Value of the nextPageToken from the previous result page.",
29710	//       "location": "query",
29711	//       "type": "string"
29712	//     },
29713	//     "profileId": {
29714	//       "description": "User profile ID associated with this request.",
29715	//       "format": "int64",
29716	//       "location": "path",
29717	//       "required": true,
29718	//       "type": "string"
29719	//     },
29720	//     "searchString": {
29721	//       "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\".",
29722	//       "location": "query",
29723	//       "type": "string"
29724	//     },
29725	//     "sortField": {
29726	//       "default": "ID",
29727	//       "description": "Field by which to sort the list.",
29728	//       "enum": [
29729	//         "ID",
29730	//         "NAME"
29731	//       ],
29732	//       "enumDescriptions": [
29733	//         "",
29734	//         ""
29735	//       ],
29736	//       "location": "query",
29737	//       "type": "string"
29738	//     },
29739	//     "sortOrder": {
29740	//       "default": "ASCENDING",
29741	//       "description": "Order of sorted results.",
29742	//       "enum": [
29743	//         "ASCENDING",
29744	//         "DESCENDING"
29745	//       ],
29746	//       "enumDescriptions": [
29747	//         "",
29748	//         ""
29749	//       ],
29750	//       "location": "query",
29751	//       "type": "string"
29752	//     }
29753	//   },
29754	//   "path": "userprofiles/{profileId}/directorySites",
29755	//   "response": {
29756	//     "$ref": "DirectorySitesListResponse"
29757	//   },
29758	//   "scopes": [
29759	//     "https://www.googleapis.com/auth/dfatrafficking"
29760	//   ]
29761	// }
29762
29763}
29764
29765// Pages invokes f for each page of results.
29766// A non-nil error returned from f will halt the iteration.
29767// The provided context supersedes any context provided to the Context method.
29768func (c *DirectorySitesListCall) Pages(ctx context.Context, f func(*DirectorySitesListResponse) error) error {
29769	c.ctx_ = ctx
29770	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29771	for {
29772		x, err := c.Do()
29773		if err != nil {
29774			return err
29775		}
29776		if err := f(x); err != nil {
29777			return err
29778		}
29779		if x.NextPageToken == "" {
29780			return nil
29781		}
29782		c.PageToken(x.NextPageToken)
29783	}
29784}
29785
29786// method id "dfareporting.dynamicTargetingKeys.delete":
29787
29788type DynamicTargetingKeysDeleteCall struct {
29789	s          *Service
29790	profileId  int64
29791	objectId   int64
29792	urlParams_ gensupport.URLParams
29793	ctx_       context.Context
29794	header_    http.Header
29795}
29796
29797// Delete: Deletes an existing dynamic targeting key.
29798func (r *DynamicTargetingKeysService) Delete(profileId int64, objectId int64, name string, objectType string) *DynamicTargetingKeysDeleteCall {
29799	c := &DynamicTargetingKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29800	c.profileId = profileId
29801	c.objectId = objectId
29802	c.urlParams_.Set("name", name)
29803	c.urlParams_.Set("objectType", objectType)
29804	return c
29805}
29806
29807// Fields allows partial responses to be retrieved. See
29808// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29809// for more information.
29810func (c *DynamicTargetingKeysDeleteCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysDeleteCall {
29811	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29812	return c
29813}
29814
29815// Context sets the context to be used in this call's Do method. Any
29816// pending HTTP request will be aborted if the provided context is
29817// canceled.
29818func (c *DynamicTargetingKeysDeleteCall) Context(ctx context.Context) *DynamicTargetingKeysDeleteCall {
29819	c.ctx_ = ctx
29820	return c
29821}
29822
29823// Header returns an http.Header that can be modified by the caller to
29824// add HTTP headers to the request.
29825func (c *DynamicTargetingKeysDeleteCall) Header() http.Header {
29826	if c.header_ == nil {
29827		c.header_ = make(http.Header)
29828	}
29829	return c.header_
29830}
29831
29832func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
29833	reqHeaders := make(http.Header)
29834	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
29835	for k, v := range c.header_ {
29836		reqHeaders[k] = v
29837	}
29838	reqHeaders.Set("User-Agent", c.s.userAgent())
29839	var body io.Reader = nil
29840	c.urlParams_.Set("alt", alt)
29841	c.urlParams_.Set("prettyPrint", "false")
29842	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}")
29843	urls += "?" + c.urlParams_.Encode()
29844	req, err := http.NewRequest("DELETE", urls, body)
29845	if err != nil {
29846		return nil, err
29847	}
29848	req.Header = reqHeaders
29849	googleapi.Expand(req.URL, map[string]string{
29850		"profileId": strconv.FormatInt(c.profileId, 10),
29851		"objectId":  strconv.FormatInt(c.objectId, 10),
29852	})
29853	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29854}
29855
29856// Do executes the "dfareporting.dynamicTargetingKeys.delete" call.
29857func (c *DynamicTargetingKeysDeleteCall) Do(opts ...googleapi.CallOption) error {
29858	gensupport.SetOptions(c.urlParams_, opts...)
29859	res, err := c.doRequest("json")
29860	if err != nil {
29861		return err
29862	}
29863	defer googleapi.CloseBody(res)
29864	if err := googleapi.CheckResponse(res); err != nil {
29865		return err
29866	}
29867	return nil
29868	// {
29869	//   "description": "Deletes an existing dynamic targeting key.",
29870	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
29871	//   "httpMethod": "DELETE",
29872	//   "id": "dfareporting.dynamicTargetingKeys.delete",
29873	//   "parameterOrder": [
29874	//     "profileId",
29875	//     "objectId",
29876	//     "name",
29877	//     "objectType"
29878	//   ],
29879	//   "parameters": {
29880	//     "name": {
29881	//       "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.",
29882	//       "location": "query",
29883	//       "required": true,
29884	//       "type": "string"
29885	//     },
29886	//     "objectId": {
29887	//       "description": "ID of the object of this dynamic targeting key. This is a required field.",
29888	//       "format": "int64",
29889	//       "location": "path",
29890	//       "required": true,
29891	//       "type": "string"
29892	//     },
29893	//     "objectType": {
29894	//       "description": "Type of the object of this dynamic targeting key. This is a required field.",
29895	//       "enum": [
29896	//         "OBJECT_ADVERTISER",
29897	//         "OBJECT_AD",
29898	//         "OBJECT_CREATIVE",
29899	//         "OBJECT_PLACEMENT"
29900	//       ],
29901	//       "enumDescriptions": [
29902	//         "",
29903	//         "",
29904	//         "",
29905	//         ""
29906	//       ],
29907	//       "location": "query",
29908	//       "required": true,
29909	//       "type": "string"
29910	//     },
29911	//     "profileId": {
29912	//       "description": "User profile ID associated with this request.",
29913	//       "format": "int64",
29914	//       "location": "path",
29915	//       "required": true,
29916	//       "type": "string"
29917	//     }
29918	//   },
29919	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
29920	//   "scopes": [
29921	//     "https://www.googleapis.com/auth/dfatrafficking"
29922	//   ]
29923	// }
29924
29925}
29926
29927// method id "dfareporting.dynamicTargetingKeys.insert":
29928
29929type DynamicTargetingKeysInsertCall struct {
29930	s                   *Service
29931	profileId           int64
29932	dynamictargetingkey *DynamicTargetingKey
29933	urlParams_          gensupport.URLParams
29934	ctx_                context.Context
29935	header_             http.Header
29936}
29937
29938// Insert: Inserts a new dynamic targeting key. Keys must be created at
29939// the advertiser level before being assigned to the advertiser's ads,
29940// creatives, or placements. There is a maximum of 1000 keys per
29941// advertiser, out of which a maximum of 20 keys can be assigned per ad,
29942// creative, or placement.
29943func (r *DynamicTargetingKeysService) Insert(profileId int64, dynamictargetingkey *DynamicTargetingKey) *DynamicTargetingKeysInsertCall {
29944	c := &DynamicTargetingKeysInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29945	c.profileId = profileId
29946	c.dynamictargetingkey = dynamictargetingkey
29947	return c
29948}
29949
29950// Fields allows partial responses to be retrieved. See
29951// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29952// for more information.
29953func (c *DynamicTargetingKeysInsertCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysInsertCall {
29954	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29955	return c
29956}
29957
29958// Context sets the context to be used in this call's Do method. Any
29959// pending HTTP request will be aborted if the provided context is
29960// canceled.
29961func (c *DynamicTargetingKeysInsertCall) Context(ctx context.Context) *DynamicTargetingKeysInsertCall {
29962	c.ctx_ = ctx
29963	return c
29964}
29965
29966// Header returns an http.Header that can be modified by the caller to
29967// add HTTP headers to the request.
29968func (c *DynamicTargetingKeysInsertCall) Header() http.Header {
29969	if c.header_ == nil {
29970		c.header_ = make(http.Header)
29971	}
29972	return c.header_
29973}
29974
29975func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
29976	reqHeaders := make(http.Header)
29977	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
29978	for k, v := range c.header_ {
29979		reqHeaders[k] = v
29980	}
29981	reqHeaders.Set("User-Agent", c.s.userAgent())
29982	var body io.Reader = nil
29983	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dynamictargetingkey)
29984	if err != nil {
29985		return nil, err
29986	}
29987	reqHeaders.Set("Content-Type", "application/json")
29988	c.urlParams_.Set("alt", alt)
29989	c.urlParams_.Set("prettyPrint", "false")
29990	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
29991	urls += "?" + c.urlParams_.Encode()
29992	req, err := http.NewRequest("POST", urls, body)
29993	if err != nil {
29994		return nil, err
29995	}
29996	req.Header = reqHeaders
29997	googleapi.Expand(req.URL, map[string]string{
29998		"profileId": strconv.FormatInt(c.profileId, 10),
29999	})
30000	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30001}
30002
30003// Do executes the "dfareporting.dynamicTargetingKeys.insert" call.
30004// Exactly one of *DynamicTargetingKey or error will be non-nil. Any
30005// non-2xx status code is an error. Response headers are in either
30006// *DynamicTargetingKey.ServerResponse.Header or (if a response was
30007// returned at all) in error.(*googleapi.Error).Header. Use
30008// googleapi.IsNotModified to check whether the returned error was
30009// because http.StatusNotModified was returned.
30010func (c *DynamicTargetingKeysInsertCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKey, error) {
30011	gensupport.SetOptions(c.urlParams_, opts...)
30012	res, err := c.doRequest("json")
30013	if res != nil && res.StatusCode == http.StatusNotModified {
30014		if res.Body != nil {
30015			res.Body.Close()
30016		}
30017		return nil, &googleapi.Error{
30018			Code:   res.StatusCode,
30019			Header: res.Header,
30020		}
30021	}
30022	if err != nil {
30023		return nil, err
30024	}
30025	defer googleapi.CloseBody(res)
30026	if err := googleapi.CheckResponse(res); err != nil {
30027		return nil, err
30028	}
30029	ret := &DynamicTargetingKey{
30030		ServerResponse: googleapi.ServerResponse{
30031			Header:         res.Header,
30032			HTTPStatusCode: res.StatusCode,
30033		},
30034	}
30035	target := &ret
30036	if err := gensupport.DecodeResponse(target, res); err != nil {
30037		return nil, err
30038	}
30039	return ret, nil
30040	// {
30041	//   "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.",
30042	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
30043	//   "httpMethod": "POST",
30044	//   "id": "dfareporting.dynamicTargetingKeys.insert",
30045	//   "parameterOrder": [
30046	//     "profileId"
30047	//   ],
30048	//   "parameters": {
30049	//     "profileId": {
30050	//       "description": "User profile ID associated with this request.",
30051	//       "format": "int64",
30052	//       "location": "path",
30053	//       "required": true,
30054	//       "type": "string"
30055	//     }
30056	//   },
30057	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
30058	//   "request": {
30059	//     "$ref": "DynamicTargetingKey"
30060	//   },
30061	//   "response": {
30062	//     "$ref": "DynamicTargetingKey"
30063	//   },
30064	//   "scopes": [
30065	//     "https://www.googleapis.com/auth/dfatrafficking"
30066	//   ]
30067	// }
30068
30069}
30070
30071// method id "dfareporting.dynamicTargetingKeys.list":
30072
30073type DynamicTargetingKeysListCall struct {
30074	s            *Service
30075	profileId    int64
30076	urlParams_   gensupport.URLParams
30077	ifNoneMatch_ string
30078	ctx_         context.Context
30079	header_      http.Header
30080}
30081
30082// List: Retrieves a list of dynamic targeting keys.
30083func (r *DynamicTargetingKeysService) List(profileId int64) *DynamicTargetingKeysListCall {
30084	c := &DynamicTargetingKeysListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30085	c.profileId = profileId
30086	return c
30087}
30088
30089// AdvertiserId sets the optional parameter "advertiserId": Select only
30090// dynamic targeting keys whose object has this advertiser ID.
30091func (c *DynamicTargetingKeysListCall) AdvertiserId(advertiserId int64) *DynamicTargetingKeysListCall {
30092	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30093	return c
30094}
30095
30096// Names sets the optional parameter "names": Select only dynamic
30097// targeting keys exactly matching these names.
30098func (c *DynamicTargetingKeysListCall) Names(names ...string) *DynamicTargetingKeysListCall {
30099	c.urlParams_.SetMulti("names", append([]string{}, names...))
30100	return c
30101}
30102
30103// ObjectId sets the optional parameter "objectId": Select only dynamic
30104// targeting keys with this object ID.
30105func (c *DynamicTargetingKeysListCall) ObjectId(objectId int64) *DynamicTargetingKeysListCall {
30106	c.urlParams_.Set("objectId", fmt.Sprint(objectId))
30107	return c
30108}
30109
30110// ObjectType sets the optional parameter "objectType": Select only
30111// dynamic targeting keys with this object type.
30112//
30113// Possible values:
30114//   "OBJECT_ADVERTISER"
30115//   "OBJECT_AD"
30116//   "OBJECT_CREATIVE"
30117//   "OBJECT_PLACEMENT"
30118func (c *DynamicTargetingKeysListCall) ObjectType(objectType string) *DynamicTargetingKeysListCall {
30119	c.urlParams_.Set("objectType", objectType)
30120	return c
30121}
30122
30123// Fields allows partial responses to be retrieved. See
30124// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30125// for more information.
30126func (c *DynamicTargetingKeysListCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysListCall {
30127	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30128	return c
30129}
30130
30131// IfNoneMatch sets the optional parameter which makes the operation
30132// fail if the object's ETag matches the given value. This is useful for
30133// getting updates only after the object has changed since the last
30134// request. Use googleapi.IsNotModified to check whether the response
30135// error from Do is the result of In-None-Match.
30136func (c *DynamicTargetingKeysListCall) IfNoneMatch(entityTag string) *DynamicTargetingKeysListCall {
30137	c.ifNoneMatch_ = entityTag
30138	return c
30139}
30140
30141// Context sets the context to be used in this call's Do method. Any
30142// pending HTTP request will be aborted if the provided context is
30143// canceled.
30144func (c *DynamicTargetingKeysListCall) Context(ctx context.Context) *DynamicTargetingKeysListCall {
30145	c.ctx_ = ctx
30146	return c
30147}
30148
30149// Header returns an http.Header that can be modified by the caller to
30150// add HTTP headers to the request.
30151func (c *DynamicTargetingKeysListCall) Header() http.Header {
30152	if c.header_ == nil {
30153		c.header_ = make(http.Header)
30154	}
30155	return c.header_
30156}
30157
30158func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
30159	reqHeaders := make(http.Header)
30160	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
30161	for k, v := range c.header_ {
30162		reqHeaders[k] = v
30163	}
30164	reqHeaders.Set("User-Agent", c.s.userAgent())
30165	if c.ifNoneMatch_ != "" {
30166		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30167	}
30168	var body io.Reader = nil
30169	c.urlParams_.Set("alt", alt)
30170	c.urlParams_.Set("prettyPrint", "false")
30171	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
30172	urls += "?" + c.urlParams_.Encode()
30173	req, err := http.NewRequest("GET", urls, body)
30174	if err != nil {
30175		return nil, err
30176	}
30177	req.Header = reqHeaders
30178	googleapi.Expand(req.URL, map[string]string{
30179		"profileId": strconv.FormatInt(c.profileId, 10),
30180	})
30181	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30182}
30183
30184// Do executes the "dfareporting.dynamicTargetingKeys.list" call.
30185// Exactly one of *DynamicTargetingKeysListResponse or error will be
30186// non-nil. Any non-2xx status code is an error. Response headers are in
30187// either *DynamicTargetingKeysListResponse.ServerResponse.Header or (if
30188// a response was returned at all) in error.(*googleapi.Error).Header.
30189// Use googleapi.IsNotModified to check whether the returned error was
30190// because http.StatusNotModified was returned.
30191func (c *DynamicTargetingKeysListCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKeysListResponse, error) {
30192	gensupport.SetOptions(c.urlParams_, opts...)
30193	res, err := c.doRequest("json")
30194	if res != nil && res.StatusCode == http.StatusNotModified {
30195		if res.Body != nil {
30196			res.Body.Close()
30197		}
30198		return nil, &googleapi.Error{
30199			Code:   res.StatusCode,
30200			Header: res.Header,
30201		}
30202	}
30203	if err != nil {
30204		return nil, err
30205	}
30206	defer googleapi.CloseBody(res)
30207	if err := googleapi.CheckResponse(res); err != nil {
30208		return nil, err
30209	}
30210	ret := &DynamicTargetingKeysListResponse{
30211		ServerResponse: googleapi.ServerResponse{
30212			Header:         res.Header,
30213			HTTPStatusCode: res.StatusCode,
30214		},
30215	}
30216	target := &ret
30217	if err := gensupport.DecodeResponse(target, res); err != nil {
30218		return nil, err
30219	}
30220	return ret, nil
30221	// {
30222	//   "description": "Retrieves a list of dynamic targeting keys.",
30223	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
30224	//   "httpMethod": "GET",
30225	//   "id": "dfareporting.dynamicTargetingKeys.list",
30226	//   "parameterOrder": [
30227	//     "profileId"
30228	//   ],
30229	//   "parameters": {
30230	//     "advertiserId": {
30231	//       "description": "Select only dynamic targeting keys whose object has this advertiser ID.",
30232	//       "format": "int64",
30233	//       "location": "query",
30234	//       "type": "string"
30235	//     },
30236	//     "names": {
30237	//       "description": "Select only dynamic targeting keys exactly matching these names.",
30238	//       "location": "query",
30239	//       "repeated": true,
30240	//       "type": "string"
30241	//     },
30242	//     "objectId": {
30243	//       "description": "Select only dynamic targeting keys with this object ID.",
30244	//       "format": "int64",
30245	//       "location": "query",
30246	//       "type": "string"
30247	//     },
30248	//     "objectType": {
30249	//       "description": "Select only dynamic targeting keys with this object type.",
30250	//       "enum": [
30251	//         "OBJECT_ADVERTISER",
30252	//         "OBJECT_AD",
30253	//         "OBJECT_CREATIVE",
30254	//         "OBJECT_PLACEMENT"
30255	//       ],
30256	//       "enumDescriptions": [
30257	//         "",
30258	//         "",
30259	//         "",
30260	//         ""
30261	//       ],
30262	//       "location": "query",
30263	//       "type": "string"
30264	//     },
30265	//     "profileId": {
30266	//       "description": "User profile ID associated with this request.",
30267	//       "format": "int64",
30268	//       "location": "path",
30269	//       "required": true,
30270	//       "type": "string"
30271	//     }
30272	//   },
30273	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
30274	//   "response": {
30275	//     "$ref": "DynamicTargetingKeysListResponse"
30276	//   },
30277	//   "scopes": [
30278	//     "https://www.googleapis.com/auth/dfatrafficking"
30279	//   ]
30280	// }
30281
30282}
30283
30284// method id "dfareporting.eventTags.delete":
30285
30286type EventTagsDeleteCall struct {
30287	s          *Service
30288	profileId  int64
30289	id         int64
30290	urlParams_ gensupport.URLParams
30291	ctx_       context.Context
30292	header_    http.Header
30293}
30294
30295// Delete: Deletes an existing event tag.
30296func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
30297	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30298	c.profileId = profileId
30299	c.id = id
30300	return c
30301}
30302
30303// Fields allows partial responses to be retrieved. See
30304// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30305// for more information.
30306func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
30307	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30308	return c
30309}
30310
30311// Context sets the context to be used in this call's Do method. Any
30312// pending HTTP request will be aborted if the provided context is
30313// canceled.
30314func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
30315	c.ctx_ = ctx
30316	return c
30317}
30318
30319// Header returns an http.Header that can be modified by the caller to
30320// add HTTP headers to the request.
30321func (c *EventTagsDeleteCall) Header() http.Header {
30322	if c.header_ == nil {
30323		c.header_ = make(http.Header)
30324	}
30325	return c.header_
30326}
30327
30328func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
30329	reqHeaders := make(http.Header)
30330	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
30331	for k, v := range c.header_ {
30332		reqHeaders[k] = v
30333	}
30334	reqHeaders.Set("User-Agent", c.s.userAgent())
30335	var body io.Reader = nil
30336	c.urlParams_.Set("alt", alt)
30337	c.urlParams_.Set("prettyPrint", "false")
30338	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
30339	urls += "?" + c.urlParams_.Encode()
30340	req, err := http.NewRequest("DELETE", urls, body)
30341	if err != nil {
30342		return nil, err
30343	}
30344	req.Header = reqHeaders
30345	googleapi.Expand(req.URL, map[string]string{
30346		"profileId": strconv.FormatInt(c.profileId, 10),
30347		"id":        strconv.FormatInt(c.id, 10),
30348	})
30349	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30350}
30351
30352// Do executes the "dfareporting.eventTags.delete" call.
30353func (c *EventTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
30354	gensupport.SetOptions(c.urlParams_, opts...)
30355	res, err := c.doRequest("json")
30356	if err != nil {
30357		return err
30358	}
30359	defer googleapi.CloseBody(res)
30360	if err := googleapi.CheckResponse(res); err != nil {
30361		return err
30362	}
30363	return nil
30364	// {
30365	//   "description": "Deletes an existing event tag.",
30366	//   "flatPath": "userprofiles/{profileId}/eventTags/{id}",
30367	//   "httpMethod": "DELETE",
30368	//   "id": "dfareporting.eventTags.delete",
30369	//   "parameterOrder": [
30370	//     "profileId",
30371	//     "id"
30372	//   ],
30373	//   "parameters": {
30374	//     "id": {
30375	//       "description": "Event tag ID.",
30376	//       "format": "int64",
30377	//       "location": "path",
30378	//       "required": true,
30379	//       "type": "string"
30380	//     },
30381	//     "profileId": {
30382	//       "description": "User profile ID associated with this request.",
30383	//       "format": "int64",
30384	//       "location": "path",
30385	//       "required": true,
30386	//       "type": "string"
30387	//     }
30388	//   },
30389	//   "path": "userprofiles/{profileId}/eventTags/{id}",
30390	//   "scopes": [
30391	//     "https://www.googleapis.com/auth/dfatrafficking"
30392	//   ]
30393	// }
30394
30395}
30396
30397// method id "dfareporting.eventTags.get":
30398
30399type EventTagsGetCall struct {
30400	s            *Service
30401	profileId    int64
30402	id           int64
30403	urlParams_   gensupport.URLParams
30404	ifNoneMatch_ string
30405	ctx_         context.Context
30406	header_      http.Header
30407}
30408
30409// Get: Gets one event tag by ID.
30410func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
30411	c := &EventTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30412	c.profileId = profileId
30413	c.id = id
30414	return c
30415}
30416
30417// Fields allows partial responses to be retrieved. See
30418// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30419// for more information.
30420func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
30421	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30422	return c
30423}
30424
30425// IfNoneMatch sets the optional parameter which makes the operation
30426// fail if the object's ETag matches the given value. This is useful for
30427// getting updates only after the object has changed since the last
30428// request. Use googleapi.IsNotModified to check whether the response
30429// error from Do is the result of In-None-Match.
30430func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
30431	c.ifNoneMatch_ = entityTag
30432	return c
30433}
30434
30435// Context sets the context to be used in this call's Do method. Any
30436// pending HTTP request will be aborted if the provided context is
30437// canceled.
30438func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
30439	c.ctx_ = ctx
30440	return c
30441}
30442
30443// Header returns an http.Header that can be modified by the caller to
30444// add HTTP headers to the request.
30445func (c *EventTagsGetCall) Header() http.Header {
30446	if c.header_ == nil {
30447		c.header_ = make(http.Header)
30448	}
30449	return c.header_
30450}
30451
30452func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
30453	reqHeaders := make(http.Header)
30454	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
30455	for k, v := range c.header_ {
30456		reqHeaders[k] = v
30457	}
30458	reqHeaders.Set("User-Agent", c.s.userAgent())
30459	if c.ifNoneMatch_ != "" {
30460		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30461	}
30462	var body io.Reader = nil
30463	c.urlParams_.Set("alt", alt)
30464	c.urlParams_.Set("prettyPrint", "false")
30465	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
30466	urls += "?" + c.urlParams_.Encode()
30467	req, err := http.NewRequest("GET", urls, body)
30468	if err != nil {
30469		return nil, err
30470	}
30471	req.Header = reqHeaders
30472	googleapi.Expand(req.URL, map[string]string{
30473		"profileId": strconv.FormatInt(c.profileId, 10),
30474		"id":        strconv.FormatInt(c.id, 10),
30475	})
30476	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30477}
30478
30479// Do executes the "dfareporting.eventTags.get" call.
30480// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
30481// code is an error. Response headers are in either
30482// *EventTag.ServerResponse.Header or (if a response was returned at
30483// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
30484// to check whether the returned error was because
30485// http.StatusNotModified was returned.
30486func (c *EventTagsGetCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
30487	gensupport.SetOptions(c.urlParams_, opts...)
30488	res, err := c.doRequest("json")
30489	if res != nil && res.StatusCode == http.StatusNotModified {
30490		if res.Body != nil {
30491			res.Body.Close()
30492		}
30493		return nil, &googleapi.Error{
30494			Code:   res.StatusCode,
30495			Header: res.Header,
30496		}
30497	}
30498	if err != nil {
30499		return nil, err
30500	}
30501	defer googleapi.CloseBody(res)
30502	if err := googleapi.CheckResponse(res); err != nil {
30503		return nil, err
30504	}
30505	ret := &EventTag{
30506		ServerResponse: googleapi.ServerResponse{
30507			Header:         res.Header,
30508			HTTPStatusCode: res.StatusCode,
30509		},
30510	}
30511	target := &ret
30512	if err := gensupport.DecodeResponse(target, res); err != nil {
30513		return nil, err
30514	}
30515	return ret, nil
30516	// {
30517	//   "description": "Gets one event tag by ID.",
30518	//   "flatPath": "userprofiles/{profileId}/eventTags/{id}",
30519	//   "httpMethod": "GET",
30520	//   "id": "dfareporting.eventTags.get",
30521	//   "parameterOrder": [
30522	//     "profileId",
30523	//     "id"
30524	//   ],
30525	//   "parameters": {
30526	//     "id": {
30527	//       "description": "Event tag ID.",
30528	//       "format": "int64",
30529	//       "location": "path",
30530	//       "required": true,
30531	//       "type": "string"
30532	//     },
30533	//     "profileId": {
30534	//       "description": "User profile ID associated with this request.",
30535	//       "format": "int64",
30536	//       "location": "path",
30537	//       "required": true,
30538	//       "type": "string"
30539	//     }
30540	//   },
30541	//   "path": "userprofiles/{profileId}/eventTags/{id}",
30542	//   "response": {
30543	//     "$ref": "EventTag"
30544	//   },
30545	//   "scopes": [
30546	//     "https://www.googleapis.com/auth/dfatrafficking"
30547	//   ]
30548	// }
30549
30550}
30551
30552// method id "dfareporting.eventTags.insert":
30553
30554type EventTagsInsertCall struct {
30555	s          *Service
30556	profileId  int64
30557	eventtag   *EventTag
30558	urlParams_ gensupport.URLParams
30559	ctx_       context.Context
30560	header_    http.Header
30561}
30562
30563// Insert: Inserts a new event tag.
30564func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
30565	c := &EventTagsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30566	c.profileId = profileId
30567	c.eventtag = eventtag
30568	return c
30569}
30570
30571// Fields allows partial responses to be retrieved. See
30572// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30573// for more information.
30574func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
30575	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30576	return c
30577}
30578
30579// Context sets the context to be used in this call's Do method. Any
30580// pending HTTP request will be aborted if the provided context is
30581// canceled.
30582func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
30583	c.ctx_ = ctx
30584	return c
30585}
30586
30587// Header returns an http.Header that can be modified by the caller to
30588// add HTTP headers to the request.
30589func (c *EventTagsInsertCall) Header() http.Header {
30590	if c.header_ == nil {
30591		c.header_ = make(http.Header)
30592	}
30593	return c.header_
30594}
30595
30596func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
30597	reqHeaders := make(http.Header)
30598	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
30599	for k, v := range c.header_ {
30600		reqHeaders[k] = v
30601	}
30602	reqHeaders.Set("User-Agent", c.s.userAgent())
30603	var body io.Reader = nil
30604	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
30605	if err != nil {
30606		return nil, err
30607	}
30608	reqHeaders.Set("Content-Type", "application/json")
30609	c.urlParams_.Set("alt", alt)
30610	c.urlParams_.Set("prettyPrint", "false")
30611	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
30612	urls += "?" + c.urlParams_.Encode()
30613	req, err := http.NewRequest("POST", urls, body)
30614	if err != nil {
30615		return nil, err
30616	}
30617	req.Header = reqHeaders
30618	googleapi.Expand(req.URL, map[string]string{
30619		"profileId": strconv.FormatInt(c.profileId, 10),
30620	})
30621	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30622}
30623
30624// Do executes the "dfareporting.eventTags.insert" call.
30625// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
30626// code is an error. Response headers are in either
30627// *EventTag.ServerResponse.Header or (if a response was returned at
30628// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
30629// to check whether the returned error was because
30630// http.StatusNotModified was returned.
30631func (c *EventTagsInsertCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
30632	gensupport.SetOptions(c.urlParams_, opts...)
30633	res, err := c.doRequest("json")
30634	if res != nil && res.StatusCode == http.StatusNotModified {
30635		if res.Body != nil {
30636			res.Body.Close()
30637		}
30638		return nil, &googleapi.Error{
30639			Code:   res.StatusCode,
30640			Header: res.Header,
30641		}
30642	}
30643	if err != nil {
30644		return nil, err
30645	}
30646	defer googleapi.CloseBody(res)
30647	if err := googleapi.CheckResponse(res); err != nil {
30648		return nil, err
30649	}
30650	ret := &EventTag{
30651		ServerResponse: googleapi.ServerResponse{
30652			Header:         res.Header,
30653			HTTPStatusCode: res.StatusCode,
30654		},
30655	}
30656	target := &ret
30657	if err := gensupport.DecodeResponse(target, res); err != nil {
30658		return nil, err
30659	}
30660	return ret, nil
30661	// {
30662	//   "description": "Inserts a new event tag.",
30663	//   "flatPath": "userprofiles/{profileId}/eventTags",
30664	//   "httpMethod": "POST",
30665	//   "id": "dfareporting.eventTags.insert",
30666	//   "parameterOrder": [
30667	//     "profileId"
30668	//   ],
30669	//   "parameters": {
30670	//     "profileId": {
30671	//       "description": "User profile ID associated with this request.",
30672	//       "format": "int64",
30673	//       "location": "path",
30674	//       "required": true,
30675	//       "type": "string"
30676	//     }
30677	//   },
30678	//   "path": "userprofiles/{profileId}/eventTags",
30679	//   "request": {
30680	//     "$ref": "EventTag"
30681	//   },
30682	//   "response": {
30683	//     "$ref": "EventTag"
30684	//   },
30685	//   "scopes": [
30686	//     "https://www.googleapis.com/auth/dfatrafficking"
30687	//   ]
30688	// }
30689
30690}
30691
30692// method id "dfareporting.eventTags.list":
30693
30694type EventTagsListCall struct {
30695	s            *Service
30696	profileId    int64
30697	urlParams_   gensupport.URLParams
30698	ifNoneMatch_ string
30699	ctx_         context.Context
30700	header_      http.Header
30701}
30702
30703// List: Retrieves a list of event tags, possibly filtered.
30704func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
30705	c := &EventTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30706	c.profileId = profileId
30707	return c
30708}
30709
30710// AdId sets the optional parameter "adId": Select only event tags that
30711// belong to this ad.
30712func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
30713	c.urlParams_.Set("adId", fmt.Sprint(adId))
30714	return c
30715}
30716
30717// AdvertiserId sets the optional parameter "advertiserId": Select only
30718// event tags that belong to this advertiser.
30719func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
30720	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30721	return c
30722}
30723
30724// CampaignId sets the optional parameter "campaignId": Select only
30725// event tags that belong to this campaign.
30726func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
30727	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
30728	return c
30729}
30730
30731// DefinitionsOnly sets the optional parameter "definitionsOnly":
30732// Examine only the specified campaign or advertiser's event tags for
30733// matching selector criteria. When set to false, the parent advertiser
30734// and parent campaign of the specified ad or campaign is examined as
30735// well. In addition, when set to false, the status field is examined as
30736// well, along with the enabledByDefault field. This parameter can not
30737// be set to true when adId is specified as ads do not define their own
30738// even tags.
30739func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
30740	c.urlParams_.Set("definitionsOnly", fmt.Sprint(definitionsOnly))
30741	return c
30742}
30743
30744// Enabled sets the optional parameter "enabled": Select only enabled
30745// event tags. What is considered enabled or disabled depends on the
30746// definitionsOnly parameter. When definitionsOnly is set to true, only
30747// the specified advertiser or campaign's event tags' enabledByDefault
30748// field is examined. When definitionsOnly is set to false, the
30749// specified ad or specified campaign's parent advertiser's or parent
30750// campaign's event tags' enabledByDefault and status fields are
30751// examined as well.
30752func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
30753	c.urlParams_.Set("enabled", fmt.Sprint(enabled))
30754	return c
30755}
30756
30757// EventTagTypes sets the optional parameter "eventTagTypes": Select
30758// only event tags with the specified event tag types. Event tag types
30759// can be used to specify whether to use a third-party pixel, a
30760// third-party JavaScript URL, or a third-party click-through URL for
30761// either impression or click tracking.
30762//
30763// Possible values:
30764//   "IMPRESSION_IMAGE_EVENT_TAG"
30765//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
30766//   "CLICK_THROUGH_EVENT_TAG"
30767func (c *EventTagsListCall) EventTagTypes(eventTagTypes ...string) *EventTagsListCall {
30768	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
30769	return c
30770}
30771
30772// Ids sets the optional parameter "ids": Select only event tags with
30773// these IDs.
30774func (c *EventTagsListCall) Ids(ids ...int64) *EventTagsListCall {
30775	var ids_ []string
30776	for _, v := range ids {
30777		ids_ = append(ids_, fmt.Sprint(v))
30778	}
30779	c.urlParams_.SetMulti("ids", ids_)
30780	return c
30781}
30782
30783// SearchString sets the optional parameter "searchString": Allows
30784// searching for objects by name or ID. Wildcards (*) are allowed. For
30785// example, "eventtag*2015" will return objects with names like
30786// "eventtag June 2015", "eventtag April 2015", or simply "eventtag
30787// 2015". Most of the searches also add wildcards implicitly at the
30788// start and the end of the search string. For example, a search string
30789// of "eventtag" will match objects with name "my eventtag", "eventtag
30790// 2015", or simply "eventtag".
30791func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
30792	c.urlParams_.Set("searchString", searchString)
30793	return c
30794}
30795
30796// SortField sets the optional parameter "sortField": Field by which to
30797// sort the list.
30798//
30799// Possible values:
30800//   "ID" (default)
30801//   "NAME"
30802func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
30803	c.urlParams_.Set("sortField", sortField)
30804	return c
30805}
30806
30807// SortOrder sets the optional parameter "sortOrder": Order of sorted
30808// results.
30809//
30810// Possible values:
30811//   "ASCENDING" (default)
30812//   "DESCENDING"
30813func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
30814	c.urlParams_.Set("sortOrder", sortOrder)
30815	return c
30816}
30817
30818// Fields allows partial responses to be retrieved. See
30819// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30820// for more information.
30821func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
30822	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30823	return c
30824}
30825
30826// IfNoneMatch sets the optional parameter which makes the operation
30827// fail if the object's ETag matches the given value. This is useful for
30828// getting updates only after the object has changed since the last
30829// request. Use googleapi.IsNotModified to check whether the response
30830// error from Do is the result of In-None-Match.
30831func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
30832	c.ifNoneMatch_ = entityTag
30833	return c
30834}
30835
30836// Context sets the context to be used in this call's Do method. Any
30837// pending HTTP request will be aborted if the provided context is
30838// canceled.
30839func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
30840	c.ctx_ = ctx
30841	return c
30842}
30843
30844// Header returns an http.Header that can be modified by the caller to
30845// add HTTP headers to the request.
30846func (c *EventTagsListCall) Header() http.Header {
30847	if c.header_ == nil {
30848		c.header_ = make(http.Header)
30849	}
30850	return c.header_
30851}
30852
30853func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
30854	reqHeaders := make(http.Header)
30855	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
30856	for k, v := range c.header_ {
30857		reqHeaders[k] = v
30858	}
30859	reqHeaders.Set("User-Agent", c.s.userAgent())
30860	if c.ifNoneMatch_ != "" {
30861		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30862	}
30863	var body io.Reader = nil
30864	c.urlParams_.Set("alt", alt)
30865	c.urlParams_.Set("prettyPrint", "false")
30866	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
30867	urls += "?" + c.urlParams_.Encode()
30868	req, err := http.NewRequest("GET", urls, body)
30869	if err != nil {
30870		return nil, err
30871	}
30872	req.Header = reqHeaders
30873	googleapi.Expand(req.URL, map[string]string{
30874		"profileId": strconv.FormatInt(c.profileId, 10),
30875	})
30876	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30877}
30878
30879// Do executes the "dfareporting.eventTags.list" call.
30880// Exactly one of *EventTagsListResponse or error will be non-nil. Any
30881// non-2xx status code is an error. Response headers are in either
30882// *EventTagsListResponse.ServerResponse.Header or (if a response was
30883// returned at all) in error.(*googleapi.Error).Header. Use
30884// googleapi.IsNotModified to check whether the returned error was
30885// because http.StatusNotModified was returned.
30886func (c *EventTagsListCall) Do(opts ...googleapi.CallOption) (*EventTagsListResponse, error) {
30887	gensupport.SetOptions(c.urlParams_, opts...)
30888	res, err := c.doRequest("json")
30889	if res != nil && res.StatusCode == http.StatusNotModified {
30890		if res.Body != nil {
30891			res.Body.Close()
30892		}
30893		return nil, &googleapi.Error{
30894			Code:   res.StatusCode,
30895			Header: res.Header,
30896		}
30897	}
30898	if err != nil {
30899		return nil, err
30900	}
30901	defer googleapi.CloseBody(res)
30902	if err := googleapi.CheckResponse(res); err != nil {
30903		return nil, err
30904	}
30905	ret := &EventTagsListResponse{
30906		ServerResponse: googleapi.ServerResponse{
30907			Header:         res.Header,
30908			HTTPStatusCode: res.StatusCode,
30909		},
30910	}
30911	target := &ret
30912	if err := gensupport.DecodeResponse(target, res); err != nil {
30913		return nil, err
30914	}
30915	return ret, nil
30916	// {
30917	//   "description": "Retrieves a list of event tags, possibly filtered.",
30918	//   "flatPath": "userprofiles/{profileId}/eventTags",
30919	//   "httpMethod": "GET",
30920	//   "id": "dfareporting.eventTags.list",
30921	//   "parameterOrder": [
30922	//     "profileId"
30923	//   ],
30924	//   "parameters": {
30925	//     "adId": {
30926	//       "description": "Select only event tags that belong to this ad.",
30927	//       "format": "int64",
30928	//       "location": "query",
30929	//       "type": "string"
30930	//     },
30931	//     "advertiserId": {
30932	//       "description": "Select only event tags that belong to this advertiser.",
30933	//       "format": "int64",
30934	//       "location": "query",
30935	//       "type": "string"
30936	//     },
30937	//     "campaignId": {
30938	//       "description": "Select only event tags that belong to this campaign.",
30939	//       "format": "int64",
30940	//       "location": "query",
30941	//       "type": "string"
30942	//     },
30943	//     "definitionsOnly": {
30944	//       "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.",
30945	//       "location": "query",
30946	//       "type": "boolean"
30947	//     },
30948	//     "enabled": {
30949	//       "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.",
30950	//       "location": "query",
30951	//       "type": "boolean"
30952	//     },
30953	//     "eventTagTypes": {
30954	//       "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.",
30955	//       "enum": [
30956	//         "IMPRESSION_IMAGE_EVENT_TAG",
30957	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG",
30958	//         "CLICK_THROUGH_EVENT_TAG"
30959	//       ],
30960	//       "enumDescriptions": [
30961	//         "",
30962	//         "",
30963	//         ""
30964	//       ],
30965	//       "location": "query",
30966	//       "repeated": true,
30967	//       "type": "string"
30968	//     },
30969	//     "ids": {
30970	//       "description": "Select only event tags with these IDs.",
30971	//       "format": "int64",
30972	//       "location": "query",
30973	//       "repeated": true,
30974	//       "type": "string"
30975	//     },
30976	//     "profileId": {
30977	//       "description": "User profile ID associated with this request.",
30978	//       "format": "int64",
30979	//       "location": "path",
30980	//       "required": true,
30981	//       "type": "string"
30982	//     },
30983	//     "searchString": {
30984	//       "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\".",
30985	//       "location": "query",
30986	//       "type": "string"
30987	//     },
30988	//     "sortField": {
30989	//       "default": "ID",
30990	//       "description": "Field by which to sort the list.",
30991	//       "enum": [
30992	//         "ID",
30993	//         "NAME"
30994	//       ],
30995	//       "enumDescriptions": [
30996	//         "",
30997	//         ""
30998	//       ],
30999	//       "location": "query",
31000	//       "type": "string"
31001	//     },
31002	//     "sortOrder": {
31003	//       "default": "ASCENDING",
31004	//       "description": "Order of sorted results.",
31005	//       "enum": [
31006	//         "ASCENDING",
31007	//         "DESCENDING"
31008	//       ],
31009	//       "enumDescriptions": [
31010	//         "",
31011	//         ""
31012	//       ],
31013	//       "location": "query",
31014	//       "type": "string"
31015	//     }
31016	//   },
31017	//   "path": "userprofiles/{profileId}/eventTags",
31018	//   "response": {
31019	//     "$ref": "EventTagsListResponse"
31020	//   },
31021	//   "scopes": [
31022	//     "https://www.googleapis.com/auth/dfatrafficking"
31023	//   ]
31024	// }
31025
31026}
31027
31028// method id "dfareporting.eventTags.patch":
31029
31030type EventTagsPatchCall struct {
31031	s          *Service
31032	profileId  int64
31033	eventtag   *EventTag
31034	urlParams_ gensupport.URLParams
31035	ctx_       context.Context
31036	header_    http.Header
31037}
31038
31039// Patch: Updates an existing event tag. This method supports patch
31040// semantics.
31041func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
31042	c := &EventTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31043	c.profileId = profileId
31044	c.urlParams_.Set("id", fmt.Sprint(id))
31045	c.eventtag = eventtag
31046	return c
31047}
31048
31049// Fields allows partial responses to be retrieved. See
31050// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31051// for more information.
31052func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
31053	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31054	return c
31055}
31056
31057// Context sets the context to be used in this call's Do method. Any
31058// pending HTTP request will be aborted if the provided context is
31059// canceled.
31060func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
31061	c.ctx_ = ctx
31062	return c
31063}
31064
31065// Header returns an http.Header that can be modified by the caller to
31066// add HTTP headers to the request.
31067func (c *EventTagsPatchCall) Header() http.Header {
31068	if c.header_ == nil {
31069		c.header_ = make(http.Header)
31070	}
31071	return c.header_
31072}
31073
31074func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
31075	reqHeaders := make(http.Header)
31076	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
31077	for k, v := range c.header_ {
31078		reqHeaders[k] = v
31079	}
31080	reqHeaders.Set("User-Agent", c.s.userAgent())
31081	var body io.Reader = nil
31082	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
31083	if err != nil {
31084		return nil, err
31085	}
31086	reqHeaders.Set("Content-Type", "application/json")
31087	c.urlParams_.Set("alt", alt)
31088	c.urlParams_.Set("prettyPrint", "false")
31089	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31090	urls += "?" + c.urlParams_.Encode()
31091	req, err := http.NewRequest("PATCH", urls, body)
31092	if err != nil {
31093		return nil, err
31094	}
31095	req.Header = reqHeaders
31096	googleapi.Expand(req.URL, map[string]string{
31097		"profileId": strconv.FormatInt(c.profileId, 10),
31098	})
31099	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31100}
31101
31102// Do executes the "dfareporting.eventTags.patch" call.
31103// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31104// code is an error. Response headers are in either
31105// *EventTag.ServerResponse.Header or (if a response was returned at
31106// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31107// to check whether the returned error was because
31108// http.StatusNotModified was returned.
31109func (c *EventTagsPatchCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31110	gensupport.SetOptions(c.urlParams_, opts...)
31111	res, err := c.doRequest("json")
31112	if res != nil && res.StatusCode == http.StatusNotModified {
31113		if res.Body != nil {
31114			res.Body.Close()
31115		}
31116		return nil, &googleapi.Error{
31117			Code:   res.StatusCode,
31118			Header: res.Header,
31119		}
31120	}
31121	if err != nil {
31122		return nil, err
31123	}
31124	defer googleapi.CloseBody(res)
31125	if err := googleapi.CheckResponse(res); err != nil {
31126		return nil, err
31127	}
31128	ret := &EventTag{
31129		ServerResponse: googleapi.ServerResponse{
31130			Header:         res.Header,
31131			HTTPStatusCode: res.StatusCode,
31132		},
31133	}
31134	target := &ret
31135	if err := gensupport.DecodeResponse(target, res); err != nil {
31136		return nil, err
31137	}
31138	return ret, nil
31139	// {
31140	//   "description": "Updates an existing event tag. This method supports patch semantics.",
31141	//   "flatPath": "userprofiles/{profileId}/eventTags",
31142	//   "httpMethod": "PATCH",
31143	//   "id": "dfareporting.eventTags.patch",
31144	//   "parameterOrder": [
31145	//     "profileId",
31146	//     "id"
31147	//   ],
31148	//   "parameters": {
31149	//     "id": {
31150	//       "description": "EventTag ID.",
31151	//       "format": "int64",
31152	//       "location": "query",
31153	//       "required": true,
31154	//       "type": "string"
31155	//     },
31156	//     "profileId": {
31157	//       "description": "User profile ID associated with this request.",
31158	//       "format": "int64",
31159	//       "location": "path",
31160	//       "required": true,
31161	//       "type": "string"
31162	//     }
31163	//   },
31164	//   "path": "userprofiles/{profileId}/eventTags",
31165	//   "request": {
31166	//     "$ref": "EventTag"
31167	//   },
31168	//   "response": {
31169	//     "$ref": "EventTag"
31170	//   },
31171	//   "scopes": [
31172	//     "https://www.googleapis.com/auth/dfatrafficking"
31173	//   ]
31174	// }
31175
31176}
31177
31178// method id "dfareporting.eventTags.update":
31179
31180type EventTagsUpdateCall struct {
31181	s          *Service
31182	profileId  int64
31183	eventtag   *EventTag
31184	urlParams_ gensupport.URLParams
31185	ctx_       context.Context
31186	header_    http.Header
31187}
31188
31189// Update: Updates an existing event tag.
31190func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
31191	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31192	c.profileId = profileId
31193	c.eventtag = eventtag
31194	return c
31195}
31196
31197// Fields allows partial responses to be retrieved. See
31198// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31199// for more information.
31200func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
31201	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31202	return c
31203}
31204
31205// Context sets the context to be used in this call's Do method. Any
31206// pending HTTP request will be aborted if the provided context is
31207// canceled.
31208func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
31209	c.ctx_ = ctx
31210	return c
31211}
31212
31213// Header returns an http.Header that can be modified by the caller to
31214// add HTTP headers to the request.
31215func (c *EventTagsUpdateCall) Header() http.Header {
31216	if c.header_ == nil {
31217		c.header_ = make(http.Header)
31218	}
31219	return c.header_
31220}
31221
31222func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
31223	reqHeaders := make(http.Header)
31224	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
31225	for k, v := range c.header_ {
31226		reqHeaders[k] = v
31227	}
31228	reqHeaders.Set("User-Agent", c.s.userAgent())
31229	var body io.Reader = nil
31230	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
31231	if err != nil {
31232		return nil, err
31233	}
31234	reqHeaders.Set("Content-Type", "application/json")
31235	c.urlParams_.Set("alt", alt)
31236	c.urlParams_.Set("prettyPrint", "false")
31237	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31238	urls += "?" + c.urlParams_.Encode()
31239	req, err := http.NewRequest("PUT", urls, body)
31240	if err != nil {
31241		return nil, err
31242	}
31243	req.Header = reqHeaders
31244	googleapi.Expand(req.URL, map[string]string{
31245		"profileId": strconv.FormatInt(c.profileId, 10),
31246	})
31247	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31248}
31249
31250// Do executes the "dfareporting.eventTags.update" call.
31251// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31252// code is an error. Response headers are in either
31253// *EventTag.ServerResponse.Header or (if a response was returned at
31254// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31255// to check whether the returned error was because
31256// http.StatusNotModified was returned.
31257func (c *EventTagsUpdateCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31258	gensupport.SetOptions(c.urlParams_, opts...)
31259	res, err := c.doRequest("json")
31260	if res != nil && res.StatusCode == http.StatusNotModified {
31261		if res.Body != nil {
31262			res.Body.Close()
31263		}
31264		return nil, &googleapi.Error{
31265			Code:   res.StatusCode,
31266			Header: res.Header,
31267		}
31268	}
31269	if err != nil {
31270		return nil, err
31271	}
31272	defer googleapi.CloseBody(res)
31273	if err := googleapi.CheckResponse(res); err != nil {
31274		return nil, err
31275	}
31276	ret := &EventTag{
31277		ServerResponse: googleapi.ServerResponse{
31278			Header:         res.Header,
31279			HTTPStatusCode: res.StatusCode,
31280		},
31281	}
31282	target := &ret
31283	if err := gensupport.DecodeResponse(target, res); err != nil {
31284		return nil, err
31285	}
31286	return ret, nil
31287	// {
31288	//   "description": "Updates an existing event tag.",
31289	//   "flatPath": "userprofiles/{profileId}/eventTags",
31290	//   "httpMethod": "PUT",
31291	//   "id": "dfareporting.eventTags.update",
31292	//   "parameterOrder": [
31293	//     "profileId"
31294	//   ],
31295	//   "parameters": {
31296	//     "profileId": {
31297	//       "description": "User profile ID associated with this request.",
31298	//       "format": "int64",
31299	//       "location": "path",
31300	//       "required": true,
31301	//       "type": "string"
31302	//     }
31303	//   },
31304	//   "path": "userprofiles/{profileId}/eventTags",
31305	//   "request": {
31306	//     "$ref": "EventTag"
31307	//   },
31308	//   "response": {
31309	//     "$ref": "EventTag"
31310	//   },
31311	//   "scopes": [
31312	//     "https://www.googleapis.com/auth/dfatrafficking"
31313	//   ]
31314	// }
31315
31316}
31317
31318// method id "dfareporting.files.get":
31319
31320type FilesGetCall struct {
31321	s            *Service
31322	reportId     int64
31323	fileId       int64
31324	urlParams_   gensupport.URLParams
31325	ifNoneMatch_ string
31326	ctx_         context.Context
31327	header_      http.Header
31328}
31329
31330// Get: Retrieves a report file by its report ID and file ID. This
31331// method supports media download.
31332func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
31333	c := &FilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31334	c.reportId = reportId
31335	c.fileId = fileId
31336	return c
31337}
31338
31339// Fields allows partial responses to be retrieved. See
31340// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31341// for more information.
31342func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
31343	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31344	return c
31345}
31346
31347// IfNoneMatch sets the optional parameter which makes the operation
31348// fail if the object's ETag matches the given value. This is useful for
31349// getting updates only after the object has changed since the last
31350// request. Use googleapi.IsNotModified to check whether the response
31351// error from Do is the result of In-None-Match.
31352func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
31353	c.ifNoneMatch_ = entityTag
31354	return c
31355}
31356
31357// Context sets the context to be used in this call's Do and Download
31358// methods. Any pending HTTP request will be aborted if the provided
31359// context is canceled.
31360func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
31361	c.ctx_ = ctx
31362	return c
31363}
31364
31365// Header returns an http.Header that can be modified by the caller to
31366// add HTTP headers to the request.
31367func (c *FilesGetCall) Header() http.Header {
31368	if c.header_ == nil {
31369		c.header_ = make(http.Header)
31370	}
31371	return c.header_
31372}
31373
31374func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
31375	reqHeaders := make(http.Header)
31376	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
31377	for k, v := range c.header_ {
31378		reqHeaders[k] = v
31379	}
31380	reqHeaders.Set("User-Agent", c.s.userAgent())
31381	if c.ifNoneMatch_ != "" {
31382		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31383	}
31384	var body io.Reader = nil
31385	c.urlParams_.Set("alt", alt)
31386	c.urlParams_.Set("prettyPrint", "false")
31387	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
31388	urls += "?" + c.urlParams_.Encode()
31389	req, err := http.NewRequest("GET", urls, body)
31390	if err != nil {
31391		return nil, err
31392	}
31393	req.Header = reqHeaders
31394	googleapi.Expand(req.URL, map[string]string{
31395		"reportId": strconv.FormatInt(c.reportId, 10),
31396		"fileId":   strconv.FormatInt(c.fileId, 10),
31397	})
31398	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31399}
31400
31401// Download fetches the API endpoint's "media" value, instead of the normal
31402// API response value. If the returned error is nil, the Response is guaranteed to
31403// have a 2xx status code. Callers must close the Response.Body as usual.
31404func (c *FilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
31405	gensupport.SetOptions(c.urlParams_, opts...)
31406	res, err := c.doRequest("media")
31407	if err != nil {
31408		return nil, err
31409	}
31410	if err := googleapi.CheckMediaResponse(res); err != nil {
31411		res.Body.Close()
31412		return nil, err
31413	}
31414	return res, nil
31415}
31416
31417// Do executes the "dfareporting.files.get" call.
31418// Exactly one of *File or error will be non-nil. Any non-2xx status
31419// code is an error. Response headers are in either
31420// *File.ServerResponse.Header or (if a response was returned at all) in
31421// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
31422// whether the returned error was because http.StatusNotModified was
31423// returned.
31424func (c *FilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
31425	gensupport.SetOptions(c.urlParams_, opts...)
31426	res, err := c.doRequest("json")
31427	if res != nil && res.StatusCode == http.StatusNotModified {
31428		if res.Body != nil {
31429			res.Body.Close()
31430		}
31431		return nil, &googleapi.Error{
31432			Code:   res.StatusCode,
31433			Header: res.Header,
31434		}
31435	}
31436	if err != nil {
31437		return nil, err
31438	}
31439	defer googleapi.CloseBody(res)
31440	if err := googleapi.CheckResponse(res); err != nil {
31441		return nil, err
31442	}
31443	ret := &File{
31444		ServerResponse: googleapi.ServerResponse{
31445			Header:         res.Header,
31446			HTTPStatusCode: res.StatusCode,
31447		},
31448	}
31449	target := &ret
31450	if err := gensupport.DecodeResponse(target, res); err != nil {
31451		return nil, err
31452	}
31453	return ret, nil
31454	// {
31455	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
31456	//   "flatPath": "reports/{reportId}/files/{fileId}",
31457	//   "httpMethod": "GET",
31458	//   "id": "dfareporting.files.get",
31459	//   "parameterOrder": [
31460	//     "reportId",
31461	//     "fileId"
31462	//   ],
31463	//   "parameters": {
31464	//     "fileId": {
31465	//       "description": "The ID of the report file.",
31466	//       "format": "int64",
31467	//       "location": "path",
31468	//       "required": true,
31469	//       "type": "string"
31470	//     },
31471	//     "reportId": {
31472	//       "description": "The ID of the report.",
31473	//       "format": "int64",
31474	//       "location": "path",
31475	//       "required": true,
31476	//       "type": "string"
31477	//     }
31478	//   },
31479	//   "path": "reports/{reportId}/files/{fileId}",
31480	//   "response": {
31481	//     "$ref": "File"
31482	//   },
31483	//   "scopes": [
31484	//     "https://www.googleapis.com/auth/dfareporting"
31485	//   ],
31486	//   "supportsMediaDownload": true
31487	// }
31488
31489}
31490
31491// method id "dfareporting.files.list":
31492
31493type FilesListCall struct {
31494	s            *Service
31495	profileId    int64
31496	urlParams_   gensupport.URLParams
31497	ifNoneMatch_ string
31498	ctx_         context.Context
31499	header_      http.Header
31500}
31501
31502// List: Lists files for a user profile.
31503func (r *FilesService) List(profileId int64) *FilesListCall {
31504	c := &FilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31505	c.profileId = profileId
31506	return c
31507}
31508
31509// MaxResults sets the optional parameter "maxResults": Maximum number
31510// of results to return.
31511func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
31512	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
31513	return c
31514}
31515
31516// PageToken sets the optional parameter "pageToken": The value of the
31517// nextToken from the previous result page.
31518func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
31519	c.urlParams_.Set("pageToken", pageToken)
31520	return c
31521}
31522
31523// Scope sets the optional parameter "scope": The scope that defines
31524// which results are returned.
31525//
31526// Possible values:
31527//   "ALL" - All files in account.
31528//   "MINE" (default) - My files.
31529//   "SHARED_WITH_ME" - Files shared with me.
31530func (c *FilesListCall) Scope(scope string) *FilesListCall {
31531	c.urlParams_.Set("scope", scope)
31532	return c
31533}
31534
31535// SortField sets the optional parameter "sortField": The field by which
31536// to sort the list.
31537//
31538// Possible values:
31539//   "ID" - Sort by file ID.
31540//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
31541func (c *FilesListCall) SortField(sortField string) *FilesListCall {
31542	c.urlParams_.Set("sortField", sortField)
31543	return c
31544}
31545
31546// SortOrder sets the optional parameter "sortOrder": Order of sorted
31547// results.
31548//
31549// Possible values:
31550//   "ASCENDING" - Ascending order.
31551//   "DESCENDING" (default) - Descending order.
31552func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
31553	c.urlParams_.Set("sortOrder", sortOrder)
31554	return c
31555}
31556
31557// Fields allows partial responses to be retrieved. See
31558// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31559// for more information.
31560func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
31561	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31562	return c
31563}
31564
31565// IfNoneMatch sets the optional parameter which makes the operation
31566// fail if the object's ETag matches the given value. This is useful for
31567// getting updates only after the object has changed since the last
31568// request. Use googleapi.IsNotModified to check whether the response
31569// error from Do is the result of In-None-Match.
31570func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
31571	c.ifNoneMatch_ = entityTag
31572	return c
31573}
31574
31575// Context sets the context to be used in this call's Do method. Any
31576// pending HTTP request will be aborted if the provided context is
31577// canceled.
31578func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
31579	c.ctx_ = ctx
31580	return c
31581}
31582
31583// Header returns an http.Header that can be modified by the caller to
31584// add HTTP headers to the request.
31585func (c *FilesListCall) Header() http.Header {
31586	if c.header_ == nil {
31587		c.header_ = make(http.Header)
31588	}
31589	return c.header_
31590}
31591
31592func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
31593	reqHeaders := make(http.Header)
31594	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
31595	for k, v := range c.header_ {
31596		reqHeaders[k] = v
31597	}
31598	reqHeaders.Set("User-Agent", c.s.userAgent())
31599	if c.ifNoneMatch_ != "" {
31600		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31601	}
31602	var body io.Reader = nil
31603	c.urlParams_.Set("alt", alt)
31604	c.urlParams_.Set("prettyPrint", "false")
31605	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
31606	urls += "?" + c.urlParams_.Encode()
31607	req, err := http.NewRequest("GET", urls, body)
31608	if err != nil {
31609		return nil, err
31610	}
31611	req.Header = reqHeaders
31612	googleapi.Expand(req.URL, map[string]string{
31613		"profileId": strconv.FormatInt(c.profileId, 10),
31614	})
31615	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31616}
31617
31618// Do executes the "dfareporting.files.list" call.
31619// Exactly one of *FileList or error will be non-nil. Any non-2xx status
31620// code is an error. Response headers are in either
31621// *FileList.ServerResponse.Header or (if a response was returned at
31622// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31623// to check whether the returned error was because
31624// http.StatusNotModified was returned.
31625func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
31626	gensupport.SetOptions(c.urlParams_, opts...)
31627	res, err := c.doRequest("json")
31628	if res != nil && res.StatusCode == http.StatusNotModified {
31629		if res.Body != nil {
31630			res.Body.Close()
31631		}
31632		return nil, &googleapi.Error{
31633			Code:   res.StatusCode,
31634			Header: res.Header,
31635		}
31636	}
31637	if err != nil {
31638		return nil, err
31639	}
31640	defer googleapi.CloseBody(res)
31641	if err := googleapi.CheckResponse(res); err != nil {
31642		return nil, err
31643	}
31644	ret := &FileList{
31645		ServerResponse: googleapi.ServerResponse{
31646			Header:         res.Header,
31647			HTTPStatusCode: res.StatusCode,
31648		},
31649	}
31650	target := &ret
31651	if err := gensupport.DecodeResponse(target, res); err != nil {
31652		return nil, err
31653	}
31654	return ret, nil
31655	// {
31656	//   "description": "Lists files for a user profile.",
31657	//   "flatPath": "userprofiles/{profileId}/files",
31658	//   "httpMethod": "GET",
31659	//   "id": "dfareporting.files.list",
31660	//   "parameterOrder": [
31661	//     "profileId"
31662	//   ],
31663	//   "parameters": {
31664	//     "maxResults": {
31665	//       "default": "10",
31666	//       "description": "Maximum number of results to return.",
31667	//       "format": "int32",
31668	//       "location": "query",
31669	//       "maximum": "10",
31670	//       "minimum": "0",
31671	//       "type": "integer"
31672	//     },
31673	//     "pageToken": {
31674	//       "description": "The value of the nextToken from the previous result page.",
31675	//       "location": "query",
31676	//       "type": "string"
31677	//     },
31678	//     "profileId": {
31679	//       "description": "The DFA profile ID.",
31680	//       "format": "int64",
31681	//       "location": "path",
31682	//       "required": true,
31683	//       "type": "string"
31684	//     },
31685	//     "scope": {
31686	//       "default": "MINE",
31687	//       "description": "The scope that defines which results are returned.",
31688	//       "enum": [
31689	//         "ALL",
31690	//         "MINE",
31691	//         "SHARED_WITH_ME"
31692	//       ],
31693	//       "enumDescriptions": [
31694	//         "All files in account.",
31695	//         "My files.",
31696	//         "Files shared with me."
31697	//       ],
31698	//       "location": "query",
31699	//       "type": "string"
31700	//     },
31701	//     "sortField": {
31702	//       "default": "LAST_MODIFIED_TIME",
31703	//       "description": "The field by which to sort the list.",
31704	//       "enum": [
31705	//         "ID",
31706	//         "LAST_MODIFIED_TIME"
31707	//       ],
31708	//       "enumDescriptions": [
31709	//         "Sort by file ID.",
31710	//         "Sort by 'lastmodifiedAt' field."
31711	//       ],
31712	//       "location": "query",
31713	//       "type": "string"
31714	//     },
31715	//     "sortOrder": {
31716	//       "default": "DESCENDING",
31717	//       "description": "Order of sorted results.",
31718	//       "enum": [
31719	//         "ASCENDING",
31720	//         "DESCENDING"
31721	//       ],
31722	//       "enumDescriptions": [
31723	//         "Ascending order.",
31724	//         "Descending order."
31725	//       ],
31726	//       "location": "query",
31727	//       "type": "string"
31728	//     }
31729	//   },
31730	//   "path": "userprofiles/{profileId}/files",
31731	//   "response": {
31732	//     "$ref": "FileList"
31733	//   },
31734	//   "scopes": [
31735	//     "https://www.googleapis.com/auth/dfareporting"
31736	//   ]
31737	// }
31738
31739}
31740
31741// Pages invokes f for each page of results.
31742// A non-nil error returned from f will halt the iteration.
31743// The provided context supersedes any context provided to the Context method.
31744func (c *FilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
31745	c.ctx_ = ctx
31746	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
31747	for {
31748		x, err := c.Do()
31749		if err != nil {
31750			return err
31751		}
31752		if err := f(x); err != nil {
31753			return err
31754		}
31755		if x.NextPageToken == "" {
31756			return nil
31757		}
31758		c.PageToken(x.NextPageToken)
31759	}
31760}
31761
31762// method id "dfareporting.floodlightActivities.delete":
31763
31764type FloodlightActivitiesDeleteCall struct {
31765	s          *Service
31766	profileId  int64
31767	id         int64
31768	urlParams_ gensupport.URLParams
31769	ctx_       context.Context
31770	header_    http.Header
31771}
31772
31773// Delete: Deletes an existing floodlight activity.
31774func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
31775	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31776	c.profileId = profileId
31777	c.id = id
31778	return c
31779}
31780
31781// Fields allows partial responses to be retrieved. See
31782// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31783// for more information.
31784func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
31785	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31786	return c
31787}
31788
31789// Context sets the context to be used in this call's Do method. Any
31790// pending HTTP request will be aborted if the provided context is
31791// canceled.
31792func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
31793	c.ctx_ = ctx
31794	return c
31795}
31796
31797// Header returns an http.Header that can be modified by the caller to
31798// add HTTP headers to the request.
31799func (c *FloodlightActivitiesDeleteCall) Header() http.Header {
31800	if c.header_ == nil {
31801		c.header_ = make(http.Header)
31802	}
31803	return c.header_
31804}
31805
31806func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
31807	reqHeaders := make(http.Header)
31808	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
31809	for k, v := range c.header_ {
31810		reqHeaders[k] = v
31811	}
31812	reqHeaders.Set("User-Agent", c.s.userAgent())
31813	var body io.Reader = nil
31814	c.urlParams_.Set("alt", alt)
31815	c.urlParams_.Set("prettyPrint", "false")
31816	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
31817	urls += "?" + c.urlParams_.Encode()
31818	req, err := http.NewRequest("DELETE", urls, body)
31819	if err != nil {
31820		return nil, err
31821	}
31822	req.Header = reqHeaders
31823	googleapi.Expand(req.URL, map[string]string{
31824		"profileId": strconv.FormatInt(c.profileId, 10),
31825		"id":        strconv.FormatInt(c.id, 10),
31826	})
31827	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31828}
31829
31830// Do executes the "dfareporting.floodlightActivities.delete" call.
31831func (c *FloodlightActivitiesDeleteCall) Do(opts ...googleapi.CallOption) error {
31832	gensupport.SetOptions(c.urlParams_, opts...)
31833	res, err := c.doRequest("json")
31834	if err != nil {
31835		return err
31836	}
31837	defer googleapi.CloseBody(res)
31838	if err := googleapi.CheckResponse(res); err != nil {
31839		return err
31840	}
31841	return nil
31842	// {
31843	//   "description": "Deletes an existing floodlight activity.",
31844	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
31845	//   "httpMethod": "DELETE",
31846	//   "id": "dfareporting.floodlightActivities.delete",
31847	//   "parameterOrder": [
31848	//     "profileId",
31849	//     "id"
31850	//   ],
31851	//   "parameters": {
31852	//     "id": {
31853	//       "description": "Floodlight activity ID.",
31854	//       "format": "int64",
31855	//       "location": "path",
31856	//       "required": true,
31857	//       "type": "string"
31858	//     },
31859	//     "profileId": {
31860	//       "description": "User profile ID associated with this request.",
31861	//       "format": "int64",
31862	//       "location": "path",
31863	//       "required": true,
31864	//       "type": "string"
31865	//     }
31866	//   },
31867	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
31868	//   "scopes": [
31869	//     "https://www.googleapis.com/auth/dfatrafficking"
31870	//   ]
31871	// }
31872
31873}
31874
31875// method id "dfareporting.floodlightActivities.generatetag":
31876
31877type FloodlightActivitiesGeneratetagCall struct {
31878	s          *Service
31879	profileId  int64
31880	urlParams_ gensupport.URLParams
31881	ctx_       context.Context
31882	header_    http.Header
31883}
31884
31885// Generatetag: Generates a tag for a floodlight activity.
31886func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
31887	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31888	c.profileId = profileId
31889	return c
31890}
31891
31892// FloodlightActivityId sets the optional parameter
31893// "floodlightActivityId": Floodlight activity ID for which we want to
31894// generate a tag.
31895func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
31896	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
31897	return c
31898}
31899
31900// Fields allows partial responses to be retrieved. See
31901// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31902// for more information.
31903func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
31904	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31905	return c
31906}
31907
31908// Context sets the context to be used in this call's Do method. Any
31909// pending HTTP request will be aborted if the provided context is
31910// canceled.
31911func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
31912	c.ctx_ = ctx
31913	return c
31914}
31915
31916// Header returns an http.Header that can be modified by the caller to
31917// add HTTP headers to the request.
31918func (c *FloodlightActivitiesGeneratetagCall) Header() http.Header {
31919	if c.header_ == nil {
31920		c.header_ = make(http.Header)
31921	}
31922	return c.header_
31923}
31924
31925func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
31926	reqHeaders := make(http.Header)
31927	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
31928	for k, v := range c.header_ {
31929		reqHeaders[k] = v
31930	}
31931	reqHeaders.Set("User-Agent", c.s.userAgent())
31932	var body io.Reader = nil
31933	c.urlParams_.Set("alt", alt)
31934	c.urlParams_.Set("prettyPrint", "false")
31935	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
31936	urls += "?" + c.urlParams_.Encode()
31937	req, err := http.NewRequest("POST", urls, body)
31938	if err != nil {
31939		return nil, err
31940	}
31941	req.Header = reqHeaders
31942	googleapi.Expand(req.URL, map[string]string{
31943		"profileId": strconv.FormatInt(c.profileId, 10),
31944	})
31945	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31946}
31947
31948// Do executes the "dfareporting.floodlightActivities.generatetag" call.
31949// Exactly one of *FloodlightActivitiesGenerateTagResponse or error will
31950// be non-nil. Any non-2xx status code is an error. Response headers are
31951// in either
31952// *FloodlightActivitiesGenerateTagResponse.ServerResponse.Header or (if
31953// a response was returned at all) in error.(*googleapi.Error).Header.
31954// Use googleapi.IsNotModified to check whether the returned error was
31955// because http.StatusNotModified was returned.
31956func (c *FloodlightActivitiesGeneratetagCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesGenerateTagResponse, error) {
31957	gensupport.SetOptions(c.urlParams_, opts...)
31958	res, err := c.doRequest("json")
31959	if res != nil && res.StatusCode == http.StatusNotModified {
31960		if res.Body != nil {
31961			res.Body.Close()
31962		}
31963		return nil, &googleapi.Error{
31964			Code:   res.StatusCode,
31965			Header: res.Header,
31966		}
31967	}
31968	if err != nil {
31969		return nil, err
31970	}
31971	defer googleapi.CloseBody(res)
31972	if err := googleapi.CheckResponse(res); err != nil {
31973		return nil, err
31974	}
31975	ret := &FloodlightActivitiesGenerateTagResponse{
31976		ServerResponse: googleapi.ServerResponse{
31977			Header:         res.Header,
31978			HTTPStatusCode: res.StatusCode,
31979		},
31980	}
31981	target := &ret
31982	if err := gensupport.DecodeResponse(target, res); err != nil {
31983		return nil, err
31984	}
31985	return ret, nil
31986	// {
31987	//   "description": "Generates a tag for a floodlight activity.",
31988	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/generatetag",
31989	//   "httpMethod": "POST",
31990	//   "id": "dfareporting.floodlightActivities.generatetag",
31991	//   "parameterOrder": [
31992	//     "profileId"
31993	//   ],
31994	//   "parameters": {
31995	//     "floodlightActivityId": {
31996	//       "description": "Floodlight activity ID for which we want to generate a tag.",
31997	//       "format": "int64",
31998	//       "location": "query",
31999	//       "type": "string"
32000	//     },
32001	//     "profileId": {
32002	//       "description": "User profile ID associated with this request.",
32003	//       "format": "int64",
32004	//       "location": "path",
32005	//       "required": true,
32006	//       "type": "string"
32007	//     }
32008	//   },
32009	//   "path": "userprofiles/{profileId}/floodlightActivities/generatetag",
32010	//   "response": {
32011	//     "$ref": "FloodlightActivitiesGenerateTagResponse"
32012	//   },
32013	//   "scopes": [
32014	//     "https://www.googleapis.com/auth/dfatrafficking"
32015	//   ]
32016	// }
32017
32018}
32019
32020// method id "dfareporting.floodlightActivities.get":
32021
32022type FloodlightActivitiesGetCall struct {
32023	s            *Service
32024	profileId    int64
32025	id           int64
32026	urlParams_   gensupport.URLParams
32027	ifNoneMatch_ string
32028	ctx_         context.Context
32029	header_      http.Header
32030}
32031
32032// Get: Gets one floodlight activity by ID.
32033func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
32034	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32035	c.profileId = profileId
32036	c.id = id
32037	return c
32038}
32039
32040// Fields allows partial responses to be retrieved. See
32041// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32042// for more information.
32043func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
32044	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32045	return c
32046}
32047
32048// IfNoneMatch sets the optional parameter which makes the operation
32049// fail if the object's ETag matches the given value. This is useful for
32050// getting updates only after the object has changed since the last
32051// request. Use googleapi.IsNotModified to check whether the response
32052// error from Do is the result of In-None-Match.
32053func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
32054	c.ifNoneMatch_ = entityTag
32055	return c
32056}
32057
32058// Context sets the context to be used in this call's Do method. Any
32059// pending HTTP request will be aborted if the provided context is
32060// canceled.
32061func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
32062	c.ctx_ = ctx
32063	return c
32064}
32065
32066// Header returns an http.Header that can be modified by the caller to
32067// add HTTP headers to the request.
32068func (c *FloodlightActivitiesGetCall) Header() http.Header {
32069	if c.header_ == nil {
32070		c.header_ = make(http.Header)
32071	}
32072	return c.header_
32073}
32074
32075func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
32076	reqHeaders := make(http.Header)
32077	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
32078	for k, v := range c.header_ {
32079		reqHeaders[k] = v
32080	}
32081	reqHeaders.Set("User-Agent", c.s.userAgent())
32082	if c.ifNoneMatch_ != "" {
32083		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32084	}
32085	var body io.Reader = nil
32086	c.urlParams_.Set("alt", alt)
32087	c.urlParams_.Set("prettyPrint", "false")
32088	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
32089	urls += "?" + c.urlParams_.Encode()
32090	req, err := http.NewRequest("GET", urls, body)
32091	if err != nil {
32092		return nil, err
32093	}
32094	req.Header = reqHeaders
32095	googleapi.Expand(req.URL, map[string]string{
32096		"profileId": strconv.FormatInt(c.profileId, 10),
32097		"id":        strconv.FormatInt(c.id, 10),
32098	})
32099	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32100}
32101
32102// Do executes the "dfareporting.floodlightActivities.get" call.
32103// Exactly one of *FloodlightActivity or error will be non-nil. Any
32104// non-2xx status code is an error. Response headers are in either
32105// *FloodlightActivity.ServerResponse.Header or (if a response was
32106// returned at all) in error.(*googleapi.Error).Header. Use
32107// googleapi.IsNotModified to check whether the returned error was
32108// because http.StatusNotModified was returned.
32109func (c *FloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32110	gensupport.SetOptions(c.urlParams_, opts...)
32111	res, err := c.doRequest("json")
32112	if res != nil && res.StatusCode == http.StatusNotModified {
32113		if res.Body != nil {
32114			res.Body.Close()
32115		}
32116		return nil, &googleapi.Error{
32117			Code:   res.StatusCode,
32118			Header: res.Header,
32119		}
32120	}
32121	if err != nil {
32122		return nil, err
32123	}
32124	defer googleapi.CloseBody(res)
32125	if err := googleapi.CheckResponse(res); err != nil {
32126		return nil, err
32127	}
32128	ret := &FloodlightActivity{
32129		ServerResponse: googleapi.ServerResponse{
32130			Header:         res.Header,
32131			HTTPStatusCode: res.StatusCode,
32132		},
32133	}
32134	target := &ret
32135	if err := gensupport.DecodeResponse(target, res); err != nil {
32136		return nil, err
32137	}
32138	return ret, nil
32139	// {
32140	//   "description": "Gets one floodlight activity by ID.",
32141	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
32142	//   "httpMethod": "GET",
32143	//   "id": "dfareporting.floodlightActivities.get",
32144	//   "parameterOrder": [
32145	//     "profileId",
32146	//     "id"
32147	//   ],
32148	//   "parameters": {
32149	//     "id": {
32150	//       "description": "Floodlight activity ID.",
32151	//       "format": "int64",
32152	//       "location": "path",
32153	//       "required": true,
32154	//       "type": "string"
32155	//     },
32156	//     "profileId": {
32157	//       "description": "User profile ID associated with this request.",
32158	//       "format": "int64",
32159	//       "location": "path",
32160	//       "required": true,
32161	//       "type": "string"
32162	//     }
32163	//   },
32164	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
32165	//   "response": {
32166	//     "$ref": "FloodlightActivity"
32167	//   },
32168	//   "scopes": [
32169	//     "https://www.googleapis.com/auth/dfatrafficking"
32170	//   ]
32171	// }
32172
32173}
32174
32175// method id "dfareporting.floodlightActivities.insert":
32176
32177type FloodlightActivitiesInsertCall struct {
32178	s                  *Service
32179	profileId          int64
32180	floodlightactivity *FloodlightActivity
32181	urlParams_         gensupport.URLParams
32182	ctx_               context.Context
32183	header_            http.Header
32184}
32185
32186// Insert: Inserts a new floodlight activity.
32187func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
32188	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32189	c.profileId = profileId
32190	c.floodlightactivity = floodlightactivity
32191	return c
32192}
32193
32194// Fields allows partial responses to be retrieved. See
32195// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32196// for more information.
32197func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
32198	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32199	return c
32200}
32201
32202// Context sets the context to be used in this call's Do method. Any
32203// pending HTTP request will be aborted if the provided context is
32204// canceled.
32205func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
32206	c.ctx_ = ctx
32207	return c
32208}
32209
32210// Header returns an http.Header that can be modified by the caller to
32211// add HTTP headers to the request.
32212func (c *FloodlightActivitiesInsertCall) Header() http.Header {
32213	if c.header_ == nil {
32214		c.header_ = make(http.Header)
32215	}
32216	return c.header_
32217}
32218
32219func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
32220	reqHeaders := make(http.Header)
32221	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
32222	for k, v := range c.header_ {
32223		reqHeaders[k] = v
32224	}
32225	reqHeaders.Set("User-Agent", c.s.userAgent())
32226	var body io.Reader = nil
32227	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
32228	if err != nil {
32229		return nil, err
32230	}
32231	reqHeaders.Set("Content-Type", "application/json")
32232	c.urlParams_.Set("alt", alt)
32233	c.urlParams_.Set("prettyPrint", "false")
32234	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
32235	urls += "?" + c.urlParams_.Encode()
32236	req, err := http.NewRequest("POST", urls, body)
32237	if err != nil {
32238		return nil, err
32239	}
32240	req.Header = reqHeaders
32241	googleapi.Expand(req.URL, map[string]string{
32242		"profileId": strconv.FormatInt(c.profileId, 10),
32243	})
32244	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32245}
32246
32247// Do executes the "dfareporting.floodlightActivities.insert" call.
32248// Exactly one of *FloodlightActivity or error will be non-nil. Any
32249// non-2xx status code is an error. Response headers are in either
32250// *FloodlightActivity.ServerResponse.Header or (if a response was
32251// returned at all) in error.(*googleapi.Error).Header. Use
32252// googleapi.IsNotModified to check whether the returned error was
32253// because http.StatusNotModified was returned.
32254func (c *FloodlightActivitiesInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32255	gensupport.SetOptions(c.urlParams_, opts...)
32256	res, err := c.doRequest("json")
32257	if res != nil && res.StatusCode == http.StatusNotModified {
32258		if res.Body != nil {
32259			res.Body.Close()
32260		}
32261		return nil, &googleapi.Error{
32262			Code:   res.StatusCode,
32263			Header: res.Header,
32264		}
32265	}
32266	if err != nil {
32267		return nil, err
32268	}
32269	defer googleapi.CloseBody(res)
32270	if err := googleapi.CheckResponse(res); err != nil {
32271		return nil, err
32272	}
32273	ret := &FloodlightActivity{
32274		ServerResponse: googleapi.ServerResponse{
32275			Header:         res.Header,
32276			HTTPStatusCode: res.StatusCode,
32277		},
32278	}
32279	target := &ret
32280	if err := gensupport.DecodeResponse(target, res); err != nil {
32281		return nil, err
32282	}
32283	return ret, nil
32284	// {
32285	//   "description": "Inserts a new floodlight activity.",
32286	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
32287	//   "httpMethod": "POST",
32288	//   "id": "dfareporting.floodlightActivities.insert",
32289	//   "parameterOrder": [
32290	//     "profileId"
32291	//   ],
32292	//   "parameters": {
32293	//     "profileId": {
32294	//       "description": "User profile ID associated with this request.",
32295	//       "format": "int64",
32296	//       "location": "path",
32297	//       "required": true,
32298	//       "type": "string"
32299	//     }
32300	//   },
32301	//   "path": "userprofiles/{profileId}/floodlightActivities",
32302	//   "request": {
32303	//     "$ref": "FloodlightActivity"
32304	//   },
32305	//   "response": {
32306	//     "$ref": "FloodlightActivity"
32307	//   },
32308	//   "scopes": [
32309	//     "https://www.googleapis.com/auth/dfatrafficking"
32310	//   ]
32311	// }
32312
32313}
32314
32315// method id "dfareporting.floodlightActivities.list":
32316
32317type FloodlightActivitiesListCall struct {
32318	s            *Service
32319	profileId    int64
32320	urlParams_   gensupport.URLParams
32321	ifNoneMatch_ string
32322	ctx_         context.Context
32323	header_      http.Header
32324}
32325
32326// List: Retrieves a list of floodlight activities, possibly filtered.
32327// This method supports paging.
32328func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
32329	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32330	c.profileId = profileId
32331	return c
32332}
32333
32334// AdvertiserId sets the optional parameter "advertiserId": Select only
32335// floodlight activities for the specified advertiser ID. Must specify
32336// either ids, advertiserId, or floodlightConfigurationId for a
32337// non-empty result.
32338func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
32339	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32340	return c
32341}
32342
32343// FloodlightActivityGroupIds sets the optional parameter
32344// "floodlightActivityGroupIds": Select only floodlight activities with
32345// the specified floodlight activity group IDs.
32346func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds ...int64) *FloodlightActivitiesListCall {
32347	var floodlightActivityGroupIds_ []string
32348	for _, v := range floodlightActivityGroupIds {
32349		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprint(v))
32350	}
32351	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
32352	return c
32353}
32354
32355// FloodlightActivityGroupName sets the optional parameter
32356// "floodlightActivityGroupName": Select only floodlight activities with
32357// the specified floodlight activity group name.
32358func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
32359	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
32360	return c
32361}
32362
32363// FloodlightActivityGroupTagString sets the optional parameter
32364// "floodlightActivityGroupTagString": Select only floodlight activities
32365// with the specified floodlight activity group tag string.
32366func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
32367	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
32368	return c
32369}
32370
32371// FloodlightActivityGroupType sets the optional parameter
32372// "floodlightActivityGroupType": Select only floodlight activities with
32373// the specified floodlight activity group type.
32374//
32375// Possible values:
32376//   "COUNTER"
32377//   "SALE"
32378func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
32379	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
32380	return c
32381}
32382
32383// FloodlightConfigurationId sets the optional parameter
32384// "floodlightConfigurationId": Select only floodlight activities for
32385// the specified floodlight configuration ID. Must specify either ids,
32386// advertiserId, or floodlightConfigurationId for a non-empty result.
32387func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
32388	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
32389	return c
32390}
32391
32392// Ids sets the optional parameter "ids": Select only floodlight
32393// activities with the specified IDs. Must specify either ids,
32394// advertiserId, or floodlightConfigurationId for a non-empty result.
32395func (c *FloodlightActivitiesListCall) Ids(ids ...int64) *FloodlightActivitiesListCall {
32396	var ids_ []string
32397	for _, v := range ids {
32398		ids_ = append(ids_, fmt.Sprint(v))
32399	}
32400	c.urlParams_.SetMulti("ids", ids_)
32401	return c
32402}
32403
32404// MaxResults sets the optional parameter "maxResults": Maximum number
32405// of results to return.
32406func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
32407	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
32408	return c
32409}
32410
32411// PageToken sets the optional parameter "pageToken": Value of the
32412// nextPageToken from the previous result page.
32413func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
32414	c.urlParams_.Set("pageToken", pageToken)
32415	return c
32416}
32417
32418// SearchString sets the optional parameter "searchString": Allows
32419// searching for objects by name or ID. Wildcards (*) are allowed. For
32420// example, "floodlightactivity*2015" will return objects with names
32421// like "floodlightactivity June 2015", "floodlightactivity April 2015",
32422// or simply "floodlightactivity 2015". Most of the searches also add
32423// wildcards implicitly at the start and the end of the search string.
32424// For example, a search string of "floodlightactivity" will match
32425// objects with name "my floodlightactivity activity",
32426// "floodlightactivity 2015", or simply "floodlightactivity".
32427func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
32428	c.urlParams_.Set("searchString", searchString)
32429	return c
32430}
32431
32432// SortField sets the optional parameter "sortField": Field by which to
32433// sort the list.
32434//
32435// Possible values:
32436//   "ID" (default)
32437//   "NAME"
32438func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
32439	c.urlParams_.Set("sortField", sortField)
32440	return c
32441}
32442
32443// SortOrder sets the optional parameter "sortOrder": Order of sorted
32444// results.
32445//
32446// Possible values:
32447//   "ASCENDING" (default)
32448//   "DESCENDING"
32449func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
32450	c.urlParams_.Set("sortOrder", sortOrder)
32451	return c
32452}
32453
32454// TagString sets the optional parameter "tagString": Select only
32455// floodlight activities with the specified tag string.
32456func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
32457	c.urlParams_.Set("tagString", tagString)
32458	return c
32459}
32460
32461// Fields allows partial responses to be retrieved. See
32462// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32463// for more information.
32464func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
32465	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32466	return c
32467}
32468
32469// IfNoneMatch sets the optional parameter which makes the operation
32470// fail if the object's ETag matches the given value. This is useful for
32471// getting updates only after the object has changed since the last
32472// request. Use googleapi.IsNotModified to check whether the response
32473// error from Do is the result of In-None-Match.
32474func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
32475	c.ifNoneMatch_ = entityTag
32476	return c
32477}
32478
32479// Context sets the context to be used in this call's Do method. Any
32480// pending HTTP request will be aborted if the provided context is
32481// canceled.
32482func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
32483	c.ctx_ = ctx
32484	return c
32485}
32486
32487// Header returns an http.Header that can be modified by the caller to
32488// add HTTP headers to the request.
32489func (c *FloodlightActivitiesListCall) Header() http.Header {
32490	if c.header_ == nil {
32491		c.header_ = make(http.Header)
32492	}
32493	return c.header_
32494}
32495
32496func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
32497	reqHeaders := make(http.Header)
32498	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
32499	for k, v := range c.header_ {
32500		reqHeaders[k] = v
32501	}
32502	reqHeaders.Set("User-Agent", c.s.userAgent())
32503	if c.ifNoneMatch_ != "" {
32504		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32505	}
32506	var body io.Reader = nil
32507	c.urlParams_.Set("alt", alt)
32508	c.urlParams_.Set("prettyPrint", "false")
32509	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
32510	urls += "?" + c.urlParams_.Encode()
32511	req, err := http.NewRequest("GET", urls, body)
32512	if err != nil {
32513		return nil, err
32514	}
32515	req.Header = reqHeaders
32516	googleapi.Expand(req.URL, map[string]string{
32517		"profileId": strconv.FormatInt(c.profileId, 10),
32518	})
32519	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32520}
32521
32522// Do executes the "dfareporting.floodlightActivities.list" call.
32523// Exactly one of *FloodlightActivitiesListResponse or error will be
32524// non-nil. Any non-2xx status code is an error. Response headers are in
32525// either *FloodlightActivitiesListResponse.ServerResponse.Header or (if
32526// a response was returned at all) in error.(*googleapi.Error).Header.
32527// Use googleapi.IsNotModified to check whether the returned error was
32528// because http.StatusNotModified was returned.
32529func (c *FloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesListResponse, error) {
32530	gensupport.SetOptions(c.urlParams_, opts...)
32531	res, err := c.doRequest("json")
32532	if res != nil && res.StatusCode == http.StatusNotModified {
32533		if res.Body != nil {
32534			res.Body.Close()
32535		}
32536		return nil, &googleapi.Error{
32537			Code:   res.StatusCode,
32538			Header: res.Header,
32539		}
32540	}
32541	if err != nil {
32542		return nil, err
32543	}
32544	defer googleapi.CloseBody(res)
32545	if err := googleapi.CheckResponse(res); err != nil {
32546		return nil, err
32547	}
32548	ret := &FloodlightActivitiesListResponse{
32549		ServerResponse: googleapi.ServerResponse{
32550			Header:         res.Header,
32551			HTTPStatusCode: res.StatusCode,
32552		},
32553	}
32554	target := &ret
32555	if err := gensupport.DecodeResponse(target, res); err != nil {
32556		return nil, err
32557	}
32558	return ret, nil
32559	// {
32560	//   "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
32561	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
32562	//   "httpMethod": "GET",
32563	//   "id": "dfareporting.floodlightActivities.list",
32564	//   "parameterOrder": [
32565	//     "profileId"
32566	//   ],
32567	//   "parameters": {
32568	//     "advertiserId": {
32569	//       "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
32570	//       "format": "int64",
32571	//       "location": "query",
32572	//       "type": "string"
32573	//     },
32574	//     "floodlightActivityGroupIds": {
32575	//       "description": "Select only floodlight activities with the specified floodlight activity group IDs.",
32576	//       "format": "int64",
32577	//       "location": "query",
32578	//       "repeated": true,
32579	//       "type": "string"
32580	//     },
32581	//     "floodlightActivityGroupName": {
32582	//       "description": "Select only floodlight activities with the specified floodlight activity group name.",
32583	//       "location": "query",
32584	//       "type": "string"
32585	//     },
32586	//     "floodlightActivityGroupTagString": {
32587	//       "description": "Select only floodlight activities with the specified floodlight activity group tag string.",
32588	//       "location": "query",
32589	//       "type": "string"
32590	//     },
32591	//     "floodlightActivityGroupType": {
32592	//       "description": "Select only floodlight activities with the specified floodlight activity group type.",
32593	//       "enum": [
32594	//         "COUNTER",
32595	//         "SALE"
32596	//       ],
32597	//       "enumDescriptions": [
32598	//         "",
32599	//         ""
32600	//       ],
32601	//       "location": "query",
32602	//       "type": "string"
32603	//     },
32604	//     "floodlightConfigurationId": {
32605	//       "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
32606	//       "format": "int64",
32607	//       "location": "query",
32608	//       "type": "string"
32609	//     },
32610	//     "ids": {
32611	//       "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
32612	//       "format": "int64",
32613	//       "location": "query",
32614	//       "repeated": true,
32615	//       "type": "string"
32616	//     },
32617	//     "maxResults": {
32618	//       "default": "1000",
32619	//       "description": "Maximum number of results to return.",
32620	//       "format": "int32",
32621	//       "location": "query",
32622	//       "maximum": "1000",
32623	//       "minimum": "0",
32624	//       "type": "integer"
32625	//     },
32626	//     "pageToken": {
32627	//       "description": "Value of the nextPageToken from the previous result page.",
32628	//       "location": "query",
32629	//       "type": "string"
32630	//     },
32631	//     "profileId": {
32632	//       "description": "User profile ID associated with this request.",
32633	//       "format": "int64",
32634	//       "location": "path",
32635	//       "required": true,
32636	//       "type": "string"
32637	//     },
32638	//     "searchString": {
32639	//       "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\".",
32640	//       "location": "query",
32641	//       "type": "string"
32642	//     },
32643	//     "sortField": {
32644	//       "default": "ID",
32645	//       "description": "Field by which to sort the list.",
32646	//       "enum": [
32647	//         "ID",
32648	//         "NAME"
32649	//       ],
32650	//       "enumDescriptions": [
32651	//         "",
32652	//         ""
32653	//       ],
32654	//       "location": "query",
32655	//       "type": "string"
32656	//     },
32657	//     "sortOrder": {
32658	//       "default": "ASCENDING",
32659	//       "description": "Order of sorted results.",
32660	//       "enum": [
32661	//         "ASCENDING",
32662	//         "DESCENDING"
32663	//       ],
32664	//       "enumDescriptions": [
32665	//         "",
32666	//         ""
32667	//       ],
32668	//       "location": "query",
32669	//       "type": "string"
32670	//     },
32671	//     "tagString": {
32672	//       "description": "Select only floodlight activities with the specified tag string.",
32673	//       "location": "query",
32674	//       "type": "string"
32675	//     }
32676	//   },
32677	//   "path": "userprofiles/{profileId}/floodlightActivities",
32678	//   "response": {
32679	//     "$ref": "FloodlightActivitiesListResponse"
32680	//   },
32681	//   "scopes": [
32682	//     "https://www.googleapis.com/auth/dfatrafficking"
32683	//   ]
32684	// }
32685
32686}
32687
32688// Pages invokes f for each page of results.
32689// A non-nil error returned from f will halt the iteration.
32690// The provided context supersedes any context provided to the Context method.
32691func (c *FloodlightActivitiesListCall) Pages(ctx context.Context, f func(*FloodlightActivitiesListResponse) error) error {
32692	c.ctx_ = ctx
32693	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
32694	for {
32695		x, err := c.Do()
32696		if err != nil {
32697			return err
32698		}
32699		if err := f(x); err != nil {
32700			return err
32701		}
32702		if x.NextPageToken == "" {
32703			return nil
32704		}
32705		c.PageToken(x.NextPageToken)
32706	}
32707}
32708
32709// method id "dfareporting.floodlightActivities.patch":
32710
32711type FloodlightActivitiesPatchCall struct {
32712	s                  *Service
32713	profileId          int64
32714	floodlightactivity *FloodlightActivity
32715	urlParams_         gensupport.URLParams
32716	ctx_               context.Context
32717	header_            http.Header
32718}
32719
32720// Patch: Updates an existing floodlight activity. This method supports
32721// patch semantics.
32722func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
32723	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32724	c.profileId = profileId
32725	c.urlParams_.Set("id", fmt.Sprint(id))
32726	c.floodlightactivity = floodlightactivity
32727	return c
32728}
32729
32730// Fields allows partial responses to be retrieved. See
32731// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32732// for more information.
32733func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
32734	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32735	return c
32736}
32737
32738// Context sets the context to be used in this call's Do method. Any
32739// pending HTTP request will be aborted if the provided context is
32740// canceled.
32741func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
32742	c.ctx_ = ctx
32743	return c
32744}
32745
32746// Header returns an http.Header that can be modified by the caller to
32747// add HTTP headers to the request.
32748func (c *FloodlightActivitiesPatchCall) Header() http.Header {
32749	if c.header_ == nil {
32750		c.header_ = make(http.Header)
32751	}
32752	return c.header_
32753}
32754
32755func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
32756	reqHeaders := make(http.Header)
32757	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
32758	for k, v := range c.header_ {
32759		reqHeaders[k] = v
32760	}
32761	reqHeaders.Set("User-Agent", c.s.userAgent())
32762	var body io.Reader = nil
32763	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
32764	if err != nil {
32765		return nil, err
32766	}
32767	reqHeaders.Set("Content-Type", "application/json")
32768	c.urlParams_.Set("alt", alt)
32769	c.urlParams_.Set("prettyPrint", "false")
32770	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
32771	urls += "?" + c.urlParams_.Encode()
32772	req, err := http.NewRequest("PATCH", urls, body)
32773	if err != nil {
32774		return nil, err
32775	}
32776	req.Header = reqHeaders
32777	googleapi.Expand(req.URL, map[string]string{
32778		"profileId": strconv.FormatInt(c.profileId, 10),
32779	})
32780	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32781}
32782
32783// Do executes the "dfareporting.floodlightActivities.patch" call.
32784// Exactly one of *FloodlightActivity or error will be non-nil. Any
32785// non-2xx status code is an error. Response headers are in either
32786// *FloodlightActivity.ServerResponse.Header or (if a response was
32787// returned at all) in error.(*googleapi.Error).Header. Use
32788// googleapi.IsNotModified to check whether the returned error was
32789// because http.StatusNotModified was returned.
32790func (c *FloodlightActivitiesPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32791	gensupport.SetOptions(c.urlParams_, opts...)
32792	res, err := c.doRequest("json")
32793	if res != nil && res.StatusCode == http.StatusNotModified {
32794		if res.Body != nil {
32795			res.Body.Close()
32796		}
32797		return nil, &googleapi.Error{
32798			Code:   res.StatusCode,
32799			Header: res.Header,
32800		}
32801	}
32802	if err != nil {
32803		return nil, err
32804	}
32805	defer googleapi.CloseBody(res)
32806	if err := googleapi.CheckResponse(res); err != nil {
32807		return nil, err
32808	}
32809	ret := &FloodlightActivity{
32810		ServerResponse: googleapi.ServerResponse{
32811			Header:         res.Header,
32812			HTTPStatusCode: res.StatusCode,
32813		},
32814	}
32815	target := &ret
32816	if err := gensupport.DecodeResponse(target, res); err != nil {
32817		return nil, err
32818	}
32819	return ret, nil
32820	// {
32821	//   "description": "Updates an existing floodlight activity. This method supports patch semantics.",
32822	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
32823	//   "httpMethod": "PATCH",
32824	//   "id": "dfareporting.floodlightActivities.patch",
32825	//   "parameterOrder": [
32826	//     "profileId",
32827	//     "id"
32828	//   ],
32829	//   "parameters": {
32830	//     "id": {
32831	//       "description": "FloodlightActivity ID.",
32832	//       "format": "int64",
32833	//       "location": "query",
32834	//       "required": true,
32835	//       "type": "string"
32836	//     },
32837	//     "profileId": {
32838	//       "description": "User profile ID associated with this request.",
32839	//       "format": "int64",
32840	//       "location": "path",
32841	//       "required": true,
32842	//       "type": "string"
32843	//     }
32844	//   },
32845	//   "path": "userprofiles/{profileId}/floodlightActivities",
32846	//   "request": {
32847	//     "$ref": "FloodlightActivity"
32848	//   },
32849	//   "response": {
32850	//     "$ref": "FloodlightActivity"
32851	//   },
32852	//   "scopes": [
32853	//     "https://www.googleapis.com/auth/dfatrafficking"
32854	//   ]
32855	// }
32856
32857}
32858
32859// method id "dfareporting.floodlightActivities.update":
32860
32861type FloodlightActivitiesUpdateCall struct {
32862	s                  *Service
32863	profileId          int64
32864	floodlightactivity *FloodlightActivity
32865	urlParams_         gensupport.URLParams
32866	ctx_               context.Context
32867	header_            http.Header
32868}
32869
32870// Update: Updates an existing floodlight activity.
32871func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
32872	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32873	c.profileId = profileId
32874	c.floodlightactivity = floodlightactivity
32875	return c
32876}
32877
32878// Fields allows partial responses to be retrieved. See
32879// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32880// for more information.
32881func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
32882	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32883	return c
32884}
32885
32886// Context sets the context to be used in this call's Do method. Any
32887// pending HTTP request will be aborted if the provided context is
32888// canceled.
32889func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
32890	c.ctx_ = ctx
32891	return c
32892}
32893
32894// Header returns an http.Header that can be modified by the caller to
32895// add HTTP headers to the request.
32896func (c *FloodlightActivitiesUpdateCall) Header() http.Header {
32897	if c.header_ == nil {
32898		c.header_ = make(http.Header)
32899	}
32900	return c.header_
32901}
32902
32903func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
32904	reqHeaders := make(http.Header)
32905	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
32906	for k, v := range c.header_ {
32907		reqHeaders[k] = v
32908	}
32909	reqHeaders.Set("User-Agent", c.s.userAgent())
32910	var body io.Reader = nil
32911	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
32912	if err != nil {
32913		return nil, err
32914	}
32915	reqHeaders.Set("Content-Type", "application/json")
32916	c.urlParams_.Set("alt", alt)
32917	c.urlParams_.Set("prettyPrint", "false")
32918	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
32919	urls += "?" + c.urlParams_.Encode()
32920	req, err := http.NewRequest("PUT", urls, body)
32921	if err != nil {
32922		return nil, err
32923	}
32924	req.Header = reqHeaders
32925	googleapi.Expand(req.URL, map[string]string{
32926		"profileId": strconv.FormatInt(c.profileId, 10),
32927	})
32928	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32929}
32930
32931// Do executes the "dfareporting.floodlightActivities.update" call.
32932// Exactly one of *FloodlightActivity or error will be non-nil. Any
32933// non-2xx status code is an error. Response headers are in either
32934// *FloodlightActivity.ServerResponse.Header or (if a response was
32935// returned at all) in error.(*googleapi.Error).Header. Use
32936// googleapi.IsNotModified to check whether the returned error was
32937// because http.StatusNotModified was returned.
32938func (c *FloodlightActivitiesUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32939	gensupport.SetOptions(c.urlParams_, opts...)
32940	res, err := c.doRequest("json")
32941	if res != nil && res.StatusCode == http.StatusNotModified {
32942		if res.Body != nil {
32943			res.Body.Close()
32944		}
32945		return nil, &googleapi.Error{
32946			Code:   res.StatusCode,
32947			Header: res.Header,
32948		}
32949	}
32950	if err != nil {
32951		return nil, err
32952	}
32953	defer googleapi.CloseBody(res)
32954	if err := googleapi.CheckResponse(res); err != nil {
32955		return nil, err
32956	}
32957	ret := &FloodlightActivity{
32958		ServerResponse: googleapi.ServerResponse{
32959			Header:         res.Header,
32960			HTTPStatusCode: res.StatusCode,
32961		},
32962	}
32963	target := &ret
32964	if err := gensupport.DecodeResponse(target, res); err != nil {
32965		return nil, err
32966	}
32967	return ret, nil
32968	// {
32969	//   "description": "Updates an existing floodlight activity.",
32970	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
32971	//   "httpMethod": "PUT",
32972	//   "id": "dfareporting.floodlightActivities.update",
32973	//   "parameterOrder": [
32974	//     "profileId"
32975	//   ],
32976	//   "parameters": {
32977	//     "profileId": {
32978	//       "description": "User profile ID associated with this request.",
32979	//       "format": "int64",
32980	//       "location": "path",
32981	//       "required": true,
32982	//       "type": "string"
32983	//     }
32984	//   },
32985	//   "path": "userprofiles/{profileId}/floodlightActivities",
32986	//   "request": {
32987	//     "$ref": "FloodlightActivity"
32988	//   },
32989	//   "response": {
32990	//     "$ref": "FloodlightActivity"
32991	//   },
32992	//   "scopes": [
32993	//     "https://www.googleapis.com/auth/dfatrafficking"
32994	//   ]
32995	// }
32996
32997}
32998
32999// method id "dfareporting.floodlightActivityGroups.get":
33000
33001type FloodlightActivityGroupsGetCall struct {
33002	s            *Service
33003	profileId    int64
33004	id           int64
33005	urlParams_   gensupport.URLParams
33006	ifNoneMatch_ string
33007	ctx_         context.Context
33008	header_      http.Header
33009}
33010
33011// Get: Gets one floodlight activity group by ID.
33012func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
33013	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33014	c.profileId = profileId
33015	c.id = id
33016	return c
33017}
33018
33019// Fields allows partial responses to be retrieved. See
33020// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33021// for more information.
33022func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
33023	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33024	return c
33025}
33026
33027// IfNoneMatch sets the optional parameter which makes the operation
33028// fail if the object's ETag matches the given value. This is useful for
33029// getting updates only after the object has changed since the last
33030// request. Use googleapi.IsNotModified to check whether the response
33031// error from Do is the result of In-None-Match.
33032func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
33033	c.ifNoneMatch_ = entityTag
33034	return c
33035}
33036
33037// Context sets the context to be used in this call's Do method. Any
33038// pending HTTP request will be aborted if the provided context is
33039// canceled.
33040func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
33041	c.ctx_ = ctx
33042	return c
33043}
33044
33045// Header returns an http.Header that can be modified by the caller to
33046// add HTTP headers to the request.
33047func (c *FloodlightActivityGroupsGetCall) Header() http.Header {
33048	if c.header_ == nil {
33049		c.header_ = make(http.Header)
33050	}
33051	return c.header_
33052}
33053
33054func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
33055	reqHeaders := make(http.Header)
33056	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
33057	for k, v := range c.header_ {
33058		reqHeaders[k] = v
33059	}
33060	reqHeaders.Set("User-Agent", c.s.userAgent())
33061	if c.ifNoneMatch_ != "" {
33062		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33063	}
33064	var body io.Reader = nil
33065	c.urlParams_.Set("alt", alt)
33066	c.urlParams_.Set("prettyPrint", "false")
33067	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
33068	urls += "?" + c.urlParams_.Encode()
33069	req, err := http.NewRequest("GET", urls, body)
33070	if err != nil {
33071		return nil, err
33072	}
33073	req.Header = reqHeaders
33074	googleapi.Expand(req.URL, map[string]string{
33075		"profileId": strconv.FormatInt(c.profileId, 10),
33076		"id":        strconv.FormatInt(c.id, 10),
33077	})
33078	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33079}
33080
33081// Do executes the "dfareporting.floodlightActivityGroups.get" call.
33082// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33083// non-2xx status code is an error. Response headers are in either
33084// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33085// returned at all) in error.(*googleapi.Error).Header. Use
33086// googleapi.IsNotModified to check whether the returned error was
33087// because http.StatusNotModified was returned.
33088func (c *FloodlightActivityGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33089	gensupport.SetOptions(c.urlParams_, opts...)
33090	res, err := c.doRequest("json")
33091	if res != nil && res.StatusCode == http.StatusNotModified {
33092		if res.Body != nil {
33093			res.Body.Close()
33094		}
33095		return nil, &googleapi.Error{
33096			Code:   res.StatusCode,
33097			Header: res.Header,
33098		}
33099	}
33100	if err != nil {
33101		return nil, err
33102	}
33103	defer googleapi.CloseBody(res)
33104	if err := googleapi.CheckResponse(res); err != nil {
33105		return nil, err
33106	}
33107	ret := &FloodlightActivityGroup{
33108		ServerResponse: googleapi.ServerResponse{
33109			Header:         res.Header,
33110			HTTPStatusCode: res.StatusCode,
33111		},
33112	}
33113	target := &ret
33114	if err := gensupport.DecodeResponse(target, res); err != nil {
33115		return nil, err
33116	}
33117	return ret, nil
33118	// {
33119	//   "description": "Gets one floodlight activity group by ID.",
33120	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
33121	//   "httpMethod": "GET",
33122	//   "id": "dfareporting.floodlightActivityGroups.get",
33123	//   "parameterOrder": [
33124	//     "profileId",
33125	//     "id"
33126	//   ],
33127	//   "parameters": {
33128	//     "id": {
33129	//       "description": "Floodlight activity Group ID.",
33130	//       "format": "int64",
33131	//       "location": "path",
33132	//       "required": true,
33133	//       "type": "string"
33134	//     },
33135	//     "profileId": {
33136	//       "description": "User profile ID associated with this request.",
33137	//       "format": "int64",
33138	//       "location": "path",
33139	//       "required": true,
33140	//       "type": "string"
33141	//     }
33142	//   },
33143	//   "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
33144	//   "response": {
33145	//     "$ref": "FloodlightActivityGroup"
33146	//   },
33147	//   "scopes": [
33148	//     "https://www.googleapis.com/auth/dfatrafficking"
33149	//   ]
33150	// }
33151
33152}
33153
33154// method id "dfareporting.floodlightActivityGroups.insert":
33155
33156type FloodlightActivityGroupsInsertCall struct {
33157	s                       *Service
33158	profileId               int64
33159	floodlightactivitygroup *FloodlightActivityGroup
33160	urlParams_              gensupport.URLParams
33161	ctx_                    context.Context
33162	header_                 http.Header
33163}
33164
33165// Insert: Inserts a new floodlight activity group.
33166func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
33167	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33168	c.profileId = profileId
33169	c.floodlightactivitygroup = floodlightactivitygroup
33170	return c
33171}
33172
33173// Fields allows partial responses to be retrieved. See
33174// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33175// for more information.
33176func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
33177	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33178	return c
33179}
33180
33181// Context sets the context to be used in this call's Do method. Any
33182// pending HTTP request will be aborted if the provided context is
33183// canceled.
33184func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
33185	c.ctx_ = ctx
33186	return c
33187}
33188
33189// Header returns an http.Header that can be modified by the caller to
33190// add HTTP headers to the request.
33191func (c *FloodlightActivityGroupsInsertCall) Header() http.Header {
33192	if c.header_ == nil {
33193		c.header_ = make(http.Header)
33194	}
33195	return c.header_
33196}
33197
33198func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
33199	reqHeaders := make(http.Header)
33200	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
33201	for k, v := range c.header_ {
33202		reqHeaders[k] = v
33203	}
33204	reqHeaders.Set("User-Agent", c.s.userAgent())
33205	var body io.Reader = nil
33206	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
33207	if err != nil {
33208		return nil, err
33209	}
33210	reqHeaders.Set("Content-Type", "application/json")
33211	c.urlParams_.Set("alt", alt)
33212	c.urlParams_.Set("prettyPrint", "false")
33213	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33214	urls += "?" + c.urlParams_.Encode()
33215	req, err := http.NewRequest("POST", urls, body)
33216	if err != nil {
33217		return nil, err
33218	}
33219	req.Header = reqHeaders
33220	googleapi.Expand(req.URL, map[string]string{
33221		"profileId": strconv.FormatInt(c.profileId, 10),
33222	})
33223	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33224}
33225
33226// Do executes the "dfareporting.floodlightActivityGroups.insert" call.
33227// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33228// non-2xx status code is an error. Response headers are in either
33229// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33230// returned at all) in error.(*googleapi.Error).Header. Use
33231// googleapi.IsNotModified to check whether the returned error was
33232// because http.StatusNotModified was returned.
33233func (c *FloodlightActivityGroupsInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33234	gensupport.SetOptions(c.urlParams_, opts...)
33235	res, err := c.doRequest("json")
33236	if res != nil && res.StatusCode == http.StatusNotModified {
33237		if res.Body != nil {
33238			res.Body.Close()
33239		}
33240		return nil, &googleapi.Error{
33241			Code:   res.StatusCode,
33242			Header: res.Header,
33243		}
33244	}
33245	if err != nil {
33246		return nil, err
33247	}
33248	defer googleapi.CloseBody(res)
33249	if err := googleapi.CheckResponse(res); err != nil {
33250		return nil, err
33251	}
33252	ret := &FloodlightActivityGroup{
33253		ServerResponse: googleapi.ServerResponse{
33254			Header:         res.Header,
33255			HTTPStatusCode: res.StatusCode,
33256		},
33257	}
33258	target := &ret
33259	if err := gensupport.DecodeResponse(target, res); err != nil {
33260		return nil, err
33261	}
33262	return ret, nil
33263	// {
33264	//   "description": "Inserts a new floodlight activity group.",
33265	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
33266	//   "httpMethod": "POST",
33267	//   "id": "dfareporting.floodlightActivityGroups.insert",
33268	//   "parameterOrder": [
33269	//     "profileId"
33270	//   ],
33271	//   "parameters": {
33272	//     "profileId": {
33273	//       "description": "User profile ID associated with this request.",
33274	//       "format": "int64",
33275	//       "location": "path",
33276	//       "required": true,
33277	//       "type": "string"
33278	//     }
33279	//   },
33280	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
33281	//   "request": {
33282	//     "$ref": "FloodlightActivityGroup"
33283	//   },
33284	//   "response": {
33285	//     "$ref": "FloodlightActivityGroup"
33286	//   },
33287	//   "scopes": [
33288	//     "https://www.googleapis.com/auth/dfatrafficking"
33289	//   ]
33290	// }
33291
33292}
33293
33294// method id "dfareporting.floodlightActivityGroups.list":
33295
33296type FloodlightActivityGroupsListCall struct {
33297	s            *Service
33298	profileId    int64
33299	urlParams_   gensupport.URLParams
33300	ifNoneMatch_ string
33301	ctx_         context.Context
33302	header_      http.Header
33303}
33304
33305// List: Retrieves a list of floodlight activity groups, possibly
33306// filtered. This method supports paging.
33307func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
33308	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33309	c.profileId = profileId
33310	return c
33311}
33312
33313// AdvertiserId sets the optional parameter "advertiserId": Select only
33314// floodlight activity groups with the specified advertiser ID. Must
33315// specify either advertiserId or floodlightConfigurationId for a
33316// non-empty result.
33317func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
33318	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33319	return c
33320}
33321
33322// FloodlightConfigurationId sets the optional parameter
33323// "floodlightConfigurationId": Select only floodlight activity groups
33324// with the specified floodlight configuration ID. Must specify either
33325// advertiserId, or floodlightConfigurationId for a non-empty result.
33326func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
33327	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
33328	return c
33329}
33330
33331// Ids sets the optional parameter "ids": Select only floodlight
33332// activity groups with the specified IDs. Must specify either
33333// advertiserId or floodlightConfigurationId for a non-empty result.
33334func (c *FloodlightActivityGroupsListCall) Ids(ids ...int64) *FloodlightActivityGroupsListCall {
33335	var ids_ []string
33336	for _, v := range ids {
33337		ids_ = append(ids_, fmt.Sprint(v))
33338	}
33339	c.urlParams_.SetMulti("ids", ids_)
33340	return c
33341}
33342
33343// MaxResults sets the optional parameter "maxResults": Maximum number
33344// of results to return.
33345func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
33346	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
33347	return c
33348}
33349
33350// PageToken sets the optional parameter "pageToken": Value of the
33351// nextPageToken from the previous result page.
33352func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
33353	c.urlParams_.Set("pageToken", pageToken)
33354	return c
33355}
33356
33357// SearchString sets the optional parameter "searchString": Allows
33358// searching for objects by name or ID. Wildcards (*) are allowed. For
33359// example, "floodlightactivitygroup*2015" will return objects with
33360// names like "floodlightactivitygroup June 2015",
33361// "floodlightactivitygroup April 2015", or simply
33362// "floodlightactivitygroup 2015". Most of the searches also add
33363// wildcards implicitly at the start and the end of the search string.
33364// For example, a search string of "floodlightactivitygroup" will match
33365// objects with name "my floodlightactivitygroup activity",
33366// "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
33367func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
33368	c.urlParams_.Set("searchString", searchString)
33369	return c
33370}
33371
33372// SortField sets the optional parameter "sortField": Field by which to
33373// sort the list.
33374//
33375// Possible values:
33376//   "ID" (default)
33377//   "NAME"
33378func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
33379	c.urlParams_.Set("sortField", sortField)
33380	return c
33381}
33382
33383// SortOrder sets the optional parameter "sortOrder": Order of sorted
33384// results.
33385//
33386// Possible values:
33387//   "ASCENDING" (default)
33388//   "DESCENDING"
33389func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
33390	c.urlParams_.Set("sortOrder", sortOrder)
33391	return c
33392}
33393
33394// Type sets the optional parameter "type": Select only floodlight
33395// activity groups with the specified floodlight activity group type.
33396//
33397// Possible values:
33398//   "COUNTER"
33399//   "SALE"
33400func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
33401	c.urlParams_.Set("type", type_)
33402	return c
33403}
33404
33405// Fields allows partial responses to be retrieved. See
33406// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33407// for more information.
33408func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
33409	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33410	return c
33411}
33412
33413// IfNoneMatch sets the optional parameter which makes the operation
33414// fail if the object's ETag matches the given value. This is useful for
33415// getting updates only after the object has changed since the last
33416// request. Use googleapi.IsNotModified to check whether the response
33417// error from Do is the result of In-None-Match.
33418func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
33419	c.ifNoneMatch_ = entityTag
33420	return c
33421}
33422
33423// Context sets the context to be used in this call's Do method. Any
33424// pending HTTP request will be aborted if the provided context is
33425// canceled.
33426func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
33427	c.ctx_ = ctx
33428	return c
33429}
33430
33431// Header returns an http.Header that can be modified by the caller to
33432// add HTTP headers to the request.
33433func (c *FloodlightActivityGroupsListCall) Header() http.Header {
33434	if c.header_ == nil {
33435		c.header_ = make(http.Header)
33436	}
33437	return c.header_
33438}
33439
33440func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
33441	reqHeaders := make(http.Header)
33442	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
33443	for k, v := range c.header_ {
33444		reqHeaders[k] = v
33445	}
33446	reqHeaders.Set("User-Agent", c.s.userAgent())
33447	if c.ifNoneMatch_ != "" {
33448		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33449	}
33450	var body io.Reader = nil
33451	c.urlParams_.Set("alt", alt)
33452	c.urlParams_.Set("prettyPrint", "false")
33453	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33454	urls += "?" + c.urlParams_.Encode()
33455	req, err := http.NewRequest("GET", urls, body)
33456	if err != nil {
33457		return nil, err
33458	}
33459	req.Header = reqHeaders
33460	googleapi.Expand(req.URL, map[string]string{
33461		"profileId": strconv.FormatInt(c.profileId, 10),
33462	})
33463	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33464}
33465
33466// Do executes the "dfareporting.floodlightActivityGroups.list" call.
33467// Exactly one of *FloodlightActivityGroupsListResponse or error will be
33468// non-nil. Any non-2xx status code is an error. Response headers are in
33469// either *FloodlightActivityGroupsListResponse.ServerResponse.Header or
33470// (if a response was returned at all) in
33471// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
33472// whether the returned error was because http.StatusNotModified was
33473// returned.
33474func (c *FloodlightActivityGroupsListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroupsListResponse, error) {
33475	gensupport.SetOptions(c.urlParams_, opts...)
33476	res, err := c.doRequest("json")
33477	if res != nil && res.StatusCode == http.StatusNotModified {
33478		if res.Body != nil {
33479			res.Body.Close()
33480		}
33481		return nil, &googleapi.Error{
33482			Code:   res.StatusCode,
33483			Header: res.Header,
33484		}
33485	}
33486	if err != nil {
33487		return nil, err
33488	}
33489	defer googleapi.CloseBody(res)
33490	if err := googleapi.CheckResponse(res); err != nil {
33491		return nil, err
33492	}
33493	ret := &FloodlightActivityGroupsListResponse{
33494		ServerResponse: googleapi.ServerResponse{
33495			Header:         res.Header,
33496			HTTPStatusCode: res.StatusCode,
33497		},
33498	}
33499	target := &ret
33500	if err := gensupport.DecodeResponse(target, res); err != nil {
33501		return nil, err
33502	}
33503	return ret, nil
33504	// {
33505	//   "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
33506	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
33507	//   "httpMethod": "GET",
33508	//   "id": "dfareporting.floodlightActivityGroups.list",
33509	//   "parameterOrder": [
33510	//     "profileId"
33511	//   ],
33512	//   "parameters": {
33513	//     "advertiserId": {
33514	//       "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
33515	//       "format": "int64",
33516	//       "location": "query",
33517	//       "type": "string"
33518	//     },
33519	//     "floodlightConfigurationId": {
33520	//       "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.",
33521	//       "format": "int64",
33522	//       "location": "query",
33523	//       "type": "string"
33524	//     },
33525	//     "ids": {
33526	//       "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
33527	//       "format": "int64",
33528	//       "location": "query",
33529	//       "repeated": true,
33530	//       "type": "string"
33531	//     },
33532	//     "maxResults": {
33533	//       "default": "1000",
33534	//       "description": "Maximum number of results to return.",
33535	//       "format": "int32",
33536	//       "location": "query",
33537	//       "maximum": "1000",
33538	//       "minimum": "0",
33539	//       "type": "integer"
33540	//     },
33541	//     "pageToken": {
33542	//       "description": "Value of the nextPageToken from the previous result page.",
33543	//       "location": "query",
33544	//       "type": "string"
33545	//     },
33546	//     "profileId": {
33547	//       "description": "User profile ID associated with this request.",
33548	//       "format": "int64",
33549	//       "location": "path",
33550	//       "required": true,
33551	//       "type": "string"
33552	//     },
33553	//     "searchString": {
33554	//       "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\".",
33555	//       "location": "query",
33556	//       "type": "string"
33557	//     },
33558	//     "sortField": {
33559	//       "default": "ID",
33560	//       "description": "Field by which to sort the list.",
33561	//       "enum": [
33562	//         "ID",
33563	//         "NAME"
33564	//       ],
33565	//       "enumDescriptions": [
33566	//         "",
33567	//         ""
33568	//       ],
33569	//       "location": "query",
33570	//       "type": "string"
33571	//     },
33572	//     "sortOrder": {
33573	//       "default": "ASCENDING",
33574	//       "description": "Order of sorted results.",
33575	//       "enum": [
33576	//         "ASCENDING",
33577	//         "DESCENDING"
33578	//       ],
33579	//       "enumDescriptions": [
33580	//         "",
33581	//         ""
33582	//       ],
33583	//       "location": "query",
33584	//       "type": "string"
33585	//     },
33586	//     "type": {
33587	//       "description": "Select only floodlight activity groups with the specified floodlight activity group type.",
33588	//       "enum": [
33589	//         "COUNTER",
33590	//         "SALE"
33591	//       ],
33592	//       "enumDescriptions": [
33593	//         "",
33594	//         ""
33595	//       ],
33596	//       "location": "query",
33597	//       "type": "string"
33598	//     }
33599	//   },
33600	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
33601	//   "response": {
33602	//     "$ref": "FloodlightActivityGroupsListResponse"
33603	//   },
33604	//   "scopes": [
33605	//     "https://www.googleapis.com/auth/dfatrafficking"
33606	//   ]
33607	// }
33608
33609}
33610
33611// Pages invokes f for each page of results.
33612// A non-nil error returned from f will halt the iteration.
33613// The provided context supersedes any context provided to the Context method.
33614func (c *FloodlightActivityGroupsListCall) Pages(ctx context.Context, f func(*FloodlightActivityGroupsListResponse) error) error {
33615	c.ctx_ = ctx
33616	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
33617	for {
33618		x, err := c.Do()
33619		if err != nil {
33620			return err
33621		}
33622		if err := f(x); err != nil {
33623			return err
33624		}
33625		if x.NextPageToken == "" {
33626			return nil
33627		}
33628		c.PageToken(x.NextPageToken)
33629	}
33630}
33631
33632// method id "dfareporting.floodlightActivityGroups.patch":
33633
33634type FloodlightActivityGroupsPatchCall struct {
33635	s                       *Service
33636	profileId               int64
33637	floodlightactivitygroup *FloodlightActivityGroup
33638	urlParams_              gensupport.URLParams
33639	ctx_                    context.Context
33640	header_                 http.Header
33641}
33642
33643// Patch: Updates an existing floodlight activity group. This method
33644// supports patch semantics.
33645func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
33646	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33647	c.profileId = profileId
33648	c.urlParams_.Set("id", fmt.Sprint(id))
33649	c.floodlightactivitygroup = floodlightactivitygroup
33650	return c
33651}
33652
33653// Fields allows partial responses to be retrieved. See
33654// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33655// for more information.
33656func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
33657	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33658	return c
33659}
33660
33661// Context sets the context to be used in this call's Do method. Any
33662// pending HTTP request will be aborted if the provided context is
33663// canceled.
33664func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
33665	c.ctx_ = ctx
33666	return c
33667}
33668
33669// Header returns an http.Header that can be modified by the caller to
33670// add HTTP headers to the request.
33671func (c *FloodlightActivityGroupsPatchCall) Header() http.Header {
33672	if c.header_ == nil {
33673		c.header_ = make(http.Header)
33674	}
33675	return c.header_
33676}
33677
33678func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
33679	reqHeaders := make(http.Header)
33680	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
33681	for k, v := range c.header_ {
33682		reqHeaders[k] = v
33683	}
33684	reqHeaders.Set("User-Agent", c.s.userAgent())
33685	var body io.Reader = nil
33686	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
33687	if err != nil {
33688		return nil, err
33689	}
33690	reqHeaders.Set("Content-Type", "application/json")
33691	c.urlParams_.Set("alt", alt)
33692	c.urlParams_.Set("prettyPrint", "false")
33693	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33694	urls += "?" + c.urlParams_.Encode()
33695	req, err := http.NewRequest("PATCH", urls, body)
33696	if err != nil {
33697		return nil, err
33698	}
33699	req.Header = reqHeaders
33700	googleapi.Expand(req.URL, map[string]string{
33701		"profileId": strconv.FormatInt(c.profileId, 10),
33702	})
33703	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33704}
33705
33706// Do executes the "dfareporting.floodlightActivityGroups.patch" call.
33707// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33708// non-2xx status code is an error. Response headers are in either
33709// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33710// returned at all) in error.(*googleapi.Error).Header. Use
33711// googleapi.IsNotModified to check whether the returned error was
33712// because http.StatusNotModified was returned.
33713func (c *FloodlightActivityGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33714	gensupport.SetOptions(c.urlParams_, opts...)
33715	res, err := c.doRequest("json")
33716	if res != nil && res.StatusCode == http.StatusNotModified {
33717		if res.Body != nil {
33718			res.Body.Close()
33719		}
33720		return nil, &googleapi.Error{
33721			Code:   res.StatusCode,
33722			Header: res.Header,
33723		}
33724	}
33725	if err != nil {
33726		return nil, err
33727	}
33728	defer googleapi.CloseBody(res)
33729	if err := googleapi.CheckResponse(res); err != nil {
33730		return nil, err
33731	}
33732	ret := &FloodlightActivityGroup{
33733		ServerResponse: googleapi.ServerResponse{
33734			Header:         res.Header,
33735			HTTPStatusCode: res.StatusCode,
33736		},
33737	}
33738	target := &ret
33739	if err := gensupport.DecodeResponse(target, res); err != nil {
33740		return nil, err
33741	}
33742	return ret, nil
33743	// {
33744	//   "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
33745	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
33746	//   "httpMethod": "PATCH",
33747	//   "id": "dfareporting.floodlightActivityGroups.patch",
33748	//   "parameterOrder": [
33749	//     "profileId",
33750	//     "id"
33751	//   ],
33752	//   "parameters": {
33753	//     "id": {
33754	//       "description": "FloodlightActivityGroup ID.",
33755	//       "format": "int64",
33756	//       "location": "query",
33757	//       "required": true,
33758	//       "type": "string"
33759	//     },
33760	//     "profileId": {
33761	//       "description": "User profile ID associated with this request.",
33762	//       "format": "int64",
33763	//       "location": "path",
33764	//       "required": true,
33765	//       "type": "string"
33766	//     }
33767	//   },
33768	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
33769	//   "request": {
33770	//     "$ref": "FloodlightActivityGroup"
33771	//   },
33772	//   "response": {
33773	//     "$ref": "FloodlightActivityGroup"
33774	//   },
33775	//   "scopes": [
33776	//     "https://www.googleapis.com/auth/dfatrafficking"
33777	//   ]
33778	// }
33779
33780}
33781
33782// method id "dfareporting.floodlightActivityGroups.update":
33783
33784type FloodlightActivityGroupsUpdateCall struct {
33785	s                       *Service
33786	profileId               int64
33787	floodlightactivitygroup *FloodlightActivityGroup
33788	urlParams_              gensupport.URLParams
33789	ctx_                    context.Context
33790	header_                 http.Header
33791}
33792
33793// Update: Updates an existing floodlight activity group.
33794func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
33795	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33796	c.profileId = profileId
33797	c.floodlightactivitygroup = floodlightactivitygroup
33798	return c
33799}
33800
33801// Fields allows partial responses to be retrieved. See
33802// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33803// for more information.
33804func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
33805	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33806	return c
33807}
33808
33809// Context sets the context to be used in this call's Do method. Any
33810// pending HTTP request will be aborted if the provided context is
33811// canceled.
33812func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
33813	c.ctx_ = ctx
33814	return c
33815}
33816
33817// Header returns an http.Header that can be modified by the caller to
33818// add HTTP headers to the request.
33819func (c *FloodlightActivityGroupsUpdateCall) Header() http.Header {
33820	if c.header_ == nil {
33821		c.header_ = make(http.Header)
33822	}
33823	return c.header_
33824}
33825
33826func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
33827	reqHeaders := make(http.Header)
33828	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
33829	for k, v := range c.header_ {
33830		reqHeaders[k] = v
33831	}
33832	reqHeaders.Set("User-Agent", c.s.userAgent())
33833	var body io.Reader = nil
33834	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
33835	if err != nil {
33836		return nil, err
33837	}
33838	reqHeaders.Set("Content-Type", "application/json")
33839	c.urlParams_.Set("alt", alt)
33840	c.urlParams_.Set("prettyPrint", "false")
33841	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33842	urls += "?" + c.urlParams_.Encode()
33843	req, err := http.NewRequest("PUT", urls, body)
33844	if err != nil {
33845		return nil, err
33846	}
33847	req.Header = reqHeaders
33848	googleapi.Expand(req.URL, map[string]string{
33849		"profileId": strconv.FormatInt(c.profileId, 10),
33850	})
33851	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33852}
33853
33854// Do executes the "dfareporting.floodlightActivityGroups.update" call.
33855// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33856// non-2xx status code is an error. Response headers are in either
33857// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33858// returned at all) in error.(*googleapi.Error).Header. Use
33859// googleapi.IsNotModified to check whether the returned error was
33860// because http.StatusNotModified was returned.
33861func (c *FloodlightActivityGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33862	gensupport.SetOptions(c.urlParams_, opts...)
33863	res, err := c.doRequest("json")
33864	if res != nil && res.StatusCode == http.StatusNotModified {
33865		if res.Body != nil {
33866			res.Body.Close()
33867		}
33868		return nil, &googleapi.Error{
33869			Code:   res.StatusCode,
33870			Header: res.Header,
33871		}
33872	}
33873	if err != nil {
33874		return nil, err
33875	}
33876	defer googleapi.CloseBody(res)
33877	if err := googleapi.CheckResponse(res); err != nil {
33878		return nil, err
33879	}
33880	ret := &FloodlightActivityGroup{
33881		ServerResponse: googleapi.ServerResponse{
33882			Header:         res.Header,
33883			HTTPStatusCode: res.StatusCode,
33884		},
33885	}
33886	target := &ret
33887	if err := gensupport.DecodeResponse(target, res); err != nil {
33888		return nil, err
33889	}
33890	return ret, nil
33891	// {
33892	//   "description": "Updates an existing floodlight activity group.",
33893	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
33894	//   "httpMethod": "PUT",
33895	//   "id": "dfareporting.floodlightActivityGroups.update",
33896	//   "parameterOrder": [
33897	//     "profileId"
33898	//   ],
33899	//   "parameters": {
33900	//     "profileId": {
33901	//       "description": "User profile ID associated with this request.",
33902	//       "format": "int64",
33903	//       "location": "path",
33904	//       "required": true,
33905	//       "type": "string"
33906	//     }
33907	//   },
33908	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
33909	//   "request": {
33910	//     "$ref": "FloodlightActivityGroup"
33911	//   },
33912	//   "response": {
33913	//     "$ref": "FloodlightActivityGroup"
33914	//   },
33915	//   "scopes": [
33916	//     "https://www.googleapis.com/auth/dfatrafficking"
33917	//   ]
33918	// }
33919
33920}
33921
33922// method id "dfareporting.floodlightConfigurations.get":
33923
33924type FloodlightConfigurationsGetCall struct {
33925	s            *Service
33926	profileId    int64
33927	id           int64
33928	urlParams_   gensupport.URLParams
33929	ifNoneMatch_ string
33930	ctx_         context.Context
33931	header_      http.Header
33932}
33933
33934// Get: Gets one floodlight configuration by ID.
33935func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
33936	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33937	c.profileId = profileId
33938	c.id = id
33939	return c
33940}
33941
33942// Fields allows partial responses to be retrieved. See
33943// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33944// for more information.
33945func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
33946	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33947	return c
33948}
33949
33950// IfNoneMatch sets the optional parameter which makes the operation
33951// fail if the object's ETag matches the given value. This is useful for
33952// getting updates only after the object has changed since the last
33953// request. Use googleapi.IsNotModified to check whether the response
33954// error from Do is the result of In-None-Match.
33955func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
33956	c.ifNoneMatch_ = entityTag
33957	return c
33958}
33959
33960// Context sets the context to be used in this call's Do method. Any
33961// pending HTTP request will be aborted if the provided context is
33962// canceled.
33963func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
33964	c.ctx_ = ctx
33965	return c
33966}
33967
33968// Header returns an http.Header that can be modified by the caller to
33969// add HTTP headers to the request.
33970func (c *FloodlightConfigurationsGetCall) Header() http.Header {
33971	if c.header_ == nil {
33972		c.header_ = make(http.Header)
33973	}
33974	return c.header_
33975}
33976
33977func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
33978	reqHeaders := make(http.Header)
33979	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
33980	for k, v := range c.header_ {
33981		reqHeaders[k] = v
33982	}
33983	reqHeaders.Set("User-Agent", c.s.userAgent())
33984	if c.ifNoneMatch_ != "" {
33985		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33986	}
33987	var body io.Reader = nil
33988	c.urlParams_.Set("alt", alt)
33989	c.urlParams_.Set("prettyPrint", "false")
33990	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
33991	urls += "?" + c.urlParams_.Encode()
33992	req, err := http.NewRequest("GET", urls, body)
33993	if err != nil {
33994		return nil, err
33995	}
33996	req.Header = reqHeaders
33997	googleapi.Expand(req.URL, map[string]string{
33998		"profileId": strconv.FormatInt(c.profileId, 10),
33999		"id":        strconv.FormatInt(c.id, 10),
34000	})
34001	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34002}
34003
34004// Do executes the "dfareporting.floodlightConfigurations.get" call.
34005// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34006// non-2xx status code is an error. Response headers are in either
34007// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34008// returned at all) in error.(*googleapi.Error).Header. Use
34009// googleapi.IsNotModified to check whether the returned error was
34010// because http.StatusNotModified was returned.
34011func (c *FloodlightConfigurationsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34012	gensupport.SetOptions(c.urlParams_, opts...)
34013	res, err := c.doRequest("json")
34014	if res != nil && res.StatusCode == http.StatusNotModified {
34015		if res.Body != nil {
34016			res.Body.Close()
34017		}
34018		return nil, &googleapi.Error{
34019			Code:   res.StatusCode,
34020			Header: res.Header,
34021		}
34022	}
34023	if err != nil {
34024		return nil, err
34025	}
34026	defer googleapi.CloseBody(res)
34027	if err := googleapi.CheckResponse(res); err != nil {
34028		return nil, err
34029	}
34030	ret := &FloodlightConfiguration{
34031		ServerResponse: googleapi.ServerResponse{
34032			Header:         res.Header,
34033			HTTPStatusCode: res.StatusCode,
34034		},
34035	}
34036	target := &ret
34037	if err := gensupport.DecodeResponse(target, res); err != nil {
34038		return nil, err
34039	}
34040	return ret, nil
34041	// {
34042	//   "description": "Gets one floodlight configuration by ID.",
34043	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations/{id}",
34044	//   "httpMethod": "GET",
34045	//   "id": "dfareporting.floodlightConfigurations.get",
34046	//   "parameterOrder": [
34047	//     "profileId",
34048	//     "id"
34049	//   ],
34050	//   "parameters": {
34051	//     "id": {
34052	//       "description": "Floodlight configuration ID.",
34053	//       "format": "int64",
34054	//       "location": "path",
34055	//       "required": true,
34056	//       "type": "string"
34057	//     },
34058	//     "profileId": {
34059	//       "description": "User profile ID associated with this request.",
34060	//       "format": "int64",
34061	//       "location": "path",
34062	//       "required": true,
34063	//       "type": "string"
34064	//     }
34065	//   },
34066	//   "path": "userprofiles/{profileId}/floodlightConfigurations/{id}",
34067	//   "response": {
34068	//     "$ref": "FloodlightConfiguration"
34069	//   },
34070	//   "scopes": [
34071	//     "https://www.googleapis.com/auth/dfatrafficking"
34072	//   ]
34073	// }
34074
34075}
34076
34077// method id "dfareporting.floodlightConfigurations.list":
34078
34079type FloodlightConfigurationsListCall struct {
34080	s            *Service
34081	profileId    int64
34082	urlParams_   gensupport.URLParams
34083	ifNoneMatch_ string
34084	ctx_         context.Context
34085	header_      http.Header
34086}
34087
34088// List: Retrieves a list of floodlight configurations, possibly
34089// filtered.
34090func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
34091	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34092	c.profileId = profileId
34093	return c
34094}
34095
34096// Ids sets the optional parameter "ids": Set of IDs of floodlight
34097// configurations to retrieve. Required field; otherwise an empty list
34098// will be returned.
34099func (c *FloodlightConfigurationsListCall) Ids(ids ...int64) *FloodlightConfigurationsListCall {
34100	var ids_ []string
34101	for _, v := range ids {
34102		ids_ = append(ids_, fmt.Sprint(v))
34103	}
34104	c.urlParams_.SetMulti("ids", ids_)
34105	return c
34106}
34107
34108// Fields allows partial responses to be retrieved. See
34109// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34110// for more information.
34111func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
34112	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34113	return c
34114}
34115
34116// IfNoneMatch sets the optional parameter which makes the operation
34117// fail if the object's ETag matches the given value. This is useful for
34118// getting updates only after the object has changed since the last
34119// request. Use googleapi.IsNotModified to check whether the response
34120// error from Do is the result of In-None-Match.
34121func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
34122	c.ifNoneMatch_ = entityTag
34123	return c
34124}
34125
34126// Context sets the context to be used in this call's Do method. Any
34127// pending HTTP request will be aborted if the provided context is
34128// canceled.
34129func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
34130	c.ctx_ = ctx
34131	return c
34132}
34133
34134// Header returns an http.Header that can be modified by the caller to
34135// add HTTP headers to the request.
34136func (c *FloodlightConfigurationsListCall) Header() http.Header {
34137	if c.header_ == nil {
34138		c.header_ = make(http.Header)
34139	}
34140	return c.header_
34141}
34142
34143func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
34144	reqHeaders := make(http.Header)
34145	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
34146	for k, v := range c.header_ {
34147		reqHeaders[k] = v
34148	}
34149	reqHeaders.Set("User-Agent", c.s.userAgent())
34150	if c.ifNoneMatch_ != "" {
34151		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34152	}
34153	var body io.Reader = nil
34154	c.urlParams_.Set("alt", alt)
34155	c.urlParams_.Set("prettyPrint", "false")
34156	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34157	urls += "?" + c.urlParams_.Encode()
34158	req, err := http.NewRequest("GET", urls, body)
34159	if err != nil {
34160		return nil, err
34161	}
34162	req.Header = reqHeaders
34163	googleapi.Expand(req.URL, map[string]string{
34164		"profileId": strconv.FormatInt(c.profileId, 10),
34165	})
34166	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34167}
34168
34169// Do executes the "dfareporting.floodlightConfigurations.list" call.
34170// Exactly one of *FloodlightConfigurationsListResponse or error will be
34171// non-nil. Any non-2xx status code is an error. Response headers are in
34172// either *FloodlightConfigurationsListResponse.ServerResponse.Header or
34173// (if a response was returned at all) in
34174// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
34175// whether the returned error was because http.StatusNotModified was
34176// returned.
34177func (c *FloodlightConfigurationsListCall) Do(opts ...googleapi.CallOption) (*FloodlightConfigurationsListResponse, error) {
34178	gensupport.SetOptions(c.urlParams_, opts...)
34179	res, err := c.doRequest("json")
34180	if res != nil && res.StatusCode == http.StatusNotModified {
34181		if res.Body != nil {
34182			res.Body.Close()
34183		}
34184		return nil, &googleapi.Error{
34185			Code:   res.StatusCode,
34186			Header: res.Header,
34187		}
34188	}
34189	if err != nil {
34190		return nil, err
34191	}
34192	defer googleapi.CloseBody(res)
34193	if err := googleapi.CheckResponse(res); err != nil {
34194		return nil, err
34195	}
34196	ret := &FloodlightConfigurationsListResponse{
34197		ServerResponse: googleapi.ServerResponse{
34198			Header:         res.Header,
34199			HTTPStatusCode: res.StatusCode,
34200		},
34201	}
34202	target := &ret
34203	if err := gensupport.DecodeResponse(target, res); err != nil {
34204		return nil, err
34205	}
34206	return ret, nil
34207	// {
34208	//   "description": "Retrieves a list of floodlight configurations, possibly filtered.",
34209	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
34210	//   "httpMethod": "GET",
34211	//   "id": "dfareporting.floodlightConfigurations.list",
34212	//   "parameterOrder": [
34213	//     "profileId"
34214	//   ],
34215	//   "parameters": {
34216	//     "ids": {
34217	//       "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.",
34218	//       "format": "int64",
34219	//       "location": "query",
34220	//       "repeated": true,
34221	//       "type": "string"
34222	//     },
34223	//     "profileId": {
34224	//       "description": "User profile ID associated with this request.",
34225	//       "format": "int64",
34226	//       "location": "path",
34227	//       "required": true,
34228	//       "type": "string"
34229	//     }
34230	//   },
34231	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34232	//   "response": {
34233	//     "$ref": "FloodlightConfigurationsListResponse"
34234	//   },
34235	//   "scopes": [
34236	//     "https://www.googleapis.com/auth/dfatrafficking"
34237	//   ]
34238	// }
34239
34240}
34241
34242// method id "dfareporting.floodlightConfigurations.patch":
34243
34244type FloodlightConfigurationsPatchCall struct {
34245	s                       *Service
34246	profileId               int64
34247	floodlightconfiguration *FloodlightConfiguration
34248	urlParams_              gensupport.URLParams
34249	ctx_                    context.Context
34250	header_                 http.Header
34251}
34252
34253// Patch: Updates an existing floodlight configuration. This method
34254// supports patch semantics.
34255func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
34256	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34257	c.profileId = profileId
34258	c.urlParams_.Set("id", fmt.Sprint(id))
34259	c.floodlightconfiguration = floodlightconfiguration
34260	return c
34261}
34262
34263// Fields allows partial responses to be retrieved. See
34264// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34265// for more information.
34266func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
34267	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34268	return c
34269}
34270
34271// Context sets the context to be used in this call's Do method. Any
34272// pending HTTP request will be aborted if the provided context is
34273// canceled.
34274func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
34275	c.ctx_ = ctx
34276	return c
34277}
34278
34279// Header returns an http.Header that can be modified by the caller to
34280// add HTTP headers to the request.
34281func (c *FloodlightConfigurationsPatchCall) Header() http.Header {
34282	if c.header_ == nil {
34283		c.header_ = make(http.Header)
34284	}
34285	return c.header_
34286}
34287
34288func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
34289	reqHeaders := make(http.Header)
34290	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
34291	for k, v := range c.header_ {
34292		reqHeaders[k] = v
34293	}
34294	reqHeaders.Set("User-Agent", c.s.userAgent())
34295	var body io.Reader = nil
34296	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
34297	if err != nil {
34298		return nil, err
34299	}
34300	reqHeaders.Set("Content-Type", "application/json")
34301	c.urlParams_.Set("alt", alt)
34302	c.urlParams_.Set("prettyPrint", "false")
34303	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34304	urls += "?" + c.urlParams_.Encode()
34305	req, err := http.NewRequest("PATCH", urls, body)
34306	if err != nil {
34307		return nil, err
34308	}
34309	req.Header = reqHeaders
34310	googleapi.Expand(req.URL, map[string]string{
34311		"profileId": strconv.FormatInt(c.profileId, 10),
34312	})
34313	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34314}
34315
34316// Do executes the "dfareporting.floodlightConfigurations.patch" call.
34317// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34318// non-2xx status code is an error. Response headers are in either
34319// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34320// returned at all) in error.(*googleapi.Error).Header. Use
34321// googleapi.IsNotModified to check whether the returned error was
34322// because http.StatusNotModified was returned.
34323func (c *FloodlightConfigurationsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34324	gensupport.SetOptions(c.urlParams_, opts...)
34325	res, err := c.doRequest("json")
34326	if res != nil && res.StatusCode == http.StatusNotModified {
34327		if res.Body != nil {
34328			res.Body.Close()
34329		}
34330		return nil, &googleapi.Error{
34331			Code:   res.StatusCode,
34332			Header: res.Header,
34333		}
34334	}
34335	if err != nil {
34336		return nil, err
34337	}
34338	defer googleapi.CloseBody(res)
34339	if err := googleapi.CheckResponse(res); err != nil {
34340		return nil, err
34341	}
34342	ret := &FloodlightConfiguration{
34343		ServerResponse: googleapi.ServerResponse{
34344			Header:         res.Header,
34345			HTTPStatusCode: res.StatusCode,
34346		},
34347	}
34348	target := &ret
34349	if err := gensupport.DecodeResponse(target, res); err != nil {
34350		return nil, err
34351	}
34352	return ret, nil
34353	// {
34354	//   "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
34355	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
34356	//   "httpMethod": "PATCH",
34357	//   "id": "dfareporting.floodlightConfigurations.patch",
34358	//   "parameterOrder": [
34359	//     "profileId",
34360	//     "id"
34361	//   ],
34362	//   "parameters": {
34363	//     "id": {
34364	//       "description": "FloodlightConfiguration ID.",
34365	//       "format": "int64",
34366	//       "location": "query",
34367	//       "required": true,
34368	//       "type": "string"
34369	//     },
34370	//     "profileId": {
34371	//       "description": "User profile ID associated with this request.",
34372	//       "format": "int64",
34373	//       "location": "path",
34374	//       "required": true,
34375	//       "type": "string"
34376	//     }
34377	//   },
34378	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34379	//   "request": {
34380	//     "$ref": "FloodlightConfiguration"
34381	//   },
34382	//   "response": {
34383	//     "$ref": "FloodlightConfiguration"
34384	//   },
34385	//   "scopes": [
34386	//     "https://www.googleapis.com/auth/dfatrafficking"
34387	//   ]
34388	// }
34389
34390}
34391
34392// method id "dfareporting.floodlightConfigurations.update":
34393
34394type FloodlightConfigurationsUpdateCall struct {
34395	s                       *Service
34396	profileId               int64
34397	floodlightconfiguration *FloodlightConfiguration
34398	urlParams_              gensupport.URLParams
34399	ctx_                    context.Context
34400	header_                 http.Header
34401}
34402
34403// Update: Updates an existing floodlight configuration.
34404func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
34405	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34406	c.profileId = profileId
34407	c.floodlightconfiguration = floodlightconfiguration
34408	return c
34409}
34410
34411// Fields allows partial responses to be retrieved. See
34412// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34413// for more information.
34414func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
34415	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34416	return c
34417}
34418
34419// Context sets the context to be used in this call's Do method. Any
34420// pending HTTP request will be aborted if the provided context is
34421// canceled.
34422func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
34423	c.ctx_ = ctx
34424	return c
34425}
34426
34427// Header returns an http.Header that can be modified by the caller to
34428// add HTTP headers to the request.
34429func (c *FloodlightConfigurationsUpdateCall) Header() http.Header {
34430	if c.header_ == nil {
34431		c.header_ = make(http.Header)
34432	}
34433	return c.header_
34434}
34435
34436func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
34437	reqHeaders := make(http.Header)
34438	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
34439	for k, v := range c.header_ {
34440		reqHeaders[k] = v
34441	}
34442	reqHeaders.Set("User-Agent", c.s.userAgent())
34443	var body io.Reader = nil
34444	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
34445	if err != nil {
34446		return nil, err
34447	}
34448	reqHeaders.Set("Content-Type", "application/json")
34449	c.urlParams_.Set("alt", alt)
34450	c.urlParams_.Set("prettyPrint", "false")
34451	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34452	urls += "?" + c.urlParams_.Encode()
34453	req, err := http.NewRequest("PUT", urls, body)
34454	if err != nil {
34455		return nil, err
34456	}
34457	req.Header = reqHeaders
34458	googleapi.Expand(req.URL, map[string]string{
34459		"profileId": strconv.FormatInt(c.profileId, 10),
34460	})
34461	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34462}
34463
34464// Do executes the "dfareporting.floodlightConfigurations.update" call.
34465// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34466// non-2xx status code is an error. Response headers are in either
34467// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34468// returned at all) in error.(*googleapi.Error).Header. Use
34469// googleapi.IsNotModified to check whether the returned error was
34470// because http.StatusNotModified was returned.
34471func (c *FloodlightConfigurationsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34472	gensupport.SetOptions(c.urlParams_, opts...)
34473	res, err := c.doRequest("json")
34474	if res != nil && res.StatusCode == http.StatusNotModified {
34475		if res.Body != nil {
34476			res.Body.Close()
34477		}
34478		return nil, &googleapi.Error{
34479			Code:   res.StatusCode,
34480			Header: res.Header,
34481		}
34482	}
34483	if err != nil {
34484		return nil, err
34485	}
34486	defer googleapi.CloseBody(res)
34487	if err := googleapi.CheckResponse(res); err != nil {
34488		return nil, err
34489	}
34490	ret := &FloodlightConfiguration{
34491		ServerResponse: googleapi.ServerResponse{
34492			Header:         res.Header,
34493			HTTPStatusCode: res.StatusCode,
34494		},
34495	}
34496	target := &ret
34497	if err := gensupport.DecodeResponse(target, res); err != nil {
34498		return nil, err
34499	}
34500	return ret, nil
34501	// {
34502	//   "description": "Updates an existing floodlight configuration.",
34503	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
34504	//   "httpMethod": "PUT",
34505	//   "id": "dfareporting.floodlightConfigurations.update",
34506	//   "parameterOrder": [
34507	//     "profileId"
34508	//   ],
34509	//   "parameters": {
34510	//     "profileId": {
34511	//       "description": "User profile ID associated with this request.",
34512	//       "format": "int64",
34513	//       "location": "path",
34514	//       "required": true,
34515	//       "type": "string"
34516	//     }
34517	//   },
34518	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34519	//   "request": {
34520	//     "$ref": "FloodlightConfiguration"
34521	//   },
34522	//   "response": {
34523	//     "$ref": "FloodlightConfiguration"
34524	//   },
34525	//   "scopes": [
34526	//     "https://www.googleapis.com/auth/dfatrafficking"
34527	//   ]
34528	// }
34529
34530}
34531
34532// method id "dfareporting.inventoryItems.get":
34533
34534type InventoryItemsGetCall struct {
34535	s            *Service
34536	profileId    int64
34537	projectId    int64
34538	id           int64
34539	urlParams_   gensupport.URLParams
34540	ifNoneMatch_ string
34541	ctx_         context.Context
34542	header_      http.Header
34543}
34544
34545// Get: Gets one inventory item by ID.
34546func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
34547	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34548	c.profileId = profileId
34549	c.projectId = projectId
34550	c.id = id
34551	return c
34552}
34553
34554// Fields allows partial responses to be retrieved. See
34555// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34556// for more information.
34557func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
34558	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34559	return c
34560}
34561
34562// IfNoneMatch sets the optional parameter which makes the operation
34563// fail if the object's ETag matches the given value. This is useful for
34564// getting updates only after the object has changed since the last
34565// request. Use googleapi.IsNotModified to check whether the response
34566// error from Do is the result of In-None-Match.
34567func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
34568	c.ifNoneMatch_ = entityTag
34569	return c
34570}
34571
34572// Context sets the context to be used in this call's Do method. Any
34573// pending HTTP request will be aborted if the provided context is
34574// canceled.
34575func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
34576	c.ctx_ = ctx
34577	return c
34578}
34579
34580// Header returns an http.Header that can be modified by the caller to
34581// add HTTP headers to the request.
34582func (c *InventoryItemsGetCall) Header() http.Header {
34583	if c.header_ == nil {
34584		c.header_ = make(http.Header)
34585	}
34586	return c.header_
34587}
34588
34589func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
34590	reqHeaders := make(http.Header)
34591	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
34592	for k, v := range c.header_ {
34593		reqHeaders[k] = v
34594	}
34595	reqHeaders.Set("User-Agent", c.s.userAgent())
34596	if c.ifNoneMatch_ != "" {
34597		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34598	}
34599	var body io.Reader = nil
34600	c.urlParams_.Set("alt", alt)
34601	c.urlParams_.Set("prettyPrint", "false")
34602	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
34603	urls += "?" + c.urlParams_.Encode()
34604	req, err := http.NewRequest("GET", urls, body)
34605	if err != nil {
34606		return nil, err
34607	}
34608	req.Header = reqHeaders
34609	googleapi.Expand(req.URL, map[string]string{
34610		"profileId": strconv.FormatInt(c.profileId, 10),
34611		"projectId": strconv.FormatInt(c.projectId, 10),
34612		"id":        strconv.FormatInt(c.id, 10),
34613	})
34614	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34615}
34616
34617// Do executes the "dfareporting.inventoryItems.get" call.
34618// Exactly one of *InventoryItem or error will be non-nil. Any non-2xx
34619// status code is an error. Response headers are in either
34620// *InventoryItem.ServerResponse.Header or (if a response was returned
34621// at all) in error.(*googleapi.Error).Header. Use
34622// googleapi.IsNotModified to check whether the returned error was
34623// because http.StatusNotModified was returned.
34624func (c *InventoryItemsGetCall) Do(opts ...googleapi.CallOption) (*InventoryItem, error) {
34625	gensupport.SetOptions(c.urlParams_, opts...)
34626	res, err := c.doRequest("json")
34627	if res != nil && res.StatusCode == http.StatusNotModified {
34628		if res.Body != nil {
34629			res.Body.Close()
34630		}
34631		return nil, &googleapi.Error{
34632			Code:   res.StatusCode,
34633			Header: res.Header,
34634		}
34635	}
34636	if err != nil {
34637		return nil, err
34638	}
34639	defer googleapi.CloseBody(res)
34640	if err := googleapi.CheckResponse(res); err != nil {
34641		return nil, err
34642	}
34643	ret := &InventoryItem{
34644		ServerResponse: googleapi.ServerResponse{
34645			Header:         res.Header,
34646			HTTPStatusCode: res.StatusCode,
34647		},
34648	}
34649	target := &ret
34650	if err := gensupport.DecodeResponse(target, res); err != nil {
34651		return nil, err
34652	}
34653	return ret, nil
34654	// {
34655	//   "description": "Gets one inventory item by ID.",
34656	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
34657	//   "httpMethod": "GET",
34658	//   "id": "dfareporting.inventoryItems.get",
34659	//   "parameterOrder": [
34660	//     "profileId",
34661	//     "projectId",
34662	//     "id"
34663	//   ],
34664	//   "parameters": {
34665	//     "id": {
34666	//       "description": "Inventory item ID.",
34667	//       "format": "int64",
34668	//       "location": "path",
34669	//       "required": true,
34670	//       "type": "string"
34671	//     },
34672	//     "profileId": {
34673	//       "description": "User profile ID associated with this request.",
34674	//       "format": "int64",
34675	//       "location": "path",
34676	//       "required": true,
34677	//       "type": "string"
34678	//     },
34679	//     "projectId": {
34680	//       "description": "Project ID for order documents.",
34681	//       "format": "int64",
34682	//       "location": "path",
34683	//       "required": true,
34684	//       "type": "string"
34685	//     }
34686	//   },
34687	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
34688	//   "response": {
34689	//     "$ref": "InventoryItem"
34690	//   },
34691	//   "scopes": [
34692	//     "https://www.googleapis.com/auth/dfatrafficking"
34693	//   ]
34694	// }
34695
34696}
34697
34698// method id "dfareporting.inventoryItems.list":
34699
34700type InventoryItemsListCall struct {
34701	s            *Service
34702	profileId    int64
34703	projectId    int64
34704	urlParams_   gensupport.URLParams
34705	ifNoneMatch_ string
34706	ctx_         context.Context
34707	header_      http.Header
34708}
34709
34710// List: Retrieves a list of inventory items, possibly filtered. This
34711// method supports paging.
34712func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
34713	c := &InventoryItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34714	c.profileId = profileId
34715	c.projectId = projectId
34716	return c
34717}
34718
34719// Ids sets the optional parameter "ids": Select only inventory items
34720// with these IDs.
34721func (c *InventoryItemsListCall) Ids(ids ...int64) *InventoryItemsListCall {
34722	var ids_ []string
34723	for _, v := range ids {
34724		ids_ = append(ids_, fmt.Sprint(v))
34725	}
34726	c.urlParams_.SetMulti("ids", ids_)
34727	return c
34728}
34729
34730// InPlan sets the optional parameter "inPlan": Select only inventory
34731// items that are in plan.
34732func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
34733	c.urlParams_.Set("inPlan", fmt.Sprint(inPlan))
34734	return c
34735}
34736
34737// MaxResults sets the optional parameter "maxResults": Maximum number
34738// of results to return.
34739func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
34740	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
34741	return c
34742}
34743
34744// OrderId sets the optional parameter "orderId": Select only inventory
34745// items that belong to specified orders.
34746func (c *InventoryItemsListCall) OrderId(orderId ...int64) *InventoryItemsListCall {
34747	var orderId_ []string
34748	for _, v := range orderId {
34749		orderId_ = append(orderId_, fmt.Sprint(v))
34750	}
34751	c.urlParams_.SetMulti("orderId", orderId_)
34752	return c
34753}
34754
34755// PageToken sets the optional parameter "pageToken": Value of the
34756// nextPageToken from the previous result page.
34757func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
34758	c.urlParams_.Set("pageToken", pageToken)
34759	return c
34760}
34761
34762// SiteId sets the optional parameter "siteId": Select only inventory
34763// items that are associated with these sites.
34764func (c *InventoryItemsListCall) SiteId(siteId ...int64) *InventoryItemsListCall {
34765	var siteId_ []string
34766	for _, v := range siteId {
34767		siteId_ = append(siteId_, fmt.Sprint(v))
34768	}
34769	c.urlParams_.SetMulti("siteId", siteId_)
34770	return c
34771}
34772
34773// SortField sets the optional parameter "sortField": Field by which to
34774// sort the list.
34775//
34776// Possible values:
34777//   "ID" (default)
34778//   "NAME"
34779func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
34780	c.urlParams_.Set("sortField", sortField)
34781	return c
34782}
34783
34784// SortOrder sets the optional parameter "sortOrder": Order of sorted
34785// results.
34786//
34787// Possible values:
34788//   "ASCENDING" (default)
34789//   "DESCENDING"
34790func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
34791	c.urlParams_.Set("sortOrder", sortOrder)
34792	return c
34793}
34794
34795// Type sets the optional parameter "type": Select only inventory items
34796// with this type.
34797//
34798// Possible values:
34799//   "PLANNING_PLACEMENT_TYPE_REGULAR"
34800//   "PLANNING_PLACEMENT_TYPE_CREDIT"
34801func (c *InventoryItemsListCall) Type(type_ string) *InventoryItemsListCall {
34802	c.urlParams_.Set("type", type_)
34803	return c
34804}
34805
34806// Fields allows partial responses to be retrieved. See
34807// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34808// for more information.
34809func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
34810	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34811	return c
34812}
34813
34814// IfNoneMatch sets the optional parameter which makes the operation
34815// fail if the object's ETag matches the given value. This is useful for
34816// getting updates only after the object has changed since the last
34817// request. Use googleapi.IsNotModified to check whether the response
34818// error from Do is the result of In-None-Match.
34819func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
34820	c.ifNoneMatch_ = entityTag
34821	return c
34822}
34823
34824// Context sets the context to be used in this call's Do method. Any
34825// pending HTTP request will be aborted if the provided context is
34826// canceled.
34827func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
34828	c.ctx_ = ctx
34829	return c
34830}
34831
34832// Header returns an http.Header that can be modified by the caller to
34833// add HTTP headers to the request.
34834func (c *InventoryItemsListCall) Header() http.Header {
34835	if c.header_ == nil {
34836		c.header_ = make(http.Header)
34837	}
34838	return c.header_
34839}
34840
34841func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
34842	reqHeaders := make(http.Header)
34843	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
34844	for k, v := range c.header_ {
34845		reqHeaders[k] = v
34846	}
34847	reqHeaders.Set("User-Agent", c.s.userAgent())
34848	if c.ifNoneMatch_ != "" {
34849		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34850	}
34851	var body io.Reader = nil
34852	c.urlParams_.Set("alt", alt)
34853	c.urlParams_.Set("prettyPrint", "false")
34854	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
34855	urls += "?" + c.urlParams_.Encode()
34856	req, err := http.NewRequest("GET", urls, body)
34857	if err != nil {
34858		return nil, err
34859	}
34860	req.Header = reqHeaders
34861	googleapi.Expand(req.URL, map[string]string{
34862		"profileId": strconv.FormatInt(c.profileId, 10),
34863		"projectId": strconv.FormatInt(c.projectId, 10),
34864	})
34865	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34866}
34867
34868// Do executes the "dfareporting.inventoryItems.list" call.
34869// Exactly one of *InventoryItemsListResponse or error will be non-nil.
34870// Any non-2xx status code is an error. Response headers are in either
34871// *InventoryItemsListResponse.ServerResponse.Header or (if a response
34872// was returned at all) in error.(*googleapi.Error).Header. Use
34873// googleapi.IsNotModified to check whether the returned error was
34874// because http.StatusNotModified was returned.
34875func (c *InventoryItemsListCall) Do(opts ...googleapi.CallOption) (*InventoryItemsListResponse, error) {
34876	gensupport.SetOptions(c.urlParams_, opts...)
34877	res, err := c.doRequest("json")
34878	if res != nil && res.StatusCode == http.StatusNotModified {
34879		if res.Body != nil {
34880			res.Body.Close()
34881		}
34882		return nil, &googleapi.Error{
34883			Code:   res.StatusCode,
34884			Header: res.Header,
34885		}
34886	}
34887	if err != nil {
34888		return nil, err
34889	}
34890	defer googleapi.CloseBody(res)
34891	if err := googleapi.CheckResponse(res); err != nil {
34892		return nil, err
34893	}
34894	ret := &InventoryItemsListResponse{
34895		ServerResponse: googleapi.ServerResponse{
34896			Header:         res.Header,
34897			HTTPStatusCode: res.StatusCode,
34898		},
34899	}
34900	target := &ret
34901	if err := gensupport.DecodeResponse(target, res); err != nil {
34902		return nil, err
34903	}
34904	return ret, nil
34905	// {
34906	//   "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
34907	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
34908	//   "httpMethod": "GET",
34909	//   "id": "dfareporting.inventoryItems.list",
34910	//   "parameterOrder": [
34911	//     "profileId",
34912	//     "projectId"
34913	//   ],
34914	//   "parameters": {
34915	//     "ids": {
34916	//       "description": "Select only inventory items with these IDs.",
34917	//       "format": "int64",
34918	//       "location": "query",
34919	//       "repeated": true,
34920	//       "type": "string"
34921	//     },
34922	//     "inPlan": {
34923	//       "description": "Select only inventory items that are in plan.",
34924	//       "location": "query",
34925	//       "type": "boolean"
34926	//     },
34927	//     "maxResults": {
34928	//       "default": "1000",
34929	//       "description": "Maximum number of results to return.",
34930	//       "format": "int32",
34931	//       "location": "query",
34932	//       "maximum": "1000",
34933	//       "minimum": "0",
34934	//       "type": "integer"
34935	//     },
34936	//     "orderId": {
34937	//       "description": "Select only inventory items that belong to specified orders.",
34938	//       "format": "int64",
34939	//       "location": "query",
34940	//       "repeated": true,
34941	//       "type": "string"
34942	//     },
34943	//     "pageToken": {
34944	//       "description": "Value of the nextPageToken from the previous result page.",
34945	//       "location": "query",
34946	//       "type": "string"
34947	//     },
34948	//     "profileId": {
34949	//       "description": "User profile ID associated with this request.",
34950	//       "format": "int64",
34951	//       "location": "path",
34952	//       "required": true,
34953	//       "type": "string"
34954	//     },
34955	//     "projectId": {
34956	//       "description": "Project ID for order documents.",
34957	//       "format": "int64",
34958	//       "location": "path",
34959	//       "required": true,
34960	//       "type": "string"
34961	//     },
34962	//     "siteId": {
34963	//       "description": "Select only inventory items that are associated with these sites.",
34964	//       "format": "int64",
34965	//       "location": "query",
34966	//       "repeated": true,
34967	//       "type": "string"
34968	//     },
34969	//     "sortField": {
34970	//       "default": "ID",
34971	//       "description": "Field by which to sort the list.",
34972	//       "enum": [
34973	//         "ID",
34974	//         "NAME"
34975	//       ],
34976	//       "enumDescriptions": [
34977	//         "",
34978	//         ""
34979	//       ],
34980	//       "location": "query",
34981	//       "type": "string"
34982	//     },
34983	//     "sortOrder": {
34984	//       "default": "ASCENDING",
34985	//       "description": "Order of sorted results.",
34986	//       "enum": [
34987	//         "ASCENDING",
34988	//         "DESCENDING"
34989	//       ],
34990	//       "enumDescriptions": [
34991	//         "",
34992	//         ""
34993	//       ],
34994	//       "location": "query",
34995	//       "type": "string"
34996	//     },
34997	//     "type": {
34998	//       "description": "Select only inventory items with this type.",
34999	//       "enum": [
35000	//         "PLANNING_PLACEMENT_TYPE_REGULAR",
35001	//         "PLANNING_PLACEMENT_TYPE_CREDIT"
35002	//       ],
35003	//       "enumDescriptions": [
35004	//         "",
35005	//         ""
35006	//       ],
35007	//       "location": "query",
35008	//       "type": "string"
35009	//     }
35010	//   },
35011	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
35012	//   "response": {
35013	//     "$ref": "InventoryItemsListResponse"
35014	//   },
35015	//   "scopes": [
35016	//     "https://www.googleapis.com/auth/dfatrafficking"
35017	//   ]
35018	// }
35019
35020}
35021
35022// Pages invokes f for each page of results.
35023// A non-nil error returned from f will halt the iteration.
35024// The provided context supersedes any context provided to the Context method.
35025func (c *InventoryItemsListCall) Pages(ctx context.Context, f func(*InventoryItemsListResponse) error) error {
35026	c.ctx_ = ctx
35027	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
35028	for {
35029		x, err := c.Do()
35030		if err != nil {
35031			return err
35032		}
35033		if err := f(x); err != nil {
35034			return err
35035		}
35036		if x.NextPageToken == "" {
35037			return nil
35038		}
35039		c.PageToken(x.NextPageToken)
35040	}
35041}
35042
35043// method id "dfareporting.languages.list":
35044
35045type LanguagesListCall struct {
35046	s            *Service
35047	profileId    int64
35048	urlParams_   gensupport.URLParams
35049	ifNoneMatch_ string
35050	ctx_         context.Context
35051	header_      http.Header
35052}
35053
35054// List: Retrieves a list of languages.
35055func (r *LanguagesService) List(profileId int64) *LanguagesListCall {
35056	c := &LanguagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35057	c.profileId = profileId
35058	return c
35059}
35060
35061// Fields allows partial responses to be retrieved. See
35062// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35063// for more information.
35064func (c *LanguagesListCall) Fields(s ...googleapi.Field) *LanguagesListCall {
35065	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35066	return c
35067}
35068
35069// IfNoneMatch sets the optional parameter which makes the operation
35070// fail if the object's ETag matches the given value. This is useful for
35071// getting updates only after the object has changed since the last
35072// request. Use googleapi.IsNotModified to check whether the response
35073// error from Do is the result of In-None-Match.
35074func (c *LanguagesListCall) IfNoneMatch(entityTag string) *LanguagesListCall {
35075	c.ifNoneMatch_ = entityTag
35076	return c
35077}
35078
35079// Context sets the context to be used in this call's Do method. Any
35080// pending HTTP request will be aborted if the provided context is
35081// canceled.
35082func (c *LanguagesListCall) Context(ctx context.Context) *LanguagesListCall {
35083	c.ctx_ = ctx
35084	return c
35085}
35086
35087// Header returns an http.Header that can be modified by the caller to
35088// add HTTP headers to the request.
35089func (c *LanguagesListCall) Header() http.Header {
35090	if c.header_ == nil {
35091		c.header_ = make(http.Header)
35092	}
35093	return c.header_
35094}
35095
35096func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
35097	reqHeaders := make(http.Header)
35098	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
35099	for k, v := range c.header_ {
35100		reqHeaders[k] = v
35101	}
35102	reqHeaders.Set("User-Agent", c.s.userAgent())
35103	if c.ifNoneMatch_ != "" {
35104		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35105	}
35106	var body io.Reader = nil
35107	c.urlParams_.Set("alt", alt)
35108	c.urlParams_.Set("prettyPrint", "false")
35109	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/languages")
35110	urls += "?" + c.urlParams_.Encode()
35111	req, err := http.NewRequest("GET", urls, body)
35112	if err != nil {
35113		return nil, err
35114	}
35115	req.Header = reqHeaders
35116	googleapi.Expand(req.URL, map[string]string{
35117		"profileId": strconv.FormatInt(c.profileId, 10),
35118	})
35119	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35120}
35121
35122// Do executes the "dfareporting.languages.list" call.
35123// Exactly one of *LanguagesListResponse or error will be non-nil. Any
35124// non-2xx status code is an error. Response headers are in either
35125// *LanguagesListResponse.ServerResponse.Header or (if a response was
35126// returned at all) in error.(*googleapi.Error).Header. Use
35127// googleapi.IsNotModified to check whether the returned error was
35128// because http.StatusNotModified was returned.
35129func (c *LanguagesListCall) Do(opts ...googleapi.CallOption) (*LanguagesListResponse, error) {
35130	gensupport.SetOptions(c.urlParams_, opts...)
35131	res, err := c.doRequest("json")
35132	if res != nil && res.StatusCode == http.StatusNotModified {
35133		if res.Body != nil {
35134			res.Body.Close()
35135		}
35136		return nil, &googleapi.Error{
35137			Code:   res.StatusCode,
35138			Header: res.Header,
35139		}
35140	}
35141	if err != nil {
35142		return nil, err
35143	}
35144	defer googleapi.CloseBody(res)
35145	if err := googleapi.CheckResponse(res); err != nil {
35146		return nil, err
35147	}
35148	ret := &LanguagesListResponse{
35149		ServerResponse: googleapi.ServerResponse{
35150			Header:         res.Header,
35151			HTTPStatusCode: res.StatusCode,
35152		},
35153	}
35154	target := &ret
35155	if err := gensupport.DecodeResponse(target, res); err != nil {
35156		return nil, err
35157	}
35158	return ret, nil
35159	// {
35160	//   "description": "Retrieves a list of languages.",
35161	//   "flatPath": "userprofiles/{profileId}/languages",
35162	//   "httpMethod": "GET",
35163	//   "id": "dfareporting.languages.list",
35164	//   "parameterOrder": [
35165	//     "profileId"
35166	//   ],
35167	//   "parameters": {
35168	//     "profileId": {
35169	//       "description": "User profile ID associated with this request.",
35170	//       "format": "int64",
35171	//       "location": "path",
35172	//       "required": true,
35173	//       "type": "string"
35174	//     }
35175	//   },
35176	//   "path": "userprofiles/{profileId}/languages",
35177	//   "response": {
35178	//     "$ref": "LanguagesListResponse"
35179	//   },
35180	//   "scopes": [
35181	//     "https://www.googleapis.com/auth/dfatrafficking"
35182	//   ]
35183	// }
35184
35185}
35186
35187// method id "dfareporting.metros.list":
35188
35189type MetrosListCall struct {
35190	s            *Service
35191	profileId    int64
35192	urlParams_   gensupport.URLParams
35193	ifNoneMatch_ string
35194	ctx_         context.Context
35195	header_      http.Header
35196}
35197
35198// List: Retrieves a list of metros.
35199func (r *MetrosService) List(profileId int64) *MetrosListCall {
35200	c := &MetrosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35201	c.profileId = profileId
35202	return c
35203}
35204
35205// Fields allows partial responses to be retrieved. See
35206// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35207// for more information.
35208func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
35209	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35210	return c
35211}
35212
35213// IfNoneMatch sets the optional parameter which makes the operation
35214// fail if the object's ETag matches the given value. This is useful for
35215// getting updates only after the object has changed since the last
35216// request. Use googleapi.IsNotModified to check whether the response
35217// error from Do is the result of In-None-Match.
35218func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
35219	c.ifNoneMatch_ = entityTag
35220	return c
35221}
35222
35223// Context sets the context to be used in this call's Do method. Any
35224// pending HTTP request will be aborted if the provided context is
35225// canceled.
35226func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
35227	c.ctx_ = ctx
35228	return c
35229}
35230
35231// Header returns an http.Header that can be modified by the caller to
35232// add HTTP headers to the request.
35233func (c *MetrosListCall) Header() http.Header {
35234	if c.header_ == nil {
35235		c.header_ = make(http.Header)
35236	}
35237	return c.header_
35238}
35239
35240func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
35241	reqHeaders := make(http.Header)
35242	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
35243	for k, v := range c.header_ {
35244		reqHeaders[k] = v
35245	}
35246	reqHeaders.Set("User-Agent", c.s.userAgent())
35247	if c.ifNoneMatch_ != "" {
35248		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35249	}
35250	var body io.Reader = nil
35251	c.urlParams_.Set("alt", alt)
35252	c.urlParams_.Set("prettyPrint", "false")
35253	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
35254	urls += "?" + c.urlParams_.Encode()
35255	req, err := http.NewRequest("GET", urls, body)
35256	if err != nil {
35257		return nil, err
35258	}
35259	req.Header = reqHeaders
35260	googleapi.Expand(req.URL, map[string]string{
35261		"profileId": strconv.FormatInt(c.profileId, 10),
35262	})
35263	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35264}
35265
35266// Do executes the "dfareporting.metros.list" call.
35267// Exactly one of *MetrosListResponse or error will be non-nil. Any
35268// non-2xx status code is an error. Response headers are in either
35269// *MetrosListResponse.ServerResponse.Header or (if a response was
35270// returned at all) in error.(*googleapi.Error).Header. Use
35271// googleapi.IsNotModified to check whether the returned error was
35272// because http.StatusNotModified was returned.
35273func (c *MetrosListCall) Do(opts ...googleapi.CallOption) (*MetrosListResponse, error) {
35274	gensupport.SetOptions(c.urlParams_, opts...)
35275	res, err := c.doRequest("json")
35276	if res != nil && res.StatusCode == http.StatusNotModified {
35277		if res.Body != nil {
35278			res.Body.Close()
35279		}
35280		return nil, &googleapi.Error{
35281			Code:   res.StatusCode,
35282			Header: res.Header,
35283		}
35284	}
35285	if err != nil {
35286		return nil, err
35287	}
35288	defer googleapi.CloseBody(res)
35289	if err := googleapi.CheckResponse(res); err != nil {
35290		return nil, err
35291	}
35292	ret := &MetrosListResponse{
35293		ServerResponse: googleapi.ServerResponse{
35294			Header:         res.Header,
35295			HTTPStatusCode: res.StatusCode,
35296		},
35297	}
35298	target := &ret
35299	if err := gensupport.DecodeResponse(target, res); err != nil {
35300		return nil, err
35301	}
35302	return ret, nil
35303	// {
35304	//   "description": "Retrieves a list of metros.",
35305	//   "flatPath": "userprofiles/{profileId}/metros",
35306	//   "httpMethod": "GET",
35307	//   "id": "dfareporting.metros.list",
35308	//   "parameterOrder": [
35309	//     "profileId"
35310	//   ],
35311	//   "parameters": {
35312	//     "profileId": {
35313	//       "description": "User profile ID associated with this request.",
35314	//       "format": "int64",
35315	//       "location": "path",
35316	//       "required": true,
35317	//       "type": "string"
35318	//     }
35319	//   },
35320	//   "path": "userprofiles/{profileId}/metros",
35321	//   "response": {
35322	//     "$ref": "MetrosListResponse"
35323	//   },
35324	//   "scopes": [
35325	//     "https://www.googleapis.com/auth/dfatrafficking"
35326	//   ]
35327	// }
35328
35329}
35330
35331// method id "dfareporting.mobileApps.get":
35332
35333type MobileAppsGetCall struct {
35334	s            *Service
35335	profileId    int64
35336	id           string
35337	urlParams_   gensupport.URLParams
35338	ifNoneMatch_ string
35339	ctx_         context.Context
35340	header_      http.Header
35341}
35342
35343// Get: Gets one mobile app by ID.
35344func (r *MobileAppsService) Get(profileId int64, id string) *MobileAppsGetCall {
35345	c := &MobileAppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35346	c.profileId = profileId
35347	c.id = id
35348	return c
35349}
35350
35351// Fields allows partial responses to be retrieved. See
35352// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35353// for more information.
35354func (c *MobileAppsGetCall) Fields(s ...googleapi.Field) *MobileAppsGetCall {
35355	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35356	return c
35357}
35358
35359// IfNoneMatch sets the optional parameter which makes the operation
35360// fail if the object's ETag matches the given value. This is useful for
35361// getting updates only after the object has changed since the last
35362// request. Use googleapi.IsNotModified to check whether the response
35363// error from Do is the result of In-None-Match.
35364func (c *MobileAppsGetCall) IfNoneMatch(entityTag string) *MobileAppsGetCall {
35365	c.ifNoneMatch_ = entityTag
35366	return c
35367}
35368
35369// Context sets the context to be used in this call's Do method. Any
35370// pending HTTP request will be aborted if the provided context is
35371// canceled.
35372func (c *MobileAppsGetCall) Context(ctx context.Context) *MobileAppsGetCall {
35373	c.ctx_ = ctx
35374	return c
35375}
35376
35377// Header returns an http.Header that can be modified by the caller to
35378// add HTTP headers to the request.
35379func (c *MobileAppsGetCall) Header() http.Header {
35380	if c.header_ == nil {
35381		c.header_ = make(http.Header)
35382	}
35383	return c.header_
35384}
35385
35386func (c *MobileAppsGetCall) doRequest(alt string) (*http.Response, error) {
35387	reqHeaders := make(http.Header)
35388	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
35389	for k, v := range c.header_ {
35390		reqHeaders[k] = v
35391	}
35392	reqHeaders.Set("User-Agent", c.s.userAgent())
35393	if c.ifNoneMatch_ != "" {
35394		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35395	}
35396	var body io.Reader = nil
35397	c.urlParams_.Set("alt", alt)
35398	c.urlParams_.Set("prettyPrint", "false")
35399	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps/{id}")
35400	urls += "?" + c.urlParams_.Encode()
35401	req, err := http.NewRequest("GET", urls, body)
35402	if err != nil {
35403		return nil, err
35404	}
35405	req.Header = reqHeaders
35406	googleapi.Expand(req.URL, map[string]string{
35407		"profileId": strconv.FormatInt(c.profileId, 10),
35408		"id":        c.id,
35409	})
35410	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35411}
35412
35413// Do executes the "dfareporting.mobileApps.get" call.
35414// Exactly one of *MobileApp or error will be non-nil. Any non-2xx
35415// status code is an error. Response headers are in either
35416// *MobileApp.ServerResponse.Header or (if a response was returned at
35417// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
35418// to check whether the returned error was because
35419// http.StatusNotModified was returned.
35420func (c *MobileAppsGetCall) Do(opts ...googleapi.CallOption) (*MobileApp, error) {
35421	gensupport.SetOptions(c.urlParams_, opts...)
35422	res, err := c.doRequest("json")
35423	if res != nil && res.StatusCode == http.StatusNotModified {
35424		if res.Body != nil {
35425			res.Body.Close()
35426		}
35427		return nil, &googleapi.Error{
35428			Code:   res.StatusCode,
35429			Header: res.Header,
35430		}
35431	}
35432	if err != nil {
35433		return nil, err
35434	}
35435	defer googleapi.CloseBody(res)
35436	if err := googleapi.CheckResponse(res); err != nil {
35437		return nil, err
35438	}
35439	ret := &MobileApp{
35440		ServerResponse: googleapi.ServerResponse{
35441			Header:         res.Header,
35442			HTTPStatusCode: res.StatusCode,
35443		},
35444	}
35445	target := &ret
35446	if err := gensupport.DecodeResponse(target, res); err != nil {
35447		return nil, err
35448	}
35449	return ret, nil
35450	// {
35451	//   "description": "Gets one mobile app by ID.",
35452	//   "flatPath": "userprofiles/{profileId}/mobileApps/{id}",
35453	//   "httpMethod": "GET",
35454	//   "id": "dfareporting.mobileApps.get",
35455	//   "parameterOrder": [
35456	//     "profileId",
35457	//     "id"
35458	//   ],
35459	//   "parameters": {
35460	//     "id": {
35461	//       "description": "Mobile app ID.",
35462	//       "location": "path",
35463	//       "required": true,
35464	//       "type": "string"
35465	//     },
35466	//     "profileId": {
35467	//       "description": "User profile ID associated with this request.",
35468	//       "format": "int64",
35469	//       "location": "path",
35470	//       "required": true,
35471	//       "type": "string"
35472	//     }
35473	//   },
35474	//   "path": "userprofiles/{profileId}/mobileApps/{id}",
35475	//   "response": {
35476	//     "$ref": "MobileApp"
35477	//   },
35478	//   "scopes": [
35479	//     "https://www.googleapis.com/auth/dfatrafficking"
35480	//   ]
35481	// }
35482
35483}
35484
35485// method id "dfareporting.mobileApps.list":
35486
35487type MobileAppsListCall struct {
35488	s            *Service
35489	profileId    int64
35490	urlParams_   gensupport.URLParams
35491	ifNoneMatch_ string
35492	ctx_         context.Context
35493	header_      http.Header
35494}
35495
35496// List: Retrieves list of available mobile apps.
35497func (r *MobileAppsService) List(profileId int64) *MobileAppsListCall {
35498	c := &MobileAppsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35499	c.profileId = profileId
35500	return c
35501}
35502
35503// Directories sets the optional parameter "directories": Select only
35504// apps from these directories.
35505//
35506// Possible values:
35507//   "UNKNOWN"
35508//   "APPLE_APP_STORE"
35509//   "GOOGLE_PLAY_STORE"
35510func (c *MobileAppsListCall) Directories(directories ...string) *MobileAppsListCall {
35511	c.urlParams_.SetMulti("directories", append([]string{}, directories...))
35512	return c
35513}
35514
35515// Ids sets the optional parameter "ids": Select only apps with these
35516// IDs.
35517func (c *MobileAppsListCall) Ids(ids ...string) *MobileAppsListCall {
35518	c.urlParams_.SetMulti("ids", append([]string{}, ids...))
35519	return c
35520}
35521
35522// MaxResults sets the optional parameter "maxResults": Maximum number
35523// of results to return.
35524func (c *MobileAppsListCall) MaxResults(maxResults int64) *MobileAppsListCall {
35525	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
35526	return c
35527}
35528
35529// PageToken sets the optional parameter "pageToken": Value of the
35530// nextPageToken from the previous result page.
35531func (c *MobileAppsListCall) PageToken(pageToken string) *MobileAppsListCall {
35532	c.urlParams_.Set("pageToken", pageToken)
35533	return c
35534}
35535
35536// SearchString sets the optional parameter "searchString": Allows
35537// searching for objects by name or ID. Wildcards (*) are allowed. For
35538// example, "app*2015" will return objects with names like "app Jan
35539// 2018", "app Jan 2018", or simply "app 2018". Most of the searches
35540// also add wildcards implicitly at the start and the end of the search
35541// string. For example, a search string of "app" will match objects with
35542// name "my app", "app 2018", or simply "app".
35543func (c *MobileAppsListCall) SearchString(searchString string) *MobileAppsListCall {
35544	c.urlParams_.Set("searchString", searchString)
35545	return c
35546}
35547
35548// Fields allows partial responses to be retrieved. See
35549// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35550// for more information.
35551func (c *MobileAppsListCall) Fields(s ...googleapi.Field) *MobileAppsListCall {
35552	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35553	return c
35554}
35555
35556// IfNoneMatch sets the optional parameter which makes the operation
35557// fail if the object's ETag matches the given value. This is useful for
35558// getting updates only after the object has changed since the last
35559// request. Use googleapi.IsNotModified to check whether the response
35560// error from Do is the result of In-None-Match.
35561func (c *MobileAppsListCall) IfNoneMatch(entityTag string) *MobileAppsListCall {
35562	c.ifNoneMatch_ = entityTag
35563	return c
35564}
35565
35566// Context sets the context to be used in this call's Do method. Any
35567// pending HTTP request will be aborted if the provided context is
35568// canceled.
35569func (c *MobileAppsListCall) Context(ctx context.Context) *MobileAppsListCall {
35570	c.ctx_ = ctx
35571	return c
35572}
35573
35574// Header returns an http.Header that can be modified by the caller to
35575// add HTTP headers to the request.
35576func (c *MobileAppsListCall) Header() http.Header {
35577	if c.header_ == nil {
35578		c.header_ = make(http.Header)
35579	}
35580	return c.header_
35581}
35582
35583func (c *MobileAppsListCall) doRequest(alt string) (*http.Response, error) {
35584	reqHeaders := make(http.Header)
35585	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
35586	for k, v := range c.header_ {
35587		reqHeaders[k] = v
35588	}
35589	reqHeaders.Set("User-Agent", c.s.userAgent())
35590	if c.ifNoneMatch_ != "" {
35591		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35592	}
35593	var body io.Reader = nil
35594	c.urlParams_.Set("alt", alt)
35595	c.urlParams_.Set("prettyPrint", "false")
35596	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps")
35597	urls += "?" + c.urlParams_.Encode()
35598	req, err := http.NewRequest("GET", urls, body)
35599	if err != nil {
35600		return nil, err
35601	}
35602	req.Header = reqHeaders
35603	googleapi.Expand(req.URL, map[string]string{
35604		"profileId": strconv.FormatInt(c.profileId, 10),
35605	})
35606	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35607}
35608
35609// Do executes the "dfareporting.mobileApps.list" call.
35610// Exactly one of *MobileAppsListResponse or error will be non-nil. Any
35611// non-2xx status code is an error. Response headers are in either
35612// *MobileAppsListResponse.ServerResponse.Header or (if a response was
35613// returned at all) in error.(*googleapi.Error).Header. Use
35614// googleapi.IsNotModified to check whether the returned error was
35615// because http.StatusNotModified was returned.
35616func (c *MobileAppsListCall) Do(opts ...googleapi.CallOption) (*MobileAppsListResponse, error) {
35617	gensupport.SetOptions(c.urlParams_, opts...)
35618	res, err := c.doRequest("json")
35619	if res != nil && res.StatusCode == http.StatusNotModified {
35620		if res.Body != nil {
35621			res.Body.Close()
35622		}
35623		return nil, &googleapi.Error{
35624			Code:   res.StatusCode,
35625			Header: res.Header,
35626		}
35627	}
35628	if err != nil {
35629		return nil, err
35630	}
35631	defer googleapi.CloseBody(res)
35632	if err := googleapi.CheckResponse(res); err != nil {
35633		return nil, err
35634	}
35635	ret := &MobileAppsListResponse{
35636		ServerResponse: googleapi.ServerResponse{
35637			Header:         res.Header,
35638			HTTPStatusCode: res.StatusCode,
35639		},
35640	}
35641	target := &ret
35642	if err := gensupport.DecodeResponse(target, res); err != nil {
35643		return nil, err
35644	}
35645	return ret, nil
35646	// {
35647	//   "description": "Retrieves list of available mobile apps.",
35648	//   "flatPath": "userprofiles/{profileId}/mobileApps",
35649	//   "httpMethod": "GET",
35650	//   "id": "dfareporting.mobileApps.list",
35651	//   "parameterOrder": [
35652	//     "profileId"
35653	//   ],
35654	//   "parameters": {
35655	//     "directories": {
35656	//       "description": "Select only apps from these directories.",
35657	//       "enum": [
35658	//         "UNKNOWN",
35659	//         "APPLE_APP_STORE",
35660	//         "GOOGLE_PLAY_STORE"
35661	//       ],
35662	//       "enumDescriptions": [
35663	//         "",
35664	//         "",
35665	//         ""
35666	//       ],
35667	//       "location": "query",
35668	//       "repeated": true,
35669	//       "type": "string"
35670	//     },
35671	//     "ids": {
35672	//       "description": "Select only apps with these IDs.",
35673	//       "location": "query",
35674	//       "repeated": true,
35675	//       "type": "string"
35676	//     },
35677	//     "maxResults": {
35678	//       "default": "1000",
35679	//       "description": "Maximum number of results to return.",
35680	//       "format": "int32",
35681	//       "location": "query",
35682	//       "maximum": "1000",
35683	//       "minimum": "0",
35684	//       "type": "integer"
35685	//     },
35686	//     "pageToken": {
35687	//       "description": "Value of the nextPageToken from the previous result page.",
35688	//       "location": "query",
35689	//       "type": "string"
35690	//     },
35691	//     "profileId": {
35692	//       "description": "User profile ID associated with this request.",
35693	//       "format": "int64",
35694	//       "location": "path",
35695	//       "required": true,
35696	//       "type": "string"
35697	//     },
35698	//     "searchString": {
35699	//       "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\".",
35700	//       "location": "query",
35701	//       "type": "string"
35702	//     }
35703	//   },
35704	//   "path": "userprofiles/{profileId}/mobileApps",
35705	//   "response": {
35706	//     "$ref": "MobileAppsListResponse"
35707	//   },
35708	//   "scopes": [
35709	//     "https://www.googleapis.com/auth/dfatrafficking"
35710	//   ]
35711	// }
35712
35713}
35714
35715// Pages invokes f for each page of results.
35716// A non-nil error returned from f will halt the iteration.
35717// The provided context supersedes any context provided to the Context method.
35718func (c *MobileAppsListCall) Pages(ctx context.Context, f func(*MobileAppsListResponse) error) error {
35719	c.ctx_ = ctx
35720	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
35721	for {
35722		x, err := c.Do()
35723		if err != nil {
35724			return err
35725		}
35726		if err := f(x); err != nil {
35727			return err
35728		}
35729		if x.NextPageToken == "" {
35730			return nil
35731		}
35732		c.PageToken(x.NextPageToken)
35733	}
35734}
35735
35736// method id "dfareporting.mobileCarriers.get":
35737
35738type MobileCarriersGetCall struct {
35739	s            *Service
35740	profileId    int64
35741	id           int64
35742	urlParams_   gensupport.URLParams
35743	ifNoneMatch_ string
35744	ctx_         context.Context
35745	header_      http.Header
35746}
35747
35748// Get: Gets one mobile carrier by ID.
35749func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
35750	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35751	c.profileId = profileId
35752	c.id = id
35753	return c
35754}
35755
35756// Fields allows partial responses to be retrieved. See
35757// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35758// for more information.
35759func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
35760	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35761	return c
35762}
35763
35764// IfNoneMatch sets the optional parameter which makes the operation
35765// fail if the object's ETag matches the given value. This is useful for
35766// getting updates only after the object has changed since the last
35767// request. Use googleapi.IsNotModified to check whether the response
35768// error from Do is the result of In-None-Match.
35769func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
35770	c.ifNoneMatch_ = entityTag
35771	return c
35772}
35773
35774// Context sets the context to be used in this call's Do method. Any
35775// pending HTTP request will be aborted if the provided context is
35776// canceled.
35777func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
35778	c.ctx_ = ctx
35779	return c
35780}
35781
35782// Header returns an http.Header that can be modified by the caller to
35783// add HTTP headers to the request.
35784func (c *MobileCarriersGetCall) Header() http.Header {
35785	if c.header_ == nil {
35786		c.header_ = make(http.Header)
35787	}
35788	return c.header_
35789}
35790
35791func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
35792	reqHeaders := make(http.Header)
35793	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
35794	for k, v := range c.header_ {
35795		reqHeaders[k] = v
35796	}
35797	reqHeaders.Set("User-Agent", c.s.userAgent())
35798	if c.ifNoneMatch_ != "" {
35799		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35800	}
35801	var body io.Reader = nil
35802	c.urlParams_.Set("alt", alt)
35803	c.urlParams_.Set("prettyPrint", "false")
35804	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
35805	urls += "?" + c.urlParams_.Encode()
35806	req, err := http.NewRequest("GET", urls, body)
35807	if err != nil {
35808		return nil, err
35809	}
35810	req.Header = reqHeaders
35811	googleapi.Expand(req.URL, map[string]string{
35812		"profileId": strconv.FormatInt(c.profileId, 10),
35813		"id":        strconv.FormatInt(c.id, 10),
35814	})
35815	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35816}
35817
35818// Do executes the "dfareporting.mobileCarriers.get" call.
35819// Exactly one of *MobileCarrier or error will be non-nil. Any non-2xx
35820// status code is an error. Response headers are in either
35821// *MobileCarrier.ServerResponse.Header or (if a response was returned
35822// at all) in error.(*googleapi.Error).Header. Use
35823// googleapi.IsNotModified to check whether the returned error was
35824// because http.StatusNotModified was returned.
35825func (c *MobileCarriersGetCall) Do(opts ...googleapi.CallOption) (*MobileCarrier, error) {
35826	gensupport.SetOptions(c.urlParams_, opts...)
35827	res, err := c.doRequest("json")
35828	if res != nil && res.StatusCode == http.StatusNotModified {
35829		if res.Body != nil {
35830			res.Body.Close()
35831		}
35832		return nil, &googleapi.Error{
35833			Code:   res.StatusCode,
35834			Header: res.Header,
35835		}
35836	}
35837	if err != nil {
35838		return nil, err
35839	}
35840	defer googleapi.CloseBody(res)
35841	if err := googleapi.CheckResponse(res); err != nil {
35842		return nil, err
35843	}
35844	ret := &MobileCarrier{
35845		ServerResponse: googleapi.ServerResponse{
35846			Header:         res.Header,
35847			HTTPStatusCode: res.StatusCode,
35848		},
35849	}
35850	target := &ret
35851	if err := gensupport.DecodeResponse(target, res); err != nil {
35852		return nil, err
35853	}
35854	return ret, nil
35855	// {
35856	//   "description": "Gets one mobile carrier by ID.",
35857	//   "flatPath": "userprofiles/{profileId}/mobileCarriers/{id}",
35858	//   "httpMethod": "GET",
35859	//   "id": "dfareporting.mobileCarriers.get",
35860	//   "parameterOrder": [
35861	//     "profileId",
35862	//     "id"
35863	//   ],
35864	//   "parameters": {
35865	//     "id": {
35866	//       "description": "Mobile carrier ID.",
35867	//       "format": "int64",
35868	//       "location": "path",
35869	//       "required": true,
35870	//       "type": "string"
35871	//     },
35872	//     "profileId": {
35873	//       "description": "User profile ID associated with this request.",
35874	//       "format": "int64",
35875	//       "location": "path",
35876	//       "required": true,
35877	//       "type": "string"
35878	//     }
35879	//   },
35880	//   "path": "userprofiles/{profileId}/mobileCarriers/{id}",
35881	//   "response": {
35882	//     "$ref": "MobileCarrier"
35883	//   },
35884	//   "scopes": [
35885	//     "https://www.googleapis.com/auth/dfatrafficking"
35886	//   ]
35887	// }
35888
35889}
35890
35891// method id "dfareporting.mobileCarriers.list":
35892
35893type MobileCarriersListCall struct {
35894	s            *Service
35895	profileId    int64
35896	urlParams_   gensupport.URLParams
35897	ifNoneMatch_ string
35898	ctx_         context.Context
35899	header_      http.Header
35900}
35901
35902// List: Retrieves a list of mobile carriers.
35903func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
35904	c := &MobileCarriersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35905	c.profileId = profileId
35906	return c
35907}
35908
35909// Fields allows partial responses to be retrieved. See
35910// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35911// for more information.
35912func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
35913	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35914	return c
35915}
35916
35917// IfNoneMatch sets the optional parameter which makes the operation
35918// fail if the object's ETag matches the given value. This is useful for
35919// getting updates only after the object has changed since the last
35920// request. Use googleapi.IsNotModified to check whether the response
35921// error from Do is the result of In-None-Match.
35922func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
35923	c.ifNoneMatch_ = entityTag
35924	return c
35925}
35926
35927// Context sets the context to be used in this call's Do method. Any
35928// pending HTTP request will be aborted if the provided context is
35929// canceled.
35930func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
35931	c.ctx_ = ctx
35932	return c
35933}
35934
35935// Header returns an http.Header that can be modified by the caller to
35936// add HTTP headers to the request.
35937func (c *MobileCarriersListCall) Header() http.Header {
35938	if c.header_ == nil {
35939		c.header_ = make(http.Header)
35940	}
35941	return c.header_
35942}
35943
35944func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
35945	reqHeaders := make(http.Header)
35946	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
35947	for k, v := range c.header_ {
35948		reqHeaders[k] = v
35949	}
35950	reqHeaders.Set("User-Agent", c.s.userAgent())
35951	if c.ifNoneMatch_ != "" {
35952		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35953	}
35954	var body io.Reader = nil
35955	c.urlParams_.Set("alt", alt)
35956	c.urlParams_.Set("prettyPrint", "false")
35957	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
35958	urls += "?" + c.urlParams_.Encode()
35959	req, err := http.NewRequest("GET", urls, body)
35960	if err != nil {
35961		return nil, err
35962	}
35963	req.Header = reqHeaders
35964	googleapi.Expand(req.URL, map[string]string{
35965		"profileId": strconv.FormatInt(c.profileId, 10),
35966	})
35967	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35968}
35969
35970// Do executes the "dfareporting.mobileCarriers.list" call.
35971// Exactly one of *MobileCarriersListResponse or error will be non-nil.
35972// Any non-2xx status code is an error. Response headers are in either
35973// *MobileCarriersListResponse.ServerResponse.Header or (if a response
35974// was returned at all) in error.(*googleapi.Error).Header. Use
35975// googleapi.IsNotModified to check whether the returned error was
35976// because http.StatusNotModified was returned.
35977func (c *MobileCarriersListCall) Do(opts ...googleapi.CallOption) (*MobileCarriersListResponse, error) {
35978	gensupport.SetOptions(c.urlParams_, opts...)
35979	res, err := c.doRequest("json")
35980	if res != nil && res.StatusCode == http.StatusNotModified {
35981		if res.Body != nil {
35982			res.Body.Close()
35983		}
35984		return nil, &googleapi.Error{
35985			Code:   res.StatusCode,
35986			Header: res.Header,
35987		}
35988	}
35989	if err != nil {
35990		return nil, err
35991	}
35992	defer googleapi.CloseBody(res)
35993	if err := googleapi.CheckResponse(res); err != nil {
35994		return nil, err
35995	}
35996	ret := &MobileCarriersListResponse{
35997		ServerResponse: googleapi.ServerResponse{
35998			Header:         res.Header,
35999			HTTPStatusCode: res.StatusCode,
36000		},
36001	}
36002	target := &ret
36003	if err := gensupport.DecodeResponse(target, res); err != nil {
36004		return nil, err
36005	}
36006	return ret, nil
36007	// {
36008	//   "description": "Retrieves a list of mobile carriers.",
36009	//   "flatPath": "userprofiles/{profileId}/mobileCarriers",
36010	//   "httpMethod": "GET",
36011	//   "id": "dfareporting.mobileCarriers.list",
36012	//   "parameterOrder": [
36013	//     "profileId"
36014	//   ],
36015	//   "parameters": {
36016	//     "profileId": {
36017	//       "description": "User profile ID associated with this request.",
36018	//       "format": "int64",
36019	//       "location": "path",
36020	//       "required": true,
36021	//       "type": "string"
36022	//     }
36023	//   },
36024	//   "path": "userprofiles/{profileId}/mobileCarriers",
36025	//   "response": {
36026	//     "$ref": "MobileCarriersListResponse"
36027	//   },
36028	//   "scopes": [
36029	//     "https://www.googleapis.com/auth/dfatrafficking"
36030	//   ]
36031	// }
36032
36033}
36034
36035// method id "dfareporting.operatingSystemVersions.get":
36036
36037type OperatingSystemVersionsGetCall struct {
36038	s            *Service
36039	profileId    int64
36040	id           int64
36041	urlParams_   gensupport.URLParams
36042	ifNoneMatch_ string
36043	ctx_         context.Context
36044	header_      http.Header
36045}
36046
36047// Get: Gets one operating system version by ID.
36048func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
36049	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36050	c.profileId = profileId
36051	c.id = id
36052	return c
36053}
36054
36055// Fields allows partial responses to be retrieved. See
36056// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36057// for more information.
36058func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
36059	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36060	return c
36061}
36062
36063// IfNoneMatch sets the optional parameter which makes the operation
36064// fail if the object's ETag matches the given value. This is useful for
36065// getting updates only after the object has changed since the last
36066// request. Use googleapi.IsNotModified to check whether the response
36067// error from Do is the result of In-None-Match.
36068func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
36069	c.ifNoneMatch_ = entityTag
36070	return c
36071}
36072
36073// Context sets the context to be used in this call's Do method. Any
36074// pending HTTP request will be aborted if the provided context is
36075// canceled.
36076func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
36077	c.ctx_ = ctx
36078	return c
36079}
36080
36081// Header returns an http.Header that can be modified by the caller to
36082// add HTTP headers to the request.
36083func (c *OperatingSystemVersionsGetCall) Header() http.Header {
36084	if c.header_ == nil {
36085		c.header_ = make(http.Header)
36086	}
36087	return c.header_
36088}
36089
36090func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
36091	reqHeaders := make(http.Header)
36092	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
36093	for k, v := range c.header_ {
36094		reqHeaders[k] = v
36095	}
36096	reqHeaders.Set("User-Agent", c.s.userAgent())
36097	if c.ifNoneMatch_ != "" {
36098		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36099	}
36100	var body io.Reader = nil
36101	c.urlParams_.Set("alt", alt)
36102	c.urlParams_.Set("prettyPrint", "false")
36103	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
36104	urls += "?" + c.urlParams_.Encode()
36105	req, err := http.NewRequest("GET", urls, body)
36106	if err != nil {
36107		return nil, err
36108	}
36109	req.Header = reqHeaders
36110	googleapi.Expand(req.URL, map[string]string{
36111		"profileId": strconv.FormatInt(c.profileId, 10),
36112		"id":        strconv.FormatInt(c.id, 10),
36113	})
36114	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36115}
36116
36117// Do executes the "dfareporting.operatingSystemVersions.get" call.
36118// Exactly one of *OperatingSystemVersion or error will be non-nil. Any
36119// non-2xx status code is an error. Response headers are in either
36120// *OperatingSystemVersion.ServerResponse.Header or (if a response was
36121// returned at all) in error.(*googleapi.Error).Header. Use
36122// googleapi.IsNotModified to check whether the returned error was
36123// because http.StatusNotModified was returned.
36124func (c *OperatingSystemVersionsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersion, error) {
36125	gensupport.SetOptions(c.urlParams_, opts...)
36126	res, err := c.doRequest("json")
36127	if res != nil && res.StatusCode == http.StatusNotModified {
36128		if res.Body != nil {
36129			res.Body.Close()
36130		}
36131		return nil, &googleapi.Error{
36132			Code:   res.StatusCode,
36133			Header: res.Header,
36134		}
36135	}
36136	if err != nil {
36137		return nil, err
36138	}
36139	defer googleapi.CloseBody(res)
36140	if err := googleapi.CheckResponse(res); err != nil {
36141		return nil, err
36142	}
36143	ret := &OperatingSystemVersion{
36144		ServerResponse: googleapi.ServerResponse{
36145			Header:         res.Header,
36146			HTTPStatusCode: res.StatusCode,
36147		},
36148	}
36149	target := &ret
36150	if err := gensupport.DecodeResponse(target, res); err != nil {
36151		return nil, err
36152	}
36153	return ret, nil
36154	// {
36155	//   "description": "Gets one operating system version by ID.",
36156	//   "flatPath": "userprofiles/{profileId}/operatingSystemVersions/{id}",
36157	//   "httpMethod": "GET",
36158	//   "id": "dfareporting.operatingSystemVersions.get",
36159	//   "parameterOrder": [
36160	//     "profileId",
36161	//     "id"
36162	//   ],
36163	//   "parameters": {
36164	//     "id": {
36165	//       "description": "Operating system version ID.",
36166	//       "format": "int64",
36167	//       "location": "path",
36168	//       "required": true,
36169	//       "type": "string"
36170	//     },
36171	//     "profileId": {
36172	//       "description": "User profile ID associated with this request.",
36173	//       "format": "int64",
36174	//       "location": "path",
36175	//       "required": true,
36176	//       "type": "string"
36177	//     }
36178	//   },
36179	//   "path": "userprofiles/{profileId}/operatingSystemVersions/{id}",
36180	//   "response": {
36181	//     "$ref": "OperatingSystemVersion"
36182	//   },
36183	//   "scopes": [
36184	//     "https://www.googleapis.com/auth/dfatrafficking"
36185	//   ]
36186	// }
36187
36188}
36189
36190// method id "dfareporting.operatingSystemVersions.list":
36191
36192type OperatingSystemVersionsListCall struct {
36193	s            *Service
36194	profileId    int64
36195	urlParams_   gensupport.URLParams
36196	ifNoneMatch_ string
36197	ctx_         context.Context
36198	header_      http.Header
36199}
36200
36201// List: Retrieves a list of operating system versions.
36202func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
36203	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36204	c.profileId = profileId
36205	return c
36206}
36207
36208// Fields allows partial responses to be retrieved. See
36209// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36210// for more information.
36211func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
36212	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36213	return c
36214}
36215
36216// IfNoneMatch sets the optional parameter which makes the operation
36217// fail if the object's ETag matches the given value. This is useful for
36218// getting updates only after the object has changed since the last
36219// request. Use googleapi.IsNotModified to check whether the response
36220// error from Do is the result of In-None-Match.
36221func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
36222	c.ifNoneMatch_ = entityTag
36223	return c
36224}
36225
36226// Context sets the context to be used in this call's Do method. Any
36227// pending HTTP request will be aborted if the provided context is
36228// canceled.
36229func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
36230	c.ctx_ = ctx
36231	return c
36232}
36233
36234// Header returns an http.Header that can be modified by the caller to
36235// add HTTP headers to the request.
36236func (c *OperatingSystemVersionsListCall) Header() http.Header {
36237	if c.header_ == nil {
36238		c.header_ = make(http.Header)
36239	}
36240	return c.header_
36241}
36242
36243func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
36244	reqHeaders := make(http.Header)
36245	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
36246	for k, v := range c.header_ {
36247		reqHeaders[k] = v
36248	}
36249	reqHeaders.Set("User-Agent", c.s.userAgent())
36250	if c.ifNoneMatch_ != "" {
36251		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36252	}
36253	var body io.Reader = nil
36254	c.urlParams_.Set("alt", alt)
36255	c.urlParams_.Set("prettyPrint", "false")
36256	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
36257	urls += "?" + c.urlParams_.Encode()
36258	req, err := http.NewRequest("GET", urls, body)
36259	if err != nil {
36260		return nil, err
36261	}
36262	req.Header = reqHeaders
36263	googleapi.Expand(req.URL, map[string]string{
36264		"profileId": strconv.FormatInt(c.profileId, 10),
36265	})
36266	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36267}
36268
36269// Do executes the "dfareporting.operatingSystemVersions.list" call.
36270// Exactly one of *OperatingSystemVersionsListResponse or error will be
36271// non-nil. Any non-2xx status code is an error. Response headers are in
36272// either *OperatingSystemVersionsListResponse.ServerResponse.Header or
36273// (if a response was returned at all) in
36274// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
36275// whether the returned error was because http.StatusNotModified was
36276// returned.
36277func (c *OperatingSystemVersionsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersionsListResponse, error) {
36278	gensupport.SetOptions(c.urlParams_, opts...)
36279	res, err := c.doRequest("json")
36280	if res != nil && res.StatusCode == http.StatusNotModified {
36281		if res.Body != nil {
36282			res.Body.Close()
36283		}
36284		return nil, &googleapi.Error{
36285			Code:   res.StatusCode,
36286			Header: res.Header,
36287		}
36288	}
36289	if err != nil {
36290		return nil, err
36291	}
36292	defer googleapi.CloseBody(res)
36293	if err := googleapi.CheckResponse(res); err != nil {
36294		return nil, err
36295	}
36296	ret := &OperatingSystemVersionsListResponse{
36297		ServerResponse: googleapi.ServerResponse{
36298			Header:         res.Header,
36299			HTTPStatusCode: res.StatusCode,
36300		},
36301	}
36302	target := &ret
36303	if err := gensupport.DecodeResponse(target, res); err != nil {
36304		return nil, err
36305	}
36306	return ret, nil
36307	// {
36308	//   "description": "Retrieves a list of operating system versions.",
36309	//   "flatPath": "userprofiles/{profileId}/operatingSystemVersions",
36310	//   "httpMethod": "GET",
36311	//   "id": "dfareporting.operatingSystemVersions.list",
36312	//   "parameterOrder": [
36313	//     "profileId"
36314	//   ],
36315	//   "parameters": {
36316	//     "profileId": {
36317	//       "description": "User profile ID associated with this request.",
36318	//       "format": "int64",
36319	//       "location": "path",
36320	//       "required": true,
36321	//       "type": "string"
36322	//     }
36323	//   },
36324	//   "path": "userprofiles/{profileId}/operatingSystemVersions",
36325	//   "response": {
36326	//     "$ref": "OperatingSystemVersionsListResponse"
36327	//   },
36328	//   "scopes": [
36329	//     "https://www.googleapis.com/auth/dfatrafficking"
36330	//   ]
36331	// }
36332
36333}
36334
36335// method id "dfareporting.operatingSystems.get":
36336
36337type OperatingSystemsGetCall struct {
36338	s            *Service
36339	profileId    int64
36340	dartId       int64
36341	urlParams_   gensupport.URLParams
36342	ifNoneMatch_ string
36343	ctx_         context.Context
36344	header_      http.Header
36345}
36346
36347// Get: Gets one operating system by DART ID.
36348func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
36349	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36350	c.profileId = profileId
36351	c.dartId = dartId
36352	return c
36353}
36354
36355// Fields allows partial responses to be retrieved. See
36356// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36357// for more information.
36358func (c *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
36359	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36360	return c
36361}
36362
36363// IfNoneMatch sets the optional parameter which makes the operation
36364// fail if the object's ETag matches the given value. This is useful for
36365// getting updates only after the object has changed since the last
36366// request. Use googleapi.IsNotModified to check whether the response
36367// error from Do is the result of In-None-Match.
36368func (c *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
36369	c.ifNoneMatch_ = entityTag
36370	return c
36371}
36372
36373// Context sets the context to be used in this call's Do method. Any
36374// pending HTTP request will be aborted if the provided context is
36375// canceled.
36376func (c *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
36377	c.ctx_ = ctx
36378	return c
36379}
36380
36381// Header returns an http.Header that can be modified by the caller to
36382// add HTTP headers to the request.
36383func (c *OperatingSystemsGetCall) Header() http.Header {
36384	if c.header_ == nil {
36385		c.header_ = make(http.Header)
36386	}
36387	return c.header_
36388}
36389
36390func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
36391	reqHeaders := make(http.Header)
36392	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
36393	for k, v := range c.header_ {
36394		reqHeaders[k] = v
36395	}
36396	reqHeaders.Set("User-Agent", c.s.userAgent())
36397	if c.ifNoneMatch_ != "" {
36398		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36399	}
36400	var body io.Reader = nil
36401	c.urlParams_.Set("alt", alt)
36402	c.urlParams_.Set("prettyPrint", "false")
36403	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems/{dartId}")
36404	urls += "?" + c.urlParams_.Encode()
36405	req, err := http.NewRequest("GET", urls, body)
36406	if err != nil {
36407		return nil, err
36408	}
36409	req.Header = reqHeaders
36410	googleapi.Expand(req.URL, map[string]string{
36411		"profileId": strconv.FormatInt(c.profileId, 10),
36412		"dartId":    strconv.FormatInt(c.dartId, 10),
36413	})
36414	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36415}
36416
36417// Do executes the "dfareporting.operatingSystems.get" call.
36418// Exactly one of *OperatingSystem or error will be non-nil. Any non-2xx
36419// status code is an error. Response headers are in either
36420// *OperatingSystem.ServerResponse.Header or (if a response was returned
36421// at all) in error.(*googleapi.Error).Header. Use
36422// googleapi.IsNotModified to check whether the returned error was
36423// because http.StatusNotModified was returned.
36424func (c *OperatingSystemsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystem, error) {
36425	gensupport.SetOptions(c.urlParams_, opts...)
36426	res, err := c.doRequest("json")
36427	if res != nil && res.StatusCode == http.StatusNotModified {
36428		if res.Body != nil {
36429			res.Body.Close()
36430		}
36431		return nil, &googleapi.Error{
36432			Code:   res.StatusCode,
36433			Header: res.Header,
36434		}
36435	}
36436	if err != nil {
36437		return nil, err
36438	}
36439	defer googleapi.CloseBody(res)
36440	if err := googleapi.CheckResponse(res); err != nil {
36441		return nil, err
36442	}
36443	ret := &OperatingSystem{
36444		ServerResponse: googleapi.ServerResponse{
36445			Header:         res.Header,
36446			HTTPStatusCode: res.StatusCode,
36447		},
36448	}
36449	target := &ret
36450	if err := gensupport.DecodeResponse(target, res); err != nil {
36451		return nil, err
36452	}
36453	return ret, nil
36454	// {
36455	//   "description": "Gets one operating system by DART ID.",
36456	//   "flatPath": "userprofiles/{profileId}/operatingSystems/{dartId}",
36457	//   "httpMethod": "GET",
36458	//   "id": "dfareporting.operatingSystems.get",
36459	//   "parameterOrder": [
36460	//     "profileId",
36461	//     "dartId"
36462	//   ],
36463	//   "parameters": {
36464	//     "dartId": {
36465	//       "description": "Operating system DART ID.",
36466	//       "format": "int64",
36467	//       "location": "path",
36468	//       "required": true,
36469	//       "type": "string"
36470	//     },
36471	//     "profileId": {
36472	//       "description": "User profile ID associated with this request.",
36473	//       "format": "int64",
36474	//       "location": "path",
36475	//       "required": true,
36476	//       "type": "string"
36477	//     }
36478	//   },
36479	//   "path": "userprofiles/{profileId}/operatingSystems/{dartId}",
36480	//   "response": {
36481	//     "$ref": "OperatingSystem"
36482	//   },
36483	//   "scopes": [
36484	//     "https://www.googleapis.com/auth/dfatrafficking"
36485	//   ]
36486	// }
36487
36488}
36489
36490// method id "dfareporting.operatingSystems.list":
36491
36492type OperatingSystemsListCall struct {
36493	s            *Service
36494	profileId    int64
36495	urlParams_   gensupport.URLParams
36496	ifNoneMatch_ string
36497	ctx_         context.Context
36498	header_      http.Header
36499}
36500
36501// List: Retrieves a list of operating systems.
36502func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
36503	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36504	c.profileId = profileId
36505	return c
36506}
36507
36508// Fields allows partial responses to be retrieved. See
36509// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36510// for more information.
36511func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
36512	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36513	return c
36514}
36515
36516// IfNoneMatch sets the optional parameter which makes the operation
36517// fail if the object's ETag matches the given value. This is useful for
36518// getting updates only after the object has changed since the last
36519// request. Use googleapi.IsNotModified to check whether the response
36520// error from Do is the result of In-None-Match.
36521func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
36522	c.ifNoneMatch_ = entityTag
36523	return c
36524}
36525
36526// Context sets the context to be used in this call's Do method. Any
36527// pending HTTP request will be aborted if the provided context is
36528// canceled.
36529func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
36530	c.ctx_ = ctx
36531	return c
36532}
36533
36534// Header returns an http.Header that can be modified by the caller to
36535// add HTTP headers to the request.
36536func (c *OperatingSystemsListCall) Header() http.Header {
36537	if c.header_ == nil {
36538		c.header_ = make(http.Header)
36539	}
36540	return c.header_
36541}
36542
36543func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
36544	reqHeaders := make(http.Header)
36545	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
36546	for k, v := range c.header_ {
36547		reqHeaders[k] = v
36548	}
36549	reqHeaders.Set("User-Agent", c.s.userAgent())
36550	if c.ifNoneMatch_ != "" {
36551		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36552	}
36553	var body io.Reader = nil
36554	c.urlParams_.Set("alt", alt)
36555	c.urlParams_.Set("prettyPrint", "false")
36556	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
36557	urls += "?" + c.urlParams_.Encode()
36558	req, err := http.NewRequest("GET", urls, body)
36559	if err != nil {
36560		return nil, err
36561	}
36562	req.Header = reqHeaders
36563	googleapi.Expand(req.URL, map[string]string{
36564		"profileId": strconv.FormatInt(c.profileId, 10),
36565	})
36566	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36567}
36568
36569// Do executes the "dfareporting.operatingSystems.list" call.
36570// Exactly one of *OperatingSystemsListResponse or error will be
36571// non-nil. Any non-2xx status code is an error. Response headers are in
36572// either *OperatingSystemsListResponse.ServerResponse.Header or (if a
36573// response was returned at all) in error.(*googleapi.Error).Header. Use
36574// googleapi.IsNotModified to check whether the returned error was
36575// because http.StatusNotModified was returned.
36576func (c *OperatingSystemsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemsListResponse, error) {
36577	gensupport.SetOptions(c.urlParams_, opts...)
36578	res, err := c.doRequest("json")
36579	if res != nil && res.StatusCode == http.StatusNotModified {
36580		if res.Body != nil {
36581			res.Body.Close()
36582		}
36583		return nil, &googleapi.Error{
36584			Code:   res.StatusCode,
36585			Header: res.Header,
36586		}
36587	}
36588	if err != nil {
36589		return nil, err
36590	}
36591	defer googleapi.CloseBody(res)
36592	if err := googleapi.CheckResponse(res); err != nil {
36593		return nil, err
36594	}
36595	ret := &OperatingSystemsListResponse{
36596		ServerResponse: googleapi.ServerResponse{
36597			Header:         res.Header,
36598			HTTPStatusCode: res.StatusCode,
36599		},
36600	}
36601	target := &ret
36602	if err := gensupport.DecodeResponse(target, res); err != nil {
36603		return nil, err
36604	}
36605	return ret, nil
36606	// {
36607	//   "description": "Retrieves a list of operating systems.",
36608	//   "flatPath": "userprofiles/{profileId}/operatingSystems",
36609	//   "httpMethod": "GET",
36610	//   "id": "dfareporting.operatingSystems.list",
36611	//   "parameterOrder": [
36612	//     "profileId"
36613	//   ],
36614	//   "parameters": {
36615	//     "profileId": {
36616	//       "description": "User profile ID associated with this request.",
36617	//       "format": "int64",
36618	//       "location": "path",
36619	//       "required": true,
36620	//       "type": "string"
36621	//     }
36622	//   },
36623	//   "path": "userprofiles/{profileId}/operatingSystems",
36624	//   "response": {
36625	//     "$ref": "OperatingSystemsListResponse"
36626	//   },
36627	//   "scopes": [
36628	//     "https://www.googleapis.com/auth/dfatrafficking"
36629	//   ]
36630	// }
36631
36632}
36633
36634// method id "dfareporting.orderDocuments.get":
36635
36636type OrderDocumentsGetCall struct {
36637	s            *Service
36638	profileId    int64
36639	projectId    int64
36640	id           int64
36641	urlParams_   gensupport.URLParams
36642	ifNoneMatch_ string
36643	ctx_         context.Context
36644	header_      http.Header
36645}
36646
36647// Get: Gets one order document by ID.
36648func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
36649	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36650	c.profileId = profileId
36651	c.projectId = projectId
36652	c.id = id
36653	return c
36654}
36655
36656// Fields allows partial responses to be retrieved. See
36657// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36658// for more information.
36659func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
36660	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36661	return c
36662}
36663
36664// IfNoneMatch sets the optional parameter which makes the operation
36665// fail if the object's ETag matches the given value. This is useful for
36666// getting updates only after the object has changed since the last
36667// request. Use googleapi.IsNotModified to check whether the response
36668// error from Do is the result of In-None-Match.
36669func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
36670	c.ifNoneMatch_ = entityTag
36671	return c
36672}
36673
36674// Context sets the context to be used in this call's Do method. Any
36675// pending HTTP request will be aborted if the provided context is
36676// canceled.
36677func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
36678	c.ctx_ = ctx
36679	return c
36680}
36681
36682// Header returns an http.Header that can be modified by the caller to
36683// add HTTP headers to the request.
36684func (c *OrderDocumentsGetCall) Header() http.Header {
36685	if c.header_ == nil {
36686		c.header_ = make(http.Header)
36687	}
36688	return c.header_
36689}
36690
36691func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
36692	reqHeaders := make(http.Header)
36693	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
36694	for k, v := range c.header_ {
36695		reqHeaders[k] = v
36696	}
36697	reqHeaders.Set("User-Agent", c.s.userAgent())
36698	if c.ifNoneMatch_ != "" {
36699		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36700	}
36701	var body io.Reader = nil
36702	c.urlParams_.Set("alt", alt)
36703	c.urlParams_.Set("prettyPrint", "false")
36704	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
36705	urls += "?" + c.urlParams_.Encode()
36706	req, err := http.NewRequest("GET", urls, body)
36707	if err != nil {
36708		return nil, err
36709	}
36710	req.Header = reqHeaders
36711	googleapi.Expand(req.URL, map[string]string{
36712		"profileId": strconv.FormatInt(c.profileId, 10),
36713		"projectId": strconv.FormatInt(c.projectId, 10),
36714		"id":        strconv.FormatInt(c.id, 10),
36715	})
36716	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36717}
36718
36719// Do executes the "dfareporting.orderDocuments.get" call.
36720// Exactly one of *OrderDocument or error will be non-nil. Any non-2xx
36721// status code is an error. Response headers are in either
36722// *OrderDocument.ServerResponse.Header or (if a response was returned
36723// at all) in error.(*googleapi.Error).Header. Use
36724// googleapi.IsNotModified to check whether the returned error was
36725// because http.StatusNotModified was returned.
36726func (c *OrderDocumentsGetCall) Do(opts ...googleapi.CallOption) (*OrderDocument, error) {
36727	gensupport.SetOptions(c.urlParams_, opts...)
36728	res, err := c.doRequest("json")
36729	if res != nil && res.StatusCode == http.StatusNotModified {
36730		if res.Body != nil {
36731			res.Body.Close()
36732		}
36733		return nil, &googleapi.Error{
36734			Code:   res.StatusCode,
36735			Header: res.Header,
36736		}
36737	}
36738	if err != nil {
36739		return nil, err
36740	}
36741	defer googleapi.CloseBody(res)
36742	if err := googleapi.CheckResponse(res); err != nil {
36743		return nil, err
36744	}
36745	ret := &OrderDocument{
36746		ServerResponse: googleapi.ServerResponse{
36747			Header:         res.Header,
36748			HTTPStatusCode: res.StatusCode,
36749		},
36750	}
36751	target := &ret
36752	if err := gensupport.DecodeResponse(target, res); err != nil {
36753		return nil, err
36754	}
36755	return ret, nil
36756	// {
36757	//   "description": "Gets one order document by ID.",
36758	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
36759	//   "httpMethod": "GET",
36760	//   "id": "dfareporting.orderDocuments.get",
36761	//   "parameterOrder": [
36762	//     "profileId",
36763	//     "projectId",
36764	//     "id"
36765	//   ],
36766	//   "parameters": {
36767	//     "id": {
36768	//       "description": "Order document ID.",
36769	//       "format": "int64",
36770	//       "location": "path",
36771	//       "required": true,
36772	//       "type": "string"
36773	//     },
36774	//     "profileId": {
36775	//       "description": "User profile ID associated with this request.",
36776	//       "format": "int64",
36777	//       "location": "path",
36778	//       "required": true,
36779	//       "type": "string"
36780	//     },
36781	//     "projectId": {
36782	//       "description": "Project ID for order documents.",
36783	//       "format": "int64",
36784	//       "location": "path",
36785	//       "required": true,
36786	//       "type": "string"
36787	//     }
36788	//   },
36789	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
36790	//   "response": {
36791	//     "$ref": "OrderDocument"
36792	//   },
36793	//   "scopes": [
36794	//     "https://www.googleapis.com/auth/dfatrafficking"
36795	//   ]
36796	// }
36797
36798}
36799
36800// method id "dfareporting.orderDocuments.list":
36801
36802type OrderDocumentsListCall struct {
36803	s            *Service
36804	profileId    int64
36805	projectId    int64
36806	urlParams_   gensupport.URLParams
36807	ifNoneMatch_ string
36808	ctx_         context.Context
36809	header_      http.Header
36810}
36811
36812// List: Retrieves a list of order documents, possibly filtered. This
36813// method supports paging.
36814func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
36815	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36816	c.profileId = profileId
36817	c.projectId = projectId
36818	return c
36819}
36820
36821// Approved sets the optional parameter "approved": Select only order
36822// documents that have been approved by at least one user.
36823func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
36824	c.urlParams_.Set("approved", fmt.Sprint(approved))
36825	return c
36826}
36827
36828// Ids sets the optional parameter "ids": Select only order documents
36829// with these IDs.
36830func (c *OrderDocumentsListCall) Ids(ids ...int64) *OrderDocumentsListCall {
36831	var ids_ []string
36832	for _, v := range ids {
36833		ids_ = append(ids_, fmt.Sprint(v))
36834	}
36835	c.urlParams_.SetMulti("ids", ids_)
36836	return c
36837}
36838
36839// MaxResults sets the optional parameter "maxResults": Maximum number
36840// of results to return.
36841func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
36842	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
36843	return c
36844}
36845
36846// OrderId sets the optional parameter "orderId": Select only order
36847// documents for specified orders.
36848func (c *OrderDocumentsListCall) OrderId(orderId ...int64) *OrderDocumentsListCall {
36849	var orderId_ []string
36850	for _, v := range orderId {
36851		orderId_ = append(orderId_, fmt.Sprint(v))
36852	}
36853	c.urlParams_.SetMulti("orderId", orderId_)
36854	return c
36855}
36856
36857// PageToken sets the optional parameter "pageToken": Value of the
36858// nextPageToken from the previous result page.
36859func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
36860	c.urlParams_.Set("pageToken", pageToken)
36861	return c
36862}
36863
36864// SearchString sets the optional parameter "searchString": Allows
36865// searching for order documents by name or ID. Wildcards (*) are
36866// allowed. For example, "orderdocument*2015" will return order
36867// documents with names like "orderdocument June 2015", "orderdocument
36868// April 2015", or simply "orderdocument 2015". Most of the searches
36869// also add wildcards implicitly at the start and the end of the search
36870// string. For example, a search string of "orderdocument" will match
36871// order documents with name "my orderdocument", "orderdocument 2015",
36872// or simply "orderdocument".
36873func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
36874	c.urlParams_.Set("searchString", searchString)
36875	return c
36876}
36877
36878// SiteId sets the optional parameter "siteId": Select only order
36879// documents that are associated with these sites.
36880func (c *OrderDocumentsListCall) SiteId(siteId ...int64) *OrderDocumentsListCall {
36881	var siteId_ []string
36882	for _, v := range siteId {
36883		siteId_ = append(siteId_, fmt.Sprint(v))
36884	}
36885	c.urlParams_.SetMulti("siteId", siteId_)
36886	return c
36887}
36888
36889// SortField sets the optional parameter "sortField": Field by which to
36890// sort the list.
36891//
36892// Possible values:
36893//   "ID" (default)
36894//   "NAME"
36895func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
36896	c.urlParams_.Set("sortField", sortField)
36897	return c
36898}
36899
36900// SortOrder sets the optional parameter "sortOrder": Order of sorted
36901// results.
36902//
36903// Possible values:
36904//   "ASCENDING" (default)
36905//   "DESCENDING"
36906func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
36907	c.urlParams_.Set("sortOrder", sortOrder)
36908	return c
36909}
36910
36911// Fields allows partial responses to be retrieved. See
36912// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36913// for more information.
36914func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
36915	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36916	return c
36917}
36918
36919// IfNoneMatch sets the optional parameter which makes the operation
36920// fail if the object's ETag matches the given value. This is useful for
36921// getting updates only after the object has changed since the last
36922// request. Use googleapi.IsNotModified to check whether the response
36923// error from Do is the result of In-None-Match.
36924func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
36925	c.ifNoneMatch_ = entityTag
36926	return c
36927}
36928
36929// Context sets the context to be used in this call's Do method. Any
36930// pending HTTP request will be aborted if the provided context is
36931// canceled.
36932func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
36933	c.ctx_ = ctx
36934	return c
36935}
36936
36937// Header returns an http.Header that can be modified by the caller to
36938// add HTTP headers to the request.
36939func (c *OrderDocumentsListCall) Header() http.Header {
36940	if c.header_ == nil {
36941		c.header_ = make(http.Header)
36942	}
36943	return c.header_
36944}
36945
36946func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
36947	reqHeaders := make(http.Header)
36948	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
36949	for k, v := range c.header_ {
36950		reqHeaders[k] = v
36951	}
36952	reqHeaders.Set("User-Agent", c.s.userAgent())
36953	if c.ifNoneMatch_ != "" {
36954		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36955	}
36956	var body io.Reader = nil
36957	c.urlParams_.Set("alt", alt)
36958	c.urlParams_.Set("prettyPrint", "false")
36959	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
36960	urls += "?" + c.urlParams_.Encode()
36961	req, err := http.NewRequest("GET", urls, body)
36962	if err != nil {
36963		return nil, err
36964	}
36965	req.Header = reqHeaders
36966	googleapi.Expand(req.URL, map[string]string{
36967		"profileId": strconv.FormatInt(c.profileId, 10),
36968		"projectId": strconv.FormatInt(c.projectId, 10),
36969	})
36970	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36971}
36972
36973// Do executes the "dfareporting.orderDocuments.list" call.
36974// Exactly one of *OrderDocumentsListResponse or error will be non-nil.
36975// Any non-2xx status code is an error. Response headers are in either
36976// *OrderDocumentsListResponse.ServerResponse.Header or (if a response
36977// was returned at all) in error.(*googleapi.Error).Header. Use
36978// googleapi.IsNotModified to check whether the returned error was
36979// because http.StatusNotModified was returned.
36980func (c *OrderDocumentsListCall) Do(opts ...googleapi.CallOption) (*OrderDocumentsListResponse, error) {
36981	gensupport.SetOptions(c.urlParams_, opts...)
36982	res, err := c.doRequest("json")
36983	if res != nil && res.StatusCode == http.StatusNotModified {
36984		if res.Body != nil {
36985			res.Body.Close()
36986		}
36987		return nil, &googleapi.Error{
36988			Code:   res.StatusCode,
36989			Header: res.Header,
36990		}
36991	}
36992	if err != nil {
36993		return nil, err
36994	}
36995	defer googleapi.CloseBody(res)
36996	if err := googleapi.CheckResponse(res); err != nil {
36997		return nil, err
36998	}
36999	ret := &OrderDocumentsListResponse{
37000		ServerResponse: googleapi.ServerResponse{
37001			Header:         res.Header,
37002			HTTPStatusCode: res.StatusCode,
37003		},
37004	}
37005	target := &ret
37006	if err := gensupport.DecodeResponse(target, res); err != nil {
37007		return nil, err
37008	}
37009	return ret, nil
37010	// {
37011	//   "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
37012	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
37013	//   "httpMethod": "GET",
37014	//   "id": "dfareporting.orderDocuments.list",
37015	//   "parameterOrder": [
37016	//     "profileId",
37017	//     "projectId"
37018	//   ],
37019	//   "parameters": {
37020	//     "approved": {
37021	//       "description": "Select only order documents that have been approved by at least one user.",
37022	//       "location": "query",
37023	//       "type": "boolean"
37024	//     },
37025	//     "ids": {
37026	//       "description": "Select only order documents with these IDs.",
37027	//       "format": "int64",
37028	//       "location": "query",
37029	//       "repeated": true,
37030	//       "type": "string"
37031	//     },
37032	//     "maxResults": {
37033	//       "default": "1000",
37034	//       "description": "Maximum number of results to return.",
37035	//       "format": "int32",
37036	//       "location": "query",
37037	//       "maximum": "1000",
37038	//       "minimum": "0",
37039	//       "type": "integer"
37040	//     },
37041	//     "orderId": {
37042	//       "description": "Select only order documents for specified orders.",
37043	//       "format": "int64",
37044	//       "location": "query",
37045	//       "repeated": true,
37046	//       "type": "string"
37047	//     },
37048	//     "pageToken": {
37049	//       "description": "Value of the nextPageToken from the previous result page.",
37050	//       "location": "query",
37051	//       "type": "string"
37052	//     },
37053	//     "profileId": {
37054	//       "description": "User profile ID associated with this request.",
37055	//       "format": "int64",
37056	//       "location": "path",
37057	//       "required": true,
37058	//       "type": "string"
37059	//     },
37060	//     "projectId": {
37061	//       "description": "Project ID for order documents.",
37062	//       "format": "int64",
37063	//       "location": "path",
37064	//       "required": true,
37065	//       "type": "string"
37066	//     },
37067	//     "searchString": {
37068	//       "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\".",
37069	//       "location": "query",
37070	//       "type": "string"
37071	//     },
37072	//     "siteId": {
37073	//       "description": "Select only order documents that are associated with these sites.",
37074	//       "format": "int64",
37075	//       "location": "query",
37076	//       "repeated": true,
37077	//       "type": "string"
37078	//     },
37079	//     "sortField": {
37080	//       "default": "ID",
37081	//       "description": "Field by which to sort the list.",
37082	//       "enum": [
37083	//         "ID",
37084	//         "NAME"
37085	//       ],
37086	//       "enumDescriptions": [
37087	//         "",
37088	//         ""
37089	//       ],
37090	//       "location": "query",
37091	//       "type": "string"
37092	//     },
37093	//     "sortOrder": {
37094	//       "default": "ASCENDING",
37095	//       "description": "Order of sorted results.",
37096	//       "enum": [
37097	//         "ASCENDING",
37098	//         "DESCENDING"
37099	//       ],
37100	//       "enumDescriptions": [
37101	//         "",
37102	//         ""
37103	//       ],
37104	//       "location": "query",
37105	//       "type": "string"
37106	//     }
37107	//   },
37108	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
37109	//   "response": {
37110	//     "$ref": "OrderDocumentsListResponse"
37111	//   },
37112	//   "scopes": [
37113	//     "https://www.googleapis.com/auth/dfatrafficking"
37114	//   ]
37115	// }
37116
37117}
37118
37119// Pages invokes f for each page of results.
37120// A non-nil error returned from f will halt the iteration.
37121// The provided context supersedes any context provided to the Context method.
37122func (c *OrderDocumentsListCall) Pages(ctx context.Context, f func(*OrderDocumentsListResponse) error) error {
37123	c.ctx_ = ctx
37124	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
37125	for {
37126		x, err := c.Do()
37127		if err != nil {
37128			return err
37129		}
37130		if err := f(x); err != nil {
37131			return err
37132		}
37133		if x.NextPageToken == "" {
37134			return nil
37135		}
37136		c.PageToken(x.NextPageToken)
37137	}
37138}
37139
37140// method id "dfareporting.orders.get":
37141
37142type OrdersGetCall struct {
37143	s            *Service
37144	profileId    int64
37145	projectId    int64
37146	id           int64
37147	urlParams_   gensupport.URLParams
37148	ifNoneMatch_ string
37149	ctx_         context.Context
37150	header_      http.Header
37151}
37152
37153// Get: Gets one order by ID.
37154func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
37155	c := &OrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37156	c.profileId = profileId
37157	c.projectId = projectId
37158	c.id = id
37159	return c
37160}
37161
37162// Fields allows partial responses to be retrieved. See
37163// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37164// for more information.
37165func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
37166	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37167	return c
37168}
37169
37170// IfNoneMatch sets the optional parameter which makes the operation
37171// fail if the object's ETag matches the given value. This is useful for
37172// getting updates only after the object has changed since the last
37173// request. Use googleapi.IsNotModified to check whether the response
37174// error from Do is the result of In-None-Match.
37175func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
37176	c.ifNoneMatch_ = entityTag
37177	return c
37178}
37179
37180// Context sets the context to be used in this call's Do method. Any
37181// pending HTTP request will be aborted if the provided context is
37182// canceled.
37183func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
37184	c.ctx_ = ctx
37185	return c
37186}
37187
37188// Header returns an http.Header that can be modified by the caller to
37189// add HTTP headers to the request.
37190func (c *OrdersGetCall) Header() http.Header {
37191	if c.header_ == nil {
37192		c.header_ = make(http.Header)
37193	}
37194	return c.header_
37195}
37196
37197func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
37198	reqHeaders := make(http.Header)
37199	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
37200	for k, v := range c.header_ {
37201		reqHeaders[k] = v
37202	}
37203	reqHeaders.Set("User-Agent", c.s.userAgent())
37204	if c.ifNoneMatch_ != "" {
37205		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37206	}
37207	var body io.Reader = nil
37208	c.urlParams_.Set("alt", alt)
37209	c.urlParams_.Set("prettyPrint", "false")
37210	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
37211	urls += "?" + c.urlParams_.Encode()
37212	req, err := http.NewRequest("GET", urls, body)
37213	if err != nil {
37214		return nil, err
37215	}
37216	req.Header = reqHeaders
37217	googleapi.Expand(req.URL, map[string]string{
37218		"profileId": strconv.FormatInt(c.profileId, 10),
37219		"projectId": strconv.FormatInt(c.projectId, 10),
37220		"id":        strconv.FormatInt(c.id, 10),
37221	})
37222	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37223}
37224
37225// Do executes the "dfareporting.orders.get" call.
37226// Exactly one of *Order or error will be non-nil. Any non-2xx status
37227// code is an error. Response headers are in either
37228// *Order.ServerResponse.Header or (if a response was returned at all)
37229// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
37230// check whether the returned error was because http.StatusNotModified
37231// was returned.
37232func (c *OrdersGetCall) Do(opts ...googleapi.CallOption) (*Order, error) {
37233	gensupport.SetOptions(c.urlParams_, opts...)
37234	res, err := c.doRequest("json")
37235	if res != nil && res.StatusCode == http.StatusNotModified {
37236		if res.Body != nil {
37237			res.Body.Close()
37238		}
37239		return nil, &googleapi.Error{
37240			Code:   res.StatusCode,
37241			Header: res.Header,
37242		}
37243	}
37244	if err != nil {
37245		return nil, err
37246	}
37247	defer googleapi.CloseBody(res)
37248	if err := googleapi.CheckResponse(res); err != nil {
37249		return nil, err
37250	}
37251	ret := &Order{
37252		ServerResponse: googleapi.ServerResponse{
37253			Header:         res.Header,
37254			HTTPStatusCode: res.StatusCode,
37255		},
37256	}
37257	target := &ret
37258	if err := gensupport.DecodeResponse(target, res); err != nil {
37259		return nil, err
37260	}
37261	return ret, nil
37262	// {
37263	//   "description": "Gets one order by ID.",
37264	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
37265	//   "httpMethod": "GET",
37266	//   "id": "dfareporting.orders.get",
37267	//   "parameterOrder": [
37268	//     "profileId",
37269	//     "projectId",
37270	//     "id"
37271	//   ],
37272	//   "parameters": {
37273	//     "id": {
37274	//       "description": "Order ID.",
37275	//       "format": "int64",
37276	//       "location": "path",
37277	//       "required": true,
37278	//       "type": "string"
37279	//     },
37280	//     "profileId": {
37281	//       "description": "User profile ID associated with this request.",
37282	//       "format": "int64",
37283	//       "location": "path",
37284	//       "required": true,
37285	//       "type": "string"
37286	//     },
37287	//     "projectId": {
37288	//       "description": "Project ID for orders.",
37289	//       "format": "int64",
37290	//       "location": "path",
37291	//       "required": true,
37292	//       "type": "string"
37293	//     }
37294	//   },
37295	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
37296	//   "response": {
37297	//     "$ref": "Order"
37298	//   },
37299	//   "scopes": [
37300	//     "https://www.googleapis.com/auth/dfatrafficking"
37301	//   ]
37302	// }
37303
37304}
37305
37306// method id "dfareporting.orders.list":
37307
37308type OrdersListCall struct {
37309	s            *Service
37310	profileId    int64
37311	projectId    int64
37312	urlParams_   gensupport.URLParams
37313	ifNoneMatch_ string
37314	ctx_         context.Context
37315	header_      http.Header
37316}
37317
37318// List: Retrieves a list of orders, possibly filtered. This method
37319// supports paging.
37320func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
37321	c := &OrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37322	c.profileId = profileId
37323	c.projectId = projectId
37324	return c
37325}
37326
37327// Ids sets the optional parameter "ids": Select only orders with these
37328// IDs.
37329func (c *OrdersListCall) Ids(ids ...int64) *OrdersListCall {
37330	var ids_ []string
37331	for _, v := range ids {
37332		ids_ = append(ids_, fmt.Sprint(v))
37333	}
37334	c.urlParams_.SetMulti("ids", ids_)
37335	return c
37336}
37337
37338// MaxResults sets the optional parameter "maxResults": Maximum number
37339// of results to return.
37340func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
37341	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
37342	return c
37343}
37344
37345// PageToken sets the optional parameter "pageToken": Value of the
37346// nextPageToken from the previous result page.
37347func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
37348	c.urlParams_.Set("pageToken", pageToken)
37349	return c
37350}
37351
37352// SearchString sets the optional parameter "searchString": Allows
37353// searching for orders by name or ID. Wildcards (*) are allowed. For
37354// example, "order*2015" will return orders with names like "order June
37355// 2015", "order April 2015", or simply "order 2015". Most of the
37356// searches also add wildcards implicitly at the start and the end of
37357// the search string. For example, a search string of "order" will match
37358// orders with name "my order", "order 2015", or simply "order".
37359func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
37360	c.urlParams_.Set("searchString", searchString)
37361	return c
37362}
37363
37364// SiteId sets the optional parameter "siteId": Select only orders that
37365// are associated with these site IDs.
37366func (c *OrdersListCall) SiteId(siteId ...int64) *OrdersListCall {
37367	var siteId_ []string
37368	for _, v := range siteId {
37369		siteId_ = append(siteId_, fmt.Sprint(v))
37370	}
37371	c.urlParams_.SetMulti("siteId", siteId_)
37372	return c
37373}
37374
37375// SortField sets the optional parameter "sortField": Field by which to
37376// sort the list.
37377//
37378// Possible values:
37379//   "ID" (default)
37380//   "NAME"
37381func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
37382	c.urlParams_.Set("sortField", sortField)
37383	return c
37384}
37385
37386// SortOrder sets the optional parameter "sortOrder": Order of sorted
37387// results.
37388//
37389// Possible values:
37390//   "ASCENDING" (default)
37391//   "DESCENDING"
37392func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
37393	c.urlParams_.Set("sortOrder", sortOrder)
37394	return c
37395}
37396
37397// Fields allows partial responses to be retrieved. See
37398// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37399// for more information.
37400func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
37401	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37402	return c
37403}
37404
37405// IfNoneMatch sets the optional parameter which makes the operation
37406// fail if the object's ETag matches the given value. This is useful for
37407// getting updates only after the object has changed since the last
37408// request. Use googleapi.IsNotModified to check whether the response
37409// error from Do is the result of In-None-Match.
37410func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
37411	c.ifNoneMatch_ = entityTag
37412	return c
37413}
37414
37415// Context sets the context to be used in this call's Do method. Any
37416// pending HTTP request will be aborted if the provided context is
37417// canceled.
37418func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
37419	c.ctx_ = ctx
37420	return c
37421}
37422
37423// Header returns an http.Header that can be modified by the caller to
37424// add HTTP headers to the request.
37425func (c *OrdersListCall) Header() http.Header {
37426	if c.header_ == nil {
37427		c.header_ = make(http.Header)
37428	}
37429	return c.header_
37430}
37431
37432func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
37433	reqHeaders := make(http.Header)
37434	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
37435	for k, v := range c.header_ {
37436		reqHeaders[k] = v
37437	}
37438	reqHeaders.Set("User-Agent", c.s.userAgent())
37439	if c.ifNoneMatch_ != "" {
37440		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37441	}
37442	var body io.Reader = nil
37443	c.urlParams_.Set("alt", alt)
37444	c.urlParams_.Set("prettyPrint", "false")
37445	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
37446	urls += "?" + c.urlParams_.Encode()
37447	req, err := http.NewRequest("GET", urls, body)
37448	if err != nil {
37449		return nil, err
37450	}
37451	req.Header = reqHeaders
37452	googleapi.Expand(req.URL, map[string]string{
37453		"profileId": strconv.FormatInt(c.profileId, 10),
37454		"projectId": strconv.FormatInt(c.projectId, 10),
37455	})
37456	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37457}
37458
37459// Do executes the "dfareporting.orders.list" call.
37460// Exactly one of *OrdersListResponse or error will be non-nil. Any
37461// non-2xx status code is an error. Response headers are in either
37462// *OrdersListResponse.ServerResponse.Header or (if a response was
37463// returned at all) in error.(*googleapi.Error).Header. Use
37464// googleapi.IsNotModified to check whether the returned error was
37465// because http.StatusNotModified was returned.
37466func (c *OrdersListCall) Do(opts ...googleapi.CallOption) (*OrdersListResponse, error) {
37467	gensupport.SetOptions(c.urlParams_, opts...)
37468	res, err := c.doRequest("json")
37469	if res != nil && res.StatusCode == http.StatusNotModified {
37470		if res.Body != nil {
37471			res.Body.Close()
37472		}
37473		return nil, &googleapi.Error{
37474			Code:   res.StatusCode,
37475			Header: res.Header,
37476		}
37477	}
37478	if err != nil {
37479		return nil, err
37480	}
37481	defer googleapi.CloseBody(res)
37482	if err := googleapi.CheckResponse(res); err != nil {
37483		return nil, err
37484	}
37485	ret := &OrdersListResponse{
37486		ServerResponse: googleapi.ServerResponse{
37487			Header:         res.Header,
37488			HTTPStatusCode: res.StatusCode,
37489		},
37490	}
37491	target := &ret
37492	if err := gensupport.DecodeResponse(target, res); err != nil {
37493		return nil, err
37494	}
37495	return ret, nil
37496	// {
37497	//   "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
37498	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders",
37499	//   "httpMethod": "GET",
37500	//   "id": "dfareporting.orders.list",
37501	//   "parameterOrder": [
37502	//     "profileId",
37503	//     "projectId"
37504	//   ],
37505	//   "parameters": {
37506	//     "ids": {
37507	//       "description": "Select only orders with these IDs.",
37508	//       "format": "int64",
37509	//       "location": "query",
37510	//       "repeated": true,
37511	//       "type": "string"
37512	//     },
37513	//     "maxResults": {
37514	//       "default": "1000",
37515	//       "description": "Maximum number of results to return.",
37516	//       "format": "int32",
37517	//       "location": "query",
37518	//       "maximum": "1000",
37519	//       "minimum": "0",
37520	//       "type": "integer"
37521	//     },
37522	//     "pageToken": {
37523	//       "description": "Value of the nextPageToken from the previous result page.",
37524	//       "location": "query",
37525	//       "type": "string"
37526	//     },
37527	//     "profileId": {
37528	//       "description": "User profile ID associated with this request.",
37529	//       "format": "int64",
37530	//       "location": "path",
37531	//       "required": true,
37532	//       "type": "string"
37533	//     },
37534	//     "projectId": {
37535	//       "description": "Project ID for orders.",
37536	//       "format": "int64",
37537	//       "location": "path",
37538	//       "required": true,
37539	//       "type": "string"
37540	//     },
37541	//     "searchString": {
37542	//       "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\".",
37543	//       "location": "query",
37544	//       "type": "string"
37545	//     },
37546	//     "siteId": {
37547	//       "description": "Select only orders that are associated with these site IDs.",
37548	//       "format": "int64",
37549	//       "location": "query",
37550	//       "repeated": true,
37551	//       "type": "string"
37552	//     },
37553	//     "sortField": {
37554	//       "default": "ID",
37555	//       "description": "Field by which to sort the list.",
37556	//       "enum": [
37557	//         "ID",
37558	//         "NAME"
37559	//       ],
37560	//       "enumDescriptions": [
37561	//         "",
37562	//         ""
37563	//       ],
37564	//       "location": "query",
37565	//       "type": "string"
37566	//     },
37567	//     "sortOrder": {
37568	//       "default": "ASCENDING",
37569	//       "description": "Order of sorted results.",
37570	//       "enum": [
37571	//         "ASCENDING",
37572	//         "DESCENDING"
37573	//       ],
37574	//       "enumDescriptions": [
37575	//         "",
37576	//         ""
37577	//       ],
37578	//       "location": "query",
37579	//       "type": "string"
37580	//     }
37581	//   },
37582	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders",
37583	//   "response": {
37584	//     "$ref": "OrdersListResponse"
37585	//   },
37586	//   "scopes": [
37587	//     "https://www.googleapis.com/auth/dfatrafficking"
37588	//   ]
37589	// }
37590
37591}
37592
37593// Pages invokes f for each page of results.
37594// A non-nil error returned from f will halt the iteration.
37595// The provided context supersedes any context provided to the Context method.
37596func (c *OrdersListCall) Pages(ctx context.Context, f func(*OrdersListResponse) error) error {
37597	c.ctx_ = ctx
37598	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
37599	for {
37600		x, err := c.Do()
37601		if err != nil {
37602			return err
37603		}
37604		if err := f(x); err != nil {
37605			return err
37606		}
37607		if x.NextPageToken == "" {
37608			return nil
37609		}
37610		c.PageToken(x.NextPageToken)
37611	}
37612}
37613
37614// method id "dfareporting.placementGroups.get":
37615
37616type PlacementGroupsGetCall struct {
37617	s            *Service
37618	profileId    int64
37619	id           int64
37620	urlParams_   gensupport.URLParams
37621	ifNoneMatch_ string
37622	ctx_         context.Context
37623	header_      http.Header
37624}
37625
37626// Get: Gets one placement group by ID.
37627func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
37628	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37629	c.profileId = profileId
37630	c.id = id
37631	return c
37632}
37633
37634// Fields allows partial responses to be retrieved. See
37635// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37636// for more information.
37637func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
37638	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37639	return c
37640}
37641
37642// IfNoneMatch sets the optional parameter which makes the operation
37643// fail if the object's ETag matches the given value. This is useful for
37644// getting updates only after the object has changed since the last
37645// request. Use googleapi.IsNotModified to check whether the response
37646// error from Do is the result of In-None-Match.
37647func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
37648	c.ifNoneMatch_ = entityTag
37649	return c
37650}
37651
37652// Context sets the context to be used in this call's Do method. Any
37653// pending HTTP request will be aborted if the provided context is
37654// canceled.
37655func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
37656	c.ctx_ = ctx
37657	return c
37658}
37659
37660// Header returns an http.Header that can be modified by the caller to
37661// add HTTP headers to the request.
37662func (c *PlacementGroupsGetCall) Header() http.Header {
37663	if c.header_ == nil {
37664		c.header_ = make(http.Header)
37665	}
37666	return c.header_
37667}
37668
37669func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
37670	reqHeaders := make(http.Header)
37671	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
37672	for k, v := range c.header_ {
37673		reqHeaders[k] = v
37674	}
37675	reqHeaders.Set("User-Agent", c.s.userAgent())
37676	if c.ifNoneMatch_ != "" {
37677		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37678	}
37679	var body io.Reader = nil
37680	c.urlParams_.Set("alt", alt)
37681	c.urlParams_.Set("prettyPrint", "false")
37682	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
37683	urls += "?" + c.urlParams_.Encode()
37684	req, err := http.NewRequest("GET", urls, body)
37685	if err != nil {
37686		return nil, err
37687	}
37688	req.Header = reqHeaders
37689	googleapi.Expand(req.URL, map[string]string{
37690		"profileId": strconv.FormatInt(c.profileId, 10),
37691		"id":        strconv.FormatInt(c.id, 10),
37692	})
37693	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37694}
37695
37696// Do executes the "dfareporting.placementGroups.get" call.
37697// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
37698// status code is an error. Response headers are in either
37699// *PlacementGroup.ServerResponse.Header or (if a response was returned
37700// at all) in error.(*googleapi.Error).Header. Use
37701// googleapi.IsNotModified to check whether the returned error was
37702// because http.StatusNotModified was returned.
37703func (c *PlacementGroupsGetCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
37704	gensupport.SetOptions(c.urlParams_, opts...)
37705	res, err := c.doRequest("json")
37706	if res != nil && res.StatusCode == http.StatusNotModified {
37707		if res.Body != nil {
37708			res.Body.Close()
37709		}
37710		return nil, &googleapi.Error{
37711			Code:   res.StatusCode,
37712			Header: res.Header,
37713		}
37714	}
37715	if err != nil {
37716		return nil, err
37717	}
37718	defer googleapi.CloseBody(res)
37719	if err := googleapi.CheckResponse(res); err != nil {
37720		return nil, err
37721	}
37722	ret := &PlacementGroup{
37723		ServerResponse: googleapi.ServerResponse{
37724			Header:         res.Header,
37725			HTTPStatusCode: res.StatusCode,
37726		},
37727	}
37728	target := &ret
37729	if err := gensupport.DecodeResponse(target, res); err != nil {
37730		return nil, err
37731	}
37732	return ret, nil
37733	// {
37734	//   "description": "Gets one placement group by ID.",
37735	//   "flatPath": "userprofiles/{profileId}/placementGroups/{id}",
37736	//   "httpMethod": "GET",
37737	//   "id": "dfareporting.placementGroups.get",
37738	//   "parameterOrder": [
37739	//     "profileId",
37740	//     "id"
37741	//   ],
37742	//   "parameters": {
37743	//     "id": {
37744	//       "description": "Placement group ID.",
37745	//       "format": "int64",
37746	//       "location": "path",
37747	//       "required": true,
37748	//       "type": "string"
37749	//     },
37750	//     "profileId": {
37751	//       "description": "User profile ID associated with this request.",
37752	//       "format": "int64",
37753	//       "location": "path",
37754	//       "required": true,
37755	//       "type": "string"
37756	//     }
37757	//   },
37758	//   "path": "userprofiles/{profileId}/placementGroups/{id}",
37759	//   "response": {
37760	//     "$ref": "PlacementGroup"
37761	//   },
37762	//   "scopes": [
37763	//     "https://www.googleapis.com/auth/dfatrafficking"
37764	//   ]
37765	// }
37766
37767}
37768
37769// method id "dfareporting.placementGroups.insert":
37770
37771type PlacementGroupsInsertCall struct {
37772	s              *Service
37773	profileId      int64
37774	placementgroup *PlacementGroup
37775	urlParams_     gensupport.URLParams
37776	ctx_           context.Context
37777	header_        http.Header
37778}
37779
37780// Insert: Inserts a new placement group.
37781func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
37782	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37783	c.profileId = profileId
37784	c.placementgroup = placementgroup
37785	return c
37786}
37787
37788// Fields allows partial responses to be retrieved. See
37789// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37790// for more information.
37791func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
37792	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37793	return c
37794}
37795
37796// Context sets the context to be used in this call's Do method. Any
37797// pending HTTP request will be aborted if the provided context is
37798// canceled.
37799func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
37800	c.ctx_ = ctx
37801	return c
37802}
37803
37804// Header returns an http.Header that can be modified by the caller to
37805// add HTTP headers to the request.
37806func (c *PlacementGroupsInsertCall) Header() http.Header {
37807	if c.header_ == nil {
37808		c.header_ = make(http.Header)
37809	}
37810	return c.header_
37811}
37812
37813func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
37814	reqHeaders := make(http.Header)
37815	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
37816	for k, v := range c.header_ {
37817		reqHeaders[k] = v
37818	}
37819	reqHeaders.Set("User-Agent", c.s.userAgent())
37820	var body io.Reader = nil
37821	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
37822	if err != nil {
37823		return nil, err
37824	}
37825	reqHeaders.Set("Content-Type", "application/json")
37826	c.urlParams_.Set("alt", alt)
37827	c.urlParams_.Set("prettyPrint", "false")
37828	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
37829	urls += "?" + c.urlParams_.Encode()
37830	req, err := http.NewRequest("POST", urls, body)
37831	if err != nil {
37832		return nil, err
37833	}
37834	req.Header = reqHeaders
37835	googleapi.Expand(req.URL, map[string]string{
37836		"profileId": strconv.FormatInt(c.profileId, 10),
37837	})
37838	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37839}
37840
37841// Do executes the "dfareporting.placementGroups.insert" call.
37842// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
37843// status code is an error. Response headers are in either
37844// *PlacementGroup.ServerResponse.Header or (if a response was returned
37845// at all) in error.(*googleapi.Error).Header. Use
37846// googleapi.IsNotModified to check whether the returned error was
37847// because http.StatusNotModified was returned.
37848func (c *PlacementGroupsInsertCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
37849	gensupport.SetOptions(c.urlParams_, opts...)
37850	res, err := c.doRequest("json")
37851	if res != nil && res.StatusCode == http.StatusNotModified {
37852		if res.Body != nil {
37853			res.Body.Close()
37854		}
37855		return nil, &googleapi.Error{
37856			Code:   res.StatusCode,
37857			Header: res.Header,
37858		}
37859	}
37860	if err != nil {
37861		return nil, err
37862	}
37863	defer googleapi.CloseBody(res)
37864	if err := googleapi.CheckResponse(res); err != nil {
37865		return nil, err
37866	}
37867	ret := &PlacementGroup{
37868		ServerResponse: googleapi.ServerResponse{
37869			Header:         res.Header,
37870			HTTPStatusCode: res.StatusCode,
37871		},
37872	}
37873	target := &ret
37874	if err := gensupport.DecodeResponse(target, res); err != nil {
37875		return nil, err
37876	}
37877	return ret, nil
37878	// {
37879	//   "description": "Inserts a new placement group.",
37880	//   "flatPath": "userprofiles/{profileId}/placementGroups",
37881	//   "httpMethod": "POST",
37882	//   "id": "dfareporting.placementGroups.insert",
37883	//   "parameterOrder": [
37884	//     "profileId"
37885	//   ],
37886	//   "parameters": {
37887	//     "profileId": {
37888	//       "description": "User profile ID associated with this request.",
37889	//       "format": "int64",
37890	//       "location": "path",
37891	//       "required": true,
37892	//       "type": "string"
37893	//     }
37894	//   },
37895	//   "path": "userprofiles/{profileId}/placementGroups",
37896	//   "request": {
37897	//     "$ref": "PlacementGroup"
37898	//   },
37899	//   "response": {
37900	//     "$ref": "PlacementGroup"
37901	//   },
37902	//   "scopes": [
37903	//     "https://www.googleapis.com/auth/dfatrafficking"
37904	//   ]
37905	// }
37906
37907}
37908
37909// method id "dfareporting.placementGroups.list":
37910
37911type PlacementGroupsListCall struct {
37912	s            *Service
37913	profileId    int64
37914	urlParams_   gensupport.URLParams
37915	ifNoneMatch_ string
37916	ctx_         context.Context
37917	header_      http.Header
37918}
37919
37920// List: Retrieves a list of placement groups, possibly filtered. This
37921// method supports paging.
37922func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
37923	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37924	c.profileId = profileId
37925	return c
37926}
37927
37928// AdvertiserIds sets the optional parameter "advertiserIds": Select
37929// only placement groups that belong to these advertisers.
37930func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementGroupsListCall {
37931	var advertiserIds_ []string
37932	for _, v := range advertiserIds {
37933		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
37934	}
37935	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
37936	return c
37937}
37938
37939// Archived sets the optional parameter "archived": Select only archived
37940// placements. Don't set this field to select both archived and
37941// non-archived placements.
37942func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
37943	c.urlParams_.Set("archived", fmt.Sprint(archived))
37944	return c
37945}
37946
37947// CampaignIds sets the optional parameter "campaignIds": Select only
37948// placement groups that belong to these campaigns.
37949func (c *PlacementGroupsListCall) CampaignIds(campaignIds ...int64) *PlacementGroupsListCall {
37950	var campaignIds_ []string
37951	for _, v := range campaignIds {
37952		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
37953	}
37954	c.urlParams_.SetMulti("campaignIds", campaignIds_)
37955	return c
37956}
37957
37958// ContentCategoryIds sets the optional parameter "contentCategoryIds":
37959// Select only placement groups that are associated with these content
37960// categories.
37961func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementGroupsListCall {
37962	var contentCategoryIds_ []string
37963	for _, v := range contentCategoryIds {
37964		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
37965	}
37966	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
37967	return c
37968}
37969
37970// DirectorySiteIds sets the optional parameter "directorySiteIds":
37971// Select only placement groups that are associated with these directory
37972// sites.
37973func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementGroupsListCall {
37974	var directorySiteIds_ []string
37975	for _, v := range directorySiteIds {
37976		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
37977	}
37978	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
37979	return c
37980}
37981
37982// Ids sets the optional parameter "ids": Select only placement groups
37983// with these IDs.
37984func (c *PlacementGroupsListCall) Ids(ids ...int64) *PlacementGroupsListCall {
37985	var ids_ []string
37986	for _, v := range ids {
37987		ids_ = append(ids_, fmt.Sprint(v))
37988	}
37989	c.urlParams_.SetMulti("ids", ids_)
37990	return c
37991}
37992
37993// MaxEndDate sets the optional parameter "maxEndDate": Select only
37994// placements or placement groups whose end date is on or before the
37995// specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
37996func (c *PlacementGroupsListCall) MaxEndDate(maxEndDate string) *PlacementGroupsListCall {
37997	c.urlParams_.Set("maxEndDate", maxEndDate)
37998	return c
37999}
38000
38001// MaxResults sets the optional parameter "maxResults": Maximum number
38002// of results to return.
38003func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
38004	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
38005	return c
38006}
38007
38008// MaxStartDate sets the optional parameter "maxStartDate": Select only
38009// placements or placement groups whose start date is on or before the
38010// specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
38011func (c *PlacementGroupsListCall) MaxStartDate(maxStartDate string) *PlacementGroupsListCall {
38012	c.urlParams_.Set("maxStartDate", maxStartDate)
38013	return c
38014}
38015
38016// MinEndDate sets the optional parameter "minEndDate": Select only
38017// placements or placement groups whose end date is on or after the
38018// specified minEndDate. The date should be formatted as "yyyy-MM-dd".
38019func (c *PlacementGroupsListCall) MinEndDate(minEndDate string) *PlacementGroupsListCall {
38020	c.urlParams_.Set("minEndDate", minEndDate)
38021	return c
38022}
38023
38024// MinStartDate sets the optional parameter "minStartDate": Select only
38025// placements or placement groups whose start date is on or after the
38026// specified minStartDate. The date should be formatted as "yyyy-MM-dd".
38027func (c *PlacementGroupsListCall) MinStartDate(minStartDate string) *PlacementGroupsListCall {
38028	c.urlParams_.Set("minStartDate", minStartDate)
38029	return c
38030}
38031
38032// PageToken sets the optional parameter "pageToken": Value of the
38033// nextPageToken from the previous result page.
38034func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
38035	c.urlParams_.Set("pageToken", pageToken)
38036	return c
38037}
38038
38039// PlacementGroupType sets the optional parameter "placementGroupType":
38040// Select only placement groups belonging with this group type. A
38041// package is a simple group of placements that acts as a single pricing
38042// point for a group of tags. A roadblock is a group of placements that
38043// not only acts as a single pricing point but also assumes that all the
38044// tags in it will be served at the same time. A roadblock requires one
38045// of its assigned placements to be marked as primary for reporting.
38046//
38047// Possible values:
38048//   "PLACEMENT_PACKAGE"
38049//   "PLACEMENT_ROADBLOCK"
38050func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
38051	c.urlParams_.Set("placementGroupType", placementGroupType)
38052	return c
38053}
38054
38055// PlacementStrategyIds sets the optional parameter
38056// "placementStrategyIds": Select only placement groups that are
38057// associated with these placement strategies.
38058func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementGroupsListCall {
38059	var placementStrategyIds_ []string
38060	for _, v := range placementStrategyIds {
38061		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
38062	}
38063	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
38064	return c
38065}
38066
38067// PricingTypes sets the optional parameter "pricingTypes": Select only
38068// placement groups with these pricing types.
38069//
38070// Possible values:
38071//   "PRICING_TYPE_CPM"
38072//   "PRICING_TYPE_CPC"
38073//   "PRICING_TYPE_CPA"
38074//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
38075//   "PRICING_TYPE_FLAT_RATE_CLICKS"
38076//   "PRICING_TYPE_CPM_ACTIVEVIEW"
38077func (c *PlacementGroupsListCall) PricingTypes(pricingTypes ...string) *PlacementGroupsListCall {
38078	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
38079	return c
38080}
38081
38082// SearchString sets the optional parameter "searchString": Allows
38083// searching for placement groups by name or ID. Wildcards (*) are
38084// allowed. For example, "placement*2015" will return placement groups
38085// with names like "placement group June 2015", "placement group May
38086// 2015", or simply "placements 2015". Most of the searches also add
38087// wildcards implicitly at the start and the end of the search string.
38088// For example, a search string of "placementgroup" will match placement
38089// groups with name "my placementgroup", "placementgroup 2015", or
38090// simply "placementgroup".
38091func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
38092	c.urlParams_.Set("searchString", searchString)
38093	return c
38094}
38095
38096// SiteIds sets the optional parameter "siteIds": Select only placement
38097// groups that are associated with these sites.
38098func (c *PlacementGroupsListCall) SiteIds(siteIds ...int64) *PlacementGroupsListCall {
38099	var siteIds_ []string
38100	for _, v := range siteIds {
38101		siteIds_ = append(siteIds_, fmt.Sprint(v))
38102	}
38103	c.urlParams_.SetMulti("siteIds", siteIds_)
38104	return c
38105}
38106
38107// SortField sets the optional parameter "sortField": Field by which to
38108// sort the list.
38109//
38110// Possible values:
38111//   "ID" (default)
38112//   "NAME"
38113func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
38114	c.urlParams_.Set("sortField", sortField)
38115	return c
38116}
38117
38118// SortOrder sets the optional parameter "sortOrder": Order of sorted
38119// results.
38120//
38121// Possible values:
38122//   "ASCENDING" (default)
38123//   "DESCENDING"
38124func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
38125	c.urlParams_.Set("sortOrder", sortOrder)
38126	return c
38127}
38128
38129// Fields allows partial responses to be retrieved. See
38130// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38131// for more information.
38132func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
38133	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38134	return c
38135}
38136
38137// IfNoneMatch sets the optional parameter which makes the operation
38138// fail if the object's ETag matches the given value. This is useful for
38139// getting updates only after the object has changed since the last
38140// request. Use googleapi.IsNotModified to check whether the response
38141// error from Do is the result of In-None-Match.
38142func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
38143	c.ifNoneMatch_ = entityTag
38144	return c
38145}
38146
38147// Context sets the context to be used in this call's Do method. Any
38148// pending HTTP request will be aborted if the provided context is
38149// canceled.
38150func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
38151	c.ctx_ = ctx
38152	return c
38153}
38154
38155// Header returns an http.Header that can be modified by the caller to
38156// add HTTP headers to the request.
38157func (c *PlacementGroupsListCall) Header() http.Header {
38158	if c.header_ == nil {
38159		c.header_ = make(http.Header)
38160	}
38161	return c.header_
38162}
38163
38164func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
38165	reqHeaders := make(http.Header)
38166	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
38167	for k, v := range c.header_ {
38168		reqHeaders[k] = v
38169	}
38170	reqHeaders.Set("User-Agent", c.s.userAgent())
38171	if c.ifNoneMatch_ != "" {
38172		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38173	}
38174	var body io.Reader = nil
38175	c.urlParams_.Set("alt", alt)
38176	c.urlParams_.Set("prettyPrint", "false")
38177	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38178	urls += "?" + c.urlParams_.Encode()
38179	req, err := http.NewRequest("GET", urls, body)
38180	if err != nil {
38181		return nil, err
38182	}
38183	req.Header = reqHeaders
38184	googleapi.Expand(req.URL, map[string]string{
38185		"profileId": strconv.FormatInt(c.profileId, 10),
38186	})
38187	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38188}
38189
38190// Do executes the "dfareporting.placementGroups.list" call.
38191// Exactly one of *PlacementGroupsListResponse or error will be non-nil.
38192// Any non-2xx status code is an error. Response headers are in either
38193// *PlacementGroupsListResponse.ServerResponse.Header or (if a response
38194// was returned at all) in error.(*googleapi.Error).Header. Use
38195// googleapi.IsNotModified to check whether the returned error was
38196// because http.StatusNotModified was returned.
38197func (c *PlacementGroupsListCall) Do(opts ...googleapi.CallOption) (*PlacementGroupsListResponse, error) {
38198	gensupport.SetOptions(c.urlParams_, opts...)
38199	res, err := c.doRequest("json")
38200	if res != nil && res.StatusCode == http.StatusNotModified {
38201		if res.Body != nil {
38202			res.Body.Close()
38203		}
38204		return nil, &googleapi.Error{
38205			Code:   res.StatusCode,
38206			Header: res.Header,
38207		}
38208	}
38209	if err != nil {
38210		return nil, err
38211	}
38212	defer googleapi.CloseBody(res)
38213	if err := googleapi.CheckResponse(res); err != nil {
38214		return nil, err
38215	}
38216	ret := &PlacementGroupsListResponse{
38217		ServerResponse: googleapi.ServerResponse{
38218			Header:         res.Header,
38219			HTTPStatusCode: res.StatusCode,
38220		},
38221	}
38222	target := &ret
38223	if err := gensupport.DecodeResponse(target, res); err != nil {
38224		return nil, err
38225	}
38226	return ret, nil
38227	// {
38228	//   "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
38229	//   "flatPath": "userprofiles/{profileId}/placementGroups",
38230	//   "httpMethod": "GET",
38231	//   "id": "dfareporting.placementGroups.list",
38232	//   "parameterOrder": [
38233	//     "profileId"
38234	//   ],
38235	//   "parameters": {
38236	//     "advertiserIds": {
38237	//       "description": "Select only placement groups that belong to these advertisers.",
38238	//       "format": "int64",
38239	//       "location": "query",
38240	//       "repeated": true,
38241	//       "type": "string"
38242	//     },
38243	//     "archived": {
38244	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
38245	//       "location": "query",
38246	//       "type": "boolean"
38247	//     },
38248	//     "campaignIds": {
38249	//       "description": "Select only placement groups that belong to these campaigns.",
38250	//       "format": "int64",
38251	//       "location": "query",
38252	//       "repeated": true,
38253	//       "type": "string"
38254	//     },
38255	//     "contentCategoryIds": {
38256	//       "description": "Select only placement groups that are associated with these content categories.",
38257	//       "format": "int64",
38258	//       "location": "query",
38259	//       "repeated": true,
38260	//       "type": "string"
38261	//     },
38262	//     "directorySiteIds": {
38263	//       "description": "Select only placement groups that are associated with these directory sites.",
38264	//       "format": "int64",
38265	//       "location": "query",
38266	//       "repeated": true,
38267	//       "type": "string"
38268	//     },
38269	//     "ids": {
38270	//       "description": "Select only placement groups with these IDs.",
38271	//       "format": "int64",
38272	//       "location": "query",
38273	//       "repeated": true,
38274	//       "type": "string"
38275	//     },
38276	//     "maxEndDate": {
38277	//       "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\".",
38278	//       "location": "query",
38279	//       "type": "string"
38280	//     },
38281	//     "maxResults": {
38282	//       "default": "800",
38283	//       "description": "Maximum number of results to return.",
38284	//       "format": "int32",
38285	//       "location": "query",
38286	//       "maximum": "800",
38287	//       "minimum": "0",
38288	//       "type": "integer"
38289	//     },
38290	//     "maxStartDate": {
38291	//       "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\".",
38292	//       "location": "query",
38293	//       "type": "string"
38294	//     },
38295	//     "minEndDate": {
38296	//       "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\".",
38297	//       "location": "query",
38298	//       "type": "string"
38299	//     },
38300	//     "minStartDate": {
38301	//       "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\".",
38302	//       "location": "query",
38303	//       "type": "string"
38304	//     },
38305	//     "pageToken": {
38306	//       "description": "Value of the nextPageToken from the previous result page.",
38307	//       "location": "query",
38308	//       "type": "string"
38309	//     },
38310	//     "placementGroupType": {
38311	//       "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.",
38312	//       "enum": [
38313	//         "PLACEMENT_PACKAGE",
38314	//         "PLACEMENT_ROADBLOCK"
38315	//       ],
38316	//       "enumDescriptions": [
38317	//         "",
38318	//         ""
38319	//       ],
38320	//       "location": "query",
38321	//       "type": "string"
38322	//     },
38323	//     "placementStrategyIds": {
38324	//       "description": "Select only placement groups that are associated with these placement strategies.",
38325	//       "format": "int64",
38326	//       "location": "query",
38327	//       "repeated": true,
38328	//       "type": "string"
38329	//     },
38330	//     "pricingTypes": {
38331	//       "description": "Select only placement groups with these pricing types.",
38332	//       "enum": [
38333	//         "PRICING_TYPE_CPM",
38334	//         "PRICING_TYPE_CPC",
38335	//         "PRICING_TYPE_CPA",
38336	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
38337	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
38338	//         "PRICING_TYPE_CPM_ACTIVEVIEW"
38339	//       ],
38340	//       "enumDescriptions": [
38341	//         "",
38342	//         "",
38343	//         "",
38344	//         "",
38345	//         "",
38346	//         ""
38347	//       ],
38348	//       "location": "query",
38349	//       "repeated": true,
38350	//       "type": "string"
38351	//     },
38352	//     "profileId": {
38353	//       "description": "User profile ID associated with this request.",
38354	//       "format": "int64",
38355	//       "location": "path",
38356	//       "required": true,
38357	//       "type": "string"
38358	//     },
38359	//     "searchString": {
38360	//       "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\".",
38361	//       "location": "query",
38362	//       "type": "string"
38363	//     },
38364	//     "siteIds": {
38365	//       "description": "Select only placement groups that are associated with these sites.",
38366	//       "format": "int64",
38367	//       "location": "query",
38368	//       "repeated": true,
38369	//       "type": "string"
38370	//     },
38371	//     "sortField": {
38372	//       "default": "ID",
38373	//       "description": "Field by which to sort the list.",
38374	//       "enum": [
38375	//         "ID",
38376	//         "NAME"
38377	//       ],
38378	//       "enumDescriptions": [
38379	//         "",
38380	//         ""
38381	//       ],
38382	//       "location": "query",
38383	//       "type": "string"
38384	//     },
38385	//     "sortOrder": {
38386	//       "default": "ASCENDING",
38387	//       "description": "Order of sorted results.",
38388	//       "enum": [
38389	//         "ASCENDING",
38390	//         "DESCENDING"
38391	//       ],
38392	//       "enumDescriptions": [
38393	//         "",
38394	//         ""
38395	//       ],
38396	//       "location": "query",
38397	//       "type": "string"
38398	//     }
38399	//   },
38400	//   "path": "userprofiles/{profileId}/placementGroups",
38401	//   "response": {
38402	//     "$ref": "PlacementGroupsListResponse"
38403	//   },
38404	//   "scopes": [
38405	//     "https://www.googleapis.com/auth/dfatrafficking"
38406	//   ]
38407	// }
38408
38409}
38410
38411// Pages invokes f for each page of results.
38412// A non-nil error returned from f will halt the iteration.
38413// The provided context supersedes any context provided to the Context method.
38414func (c *PlacementGroupsListCall) Pages(ctx context.Context, f func(*PlacementGroupsListResponse) error) error {
38415	c.ctx_ = ctx
38416	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
38417	for {
38418		x, err := c.Do()
38419		if err != nil {
38420			return err
38421		}
38422		if err := f(x); err != nil {
38423			return err
38424		}
38425		if x.NextPageToken == "" {
38426			return nil
38427		}
38428		c.PageToken(x.NextPageToken)
38429	}
38430}
38431
38432// method id "dfareporting.placementGroups.patch":
38433
38434type PlacementGroupsPatchCall struct {
38435	s              *Service
38436	profileId      int64
38437	placementgroup *PlacementGroup
38438	urlParams_     gensupport.URLParams
38439	ctx_           context.Context
38440	header_        http.Header
38441}
38442
38443// Patch: Updates an existing placement group. This method supports
38444// patch semantics.
38445func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
38446	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38447	c.profileId = profileId
38448	c.urlParams_.Set("id", fmt.Sprint(id))
38449	c.placementgroup = placementgroup
38450	return c
38451}
38452
38453// Fields allows partial responses to be retrieved. See
38454// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38455// for more information.
38456func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
38457	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38458	return c
38459}
38460
38461// Context sets the context to be used in this call's Do method. Any
38462// pending HTTP request will be aborted if the provided context is
38463// canceled.
38464func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
38465	c.ctx_ = ctx
38466	return c
38467}
38468
38469// Header returns an http.Header that can be modified by the caller to
38470// add HTTP headers to the request.
38471func (c *PlacementGroupsPatchCall) Header() http.Header {
38472	if c.header_ == nil {
38473		c.header_ = make(http.Header)
38474	}
38475	return c.header_
38476}
38477
38478func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
38479	reqHeaders := make(http.Header)
38480	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
38481	for k, v := range c.header_ {
38482		reqHeaders[k] = v
38483	}
38484	reqHeaders.Set("User-Agent", c.s.userAgent())
38485	var body io.Reader = nil
38486	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
38487	if err != nil {
38488		return nil, err
38489	}
38490	reqHeaders.Set("Content-Type", "application/json")
38491	c.urlParams_.Set("alt", alt)
38492	c.urlParams_.Set("prettyPrint", "false")
38493	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38494	urls += "?" + c.urlParams_.Encode()
38495	req, err := http.NewRequest("PATCH", urls, body)
38496	if err != nil {
38497		return nil, err
38498	}
38499	req.Header = reqHeaders
38500	googleapi.Expand(req.URL, map[string]string{
38501		"profileId": strconv.FormatInt(c.profileId, 10),
38502	})
38503	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38504}
38505
38506// Do executes the "dfareporting.placementGroups.patch" call.
38507// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38508// status code is an error. Response headers are in either
38509// *PlacementGroup.ServerResponse.Header or (if a response was returned
38510// at all) in error.(*googleapi.Error).Header. Use
38511// googleapi.IsNotModified to check whether the returned error was
38512// because http.StatusNotModified was returned.
38513func (c *PlacementGroupsPatchCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38514	gensupport.SetOptions(c.urlParams_, opts...)
38515	res, err := c.doRequest("json")
38516	if res != nil && res.StatusCode == http.StatusNotModified {
38517		if res.Body != nil {
38518			res.Body.Close()
38519		}
38520		return nil, &googleapi.Error{
38521			Code:   res.StatusCode,
38522			Header: res.Header,
38523		}
38524	}
38525	if err != nil {
38526		return nil, err
38527	}
38528	defer googleapi.CloseBody(res)
38529	if err := googleapi.CheckResponse(res); err != nil {
38530		return nil, err
38531	}
38532	ret := &PlacementGroup{
38533		ServerResponse: googleapi.ServerResponse{
38534			Header:         res.Header,
38535			HTTPStatusCode: res.StatusCode,
38536		},
38537	}
38538	target := &ret
38539	if err := gensupport.DecodeResponse(target, res); err != nil {
38540		return nil, err
38541	}
38542	return ret, nil
38543	// {
38544	//   "description": "Updates an existing placement group. This method supports patch semantics.",
38545	//   "flatPath": "userprofiles/{profileId}/placementGroups",
38546	//   "httpMethod": "PATCH",
38547	//   "id": "dfareporting.placementGroups.patch",
38548	//   "parameterOrder": [
38549	//     "profileId",
38550	//     "id"
38551	//   ],
38552	//   "parameters": {
38553	//     "id": {
38554	//       "description": "PlacementGroup ID.",
38555	//       "format": "int64",
38556	//       "location": "query",
38557	//       "required": true,
38558	//       "type": "string"
38559	//     },
38560	//     "profileId": {
38561	//       "description": "User profile ID associated with this request.",
38562	//       "format": "int64",
38563	//       "location": "path",
38564	//       "required": true,
38565	//       "type": "string"
38566	//     }
38567	//   },
38568	//   "path": "userprofiles/{profileId}/placementGroups",
38569	//   "request": {
38570	//     "$ref": "PlacementGroup"
38571	//   },
38572	//   "response": {
38573	//     "$ref": "PlacementGroup"
38574	//   },
38575	//   "scopes": [
38576	//     "https://www.googleapis.com/auth/dfatrafficking"
38577	//   ]
38578	// }
38579
38580}
38581
38582// method id "dfareporting.placementGroups.update":
38583
38584type PlacementGroupsUpdateCall struct {
38585	s              *Service
38586	profileId      int64
38587	placementgroup *PlacementGroup
38588	urlParams_     gensupport.URLParams
38589	ctx_           context.Context
38590	header_        http.Header
38591}
38592
38593// Update: Updates an existing placement group.
38594func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
38595	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38596	c.profileId = profileId
38597	c.placementgroup = placementgroup
38598	return c
38599}
38600
38601// Fields allows partial responses to be retrieved. See
38602// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38603// for more information.
38604func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
38605	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38606	return c
38607}
38608
38609// Context sets the context to be used in this call's Do method. Any
38610// pending HTTP request will be aborted if the provided context is
38611// canceled.
38612func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
38613	c.ctx_ = ctx
38614	return c
38615}
38616
38617// Header returns an http.Header that can be modified by the caller to
38618// add HTTP headers to the request.
38619func (c *PlacementGroupsUpdateCall) Header() http.Header {
38620	if c.header_ == nil {
38621		c.header_ = make(http.Header)
38622	}
38623	return c.header_
38624}
38625
38626func (c *PlacementGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
38627	reqHeaders := make(http.Header)
38628	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
38629	for k, v := range c.header_ {
38630		reqHeaders[k] = v
38631	}
38632	reqHeaders.Set("User-Agent", c.s.userAgent())
38633	var body io.Reader = nil
38634	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
38635	if err != nil {
38636		return nil, err
38637	}
38638	reqHeaders.Set("Content-Type", "application/json")
38639	c.urlParams_.Set("alt", alt)
38640	c.urlParams_.Set("prettyPrint", "false")
38641	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38642	urls += "?" + c.urlParams_.Encode()
38643	req, err := http.NewRequest("PUT", urls, body)
38644	if err != nil {
38645		return nil, err
38646	}
38647	req.Header = reqHeaders
38648	googleapi.Expand(req.URL, map[string]string{
38649		"profileId": strconv.FormatInt(c.profileId, 10),
38650	})
38651	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38652}
38653
38654// Do executes the "dfareporting.placementGroups.update" call.
38655// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38656// status code is an error. Response headers are in either
38657// *PlacementGroup.ServerResponse.Header or (if a response was returned
38658// at all) in error.(*googleapi.Error).Header. Use
38659// googleapi.IsNotModified to check whether the returned error was
38660// because http.StatusNotModified was returned.
38661func (c *PlacementGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38662	gensupport.SetOptions(c.urlParams_, opts...)
38663	res, err := c.doRequest("json")
38664	if res != nil && res.StatusCode == http.StatusNotModified {
38665		if res.Body != nil {
38666			res.Body.Close()
38667		}
38668		return nil, &googleapi.Error{
38669			Code:   res.StatusCode,
38670			Header: res.Header,
38671		}
38672	}
38673	if err != nil {
38674		return nil, err
38675	}
38676	defer googleapi.CloseBody(res)
38677	if err := googleapi.CheckResponse(res); err != nil {
38678		return nil, err
38679	}
38680	ret := &PlacementGroup{
38681		ServerResponse: googleapi.ServerResponse{
38682			Header:         res.Header,
38683			HTTPStatusCode: res.StatusCode,
38684		},
38685	}
38686	target := &ret
38687	if err := gensupport.DecodeResponse(target, res); err != nil {
38688		return nil, err
38689	}
38690	return ret, nil
38691	// {
38692	//   "description": "Updates an existing placement group.",
38693	//   "flatPath": "userprofiles/{profileId}/placementGroups",
38694	//   "httpMethod": "PUT",
38695	//   "id": "dfareporting.placementGroups.update",
38696	//   "parameterOrder": [
38697	//     "profileId"
38698	//   ],
38699	//   "parameters": {
38700	//     "profileId": {
38701	//       "description": "User profile ID associated with this request.",
38702	//       "format": "int64",
38703	//       "location": "path",
38704	//       "required": true,
38705	//       "type": "string"
38706	//     }
38707	//   },
38708	//   "path": "userprofiles/{profileId}/placementGroups",
38709	//   "request": {
38710	//     "$ref": "PlacementGroup"
38711	//   },
38712	//   "response": {
38713	//     "$ref": "PlacementGroup"
38714	//   },
38715	//   "scopes": [
38716	//     "https://www.googleapis.com/auth/dfatrafficking"
38717	//   ]
38718	// }
38719
38720}
38721
38722// method id "dfareporting.placementStrategies.delete":
38723
38724type PlacementStrategiesDeleteCall struct {
38725	s          *Service
38726	profileId  int64
38727	id         int64
38728	urlParams_ gensupport.URLParams
38729	ctx_       context.Context
38730	header_    http.Header
38731}
38732
38733// Delete: Deletes an existing placement strategy.
38734func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
38735	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38736	c.profileId = profileId
38737	c.id = id
38738	return c
38739}
38740
38741// Fields allows partial responses to be retrieved. See
38742// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38743// for more information.
38744func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
38745	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38746	return c
38747}
38748
38749// Context sets the context to be used in this call's Do method. Any
38750// pending HTTP request will be aborted if the provided context is
38751// canceled.
38752func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
38753	c.ctx_ = ctx
38754	return c
38755}
38756
38757// Header returns an http.Header that can be modified by the caller to
38758// add HTTP headers to the request.
38759func (c *PlacementStrategiesDeleteCall) Header() http.Header {
38760	if c.header_ == nil {
38761		c.header_ = make(http.Header)
38762	}
38763	return c.header_
38764}
38765
38766func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
38767	reqHeaders := make(http.Header)
38768	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
38769	for k, v := range c.header_ {
38770		reqHeaders[k] = v
38771	}
38772	reqHeaders.Set("User-Agent", c.s.userAgent())
38773	var body io.Reader = nil
38774	c.urlParams_.Set("alt", alt)
38775	c.urlParams_.Set("prettyPrint", "false")
38776	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
38777	urls += "?" + c.urlParams_.Encode()
38778	req, err := http.NewRequest("DELETE", urls, body)
38779	if err != nil {
38780		return nil, err
38781	}
38782	req.Header = reqHeaders
38783	googleapi.Expand(req.URL, map[string]string{
38784		"profileId": strconv.FormatInt(c.profileId, 10),
38785		"id":        strconv.FormatInt(c.id, 10),
38786	})
38787	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38788}
38789
38790// Do executes the "dfareporting.placementStrategies.delete" call.
38791func (c *PlacementStrategiesDeleteCall) Do(opts ...googleapi.CallOption) error {
38792	gensupport.SetOptions(c.urlParams_, opts...)
38793	res, err := c.doRequest("json")
38794	if err != nil {
38795		return err
38796	}
38797	defer googleapi.CloseBody(res)
38798	if err := googleapi.CheckResponse(res); err != nil {
38799		return err
38800	}
38801	return nil
38802	// {
38803	//   "description": "Deletes an existing placement strategy.",
38804	//   "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
38805	//   "httpMethod": "DELETE",
38806	//   "id": "dfareporting.placementStrategies.delete",
38807	//   "parameterOrder": [
38808	//     "profileId",
38809	//     "id"
38810	//   ],
38811	//   "parameters": {
38812	//     "id": {
38813	//       "description": "Placement strategy ID.",
38814	//       "format": "int64",
38815	//       "location": "path",
38816	//       "required": true,
38817	//       "type": "string"
38818	//     },
38819	//     "profileId": {
38820	//       "description": "User profile ID associated with this request.",
38821	//       "format": "int64",
38822	//       "location": "path",
38823	//       "required": true,
38824	//       "type": "string"
38825	//     }
38826	//   },
38827	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
38828	//   "scopes": [
38829	//     "https://www.googleapis.com/auth/dfatrafficking"
38830	//   ]
38831	// }
38832
38833}
38834
38835// method id "dfareporting.placementStrategies.get":
38836
38837type PlacementStrategiesGetCall struct {
38838	s            *Service
38839	profileId    int64
38840	id           int64
38841	urlParams_   gensupport.URLParams
38842	ifNoneMatch_ string
38843	ctx_         context.Context
38844	header_      http.Header
38845}
38846
38847// Get: Gets one placement strategy by ID.
38848func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
38849	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38850	c.profileId = profileId
38851	c.id = id
38852	return c
38853}
38854
38855// Fields allows partial responses to be retrieved. See
38856// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38857// for more information.
38858func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
38859	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38860	return c
38861}
38862
38863// IfNoneMatch sets the optional parameter which makes the operation
38864// fail if the object's ETag matches the given value. This is useful for
38865// getting updates only after the object has changed since the last
38866// request. Use googleapi.IsNotModified to check whether the response
38867// error from Do is the result of In-None-Match.
38868func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
38869	c.ifNoneMatch_ = entityTag
38870	return c
38871}
38872
38873// Context sets the context to be used in this call's Do method. Any
38874// pending HTTP request will be aborted if the provided context is
38875// canceled.
38876func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
38877	c.ctx_ = ctx
38878	return c
38879}
38880
38881// Header returns an http.Header that can be modified by the caller to
38882// add HTTP headers to the request.
38883func (c *PlacementStrategiesGetCall) Header() http.Header {
38884	if c.header_ == nil {
38885		c.header_ = make(http.Header)
38886	}
38887	return c.header_
38888}
38889
38890func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
38891	reqHeaders := make(http.Header)
38892	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
38893	for k, v := range c.header_ {
38894		reqHeaders[k] = v
38895	}
38896	reqHeaders.Set("User-Agent", c.s.userAgent())
38897	if c.ifNoneMatch_ != "" {
38898		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38899	}
38900	var body io.Reader = nil
38901	c.urlParams_.Set("alt", alt)
38902	c.urlParams_.Set("prettyPrint", "false")
38903	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
38904	urls += "?" + c.urlParams_.Encode()
38905	req, err := http.NewRequest("GET", urls, body)
38906	if err != nil {
38907		return nil, err
38908	}
38909	req.Header = reqHeaders
38910	googleapi.Expand(req.URL, map[string]string{
38911		"profileId": strconv.FormatInt(c.profileId, 10),
38912		"id":        strconv.FormatInt(c.id, 10),
38913	})
38914	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38915}
38916
38917// Do executes the "dfareporting.placementStrategies.get" call.
38918// Exactly one of *PlacementStrategy or error will be non-nil. Any
38919// non-2xx status code is an error. Response headers are in either
38920// *PlacementStrategy.ServerResponse.Header or (if a response was
38921// returned at all) in error.(*googleapi.Error).Header. Use
38922// googleapi.IsNotModified to check whether the returned error was
38923// because http.StatusNotModified was returned.
38924func (c *PlacementStrategiesGetCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
38925	gensupport.SetOptions(c.urlParams_, opts...)
38926	res, err := c.doRequest("json")
38927	if res != nil && res.StatusCode == http.StatusNotModified {
38928		if res.Body != nil {
38929			res.Body.Close()
38930		}
38931		return nil, &googleapi.Error{
38932			Code:   res.StatusCode,
38933			Header: res.Header,
38934		}
38935	}
38936	if err != nil {
38937		return nil, err
38938	}
38939	defer googleapi.CloseBody(res)
38940	if err := googleapi.CheckResponse(res); err != nil {
38941		return nil, err
38942	}
38943	ret := &PlacementStrategy{
38944		ServerResponse: googleapi.ServerResponse{
38945			Header:         res.Header,
38946			HTTPStatusCode: res.StatusCode,
38947		},
38948	}
38949	target := &ret
38950	if err := gensupport.DecodeResponse(target, res); err != nil {
38951		return nil, err
38952	}
38953	return ret, nil
38954	// {
38955	//   "description": "Gets one placement strategy by ID.",
38956	//   "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
38957	//   "httpMethod": "GET",
38958	//   "id": "dfareporting.placementStrategies.get",
38959	//   "parameterOrder": [
38960	//     "profileId",
38961	//     "id"
38962	//   ],
38963	//   "parameters": {
38964	//     "id": {
38965	//       "description": "Placement strategy ID.",
38966	//       "format": "int64",
38967	//       "location": "path",
38968	//       "required": true,
38969	//       "type": "string"
38970	//     },
38971	//     "profileId": {
38972	//       "description": "User profile ID associated with this request.",
38973	//       "format": "int64",
38974	//       "location": "path",
38975	//       "required": true,
38976	//       "type": "string"
38977	//     }
38978	//   },
38979	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
38980	//   "response": {
38981	//     "$ref": "PlacementStrategy"
38982	//   },
38983	//   "scopes": [
38984	//     "https://www.googleapis.com/auth/dfatrafficking"
38985	//   ]
38986	// }
38987
38988}
38989
38990// method id "dfareporting.placementStrategies.insert":
38991
38992type PlacementStrategiesInsertCall struct {
38993	s                 *Service
38994	profileId         int64
38995	placementstrategy *PlacementStrategy
38996	urlParams_        gensupport.URLParams
38997	ctx_              context.Context
38998	header_           http.Header
38999}
39000
39001// Insert: Inserts a new placement strategy.
39002func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
39003	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39004	c.profileId = profileId
39005	c.placementstrategy = placementstrategy
39006	return c
39007}
39008
39009// Fields allows partial responses to be retrieved. See
39010// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39011// for more information.
39012func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
39013	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39014	return c
39015}
39016
39017// Context sets the context to be used in this call's Do method. Any
39018// pending HTTP request will be aborted if the provided context is
39019// canceled.
39020func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
39021	c.ctx_ = ctx
39022	return c
39023}
39024
39025// Header returns an http.Header that can be modified by the caller to
39026// add HTTP headers to the request.
39027func (c *PlacementStrategiesInsertCall) Header() http.Header {
39028	if c.header_ == nil {
39029		c.header_ = make(http.Header)
39030	}
39031	return c.header_
39032}
39033
39034func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
39035	reqHeaders := make(http.Header)
39036	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
39037	for k, v := range c.header_ {
39038		reqHeaders[k] = v
39039	}
39040	reqHeaders.Set("User-Agent", c.s.userAgent())
39041	var body io.Reader = nil
39042	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39043	if err != nil {
39044		return nil, err
39045	}
39046	reqHeaders.Set("Content-Type", "application/json")
39047	c.urlParams_.Set("alt", alt)
39048	c.urlParams_.Set("prettyPrint", "false")
39049	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39050	urls += "?" + c.urlParams_.Encode()
39051	req, err := http.NewRequest("POST", urls, body)
39052	if err != nil {
39053		return nil, err
39054	}
39055	req.Header = reqHeaders
39056	googleapi.Expand(req.URL, map[string]string{
39057		"profileId": strconv.FormatInt(c.profileId, 10),
39058	})
39059	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39060}
39061
39062// Do executes the "dfareporting.placementStrategies.insert" call.
39063// Exactly one of *PlacementStrategy or error will be non-nil. Any
39064// non-2xx status code is an error. Response headers are in either
39065// *PlacementStrategy.ServerResponse.Header or (if a response was
39066// returned at all) in error.(*googleapi.Error).Header. Use
39067// googleapi.IsNotModified to check whether the returned error was
39068// because http.StatusNotModified was returned.
39069func (c *PlacementStrategiesInsertCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39070	gensupport.SetOptions(c.urlParams_, opts...)
39071	res, err := c.doRequest("json")
39072	if res != nil && res.StatusCode == http.StatusNotModified {
39073		if res.Body != nil {
39074			res.Body.Close()
39075		}
39076		return nil, &googleapi.Error{
39077			Code:   res.StatusCode,
39078			Header: res.Header,
39079		}
39080	}
39081	if err != nil {
39082		return nil, err
39083	}
39084	defer googleapi.CloseBody(res)
39085	if err := googleapi.CheckResponse(res); err != nil {
39086		return nil, err
39087	}
39088	ret := &PlacementStrategy{
39089		ServerResponse: googleapi.ServerResponse{
39090			Header:         res.Header,
39091			HTTPStatusCode: res.StatusCode,
39092		},
39093	}
39094	target := &ret
39095	if err := gensupport.DecodeResponse(target, res); err != nil {
39096		return nil, err
39097	}
39098	return ret, nil
39099	// {
39100	//   "description": "Inserts a new placement strategy.",
39101	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
39102	//   "httpMethod": "POST",
39103	//   "id": "dfareporting.placementStrategies.insert",
39104	//   "parameterOrder": [
39105	//     "profileId"
39106	//   ],
39107	//   "parameters": {
39108	//     "profileId": {
39109	//       "description": "User profile ID associated with this request.",
39110	//       "format": "int64",
39111	//       "location": "path",
39112	//       "required": true,
39113	//       "type": "string"
39114	//     }
39115	//   },
39116	//   "path": "userprofiles/{profileId}/placementStrategies",
39117	//   "request": {
39118	//     "$ref": "PlacementStrategy"
39119	//   },
39120	//   "response": {
39121	//     "$ref": "PlacementStrategy"
39122	//   },
39123	//   "scopes": [
39124	//     "https://www.googleapis.com/auth/dfatrafficking"
39125	//   ]
39126	// }
39127
39128}
39129
39130// method id "dfareporting.placementStrategies.list":
39131
39132type PlacementStrategiesListCall struct {
39133	s            *Service
39134	profileId    int64
39135	urlParams_   gensupport.URLParams
39136	ifNoneMatch_ string
39137	ctx_         context.Context
39138	header_      http.Header
39139}
39140
39141// List: Retrieves a list of placement strategies, possibly filtered.
39142// This method supports paging.
39143func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
39144	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39145	c.profileId = profileId
39146	return c
39147}
39148
39149// Ids sets the optional parameter "ids": Select only placement
39150// strategies with these IDs.
39151func (c *PlacementStrategiesListCall) Ids(ids ...int64) *PlacementStrategiesListCall {
39152	var ids_ []string
39153	for _, v := range ids {
39154		ids_ = append(ids_, fmt.Sprint(v))
39155	}
39156	c.urlParams_.SetMulti("ids", ids_)
39157	return c
39158}
39159
39160// MaxResults sets the optional parameter "maxResults": Maximum number
39161// of results to return.
39162func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
39163	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
39164	return c
39165}
39166
39167// PageToken sets the optional parameter "pageToken": Value of the
39168// nextPageToken from the previous result page.
39169func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
39170	c.urlParams_.Set("pageToken", pageToken)
39171	return c
39172}
39173
39174// SearchString sets the optional parameter "searchString": Allows
39175// searching for objects by name or ID. Wildcards (*) are allowed. For
39176// example, "placementstrategy*2015" will return objects with names like
39177// "placementstrategy June 2015", "placementstrategy April 2015", or
39178// simply "placementstrategy 2015". Most of the searches also add
39179// wildcards implicitly at the start and the end of the search string.
39180// For example, a search string of "placementstrategy" will match
39181// objects with name "my placementstrategy", "placementstrategy 2015",
39182// or simply "placementstrategy".
39183func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
39184	c.urlParams_.Set("searchString", searchString)
39185	return c
39186}
39187
39188// SortField sets the optional parameter "sortField": Field by which to
39189// sort the list.
39190//
39191// Possible values:
39192//   "ID" (default)
39193//   "NAME"
39194func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
39195	c.urlParams_.Set("sortField", sortField)
39196	return c
39197}
39198
39199// SortOrder sets the optional parameter "sortOrder": Order of sorted
39200// results.
39201//
39202// Possible values:
39203//   "ASCENDING" (default)
39204//   "DESCENDING"
39205func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
39206	c.urlParams_.Set("sortOrder", sortOrder)
39207	return c
39208}
39209
39210// Fields allows partial responses to be retrieved. See
39211// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39212// for more information.
39213func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
39214	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39215	return c
39216}
39217
39218// IfNoneMatch sets the optional parameter which makes the operation
39219// fail if the object's ETag matches the given value. This is useful for
39220// getting updates only after the object has changed since the last
39221// request. Use googleapi.IsNotModified to check whether the response
39222// error from Do is the result of In-None-Match.
39223func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
39224	c.ifNoneMatch_ = entityTag
39225	return c
39226}
39227
39228// Context sets the context to be used in this call's Do method. Any
39229// pending HTTP request will be aborted if the provided context is
39230// canceled.
39231func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
39232	c.ctx_ = ctx
39233	return c
39234}
39235
39236// Header returns an http.Header that can be modified by the caller to
39237// add HTTP headers to the request.
39238func (c *PlacementStrategiesListCall) Header() http.Header {
39239	if c.header_ == nil {
39240		c.header_ = make(http.Header)
39241	}
39242	return c.header_
39243}
39244
39245func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
39246	reqHeaders := make(http.Header)
39247	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
39248	for k, v := range c.header_ {
39249		reqHeaders[k] = v
39250	}
39251	reqHeaders.Set("User-Agent", c.s.userAgent())
39252	if c.ifNoneMatch_ != "" {
39253		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
39254	}
39255	var body io.Reader = nil
39256	c.urlParams_.Set("alt", alt)
39257	c.urlParams_.Set("prettyPrint", "false")
39258	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39259	urls += "?" + c.urlParams_.Encode()
39260	req, err := http.NewRequest("GET", urls, body)
39261	if err != nil {
39262		return nil, err
39263	}
39264	req.Header = reqHeaders
39265	googleapi.Expand(req.URL, map[string]string{
39266		"profileId": strconv.FormatInt(c.profileId, 10),
39267	})
39268	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39269}
39270
39271// Do executes the "dfareporting.placementStrategies.list" call.
39272// Exactly one of *PlacementStrategiesListResponse or error will be
39273// non-nil. Any non-2xx status code is an error. Response headers are in
39274// either *PlacementStrategiesListResponse.ServerResponse.Header or (if
39275// a response was returned at all) in error.(*googleapi.Error).Header.
39276// Use googleapi.IsNotModified to check whether the returned error was
39277// because http.StatusNotModified was returned.
39278func (c *PlacementStrategiesListCall) Do(opts ...googleapi.CallOption) (*PlacementStrategiesListResponse, error) {
39279	gensupport.SetOptions(c.urlParams_, opts...)
39280	res, err := c.doRequest("json")
39281	if res != nil && res.StatusCode == http.StatusNotModified {
39282		if res.Body != nil {
39283			res.Body.Close()
39284		}
39285		return nil, &googleapi.Error{
39286			Code:   res.StatusCode,
39287			Header: res.Header,
39288		}
39289	}
39290	if err != nil {
39291		return nil, err
39292	}
39293	defer googleapi.CloseBody(res)
39294	if err := googleapi.CheckResponse(res); err != nil {
39295		return nil, err
39296	}
39297	ret := &PlacementStrategiesListResponse{
39298		ServerResponse: googleapi.ServerResponse{
39299			Header:         res.Header,
39300			HTTPStatusCode: res.StatusCode,
39301		},
39302	}
39303	target := &ret
39304	if err := gensupport.DecodeResponse(target, res); err != nil {
39305		return nil, err
39306	}
39307	return ret, nil
39308	// {
39309	//   "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
39310	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
39311	//   "httpMethod": "GET",
39312	//   "id": "dfareporting.placementStrategies.list",
39313	//   "parameterOrder": [
39314	//     "profileId"
39315	//   ],
39316	//   "parameters": {
39317	//     "ids": {
39318	//       "description": "Select only placement strategies with these IDs.",
39319	//       "format": "int64",
39320	//       "location": "query",
39321	//       "repeated": true,
39322	//       "type": "string"
39323	//     },
39324	//     "maxResults": {
39325	//       "default": "1000",
39326	//       "description": "Maximum number of results to return.",
39327	//       "format": "int32",
39328	//       "location": "query",
39329	//       "maximum": "1000",
39330	//       "minimum": "0",
39331	//       "type": "integer"
39332	//     },
39333	//     "pageToken": {
39334	//       "description": "Value of the nextPageToken from the previous result page.",
39335	//       "location": "query",
39336	//       "type": "string"
39337	//     },
39338	//     "profileId": {
39339	//       "description": "User profile ID associated with this request.",
39340	//       "format": "int64",
39341	//       "location": "path",
39342	//       "required": true,
39343	//       "type": "string"
39344	//     },
39345	//     "searchString": {
39346	//       "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\".",
39347	//       "location": "query",
39348	//       "type": "string"
39349	//     },
39350	//     "sortField": {
39351	//       "default": "ID",
39352	//       "description": "Field by which to sort the list.",
39353	//       "enum": [
39354	//         "ID",
39355	//         "NAME"
39356	//       ],
39357	//       "enumDescriptions": [
39358	//         "",
39359	//         ""
39360	//       ],
39361	//       "location": "query",
39362	//       "type": "string"
39363	//     },
39364	//     "sortOrder": {
39365	//       "default": "ASCENDING",
39366	//       "description": "Order of sorted results.",
39367	//       "enum": [
39368	//         "ASCENDING",
39369	//         "DESCENDING"
39370	//       ],
39371	//       "enumDescriptions": [
39372	//         "",
39373	//         ""
39374	//       ],
39375	//       "location": "query",
39376	//       "type": "string"
39377	//     }
39378	//   },
39379	//   "path": "userprofiles/{profileId}/placementStrategies",
39380	//   "response": {
39381	//     "$ref": "PlacementStrategiesListResponse"
39382	//   },
39383	//   "scopes": [
39384	//     "https://www.googleapis.com/auth/dfatrafficking"
39385	//   ]
39386	// }
39387
39388}
39389
39390// Pages invokes f for each page of results.
39391// A non-nil error returned from f will halt the iteration.
39392// The provided context supersedes any context provided to the Context method.
39393func (c *PlacementStrategiesListCall) Pages(ctx context.Context, f func(*PlacementStrategiesListResponse) error) error {
39394	c.ctx_ = ctx
39395	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
39396	for {
39397		x, err := c.Do()
39398		if err != nil {
39399			return err
39400		}
39401		if err := f(x); err != nil {
39402			return err
39403		}
39404		if x.NextPageToken == "" {
39405			return nil
39406		}
39407		c.PageToken(x.NextPageToken)
39408	}
39409}
39410
39411// method id "dfareporting.placementStrategies.patch":
39412
39413type PlacementStrategiesPatchCall struct {
39414	s                 *Service
39415	profileId         int64
39416	placementstrategy *PlacementStrategy
39417	urlParams_        gensupport.URLParams
39418	ctx_              context.Context
39419	header_           http.Header
39420}
39421
39422// Patch: Updates an existing placement strategy. This method supports
39423// patch semantics.
39424func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
39425	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39426	c.profileId = profileId
39427	c.urlParams_.Set("id", fmt.Sprint(id))
39428	c.placementstrategy = placementstrategy
39429	return c
39430}
39431
39432// Fields allows partial responses to be retrieved. See
39433// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39434// for more information.
39435func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
39436	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39437	return c
39438}
39439
39440// Context sets the context to be used in this call's Do method. Any
39441// pending HTTP request will be aborted if the provided context is
39442// canceled.
39443func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
39444	c.ctx_ = ctx
39445	return c
39446}
39447
39448// Header returns an http.Header that can be modified by the caller to
39449// add HTTP headers to the request.
39450func (c *PlacementStrategiesPatchCall) Header() http.Header {
39451	if c.header_ == nil {
39452		c.header_ = make(http.Header)
39453	}
39454	return c.header_
39455}
39456
39457func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
39458	reqHeaders := make(http.Header)
39459	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
39460	for k, v := range c.header_ {
39461		reqHeaders[k] = v
39462	}
39463	reqHeaders.Set("User-Agent", c.s.userAgent())
39464	var body io.Reader = nil
39465	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39466	if err != nil {
39467		return nil, err
39468	}
39469	reqHeaders.Set("Content-Type", "application/json")
39470	c.urlParams_.Set("alt", alt)
39471	c.urlParams_.Set("prettyPrint", "false")
39472	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39473	urls += "?" + c.urlParams_.Encode()
39474	req, err := http.NewRequest("PATCH", urls, body)
39475	if err != nil {
39476		return nil, err
39477	}
39478	req.Header = reqHeaders
39479	googleapi.Expand(req.URL, map[string]string{
39480		"profileId": strconv.FormatInt(c.profileId, 10),
39481	})
39482	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39483}
39484
39485// Do executes the "dfareporting.placementStrategies.patch" call.
39486// Exactly one of *PlacementStrategy or error will be non-nil. Any
39487// non-2xx status code is an error. Response headers are in either
39488// *PlacementStrategy.ServerResponse.Header or (if a response was
39489// returned at all) in error.(*googleapi.Error).Header. Use
39490// googleapi.IsNotModified to check whether the returned error was
39491// because http.StatusNotModified was returned.
39492func (c *PlacementStrategiesPatchCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39493	gensupport.SetOptions(c.urlParams_, opts...)
39494	res, err := c.doRequest("json")
39495	if res != nil && res.StatusCode == http.StatusNotModified {
39496		if res.Body != nil {
39497			res.Body.Close()
39498		}
39499		return nil, &googleapi.Error{
39500			Code:   res.StatusCode,
39501			Header: res.Header,
39502		}
39503	}
39504	if err != nil {
39505		return nil, err
39506	}
39507	defer googleapi.CloseBody(res)
39508	if err := googleapi.CheckResponse(res); err != nil {
39509		return nil, err
39510	}
39511	ret := &PlacementStrategy{
39512		ServerResponse: googleapi.ServerResponse{
39513			Header:         res.Header,
39514			HTTPStatusCode: res.StatusCode,
39515		},
39516	}
39517	target := &ret
39518	if err := gensupport.DecodeResponse(target, res); err != nil {
39519		return nil, err
39520	}
39521	return ret, nil
39522	// {
39523	//   "description": "Updates an existing placement strategy. This method supports patch semantics.",
39524	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
39525	//   "httpMethod": "PATCH",
39526	//   "id": "dfareporting.placementStrategies.patch",
39527	//   "parameterOrder": [
39528	//     "profileId",
39529	//     "id"
39530	//   ],
39531	//   "parameters": {
39532	//     "id": {
39533	//       "description": "PlacementStrategy ID.",
39534	//       "format": "int64",
39535	//       "location": "query",
39536	//       "required": true,
39537	//       "type": "string"
39538	//     },
39539	//     "profileId": {
39540	//       "description": "User profile ID associated with this request.",
39541	//       "format": "int64",
39542	//       "location": "path",
39543	//       "required": true,
39544	//       "type": "string"
39545	//     }
39546	//   },
39547	//   "path": "userprofiles/{profileId}/placementStrategies",
39548	//   "request": {
39549	//     "$ref": "PlacementStrategy"
39550	//   },
39551	//   "response": {
39552	//     "$ref": "PlacementStrategy"
39553	//   },
39554	//   "scopes": [
39555	//     "https://www.googleapis.com/auth/dfatrafficking"
39556	//   ]
39557	// }
39558
39559}
39560
39561// method id "dfareporting.placementStrategies.update":
39562
39563type PlacementStrategiesUpdateCall struct {
39564	s                 *Service
39565	profileId         int64
39566	placementstrategy *PlacementStrategy
39567	urlParams_        gensupport.URLParams
39568	ctx_              context.Context
39569	header_           http.Header
39570}
39571
39572// Update: Updates an existing placement strategy.
39573func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
39574	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39575	c.profileId = profileId
39576	c.placementstrategy = placementstrategy
39577	return c
39578}
39579
39580// Fields allows partial responses to be retrieved. See
39581// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39582// for more information.
39583func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
39584	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39585	return c
39586}
39587
39588// Context sets the context to be used in this call's Do method. Any
39589// pending HTTP request will be aborted if the provided context is
39590// canceled.
39591func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
39592	c.ctx_ = ctx
39593	return c
39594}
39595
39596// Header returns an http.Header that can be modified by the caller to
39597// add HTTP headers to the request.
39598func (c *PlacementStrategiesUpdateCall) Header() http.Header {
39599	if c.header_ == nil {
39600		c.header_ = make(http.Header)
39601	}
39602	return c.header_
39603}
39604
39605func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
39606	reqHeaders := make(http.Header)
39607	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
39608	for k, v := range c.header_ {
39609		reqHeaders[k] = v
39610	}
39611	reqHeaders.Set("User-Agent", c.s.userAgent())
39612	var body io.Reader = nil
39613	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39614	if err != nil {
39615		return nil, err
39616	}
39617	reqHeaders.Set("Content-Type", "application/json")
39618	c.urlParams_.Set("alt", alt)
39619	c.urlParams_.Set("prettyPrint", "false")
39620	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39621	urls += "?" + c.urlParams_.Encode()
39622	req, err := http.NewRequest("PUT", urls, body)
39623	if err != nil {
39624		return nil, err
39625	}
39626	req.Header = reqHeaders
39627	googleapi.Expand(req.URL, map[string]string{
39628		"profileId": strconv.FormatInt(c.profileId, 10),
39629	})
39630	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39631}
39632
39633// Do executes the "dfareporting.placementStrategies.update" call.
39634// Exactly one of *PlacementStrategy or error will be non-nil. Any
39635// non-2xx status code is an error. Response headers are in either
39636// *PlacementStrategy.ServerResponse.Header or (if a response was
39637// returned at all) in error.(*googleapi.Error).Header. Use
39638// googleapi.IsNotModified to check whether the returned error was
39639// because http.StatusNotModified was returned.
39640func (c *PlacementStrategiesUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39641	gensupport.SetOptions(c.urlParams_, opts...)
39642	res, err := c.doRequest("json")
39643	if res != nil && res.StatusCode == http.StatusNotModified {
39644		if res.Body != nil {
39645			res.Body.Close()
39646		}
39647		return nil, &googleapi.Error{
39648			Code:   res.StatusCode,
39649			Header: res.Header,
39650		}
39651	}
39652	if err != nil {
39653		return nil, err
39654	}
39655	defer googleapi.CloseBody(res)
39656	if err := googleapi.CheckResponse(res); err != nil {
39657		return nil, err
39658	}
39659	ret := &PlacementStrategy{
39660		ServerResponse: googleapi.ServerResponse{
39661			Header:         res.Header,
39662			HTTPStatusCode: res.StatusCode,
39663		},
39664	}
39665	target := &ret
39666	if err := gensupport.DecodeResponse(target, res); err != nil {
39667		return nil, err
39668	}
39669	return ret, nil
39670	// {
39671	//   "description": "Updates an existing placement strategy.",
39672	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
39673	//   "httpMethod": "PUT",
39674	//   "id": "dfareporting.placementStrategies.update",
39675	//   "parameterOrder": [
39676	//     "profileId"
39677	//   ],
39678	//   "parameters": {
39679	//     "profileId": {
39680	//       "description": "User profile ID associated with this request.",
39681	//       "format": "int64",
39682	//       "location": "path",
39683	//       "required": true,
39684	//       "type": "string"
39685	//     }
39686	//   },
39687	//   "path": "userprofiles/{profileId}/placementStrategies",
39688	//   "request": {
39689	//     "$ref": "PlacementStrategy"
39690	//   },
39691	//   "response": {
39692	//     "$ref": "PlacementStrategy"
39693	//   },
39694	//   "scopes": [
39695	//     "https://www.googleapis.com/auth/dfatrafficking"
39696	//   ]
39697	// }
39698
39699}
39700
39701// method id "dfareporting.placements.generatetags":
39702
39703type PlacementsGeneratetagsCall struct {
39704	s          *Service
39705	profileId  int64
39706	urlParams_ gensupport.URLParams
39707	ctx_       context.Context
39708	header_    http.Header
39709}
39710
39711// Generatetags: Generates tags for a placement.
39712func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
39713	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39714	c.profileId = profileId
39715	return c
39716}
39717
39718// CampaignId sets the optional parameter "campaignId": Generate
39719// placements belonging to this campaign. This is a required field.
39720func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
39721	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
39722	return c
39723}
39724
39725// PlacementIds sets the optional parameter "placementIds": Generate
39726// tags for these placements.
39727func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *PlacementsGeneratetagsCall {
39728	var placementIds_ []string
39729	for _, v := range placementIds {
39730		placementIds_ = append(placementIds_, fmt.Sprint(v))
39731	}
39732	c.urlParams_.SetMulti("placementIds", placementIds_)
39733	return c
39734}
39735
39736// TagFormats sets the optional parameter "tagFormats": Tag formats to
39737// generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can
39738// only be generated for 1x1 placements.
39739//
39740// Possible values:
39741//   "PLACEMENT_TAG_STANDARD"
39742//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
39743//   "PLACEMENT_TAG_IFRAME_ILAYER"
39744//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
39745//   "PLACEMENT_TAG_JAVASCRIPT"
39746//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
39747//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
39748//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
39749//   "PLACEMENT_TAG_CLICK_COMMANDS"
39750//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
39751//   "PLACEMENT_TAG_TRACKING"
39752//   "PLACEMENT_TAG_TRACKING_IFRAME"
39753//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
39754//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
39755//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
39756//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
39757//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
39758//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
39759//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
39760func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats ...string) *PlacementsGeneratetagsCall {
39761	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
39762	return c
39763}
39764
39765// Fields allows partial responses to be retrieved. See
39766// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39767// for more information.
39768func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
39769	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39770	return c
39771}
39772
39773// Context sets the context to be used in this call's Do method. Any
39774// pending HTTP request will be aborted if the provided context is
39775// canceled.
39776func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
39777	c.ctx_ = ctx
39778	return c
39779}
39780
39781// Header returns an http.Header that can be modified by the caller to
39782// add HTTP headers to the request.
39783func (c *PlacementsGeneratetagsCall) Header() http.Header {
39784	if c.header_ == nil {
39785		c.header_ = make(http.Header)
39786	}
39787	return c.header_
39788}
39789
39790func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
39791	reqHeaders := make(http.Header)
39792	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
39793	for k, v := range c.header_ {
39794		reqHeaders[k] = v
39795	}
39796	reqHeaders.Set("User-Agent", c.s.userAgent())
39797	var body io.Reader = nil
39798	c.urlParams_.Set("alt", alt)
39799	c.urlParams_.Set("prettyPrint", "false")
39800	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
39801	urls += "?" + c.urlParams_.Encode()
39802	req, err := http.NewRequest("POST", urls, body)
39803	if err != nil {
39804		return nil, err
39805	}
39806	req.Header = reqHeaders
39807	googleapi.Expand(req.URL, map[string]string{
39808		"profileId": strconv.FormatInt(c.profileId, 10),
39809	})
39810	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39811}
39812
39813// Do executes the "dfareporting.placements.generatetags" call.
39814// Exactly one of *PlacementsGenerateTagsResponse or error will be
39815// non-nil. Any non-2xx status code is an error. Response headers are in
39816// either *PlacementsGenerateTagsResponse.ServerResponse.Header or (if a
39817// response was returned at all) in error.(*googleapi.Error).Header. Use
39818// googleapi.IsNotModified to check whether the returned error was
39819// because http.StatusNotModified was returned.
39820func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*PlacementsGenerateTagsResponse, error) {
39821	gensupport.SetOptions(c.urlParams_, opts...)
39822	res, err := c.doRequest("json")
39823	if res != nil && res.StatusCode == http.StatusNotModified {
39824		if res.Body != nil {
39825			res.Body.Close()
39826		}
39827		return nil, &googleapi.Error{
39828			Code:   res.StatusCode,
39829			Header: res.Header,
39830		}
39831	}
39832	if err != nil {
39833		return nil, err
39834	}
39835	defer googleapi.CloseBody(res)
39836	if err := googleapi.CheckResponse(res); err != nil {
39837		return nil, err
39838	}
39839	ret := &PlacementsGenerateTagsResponse{
39840		ServerResponse: googleapi.ServerResponse{
39841			Header:         res.Header,
39842			HTTPStatusCode: res.StatusCode,
39843		},
39844	}
39845	target := &ret
39846	if err := gensupport.DecodeResponse(target, res); err != nil {
39847		return nil, err
39848	}
39849	return ret, nil
39850	// {
39851	//   "description": "Generates tags for a placement.",
39852	//   "flatPath": "userprofiles/{profileId}/placements/generatetags",
39853	//   "httpMethod": "POST",
39854	//   "id": "dfareporting.placements.generatetags",
39855	//   "parameterOrder": [
39856	//     "profileId"
39857	//   ],
39858	//   "parameters": {
39859	//     "campaignId": {
39860	//       "description": "Generate placements belonging to this campaign. This is a required field.",
39861	//       "format": "int64",
39862	//       "location": "query",
39863	//       "type": "string"
39864	//     },
39865	//     "placementIds": {
39866	//       "description": "Generate tags for these placements.",
39867	//       "format": "int64",
39868	//       "location": "query",
39869	//       "repeated": true,
39870	//       "type": "string"
39871	//     },
39872	//     "profileId": {
39873	//       "description": "User profile ID associated with this request.",
39874	//       "format": "int64",
39875	//       "location": "path",
39876	//       "required": true,
39877	//       "type": "string"
39878	//     },
39879	//     "tagFormats": {
39880	//       "description": "Tag formats to generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
39881	//       "enum": [
39882	//         "PLACEMENT_TAG_STANDARD",
39883	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
39884	//         "PLACEMENT_TAG_IFRAME_ILAYER",
39885	//         "PLACEMENT_TAG_INTERNAL_REDIRECT",
39886	//         "PLACEMENT_TAG_JAVASCRIPT",
39887	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
39888	//         "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
39889	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
39890	//         "PLACEMENT_TAG_CLICK_COMMANDS",
39891	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
39892	//         "PLACEMENT_TAG_TRACKING",
39893	//         "PLACEMENT_TAG_TRACKING_IFRAME",
39894	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT",
39895	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
39896	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
39897	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
39898	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
39899	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
39900	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
39901	//       ],
39902	//       "enumDescriptions": [
39903	//         "",
39904	//         "",
39905	//         "",
39906	//         "",
39907	//         "",
39908	//         "",
39909	//         "",
39910	//         "",
39911	//         "",
39912	//         "",
39913	//         "",
39914	//         "",
39915	//         "",
39916	//         "",
39917	//         "",
39918	//         "",
39919	//         "",
39920	//         "",
39921	//         ""
39922	//       ],
39923	//       "location": "query",
39924	//       "repeated": true,
39925	//       "type": "string"
39926	//     }
39927	//   },
39928	//   "path": "userprofiles/{profileId}/placements/generatetags",
39929	//   "response": {
39930	//     "$ref": "PlacementsGenerateTagsResponse"
39931	//   },
39932	//   "scopes": [
39933	//     "https://www.googleapis.com/auth/dfatrafficking"
39934	//   ]
39935	// }
39936
39937}
39938
39939// method id "dfareporting.placements.get":
39940
39941type PlacementsGetCall struct {
39942	s            *Service
39943	profileId    int64
39944	id           int64
39945	urlParams_   gensupport.URLParams
39946	ifNoneMatch_ string
39947	ctx_         context.Context
39948	header_      http.Header
39949}
39950
39951// Get: Gets one placement by ID.
39952func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
39953	c := &PlacementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39954	c.profileId = profileId
39955	c.id = id
39956	return c
39957}
39958
39959// Fields allows partial responses to be retrieved. See
39960// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39961// for more information.
39962func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
39963	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39964	return c
39965}
39966
39967// IfNoneMatch sets the optional parameter which makes the operation
39968// fail if the object's ETag matches the given value. This is useful for
39969// getting updates only after the object has changed since the last
39970// request. Use googleapi.IsNotModified to check whether the response
39971// error from Do is the result of In-None-Match.
39972func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
39973	c.ifNoneMatch_ = entityTag
39974	return c
39975}
39976
39977// Context sets the context to be used in this call's Do method. Any
39978// pending HTTP request will be aborted if the provided context is
39979// canceled.
39980func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
39981	c.ctx_ = ctx
39982	return c
39983}
39984
39985// Header returns an http.Header that can be modified by the caller to
39986// add HTTP headers to the request.
39987func (c *PlacementsGetCall) Header() http.Header {
39988	if c.header_ == nil {
39989		c.header_ = make(http.Header)
39990	}
39991	return c.header_
39992}
39993
39994func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
39995	reqHeaders := make(http.Header)
39996	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
39997	for k, v := range c.header_ {
39998		reqHeaders[k] = v
39999	}
40000	reqHeaders.Set("User-Agent", c.s.userAgent())
40001	if c.ifNoneMatch_ != "" {
40002		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40003	}
40004	var body io.Reader = nil
40005	c.urlParams_.Set("alt", alt)
40006	c.urlParams_.Set("prettyPrint", "false")
40007	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
40008	urls += "?" + c.urlParams_.Encode()
40009	req, err := http.NewRequest("GET", urls, body)
40010	if err != nil {
40011		return nil, err
40012	}
40013	req.Header = reqHeaders
40014	googleapi.Expand(req.URL, map[string]string{
40015		"profileId": strconv.FormatInt(c.profileId, 10),
40016		"id":        strconv.FormatInt(c.id, 10),
40017	})
40018	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40019}
40020
40021// Do executes the "dfareporting.placements.get" call.
40022// Exactly one of *Placement or error will be non-nil. Any non-2xx
40023// status code is an error. Response headers are in either
40024// *Placement.ServerResponse.Header or (if a response was returned at
40025// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40026// to check whether the returned error was because
40027// http.StatusNotModified was returned.
40028func (c *PlacementsGetCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40029	gensupport.SetOptions(c.urlParams_, opts...)
40030	res, err := c.doRequest("json")
40031	if res != nil && res.StatusCode == http.StatusNotModified {
40032		if res.Body != nil {
40033			res.Body.Close()
40034		}
40035		return nil, &googleapi.Error{
40036			Code:   res.StatusCode,
40037			Header: res.Header,
40038		}
40039	}
40040	if err != nil {
40041		return nil, err
40042	}
40043	defer googleapi.CloseBody(res)
40044	if err := googleapi.CheckResponse(res); err != nil {
40045		return nil, err
40046	}
40047	ret := &Placement{
40048		ServerResponse: googleapi.ServerResponse{
40049			Header:         res.Header,
40050			HTTPStatusCode: res.StatusCode,
40051		},
40052	}
40053	target := &ret
40054	if err := gensupport.DecodeResponse(target, res); err != nil {
40055		return nil, err
40056	}
40057	return ret, nil
40058	// {
40059	//   "description": "Gets one placement by ID.",
40060	//   "flatPath": "userprofiles/{profileId}/placements/{id}",
40061	//   "httpMethod": "GET",
40062	//   "id": "dfareporting.placements.get",
40063	//   "parameterOrder": [
40064	//     "profileId",
40065	//     "id"
40066	//   ],
40067	//   "parameters": {
40068	//     "id": {
40069	//       "description": "Placement ID.",
40070	//       "format": "int64",
40071	//       "location": "path",
40072	//       "required": true,
40073	//       "type": "string"
40074	//     },
40075	//     "profileId": {
40076	//       "description": "User profile ID associated with this request.",
40077	//       "format": "int64",
40078	//       "location": "path",
40079	//       "required": true,
40080	//       "type": "string"
40081	//     }
40082	//   },
40083	//   "path": "userprofiles/{profileId}/placements/{id}",
40084	//   "response": {
40085	//     "$ref": "Placement"
40086	//   },
40087	//   "scopes": [
40088	//     "https://www.googleapis.com/auth/dfatrafficking"
40089	//   ]
40090	// }
40091
40092}
40093
40094// method id "dfareporting.placements.insert":
40095
40096type PlacementsInsertCall struct {
40097	s          *Service
40098	profileId  int64
40099	placement  *Placement
40100	urlParams_ gensupport.URLParams
40101	ctx_       context.Context
40102	header_    http.Header
40103}
40104
40105// Insert: Inserts a new placement.
40106func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
40107	c := &PlacementsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40108	c.profileId = profileId
40109	c.placement = placement
40110	return c
40111}
40112
40113// Fields allows partial responses to be retrieved. See
40114// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40115// for more information.
40116func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
40117	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40118	return c
40119}
40120
40121// Context sets the context to be used in this call's Do method. Any
40122// pending HTTP request will be aborted if the provided context is
40123// canceled.
40124func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
40125	c.ctx_ = ctx
40126	return c
40127}
40128
40129// Header returns an http.Header that can be modified by the caller to
40130// add HTTP headers to the request.
40131func (c *PlacementsInsertCall) Header() http.Header {
40132	if c.header_ == nil {
40133		c.header_ = make(http.Header)
40134	}
40135	return c.header_
40136}
40137
40138func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
40139	reqHeaders := make(http.Header)
40140	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
40141	for k, v := range c.header_ {
40142		reqHeaders[k] = v
40143	}
40144	reqHeaders.Set("User-Agent", c.s.userAgent())
40145	var body io.Reader = nil
40146	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
40147	if err != nil {
40148		return nil, err
40149	}
40150	reqHeaders.Set("Content-Type", "application/json")
40151	c.urlParams_.Set("alt", alt)
40152	c.urlParams_.Set("prettyPrint", "false")
40153	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40154	urls += "?" + c.urlParams_.Encode()
40155	req, err := http.NewRequest("POST", urls, body)
40156	if err != nil {
40157		return nil, err
40158	}
40159	req.Header = reqHeaders
40160	googleapi.Expand(req.URL, map[string]string{
40161		"profileId": strconv.FormatInt(c.profileId, 10),
40162	})
40163	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40164}
40165
40166// Do executes the "dfareporting.placements.insert" call.
40167// Exactly one of *Placement or error will be non-nil. Any non-2xx
40168// status code is an error. Response headers are in either
40169// *Placement.ServerResponse.Header or (if a response was returned at
40170// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40171// to check whether the returned error was because
40172// http.StatusNotModified was returned.
40173func (c *PlacementsInsertCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40174	gensupport.SetOptions(c.urlParams_, opts...)
40175	res, err := c.doRequest("json")
40176	if res != nil && res.StatusCode == http.StatusNotModified {
40177		if res.Body != nil {
40178			res.Body.Close()
40179		}
40180		return nil, &googleapi.Error{
40181			Code:   res.StatusCode,
40182			Header: res.Header,
40183		}
40184	}
40185	if err != nil {
40186		return nil, err
40187	}
40188	defer googleapi.CloseBody(res)
40189	if err := googleapi.CheckResponse(res); err != nil {
40190		return nil, err
40191	}
40192	ret := &Placement{
40193		ServerResponse: googleapi.ServerResponse{
40194			Header:         res.Header,
40195			HTTPStatusCode: res.StatusCode,
40196		},
40197	}
40198	target := &ret
40199	if err := gensupport.DecodeResponse(target, res); err != nil {
40200		return nil, err
40201	}
40202	return ret, nil
40203	// {
40204	//   "description": "Inserts a new placement.",
40205	//   "flatPath": "userprofiles/{profileId}/placements",
40206	//   "httpMethod": "POST",
40207	//   "id": "dfareporting.placements.insert",
40208	//   "parameterOrder": [
40209	//     "profileId"
40210	//   ],
40211	//   "parameters": {
40212	//     "profileId": {
40213	//       "description": "User profile ID associated with this request.",
40214	//       "format": "int64",
40215	//       "location": "path",
40216	//       "required": true,
40217	//       "type": "string"
40218	//     }
40219	//   },
40220	//   "path": "userprofiles/{profileId}/placements",
40221	//   "request": {
40222	//     "$ref": "Placement"
40223	//   },
40224	//   "response": {
40225	//     "$ref": "Placement"
40226	//   },
40227	//   "scopes": [
40228	//     "https://www.googleapis.com/auth/dfatrafficking"
40229	//   ]
40230	// }
40231
40232}
40233
40234// method id "dfareporting.placements.list":
40235
40236type PlacementsListCall struct {
40237	s            *Service
40238	profileId    int64
40239	urlParams_   gensupport.URLParams
40240	ifNoneMatch_ string
40241	ctx_         context.Context
40242	header_      http.Header
40243}
40244
40245// List: Retrieves a list of placements, possibly filtered. This method
40246// supports paging.
40247func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
40248	c := &PlacementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40249	c.profileId = profileId
40250	return c
40251}
40252
40253// AdvertiserIds sets the optional parameter "advertiserIds": Select
40254// only placements that belong to these advertisers.
40255func (c *PlacementsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementsListCall {
40256	var advertiserIds_ []string
40257	for _, v := range advertiserIds {
40258		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
40259	}
40260	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
40261	return c
40262}
40263
40264// Archived sets the optional parameter "archived": Select only archived
40265// placements. Don't set this field to select both archived and
40266// non-archived placements.
40267func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
40268	c.urlParams_.Set("archived", fmt.Sprint(archived))
40269	return c
40270}
40271
40272// CampaignIds sets the optional parameter "campaignIds": Select only
40273// placements that belong to these campaigns.
40274func (c *PlacementsListCall) CampaignIds(campaignIds ...int64) *PlacementsListCall {
40275	var campaignIds_ []string
40276	for _, v := range campaignIds {
40277		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
40278	}
40279	c.urlParams_.SetMulti("campaignIds", campaignIds_)
40280	return c
40281}
40282
40283// Compatibilities sets the optional parameter "compatibilities": Select
40284// only placements that are associated with these compatibilities.
40285// DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
40286// or on mobile devices for regular or interstitial ads respectively.
40287// APP and APP_INTERSTITIAL are for rendering in mobile apps.
40288// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
40289// with the VAST standard.
40290//
40291// Possible values:
40292//   "DISPLAY"
40293//   "DISPLAY_INTERSTITIAL"
40294//   "APP"
40295//   "APP_INTERSTITIAL"
40296//   "IN_STREAM_VIDEO"
40297//   "IN_STREAM_AUDIO"
40298func (c *PlacementsListCall) Compatibilities(compatibilities ...string) *PlacementsListCall {
40299	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
40300	return c
40301}
40302
40303// ContentCategoryIds sets the optional parameter "contentCategoryIds":
40304// Select only placements that are associated with these content
40305// categories.
40306func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementsListCall {
40307	var contentCategoryIds_ []string
40308	for _, v := range contentCategoryIds {
40309		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
40310	}
40311	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
40312	return c
40313}
40314
40315// DirectorySiteIds sets the optional parameter "directorySiteIds":
40316// Select only placements that are associated with these directory
40317// sites.
40318func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementsListCall {
40319	var directorySiteIds_ []string
40320	for _, v := range directorySiteIds {
40321		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
40322	}
40323	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
40324	return c
40325}
40326
40327// GroupIds sets the optional parameter "groupIds": Select only
40328// placements that belong to these placement groups.
40329func (c *PlacementsListCall) GroupIds(groupIds ...int64) *PlacementsListCall {
40330	var groupIds_ []string
40331	for _, v := range groupIds {
40332		groupIds_ = append(groupIds_, fmt.Sprint(v))
40333	}
40334	c.urlParams_.SetMulti("groupIds", groupIds_)
40335	return c
40336}
40337
40338// Ids sets the optional parameter "ids": Select only placements with
40339// these IDs.
40340func (c *PlacementsListCall) Ids(ids ...int64) *PlacementsListCall {
40341	var ids_ []string
40342	for _, v := range ids {
40343		ids_ = append(ids_, fmt.Sprint(v))
40344	}
40345	c.urlParams_.SetMulti("ids", ids_)
40346	return c
40347}
40348
40349// MaxEndDate sets the optional parameter "maxEndDate": Select only
40350// placements or placement groups whose end date is on or before the
40351// specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
40352func (c *PlacementsListCall) MaxEndDate(maxEndDate string) *PlacementsListCall {
40353	c.urlParams_.Set("maxEndDate", maxEndDate)
40354	return c
40355}
40356
40357// MaxResults sets the optional parameter "maxResults": Maximum number
40358// of results to return.
40359func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
40360	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
40361	return c
40362}
40363
40364// MaxStartDate sets the optional parameter "maxStartDate": Select only
40365// placements or placement groups whose start date is on or before the
40366// specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
40367func (c *PlacementsListCall) MaxStartDate(maxStartDate string) *PlacementsListCall {
40368	c.urlParams_.Set("maxStartDate", maxStartDate)
40369	return c
40370}
40371
40372// MinEndDate sets the optional parameter "minEndDate": Select only
40373// placements or placement groups whose end date is on or after the
40374// specified minEndDate. The date should be formatted as "yyyy-MM-dd".
40375func (c *PlacementsListCall) MinEndDate(minEndDate string) *PlacementsListCall {
40376	c.urlParams_.Set("minEndDate", minEndDate)
40377	return c
40378}
40379
40380// MinStartDate sets the optional parameter "minStartDate": Select only
40381// placements or placement groups whose start date is on or after the
40382// specified minStartDate. The date should be formatted as "yyyy-MM-dd".
40383func (c *PlacementsListCall) MinStartDate(minStartDate string) *PlacementsListCall {
40384	c.urlParams_.Set("minStartDate", minStartDate)
40385	return c
40386}
40387
40388// PageToken sets the optional parameter "pageToken": Value of the
40389// nextPageToken from the previous result page.
40390func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
40391	c.urlParams_.Set("pageToken", pageToken)
40392	return c
40393}
40394
40395// PaymentSource sets the optional parameter "paymentSource": Select
40396// only placements with this payment source.
40397//
40398// Possible values:
40399//   "PLACEMENT_AGENCY_PAID"
40400//   "PLACEMENT_PUBLISHER_PAID"
40401func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
40402	c.urlParams_.Set("paymentSource", paymentSource)
40403	return c
40404}
40405
40406// PlacementStrategyIds sets the optional parameter
40407// "placementStrategyIds": Select only placements that are associated
40408// with these placement strategies.
40409func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementsListCall {
40410	var placementStrategyIds_ []string
40411	for _, v := range placementStrategyIds {
40412		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
40413	}
40414	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
40415	return c
40416}
40417
40418// PricingTypes sets the optional parameter "pricingTypes": Select only
40419// placements with these pricing types.
40420//
40421// Possible values:
40422//   "PRICING_TYPE_CPM"
40423//   "PRICING_TYPE_CPC"
40424//   "PRICING_TYPE_CPA"
40425//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
40426//   "PRICING_TYPE_FLAT_RATE_CLICKS"
40427//   "PRICING_TYPE_CPM_ACTIVEVIEW"
40428func (c *PlacementsListCall) PricingTypes(pricingTypes ...string) *PlacementsListCall {
40429	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
40430	return c
40431}
40432
40433// SearchString sets the optional parameter "searchString": Allows
40434// searching for placements by name or ID. Wildcards (*) are allowed.
40435// For example, "placement*2015" will return placements with names like
40436// "placement June 2015", "placement May 2015", or simply "placements
40437// 2015". Most of the searches also add wildcards implicitly at the
40438// start and the end of the search string. For example, a search string
40439// of "placement" will match placements with name "my placement",
40440// "placement 2015", or simply "placement" .
40441func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
40442	c.urlParams_.Set("searchString", searchString)
40443	return c
40444}
40445
40446// SiteIds sets the optional parameter "siteIds": Select only placements
40447// that are associated with these sites.
40448func (c *PlacementsListCall) SiteIds(siteIds ...int64) *PlacementsListCall {
40449	var siteIds_ []string
40450	for _, v := range siteIds {
40451		siteIds_ = append(siteIds_, fmt.Sprint(v))
40452	}
40453	c.urlParams_.SetMulti("siteIds", siteIds_)
40454	return c
40455}
40456
40457// SizeIds sets the optional parameter "sizeIds": Select only placements
40458// that are associated with these sizes.
40459func (c *PlacementsListCall) SizeIds(sizeIds ...int64) *PlacementsListCall {
40460	var sizeIds_ []string
40461	for _, v := range sizeIds {
40462		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
40463	}
40464	c.urlParams_.SetMulti("sizeIds", sizeIds_)
40465	return c
40466}
40467
40468// SortField sets the optional parameter "sortField": Field by which to
40469// sort the list.
40470//
40471// Possible values:
40472//   "ID" (default)
40473//   "NAME"
40474func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
40475	c.urlParams_.Set("sortField", sortField)
40476	return c
40477}
40478
40479// SortOrder sets the optional parameter "sortOrder": Order of sorted
40480// results.
40481//
40482// Possible values:
40483//   "ASCENDING" (default)
40484//   "DESCENDING"
40485func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
40486	c.urlParams_.Set("sortOrder", sortOrder)
40487	return c
40488}
40489
40490// Fields allows partial responses to be retrieved. See
40491// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40492// for more information.
40493func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
40494	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40495	return c
40496}
40497
40498// IfNoneMatch sets the optional parameter which makes the operation
40499// fail if the object's ETag matches the given value. This is useful for
40500// getting updates only after the object has changed since the last
40501// request. Use googleapi.IsNotModified to check whether the response
40502// error from Do is the result of In-None-Match.
40503func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
40504	c.ifNoneMatch_ = entityTag
40505	return c
40506}
40507
40508// Context sets the context to be used in this call's Do method. Any
40509// pending HTTP request will be aborted if the provided context is
40510// canceled.
40511func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
40512	c.ctx_ = ctx
40513	return c
40514}
40515
40516// Header returns an http.Header that can be modified by the caller to
40517// add HTTP headers to the request.
40518func (c *PlacementsListCall) Header() http.Header {
40519	if c.header_ == nil {
40520		c.header_ = make(http.Header)
40521	}
40522	return c.header_
40523}
40524
40525func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
40526	reqHeaders := make(http.Header)
40527	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
40528	for k, v := range c.header_ {
40529		reqHeaders[k] = v
40530	}
40531	reqHeaders.Set("User-Agent", c.s.userAgent())
40532	if c.ifNoneMatch_ != "" {
40533		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40534	}
40535	var body io.Reader = nil
40536	c.urlParams_.Set("alt", alt)
40537	c.urlParams_.Set("prettyPrint", "false")
40538	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40539	urls += "?" + c.urlParams_.Encode()
40540	req, err := http.NewRequest("GET", urls, body)
40541	if err != nil {
40542		return nil, err
40543	}
40544	req.Header = reqHeaders
40545	googleapi.Expand(req.URL, map[string]string{
40546		"profileId": strconv.FormatInt(c.profileId, 10),
40547	})
40548	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40549}
40550
40551// Do executes the "dfareporting.placements.list" call.
40552// Exactly one of *PlacementsListResponse or error will be non-nil. Any
40553// non-2xx status code is an error. Response headers are in either
40554// *PlacementsListResponse.ServerResponse.Header or (if a response was
40555// returned at all) in error.(*googleapi.Error).Header. Use
40556// googleapi.IsNotModified to check whether the returned error was
40557// because http.StatusNotModified was returned.
40558func (c *PlacementsListCall) Do(opts ...googleapi.CallOption) (*PlacementsListResponse, error) {
40559	gensupport.SetOptions(c.urlParams_, opts...)
40560	res, err := c.doRequest("json")
40561	if res != nil && res.StatusCode == http.StatusNotModified {
40562		if res.Body != nil {
40563			res.Body.Close()
40564		}
40565		return nil, &googleapi.Error{
40566			Code:   res.StatusCode,
40567			Header: res.Header,
40568		}
40569	}
40570	if err != nil {
40571		return nil, err
40572	}
40573	defer googleapi.CloseBody(res)
40574	if err := googleapi.CheckResponse(res); err != nil {
40575		return nil, err
40576	}
40577	ret := &PlacementsListResponse{
40578		ServerResponse: googleapi.ServerResponse{
40579			Header:         res.Header,
40580			HTTPStatusCode: res.StatusCode,
40581		},
40582	}
40583	target := &ret
40584	if err := gensupport.DecodeResponse(target, res); err != nil {
40585		return nil, err
40586	}
40587	return ret, nil
40588	// {
40589	//   "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
40590	//   "flatPath": "userprofiles/{profileId}/placements",
40591	//   "httpMethod": "GET",
40592	//   "id": "dfareporting.placements.list",
40593	//   "parameterOrder": [
40594	//     "profileId"
40595	//   ],
40596	//   "parameters": {
40597	//     "advertiserIds": {
40598	//       "description": "Select only placements that belong to these advertisers.",
40599	//       "format": "int64",
40600	//       "location": "query",
40601	//       "repeated": true,
40602	//       "type": "string"
40603	//     },
40604	//     "archived": {
40605	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
40606	//       "location": "query",
40607	//       "type": "boolean"
40608	//     },
40609	//     "campaignIds": {
40610	//       "description": "Select only placements that belong to these campaigns.",
40611	//       "format": "int64",
40612	//       "location": "query",
40613	//       "repeated": true,
40614	//       "type": "string"
40615	//     },
40616	//     "compatibilities": {
40617	//       "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.",
40618	//       "enum": [
40619	//         "DISPLAY",
40620	//         "DISPLAY_INTERSTITIAL",
40621	//         "APP",
40622	//         "APP_INTERSTITIAL",
40623	//         "IN_STREAM_VIDEO",
40624	//         "IN_STREAM_AUDIO"
40625	//       ],
40626	//       "enumDescriptions": [
40627	//         "",
40628	//         "",
40629	//         "",
40630	//         "",
40631	//         "",
40632	//         ""
40633	//       ],
40634	//       "location": "query",
40635	//       "repeated": true,
40636	//       "type": "string"
40637	//     },
40638	//     "contentCategoryIds": {
40639	//       "description": "Select only placements that are associated with these content categories.",
40640	//       "format": "int64",
40641	//       "location": "query",
40642	//       "repeated": true,
40643	//       "type": "string"
40644	//     },
40645	//     "directorySiteIds": {
40646	//       "description": "Select only placements that are associated with these directory sites.",
40647	//       "format": "int64",
40648	//       "location": "query",
40649	//       "repeated": true,
40650	//       "type": "string"
40651	//     },
40652	//     "groupIds": {
40653	//       "description": "Select only placements that belong to these placement groups.",
40654	//       "format": "int64",
40655	//       "location": "query",
40656	//       "repeated": true,
40657	//       "type": "string"
40658	//     },
40659	//     "ids": {
40660	//       "description": "Select only placements with these IDs.",
40661	//       "format": "int64",
40662	//       "location": "query",
40663	//       "repeated": true,
40664	//       "type": "string"
40665	//     },
40666	//     "maxEndDate": {
40667	//       "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\".",
40668	//       "location": "query",
40669	//       "type": "string"
40670	//     },
40671	//     "maxResults": {
40672	//       "default": "1000",
40673	//       "description": "Maximum number of results to return.",
40674	//       "format": "int32",
40675	//       "location": "query",
40676	//       "maximum": "1000",
40677	//       "minimum": "0",
40678	//       "type": "integer"
40679	//     },
40680	//     "maxStartDate": {
40681	//       "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\".",
40682	//       "location": "query",
40683	//       "type": "string"
40684	//     },
40685	//     "minEndDate": {
40686	//       "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\".",
40687	//       "location": "query",
40688	//       "type": "string"
40689	//     },
40690	//     "minStartDate": {
40691	//       "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\".",
40692	//       "location": "query",
40693	//       "type": "string"
40694	//     },
40695	//     "pageToken": {
40696	//       "description": "Value of the nextPageToken from the previous result page.",
40697	//       "location": "query",
40698	//       "type": "string"
40699	//     },
40700	//     "paymentSource": {
40701	//       "description": "Select only placements with this payment source.",
40702	//       "enum": [
40703	//         "PLACEMENT_AGENCY_PAID",
40704	//         "PLACEMENT_PUBLISHER_PAID"
40705	//       ],
40706	//       "enumDescriptions": [
40707	//         "",
40708	//         ""
40709	//       ],
40710	//       "location": "query",
40711	//       "type": "string"
40712	//     },
40713	//     "placementStrategyIds": {
40714	//       "description": "Select only placements that are associated with these placement strategies.",
40715	//       "format": "int64",
40716	//       "location": "query",
40717	//       "repeated": true,
40718	//       "type": "string"
40719	//     },
40720	//     "pricingTypes": {
40721	//       "description": "Select only placements with these pricing types.",
40722	//       "enum": [
40723	//         "PRICING_TYPE_CPM",
40724	//         "PRICING_TYPE_CPC",
40725	//         "PRICING_TYPE_CPA",
40726	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
40727	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
40728	//         "PRICING_TYPE_CPM_ACTIVEVIEW"
40729	//       ],
40730	//       "enumDescriptions": [
40731	//         "",
40732	//         "",
40733	//         "",
40734	//         "",
40735	//         "",
40736	//         ""
40737	//       ],
40738	//       "location": "query",
40739	//       "repeated": true,
40740	//       "type": "string"
40741	//     },
40742	//     "profileId": {
40743	//       "description": "User profile ID associated with this request.",
40744	//       "format": "int64",
40745	//       "location": "path",
40746	//       "required": true,
40747	//       "type": "string"
40748	//     },
40749	//     "searchString": {
40750	//       "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\" .",
40751	//       "location": "query",
40752	//       "type": "string"
40753	//     },
40754	//     "siteIds": {
40755	//       "description": "Select only placements that are associated with these sites.",
40756	//       "format": "int64",
40757	//       "location": "query",
40758	//       "repeated": true,
40759	//       "type": "string"
40760	//     },
40761	//     "sizeIds": {
40762	//       "description": "Select only placements that are associated with these sizes.",
40763	//       "format": "int64",
40764	//       "location": "query",
40765	//       "repeated": true,
40766	//       "type": "string"
40767	//     },
40768	//     "sortField": {
40769	//       "default": "ID",
40770	//       "description": "Field by which to sort the list.",
40771	//       "enum": [
40772	//         "ID",
40773	//         "NAME"
40774	//       ],
40775	//       "enumDescriptions": [
40776	//         "",
40777	//         ""
40778	//       ],
40779	//       "location": "query",
40780	//       "type": "string"
40781	//     },
40782	//     "sortOrder": {
40783	//       "default": "ASCENDING",
40784	//       "description": "Order of sorted results.",
40785	//       "enum": [
40786	//         "ASCENDING",
40787	//         "DESCENDING"
40788	//       ],
40789	//       "enumDescriptions": [
40790	//         "",
40791	//         ""
40792	//       ],
40793	//       "location": "query",
40794	//       "type": "string"
40795	//     }
40796	//   },
40797	//   "path": "userprofiles/{profileId}/placements",
40798	//   "response": {
40799	//     "$ref": "PlacementsListResponse"
40800	//   },
40801	//   "scopes": [
40802	//     "https://www.googleapis.com/auth/dfatrafficking"
40803	//   ]
40804	// }
40805
40806}
40807
40808// Pages invokes f for each page of results.
40809// A non-nil error returned from f will halt the iteration.
40810// The provided context supersedes any context provided to the Context method.
40811func (c *PlacementsListCall) Pages(ctx context.Context, f func(*PlacementsListResponse) error) error {
40812	c.ctx_ = ctx
40813	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
40814	for {
40815		x, err := c.Do()
40816		if err != nil {
40817			return err
40818		}
40819		if err := f(x); err != nil {
40820			return err
40821		}
40822		if x.NextPageToken == "" {
40823			return nil
40824		}
40825		c.PageToken(x.NextPageToken)
40826	}
40827}
40828
40829// method id "dfareporting.placements.patch":
40830
40831type PlacementsPatchCall struct {
40832	s          *Service
40833	profileId  int64
40834	placement  *Placement
40835	urlParams_ gensupport.URLParams
40836	ctx_       context.Context
40837	header_    http.Header
40838}
40839
40840// Patch: Updates an existing placement. This method supports patch
40841// semantics.
40842func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
40843	c := &PlacementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40844	c.profileId = profileId
40845	c.urlParams_.Set("id", fmt.Sprint(id))
40846	c.placement = placement
40847	return c
40848}
40849
40850// Fields allows partial responses to be retrieved. See
40851// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40852// for more information.
40853func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
40854	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40855	return c
40856}
40857
40858// Context sets the context to be used in this call's Do method. Any
40859// pending HTTP request will be aborted if the provided context is
40860// canceled.
40861func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
40862	c.ctx_ = ctx
40863	return c
40864}
40865
40866// Header returns an http.Header that can be modified by the caller to
40867// add HTTP headers to the request.
40868func (c *PlacementsPatchCall) Header() http.Header {
40869	if c.header_ == nil {
40870		c.header_ = make(http.Header)
40871	}
40872	return c.header_
40873}
40874
40875func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
40876	reqHeaders := make(http.Header)
40877	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
40878	for k, v := range c.header_ {
40879		reqHeaders[k] = v
40880	}
40881	reqHeaders.Set("User-Agent", c.s.userAgent())
40882	var body io.Reader = nil
40883	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
40884	if err != nil {
40885		return nil, err
40886	}
40887	reqHeaders.Set("Content-Type", "application/json")
40888	c.urlParams_.Set("alt", alt)
40889	c.urlParams_.Set("prettyPrint", "false")
40890	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40891	urls += "?" + c.urlParams_.Encode()
40892	req, err := http.NewRequest("PATCH", urls, body)
40893	if err != nil {
40894		return nil, err
40895	}
40896	req.Header = reqHeaders
40897	googleapi.Expand(req.URL, map[string]string{
40898		"profileId": strconv.FormatInt(c.profileId, 10),
40899	})
40900	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40901}
40902
40903// Do executes the "dfareporting.placements.patch" call.
40904// Exactly one of *Placement or error will be non-nil. Any non-2xx
40905// status code is an error. Response headers are in either
40906// *Placement.ServerResponse.Header or (if a response was returned at
40907// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40908// to check whether the returned error was because
40909// http.StatusNotModified was returned.
40910func (c *PlacementsPatchCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40911	gensupport.SetOptions(c.urlParams_, opts...)
40912	res, err := c.doRequest("json")
40913	if res != nil && res.StatusCode == http.StatusNotModified {
40914		if res.Body != nil {
40915			res.Body.Close()
40916		}
40917		return nil, &googleapi.Error{
40918			Code:   res.StatusCode,
40919			Header: res.Header,
40920		}
40921	}
40922	if err != nil {
40923		return nil, err
40924	}
40925	defer googleapi.CloseBody(res)
40926	if err := googleapi.CheckResponse(res); err != nil {
40927		return nil, err
40928	}
40929	ret := &Placement{
40930		ServerResponse: googleapi.ServerResponse{
40931			Header:         res.Header,
40932			HTTPStatusCode: res.StatusCode,
40933		},
40934	}
40935	target := &ret
40936	if err := gensupport.DecodeResponse(target, res); err != nil {
40937		return nil, err
40938	}
40939	return ret, nil
40940	// {
40941	//   "description": "Updates an existing placement. This method supports patch semantics.",
40942	//   "flatPath": "userprofiles/{profileId}/placements",
40943	//   "httpMethod": "PATCH",
40944	//   "id": "dfareporting.placements.patch",
40945	//   "parameterOrder": [
40946	//     "profileId",
40947	//     "id"
40948	//   ],
40949	//   "parameters": {
40950	//     "id": {
40951	//       "description": "Placement ID.",
40952	//       "format": "int64",
40953	//       "location": "query",
40954	//       "required": true,
40955	//       "type": "string"
40956	//     },
40957	//     "profileId": {
40958	//       "description": "User profile ID associated with this request.",
40959	//       "format": "int64",
40960	//       "location": "path",
40961	//       "required": true,
40962	//       "type": "string"
40963	//     }
40964	//   },
40965	//   "path": "userprofiles/{profileId}/placements",
40966	//   "request": {
40967	//     "$ref": "Placement"
40968	//   },
40969	//   "response": {
40970	//     "$ref": "Placement"
40971	//   },
40972	//   "scopes": [
40973	//     "https://www.googleapis.com/auth/dfatrafficking"
40974	//   ]
40975	// }
40976
40977}
40978
40979// method id "dfareporting.placements.update":
40980
40981type PlacementsUpdateCall struct {
40982	s          *Service
40983	profileId  int64
40984	placement  *Placement
40985	urlParams_ gensupport.URLParams
40986	ctx_       context.Context
40987	header_    http.Header
40988}
40989
40990// Update: Updates an existing placement.
40991func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
40992	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40993	c.profileId = profileId
40994	c.placement = placement
40995	return c
40996}
40997
40998// Fields allows partial responses to be retrieved. See
40999// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41000// for more information.
41001func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
41002	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41003	return c
41004}
41005
41006// Context sets the context to be used in this call's Do method. Any
41007// pending HTTP request will be aborted if the provided context is
41008// canceled.
41009func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
41010	c.ctx_ = ctx
41011	return c
41012}
41013
41014// Header returns an http.Header that can be modified by the caller to
41015// add HTTP headers to the request.
41016func (c *PlacementsUpdateCall) Header() http.Header {
41017	if c.header_ == nil {
41018		c.header_ = make(http.Header)
41019	}
41020	return c.header_
41021}
41022
41023func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
41024	reqHeaders := make(http.Header)
41025	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
41026	for k, v := range c.header_ {
41027		reqHeaders[k] = v
41028	}
41029	reqHeaders.Set("User-Agent", c.s.userAgent())
41030	var body io.Reader = nil
41031	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
41032	if err != nil {
41033		return nil, err
41034	}
41035	reqHeaders.Set("Content-Type", "application/json")
41036	c.urlParams_.Set("alt", alt)
41037	c.urlParams_.Set("prettyPrint", "false")
41038	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
41039	urls += "?" + c.urlParams_.Encode()
41040	req, err := http.NewRequest("PUT", urls, body)
41041	if err != nil {
41042		return nil, err
41043	}
41044	req.Header = reqHeaders
41045	googleapi.Expand(req.URL, map[string]string{
41046		"profileId": strconv.FormatInt(c.profileId, 10),
41047	})
41048	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41049}
41050
41051// Do executes the "dfareporting.placements.update" call.
41052// Exactly one of *Placement or error will be non-nil. Any non-2xx
41053// status code is an error. Response headers are in either
41054// *Placement.ServerResponse.Header or (if a response was returned at
41055// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41056// to check whether the returned error was because
41057// http.StatusNotModified was returned.
41058func (c *PlacementsUpdateCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
41059	gensupport.SetOptions(c.urlParams_, opts...)
41060	res, err := c.doRequest("json")
41061	if res != nil && res.StatusCode == http.StatusNotModified {
41062		if res.Body != nil {
41063			res.Body.Close()
41064		}
41065		return nil, &googleapi.Error{
41066			Code:   res.StatusCode,
41067			Header: res.Header,
41068		}
41069	}
41070	if err != nil {
41071		return nil, err
41072	}
41073	defer googleapi.CloseBody(res)
41074	if err := googleapi.CheckResponse(res); err != nil {
41075		return nil, err
41076	}
41077	ret := &Placement{
41078		ServerResponse: googleapi.ServerResponse{
41079			Header:         res.Header,
41080			HTTPStatusCode: res.StatusCode,
41081		},
41082	}
41083	target := &ret
41084	if err := gensupport.DecodeResponse(target, res); err != nil {
41085		return nil, err
41086	}
41087	return ret, nil
41088	// {
41089	//   "description": "Updates an existing placement.",
41090	//   "flatPath": "userprofiles/{profileId}/placements",
41091	//   "httpMethod": "PUT",
41092	//   "id": "dfareporting.placements.update",
41093	//   "parameterOrder": [
41094	//     "profileId"
41095	//   ],
41096	//   "parameters": {
41097	//     "profileId": {
41098	//       "description": "User profile ID associated with this request.",
41099	//       "format": "int64",
41100	//       "location": "path",
41101	//       "required": true,
41102	//       "type": "string"
41103	//     }
41104	//   },
41105	//   "path": "userprofiles/{profileId}/placements",
41106	//   "request": {
41107	//     "$ref": "Placement"
41108	//   },
41109	//   "response": {
41110	//     "$ref": "Placement"
41111	//   },
41112	//   "scopes": [
41113	//     "https://www.googleapis.com/auth/dfatrafficking"
41114	//   ]
41115	// }
41116
41117}
41118
41119// method id "dfareporting.platformTypes.get":
41120
41121type PlatformTypesGetCall struct {
41122	s            *Service
41123	profileId    int64
41124	id           int64
41125	urlParams_   gensupport.URLParams
41126	ifNoneMatch_ string
41127	ctx_         context.Context
41128	header_      http.Header
41129}
41130
41131// Get: Gets one platform type by ID.
41132func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
41133	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41134	c.profileId = profileId
41135	c.id = id
41136	return c
41137}
41138
41139// Fields allows partial responses to be retrieved. See
41140// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41141// for more information.
41142func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
41143	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41144	return c
41145}
41146
41147// IfNoneMatch sets the optional parameter which makes the operation
41148// fail if the object's ETag matches the given value. This is useful for
41149// getting updates only after the object has changed since the last
41150// request. Use googleapi.IsNotModified to check whether the response
41151// error from Do is the result of In-None-Match.
41152func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
41153	c.ifNoneMatch_ = entityTag
41154	return c
41155}
41156
41157// Context sets the context to be used in this call's Do method. Any
41158// pending HTTP request will be aborted if the provided context is
41159// canceled.
41160func (c *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
41161	c.ctx_ = ctx
41162	return c
41163}
41164
41165// Header returns an http.Header that can be modified by the caller to
41166// add HTTP headers to the request.
41167func (c *PlatformTypesGetCall) Header() http.Header {
41168	if c.header_ == nil {
41169		c.header_ = make(http.Header)
41170	}
41171	return c.header_
41172}
41173
41174func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
41175	reqHeaders := make(http.Header)
41176	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
41177	for k, v := range c.header_ {
41178		reqHeaders[k] = v
41179	}
41180	reqHeaders.Set("User-Agent", c.s.userAgent())
41181	if c.ifNoneMatch_ != "" {
41182		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41183	}
41184	var body io.Reader = nil
41185	c.urlParams_.Set("alt", alt)
41186	c.urlParams_.Set("prettyPrint", "false")
41187	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
41188	urls += "?" + c.urlParams_.Encode()
41189	req, err := http.NewRequest("GET", urls, body)
41190	if err != nil {
41191		return nil, err
41192	}
41193	req.Header = reqHeaders
41194	googleapi.Expand(req.URL, map[string]string{
41195		"profileId": strconv.FormatInt(c.profileId, 10),
41196		"id":        strconv.FormatInt(c.id, 10),
41197	})
41198	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41199}
41200
41201// Do executes the "dfareporting.platformTypes.get" call.
41202// Exactly one of *PlatformType or error will be non-nil. Any non-2xx
41203// status code is an error. Response headers are in either
41204// *PlatformType.ServerResponse.Header or (if a response was returned at
41205// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41206// to check whether the returned error was because
41207// http.StatusNotModified was returned.
41208func (c *PlatformTypesGetCall) Do(opts ...googleapi.CallOption) (*PlatformType, error) {
41209	gensupport.SetOptions(c.urlParams_, opts...)
41210	res, err := c.doRequest("json")
41211	if res != nil && res.StatusCode == http.StatusNotModified {
41212		if res.Body != nil {
41213			res.Body.Close()
41214		}
41215		return nil, &googleapi.Error{
41216			Code:   res.StatusCode,
41217			Header: res.Header,
41218		}
41219	}
41220	if err != nil {
41221		return nil, err
41222	}
41223	defer googleapi.CloseBody(res)
41224	if err := googleapi.CheckResponse(res); err != nil {
41225		return nil, err
41226	}
41227	ret := &PlatformType{
41228		ServerResponse: googleapi.ServerResponse{
41229			Header:         res.Header,
41230			HTTPStatusCode: res.StatusCode,
41231		},
41232	}
41233	target := &ret
41234	if err := gensupport.DecodeResponse(target, res); err != nil {
41235		return nil, err
41236	}
41237	return ret, nil
41238	// {
41239	//   "description": "Gets one platform type by ID.",
41240	//   "flatPath": "userprofiles/{profileId}/platformTypes/{id}",
41241	//   "httpMethod": "GET",
41242	//   "id": "dfareporting.platformTypes.get",
41243	//   "parameterOrder": [
41244	//     "profileId",
41245	//     "id"
41246	//   ],
41247	//   "parameters": {
41248	//     "id": {
41249	//       "description": "Platform type ID.",
41250	//       "format": "int64",
41251	//       "location": "path",
41252	//       "required": true,
41253	//       "type": "string"
41254	//     },
41255	//     "profileId": {
41256	//       "description": "User profile ID associated with this request.",
41257	//       "format": "int64",
41258	//       "location": "path",
41259	//       "required": true,
41260	//       "type": "string"
41261	//     }
41262	//   },
41263	//   "path": "userprofiles/{profileId}/platformTypes/{id}",
41264	//   "response": {
41265	//     "$ref": "PlatformType"
41266	//   },
41267	//   "scopes": [
41268	//     "https://www.googleapis.com/auth/dfatrafficking"
41269	//   ]
41270	// }
41271
41272}
41273
41274// method id "dfareporting.platformTypes.list":
41275
41276type PlatformTypesListCall struct {
41277	s            *Service
41278	profileId    int64
41279	urlParams_   gensupport.URLParams
41280	ifNoneMatch_ string
41281	ctx_         context.Context
41282	header_      http.Header
41283}
41284
41285// List: Retrieves a list of platform types.
41286func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
41287	c := &PlatformTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41288	c.profileId = profileId
41289	return c
41290}
41291
41292// Fields allows partial responses to be retrieved. See
41293// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41294// for more information.
41295func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
41296	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41297	return c
41298}
41299
41300// IfNoneMatch sets the optional parameter which makes the operation
41301// fail if the object's ETag matches the given value. This is useful for
41302// getting updates only after the object has changed since the last
41303// request. Use googleapi.IsNotModified to check whether the response
41304// error from Do is the result of In-None-Match.
41305func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
41306	c.ifNoneMatch_ = entityTag
41307	return c
41308}
41309
41310// Context sets the context to be used in this call's Do method. Any
41311// pending HTTP request will be aborted if the provided context is
41312// canceled.
41313func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
41314	c.ctx_ = ctx
41315	return c
41316}
41317
41318// Header returns an http.Header that can be modified by the caller to
41319// add HTTP headers to the request.
41320func (c *PlatformTypesListCall) Header() http.Header {
41321	if c.header_ == nil {
41322		c.header_ = make(http.Header)
41323	}
41324	return c.header_
41325}
41326
41327func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
41328	reqHeaders := make(http.Header)
41329	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
41330	for k, v := range c.header_ {
41331		reqHeaders[k] = v
41332	}
41333	reqHeaders.Set("User-Agent", c.s.userAgent())
41334	if c.ifNoneMatch_ != "" {
41335		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41336	}
41337	var body io.Reader = nil
41338	c.urlParams_.Set("alt", alt)
41339	c.urlParams_.Set("prettyPrint", "false")
41340	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
41341	urls += "?" + c.urlParams_.Encode()
41342	req, err := http.NewRequest("GET", urls, body)
41343	if err != nil {
41344		return nil, err
41345	}
41346	req.Header = reqHeaders
41347	googleapi.Expand(req.URL, map[string]string{
41348		"profileId": strconv.FormatInt(c.profileId, 10),
41349	})
41350	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41351}
41352
41353// Do executes the "dfareporting.platformTypes.list" call.
41354// Exactly one of *PlatformTypesListResponse or error will be non-nil.
41355// Any non-2xx status code is an error. Response headers are in either
41356// *PlatformTypesListResponse.ServerResponse.Header or (if a response
41357// was returned at all) in error.(*googleapi.Error).Header. Use
41358// googleapi.IsNotModified to check whether the returned error was
41359// because http.StatusNotModified was returned.
41360func (c *PlatformTypesListCall) Do(opts ...googleapi.CallOption) (*PlatformTypesListResponse, error) {
41361	gensupport.SetOptions(c.urlParams_, opts...)
41362	res, err := c.doRequest("json")
41363	if res != nil && res.StatusCode == http.StatusNotModified {
41364		if res.Body != nil {
41365			res.Body.Close()
41366		}
41367		return nil, &googleapi.Error{
41368			Code:   res.StatusCode,
41369			Header: res.Header,
41370		}
41371	}
41372	if err != nil {
41373		return nil, err
41374	}
41375	defer googleapi.CloseBody(res)
41376	if err := googleapi.CheckResponse(res); err != nil {
41377		return nil, err
41378	}
41379	ret := &PlatformTypesListResponse{
41380		ServerResponse: googleapi.ServerResponse{
41381			Header:         res.Header,
41382			HTTPStatusCode: res.StatusCode,
41383		},
41384	}
41385	target := &ret
41386	if err := gensupport.DecodeResponse(target, res); err != nil {
41387		return nil, err
41388	}
41389	return ret, nil
41390	// {
41391	//   "description": "Retrieves a list of platform types.",
41392	//   "flatPath": "userprofiles/{profileId}/platformTypes",
41393	//   "httpMethod": "GET",
41394	//   "id": "dfareporting.platformTypes.list",
41395	//   "parameterOrder": [
41396	//     "profileId"
41397	//   ],
41398	//   "parameters": {
41399	//     "profileId": {
41400	//       "description": "User profile ID associated with this request.",
41401	//       "format": "int64",
41402	//       "location": "path",
41403	//       "required": true,
41404	//       "type": "string"
41405	//     }
41406	//   },
41407	//   "path": "userprofiles/{profileId}/platformTypes",
41408	//   "response": {
41409	//     "$ref": "PlatformTypesListResponse"
41410	//   },
41411	//   "scopes": [
41412	//     "https://www.googleapis.com/auth/dfatrafficking"
41413	//   ]
41414	// }
41415
41416}
41417
41418// method id "dfareporting.postalCodes.get":
41419
41420type PostalCodesGetCall struct {
41421	s            *Service
41422	profileId    int64
41423	code         string
41424	urlParams_   gensupport.URLParams
41425	ifNoneMatch_ string
41426	ctx_         context.Context
41427	header_      http.Header
41428}
41429
41430// Get: Gets one postal code by ID.
41431func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
41432	c := &PostalCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41433	c.profileId = profileId
41434	c.code = code
41435	return c
41436}
41437
41438// Fields allows partial responses to be retrieved. See
41439// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41440// for more information.
41441func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
41442	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41443	return c
41444}
41445
41446// IfNoneMatch sets the optional parameter which makes the operation
41447// fail if the object's ETag matches the given value. This is useful for
41448// getting updates only after the object has changed since the last
41449// request. Use googleapi.IsNotModified to check whether the response
41450// error from Do is the result of In-None-Match.
41451func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
41452	c.ifNoneMatch_ = entityTag
41453	return c
41454}
41455
41456// Context sets the context to be used in this call's Do method. Any
41457// pending HTTP request will be aborted if the provided context is
41458// canceled.
41459func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
41460	c.ctx_ = ctx
41461	return c
41462}
41463
41464// Header returns an http.Header that can be modified by the caller to
41465// add HTTP headers to the request.
41466func (c *PostalCodesGetCall) Header() http.Header {
41467	if c.header_ == nil {
41468		c.header_ = make(http.Header)
41469	}
41470	return c.header_
41471}
41472
41473func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
41474	reqHeaders := make(http.Header)
41475	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
41476	for k, v := range c.header_ {
41477		reqHeaders[k] = v
41478	}
41479	reqHeaders.Set("User-Agent", c.s.userAgent())
41480	if c.ifNoneMatch_ != "" {
41481		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41482	}
41483	var body io.Reader = nil
41484	c.urlParams_.Set("alt", alt)
41485	c.urlParams_.Set("prettyPrint", "false")
41486	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
41487	urls += "?" + c.urlParams_.Encode()
41488	req, err := http.NewRequest("GET", urls, body)
41489	if err != nil {
41490		return nil, err
41491	}
41492	req.Header = reqHeaders
41493	googleapi.Expand(req.URL, map[string]string{
41494		"profileId": strconv.FormatInt(c.profileId, 10),
41495		"code":      c.code,
41496	})
41497	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41498}
41499
41500// Do executes the "dfareporting.postalCodes.get" call.
41501// Exactly one of *PostalCode or error will be non-nil. Any non-2xx
41502// status code is an error. Response headers are in either
41503// *PostalCode.ServerResponse.Header or (if a response was returned at
41504// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41505// to check whether the returned error was because
41506// http.StatusNotModified was returned.
41507func (c *PostalCodesGetCall) Do(opts ...googleapi.CallOption) (*PostalCode, error) {
41508	gensupport.SetOptions(c.urlParams_, opts...)
41509	res, err := c.doRequest("json")
41510	if res != nil && res.StatusCode == http.StatusNotModified {
41511		if res.Body != nil {
41512			res.Body.Close()
41513		}
41514		return nil, &googleapi.Error{
41515			Code:   res.StatusCode,
41516			Header: res.Header,
41517		}
41518	}
41519	if err != nil {
41520		return nil, err
41521	}
41522	defer googleapi.CloseBody(res)
41523	if err := googleapi.CheckResponse(res); err != nil {
41524		return nil, err
41525	}
41526	ret := &PostalCode{
41527		ServerResponse: googleapi.ServerResponse{
41528			Header:         res.Header,
41529			HTTPStatusCode: res.StatusCode,
41530		},
41531	}
41532	target := &ret
41533	if err := gensupport.DecodeResponse(target, res); err != nil {
41534		return nil, err
41535	}
41536	return ret, nil
41537	// {
41538	//   "description": "Gets one postal code by ID.",
41539	//   "flatPath": "userprofiles/{profileId}/postalCodes/{code}",
41540	//   "httpMethod": "GET",
41541	//   "id": "dfareporting.postalCodes.get",
41542	//   "parameterOrder": [
41543	//     "profileId",
41544	//     "code"
41545	//   ],
41546	//   "parameters": {
41547	//     "code": {
41548	//       "description": "Postal code ID.",
41549	//       "location": "path",
41550	//       "required": true,
41551	//       "type": "string"
41552	//     },
41553	//     "profileId": {
41554	//       "description": "User profile ID associated with this request.",
41555	//       "format": "int64",
41556	//       "location": "path",
41557	//       "required": true,
41558	//       "type": "string"
41559	//     }
41560	//   },
41561	//   "path": "userprofiles/{profileId}/postalCodes/{code}",
41562	//   "response": {
41563	//     "$ref": "PostalCode"
41564	//   },
41565	//   "scopes": [
41566	//     "https://www.googleapis.com/auth/dfatrafficking"
41567	//   ]
41568	// }
41569
41570}
41571
41572// method id "dfareporting.postalCodes.list":
41573
41574type PostalCodesListCall struct {
41575	s            *Service
41576	profileId    int64
41577	urlParams_   gensupport.URLParams
41578	ifNoneMatch_ string
41579	ctx_         context.Context
41580	header_      http.Header
41581}
41582
41583// List: Retrieves a list of postal codes.
41584func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
41585	c := &PostalCodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41586	c.profileId = profileId
41587	return c
41588}
41589
41590// Fields allows partial responses to be retrieved. See
41591// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41592// for more information.
41593func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
41594	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41595	return c
41596}
41597
41598// IfNoneMatch sets the optional parameter which makes the operation
41599// fail if the object's ETag matches the given value. This is useful for
41600// getting updates only after the object has changed since the last
41601// request. Use googleapi.IsNotModified to check whether the response
41602// error from Do is the result of In-None-Match.
41603func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
41604	c.ifNoneMatch_ = entityTag
41605	return c
41606}
41607
41608// Context sets the context to be used in this call's Do method. Any
41609// pending HTTP request will be aborted if the provided context is
41610// canceled.
41611func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
41612	c.ctx_ = ctx
41613	return c
41614}
41615
41616// Header returns an http.Header that can be modified by the caller to
41617// add HTTP headers to the request.
41618func (c *PostalCodesListCall) Header() http.Header {
41619	if c.header_ == nil {
41620		c.header_ = make(http.Header)
41621	}
41622	return c.header_
41623}
41624
41625func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
41626	reqHeaders := make(http.Header)
41627	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
41628	for k, v := range c.header_ {
41629		reqHeaders[k] = v
41630	}
41631	reqHeaders.Set("User-Agent", c.s.userAgent())
41632	if c.ifNoneMatch_ != "" {
41633		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41634	}
41635	var body io.Reader = nil
41636	c.urlParams_.Set("alt", alt)
41637	c.urlParams_.Set("prettyPrint", "false")
41638	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
41639	urls += "?" + c.urlParams_.Encode()
41640	req, err := http.NewRequest("GET", urls, body)
41641	if err != nil {
41642		return nil, err
41643	}
41644	req.Header = reqHeaders
41645	googleapi.Expand(req.URL, map[string]string{
41646		"profileId": strconv.FormatInt(c.profileId, 10),
41647	})
41648	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41649}
41650
41651// Do executes the "dfareporting.postalCodes.list" call.
41652// Exactly one of *PostalCodesListResponse or error will be non-nil. Any
41653// non-2xx status code is an error. Response headers are in either
41654// *PostalCodesListResponse.ServerResponse.Header or (if a response was
41655// returned at all) in error.(*googleapi.Error).Header. Use
41656// googleapi.IsNotModified to check whether the returned error was
41657// because http.StatusNotModified was returned.
41658func (c *PostalCodesListCall) Do(opts ...googleapi.CallOption) (*PostalCodesListResponse, error) {
41659	gensupport.SetOptions(c.urlParams_, opts...)
41660	res, err := c.doRequest("json")
41661	if res != nil && res.StatusCode == http.StatusNotModified {
41662		if res.Body != nil {
41663			res.Body.Close()
41664		}
41665		return nil, &googleapi.Error{
41666			Code:   res.StatusCode,
41667			Header: res.Header,
41668		}
41669	}
41670	if err != nil {
41671		return nil, err
41672	}
41673	defer googleapi.CloseBody(res)
41674	if err := googleapi.CheckResponse(res); err != nil {
41675		return nil, err
41676	}
41677	ret := &PostalCodesListResponse{
41678		ServerResponse: googleapi.ServerResponse{
41679			Header:         res.Header,
41680			HTTPStatusCode: res.StatusCode,
41681		},
41682	}
41683	target := &ret
41684	if err := gensupport.DecodeResponse(target, res); err != nil {
41685		return nil, err
41686	}
41687	return ret, nil
41688	// {
41689	//   "description": "Retrieves a list of postal codes.",
41690	//   "flatPath": "userprofiles/{profileId}/postalCodes",
41691	//   "httpMethod": "GET",
41692	//   "id": "dfareporting.postalCodes.list",
41693	//   "parameterOrder": [
41694	//     "profileId"
41695	//   ],
41696	//   "parameters": {
41697	//     "profileId": {
41698	//       "description": "User profile ID associated with this request.",
41699	//       "format": "int64",
41700	//       "location": "path",
41701	//       "required": true,
41702	//       "type": "string"
41703	//     }
41704	//   },
41705	//   "path": "userprofiles/{profileId}/postalCodes",
41706	//   "response": {
41707	//     "$ref": "PostalCodesListResponse"
41708	//   },
41709	//   "scopes": [
41710	//     "https://www.googleapis.com/auth/dfatrafficking"
41711	//   ]
41712	// }
41713
41714}
41715
41716// method id "dfareporting.projects.get":
41717
41718type ProjectsGetCall struct {
41719	s            *Service
41720	profileId    int64
41721	id           int64
41722	urlParams_   gensupport.URLParams
41723	ifNoneMatch_ string
41724	ctx_         context.Context
41725	header_      http.Header
41726}
41727
41728// Get: Gets one project by ID.
41729func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
41730	c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41731	c.profileId = profileId
41732	c.id = id
41733	return c
41734}
41735
41736// Fields allows partial responses to be retrieved. See
41737// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41738// for more information.
41739func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
41740	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41741	return c
41742}
41743
41744// IfNoneMatch sets the optional parameter which makes the operation
41745// fail if the object's ETag matches the given value. This is useful for
41746// getting updates only after the object has changed since the last
41747// request. Use googleapi.IsNotModified to check whether the response
41748// error from Do is the result of In-None-Match.
41749func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
41750	c.ifNoneMatch_ = entityTag
41751	return c
41752}
41753
41754// Context sets the context to be used in this call's Do method. Any
41755// pending HTTP request will be aborted if the provided context is
41756// canceled.
41757func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
41758	c.ctx_ = ctx
41759	return c
41760}
41761
41762// Header returns an http.Header that can be modified by the caller to
41763// add HTTP headers to the request.
41764func (c *ProjectsGetCall) Header() http.Header {
41765	if c.header_ == nil {
41766		c.header_ = make(http.Header)
41767	}
41768	return c.header_
41769}
41770
41771func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
41772	reqHeaders := make(http.Header)
41773	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
41774	for k, v := range c.header_ {
41775		reqHeaders[k] = v
41776	}
41777	reqHeaders.Set("User-Agent", c.s.userAgent())
41778	if c.ifNoneMatch_ != "" {
41779		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41780	}
41781	var body io.Reader = nil
41782	c.urlParams_.Set("alt", alt)
41783	c.urlParams_.Set("prettyPrint", "false")
41784	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
41785	urls += "?" + c.urlParams_.Encode()
41786	req, err := http.NewRequest("GET", urls, body)
41787	if err != nil {
41788		return nil, err
41789	}
41790	req.Header = reqHeaders
41791	googleapi.Expand(req.URL, map[string]string{
41792		"profileId": strconv.FormatInt(c.profileId, 10),
41793		"id":        strconv.FormatInt(c.id, 10),
41794	})
41795	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41796}
41797
41798// Do executes the "dfareporting.projects.get" call.
41799// Exactly one of *Project or error will be non-nil. Any non-2xx status
41800// code is an error. Response headers are in either
41801// *Project.ServerResponse.Header or (if a response was returned at all)
41802// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
41803// check whether the returned error was because http.StatusNotModified
41804// was returned.
41805func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
41806	gensupport.SetOptions(c.urlParams_, opts...)
41807	res, err := c.doRequest("json")
41808	if res != nil && res.StatusCode == http.StatusNotModified {
41809		if res.Body != nil {
41810			res.Body.Close()
41811		}
41812		return nil, &googleapi.Error{
41813			Code:   res.StatusCode,
41814			Header: res.Header,
41815		}
41816	}
41817	if err != nil {
41818		return nil, err
41819	}
41820	defer googleapi.CloseBody(res)
41821	if err := googleapi.CheckResponse(res); err != nil {
41822		return nil, err
41823	}
41824	ret := &Project{
41825		ServerResponse: googleapi.ServerResponse{
41826			Header:         res.Header,
41827			HTTPStatusCode: res.StatusCode,
41828		},
41829	}
41830	target := &ret
41831	if err := gensupport.DecodeResponse(target, res); err != nil {
41832		return nil, err
41833	}
41834	return ret, nil
41835	// {
41836	//   "description": "Gets one project by ID.",
41837	//   "flatPath": "userprofiles/{profileId}/projects/{id}",
41838	//   "httpMethod": "GET",
41839	//   "id": "dfareporting.projects.get",
41840	//   "parameterOrder": [
41841	//     "profileId",
41842	//     "id"
41843	//   ],
41844	//   "parameters": {
41845	//     "id": {
41846	//       "description": "Project ID.",
41847	//       "format": "int64",
41848	//       "location": "path",
41849	//       "required": true,
41850	//       "type": "string"
41851	//     },
41852	//     "profileId": {
41853	//       "description": "User profile ID associated with this request.",
41854	//       "format": "int64",
41855	//       "location": "path",
41856	//       "required": true,
41857	//       "type": "string"
41858	//     }
41859	//   },
41860	//   "path": "userprofiles/{profileId}/projects/{id}",
41861	//   "response": {
41862	//     "$ref": "Project"
41863	//   },
41864	//   "scopes": [
41865	//     "https://www.googleapis.com/auth/dfatrafficking"
41866	//   ]
41867	// }
41868
41869}
41870
41871// method id "dfareporting.projects.list":
41872
41873type ProjectsListCall struct {
41874	s            *Service
41875	profileId    int64
41876	urlParams_   gensupport.URLParams
41877	ifNoneMatch_ string
41878	ctx_         context.Context
41879	header_      http.Header
41880}
41881
41882// List: Retrieves a list of projects, possibly filtered. This method
41883// supports paging .
41884func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
41885	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41886	c.profileId = profileId
41887	return c
41888}
41889
41890// AdvertiserIds sets the optional parameter "advertiserIds": Select
41891// only projects with these advertiser IDs.
41892func (c *ProjectsListCall) AdvertiserIds(advertiserIds ...int64) *ProjectsListCall {
41893	var advertiserIds_ []string
41894	for _, v := range advertiserIds {
41895		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
41896	}
41897	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
41898	return c
41899}
41900
41901// Ids sets the optional parameter "ids": Select only projects with
41902// these IDs.
41903func (c *ProjectsListCall) Ids(ids ...int64) *ProjectsListCall {
41904	var ids_ []string
41905	for _, v := range ids {
41906		ids_ = append(ids_, fmt.Sprint(v))
41907	}
41908	c.urlParams_.SetMulti("ids", ids_)
41909	return c
41910}
41911
41912// MaxResults sets the optional parameter "maxResults": Maximum number
41913// of results to return.
41914func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
41915	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
41916	return c
41917}
41918
41919// PageToken sets the optional parameter "pageToken": Value of the
41920// nextPageToken from the previous result page.
41921func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
41922	c.urlParams_.Set("pageToken", pageToken)
41923	return c
41924}
41925
41926// SearchString sets the optional parameter "searchString": Allows
41927// searching for projects by name or ID. Wildcards (*) are allowed. For
41928// example, "project*2015" will return projects with names like "project
41929// June 2015", "project April 2015", or simply "project 2015". Most of
41930// the searches also add wildcards implicitly at the start and the end
41931// of the search string. For example, a search string of "project" will
41932// match projects with name "my project", "project 2015", or simply
41933// "project".
41934func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
41935	c.urlParams_.Set("searchString", searchString)
41936	return c
41937}
41938
41939// SortField sets the optional parameter "sortField": Field by which to
41940// sort the list.
41941//
41942// Possible values:
41943//   "ID" (default)
41944//   "NAME"
41945func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
41946	c.urlParams_.Set("sortField", sortField)
41947	return c
41948}
41949
41950// SortOrder sets the optional parameter "sortOrder": Order of sorted
41951// results.
41952//
41953// Possible values:
41954//   "ASCENDING" (default)
41955//   "DESCENDING"
41956func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
41957	c.urlParams_.Set("sortOrder", sortOrder)
41958	return c
41959}
41960
41961// Fields allows partial responses to be retrieved. See
41962// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41963// for more information.
41964func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
41965	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41966	return c
41967}
41968
41969// IfNoneMatch sets the optional parameter which makes the operation
41970// fail if the object's ETag matches the given value. This is useful for
41971// getting updates only after the object has changed since the last
41972// request. Use googleapi.IsNotModified to check whether the response
41973// error from Do is the result of In-None-Match.
41974func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
41975	c.ifNoneMatch_ = entityTag
41976	return c
41977}
41978
41979// Context sets the context to be used in this call's Do method. Any
41980// pending HTTP request will be aborted if the provided context is
41981// canceled.
41982func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
41983	c.ctx_ = ctx
41984	return c
41985}
41986
41987// Header returns an http.Header that can be modified by the caller to
41988// add HTTP headers to the request.
41989func (c *ProjectsListCall) Header() http.Header {
41990	if c.header_ == nil {
41991		c.header_ = make(http.Header)
41992	}
41993	return c.header_
41994}
41995
41996func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
41997	reqHeaders := make(http.Header)
41998	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
41999	for k, v := range c.header_ {
42000		reqHeaders[k] = v
42001	}
42002	reqHeaders.Set("User-Agent", c.s.userAgent())
42003	if c.ifNoneMatch_ != "" {
42004		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42005	}
42006	var body io.Reader = nil
42007	c.urlParams_.Set("alt", alt)
42008	c.urlParams_.Set("prettyPrint", "false")
42009	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
42010	urls += "?" + c.urlParams_.Encode()
42011	req, err := http.NewRequest("GET", urls, body)
42012	if err != nil {
42013		return nil, err
42014	}
42015	req.Header = reqHeaders
42016	googleapi.Expand(req.URL, map[string]string{
42017		"profileId": strconv.FormatInt(c.profileId, 10),
42018	})
42019	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42020}
42021
42022// Do executes the "dfareporting.projects.list" call.
42023// Exactly one of *ProjectsListResponse or error will be non-nil. Any
42024// non-2xx status code is an error. Response headers are in either
42025// *ProjectsListResponse.ServerResponse.Header or (if a response was
42026// returned at all) in error.(*googleapi.Error).Header. Use
42027// googleapi.IsNotModified to check whether the returned error was
42028// because http.StatusNotModified was returned.
42029func (c *ProjectsListCall) Do(opts ...googleapi.CallOption) (*ProjectsListResponse, error) {
42030	gensupport.SetOptions(c.urlParams_, opts...)
42031	res, err := c.doRequest("json")
42032	if res != nil && res.StatusCode == http.StatusNotModified {
42033		if res.Body != nil {
42034			res.Body.Close()
42035		}
42036		return nil, &googleapi.Error{
42037			Code:   res.StatusCode,
42038			Header: res.Header,
42039		}
42040	}
42041	if err != nil {
42042		return nil, err
42043	}
42044	defer googleapi.CloseBody(res)
42045	if err := googleapi.CheckResponse(res); err != nil {
42046		return nil, err
42047	}
42048	ret := &ProjectsListResponse{
42049		ServerResponse: googleapi.ServerResponse{
42050			Header:         res.Header,
42051			HTTPStatusCode: res.StatusCode,
42052		},
42053	}
42054	target := &ret
42055	if err := gensupport.DecodeResponse(target, res); err != nil {
42056		return nil, err
42057	}
42058	return ret, nil
42059	// {
42060	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging .",
42061	//   "flatPath": "userprofiles/{profileId}/projects",
42062	//   "httpMethod": "GET",
42063	//   "id": "dfareporting.projects.list",
42064	//   "parameterOrder": [
42065	//     "profileId"
42066	//   ],
42067	//   "parameters": {
42068	//     "advertiserIds": {
42069	//       "description": "Select only projects with these advertiser IDs.",
42070	//       "format": "int64",
42071	//       "location": "query",
42072	//       "repeated": true,
42073	//       "type": "string"
42074	//     },
42075	//     "ids": {
42076	//       "description": "Select only projects with these IDs.",
42077	//       "format": "int64",
42078	//       "location": "query",
42079	//       "repeated": true,
42080	//       "type": "string"
42081	//     },
42082	//     "maxResults": {
42083	//       "default": "1000",
42084	//       "description": "Maximum number of results to return.",
42085	//       "format": "int32",
42086	//       "location": "query",
42087	//       "maximum": "1000",
42088	//       "minimum": "0",
42089	//       "type": "integer"
42090	//     },
42091	//     "pageToken": {
42092	//       "description": "Value of the nextPageToken from the previous result page.",
42093	//       "location": "query",
42094	//       "type": "string"
42095	//     },
42096	//     "profileId": {
42097	//       "description": "User profile ID associated with this request.",
42098	//       "format": "int64",
42099	//       "location": "path",
42100	//       "required": true,
42101	//       "type": "string"
42102	//     },
42103	//     "searchString": {
42104	//       "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\".",
42105	//       "location": "query",
42106	//       "type": "string"
42107	//     },
42108	//     "sortField": {
42109	//       "default": "ID",
42110	//       "description": "Field by which to sort the list.",
42111	//       "enum": [
42112	//         "ID",
42113	//         "NAME"
42114	//       ],
42115	//       "enumDescriptions": [
42116	//         "",
42117	//         ""
42118	//       ],
42119	//       "location": "query",
42120	//       "type": "string"
42121	//     },
42122	//     "sortOrder": {
42123	//       "default": "ASCENDING",
42124	//       "description": "Order of sorted results.",
42125	//       "enum": [
42126	//         "ASCENDING",
42127	//         "DESCENDING"
42128	//       ],
42129	//       "enumDescriptions": [
42130	//         "",
42131	//         ""
42132	//       ],
42133	//       "location": "query",
42134	//       "type": "string"
42135	//     }
42136	//   },
42137	//   "path": "userprofiles/{profileId}/projects",
42138	//   "response": {
42139	//     "$ref": "ProjectsListResponse"
42140	//   },
42141	//   "scopes": [
42142	//     "https://www.googleapis.com/auth/dfatrafficking"
42143	//   ]
42144	// }
42145
42146}
42147
42148// Pages invokes f for each page of results.
42149// A non-nil error returned from f will halt the iteration.
42150// The provided context supersedes any context provided to the Context method.
42151func (c *ProjectsListCall) Pages(ctx context.Context, f func(*ProjectsListResponse) error) error {
42152	c.ctx_ = ctx
42153	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
42154	for {
42155		x, err := c.Do()
42156		if err != nil {
42157			return err
42158		}
42159		if err := f(x); err != nil {
42160			return err
42161		}
42162		if x.NextPageToken == "" {
42163			return nil
42164		}
42165		c.PageToken(x.NextPageToken)
42166	}
42167}
42168
42169// method id "dfareporting.regions.list":
42170
42171type RegionsListCall struct {
42172	s            *Service
42173	profileId    int64
42174	urlParams_   gensupport.URLParams
42175	ifNoneMatch_ string
42176	ctx_         context.Context
42177	header_      http.Header
42178}
42179
42180// List: Retrieves a list of regions.
42181func (r *RegionsService) List(profileId int64) *RegionsListCall {
42182	c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42183	c.profileId = profileId
42184	return c
42185}
42186
42187// Fields allows partial responses to be retrieved. See
42188// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42189// for more information.
42190func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
42191	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42192	return c
42193}
42194
42195// IfNoneMatch sets the optional parameter which makes the operation
42196// fail if the object's ETag matches the given value. This is useful for
42197// getting updates only after the object has changed since the last
42198// request. Use googleapi.IsNotModified to check whether the response
42199// error from Do is the result of In-None-Match.
42200func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
42201	c.ifNoneMatch_ = entityTag
42202	return c
42203}
42204
42205// Context sets the context to be used in this call's Do method. Any
42206// pending HTTP request will be aborted if the provided context is
42207// canceled.
42208func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
42209	c.ctx_ = ctx
42210	return c
42211}
42212
42213// Header returns an http.Header that can be modified by the caller to
42214// add HTTP headers to the request.
42215func (c *RegionsListCall) Header() http.Header {
42216	if c.header_ == nil {
42217		c.header_ = make(http.Header)
42218	}
42219	return c.header_
42220}
42221
42222func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
42223	reqHeaders := make(http.Header)
42224	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
42225	for k, v := range c.header_ {
42226		reqHeaders[k] = v
42227	}
42228	reqHeaders.Set("User-Agent", c.s.userAgent())
42229	if c.ifNoneMatch_ != "" {
42230		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42231	}
42232	var body io.Reader = nil
42233	c.urlParams_.Set("alt", alt)
42234	c.urlParams_.Set("prettyPrint", "false")
42235	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
42236	urls += "?" + c.urlParams_.Encode()
42237	req, err := http.NewRequest("GET", urls, body)
42238	if err != nil {
42239		return nil, err
42240	}
42241	req.Header = reqHeaders
42242	googleapi.Expand(req.URL, map[string]string{
42243		"profileId": strconv.FormatInt(c.profileId, 10),
42244	})
42245	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42246}
42247
42248// Do executes the "dfareporting.regions.list" call.
42249// Exactly one of *RegionsListResponse or error will be non-nil. Any
42250// non-2xx status code is an error. Response headers are in either
42251// *RegionsListResponse.ServerResponse.Header or (if a response was
42252// returned at all) in error.(*googleapi.Error).Header. Use
42253// googleapi.IsNotModified to check whether the returned error was
42254// because http.StatusNotModified was returned.
42255func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionsListResponse, error) {
42256	gensupport.SetOptions(c.urlParams_, opts...)
42257	res, err := c.doRequest("json")
42258	if res != nil && res.StatusCode == http.StatusNotModified {
42259		if res.Body != nil {
42260			res.Body.Close()
42261		}
42262		return nil, &googleapi.Error{
42263			Code:   res.StatusCode,
42264			Header: res.Header,
42265		}
42266	}
42267	if err != nil {
42268		return nil, err
42269	}
42270	defer googleapi.CloseBody(res)
42271	if err := googleapi.CheckResponse(res); err != nil {
42272		return nil, err
42273	}
42274	ret := &RegionsListResponse{
42275		ServerResponse: googleapi.ServerResponse{
42276			Header:         res.Header,
42277			HTTPStatusCode: res.StatusCode,
42278		},
42279	}
42280	target := &ret
42281	if err := gensupport.DecodeResponse(target, res); err != nil {
42282		return nil, err
42283	}
42284	return ret, nil
42285	// {
42286	//   "description": "Retrieves a list of regions.",
42287	//   "flatPath": "userprofiles/{profileId}/regions",
42288	//   "httpMethod": "GET",
42289	//   "id": "dfareporting.regions.list",
42290	//   "parameterOrder": [
42291	//     "profileId"
42292	//   ],
42293	//   "parameters": {
42294	//     "profileId": {
42295	//       "description": "User profile ID associated with this request.",
42296	//       "format": "int64",
42297	//       "location": "path",
42298	//       "required": true,
42299	//       "type": "string"
42300	//     }
42301	//   },
42302	//   "path": "userprofiles/{profileId}/regions",
42303	//   "response": {
42304	//     "$ref": "RegionsListResponse"
42305	//   },
42306	//   "scopes": [
42307	//     "https://www.googleapis.com/auth/dfatrafficking"
42308	//   ]
42309	// }
42310
42311}
42312
42313// method id "dfareporting.remarketingListShares.get":
42314
42315type RemarketingListSharesGetCall struct {
42316	s                 *Service
42317	profileId         int64
42318	remarketingListId int64
42319	urlParams_        gensupport.URLParams
42320	ifNoneMatch_      string
42321	ctx_              context.Context
42322	header_           http.Header
42323}
42324
42325// Get: Gets one remarketing list share by remarketing list ID.
42326func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
42327	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42328	c.profileId = profileId
42329	c.remarketingListId = remarketingListId
42330	return c
42331}
42332
42333// Fields allows partial responses to be retrieved. See
42334// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42335// for more information.
42336func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
42337	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42338	return c
42339}
42340
42341// IfNoneMatch sets the optional parameter which makes the operation
42342// fail if the object's ETag matches the given value. This is useful for
42343// getting updates only after the object has changed since the last
42344// request. Use googleapi.IsNotModified to check whether the response
42345// error from Do is the result of In-None-Match.
42346func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
42347	c.ifNoneMatch_ = entityTag
42348	return c
42349}
42350
42351// Context sets the context to be used in this call's Do method. Any
42352// pending HTTP request will be aborted if the provided context is
42353// canceled.
42354func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
42355	c.ctx_ = ctx
42356	return c
42357}
42358
42359// Header returns an http.Header that can be modified by the caller to
42360// add HTTP headers to the request.
42361func (c *RemarketingListSharesGetCall) Header() http.Header {
42362	if c.header_ == nil {
42363		c.header_ = make(http.Header)
42364	}
42365	return c.header_
42366}
42367
42368func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
42369	reqHeaders := make(http.Header)
42370	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
42371	for k, v := range c.header_ {
42372		reqHeaders[k] = v
42373	}
42374	reqHeaders.Set("User-Agent", c.s.userAgent())
42375	if c.ifNoneMatch_ != "" {
42376		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42377	}
42378	var body io.Reader = nil
42379	c.urlParams_.Set("alt", alt)
42380	c.urlParams_.Set("prettyPrint", "false")
42381	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
42382	urls += "?" + c.urlParams_.Encode()
42383	req, err := http.NewRequest("GET", urls, body)
42384	if err != nil {
42385		return nil, err
42386	}
42387	req.Header = reqHeaders
42388	googleapi.Expand(req.URL, map[string]string{
42389		"profileId":         strconv.FormatInt(c.profileId, 10),
42390		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
42391	})
42392	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42393}
42394
42395// Do executes the "dfareporting.remarketingListShares.get" call.
42396// Exactly one of *RemarketingListShare or error will be non-nil. Any
42397// non-2xx status code is an error. Response headers are in either
42398// *RemarketingListShare.ServerResponse.Header or (if a response was
42399// returned at all) in error.(*googleapi.Error).Header. Use
42400// googleapi.IsNotModified to check whether the returned error was
42401// because http.StatusNotModified was returned.
42402func (c *RemarketingListSharesGetCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
42403	gensupport.SetOptions(c.urlParams_, opts...)
42404	res, err := c.doRequest("json")
42405	if res != nil && res.StatusCode == http.StatusNotModified {
42406		if res.Body != nil {
42407			res.Body.Close()
42408		}
42409		return nil, &googleapi.Error{
42410			Code:   res.StatusCode,
42411			Header: res.Header,
42412		}
42413	}
42414	if err != nil {
42415		return nil, err
42416	}
42417	defer googleapi.CloseBody(res)
42418	if err := googleapi.CheckResponse(res); err != nil {
42419		return nil, err
42420	}
42421	ret := &RemarketingListShare{
42422		ServerResponse: googleapi.ServerResponse{
42423			Header:         res.Header,
42424			HTTPStatusCode: res.StatusCode,
42425		},
42426	}
42427	target := &ret
42428	if err := gensupport.DecodeResponse(target, res); err != nil {
42429		return nil, err
42430	}
42431	return ret, nil
42432	// {
42433	//   "description": "Gets one remarketing list share by remarketing list ID.",
42434	//   "flatPath": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
42435	//   "httpMethod": "GET",
42436	//   "id": "dfareporting.remarketingListShares.get",
42437	//   "parameterOrder": [
42438	//     "profileId",
42439	//     "remarketingListId"
42440	//   ],
42441	//   "parameters": {
42442	//     "profileId": {
42443	//       "description": "User profile ID associated with this request.",
42444	//       "format": "int64",
42445	//       "location": "path",
42446	//       "required": true,
42447	//       "type": "string"
42448	//     },
42449	//     "remarketingListId": {
42450	//       "description": "Remarketing list ID.",
42451	//       "format": "int64",
42452	//       "location": "path",
42453	//       "required": true,
42454	//       "type": "string"
42455	//     }
42456	//   },
42457	//   "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
42458	//   "response": {
42459	//     "$ref": "RemarketingListShare"
42460	//   },
42461	//   "scopes": [
42462	//     "https://www.googleapis.com/auth/dfatrafficking"
42463	//   ]
42464	// }
42465
42466}
42467
42468// method id "dfareporting.remarketingListShares.patch":
42469
42470type RemarketingListSharesPatchCall struct {
42471	s                    *Service
42472	profileId            int64
42473	remarketinglistshare *RemarketingListShare
42474	urlParams_           gensupport.URLParams
42475	ctx_                 context.Context
42476	header_              http.Header
42477}
42478
42479// Patch: Updates an existing remarketing list share. This method
42480// supports patch semantics.
42481func (r *RemarketingListSharesService) Patch(profileId int64, id int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
42482	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42483	c.profileId = profileId
42484	c.urlParams_.Set("id", fmt.Sprint(id))
42485	c.remarketinglistshare = remarketinglistshare
42486	return c
42487}
42488
42489// Fields allows partial responses to be retrieved. See
42490// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42491// for more information.
42492func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
42493	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42494	return c
42495}
42496
42497// Context sets the context to be used in this call's Do method. Any
42498// pending HTTP request will be aborted if the provided context is
42499// canceled.
42500func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
42501	c.ctx_ = ctx
42502	return c
42503}
42504
42505// Header returns an http.Header that can be modified by the caller to
42506// add HTTP headers to the request.
42507func (c *RemarketingListSharesPatchCall) Header() http.Header {
42508	if c.header_ == nil {
42509		c.header_ = make(http.Header)
42510	}
42511	return c.header_
42512}
42513
42514func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
42515	reqHeaders := make(http.Header)
42516	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
42517	for k, v := range c.header_ {
42518		reqHeaders[k] = v
42519	}
42520	reqHeaders.Set("User-Agent", c.s.userAgent())
42521	var body io.Reader = nil
42522	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
42523	if err != nil {
42524		return nil, err
42525	}
42526	reqHeaders.Set("Content-Type", "application/json")
42527	c.urlParams_.Set("alt", alt)
42528	c.urlParams_.Set("prettyPrint", "false")
42529	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
42530	urls += "?" + c.urlParams_.Encode()
42531	req, err := http.NewRequest("PATCH", urls, body)
42532	if err != nil {
42533		return nil, err
42534	}
42535	req.Header = reqHeaders
42536	googleapi.Expand(req.URL, map[string]string{
42537		"profileId": strconv.FormatInt(c.profileId, 10),
42538	})
42539	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42540}
42541
42542// Do executes the "dfareporting.remarketingListShares.patch" call.
42543// Exactly one of *RemarketingListShare or error will be non-nil. Any
42544// non-2xx status code is an error. Response headers are in either
42545// *RemarketingListShare.ServerResponse.Header or (if a response was
42546// returned at all) in error.(*googleapi.Error).Header. Use
42547// googleapi.IsNotModified to check whether the returned error was
42548// because http.StatusNotModified was returned.
42549func (c *RemarketingListSharesPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
42550	gensupport.SetOptions(c.urlParams_, opts...)
42551	res, err := c.doRequest("json")
42552	if res != nil && res.StatusCode == http.StatusNotModified {
42553		if res.Body != nil {
42554			res.Body.Close()
42555		}
42556		return nil, &googleapi.Error{
42557			Code:   res.StatusCode,
42558			Header: res.Header,
42559		}
42560	}
42561	if err != nil {
42562		return nil, err
42563	}
42564	defer googleapi.CloseBody(res)
42565	if err := googleapi.CheckResponse(res); err != nil {
42566		return nil, err
42567	}
42568	ret := &RemarketingListShare{
42569		ServerResponse: googleapi.ServerResponse{
42570			Header:         res.Header,
42571			HTTPStatusCode: res.StatusCode,
42572		},
42573	}
42574	target := &ret
42575	if err := gensupport.DecodeResponse(target, res); err != nil {
42576		return nil, err
42577	}
42578	return ret, nil
42579	// {
42580	//   "description": "Updates an existing remarketing list share. This method supports patch semantics.",
42581	//   "flatPath": "userprofiles/{profileId}/remarketingListShares",
42582	//   "httpMethod": "PATCH",
42583	//   "id": "dfareporting.remarketingListShares.patch",
42584	//   "parameterOrder": [
42585	//     "profileId",
42586	//     "id"
42587	//   ],
42588	//   "parameters": {
42589	//     "id": {
42590	//       "description": "RemarketingList ID.",
42591	//       "format": "int64",
42592	//       "location": "query",
42593	//       "required": true,
42594	//       "type": "string"
42595	//     },
42596	//     "profileId": {
42597	//       "description": "User profile ID associated with this request.",
42598	//       "format": "int64",
42599	//       "location": "path",
42600	//       "required": true,
42601	//       "type": "string"
42602	//     }
42603	//   },
42604	//   "path": "userprofiles/{profileId}/remarketingListShares",
42605	//   "request": {
42606	//     "$ref": "RemarketingListShare"
42607	//   },
42608	//   "response": {
42609	//     "$ref": "RemarketingListShare"
42610	//   },
42611	//   "scopes": [
42612	//     "https://www.googleapis.com/auth/dfatrafficking"
42613	//   ]
42614	// }
42615
42616}
42617
42618// method id "dfareporting.remarketingListShares.update":
42619
42620type RemarketingListSharesUpdateCall struct {
42621	s                    *Service
42622	profileId            int64
42623	remarketinglistshare *RemarketingListShare
42624	urlParams_           gensupport.URLParams
42625	ctx_                 context.Context
42626	header_              http.Header
42627}
42628
42629// Update: Updates an existing remarketing list share.
42630func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
42631	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42632	c.profileId = profileId
42633	c.remarketinglistshare = remarketinglistshare
42634	return c
42635}
42636
42637// Fields allows partial responses to be retrieved. See
42638// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42639// for more information.
42640func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
42641	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42642	return c
42643}
42644
42645// Context sets the context to be used in this call's Do method. Any
42646// pending HTTP request will be aborted if the provided context is
42647// canceled.
42648func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
42649	c.ctx_ = ctx
42650	return c
42651}
42652
42653// Header returns an http.Header that can be modified by the caller to
42654// add HTTP headers to the request.
42655func (c *RemarketingListSharesUpdateCall) Header() http.Header {
42656	if c.header_ == nil {
42657		c.header_ = make(http.Header)
42658	}
42659	return c.header_
42660}
42661
42662func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
42663	reqHeaders := make(http.Header)
42664	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
42665	for k, v := range c.header_ {
42666		reqHeaders[k] = v
42667	}
42668	reqHeaders.Set("User-Agent", c.s.userAgent())
42669	var body io.Reader = nil
42670	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
42671	if err != nil {
42672		return nil, err
42673	}
42674	reqHeaders.Set("Content-Type", "application/json")
42675	c.urlParams_.Set("alt", alt)
42676	c.urlParams_.Set("prettyPrint", "false")
42677	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
42678	urls += "?" + c.urlParams_.Encode()
42679	req, err := http.NewRequest("PUT", urls, body)
42680	if err != nil {
42681		return nil, err
42682	}
42683	req.Header = reqHeaders
42684	googleapi.Expand(req.URL, map[string]string{
42685		"profileId": strconv.FormatInt(c.profileId, 10),
42686	})
42687	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42688}
42689
42690// Do executes the "dfareporting.remarketingListShares.update" call.
42691// Exactly one of *RemarketingListShare or error will be non-nil. Any
42692// non-2xx status code is an error. Response headers are in either
42693// *RemarketingListShare.ServerResponse.Header or (if a response was
42694// returned at all) in error.(*googleapi.Error).Header. Use
42695// googleapi.IsNotModified to check whether the returned error was
42696// because http.StatusNotModified was returned.
42697func (c *RemarketingListSharesUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
42698	gensupport.SetOptions(c.urlParams_, opts...)
42699	res, err := c.doRequest("json")
42700	if res != nil && res.StatusCode == http.StatusNotModified {
42701		if res.Body != nil {
42702			res.Body.Close()
42703		}
42704		return nil, &googleapi.Error{
42705			Code:   res.StatusCode,
42706			Header: res.Header,
42707		}
42708	}
42709	if err != nil {
42710		return nil, err
42711	}
42712	defer googleapi.CloseBody(res)
42713	if err := googleapi.CheckResponse(res); err != nil {
42714		return nil, err
42715	}
42716	ret := &RemarketingListShare{
42717		ServerResponse: googleapi.ServerResponse{
42718			Header:         res.Header,
42719			HTTPStatusCode: res.StatusCode,
42720		},
42721	}
42722	target := &ret
42723	if err := gensupport.DecodeResponse(target, res); err != nil {
42724		return nil, err
42725	}
42726	return ret, nil
42727	// {
42728	//   "description": "Updates an existing remarketing list share.",
42729	//   "flatPath": "userprofiles/{profileId}/remarketingListShares",
42730	//   "httpMethod": "PUT",
42731	//   "id": "dfareporting.remarketingListShares.update",
42732	//   "parameterOrder": [
42733	//     "profileId"
42734	//   ],
42735	//   "parameters": {
42736	//     "profileId": {
42737	//       "description": "User profile ID associated with this request.",
42738	//       "format": "int64",
42739	//       "location": "path",
42740	//       "required": true,
42741	//       "type": "string"
42742	//     }
42743	//   },
42744	//   "path": "userprofiles/{profileId}/remarketingListShares",
42745	//   "request": {
42746	//     "$ref": "RemarketingListShare"
42747	//   },
42748	//   "response": {
42749	//     "$ref": "RemarketingListShare"
42750	//   },
42751	//   "scopes": [
42752	//     "https://www.googleapis.com/auth/dfatrafficking"
42753	//   ]
42754	// }
42755
42756}
42757
42758// method id "dfareporting.remarketingLists.get":
42759
42760type RemarketingListsGetCall struct {
42761	s            *Service
42762	profileId    int64
42763	id           int64
42764	urlParams_   gensupport.URLParams
42765	ifNoneMatch_ string
42766	ctx_         context.Context
42767	header_      http.Header
42768}
42769
42770// Get: Gets one remarketing list by ID.
42771func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
42772	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42773	c.profileId = profileId
42774	c.id = id
42775	return c
42776}
42777
42778// Fields allows partial responses to be retrieved. See
42779// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42780// for more information.
42781func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
42782	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42783	return c
42784}
42785
42786// IfNoneMatch sets the optional parameter which makes the operation
42787// fail if the object's ETag matches the given value. This is useful for
42788// getting updates only after the object has changed since the last
42789// request. Use googleapi.IsNotModified to check whether the response
42790// error from Do is the result of In-None-Match.
42791func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
42792	c.ifNoneMatch_ = entityTag
42793	return c
42794}
42795
42796// Context sets the context to be used in this call's Do method. Any
42797// pending HTTP request will be aborted if the provided context is
42798// canceled.
42799func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
42800	c.ctx_ = ctx
42801	return c
42802}
42803
42804// Header returns an http.Header that can be modified by the caller to
42805// add HTTP headers to the request.
42806func (c *RemarketingListsGetCall) Header() http.Header {
42807	if c.header_ == nil {
42808		c.header_ = make(http.Header)
42809	}
42810	return c.header_
42811}
42812
42813func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
42814	reqHeaders := make(http.Header)
42815	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
42816	for k, v := range c.header_ {
42817		reqHeaders[k] = v
42818	}
42819	reqHeaders.Set("User-Agent", c.s.userAgent())
42820	if c.ifNoneMatch_ != "" {
42821		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42822	}
42823	var body io.Reader = nil
42824	c.urlParams_.Set("alt", alt)
42825	c.urlParams_.Set("prettyPrint", "false")
42826	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
42827	urls += "?" + c.urlParams_.Encode()
42828	req, err := http.NewRequest("GET", urls, body)
42829	if err != nil {
42830		return nil, err
42831	}
42832	req.Header = reqHeaders
42833	googleapi.Expand(req.URL, map[string]string{
42834		"profileId": strconv.FormatInt(c.profileId, 10),
42835		"id":        strconv.FormatInt(c.id, 10),
42836	})
42837	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42838}
42839
42840// Do executes the "dfareporting.remarketingLists.get" call.
42841// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
42842// status code is an error. Response headers are in either
42843// *RemarketingList.ServerResponse.Header or (if a response was returned
42844// at all) in error.(*googleapi.Error).Header. Use
42845// googleapi.IsNotModified to check whether the returned error was
42846// because http.StatusNotModified was returned.
42847func (c *RemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
42848	gensupport.SetOptions(c.urlParams_, opts...)
42849	res, err := c.doRequest("json")
42850	if res != nil && res.StatusCode == http.StatusNotModified {
42851		if res.Body != nil {
42852			res.Body.Close()
42853		}
42854		return nil, &googleapi.Error{
42855			Code:   res.StatusCode,
42856			Header: res.Header,
42857		}
42858	}
42859	if err != nil {
42860		return nil, err
42861	}
42862	defer googleapi.CloseBody(res)
42863	if err := googleapi.CheckResponse(res); err != nil {
42864		return nil, err
42865	}
42866	ret := &RemarketingList{
42867		ServerResponse: googleapi.ServerResponse{
42868			Header:         res.Header,
42869			HTTPStatusCode: res.StatusCode,
42870		},
42871	}
42872	target := &ret
42873	if err := gensupport.DecodeResponse(target, res); err != nil {
42874		return nil, err
42875	}
42876	return ret, nil
42877	// {
42878	//   "description": "Gets one remarketing list by ID.",
42879	//   "flatPath": "userprofiles/{profileId}/remarketingLists/{id}",
42880	//   "httpMethod": "GET",
42881	//   "id": "dfareporting.remarketingLists.get",
42882	//   "parameterOrder": [
42883	//     "profileId",
42884	//     "id"
42885	//   ],
42886	//   "parameters": {
42887	//     "id": {
42888	//       "description": "Remarketing list ID.",
42889	//       "format": "int64",
42890	//       "location": "path",
42891	//       "required": true,
42892	//       "type": "string"
42893	//     },
42894	//     "profileId": {
42895	//       "description": "User profile ID associated with this request.",
42896	//       "format": "int64",
42897	//       "location": "path",
42898	//       "required": true,
42899	//       "type": "string"
42900	//     }
42901	//   },
42902	//   "path": "userprofiles/{profileId}/remarketingLists/{id}",
42903	//   "response": {
42904	//     "$ref": "RemarketingList"
42905	//   },
42906	//   "scopes": [
42907	//     "https://www.googleapis.com/auth/dfatrafficking"
42908	//   ]
42909	// }
42910
42911}
42912
42913// method id "dfareporting.remarketingLists.insert":
42914
42915type RemarketingListsInsertCall struct {
42916	s               *Service
42917	profileId       int64
42918	remarketinglist *RemarketingList
42919	urlParams_      gensupport.URLParams
42920	ctx_            context.Context
42921	header_         http.Header
42922}
42923
42924// Insert: Inserts a new remarketing list.
42925func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
42926	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42927	c.profileId = profileId
42928	c.remarketinglist = remarketinglist
42929	return c
42930}
42931
42932// Fields allows partial responses to be retrieved. See
42933// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42934// for more information.
42935func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
42936	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42937	return c
42938}
42939
42940// Context sets the context to be used in this call's Do method. Any
42941// pending HTTP request will be aborted if the provided context is
42942// canceled.
42943func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
42944	c.ctx_ = ctx
42945	return c
42946}
42947
42948// Header returns an http.Header that can be modified by the caller to
42949// add HTTP headers to the request.
42950func (c *RemarketingListsInsertCall) Header() http.Header {
42951	if c.header_ == nil {
42952		c.header_ = make(http.Header)
42953	}
42954	return c.header_
42955}
42956
42957func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
42958	reqHeaders := make(http.Header)
42959	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
42960	for k, v := range c.header_ {
42961		reqHeaders[k] = v
42962	}
42963	reqHeaders.Set("User-Agent", c.s.userAgent())
42964	var body io.Reader = nil
42965	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
42966	if err != nil {
42967		return nil, err
42968	}
42969	reqHeaders.Set("Content-Type", "application/json")
42970	c.urlParams_.Set("alt", alt)
42971	c.urlParams_.Set("prettyPrint", "false")
42972	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
42973	urls += "?" + c.urlParams_.Encode()
42974	req, err := http.NewRequest("POST", urls, body)
42975	if err != nil {
42976		return nil, err
42977	}
42978	req.Header = reqHeaders
42979	googleapi.Expand(req.URL, map[string]string{
42980		"profileId": strconv.FormatInt(c.profileId, 10),
42981	})
42982	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42983}
42984
42985// Do executes the "dfareporting.remarketingLists.insert" call.
42986// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
42987// status code is an error. Response headers are in either
42988// *RemarketingList.ServerResponse.Header or (if a response was returned
42989// at all) in error.(*googleapi.Error).Header. Use
42990// googleapi.IsNotModified to check whether the returned error was
42991// because http.StatusNotModified was returned.
42992func (c *RemarketingListsInsertCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
42993	gensupport.SetOptions(c.urlParams_, opts...)
42994	res, err := c.doRequest("json")
42995	if res != nil && res.StatusCode == http.StatusNotModified {
42996		if res.Body != nil {
42997			res.Body.Close()
42998		}
42999		return nil, &googleapi.Error{
43000			Code:   res.StatusCode,
43001			Header: res.Header,
43002		}
43003	}
43004	if err != nil {
43005		return nil, err
43006	}
43007	defer googleapi.CloseBody(res)
43008	if err := googleapi.CheckResponse(res); err != nil {
43009		return nil, err
43010	}
43011	ret := &RemarketingList{
43012		ServerResponse: googleapi.ServerResponse{
43013			Header:         res.Header,
43014			HTTPStatusCode: res.StatusCode,
43015		},
43016	}
43017	target := &ret
43018	if err := gensupport.DecodeResponse(target, res); err != nil {
43019		return nil, err
43020	}
43021	return ret, nil
43022	// {
43023	//   "description": "Inserts a new remarketing list.",
43024	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
43025	//   "httpMethod": "POST",
43026	//   "id": "dfareporting.remarketingLists.insert",
43027	//   "parameterOrder": [
43028	//     "profileId"
43029	//   ],
43030	//   "parameters": {
43031	//     "profileId": {
43032	//       "description": "User profile ID associated with this request.",
43033	//       "format": "int64",
43034	//       "location": "path",
43035	//       "required": true,
43036	//       "type": "string"
43037	//     }
43038	//   },
43039	//   "path": "userprofiles/{profileId}/remarketingLists",
43040	//   "request": {
43041	//     "$ref": "RemarketingList"
43042	//   },
43043	//   "response": {
43044	//     "$ref": "RemarketingList"
43045	//   },
43046	//   "scopes": [
43047	//     "https://www.googleapis.com/auth/dfatrafficking"
43048	//   ]
43049	// }
43050
43051}
43052
43053// method id "dfareporting.remarketingLists.list":
43054
43055type RemarketingListsListCall struct {
43056	s            *Service
43057	profileId    int64
43058	urlParams_   gensupport.URLParams
43059	ifNoneMatch_ string
43060	ctx_         context.Context
43061	header_      http.Header
43062}
43063
43064// List: Retrieves a list of remarketing lists, possibly filtered. This
43065// method supports paging.
43066func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
43067	c := &RemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43068	c.profileId = profileId
43069	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
43070	return c
43071}
43072
43073// Active sets the optional parameter "active": Select only active or
43074// only inactive remarketing lists.
43075func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
43076	c.urlParams_.Set("active", fmt.Sprint(active))
43077	return c
43078}
43079
43080// FloodlightActivityId sets the optional parameter
43081// "floodlightActivityId": Select only remarketing lists that have this
43082// floodlight activity ID.
43083func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
43084	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
43085	return c
43086}
43087
43088// MaxResults sets the optional parameter "maxResults": Maximum number
43089// of results to return.
43090func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
43091	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
43092	return c
43093}
43094
43095// Name sets the optional parameter "name": Allows searching for objects
43096// by name or ID. Wildcards (*) are allowed. For example, "remarketing
43097// list*2015" will return objects with names like "remarketing list June
43098// 2015", "remarketing list April 2015", or simply "remarketing list
43099// 2015". Most of the searches also add wildcards implicitly at the
43100// start and the end of the search string. For example, a search string
43101// of "remarketing list" will match objects with name "my remarketing
43102// list", "remarketing list 2015", or simply "remarketing list".
43103func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
43104	c.urlParams_.Set("name", name)
43105	return c
43106}
43107
43108// PageToken sets the optional parameter "pageToken": Value of the
43109// nextPageToken from the previous result page.
43110func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
43111	c.urlParams_.Set("pageToken", pageToken)
43112	return c
43113}
43114
43115// SortField sets the optional parameter "sortField": Field by which to
43116// sort the list.
43117//
43118// Possible values:
43119//   "ID" (default)
43120//   "NAME"
43121func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
43122	c.urlParams_.Set("sortField", sortField)
43123	return c
43124}
43125
43126// SortOrder sets the optional parameter "sortOrder": Order of sorted
43127// results.
43128//
43129// Possible values:
43130//   "ASCENDING" (default)
43131//   "DESCENDING"
43132func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
43133	c.urlParams_.Set("sortOrder", sortOrder)
43134	return c
43135}
43136
43137// Fields allows partial responses to be retrieved. See
43138// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43139// for more information.
43140func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
43141	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43142	return c
43143}
43144
43145// IfNoneMatch sets the optional parameter which makes the operation
43146// fail if the object's ETag matches the given value. This is useful for
43147// getting updates only after the object has changed since the last
43148// request. Use googleapi.IsNotModified to check whether the response
43149// error from Do is the result of In-None-Match.
43150func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
43151	c.ifNoneMatch_ = entityTag
43152	return c
43153}
43154
43155// Context sets the context to be used in this call's Do method. Any
43156// pending HTTP request will be aborted if the provided context is
43157// canceled.
43158func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
43159	c.ctx_ = ctx
43160	return c
43161}
43162
43163// Header returns an http.Header that can be modified by the caller to
43164// add HTTP headers to the request.
43165func (c *RemarketingListsListCall) Header() http.Header {
43166	if c.header_ == nil {
43167		c.header_ = make(http.Header)
43168	}
43169	return c.header_
43170}
43171
43172func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
43173	reqHeaders := make(http.Header)
43174	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
43175	for k, v := range c.header_ {
43176		reqHeaders[k] = v
43177	}
43178	reqHeaders.Set("User-Agent", c.s.userAgent())
43179	if c.ifNoneMatch_ != "" {
43180		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43181	}
43182	var body io.Reader = nil
43183	c.urlParams_.Set("alt", alt)
43184	c.urlParams_.Set("prettyPrint", "false")
43185	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43186	urls += "?" + c.urlParams_.Encode()
43187	req, err := http.NewRequest("GET", urls, body)
43188	if err != nil {
43189		return nil, err
43190	}
43191	req.Header = reqHeaders
43192	googleapi.Expand(req.URL, map[string]string{
43193		"profileId": strconv.FormatInt(c.profileId, 10),
43194	})
43195	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43196}
43197
43198// Do executes the "dfareporting.remarketingLists.list" call.
43199// Exactly one of *RemarketingListsListResponse or error will be
43200// non-nil. Any non-2xx status code is an error. Response headers are in
43201// either *RemarketingListsListResponse.ServerResponse.Header or (if a
43202// response was returned at all) in error.(*googleapi.Error).Header. Use
43203// googleapi.IsNotModified to check whether the returned error was
43204// because http.StatusNotModified was returned.
43205func (c *RemarketingListsListCall) Do(opts ...googleapi.CallOption) (*RemarketingListsListResponse, error) {
43206	gensupport.SetOptions(c.urlParams_, opts...)
43207	res, err := c.doRequest("json")
43208	if res != nil && res.StatusCode == http.StatusNotModified {
43209		if res.Body != nil {
43210			res.Body.Close()
43211		}
43212		return nil, &googleapi.Error{
43213			Code:   res.StatusCode,
43214			Header: res.Header,
43215		}
43216	}
43217	if err != nil {
43218		return nil, err
43219	}
43220	defer googleapi.CloseBody(res)
43221	if err := googleapi.CheckResponse(res); err != nil {
43222		return nil, err
43223	}
43224	ret := &RemarketingListsListResponse{
43225		ServerResponse: googleapi.ServerResponse{
43226			Header:         res.Header,
43227			HTTPStatusCode: res.StatusCode,
43228		},
43229	}
43230	target := &ret
43231	if err := gensupport.DecodeResponse(target, res); err != nil {
43232		return nil, err
43233	}
43234	return ret, nil
43235	// {
43236	//   "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
43237	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
43238	//   "httpMethod": "GET",
43239	//   "id": "dfareporting.remarketingLists.list",
43240	//   "parameterOrder": [
43241	//     "profileId",
43242	//     "advertiserId"
43243	//   ],
43244	//   "parameters": {
43245	//     "active": {
43246	//       "description": "Select only active or only inactive remarketing lists.",
43247	//       "location": "query",
43248	//       "type": "boolean"
43249	//     },
43250	//     "advertiserId": {
43251	//       "description": "Select only remarketing lists owned by this advertiser.",
43252	//       "format": "int64",
43253	//       "location": "query",
43254	//       "required": true,
43255	//       "type": "string"
43256	//     },
43257	//     "floodlightActivityId": {
43258	//       "description": "Select only remarketing lists that have this floodlight activity ID.",
43259	//       "format": "int64",
43260	//       "location": "query",
43261	//       "type": "string"
43262	//     },
43263	//     "maxResults": {
43264	//       "default": "1000",
43265	//       "description": "Maximum number of results to return.",
43266	//       "format": "int32",
43267	//       "location": "query",
43268	//       "maximum": "1000",
43269	//       "minimum": "0",
43270	//       "type": "integer"
43271	//     },
43272	//     "name": {
43273	//       "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\".",
43274	//       "location": "query",
43275	//       "type": "string"
43276	//     },
43277	//     "pageToken": {
43278	//       "description": "Value of the nextPageToken from the previous result page.",
43279	//       "location": "query",
43280	//       "type": "string"
43281	//     },
43282	//     "profileId": {
43283	//       "description": "User profile ID associated with this request.",
43284	//       "format": "int64",
43285	//       "location": "path",
43286	//       "required": true,
43287	//       "type": "string"
43288	//     },
43289	//     "sortField": {
43290	//       "default": "ID",
43291	//       "description": "Field by which to sort the list.",
43292	//       "enum": [
43293	//         "ID",
43294	//         "NAME"
43295	//       ],
43296	//       "enumDescriptions": [
43297	//         "",
43298	//         ""
43299	//       ],
43300	//       "location": "query",
43301	//       "type": "string"
43302	//     },
43303	//     "sortOrder": {
43304	//       "default": "ASCENDING",
43305	//       "description": "Order of sorted results.",
43306	//       "enum": [
43307	//         "ASCENDING",
43308	//         "DESCENDING"
43309	//       ],
43310	//       "enumDescriptions": [
43311	//         "",
43312	//         ""
43313	//       ],
43314	//       "location": "query",
43315	//       "type": "string"
43316	//     }
43317	//   },
43318	//   "path": "userprofiles/{profileId}/remarketingLists",
43319	//   "response": {
43320	//     "$ref": "RemarketingListsListResponse"
43321	//   },
43322	//   "scopes": [
43323	//     "https://www.googleapis.com/auth/dfatrafficking"
43324	//   ]
43325	// }
43326
43327}
43328
43329// Pages invokes f for each page of results.
43330// A non-nil error returned from f will halt the iteration.
43331// The provided context supersedes any context provided to the Context method.
43332func (c *RemarketingListsListCall) Pages(ctx context.Context, f func(*RemarketingListsListResponse) error) error {
43333	c.ctx_ = ctx
43334	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
43335	for {
43336		x, err := c.Do()
43337		if err != nil {
43338			return err
43339		}
43340		if err := f(x); err != nil {
43341			return err
43342		}
43343		if x.NextPageToken == "" {
43344			return nil
43345		}
43346		c.PageToken(x.NextPageToken)
43347	}
43348}
43349
43350// method id "dfareporting.remarketingLists.patch":
43351
43352type RemarketingListsPatchCall struct {
43353	s               *Service
43354	profileId       int64
43355	remarketinglist *RemarketingList
43356	urlParams_      gensupport.URLParams
43357	ctx_            context.Context
43358	header_         http.Header
43359}
43360
43361// Patch: Updates an existing remarketing list. This method supports
43362// patch semantics.
43363func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
43364	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43365	c.profileId = profileId
43366	c.urlParams_.Set("id", fmt.Sprint(id))
43367	c.remarketinglist = remarketinglist
43368	return c
43369}
43370
43371// Fields allows partial responses to be retrieved. See
43372// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43373// for more information.
43374func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
43375	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43376	return c
43377}
43378
43379// Context sets the context to be used in this call's Do method. Any
43380// pending HTTP request will be aborted if the provided context is
43381// canceled.
43382func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
43383	c.ctx_ = ctx
43384	return c
43385}
43386
43387// Header returns an http.Header that can be modified by the caller to
43388// add HTTP headers to the request.
43389func (c *RemarketingListsPatchCall) Header() http.Header {
43390	if c.header_ == nil {
43391		c.header_ = make(http.Header)
43392	}
43393	return c.header_
43394}
43395
43396func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
43397	reqHeaders := make(http.Header)
43398	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
43399	for k, v := range c.header_ {
43400		reqHeaders[k] = v
43401	}
43402	reqHeaders.Set("User-Agent", c.s.userAgent())
43403	var body io.Reader = nil
43404	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
43405	if err != nil {
43406		return nil, err
43407	}
43408	reqHeaders.Set("Content-Type", "application/json")
43409	c.urlParams_.Set("alt", alt)
43410	c.urlParams_.Set("prettyPrint", "false")
43411	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43412	urls += "?" + c.urlParams_.Encode()
43413	req, err := http.NewRequest("PATCH", urls, body)
43414	if err != nil {
43415		return nil, err
43416	}
43417	req.Header = reqHeaders
43418	googleapi.Expand(req.URL, map[string]string{
43419		"profileId": strconv.FormatInt(c.profileId, 10),
43420	})
43421	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43422}
43423
43424// Do executes the "dfareporting.remarketingLists.patch" call.
43425// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43426// status code is an error. Response headers are in either
43427// *RemarketingList.ServerResponse.Header or (if a response was returned
43428// at all) in error.(*googleapi.Error).Header. Use
43429// googleapi.IsNotModified to check whether the returned error was
43430// because http.StatusNotModified was returned.
43431func (c *RemarketingListsPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43432	gensupport.SetOptions(c.urlParams_, opts...)
43433	res, err := c.doRequest("json")
43434	if res != nil && res.StatusCode == http.StatusNotModified {
43435		if res.Body != nil {
43436			res.Body.Close()
43437		}
43438		return nil, &googleapi.Error{
43439			Code:   res.StatusCode,
43440			Header: res.Header,
43441		}
43442	}
43443	if err != nil {
43444		return nil, err
43445	}
43446	defer googleapi.CloseBody(res)
43447	if err := googleapi.CheckResponse(res); err != nil {
43448		return nil, err
43449	}
43450	ret := &RemarketingList{
43451		ServerResponse: googleapi.ServerResponse{
43452			Header:         res.Header,
43453			HTTPStatusCode: res.StatusCode,
43454		},
43455	}
43456	target := &ret
43457	if err := gensupport.DecodeResponse(target, res); err != nil {
43458		return nil, err
43459	}
43460	return ret, nil
43461	// {
43462	//   "description": "Updates an existing remarketing list. This method supports patch semantics.",
43463	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
43464	//   "httpMethod": "PATCH",
43465	//   "id": "dfareporting.remarketingLists.patch",
43466	//   "parameterOrder": [
43467	//     "profileId",
43468	//     "id"
43469	//   ],
43470	//   "parameters": {
43471	//     "id": {
43472	//       "description": "RemarketingList ID.",
43473	//       "format": "int64",
43474	//       "location": "query",
43475	//       "required": true,
43476	//       "type": "string"
43477	//     },
43478	//     "profileId": {
43479	//       "description": "User profile ID associated with this request.",
43480	//       "format": "int64",
43481	//       "location": "path",
43482	//       "required": true,
43483	//       "type": "string"
43484	//     }
43485	//   },
43486	//   "path": "userprofiles/{profileId}/remarketingLists",
43487	//   "request": {
43488	//     "$ref": "RemarketingList"
43489	//   },
43490	//   "response": {
43491	//     "$ref": "RemarketingList"
43492	//   },
43493	//   "scopes": [
43494	//     "https://www.googleapis.com/auth/dfatrafficking"
43495	//   ]
43496	// }
43497
43498}
43499
43500// method id "dfareporting.remarketingLists.update":
43501
43502type RemarketingListsUpdateCall struct {
43503	s               *Service
43504	profileId       int64
43505	remarketinglist *RemarketingList
43506	urlParams_      gensupport.URLParams
43507	ctx_            context.Context
43508	header_         http.Header
43509}
43510
43511// Update: Updates an existing remarketing list.
43512func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
43513	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43514	c.profileId = profileId
43515	c.remarketinglist = remarketinglist
43516	return c
43517}
43518
43519// Fields allows partial responses to be retrieved. See
43520// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43521// for more information.
43522func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
43523	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43524	return c
43525}
43526
43527// Context sets the context to be used in this call's Do method. Any
43528// pending HTTP request will be aborted if the provided context is
43529// canceled.
43530func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
43531	c.ctx_ = ctx
43532	return c
43533}
43534
43535// Header returns an http.Header that can be modified by the caller to
43536// add HTTP headers to the request.
43537func (c *RemarketingListsUpdateCall) Header() http.Header {
43538	if c.header_ == nil {
43539		c.header_ = make(http.Header)
43540	}
43541	return c.header_
43542}
43543
43544func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
43545	reqHeaders := make(http.Header)
43546	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
43547	for k, v := range c.header_ {
43548		reqHeaders[k] = v
43549	}
43550	reqHeaders.Set("User-Agent", c.s.userAgent())
43551	var body io.Reader = nil
43552	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
43553	if err != nil {
43554		return nil, err
43555	}
43556	reqHeaders.Set("Content-Type", "application/json")
43557	c.urlParams_.Set("alt", alt)
43558	c.urlParams_.Set("prettyPrint", "false")
43559	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43560	urls += "?" + c.urlParams_.Encode()
43561	req, err := http.NewRequest("PUT", urls, body)
43562	if err != nil {
43563		return nil, err
43564	}
43565	req.Header = reqHeaders
43566	googleapi.Expand(req.URL, map[string]string{
43567		"profileId": strconv.FormatInt(c.profileId, 10),
43568	})
43569	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43570}
43571
43572// Do executes the "dfareporting.remarketingLists.update" call.
43573// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43574// status code is an error. Response headers are in either
43575// *RemarketingList.ServerResponse.Header or (if a response was returned
43576// at all) in error.(*googleapi.Error).Header. Use
43577// googleapi.IsNotModified to check whether the returned error was
43578// because http.StatusNotModified was returned.
43579func (c *RemarketingListsUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43580	gensupport.SetOptions(c.urlParams_, opts...)
43581	res, err := c.doRequest("json")
43582	if res != nil && res.StatusCode == http.StatusNotModified {
43583		if res.Body != nil {
43584			res.Body.Close()
43585		}
43586		return nil, &googleapi.Error{
43587			Code:   res.StatusCode,
43588			Header: res.Header,
43589		}
43590	}
43591	if err != nil {
43592		return nil, err
43593	}
43594	defer googleapi.CloseBody(res)
43595	if err := googleapi.CheckResponse(res); err != nil {
43596		return nil, err
43597	}
43598	ret := &RemarketingList{
43599		ServerResponse: googleapi.ServerResponse{
43600			Header:         res.Header,
43601			HTTPStatusCode: res.StatusCode,
43602		},
43603	}
43604	target := &ret
43605	if err := gensupport.DecodeResponse(target, res); err != nil {
43606		return nil, err
43607	}
43608	return ret, nil
43609	// {
43610	//   "description": "Updates an existing remarketing list.",
43611	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
43612	//   "httpMethod": "PUT",
43613	//   "id": "dfareporting.remarketingLists.update",
43614	//   "parameterOrder": [
43615	//     "profileId"
43616	//   ],
43617	//   "parameters": {
43618	//     "profileId": {
43619	//       "description": "User profile ID associated with this request.",
43620	//       "format": "int64",
43621	//       "location": "path",
43622	//       "required": true,
43623	//       "type": "string"
43624	//     }
43625	//   },
43626	//   "path": "userprofiles/{profileId}/remarketingLists",
43627	//   "request": {
43628	//     "$ref": "RemarketingList"
43629	//   },
43630	//   "response": {
43631	//     "$ref": "RemarketingList"
43632	//   },
43633	//   "scopes": [
43634	//     "https://www.googleapis.com/auth/dfatrafficking"
43635	//   ]
43636	// }
43637
43638}
43639
43640// method id "dfareporting.reports.delete":
43641
43642type ReportsDeleteCall struct {
43643	s          *Service
43644	profileId  int64
43645	reportId   int64
43646	urlParams_ gensupport.URLParams
43647	ctx_       context.Context
43648	header_    http.Header
43649}
43650
43651// Delete: Deletes a report by its ID.
43652func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
43653	c := &ReportsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43654	c.profileId = profileId
43655	c.reportId = reportId
43656	return c
43657}
43658
43659// Fields allows partial responses to be retrieved. See
43660// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43661// for more information.
43662func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
43663	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43664	return c
43665}
43666
43667// Context sets the context to be used in this call's Do method. Any
43668// pending HTTP request will be aborted if the provided context is
43669// canceled.
43670func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
43671	c.ctx_ = ctx
43672	return c
43673}
43674
43675// Header returns an http.Header that can be modified by the caller to
43676// add HTTP headers to the request.
43677func (c *ReportsDeleteCall) Header() http.Header {
43678	if c.header_ == nil {
43679		c.header_ = make(http.Header)
43680	}
43681	return c.header_
43682}
43683
43684func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
43685	reqHeaders := make(http.Header)
43686	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
43687	for k, v := range c.header_ {
43688		reqHeaders[k] = v
43689	}
43690	reqHeaders.Set("User-Agent", c.s.userAgent())
43691	var body io.Reader = nil
43692	c.urlParams_.Set("alt", alt)
43693	c.urlParams_.Set("prettyPrint", "false")
43694	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
43695	urls += "?" + c.urlParams_.Encode()
43696	req, err := http.NewRequest("DELETE", urls, body)
43697	if err != nil {
43698		return nil, err
43699	}
43700	req.Header = reqHeaders
43701	googleapi.Expand(req.URL, map[string]string{
43702		"profileId": strconv.FormatInt(c.profileId, 10),
43703		"reportId":  strconv.FormatInt(c.reportId, 10),
43704	})
43705	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43706}
43707
43708// Do executes the "dfareporting.reports.delete" call.
43709func (c *ReportsDeleteCall) Do(opts ...googleapi.CallOption) error {
43710	gensupport.SetOptions(c.urlParams_, opts...)
43711	res, err := c.doRequest("json")
43712	if err != nil {
43713		return err
43714	}
43715	defer googleapi.CloseBody(res)
43716	if err := googleapi.CheckResponse(res); err != nil {
43717		return err
43718	}
43719	return nil
43720	// {
43721	//   "description": "Deletes a report by its ID.",
43722	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
43723	//   "httpMethod": "DELETE",
43724	//   "id": "dfareporting.reports.delete",
43725	//   "parameterOrder": [
43726	//     "profileId",
43727	//     "reportId"
43728	//   ],
43729	//   "parameters": {
43730	//     "profileId": {
43731	//       "description": "The DFA user profile ID.",
43732	//       "format": "int64",
43733	//       "location": "path",
43734	//       "required": true,
43735	//       "type": "string"
43736	//     },
43737	//     "reportId": {
43738	//       "description": "The ID of the report.",
43739	//       "format": "int64",
43740	//       "location": "path",
43741	//       "required": true,
43742	//       "type": "string"
43743	//     }
43744	//   },
43745	//   "path": "userprofiles/{profileId}/reports/{reportId}",
43746	//   "scopes": [
43747	//     "https://www.googleapis.com/auth/dfareporting"
43748	//   ]
43749	// }
43750
43751}
43752
43753// method id "dfareporting.reports.get":
43754
43755type ReportsGetCall struct {
43756	s            *Service
43757	profileId    int64
43758	reportId     int64
43759	urlParams_   gensupport.URLParams
43760	ifNoneMatch_ string
43761	ctx_         context.Context
43762	header_      http.Header
43763}
43764
43765// Get: Retrieves a report by its ID.
43766func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
43767	c := &ReportsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43768	c.profileId = profileId
43769	c.reportId = reportId
43770	return c
43771}
43772
43773// Fields allows partial responses to be retrieved. See
43774// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43775// for more information.
43776func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
43777	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43778	return c
43779}
43780
43781// IfNoneMatch sets the optional parameter which makes the operation
43782// fail if the object's ETag matches the given value. This is useful for
43783// getting updates only after the object has changed since the last
43784// request. Use googleapi.IsNotModified to check whether the response
43785// error from Do is the result of In-None-Match.
43786func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
43787	c.ifNoneMatch_ = entityTag
43788	return c
43789}
43790
43791// Context sets the context to be used in this call's Do method. Any
43792// pending HTTP request will be aborted if the provided context is
43793// canceled.
43794func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
43795	c.ctx_ = ctx
43796	return c
43797}
43798
43799// Header returns an http.Header that can be modified by the caller to
43800// add HTTP headers to the request.
43801func (c *ReportsGetCall) Header() http.Header {
43802	if c.header_ == nil {
43803		c.header_ = make(http.Header)
43804	}
43805	return c.header_
43806}
43807
43808func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
43809	reqHeaders := make(http.Header)
43810	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
43811	for k, v := range c.header_ {
43812		reqHeaders[k] = v
43813	}
43814	reqHeaders.Set("User-Agent", c.s.userAgent())
43815	if c.ifNoneMatch_ != "" {
43816		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43817	}
43818	var body io.Reader = nil
43819	c.urlParams_.Set("alt", alt)
43820	c.urlParams_.Set("prettyPrint", "false")
43821	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
43822	urls += "?" + c.urlParams_.Encode()
43823	req, err := http.NewRequest("GET", urls, body)
43824	if err != nil {
43825		return nil, err
43826	}
43827	req.Header = reqHeaders
43828	googleapi.Expand(req.URL, map[string]string{
43829		"profileId": strconv.FormatInt(c.profileId, 10),
43830		"reportId":  strconv.FormatInt(c.reportId, 10),
43831	})
43832	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43833}
43834
43835// Do executes the "dfareporting.reports.get" call.
43836// Exactly one of *Report or error will be non-nil. Any non-2xx status
43837// code is an error. Response headers are in either
43838// *Report.ServerResponse.Header or (if a response was returned at all)
43839// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
43840// check whether the returned error was because http.StatusNotModified
43841// was returned.
43842func (c *ReportsGetCall) Do(opts ...googleapi.CallOption) (*Report, error) {
43843	gensupport.SetOptions(c.urlParams_, opts...)
43844	res, err := c.doRequest("json")
43845	if res != nil && res.StatusCode == http.StatusNotModified {
43846		if res.Body != nil {
43847			res.Body.Close()
43848		}
43849		return nil, &googleapi.Error{
43850			Code:   res.StatusCode,
43851			Header: res.Header,
43852		}
43853	}
43854	if err != nil {
43855		return nil, err
43856	}
43857	defer googleapi.CloseBody(res)
43858	if err := googleapi.CheckResponse(res); err != nil {
43859		return nil, err
43860	}
43861	ret := &Report{
43862		ServerResponse: googleapi.ServerResponse{
43863			Header:         res.Header,
43864			HTTPStatusCode: res.StatusCode,
43865		},
43866	}
43867	target := &ret
43868	if err := gensupport.DecodeResponse(target, res); err != nil {
43869		return nil, err
43870	}
43871	return ret, nil
43872	// {
43873	//   "description": "Retrieves a report by its ID.",
43874	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
43875	//   "httpMethod": "GET",
43876	//   "id": "dfareporting.reports.get",
43877	//   "parameterOrder": [
43878	//     "profileId",
43879	//     "reportId"
43880	//   ],
43881	//   "parameters": {
43882	//     "profileId": {
43883	//       "description": "The DFA user profile ID.",
43884	//       "format": "int64",
43885	//       "location": "path",
43886	//       "required": true,
43887	//       "type": "string"
43888	//     },
43889	//     "reportId": {
43890	//       "description": "The ID of the report.",
43891	//       "format": "int64",
43892	//       "location": "path",
43893	//       "required": true,
43894	//       "type": "string"
43895	//     }
43896	//   },
43897	//   "path": "userprofiles/{profileId}/reports/{reportId}",
43898	//   "response": {
43899	//     "$ref": "Report"
43900	//   },
43901	//   "scopes": [
43902	//     "https://www.googleapis.com/auth/dfareporting"
43903	//   ]
43904	// }
43905
43906}
43907
43908// method id "dfareporting.reports.insert":
43909
43910type ReportsInsertCall struct {
43911	s          *Service
43912	profileId  int64
43913	report     *Report
43914	urlParams_ gensupport.URLParams
43915	ctx_       context.Context
43916	header_    http.Header
43917}
43918
43919// Insert: Creates a report.
43920func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
43921	c := &ReportsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43922	c.profileId = profileId
43923	c.report = report
43924	return c
43925}
43926
43927// Fields allows partial responses to be retrieved. See
43928// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43929// for more information.
43930func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
43931	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43932	return c
43933}
43934
43935// Context sets the context to be used in this call's Do method. Any
43936// pending HTTP request will be aborted if the provided context is
43937// canceled.
43938func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
43939	c.ctx_ = ctx
43940	return c
43941}
43942
43943// Header returns an http.Header that can be modified by the caller to
43944// add HTTP headers to the request.
43945func (c *ReportsInsertCall) Header() http.Header {
43946	if c.header_ == nil {
43947		c.header_ = make(http.Header)
43948	}
43949	return c.header_
43950}
43951
43952func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
43953	reqHeaders := make(http.Header)
43954	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
43955	for k, v := range c.header_ {
43956		reqHeaders[k] = v
43957	}
43958	reqHeaders.Set("User-Agent", c.s.userAgent())
43959	var body io.Reader = nil
43960	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
43961	if err != nil {
43962		return nil, err
43963	}
43964	reqHeaders.Set("Content-Type", "application/json")
43965	c.urlParams_.Set("alt", alt)
43966	c.urlParams_.Set("prettyPrint", "false")
43967	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
43968	urls += "?" + c.urlParams_.Encode()
43969	req, err := http.NewRequest("POST", urls, body)
43970	if err != nil {
43971		return nil, err
43972	}
43973	req.Header = reqHeaders
43974	googleapi.Expand(req.URL, map[string]string{
43975		"profileId": strconv.FormatInt(c.profileId, 10),
43976	})
43977	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43978}
43979
43980// Do executes the "dfareporting.reports.insert" call.
43981// Exactly one of *Report or error will be non-nil. Any non-2xx status
43982// code is an error. Response headers are in either
43983// *Report.ServerResponse.Header or (if a response was returned at all)
43984// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
43985// check whether the returned error was because http.StatusNotModified
43986// was returned.
43987func (c *ReportsInsertCall) Do(opts ...googleapi.CallOption) (*Report, error) {
43988	gensupport.SetOptions(c.urlParams_, opts...)
43989	res, err := c.doRequest("json")
43990	if res != nil && res.StatusCode == http.StatusNotModified {
43991		if res.Body != nil {
43992			res.Body.Close()
43993		}
43994		return nil, &googleapi.Error{
43995			Code:   res.StatusCode,
43996			Header: res.Header,
43997		}
43998	}
43999	if err != nil {
44000		return nil, err
44001	}
44002	defer googleapi.CloseBody(res)
44003	if err := googleapi.CheckResponse(res); err != nil {
44004		return nil, err
44005	}
44006	ret := &Report{
44007		ServerResponse: googleapi.ServerResponse{
44008			Header:         res.Header,
44009			HTTPStatusCode: res.StatusCode,
44010		},
44011	}
44012	target := &ret
44013	if err := gensupport.DecodeResponse(target, res); err != nil {
44014		return nil, err
44015	}
44016	return ret, nil
44017	// {
44018	//   "description": "Creates a report.",
44019	//   "flatPath": "userprofiles/{profileId}/reports",
44020	//   "httpMethod": "POST",
44021	//   "id": "dfareporting.reports.insert",
44022	//   "parameterOrder": [
44023	//     "profileId"
44024	//   ],
44025	//   "parameters": {
44026	//     "profileId": {
44027	//       "description": "The DFA user profile ID.",
44028	//       "format": "int64",
44029	//       "location": "path",
44030	//       "required": true,
44031	//       "type": "string"
44032	//     }
44033	//   },
44034	//   "path": "userprofiles/{profileId}/reports",
44035	//   "request": {
44036	//     "$ref": "Report"
44037	//   },
44038	//   "response": {
44039	//     "$ref": "Report"
44040	//   },
44041	//   "scopes": [
44042	//     "https://www.googleapis.com/auth/dfareporting"
44043	//   ]
44044	// }
44045
44046}
44047
44048// method id "dfareporting.reports.list":
44049
44050type ReportsListCall struct {
44051	s            *Service
44052	profileId    int64
44053	urlParams_   gensupport.URLParams
44054	ifNoneMatch_ string
44055	ctx_         context.Context
44056	header_      http.Header
44057}
44058
44059// List: Retrieves list of reports.
44060func (r *ReportsService) List(profileId int64) *ReportsListCall {
44061	c := &ReportsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44062	c.profileId = profileId
44063	return c
44064}
44065
44066// MaxResults sets the optional parameter "maxResults": Maximum number
44067// of results to return.
44068func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
44069	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
44070	return c
44071}
44072
44073// PageToken sets the optional parameter "pageToken": The value of the
44074// nextToken from the previous result page.
44075func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
44076	c.urlParams_.Set("pageToken", pageToken)
44077	return c
44078}
44079
44080// Scope sets the optional parameter "scope": The scope that defines
44081// which results are returned.
44082//
44083// Possible values:
44084//   "ALL" - All reports in account.
44085//   "MINE" (default) - My reports.
44086func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
44087	c.urlParams_.Set("scope", scope)
44088	return c
44089}
44090
44091// SortField sets the optional parameter "sortField": The field by which
44092// to sort the list.
44093//
44094// Possible values:
44095//   "ID" - Sort by report ID.
44096//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
44097//   "NAME" - Sort by name of reports.
44098func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
44099	c.urlParams_.Set("sortField", sortField)
44100	return c
44101}
44102
44103// SortOrder sets the optional parameter "sortOrder": Order of sorted
44104// results.
44105//
44106// Possible values:
44107//   "ASCENDING" - Ascending order.
44108//   "DESCENDING" (default) - Descending order.
44109func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
44110	c.urlParams_.Set("sortOrder", sortOrder)
44111	return c
44112}
44113
44114// Fields allows partial responses to be retrieved. See
44115// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44116// for more information.
44117func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
44118	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44119	return c
44120}
44121
44122// IfNoneMatch sets the optional parameter which makes the operation
44123// fail if the object's ETag matches the given value. This is useful for
44124// getting updates only after the object has changed since the last
44125// request. Use googleapi.IsNotModified to check whether the response
44126// error from Do is the result of In-None-Match.
44127func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
44128	c.ifNoneMatch_ = entityTag
44129	return c
44130}
44131
44132// Context sets the context to be used in this call's Do method. Any
44133// pending HTTP request will be aborted if the provided context is
44134// canceled.
44135func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
44136	c.ctx_ = ctx
44137	return c
44138}
44139
44140// Header returns an http.Header that can be modified by the caller to
44141// add HTTP headers to the request.
44142func (c *ReportsListCall) Header() http.Header {
44143	if c.header_ == nil {
44144		c.header_ = make(http.Header)
44145	}
44146	return c.header_
44147}
44148
44149func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
44150	reqHeaders := make(http.Header)
44151	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
44152	for k, v := range c.header_ {
44153		reqHeaders[k] = v
44154	}
44155	reqHeaders.Set("User-Agent", c.s.userAgent())
44156	if c.ifNoneMatch_ != "" {
44157		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44158	}
44159	var body io.Reader = nil
44160	c.urlParams_.Set("alt", alt)
44161	c.urlParams_.Set("prettyPrint", "false")
44162	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
44163	urls += "?" + c.urlParams_.Encode()
44164	req, err := http.NewRequest("GET", urls, body)
44165	if err != nil {
44166		return nil, err
44167	}
44168	req.Header = reqHeaders
44169	googleapi.Expand(req.URL, map[string]string{
44170		"profileId": strconv.FormatInt(c.profileId, 10),
44171	})
44172	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44173}
44174
44175// Do executes the "dfareporting.reports.list" call.
44176// Exactly one of *ReportList or error will be non-nil. Any non-2xx
44177// status code is an error. Response headers are in either
44178// *ReportList.ServerResponse.Header or (if a response was returned at
44179// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
44180// to check whether the returned error was because
44181// http.StatusNotModified was returned.
44182func (c *ReportsListCall) Do(opts ...googleapi.CallOption) (*ReportList, error) {
44183	gensupport.SetOptions(c.urlParams_, opts...)
44184	res, err := c.doRequest("json")
44185	if res != nil && res.StatusCode == http.StatusNotModified {
44186		if res.Body != nil {
44187			res.Body.Close()
44188		}
44189		return nil, &googleapi.Error{
44190			Code:   res.StatusCode,
44191			Header: res.Header,
44192		}
44193	}
44194	if err != nil {
44195		return nil, err
44196	}
44197	defer googleapi.CloseBody(res)
44198	if err := googleapi.CheckResponse(res); err != nil {
44199		return nil, err
44200	}
44201	ret := &ReportList{
44202		ServerResponse: googleapi.ServerResponse{
44203			Header:         res.Header,
44204			HTTPStatusCode: res.StatusCode,
44205		},
44206	}
44207	target := &ret
44208	if err := gensupport.DecodeResponse(target, res); err != nil {
44209		return nil, err
44210	}
44211	return ret, nil
44212	// {
44213	//   "description": "Retrieves list of reports.",
44214	//   "flatPath": "userprofiles/{profileId}/reports",
44215	//   "httpMethod": "GET",
44216	//   "id": "dfareporting.reports.list",
44217	//   "parameterOrder": [
44218	//     "profileId"
44219	//   ],
44220	//   "parameters": {
44221	//     "maxResults": {
44222	//       "default": "10",
44223	//       "description": "Maximum number of results to return.",
44224	//       "format": "int32",
44225	//       "location": "query",
44226	//       "maximum": "10",
44227	//       "minimum": "0",
44228	//       "type": "integer"
44229	//     },
44230	//     "pageToken": {
44231	//       "description": "The value of the nextToken from the previous result page.",
44232	//       "location": "query",
44233	//       "type": "string"
44234	//     },
44235	//     "profileId": {
44236	//       "description": "The DFA user profile ID.",
44237	//       "format": "int64",
44238	//       "location": "path",
44239	//       "required": true,
44240	//       "type": "string"
44241	//     },
44242	//     "scope": {
44243	//       "default": "MINE",
44244	//       "description": "The scope that defines which results are returned.",
44245	//       "enum": [
44246	//         "ALL",
44247	//         "MINE"
44248	//       ],
44249	//       "enumDescriptions": [
44250	//         "All reports in account.",
44251	//         "My reports."
44252	//       ],
44253	//       "location": "query",
44254	//       "type": "string"
44255	//     },
44256	//     "sortField": {
44257	//       "default": "LAST_MODIFIED_TIME",
44258	//       "description": "The field by which to sort the list.",
44259	//       "enum": [
44260	//         "ID",
44261	//         "LAST_MODIFIED_TIME",
44262	//         "NAME"
44263	//       ],
44264	//       "enumDescriptions": [
44265	//         "Sort by report ID.",
44266	//         "Sort by 'lastModifiedTime' field.",
44267	//         "Sort by name of reports."
44268	//       ],
44269	//       "location": "query",
44270	//       "type": "string"
44271	//     },
44272	//     "sortOrder": {
44273	//       "default": "DESCENDING",
44274	//       "description": "Order of sorted results.",
44275	//       "enum": [
44276	//         "ASCENDING",
44277	//         "DESCENDING"
44278	//       ],
44279	//       "enumDescriptions": [
44280	//         "Ascending order.",
44281	//         "Descending order."
44282	//       ],
44283	//       "location": "query",
44284	//       "type": "string"
44285	//     }
44286	//   },
44287	//   "path": "userprofiles/{profileId}/reports",
44288	//   "response": {
44289	//     "$ref": "ReportList"
44290	//   },
44291	//   "scopes": [
44292	//     "https://www.googleapis.com/auth/dfareporting"
44293	//   ]
44294	// }
44295
44296}
44297
44298// Pages invokes f for each page of results.
44299// A non-nil error returned from f will halt the iteration.
44300// The provided context supersedes any context provided to the Context method.
44301func (c *ReportsListCall) Pages(ctx context.Context, f func(*ReportList) error) error {
44302	c.ctx_ = ctx
44303	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
44304	for {
44305		x, err := c.Do()
44306		if err != nil {
44307			return err
44308		}
44309		if err := f(x); err != nil {
44310			return err
44311		}
44312		if x.NextPageToken == "" {
44313			return nil
44314		}
44315		c.PageToken(x.NextPageToken)
44316	}
44317}
44318
44319// method id "dfareporting.reports.patch":
44320
44321type ReportsPatchCall struct {
44322	s          *Service
44323	profileId  int64
44324	reportId   int64
44325	report     *Report
44326	urlParams_ gensupport.URLParams
44327	ctx_       context.Context
44328	header_    http.Header
44329}
44330
44331// Patch: Updates an existing report. This method supports patch
44332// semantics.
44333func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
44334	c := &ReportsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44335	c.profileId = profileId
44336	c.reportId = reportId
44337	c.report = report
44338	return c
44339}
44340
44341// Fields allows partial responses to be retrieved. See
44342// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44343// for more information.
44344func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
44345	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44346	return c
44347}
44348
44349// Context sets the context to be used in this call's Do method. Any
44350// pending HTTP request will be aborted if the provided context is
44351// canceled.
44352func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
44353	c.ctx_ = ctx
44354	return c
44355}
44356
44357// Header returns an http.Header that can be modified by the caller to
44358// add HTTP headers to the request.
44359func (c *ReportsPatchCall) Header() http.Header {
44360	if c.header_ == nil {
44361		c.header_ = make(http.Header)
44362	}
44363	return c.header_
44364}
44365
44366func (c *ReportsPatchCall) doRequest(alt string) (*http.Response, error) {
44367	reqHeaders := make(http.Header)
44368	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
44369	for k, v := range c.header_ {
44370		reqHeaders[k] = v
44371	}
44372	reqHeaders.Set("User-Agent", c.s.userAgent())
44373	var body io.Reader = nil
44374	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44375	if err != nil {
44376		return nil, err
44377	}
44378	reqHeaders.Set("Content-Type", "application/json")
44379	c.urlParams_.Set("alt", alt)
44380	c.urlParams_.Set("prettyPrint", "false")
44381	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44382	urls += "?" + c.urlParams_.Encode()
44383	req, err := http.NewRequest("PATCH", urls, body)
44384	if err != nil {
44385		return nil, err
44386	}
44387	req.Header = reqHeaders
44388	googleapi.Expand(req.URL, map[string]string{
44389		"profileId": strconv.FormatInt(c.profileId, 10),
44390		"reportId":  strconv.FormatInt(c.reportId, 10),
44391	})
44392	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44393}
44394
44395// Do executes the "dfareporting.reports.patch" call.
44396// Exactly one of *Report or error will be non-nil. Any non-2xx status
44397// code is an error. Response headers are in either
44398// *Report.ServerResponse.Header or (if a response was returned at all)
44399// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44400// check whether the returned error was because http.StatusNotModified
44401// was returned.
44402func (c *ReportsPatchCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44403	gensupport.SetOptions(c.urlParams_, opts...)
44404	res, err := c.doRequest("json")
44405	if res != nil && res.StatusCode == http.StatusNotModified {
44406		if res.Body != nil {
44407			res.Body.Close()
44408		}
44409		return nil, &googleapi.Error{
44410			Code:   res.StatusCode,
44411			Header: res.Header,
44412		}
44413	}
44414	if err != nil {
44415		return nil, err
44416	}
44417	defer googleapi.CloseBody(res)
44418	if err := googleapi.CheckResponse(res); err != nil {
44419		return nil, err
44420	}
44421	ret := &Report{
44422		ServerResponse: googleapi.ServerResponse{
44423			Header:         res.Header,
44424			HTTPStatusCode: res.StatusCode,
44425		},
44426	}
44427	target := &ret
44428	if err := gensupport.DecodeResponse(target, res); err != nil {
44429		return nil, err
44430	}
44431	return ret, nil
44432	// {
44433	//   "description": "Updates an existing report. This method supports patch semantics.",
44434	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
44435	//   "httpMethod": "PATCH",
44436	//   "id": "dfareporting.reports.patch",
44437	//   "parameterOrder": [
44438	//     "profileId",
44439	//     "reportId"
44440	//   ],
44441	//   "parameters": {
44442	//     "profileId": {
44443	//       "description": "The DFA user profile ID.",
44444	//       "format": "int64",
44445	//       "location": "path",
44446	//       "required": true,
44447	//       "type": "string"
44448	//     },
44449	//     "reportId": {
44450	//       "description": "The ID of the report.",
44451	//       "format": "int64",
44452	//       "location": "path",
44453	//       "required": true,
44454	//       "type": "string"
44455	//     }
44456	//   },
44457	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44458	//   "request": {
44459	//     "$ref": "Report"
44460	//   },
44461	//   "response": {
44462	//     "$ref": "Report"
44463	//   },
44464	//   "scopes": [
44465	//     "https://www.googleapis.com/auth/dfareporting"
44466	//   ]
44467	// }
44468
44469}
44470
44471// method id "dfareporting.reports.run":
44472
44473type ReportsRunCall struct {
44474	s          *Service
44475	profileId  int64
44476	reportId   int64
44477	urlParams_ gensupport.URLParams
44478	ctx_       context.Context
44479	header_    http.Header
44480}
44481
44482// Run: Runs a report.
44483func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
44484	c := &ReportsRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44485	c.profileId = profileId
44486	c.reportId = reportId
44487	return c
44488}
44489
44490// Synchronous sets the optional parameter "synchronous": If set and
44491// true, tries to run the report synchronously.
44492func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
44493	c.urlParams_.Set("synchronous", fmt.Sprint(synchronous))
44494	return c
44495}
44496
44497// Fields allows partial responses to be retrieved. See
44498// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44499// for more information.
44500func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
44501	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44502	return c
44503}
44504
44505// Context sets the context to be used in this call's Do method. Any
44506// pending HTTP request will be aborted if the provided context is
44507// canceled.
44508func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
44509	c.ctx_ = ctx
44510	return c
44511}
44512
44513// Header returns an http.Header that can be modified by the caller to
44514// add HTTP headers to the request.
44515func (c *ReportsRunCall) Header() http.Header {
44516	if c.header_ == nil {
44517		c.header_ = make(http.Header)
44518	}
44519	return c.header_
44520}
44521
44522func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
44523	reqHeaders := make(http.Header)
44524	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
44525	for k, v := range c.header_ {
44526		reqHeaders[k] = v
44527	}
44528	reqHeaders.Set("User-Agent", c.s.userAgent())
44529	var body io.Reader = nil
44530	c.urlParams_.Set("alt", alt)
44531	c.urlParams_.Set("prettyPrint", "false")
44532	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
44533	urls += "?" + c.urlParams_.Encode()
44534	req, err := http.NewRequest("POST", urls, body)
44535	if err != nil {
44536		return nil, err
44537	}
44538	req.Header = reqHeaders
44539	googleapi.Expand(req.URL, map[string]string{
44540		"profileId": strconv.FormatInt(c.profileId, 10),
44541		"reportId":  strconv.FormatInt(c.reportId, 10),
44542	})
44543	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44544}
44545
44546// Do executes the "dfareporting.reports.run" call.
44547// Exactly one of *File or error will be non-nil. Any non-2xx status
44548// code is an error. Response headers are in either
44549// *File.ServerResponse.Header or (if a response was returned at all) in
44550// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
44551// whether the returned error was because http.StatusNotModified was
44552// returned.
44553func (c *ReportsRunCall) Do(opts ...googleapi.CallOption) (*File, error) {
44554	gensupport.SetOptions(c.urlParams_, opts...)
44555	res, err := c.doRequest("json")
44556	if res != nil && res.StatusCode == http.StatusNotModified {
44557		if res.Body != nil {
44558			res.Body.Close()
44559		}
44560		return nil, &googleapi.Error{
44561			Code:   res.StatusCode,
44562			Header: res.Header,
44563		}
44564	}
44565	if err != nil {
44566		return nil, err
44567	}
44568	defer googleapi.CloseBody(res)
44569	if err := googleapi.CheckResponse(res); err != nil {
44570		return nil, err
44571	}
44572	ret := &File{
44573		ServerResponse: googleapi.ServerResponse{
44574			Header:         res.Header,
44575			HTTPStatusCode: res.StatusCode,
44576		},
44577	}
44578	target := &ret
44579	if err := gensupport.DecodeResponse(target, res); err != nil {
44580		return nil, err
44581	}
44582	return ret, nil
44583	// {
44584	//   "description": "Runs a report.",
44585	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/run",
44586	//   "httpMethod": "POST",
44587	//   "id": "dfareporting.reports.run",
44588	//   "parameterOrder": [
44589	//     "profileId",
44590	//     "reportId"
44591	//   ],
44592	//   "parameters": {
44593	//     "profileId": {
44594	//       "description": "The DFA profile ID.",
44595	//       "format": "int64",
44596	//       "location": "path",
44597	//       "required": true,
44598	//       "type": "string"
44599	//     },
44600	//     "reportId": {
44601	//       "description": "The ID of the report.",
44602	//       "format": "int64",
44603	//       "location": "path",
44604	//       "required": true,
44605	//       "type": "string"
44606	//     },
44607	//     "synchronous": {
44608	//       "default": "false",
44609	//       "description": "If set and true, tries to run the report synchronously.",
44610	//       "location": "query",
44611	//       "type": "boolean"
44612	//     }
44613	//   },
44614	//   "path": "userprofiles/{profileId}/reports/{reportId}/run",
44615	//   "response": {
44616	//     "$ref": "File"
44617	//   },
44618	//   "scopes": [
44619	//     "https://www.googleapis.com/auth/dfareporting"
44620	//   ]
44621	// }
44622
44623}
44624
44625// method id "dfareporting.reports.update":
44626
44627type ReportsUpdateCall struct {
44628	s          *Service
44629	profileId  int64
44630	reportId   int64
44631	report     *Report
44632	urlParams_ gensupport.URLParams
44633	ctx_       context.Context
44634	header_    http.Header
44635}
44636
44637// Update: Updates a report.
44638func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
44639	c := &ReportsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44640	c.profileId = profileId
44641	c.reportId = reportId
44642	c.report = report
44643	return c
44644}
44645
44646// Fields allows partial responses to be retrieved. See
44647// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44648// for more information.
44649func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
44650	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44651	return c
44652}
44653
44654// Context sets the context to be used in this call's Do method. Any
44655// pending HTTP request will be aborted if the provided context is
44656// canceled.
44657func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
44658	c.ctx_ = ctx
44659	return c
44660}
44661
44662// Header returns an http.Header that can be modified by the caller to
44663// add HTTP headers to the request.
44664func (c *ReportsUpdateCall) Header() http.Header {
44665	if c.header_ == nil {
44666		c.header_ = make(http.Header)
44667	}
44668	return c.header_
44669}
44670
44671func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
44672	reqHeaders := make(http.Header)
44673	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
44674	for k, v := range c.header_ {
44675		reqHeaders[k] = v
44676	}
44677	reqHeaders.Set("User-Agent", c.s.userAgent())
44678	var body io.Reader = nil
44679	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44680	if err != nil {
44681		return nil, err
44682	}
44683	reqHeaders.Set("Content-Type", "application/json")
44684	c.urlParams_.Set("alt", alt)
44685	c.urlParams_.Set("prettyPrint", "false")
44686	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44687	urls += "?" + c.urlParams_.Encode()
44688	req, err := http.NewRequest("PUT", urls, body)
44689	if err != nil {
44690		return nil, err
44691	}
44692	req.Header = reqHeaders
44693	googleapi.Expand(req.URL, map[string]string{
44694		"profileId": strconv.FormatInt(c.profileId, 10),
44695		"reportId":  strconv.FormatInt(c.reportId, 10),
44696	})
44697	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44698}
44699
44700// Do executes the "dfareporting.reports.update" call.
44701// Exactly one of *Report or error will be non-nil. Any non-2xx status
44702// code is an error. Response headers are in either
44703// *Report.ServerResponse.Header or (if a response was returned at all)
44704// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44705// check whether the returned error was because http.StatusNotModified
44706// was returned.
44707func (c *ReportsUpdateCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44708	gensupport.SetOptions(c.urlParams_, opts...)
44709	res, err := c.doRequest("json")
44710	if res != nil && res.StatusCode == http.StatusNotModified {
44711		if res.Body != nil {
44712			res.Body.Close()
44713		}
44714		return nil, &googleapi.Error{
44715			Code:   res.StatusCode,
44716			Header: res.Header,
44717		}
44718	}
44719	if err != nil {
44720		return nil, err
44721	}
44722	defer googleapi.CloseBody(res)
44723	if err := googleapi.CheckResponse(res); err != nil {
44724		return nil, err
44725	}
44726	ret := &Report{
44727		ServerResponse: googleapi.ServerResponse{
44728			Header:         res.Header,
44729			HTTPStatusCode: res.StatusCode,
44730		},
44731	}
44732	target := &ret
44733	if err := gensupport.DecodeResponse(target, res); err != nil {
44734		return nil, err
44735	}
44736	return ret, nil
44737	// {
44738	//   "description": "Updates a report.",
44739	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
44740	//   "httpMethod": "PUT",
44741	//   "id": "dfareporting.reports.update",
44742	//   "parameterOrder": [
44743	//     "profileId",
44744	//     "reportId"
44745	//   ],
44746	//   "parameters": {
44747	//     "profileId": {
44748	//       "description": "The DFA user profile ID.",
44749	//       "format": "int64",
44750	//       "location": "path",
44751	//       "required": true,
44752	//       "type": "string"
44753	//     },
44754	//     "reportId": {
44755	//       "description": "The ID of the report.",
44756	//       "format": "int64",
44757	//       "location": "path",
44758	//       "required": true,
44759	//       "type": "string"
44760	//     }
44761	//   },
44762	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44763	//   "request": {
44764	//     "$ref": "Report"
44765	//   },
44766	//   "response": {
44767	//     "$ref": "Report"
44768	//   },
44769	//   "scopes": [
44770	//     "https://www.googleapis.com/auth/dfareporting"
44771	//   ]
44772	// }
44773
44774}
44775
44776// method id "dfareporting.reports.compatibleFields.query":
44777
44778type ReportsCompatibleFieldsQueryCall struct {
44779	s          *Service
44780	profileId  int64
44781	report     *Report
44782	urlParams_ gensupport.URLParams
44783	ctx_       context.Context
44784	header_    http.Header
44785}
44786
44787// Query: Returns the fields that are compatible to be selected in the
44788// respective sections of a report criteria, given the fields already
44789// selected in the input report and user permissions.
44790func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
44791	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44792	c.profileId = profileId
44793	c.report = report
44794	return c
44795}
44796
44797// Fields allows partial responses to be retrieved. See
44798// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44799// for more information.
44800func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
44801	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44802	return c
44803}
44804
44805// Context sets the context to be used in this call's Do method. Any
44806// pending HTTP request will be aborted if the provided context is
44807// canceled.
44808func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
44809	c.ctx_ = ctx
44810	return c
44811}
44812
44813// Header returns an http.Header that can be modified by the caller to
44814// add HTTP headers to the request.
44815func (c *ReportsCompatibleFieldsQueryCall) Header() http.Header {
44816	if c.header_ == nil {
44817		c.header_ = make(http.Header)
44818	}
44819	return c.header_
44820}
44821
44822func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
44823	reqHeaders := make(http.Header)
44824	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
44825	for k, v := range c.header_ {
44826		reqHeaders[k] = v
44827	}
44828	reqHeaders.Set("User-Agent", c.s.userAgent())
44829	var body io.Reader = nil
44830	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44831	if err != nil {
44832		return nil, err
44833	}
44834	reqHeaders.Set("Content-Type", "application/json")
44835	c.urlParams_.Set("alt", alt)
44836	c.urlParams_.Set("prettyPrint", "false")
44837	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
44838	urls += "?" + c.urlParams_.Encode()
44839	req, err := http.NewRequest("POST", urls, body)
44840	if err != nil {
44841		return nil, err
44842	}
44843	req.Header = reqHeaders
44844	googleapi.Expand(req.URL, map[string]string{
44845		"profileId": strconv.FormatInt(c.profileId, 10),
44846	})
44847	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44848}
44849
44850// Do executes the "dfareporting.reports.compatibleFields.query" call.
44851// Exactly one of *CompatibleFields or error will be non-nil. Any
44852// non-2xx status code is an error. Response headers are in either
44853// *CompatibleFields.ServerResponse.Header or (if a response was
44854// returned at all) in error.(*googleapi.Error).Header. Use
44855// googleapi.IsNotModified to check whether the returned error was
44856// because http.StatusNotModified was returned.
44857func (c *ReportsCompatibleFieldsQueryCall) Do(opts ...googleapi.CallOption) (*CompatibleFields, error) {
44858	gensupport.SetOptions(c.urlParams_, opts...)
44859	res, err := c.doRequest("json")
44860	if res != nil && res.StatusCode == http.StatusNotModified {
44861		if res.Body != nil {
44862			res.Body.Close()
44863		}
44864		return nil, &googleapi.Error{
44865			Code:   res.StatusCode,
44866			Header: res.Header,
44867		}
44868	}
44869	if err != nil {
44870		return nil, err
44871	}
44872	defer googleapi.CloseBody(res)
44873	if err := googleapi.CheckResponse(res); err != nil {
44874		return nil, err
44875	}
44876	ret := &CompatibleFields{
44877		ServerResponse: googleapi.ServerResponse{
44878			Header:         res.Header,
44879			HTTPStatusCode: res.StatusCode,
44880		},
44881	}
44882	target := &ret
44883	if err := gensupport.DecodeResponse(target, res); err != nil {
44884		return nil, err
44885	}
44886	return ret, nil
44887	// {
44888	//   "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.",
44889	//   "flatPath": "userprofiles/{profileId}/reports/compatiblefields/query",
44890	//   "httpMethod": "POST",
44891	//   "id": "dfareporting.reports.compatibleFields.query",
44892	//   "parameterOrder": [
44893	//     "profileId"
44894	//   ],
44895	//   "parameters": {
44896	//     "profileId": {
44897	//       "description": "The DFA user profile ID.",
44898	//       "format": "int64",
44899	//       "location": "path",
44900	//       "required": true,
44901	//       "type": "string"
44902	//     }
44903	//   },
44904	//   "path": "userprofiles/{profileId}/reports/compatiblefields/query",
44905	//   "request": {
44906	//     "$ref": "Report"
44907	//   },
44908	//   "response": {
44909	//     "$ref": "CompatibleFields"
44910	//   },
44911	//   "scopes": [
44912	//     "https://www.googleapis.com/auth/dfareporting"
44913	//   ]
44914	// }
44915
44916}
44917
44918// method id "dfareporting.reports.files.get":
44919
44920type ReportsFilesGetCall struct {
44921	s            *Service
44922	profileId    int64
44923	reportId     int64
44924	fileId       int64
44925	urlParams_   gensupport.URLParams
44926	ifNoneMatch_ string
44927	ctx_         context.Context
44928	header_      http.Header
44929}
44930
44931// Get: Retrieves a report file by its report ID and file ID. This
44932// method supports media download.
44933func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
44934	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44935	c.profileId = profileId
44936	c.reportId = reportId
44937	c.fileId = fileId
44938	return c
44939}
44940
44941// Fields allows partial responses to be retrieved. See
44942// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44943// for more information.
44944func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
44945	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44946	return c
44947}
44948
44949// IfNoneMatch sets the optional parameter which makes the operation
44950// fail if the object's ETag matches the given value. This is useful for
44951// getting updates only after the object has changed since the last
44952// request. Use googleapi.IsNotModified to check whether the response
44953// error from Do is the result of In-None-Match.
44954func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
44955	c.ifNoneMatch_ = entityTag
44956	return c
44957}
44958
44959// Context sets the context to be used in this call's Do and Download
44960// methods. Any pending HTTP request will be aborted if the provided
44961// context is canceled.
44962func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
44963	c.ctx_ = ctx
44964	return c
44965}
44966
44967// Header returns an http.Header that can be modified by the caller to
44968// add HTTP headers to the request.
44969func (c *ReportsFilesGetCall) Header() http.Header {
44970	if c.header_ == nil {
44971		c.header_ = make(http.Header)
44972	}
44973	return c.header_
44974}
44975
44976func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
44977	reqHeaders := make(http.Header)
44978	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
44979	for k, v := range c.header_ {
44980		reqHeaders[k] = v
44981	}
44982	reqHeaders.Set("User-Agent", c.s.userAgent())
44983	if c.ifNoneMatch_ != "" {
44984		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44985	}
44986	var body io.Reader = nil
44987	c.urlParams_.Set("alt", alt)
44988	c.urlParams_.Set("prettyPrint", "false")
44989	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
44990	urls += "?" + c.urlParams_.Encode()
44991	req, err := http.NewRequest("GET", urls, body)
44992	if err != nil {
44993		return nil, err
44994	}
44995	req.Header = reqHeaders
44996	googleapi.Expand(req.URL, map[string]string{
44997		"profileId": strconv.FormatInt(c.profileId, 10),
44998		"reportId":  strconv.FormatInt(c.reportId, 10),
44999		"fileId":    strconv.FormatInt(c.fileId, 10),
45000	})
45001	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45002}
45003
45004// Download fetches the API endpoint's "media" value, instead of the normal
45005// API response value. If the returned error is nil, the Response is guaranteed to
45006// have a 2xx status code. Callers must close the Response.Body as usual.
45007func (c *ReportsFilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
45008	gensupport.SetOptions(c.urlParams_, opts...)
45009	res, err := c.doRequest("media")
45010	if err != nil {
45011		return nil, err
45012	}
45013	if err := googleapi.CheckMediaResponse(res); err != nil {
45014		res.Body.Close()
45015		return nil, err
45016	}
45017	return res, nil
45018}
45019
45020// Do executes the "dfareporting.reports.files.get" call.
45021// Exactly one of *File or error will be non-nil. Any non-2xx status
45022// code is an error. Response headers are in either
45023// *File.ServerResponse.Header or (if a response was returned at all) in
45024// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45025// whether the returned error was because http.StatusNotModified was
45026// returned.
45027func (c *ReportsFilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
45028	gensupport.SetOptions(c.urlParams_, opts...)
45029	res, err := c.doRequest("json")
45030	if res != nil && res.StatusCode == http.StatusNotModified {
45031		if res.Body != nil {
45032			res.Body.Close()
45033		}
45034		return nil, &googleapi.Error{
45035			Code:   res.StatusCode,
45036			Header: res.Header,
45037		}
45038	}
45039	if err != nil {
45040		return nil, err
45041	}
45042	defer googleapi.CloseBody(res)
45043	if err := googleapi.CheckResponse(res); err != nil {
45044		return nil, err
45045	}
45046	ret := &File{
45047		ServerResponse: googleapi.ServerResponse{
45048			Header:         res.Header,
45049			HTTPStatusCode: res.StatusCode,
45050		},
45051	}
45052	target := &ret
45053	if err := gensupport.DecodeResponse(target, res); err != nil {
45054		return nil, err
45055	}
45056	return ret, nil
45057	// {
45058	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
45059	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
45060	//   "httpMethod": "GET",
45061	//   "id": "dfareporting.reports.files.get",
45062	//   "parameterOrder": [
45063	//     "profileId",
45064	//     "reportId",
45065	//     "fileId"
45066	//   ],
45067	//   "parameters": {
45068	//     "fileId": {
45069	//       "description": "The ID of the report file.",
45070	//       "format": "int64",
45071	//       "location": "path",
45072	//       "required": true,
45073	//       "type": "string"
45074	//     },
45075	//     "profileId": {
45076	//       "description": "The DFA user profile ID.",
45077	//       "format": "int64",
45078	//       "location": "path",
45079	//       "required": true,
45080	//       "type": "string"
45081	//     },
45082	//     "reportId": {
45083	//       "description": "The ID of the report.",
45084	//       "format": "int64",
45085	//       "location": "path",
45086	//       "required": true,
45087	//       "type": "string"
45088	//     }
45089	//   },
45090	//   "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
45091	//   "response": {
45092	//     "$ref": "File"
45093	//   },
45094	//   "scopes": [
45095	//     "https://www.googleapis.com/auth/dfareporting"
45096	//   ],
45097	//   "supportsMediaDownload": true
45098	// }
45099
45100}
45101
45102// method id "dfareporting.reports.files.list":
45103
45104type ReportsFilesListCall struct {
45105	s            *Service
45106	profileId    int64
45107	reportId     int64
45108	urlParams_   gensupport.URLParams
45109	ifNoneMatch_ string
45110	ctx_         context.Context
45111	header_      http.Header
45112}
45113
45114// List: Lists files for a report.
45115func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
45116	c := &ReportsFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45117	c.profileId = profileId
45118	c.reportId = reportId
45119	return c
45120}
45121
45122// MaxResults sets the optional parameter "maxResults": Maximum number
45123// of results to return.
45124func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
45125	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
45126	return c
45127}
45128
45129// PageToken sets the optional parameter "pageToken": The value of the
45130// nextToken from the previous result page.
45131func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
45132	c.urlParams_.Set("pageToken", pageToken)
45133	return c
45134}
45135
45136// SortField sets the optional parameter "sortField": The field by which
45137// to sort the list.
45138//
45139// Possible values:
45140//   "ID"
45141//   "LAST_MODIFIED_TIME" (default)
45142func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
45143	c.urlParams_.Set("sortField", sortField)
45144	return c
45145}
45146
45147// SortOrder sets the optional parameter "sortOrder": Order of sorted
45148// results.
45149//
45150// Possible values:
45151//   "ASCENDING"
45152//   "DESCENDING" (default)
45153func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
45154	c.urlParams_.Set("sortOrder", sortOrder)
45155	return c
45156}
45157
45158// Fields allows partial responses to be retrieved. See
45159// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45160// for more information.
45161func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
45162	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45163	return c
45164}
45165
45166// IfNoneMatch sets the optional parameter which makes the operation
45167// fail if the object's ETag matches the given value. This is useful for
45168// getting updates only after the object has changed since the last
45169// request. Use googleapi.IsNotModified to check whether the response
45170// error from Do is the result of In-None-Match.
45171func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
45172	c.ifNoneMatch_ = entityTag
45173	return c
45174}
45175
45176// Context sets the context to be used in this call's Do method. Any
45177// pending HTTP request will be aborted if the provided context is
45178// canceled.
45179func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
45180	c.ctx_ = ctx
45181	return c
45182}
45183
45184// Header returns an http.Header that can be modified by the caller to
45185// add HTTP headers to the request.
45186func (c *ReportsFilesListCall) Header() http.Header {
45187	if c.header_ == nil {
45188		c.header_ = make(http.Header)
45189	}
45190	return c.header_
45191}
45192
45193func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
45194	reqHeaders := make(http.Header)
45195	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
45196	for k, v := range c.header_ {
45197		reqHeaders[k] = v
45198	}
45199	reqHeaders.Set("User-Agent", c.s.userAgent())
45200	if c.ifNoneMatch_ != "" {
45201		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45202	}
45203	var body io.Reader = nil
45204	c.urlParams_.Set("alt", alt)
45205	c.urlParams_.Set("prettyPrint", "false")
45206	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
45207	urls += "?" + c.urlParams_.Encode()
45208	req, err := http.NewRequest("GET", urls, body)
45209	if err != nil {
45210		return nil, err
45211	}
45212	req.Header = reqHeaders
45213	googleapi.Expand(req.URL, map[string]string{
45214		"profileId": strconv.FormatInt(c.profileId, 10),
45215		"reportId":  strconv.FormatInt(c.reportId, 10),
45216	})
45217	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45218}
45219
45220// Do executes the "dfareporting.reports.files.list" call.
45221// Exactly one of *FileList or error will be non-nil. Any non-2xx status
45222// code is an error. Response headers are in either
45223// *FileList.ServerResponse.Header or (if a response was returned at
45224// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
45225// to check whether the returned error was because
45226// http.StatusNotModified was returned.
45227func (c *ReportsFilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
45228	gensupport.SetOptions(c.urlParams_, opts...)
45229	res, err := c.doRequest("json")
45230	if res != nil && res.StatusCode == http.StatusNotModified {
45231		if res.Body != nil {
45232			res.Body.Close()
45233		}
45234		return nil, &googleapi.Error{
45235			Code:   res.StatusCode,
45236			Header: res.Header,
45237		}
45238	}
45239	if err != nil {
45240		return nil, err
45241	}
45242	defer googleapi.CloseBody(res)
45243	if err := googleapi.CheckResponse(res); err != nil {
45244		return nil, err
45245	}
45246	ret := &FileList{
45247		ServerResponse: googleapi.ServerResponse{
45248			Header:         res.Header,
45249			HTTPStatusCode: res.StatusCode,
45250		},
45251	}
45252	target := &ret
45253	if err := gensupport.DecodeResponse(target, res); err != nil {
45254		return nil, err
45255	}
45256	return ret, nil
45257	// {
45258	//   "description": "Lists files for a report.",
45259	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/files",
45260	//   "httpMethod": "GET",
45261	//   "id": "dfareporting.reports.files.list",
45262	//   "parameterOrder": [
45263	//     "profileId",
45264	//     "reportId"
45265	//   ],
45266	//   "parameters": {
45267	//     "maxResults": {
45268	//       "default": "10",
45269	//       "description": "Maximum number of results to return.",
45270	//       "format": "int32",
45271	//       "location": "query",
45272	//       "maximum": "10",
45273	//       "minimum": "0",
45274	//       "type": "integer"
45275	//     },
45276	//     "pageToken": {
45277	//       "description": "The value of the nextToken from the previous result page.",
45278	//       "location": "query",
45279	//       "type": "string"
45280	//     },
45281	//     "profileId": {
45282	//       "description": "The DFA profile ID.",
45283	//       "format": "int64",
45284	//       "location": "path",
45285	//       "required": true,
45286	//       "type": "string"
45287	//     },
45288	//     "reportId": {
45289	//       "description": "The ID of the parent report.",
45290	//       "format": "int64",
45291	//       "location": "path",
45292	//       "required": true,
45293	//       "type": "string"
45294	//     },
45295	//     "sortField": {
45296	//       "default": "LAST_MODIFIED_TIME",
45297	//       "description": "The field by which to sort the list.",
45298	//       "enum": [
45299	//         "ID",
45300	//         "LAST_MODIFIED_TIME"
45301	//       ],
45302	//       "enumDescriptions": [
45303	//         "",
45304	//         ""
45305	//       ],
45306	//       "location": "query",
45307	//       "type": "string"
45308	//     },
45309	//     "sortOrder": {
45310	//       "default": "DESCENDING",
45311	//       "description": "Order of sorted results.",
45312	//       "enum": [
45313	//         "ASCENDING",
45314	//         "DESCENDING"
45315	//       ],
45316	//       "enumDescriptions": [
45317	//         "",
45318	//         ""
45319	//       ],
45320	//       "location": "query",
45321	//       "type": "string"
45322	//     }
45323	//   },
45324	//   "path": "userprofiles/{profileId}/reports/{reportId}/files",
45325	//   "response": {
45326	//     "$ref": "FileList"
45327	//   },
45328	//   "scopes": [
45329	//     "https://www.googleapis.com/auth/dfareporting"
45330	//   ]
45331	// }
45332
45333}
45334
45335// Pages invokes f for each page of results.
45336// A non-nil error returned from f will halt the iteration.
45337// The provided context supersedes any context provided to the Context method.
45338func (c *ReportsFilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
45339	c.ctx_ = ctx
45340	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
45341	for {
45342		x, err := c.Do()
45343		if err != nil {
45344			return err
45345		}
45346		if err := f(x); err != nil {
45347			return err
45348		}
45349		if x.NextPageToken == "" {
45350			return nil
45351		}
45352		c.PageToken(x.NextPageToken)
45353	}
45354}
45355
45356// method id "dfareporting.sites.get":
45357
45358type SitesGetCall struct {
45359	s            *Service
45360	profileId    int64
45361	id           int64
45362	urlParams_   gensupport.URLParams
45363	ifNoneMatch_ string
45364	ctx_         context.Context
45365	header_      http.Header
45366}
45367
45368// Get: Gets one site by ID.
45369func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
45370	c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45371	c.profileId = profileId
45372	c.id = id
45373	return c
45374}
45375
45376// Fields allows partial responses to be retrieved. See
45377// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45378// for more information.
45379func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
45380	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45381	return c
45382}
45383
45384// IfNoneMatch sets the optional parameter which makes the operation
45385// fail if the object's ETag matches the given value. This is useful for
45386// getting updates only after the object has changed since the last
45387// request. Use googleapi.IsNotModified to check whether the response
45388// error from Do is the result of In-None-Match.
45389func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
45390	c.ifNoneMatch_ = entityTag
45391	return c
45392}
45393
45394// Context sets the context to be used in this call's Do method. Any
45395// pending HTTP request will be aborted if the provided context is
45396// canceled.
45397func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
45398	c.ctx_ = ctx
45399	return c
45400}
45401
45402// Header returns an http.Header that can be modified by the caller to
45403// add HTTP headers to the request.
45404func (c *SitesGetCall) Header() http.Header {
45405	if c.header_ == nil {
45406		c.header_ = make(http.Header)
45407	}
45408	return c.header_
45409}
45410
45411func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
45412	reqHeaders := make(http.Header)
45413	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
45414	for k, v := range c.header_ {
45415		reqHeaders[k] = v
45416	}
45417	reqHeaders.Set("User-Agent", c.s.userAgent())
45418	if c.ifNoneMatch_ != "" {
45419		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45420	}
45421	var body io.Reader = nil
45422	c.urlParams_.Set("alt", alt)
45423	c.urlParams_.Set("prettyPrint", "false")
45424	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
45425	urls += "?" + c.urlParams_.Encode()
45426	req, err := http.NewRequest("GET", urls, body)
45427	if err != nil {
45428		return nil, err
45429	}
45430	req.Header = reqHeaders
45431	googleapi.Expand(req.URL, map[string]string{
45432		"profileId": strconv.FormatInt(c.profileId, 10),
45433		"id":        strconv.FormatInt(c.id, 10),
45434	})
45435	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45436}
45437
45438// Do executes the "dfareporting.sites.get" call.
45439// Exactly one of *Site or error will be non-nil. Any non-2xx status
45440// code is an error. Response headers are in either
45441// *Site.ServerResponse.Header or (if a response was returned at all) in
45442// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45443// whether the returned error was because http.StatusNotModified was
45444// returned.
45445func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*Site, error) {
45446	gensupport.SetOptions(c.urlParams_, opts...)
45447	res, err := c.doRequest("json")
45448	if res != nil && res.StatusCode == http.StatusNotModified {
45449		if res.Body != nil {
45450			res.Body.Close()
45451		}
45452		return nil, &googleapi.Error{
45453			Code:   res.StatusCode,
45454			Header: res.Header,
45455		}
45456	}
45457	if err != nil {
45458		return nil, err
45459	}
45460	defer googleapi.CloseBody(res)
45461	if err := googleapi.CheckResponse(res); err != nil {
45462		return nil, err
45463	}
45464	ret := &Site{
45465		ServerResponse: googleapi.ServerResponse{
45466			Header:         res.Header,
45467			HTTPStatusCode: res.StatusCode,
45468		},
45469	}
45470	target := &ret
45471	if err := gensupport.DecodeResponse(target, res); err != nil {
45472		return nil, err
45473	}
45474	return ret, nil
45475	// {
45476	//   "description": "Gets one site by ID.",
45477	//   "flatPath": "userprofiles/{profileId}/sites/{id}",
45478	//   "httpMethod": "GET",
45479	//   "id": "dfareporting.sites.get",
45480	//   "parameterOrder": [
45481	//     "profileId",
45482	//     "id"
45483	//   ],
45484	//   "parameters": {
45485	//     "id": {
45486	//       "description": "Site ID.",
45487	//       "format": "int64",
45488	//       "location": "path",
45489	//       "required": true,
45490	//       "type": "string"
45491	//     },
45492	//     "profileId": {
45493	//       "description": "User profile ID associated with this request.",
45494	//       "format": "int64",
45495	//       "location": "path",
45496	//       "required": true,
45497	//       "type": "string"
45498	//     }
45499	//   },
45500	//   "path": "userprofiles/{profileId}/sites/{id}",
45501	//   "response": {
45502	//     "$ref": "Site"
45503	//   },
45504	//   "scopes": [
45505	//     "https://www.googleapis.com/auth/dfatrafficking"
45506	//   ]
45507	// }
45508
45509}
45510
45511// method id "dfareporting.sites.insert":
45512
45513type SitesInsertCall struct {
45514	s          *Service
45515	profileId  int64
45516	site       *Site
45517	urlParams_ gensupport.URLParams
45518	ctx_       context.Context
45519	header_    http.Header
45520}
45521
45522// Insert: Inserts a new site.
45523func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
45524	c := &SitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45525	c.profileId = profileId
45526	c.site = site
45527	return c
45528}
45529
45530// Fields allows partial responses to be retrieved. See
45531// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45532// for more information.
45533func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
45534	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45535	return c
45536}
45537
45538// Context sets the context to be used in this call's Do method. Any
45539// pending HTTP request will be aborted if the provided context is
45540// canceled.
45541func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
45542	c.ctx_ = ctx
45543	return c
45544}
45545
45546// Header returns an http.Header that can be modified by the caller to
45547// add HTTP headers to the request.
45548func (c *SitesInsertCall) Header() http.Header {
45549	if c.header_ == nil {
45550		c.header_ = make(http.Header)
45551	}
45552	return c.header_
45553}
45554
45555func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
45556	reqHeaders := make(http.Header)
45557	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
45558	for k, v := range c.header_ {
45559		reqHeaders[k] = v
45560	}
45561	reqHeaders.Set("User-Agent", c.s.userAgent())
45562	var body io.Reader = nil
45563	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
45564	if err != nil {
45565		return nil, err
45566	}
45567	reqHeaders.Set("Content-Type", "application/json")
45568	c.urlParams_.Set("alt", alt)
45569	c.urlParams_.Set("prettyPrint", "false")
45570	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
45571	urls += "?" + c.urlParams_.Encode()
45572	req, err := http.NewRequest("POST", urls, body)
45573	if err != nil {
45574		return nil, err
45575	}
45576	req.Header = reqHeaders
45577	googleapi.Expand(req.URL, map[string]string{
45578		"profileId": strconv.FormatInt(c.profileId, 10),
45579	})
45580	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45581}
45582
45583// Do executes the "dfareporting.sites.insert" call.
45584// Exactly one of *Site or error will be non-nil. Any non-2xx status
45585// code is an error. Response headers are in either
45586// *Site.ServerResponse.Header or (if a response was returned at all) in
45587// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45588// whether the returned error was because http.StatusNotModified was
45589// returned.
45590func (c *SitesInsertCall) Do(opts ...googleapi.CallOption) (*Site, error) {
45591	gensupport.SetOptions(c.urlParams_, opts...)
45592	res, err := c.doRequest("json")
45593	if res != nil && res.StatusCode == http.StatusNotModified {
45594		if res.Body != nil {
45595			res.Body.Close()
45596		}
45597		return nil, &googleapi.Error{
45598			Code:   res.StatusCode,
45599			Header: res.Header,
45600		}
45601	}
45602	if err != nil {
45603		return nil, err
45604	}
45605	defer googleapi.CloseBody(res)
45606	if err := googleapi.CheckResponse(res); err != nil {
45607		return nil, err
45608	}
45609	ret := &Site{
45610		ServerResponse: googleapi.ServerResponse{
45611			Header:         res.Header,
45612			HTTPStatusCode: res.StatusCode,
45613		},
45614	}
45615	target := &ret
45616	if err := gensupport.DecodeResponse(target, res); err != nil {
45617		return nil, err
45618	}
45619	return ret, nil
45620	// {
45621	//   "description": "Inserts a new site.",
45622	//   "flatPath": "userprofiles/{profileId}/sites",
45623	//   "httpMethod": "POST",
45624	//   "id": "dfareporting.sites.insert",
45625	//   "parameterOrder": [
45626	//     "profileId"
45627	//   ],
45628	//   "parameters": {
45629	//     "profileId": {
45630	//       "description": "User profile ID associated with this request.",
45631	//       "format": "int64",
45632	//       "location": "path",
45633	//       "required": true,
45634	//       "type": "string"
45635	//     }
45636	//   },
45637	//   "path": "userprofiles/{profileId}/sites",
45638	//   "request": {
45639	//     "$ref": "Site"
45640	//   },
45641	//   "response": {
45642	//     "$ref": "Site"
45643	//   },
45644	//   "scopes": [
45645	//     "https://www.googleapis.com/auth/dfatrafficking"
45646	//   ]
45647	// }
45648
45649}
45650
45651// method id "dfareporting.sites.list":
45652
45653type SitesListCall struct {
45654	s            *Service
45655	profileId    int64
45656	urlParams_   gensupport.URLParams
45657	ifNoneMatch_ string
45658	ctx_         context.Context
45659	header_      http.Header
45660}
45661
45662// List: Retrieves a list of sites, possibly filtered. This method
45663// supports paging.
45664func (r *SitesService) List(profileId int64) *SitesListCall {
45665	c := &SitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45666	c.profileId = profileId
45667	return c
45668}
45669
45670// AcceptsInStreamVideoPlacements sets the optional parameter
45671// "acceptsInStreamVideoPlacements": This search filter is no longer
45672// supported and will have no effect on the results returned.
45673func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
45674	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
45675	return c
45676}
45677
45678// AcceptsInterstitialPlacements sets the optional parameter
45679// "acceptsInterstitialPlacements": This search filter is no longer
45680// supported and will have no effect on the results returned.
45681func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
45682	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
45683	return c
45684}
45685
45686// AcceptsPublisherPaidPlacements sets the optional parameter
45687// "acceptsPublisherPaidPlacements": Select only sites that accept
45688// publisher paid placements.
45689func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
45690	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
45691	return c
45692}
45693
45694// AdWordsSite sets the optional parameter "adWordsSite": Select only
45695// AdWords sites.
45696func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
45697	c.urlParams_.Set("adWordsSite", fmt.Sprint(adWordsSite))
45698	return c
45699}
45700
45701// Approved sets the optional parameter "approved": Select only approved
45702// sites.
45703func (c *SitesListCall) Approved(approved bool) *SitesListCall {
45704	c.urlParams_.Set("approved", fmt.Sprint(approved))
45705	return c
45706}
45707
45708// CampaignIds sets the optional parameter "campaignIds": Select only
45709// sites with these campaign IDs.
45710func (c *SitesListCall) CampaignIds(campaignIds ...int64) *SitesListCall {
45711	var campaignIds_ []string
45712	for _, v := range campaignIds {
45713		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
45714	}
45715	c.urlParams_.SetMulti("campaignIds", campaignIds_)
45716	return c
45717}
45718
45719// DirectorySiteIds sets the optional parameter "directorySiteIds":
45720// Select only sites with these directory site IDs.
45721func (c *SitesListCall) DirectorySiteIds(directorySiteIds ...int64) *SitesListCall {
45722	var directorySiteIds_ []string
45723	for _, v := range directorySiteIds {
45724		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
45725	}
45726	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
45727	return c
45728}
45729
45730// Ids sets the optional parameter "ids": Select only sites with these
45731// IDs.
45732func (c *SitesListCall) Ids(ids ...int64) *SitesListCall {
45733	var ids_ []string
45734	for _, v := range ids {
45735		ids_ = append(ids_, fmt.Sprint(v))
45736	}
45737	c.urlParams_.SetMulti("ids", ids_)
45738	return c
45739}
45740
45741// MaxResults sets the optional parameter "maxResults": Maximum number
45742// of results to return.
45743func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
45744	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
45745	return c
45746}
45747
45748// PageToken sets the optional parameter "pageToken": Value of the
45749// nextPageToken from the previous result page.
45750func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
45751	c.urlParams_.Set("pageToken", pageToken)
45752	return c
45753}
45754
45755// SearchString sets the optional parameter "searchString": Allows
45756// searching for objects by name, ID or keyName. Wildcards (*) are
45757// allowed. For example, "site*2015" will return objects with names like
45758// "site June 2015", "site April 2015", or simply "site 2015". Most of
45759// the searches also add wildcards implicitly at the start and the end
45760// of the search string. For example, a search string of "site" will
45761// match objects with name "my site", "site 2015", or simply "site".
45762func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
45763	c.urlParams_.Set("searchString", searchString)
45764	return c
45765}
45766
45767// SortField sets the optional parameter "sortField": Field by which to
45768// sort the list.
45769//
45770// Possible values:
45771//   "ID" (default)
45772//   "NAME"
45773func (c *SitesListCall) SortField(sortField string) *SitesListCall {
45774	c.urlParams_.Set("sortField", sortField)
45775	return c
45776}
45777
45778// SortOrder sets the optional parameter "sortOrder": Order of sorted
45779// results.
45780//
45781// Possible values:
45782//   "ASCENDING" (default)
45783//   "DESCENDING"
45784func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
45785	c.urlParams_.Set("sortOrder", sortOrder)
45786	return c
45787}
45788
45789// SubaccountId sets the optional parameter "subaccountId": Select only
45790// sites with this subaccount ID.
45791func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
45792	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
45793	return c
45794}
45795
45796// UnmappedSite sets the optional parameter "unmappedSite": Select only
45797// sites that have not been mapped to a directory site.
45798func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
45799	c.urlParams_.Set("unmappedSite", fmt.Sprint(unmappedSite))
45800	return c
45801}
45802
45803// Fields allows partial responses to be retrieved. See
45804// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45805// for more information.
45806func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
45807	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45808	return c
45809}
45810
45811// IfNoneMatch sets the optional parameter which makes the operation
45812// fail if the object's ETag matches the given value. This is useful for
45813// getting updates only after the object has changed since the last
45814// request. Use googleapi.IsNotModified to check whether the response
45815// error from Do is the result of In-None-Match.
45816func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
45817	c.ifNoneMatch_ = entityTag
45818	return c
45819}
45820
45821// Context sets the context to be used in this call's Do method. Any
45822// pending HTTP request will be aborted if the provided context is
45823// canceled.
45824func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
45825	c.ctx_ = ctx
45826	return c
45827}
45828
45829// Header returns an http.Header that can be modified by the caller to
45830// add HTTP headers to the request.
45831func (c *SitesListCall) Header() http.Header {
45832	if c.header_ == nil {
45833		c.header_ = make(http.Header)
45834	}
45835	return c.header_
45836}
45837
45838func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
45839	reqHeaders := make(http.Header)
45840	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
45841	for k, v := range c.header_ {
45842		reqHeaders[k] = v
45843	}
45844	reqHeaders.Set("User-Agent", c.s.userAgent())
45845	if c.ifNoneMatch_ != "" {
45846		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45847	}
45848	var body io.Reader = nil
45849	c.urlParams_.Set("alt", alt)
45850	c.urlParams_.Set("prettyPrint", "false")
45851	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
45852	urls += "?" + c.urlParams_.Encode()
45853	req, err := http.NewRequest("GET", urls, body)
45854	if err != nil {
45855		return nil, err
45856	}
45857	req.Header = reqHeaders
45858	googleapi.Expand(req.URL, map[string]string{
45859		"profileId": strconv.FormatInt(c.profileId, 10),
45860	})
45861	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45862}
45863
45864// Do executes the "dfareporting.sites.list" call.
45865// Exactly one of *SitesListResponse or error will be non-nil. Any
45866// non-2xx status code is an error. Response headers are in either
45867// *SitesListResponse.ServerResponse.Header or (if a response was
45868// returned at all) in error.(*googleapi.Error).Header. Use
45869// googleapi.IsNotModified to check whether the returned error was
45870// because http.StatusNotModified was returned.
45871func (c *SitesListCall) Do(opts ...googleapi.CallOption) (*SitesListResponse, error) {
45872	gensupport.SetOptions(c.urlParams_, opts...)
45873	res, err := c.doRequest("json")
45874	if res != nil && res.StatusCode == http.StatusNotModified {
45875		if res.Body != nil {
45876			res.Body.Close()
45877		}
45878		return nil, &googleapi.Error{
45879			Code:   res.StatusCode,
45880			Header: res.Header,
45881		}
45882	}
45883	if err != nil {
45884		return nil, err
45885	}
45886	defer googleapi.CloseBody(res)
45887	if err := googleapi.CheckResponse(res); err != nil {
45888		return nil, err
45889	}
45890	ret := &SitesListResponse{
45891		ServerResponse: googleapi.ServerResponse{
45892			Header:         res.Header,
45893			HTTPStatusCode: res.StatusCode,
45894		},
45895	}
45896	target := &ret
45897	if err := gensupport.DecodeResponse(target, res); err != nil {
45898		return nil, err
45899	}
45900	return ret, nil
45901	// {
45902	//   "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
45903	//   "flatPath": "userprofiles/{profileId}/sites",
45904	//   "httpMethod": "GET",
45905	//   "id": "dfareporting.sites.list",
45906	//   "parameterOrder": [
45907	//     "profileId"
45908	//   ],
45909	//   "parameters": {
45910	//     "acceptsInStreamVideoPlacements": {
45911	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
45912	//       "location": "query",
45913	//       "type": "boolean"
45914	//     },
45915	//     "acceptsInterstitialPlacements": {
45916	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
45917	//       "location": "query",
45918	//       "type": "boolean"
45919	//     },
45920	//     "acceptsPublisherPaidPlacements": {
45921	//       "description": "Select only sites that accept publisher paid placements.",
45922	//       "location": "query",
45923	//       "type": "boolean"
45924	//     },
45925	//     "adWordsSite": {
45926	//       "description": "Select only AdWords sites.",
45927	//       "location": "query",
45928	//       "type": "boolean"
45929	//     },
45930	//     "approved": {
45931	//       "description": "Select only approved sites.",
45932	//       "location": "query",
45933	//       "type": "boolean"
45934	//     },
45935	//     "campaignIds": {
45936	//       "description": "Select only sites with these campaign IDs.",
45937	//       "format": "int64",
45938	//       "location": "query",
45939	//       "repeated": true,
45940	//       "type": "string"
45941	//     },
45942	//     "directorySiteIds": {
45943	//       "description": "Select only sites with these directory site IDs.",
45944	//       "format": "int64",
45945	//       "location": "query",
45946	//       "repeated": true,
45947	//       "type": "string"
45948	//     },
45949	//     "ids": {
45950	//       "description": "Select only sites with these IDs.",
45951	//       "format": "int64",
45952	//       "location": "query",
45953	//       "repeated": true,
45954	//       "type": "string"
45955	//     },
45956	//     "maxResults": {
45957	//       "default": "1000",
45958	//       "description": "Maximum number of results to return.",
45959	//       "format": "int32",
45960	//       "location": "query",
45961	//       "maximum": "1000",
45962	//       "minimum": "0",
45963	//       "type": "integer"
45964	//     },
45965	//     "pageToken": {
45966	//       "description": "Value of the nextPageToken from the previous result page.",
45967	//       "location": "query",
45968	//       "type": "string"
45969	//     },
45970	//     "profileId": {
45971	//       "description": "User profile ID associated with this request.",
45972	//       "format": "int64",
45973	//       "location": "path",
45974	//       "required": true,
45975	//       "type": "string"
45976	//     },
45977	//     "searchString": {
45978	//       "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\".",
45979	//       "location": "query",
45980	//       "type": "string"
45981	//     },
45982	//     "sortField": {
45983	//       "default": "ID",
45984	//       "description": "Field by which to sort the list.",
45985	//       "enum": [
45986	//         "ID",
45987	//         "NAME"
45988	//       ],
45989	//       "enumDescriptions": [
45990	//         "",
45991	//         ""
45992	//       ],
45993	//       "location": "query",
45994	//       "type": "string"
45995	//     },
45996	//     "sortOrder": {
45997	//       "default": "ASCENDING",
45998	//       "description": "Order of sorted results.",
45999	//       "enum": [
46000	//         "ASCENDING",
46001	//         "DESCENDING"
46002	//       ],
46003	//       "enumDescriptions": [
46004	//         "",
46005	//         ""
46006	//       ],
46007	//       "location": "query",
46008	//       "type": "string"
46009	//     },
46010	//     "subaccountId": {
46011	//       "description": "Select only sites with this subaccount ID.",
46012	//       "format": "int64",
46013	//       "location": "query",
46014	//       "type": "string"
46015	//     },
46016	//     "unmappedSite": {
46017	//       "description": "Select only sites that have not been mapped to a directory site.",
46018	//       "location": "query",
46019	//       "type": "boolean"
46020	//     }
46021	//   },
46022	//   "path": "userprofiles/{profileId}/sites",
46023	//   "response": {
46024	//     "$ref": "SitesListResponse"
46025	//   },
46026	//   "scopes": [
46027	//     "https://www.googleapis.com/auth/dfatrafficking"
46028	//   ]
46029	// }
46030
46031}
46032
46033// Pages invokes f for each page of results.
46034// A non-nil error returned from f will halt the iteration.
46035// The provided context supersedes any context provided to the Context method.
46036func (c *SitesListCall) Pages(ctx context.Context, f func(*SitesListResponse) error) error {
46037	c.ctx_ = ctx
46038	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
46039	for {
46040		x, err := c.Do()
46041		if err != nil {
46042			return err
46043		}
46044		if err := f(x); err != nil {
46045			return err
46046		}
46047		if x.NextPageToken == "" {
46048			return nil
46049		}
46050		c.PageToken(x.NextPageToken)
46051	}
46052}
46053
46054// method id "dfareporting.sites.patch":
46055
46056type SitesPatchCall struct {
46057	s          *Service
46058	profileId  int64
46059	site       *Site
46060	urlParams_ gensupport.URLParams
46061	ctx_       context.Context
46062	header_    http.Header
46063}
46064
46065// Patch: Updates an existing site. This method supports patch
46066// semantics.
46067func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
46068	c := &SitesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46069	c.profileId = profileId
46070	c.urlParams_.Set("id", fmt.Sprint(id))
46071	c.site = site
46072	return c
46073}
46074
46075// Fields allows partial responses to be retrieved. See
46076// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46077// for more information.
46078func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
46079	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46080	return c
46081}
46082
46083// Context sets the context to be used in this call's Do method. Any
46084// pending HTTP request will be aborted if the provided context is
46085// canceled.
46086func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
46087	c.ctx_ = ctx
46088	return c
46089}
46090
46091// Header returns an http.Header that can be modified by the caller to
46092// add HTTP headers to the request.
46093func (c *SitesPatchCall) Header() http.Header {
46094	if c.header_ == nil {
46095		c.header_ = make(http.Header)
46096	}
46097	return c.header_
46098}
46099
46100func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
46101	reqHeaders := make(http.Header)
46102	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
46103	for k, v := range c.header_ {
46104		reqHeaders[k] = v
46105	}
46106	reqHeaders.Set("User-Agent", c.s.userAgent())
46107	var body io.Reader = nil
46108	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46109	if err != nil {
46110		return nil, err
46111	}
46112	reqHeaders.Set("Content-Type", "application/json")
46113	c.urlParams_.Set("alt", alt)
46114	c.urlParams_.Set("prettyPrint", "false")
46115	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46116	urls += "?" + c.urlParams_.Encode()
46117	req, err := http.NewRequest("PATCH", urls, body)
46118	if err != nil {
46119		return nil, err
46120	}
46121	req.Header = reqHeaders
46122	googleapi.Expand(req.URL, map[string]string{
46123		"profileId": strconv.FormatInt(c.profileId, 10),
46124	})
46125	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46126}
46127
46128// Do executes the "dfareporting.sites.patch" call.
46129// Exactly one of *Site or error will be non-nil. Any non-2xx status
46130// code is an error. Response headers are in either
46131// *Site.ServerResponse.Header or (if a response was returned at all) in
46132// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46133// whether the returned error was because http.StatusNotModified was
46134// returned.
46135func (c *SitesPatchCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46136	gensupport.SetOptions(c.urlParams_, opts...)
46137	res, err := c.doRequest("json")
46138	if res != nil && res.StatusCode == http.StatusNotModified {
46139		if res.Body != nil {
46140			res.Body.Close()
46141		}
46142		return nil, &googleapi.Error{
46143			Code:   res.StatusCode,
46144			Header: res.Header,
46145		}
46146	}
46147	if err != nil {
46148		return nil, err
46149	}
46150	defer googleapi.CloseBody(res)
46151	if err := googleapi.CheckResponse(res); err != nil {
46152		return nil, err
46153	}
46154	ret := &Site{
46155		ServerResponse: googleapi.ServerResponse{
46156			Header:         res.Header,
46157			HTTPStatusCode: res.StatusCode,
46158		},
46159	}
46160	target := &ret
46161	if err := gensupport.DecodeResponse(target, res); err != nil {
46162		return nil, err
46163	}
46164	return ret, nil
46165	// {
46166	//   "description": "Updates an existing site. This method supports patch semantics.",
46167	//   "flatPath": "userprofiles/{profileId}/sites",
46168	//   "httpMethod": "PATCH",
46169	//   "id": "dfareporting.sites.patch",
46170	//   "parameterOrder": [
46171	//     "profileId",
46172	//     "id"
46173	//   ],
46174	//   "parameters": {
46175	//     "id": {
46176	//       "description": "Site ID.",
46177	//       "format": "int64",
46178	//       "location": "query",
46179	//       "required": true,
46180	//       "type": "string"
46181	//     },
46182	//     "profileId": {
46183	//       "description": "User profile ID associated with this request.",
46184	//       "format": "int64",
46185	//       "location": "path",
46186	//       "required": true,
46187	//       "type": "string"
46188	//     }
46189	//   },
46190	//   "path": "userprofiles/{profileId}/sites",
46191	//   "request": {
46192	//     "$ref": "Site"
46193	//   },
46194	//   "response": {
46195	//     "$ref": "Site"
46196	//   },
46197	//   "scopes": [
46198	//     "https://www.googleapis.com/auth/dfatrafficking"
46199	//   ]
46200	// }
46201
46202}
46203
46204// method id "dfareporting.sites.update":
46205
46206type SitesUpdateCall struct {
46207	s          *Service
46208	profileId  int64
46209	site       *Site
46210	urlParams_ gensupport.URLParams
46211	ctx_       context.Context
46212	header_    http.Header
46213}
46214
46215// Update: Updates an existing site.
46216func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
46217	c := &SitesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46218	c.profileId = profileId
46219	c.site = site
46220	return c
46221}
46222
46223// Fields allows partial responses to be retrieved. See
46224// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46225// for more information.
46226func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
46227	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46228	return c
46229}
46230
46231// Context sets the context to be used in this call's Do method. Any
46232// pending HTTP request will be aborted if the provided context is
46233// canceled.
46234func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
46235	c.ctx_ = ctx
46236	return c
46237}
46238
46239// Header returns an http.Header that can be modified by the caller to
46240// add HTTP headers to the request.
46241func (c *SitesUpdateCall) Header() http.Header {
46242	if c.header_ == nil {
46243		c.header_ = make(http.Header)
46244	}
46245	return c.header_
46246}
46247
46248func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
46249	reqHeaders := make(http.Header)
46250	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
46251	for k, v := range c.header_ {
46252		reqHeaders[k] = v
46253	}
46254	reqHeaders.Set("User-Agent", c.s.userAgent())
46255	var body io.Reader = nil
46256	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46257	if err != nil {
46258		return nil, err
46259	}
46260	reqHeaders.Set("Content-Type", "application/json")
46261	c.urlParams_.Set("alt", alt)
46262	c.urlParams_.Set("prettyPrint", "false")
46263	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46264	urls += "?" + c.urlParams_.Encode()
46265	req, err := http.NewRequest("PUT", urls, body)
46266	if err != nil {
46267		return nil, err
46268	}
46269	req.Header = reqHeaders
46270	googleapi.Expand(req.URL, map[string]string{
46271		"profileId": strconv.FormatInt(c.profileId, 10),
46272	})
46273	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46274}
46275
46276// Do executes the "dfareporting.sites.update" call.
46277// Exactly one of *Site or error will be non-nil. Any non-2xx status
46278// code is an error. Response headers are in either
46279// *Site.ServerResponse.Header or (if a response was returned at all) in
46280// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46281// whether the returned error was because http.StatusNotModified was
46282// returned.
46283func (c *SitesUpdateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46284	gensupport.SetOptions(c.urlParams_, opts...)
46285	res, err := c.doRequest("json")
46286	if res != nil && res.StatusCode == http.StatusNotModified {
46287		if res.Body != nil {
46288			res.Body.Close()
46289		}
46290		return nil, &googleapi.Error{
46291			Code:   res.StatusCode,
46292			Header: res.Header,
46293		}
46294	}
46295	if err != nil {
46296		return nil, err
46297	}
46298	defer googleapi.CloseBody(res)
46299	if err := googleapi.CheckResponse(res); err != nil {
46300		return nil, err
46301	}
46302	ret := &Site{
46303		ServerResponse: googleapi.ServerResponse{
46304			Header:         res.Header,
46305			HTTPStatusCode: res.StatusCode,
46306		},
46307	}
46308	target := &ret
46309	if err := gensupport.DecodeResponse(target, res); err != nil {
46310		return nil, err
46311	}
46312	return ret, nil
46313	// {
46314	//   "description": "Updates an existing site.",
46315	//   "flatPath": "userprofiles/{profileId}/sites",
46316	//   "httpMethod": "PUT",
46317	//   "id": "dfareporting.sites.update",
46318	//   "parameterOrder": [
46319	//     "profileId"
46320	//   ],
46321	//   "parameters": {
46322	//     "profileId": {
46323	//       "description": "User profile ID associated with this request.",
46324	//       "format": "int64",
46325	//       "location": "path",
46326	//       "required": true,
46327	//       "type": "string"
46328	//     }
46329	//   },
46330	//   "path": "userprofiles/{profileId}/sites",
46331	//   "request": {
46332	//     "$ref": "Site"
46333	//   },
46334	//   "response": {
46335	//     "$ref": "Site"
46336	//   },
46337	//   "scopes": [
46338	//     "https://www.googleapis.com/auth/dfatrafficking"
46339	//   ]
46340	// }
46341
46342}
46343
46344// method id "dfareporting.sizes.get":
46345
46346type SizesGetCall struct {
46347	s            *Service
46348	profileId    int64
46349	id           int64
46350	urlParams_   gensupport.URLParams
46351	ifNoneMatch_ string
46352	ctx_         context.Context
46353	header_      http.Header
46354}
46355
46356// Get: Gets one size by ID.
46357func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
46358	c := &SizesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46359	c.profileId = profileId
46360	c.id = id
46361	return c
46362}
46363
46364// Fields allows partial responses to be retrieved. See
46365// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46366// for more information.
46367func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
46368	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46369	return c
46370}
46371
46372// IfNoneMatch sets the optional parameter which makes the operation
46373// fail if the object's ETag matches the given value. This is useful for
46374// getting updates only after the object has changed since the last
46375// request. Use googleapi.IsNotModified to check whether the response
46376// error from Do is the result of In-None-Match.
46377func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
46378	c.ifNoneMatch_ = entityTag
46379	return c
46380}
46381
46382// Context sets the context to be used in this call's Do method. Any
46383// pending HTTP request will be aborted if the provided context is
46384// canceled.
46385func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
46386	c.ctx_ = ctx
46387	return c
46388}
46389
46390// Header returns an http.Header that can be modified by the caller to
46391// add HTTP headers to the request.
46392func (c *SizesGetCall) Header() http.Header {
46393	if c.header_ == nil {
46394		c.header_ = make(http.Header)
46395	}
46396	return c.header_
46397}
46398
46399func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
46400	reqHeaders := make(http.Header)
46401	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
46402	for k, v := range c.header_ {
46403		reqHeaders[k] = v
46404	}
46405	reqHeaders.Set("User-Agent", c.s.userAgent())
46406	if c.ifNoneMatch_ != "" {
46407		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46408	}
46409	var body io.Reader = nil
46410	c.urlParams_.Set("alt", alt)
46411	c.urlParams_.Set("prettyPrint", "false")
46412	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
46413	urls += "?" + c.urlParams_.Encode()
46414	req, err := http.NewRequest("GET", urls, body)
46415	if err != nil {
46416		return nil, err
46417	}
46418	req.Header = reqHeaders
46419	googleapi.Expand(req.URL, map[string]string{
46420		"profileId": strconv.FormatInt(c.profileId, 10),
46421		"id":        strconv.FormatInt(c.id, 10),
46422	})
46423	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46424}
46425
46426// Do executes the "dfareporting.sizes.get" call.
46427// Exactly one of *Size or error will be non-nil. Any non-2xx status
46428// code is an error. Response headers are in either
46429// *Size.ServerResponse.Header or (if a response was returned at all) in
46430// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46431// whether the returned error was because http.StatusNotModified was
46432// returned.
46433func (c *SizesGetCall) Do(opts ...googleapi.CallOption) (*Size, error) {
46434	gensupport.SetOptions(c.urlParams_, opts...)
46435	res, err := c.doRequest("json")
46436	if res != nil && res.StatusCode == http.StatusNotModified {
46437		if res.Body != nil {
46438			res.Body.Close()
46439		}
46440		return nil, &googleapi.Error{
46441			Code:   res.StatusCode,
46442			Header: res.Header,
46443		}
46444	}
46445	if err != nil {
46446		return nil, err
46447	}
46448	defer googleapi.CloseBody(res)
46449	if err := googleapi.CheckResponse(res); err != nil {
46450		return nil, err
46451	}
46452	ret := &Size{
46453		ServerResponse: googleapi.ServerResponse{
46454			Header:         res.Header,
46455			HTTPStatusCode: res.StatusCode,
46456		},
46457	}
46458	target := &ret
46459	if err := gensupport.DecodeResponse(target, res); err != nil {
46460		return nil, err
46461	}
46462	return ret, nil
46463	// {
46464	//   "description": "Gets one size by ID.",
46465	//   "flatPath": "userprofiles/{profileId}/sizes/{id}",
46466	//   "httpMethod": "GET",
46467	//   "id": "dfareporting.sizes.get",
46468	//   "parameterOrder": [
46469	//     "profileId",
46470	//     "id"
46471	//   ],
46472	//   "parameters": {
46473	//     "id": {
46474	//       "description": "Size ID.",
46475	//       "format": "int64",
46476	//       "location": "path",
46477	//       "required": true,
46478	//       "type": "string"
46479	//     },
46480	//     "profileId": {
46481	//       "description": "User profile ID associated with this request.",
46482	//       "format": "int64",
46483	//       "location": "path",
46484	//       "required": true,
46485	//       "type": "string"
46486	//     }
46487	//   },
46488	//   "path": "userprofiles/{profileId}/sizes/{id}",
46489	//   "response": {
46490	//     "$ref": "Size"
46491	//   },
46492	//   "scopes": [
46493	//     "https://www.googleapis.com/auth/dfatrafficking"
46494	//   ]
46495	// }
46496
46497}
46498
46499// method id "dfareporting.sizes.insert":
46500
46501type SizesInsertCall struct {
46502	s          *Service
46503	profileId  int64
46504	size       *Size
46505	urlParams_ gensupport.URLParams
46506	ctx_       context.Context
46507	header_    http.Header
46508}
46509
46510// Insert: Inserts a new size.
46511func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
46512	c := &SizesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46513	c.profileId = profileId
46514	c.size = size
46515	return c
46516}
46517
46518// Fields allows partial responses to be retrieved. See
46519// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46520// for more information.
46521func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
46522	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46523	return c
46524}
46525
46526// Context sets the context to be used in this call's Do method. Any
46527// pending HTTP request will be aborted if the provided context is
46528// canceled.
46529func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
46530	c.ctx_ = ctx
46531	return c
46532}
46533
46534// Header returns an http.Header that can be modified by the caller to
46535// add HTTP headers to the request.
46536func (c *SizesInsertCall) Header() http.Header {
46537	if c.header_ == nil {
46538		c.header_ = make(http.Header)
46539	}
46540	return c.header_
46541}
46542
46543func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
46544	reqHeaders := make(http.Header)
46545	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
46546	for k, v := range c.header_ {
46547		reqHeaders[k] = v
46548	}
46549	reqHeaders.Set("User-Agent", c.s.userAgent())
46550	var body io.Reader = nil
46551	body, err := googleapi.WithoutDataWrapper.JSONReader(c.size)
46552	if err != nil {
46553		return nil, err
46554	}
46555	reqHeaders.Set("Content-Type", "application/json")
46556	c.urlParams_.Set("alt", alt)
46557	c.urlParams_.Set("prettyPrint", "false")
46558	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
46559	urls += "?" + c.urlParams_.Encode()
46560	req, err := http.NewRequest("POST", urls, body)
46561	if err != nil {
46562		return nil, err
46563	}
46564	req.Header = reqHeaders
46565	googleapi.Expand(req.URL, map[string]string{
46566		"profileId": strconv.FormatInt(c.profileId, 10),
46567	})
46568	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46569}
46570
46571// Do executes the "dfareporting.sizes.insert" call.
46572// Exactly one of *Size or error will be non-nil. Any non-2xx status
46573// code is an error. Response headers are in either
46574// *Size.ServerResponse.Header or (if a response was returned at all) in
46575// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46576// whether the returned error was because http.StatusNotModified was
46577// returned.
46578func (c *SizesInsertCall) Do(opts ...googleapi.CallOption) (*Size, error) {
46579	gensupport.SetOptions(c.urlParams_, opts...)
46580	res, err := c.doRequest("json")
46581	if res != nil && res.StatusCode == http.StatusNotModified {
46582		if res.Body != nil {
46583			res.Body.Close()
46584		}
46585		return nil, &googleapi.Error{
46586			Code:   res.StatusCode,
46587			Header: res.Header,
46588		}
46589	}
46590	if err != nil {
46591		return nil, err
46592	}
46593	defer googleapi.CloseBody(res)
46594	if err := googleapi.CheckResponse(res); err != nil {
46595		return nil, err
46596	}
46597	ret := &Size{
46598		ServerResponse: googleapi.ServerResponse{
46599			Header:         res.Header,
46600			HTTPStatusCode: res.StatusCode,
46601		},
46602	}
46603	target := &ret
46604	if err := gensupport.DecodeResponse(target, res); err != nil {
46605		return nil, err
46606	}
46607	return ret, nil
46608	// {
46609	//   "description": "Inserts a new size.",
46610	//   "flatPath": "userprofiles/{profileId}/sizes",
46611	//   "httpMethod": "POST",
46612	//   "id": "dfareporting.sizes.insert",
46613	//   "parameterOrder": [
46614	//     "profileId"
46615	//   ],
46616	//   "parameters": {
46617	//     "profileId": {
46618	//       "description": "User profile ID associated with this request.",
46619	//       "format": "int64",
46620	//       "location": "path",
46621	//       "required": true,
46622	//       "type": "string"
46623	//     }
46624	//   },
46625	//   "path": "userprofiles/{profileId}/sizes",
46626	//   "request": {
46627	//     "$ref": "Size"
46628	//   },
46629	//   "response": {
46630	//     "$ref": "Size"
46631	//   },
46632	//   "scopes": [
46633	//     "https://www.googleapis.com/auth/dfatrafficking"
46634	//   ]
46635	// }
46636
46637}
46638
46639// method id "dfareporting.sizes.list":
46640
46641type SizesListCall struct {
46642	s            *Service
46643	profileId    int64
46644	urlParams_   gensupport.URLParams
46645	ifNoneMatch_ string
46646	ctx_         context.Context
46647	header_      http.Header
46648}
46649
46650// List: Retrieves a list of sizes, possibly filtered. Retrieved sizes
46651// are globally unique and may include values not currently in use by
46652// your account. Due to this, the list of sizes returned by this method
46653// may differ from the list seen in the Trafficking UI.
46654func (r *SizesService) List(profileId int64) *SizesListCall {
46655	c := &SizesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46656	c.profileId = profileId
46657	return c
46658}
46659
46660// Height sets the optional parameter "height": Select only sizes with
46661// this height.
46662func (c *SizesListCall) Height(height int64) *SizesListCall {
46663	c.urlParams_.Set("height", fmt.Sprint(height))
46664	return c
46665}
46666
46667// IabStandard sets the optional parameter "iabStandard": Select only
46668// IAB standard sizes.
46669func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
46670	c.urlParams_.Set("iabStandard", fmt.Sprint(iabStandard))
46671	return c
46672}
46673
46674// Ids sets the optional parameter "ids": Select only sizes with these
46675// IDs.
46676func (c *SizesListCall) Ids(ids ...int64) *SizesListCall {
46677	var ids_ []string
46678	for _, v := range ids {
46679		ids_ = append(ids_, fmt.Sprint(v))
46680	}
46681	c.urlParams_.SetMulti("ids", ids_)
46682	return c
46683}
46684
46685// Width sets the optional parameter "width": Select only sizes with
46686// this width.
46687func (c *SizesListCall) Width(width int64) *SizesListCall {
46688	c.urlParams_.Set("width", fmt.Sprint(width))
46689	return c
46690}
46691
46692// Fields allows partial responses to be retrieved. See
46693// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46694// for more information.
46695func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
46696	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46697	return c
46698}
46699
46700// IfNoneMatch sets the optional parameter which makes the operation
46701// fail if the object's ETag matches the given value. This is useful for
46702// getting updates only after the object has changed since the last
46703// request. Use googleapi.IsNotModified to check whether the response
46704// error from Do is the result of In-None-Match.
46705func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
46706	c.ifNoneMatch_ = entityTag
46707	return c
46708}
46709
46710// Context sets the context to be used in this call's Do method. Any
46711// pending HTTP request will be aborted if the provided context is
46712// canceled.
46713func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
46714	c.ctx_ = ctx
46715	return c
46716}
46717
46718// Header returns an http.Header that can be modified by the caller to
46719// add HTTP headers to the request.
46720func (c *SizesListCall) Header() http.Header {
46721	if c.header_ == nil {
46722		c.header_ = make(http.Header)
46723	}
46724	return c.header_
46725}
46726
46727func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
46728	reqHeaders := make(http.Header)
46729	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
46730	for k, v := range c.header_ {
46731		reqHeaders[k] = v
46732	}
46733	reqHeaders.Set("User-Agent", c.s.userAgent())
46734	if c.ifNoneMatch_ != "" {
46735		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46736	}
46737	var body io.Reader = nil
46738	c.urlParams_.Set("alt", alt)
46739	c.urlParams_.Set("prettyPrint", "false")
46740	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
46741	urls += "?" + c.urlParams_.Encode()
46742	req, err := http.NewRequest("GET", urls, body)
46743	if err != nil {
46744		return nil, err
46745	}
46746	req.Header = reqHeaders
46747	googleapi.Expand(req.URL, map[string]string{
46748		"profileId": strconv.FormatInt(c.profileId, 10),
46749	})
46750	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46751}
46752
46753// Do executes the "dfareporting.sizes.list" call.
46754// Exactly one of *SizesListResponse or error will be non-nil. Any
46755// non-2xx status code is an error. Response headers are in either
46756// *SizesListResponse.ServerResponse.Header or (if a response was
46757// returned at all) in error.(*googleapi.Error).Header. Use
46758// googleapi.IsNotModified to check whether the returned error was
46759// because http.StatusNotModified was returned.
46760func (c *SizesListCall) Do(opts ...googleapi.CallOption) (*SizesListResponse, error) {
46761	gensupport.SetOptions(c.urlParams_, opts...)
46762	res, err := c.doRequest("json")
46763	if res != nil && res.StatusCode == http.StatusNotModified {
46764		if res.Body != nil {
46765			res.Body.Close()
46766		}
46767		return nil, &googleapi.Error{
46768			Code:   res.StatusCode,
46769			Header: res.Header,
46770		}
46771	}
46772	if err != nil {
46773		return nil, err
46774	}
46775	defer googleapi.CloseBody(res)
46776	if err := googleapi.CheckResponse(res); err != nil {
46777		return nil, err
46778	}
46779	ret := &SizesListResponse{
46780		ServerResponse: googleapi.ServerResponse{
46781			Header:         res.Header,
46782			HTTPStatusCode: res.StatusCode,
46783		},
46784	}
46785	target := &ret
46786	if err := gensupport.DecodeResponse(target, res); err != nil {
46787		return nil, err
46788	}
46789	return ret, nil
46790	// {
46791	//   "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.",
46792	//   "flatPath": "userprofiles/{profileId}/sizes",
46793	//   "httpMethod": "GET",
46794	//   "id": "dfareporting.sizes.list",
46795	//   "parameterOrder": [
46796	//     "profileId"
46797	//   ],
46798	//   "parameters": {
46799	//     "height": {
46800	//       "description": "Select only sizes with this height.",
46801	//       "format": "int32",
46802	//       "location": "query",
46803	//       "maximum": "32767",
46804	//       "minimum": "0",
46805	//       "type": "integer"
46806	//     },
46807	//     "iabStandard": {
46808	//       "description": "Select only IAB standard sizes.",
46809	//       "location": "query",
46810	//       "type": "boolean"
46811	//     },
46812	//     "ids": {
46813	//       "description": "Select only sizes with these IDs.",
46814	//       "format": "int64",
46815	//       "location": "query",
46816	//       "repeated": true,
46817	//       "type": "string"
46818	//     },
46819	//     "profileId": {
46820	//       "description": "User profile ID associated with this request.",
46821	//       "format": "int64",
46822	//       "location": "path",
46823	//       "required": true,
46824	//       "type": "string"
46825	//     },
46826	//     "width": {
46827	//       "description": "Select only sizes with this width.",
46828	//       "format": "int32",
46829	//       "location": "query",
46830	//       "maximum": "32767",
46831	//       "minimum": "0",
46832	//       "type": "integer"
46833	//     }
46834	//   },
46835	//   "path": "userprofiles/{profileId}/sizes",
46836	//   "response": {
46837	//     "$ref": "SizesListResponse"
46838	//   },
46839	//   "scopes": [
46840	//     "https://www.googleapis.com/auth/dfatrafficking"
46841	//   ]
46842	// }
46843
46844}
46845
46846// method id "dfareporting.subaccounts.get":
46847
46848type SubaccountsGetCall struct {
46849	s            *Service
46850	profileId    int64
46851	id           int64
46852	urlParams_   gensupport.URLParams
46853	ifNoneMatch_ string
46854	ctx_         context.Context
46855	header_      http.Header
46856}
46857
46858// Get: Gets one subaccount by ID.
46859func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
46860	c := &SubaccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46861	c.profileId = profileId
46862	c.id = id
46863	return c
46864}
46865
46866// Fields allows partial responses to be retrieved. See
46867// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46868// for more information.
46869func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
46870	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46871	return c
46872}
46873
46874// IfNoneMatch sets the optional parameter which makes the operation
46875// fail if the object's ETag matches the given value. This is useful for
46876// getting updates only after the object has changed since the last
46877// request. Use googleapi.IsNotModified to check whether the response
46878// error from Do is the result of In-None-Match.
46879func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
46880	c.ifNoneMatch_ = entityTag
46881	return c
46882}
46883
46884// Context sets the context to be used in this call's Do method. Any
46885// pending HTTP request will be aborted if the provided context is
46886// canceled.
46887func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
46888	c.ctx_ = ctx
46889	return c
46890}
46891
46892// Header returns an http.Header that can be modified by the caller to
46893// add HTTP headers to the request.
46894func (c *SubaccountsGetCall) Header() http.Header {
46895	if c.header_ == nil {
46896		c.header_ = make(http.Header)
46897	}
46898	return c.header_
46899}
46900
46901func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
46902	reqHeaders := make(http.Header)
46903	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
46904	for k, v := range c.header_ {
46905		reqHeaders[k] = v
46906	}
46907	reqHeaders.Set("User-Agent", c.s.userAgent())
46908	if c.ifNoneMatch_ != "" {
46909		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46910	}
46911	var body io.Reader = nil
46912	c.urlParams_.Set("alt", alt)
46913	c.urlParams_.Set("prettyPrint", "false")
46914	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
46915	urls += "?" + c.urlParams_.Encode()
46916	req, err := http.NewRequest("GET", urls, body)
46917	if err != nil {
46918		return nil, err
46919	}
46920	req.Header = reqHeaders
46921	googleapi.Expand(req.URL, map[string]string{
46922		"profileId": strconv.FormatInt(c.profileId, 10),
46923		"id":        strconv.FormatInt(c.id, 10),
46924	})
46925	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46926}
46927
46928// Do executes the "dfareporting.subaccounts.get" call.
46929// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
46930// status code is an error. Response headers are in either
46931// *Subaccount.ServerResponse.Header or (if a response was returned at
46932// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
46933// to check whether the returned error was because
46934// http.StatusNotModified was returned.
46935func (c *SubaccountsGetCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
46936	gensupport.SetOptions(c.urlParams_, opts...)
46937	res, err := c.doRequest("json")
46938	if res != nil && res.StatusCode == http.StatusNotModified {
46939		if res.Body != nil {
46940			res.Body.Close()
46941		}
46942		return nil, &googleapi.Error{
46943			Code:   res.StatusCode,
46944			Header: res.Header,
46945		}
46946	}
46947	if err != nil {
46948		return nil, err
46949	}
46950	defer googleapi.CloseBody(res)
46951	if err := googleapi.CheckResponse(res); err != nil {
46952		return nil, err
46953	}
46954	ret := &Subaccount{
46955		ServerResponse: googleapi.ServerResponse{
46956			Header:         res.Header,
46957			HTTPStatusCode: res.StatusCode,
46958		},
46959	}
46960	target := &ret
46961	if err := gensupport.DecodeResponse(target, res); err != nil {
46962		return nil, err
46963	}
46964	return ret, nil
46965	// {
46966	//   "description": "Gets one subaccount by ID.",
46967	//   "flatPath": "userprofiles/{profileId}/subaccounts/{id}",
46968	//   "httpMethod": "GET",
46969	//   "id": "dfareporting.subaccounts.get",
46970	//   "parameterOrder": [
46971	//     "profileId",
46972	//     "id"
46973	//   ],
46974	//   "parameters": {
46975	//     "id": {
46976	//       "description": "Subaccount ID.",
46977	//       "format": "int64",
46978	//       "location": "path",
46979	//       "required": true,
46980	//       "type": "string"
46981	//     },
46982	//     "profileId": {
46983	//       "description": "User profile ID associated with this request.",
46984	//       "format": "int64",
46985	//       "location": "path",
46986	//       "required": true,
46987	//       "type": "string"
46988	//     }
46989	//   },
46990	//   "path": "userprofiles/{profileId}/subaccounts/{id}",
46991	//   "response": {
46992	//     "$ref": "Subaccount"
46993	//   },
46994	//   "scopes": [
46995	//     "https://www.googleapis.com/auth/dfatrafficking"
46996	//   ]
46997	// }
46998
46999}
47000
47001// method id "dfareporting.subaccounts.insert":
47002
47003type SubaccountsInsertCall struct {
47004	s          *Service
47005	profileId  int64
47006	subaccount *Subaccount
47007	urlParams_ gensupport.URLParams
47008	ctx_       context.Context
47009	header_    http.Header
47010}
47011
47012// Insert: Inserts a new subaccount.
47013func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
47014	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47015	c.profileId = profileId
47016	c.subaccount = subaccount
47017	return c
47018}
47019
47020// Fields allows partial responses to be retrieved. See
47021// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47022// for more information.
47023func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
47024	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47025	return c
47026}
47027
47028// Context sets the context to be used in this call's Do method. Any
47029// pending HTTP request will be aborted if the provided context is
47030// canceled.
47031func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
47032	c.ctx_ = ctx
47033	return c
47034}
47035
47036// Header returns an http.Header that can be modified by the caller to
47037// add HTTP headers to the request.
47038func (c *SubaccountsInsertCall) Header() http.Header {
47039	if c.header_ == nil {
47040		c.header_ = make(http.Header)
47041	}
47042	return c.header_
47043}
47044
47045func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
47046	reqHeaders := make(http.Header)
47047	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
47048	for k, v := range c.header_ {
47049		reqHeaders[k] = v
47050	}
47051	reqHeaders.Set("User-Agent", c.s.userAgent())
47052	var body io.Reader = nil
47053	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47054	if err != nil {
47055		return nil, err
47056	}
47057	reqHeaders.Set("Content-Type", "application/json")
47058	c.urlParams_.Set("alt", alt)
47059	c.urlParams_.Set("prettyPrint", "false")
47060	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47061	urls += "?" + c.urlParams_.Encode()
47062	req, err := http.NewRequest("POST", urls, body)
47063	if err != nil {
47064		return nil, err
47065	}
47066	req.Header = reqHeaders
47067	googleapi.Expand(req.URL, map[string]string{
47068		"profileId": strconv.FormatInt(c.profileId, 10),
47069	})
47070	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47071}
47072
47073// Do executes the "dfareporting.subaccounts.insert" call.
47074// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47075// status code is an error. Response headers are in either
47076// *Subaccount.ServerResponse.Header or (if a response was returned at
47077// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47078// to check whether the returned error was because
47079// http.StatusNotModified was returned.
47080func (c *SubaccountsInsertCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47081	gensupport.SetOptions(c.urlParams_, opts...)
47082	res, err := c.doRequest("json")
47083	if res != nil && res.StatusCode == http.StatusNotModified {
47084		if res.Body != nil {
47085			res.Body.Close()
47086		}
47087		return nil, &googleapi.Error{
47088			Code:   res.StatusCode,
47089			Header: res.Header,
47090		}
47091	}
47092	if err != nil {
47093		return nil, err
47094	}
47095	defer googleapi.CloseBody(res)
47096	if err := googleapi.CheckResponse(res); err != nil {
47097		return nil, err
47098	}
47099	ret := &Subaccount{
47100		ServerResponse: googleapi.ServerResponse{
47101			Header:         res.Header,
47102			HTTPStatusCode: res.StatusCode,
47103		},
47104	}
47105	target := &ret
47106	if err := gensupport.DecodeResponse(target, res); err != nil {
47107		return nil, err
47108	}
47109	return ret, nil
47110	// {
47111	//   "description": "Inserts a new subaccount.",
47112	//   "flatPath": "userprofiles/{profileId}/subaccounts",
47113	//   "httpMethod": "POST",
47114	//   "id": "dfareporting.subaccounts.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}/subaccounts",
47128	//   "request": {
47129	//     "$ref": "Subaccount"
47130	//   },
47131	//   "response": {
47132	//     "$ref": "Subaccount"
47133	//   },
47134	//   "scopes": [
47135	//     "https://www.googleapis.com/auth/dfatrafficking"
47136	//   ]
47137	// }
47138
47139}
47140
47141// method id "dfareporting.subaccounts.list":
47142
47143type SubaccountsListCall 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: Gets a list of subaccounts, possibly filtered. This method
47153// supports paging.
47154func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
47155	c := &SubaccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47156	c.profileId = profileId
47157	return c
47158}
47159
47160// Ids sets the optional parameter "ids": Select only subaccounts with
47161// these IDs.
47162func (c *SubaccountsListCall) Ids(ids ...int64) *SubaccountsListCall {
47163	var ids_ []string
47164	for _, v := range ids {
47165		ids_ = append(ids_, fmt.Sprint(v))
47166	}
47167	c.urlParams_.SetMulti("ids", ids_)
47168	return c
47169}
47170
47171// MaxResults sets the optional parameter "maxResults": Maximum number
47172// of results to return.
47173func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
47174	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
47175	return c
47176}
47177
47178// PageToken sets the optional parameter "pageToken": Value of the
47179// nextPageToken from the previous result page.
47180func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
47181	c.urlParams_.Set("pageToken", pageToken)
47182	return c
47183}
47184
47185// SearchString sets the optional parameter "searchString": Allows
47186// searching for objects by name or ID. Wildcards (*) are allowed. For
47187// example, "subaccount*2015" will return objects with names like
47188// "subaccount June 2015", "subaccount April 2015", or simply
47189// "subaccount 2015". Most of the searches also add wildcards implicitly
47190// at the start and the end of the search string. For example, a search
47191// string of "subaccount" will match objects with name "my subaccount",
47192// "subaccount 2015", or simply "subaccount" .
47193func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
47194	c.urlParams_.Set("searchString", searchString)
47195	return c
47196}
47197
47198// SortField sets the optional parameter "sortField": Field by which to
47199// sort the list.
47200//
47201// Possible values:
47202//   "ID" (default)
47203//   "NAME"
47204func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
47205	c.urlParams_.Set("sortField", sortField)
47206	return c
47207}
47208
47209// SortOrder sets the optional parameter "sortOrder": Order of sorted
47210// results.
47211//
47212// Possible values:
47213//   "ASCENDING" (default)
47214//   "DESCENDING"
47215func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
47216	c.urlParams_.Set("sortOrder", sortOrder)
47217	return c
47218}
47219
47220// Fields allows partial responses to be retrieved. See
47221// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47222// for more information.
47223func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
47224	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47225	return c
47226}
47227
47228// IfNoneMatch sets the optional parameter which makes the operation
47229// fail if the object's ETag matches the given value. This is useful for
47230// getting updates only after the object has changed since the last
47231// request. Use googleapi.IsNotModified to check whether the response
47232// error from Do is the result of In-None-Match.
47233func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
47234	c.ifNoneMatch_ = entityTag
47235	return c
47236}
47237
47238// Context sets the context to be used in this call's Do method. Any
47239// pending HTTP request will be aborted if the provided context is
47240// canceled.
47241func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
47242	c.ctx_ = ctx
47243	return c
47244}
47245
47246// Header returns an http.Header that can be modified by the caller to
47247// add HTTP headers to the request.
47248func (c *SubaccountsListCall) Header() http.Header {
47249	if c.header_ == nil {
47250		c.header_ = make(http.Header)
47251	}
47252	return c.header_
47253}
47254
47255func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
47256	reqHeaders := make(http.Header)
47257	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
47258	for k, v := range c.header_ {
47259		reqHeaders[k] = v
47260	}
47261	reqHeaders.Set("User-Agent", c.s.userAgent())
47262	if c.ifNoneMatch_ != "" {
47263		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47264	}
47265	var body io.Reader = nil
47266	c.urlParams_.Set("alt", alt)
47267	c.urlParams_.Set("prettyPrint", "false")
47268	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47269	urls += "?" + c.urlParams_.Encode()
47270	req, err := http.NewRequest("GET", urls, body)
47271	if err != nil {
47272		return nil, err
47273	}
47274	req.Header = reqHeaders
47275	googleapi.Expand(req.URL, map[string]string{
47276		"profileId": strconv.FormatInt(c.profileId, 10),
47277	})
47278	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47279}
47280
47281// Do executes the "dfareporting.subaccounts.list" call.
47282// Exactly one of *SubaccountsListResponse or error will be non-nil. Any
47283// non-2xx status code is an error. Response headers are in either
47284// *SubaccountsListResponse.ServerResponse.Header or (if a response was
47285// returned at all) in error.(*googleapi.Error).Header. Use
47286// googleapi.IsNotModified to check whether the returned error was
47287// because http.StatusNotModified was returned.
47288func (c *SubaccountsListCall) Do(opts ...googleapi.CallOption) (*SubaccountsListResponse, error) {
47289	gensupport.SetOptions(c.urlParams_, opts...)
47290	res, err := c.doRequest("json")
47291	if res != nil && res.StatusCode == http.StatusNotModified {
47292		if res.Body != nil {
47293			res.Body.Close()
47294		}
47295		return nil, &googleapi.Error{
47296			Code:   res.StatusCode,
47297			Header: res.Header,
47298		}
47299	}
47300	if err != nil {
47301		return nil, err
47302	}
47303	defer googleapi.CloseBody(res)
47304	if err := googleapi.CheckResponse(res); err != nil {
47305		return nil, err
47306	}
47307	ret := &SubaccountsListResponse{
47308		ServerResponse: googleapi.ServerResponse{
47309			Header:         res.Header,
47310			HTTPStatusCode: res.StatusCode,
47311		},
47312	}
47313	target := &ret
47314	if err := gensupport.DecodeResponse(target, res); err != nil {
47315		return nil, err
47316	}
47317	return ret, nil
47318	// {
47319	//   "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
47320	//   "flatPath": "userprofiles/{profileId}/subaccounts",
47321	//   "httpMethod": "GET",
47322	//   "id": "dfareporting.subaccounts.list",
47323	//   "parameterOrder": [
47324	//     "profileId"
47325	//   ],
47326	//   "parameters": {
47327	//     "ids": {
47328	//       "description": "Select only subaccounts with these IDs.",
47329	//       "format": "int64",
47330	//       "location": "query",
47331	//       "repeated": true,
47332	//       "type": "string"
47333	//     },
47334	//     "maxResults": {
47335	//       "default": "1000",
47336	//       "description": "Maximum number of results to return.",
47337	//       "format": "int32",
47338	//       "location": "query",
47339	//       "maximum": "1000",
47340	//       "minimum": "0",
47341	//       "type": "integer"
47342	//     },
47343	//     "pageToken": {
47344	//       "description": "Value of the nextPageToken from the previous result page.",
47345	//       "location": "query",
47346	//       "type": "string"
47347	//     },
47348	//     "profileId": {
47349	//       "description": "User profile ID associated with this request.",
47350	//       "format": "int64",
47351	//       "location": "path",
47352	//       "required": true,
47353	//       "type": "string"
47354	//     },
47355	//     "searchString": {
47356	//       "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\" .",
47357	//       "location": "query",
47358	//       "type": "string"
47359	//     },
47360	//     "sortField": {
47361	//       "default": "ID",
47362	//       "description": "Field by which to sort the list.",
47363	//       "enum": [
47364	//         "ID",
47365	//         "NAME"
47366	//       ],
47367	//       "enumDescriptions": [
47368	//         "",
47369	//         ""
47370	//       ],
47371	//       "location": "query",
47372	//       "type": "string"
47373	//     },
47374	//     "sortOrder": {
47375	//       "default": "ASCENDING",
47376	//       "description": "Order of sorted results.",
47377	//       "enum": [
47378	//         "ASCENDING",
47379	//         "DESCENDING"
47380	//       ],
47381	//       "enumDescriptions": [
47382	//         "",
47383	//         ""
47384	//       ],
47385	//       "location": "query",
47386	//       "type": "string"
47387	//     }
47388	//   },
47389	//   "path": "userprofiles/{profileId}/subaccounts",
47390	//   "response": {
47391	//     "$ref": "SubaccountsListResponse"
47392	//   },
47393	//   "scopes": [
47394	//     "https://www.googleapis.com/auth/dfatrafficking"
47395	//   ]
47396	// }
47397
47398}
47399
47400// Pages invokes f for each page of results.
47401// A non-nil error returned from f will halt the iteration.
47402// The provided context supersedes any context provided to the Context method.
47403func (c *SubaccountsListCall) Pages(ctx context.Context, f func(*SubaccountsListResponse) error) error {
47404	c.ctx_ = ctx
47405	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
47406	for {
47407		x, err := c.Do()
47408		if err != nil {
47409			return err
47410		}
47411		if err := f(x); err != nil {
47412			return err
47413		}
47414		if x.NextPageToken == "" {
47415			return nil
47416		}
47417		c.PageToken(x.NextPageToken)
47418	}
47419}
47420
47421// method id "dfareporting.subaccounts.patch":
47422
47423type SubaccountsPatchCall struct {
47424	s          *Service
47425	profileId  int64
47426	subaccount *Subaccount
47427	urlParams_ gensupport.URLParams
47428	ctx_       context.Context
47429	header_    http.Header
47430}
47431
47432// Patch: Updates an existing subaccount. This method supports patch
47433// semantics.
47434func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
47435	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47436	c.profileId = profileId
47437	c.urlParams_.Set("id", fmt.Sprint(id))
47438	c.subaccount = subaccount
47439	return c
47440}
47441
47442// Fields allows partial responses to be retrieved. See
47443// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47444// for more information.
47445func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
47446	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47447	return c
47448}
47449
47450// Context sets the context to be used in this call's Do method. Any
47451// pending HTTP request will be aborted if the provided context is
47452// canceled.
47453func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
47454	c.ctx_ = ctx
47455	return c
47456}
47457
47458// Header returns an http.Header that can be modified by the caller to
47459// add HTTP headers to the request.
47460func (c *SubaccountsPatchCall) Header() http.Header {
47461	if c.header_ == nil {
47462		c.header_ = make(http.Header)
47463	}
47464	return c.header_
47465}
47466
47467func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
47468	reqHeaders := make(http.Header)
47469	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
47470	for k, v := range c.header_ {
47471		reqHeaders[k] = v
47472	}
47473	reqHeaders.Set("User-Agent", c.s.userAgent())
47474	var body io.Reader = nil
47475	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47476	if err != nil {
47477		return nil, err
47478	}
47479	reqHeaders.Set("Content-Type", "application/json")
47480	c.urlParams_.Set("alt", alt)
47481	c.urlParams_.Set("prettyPrint", "false")
47482	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47483	urls += "?" + c.urlParams_.Encode()
47484	req, err := http.NewRequest("PATCH", urls, body)
47485	if err != nil {
47486		return nil, err
47487	}
47488	req.Header = reqHeaders
47489	googleapi.Expand(req.URL, map[string]string{
47490		"profileId": strconv.FormatInt(c.profileId, 10),
47491	})
47492	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47493}
47494
47495// Do executes the "dfareporting.subaccounts.patch" call.
47496// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47497// status code is an error. Response headers are in either
47498// *Subaccount.ServerResponse.Header or (if a response was returned at
47499// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47500// to check whether the returned error was because
47501// http.StatusNotModified was returned.
47502func (c *SubaccountsPatchCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47503	gensupport.SetOptions(c.urlParams_, opts...)
47504	res, err := c.doRequest("json")
47505	if res != nil && res.StatusCode == http.StatusNotModified {
47506		if res.Body != nil {
47507			res.Body.Close()
47508		}
47509		return nil, &googleapi.Error{
47510			Code:   res.StatusCode,
47511			Header: res.Header,
47512		}
47513	}
47514	if err != nil {
47515		return nil, err
47516	}
47517	defer googleapi.CloseBody(res)
47518	if err := googleapi.CheckResponse(res); err != nil {
47519		return nil, err
47520	}
47521	ret := &Subaccount{
47522		ServerResponse: googleapi.ServerResponse{
47523			Header:         res.Header,
47524			HTTPStatusCode: res.StatusCode,
47525		},
47526	}
47527	target := &ret
47528	if err := gensupport.DecodeResponse(target, res); err != nil {
47529		return nil, err
47530	}
47531	return ret, nil
47532	// {
47533	//   "description": "Updates an existing subaccount. This method supports patch semantics.",
47534	//   "flatPath": "userprofiles/{profileId}/subaccounts",
47535	//   "httpMethod": "PATCH",
47536	//   "id": "dfareporting.subaccounts.patch",
47537	//   "parameterOrder": [
47538	//     "profileId",
47539	//     "id"
47540	//   ],
47541	//   "parameters": {
47542	//     "id": {
47543	//       "description": "Subaccount ID.",
47544	//       "format": "int64",
47545	//       "location": "query",
47546	//       "required": true,
47547	//       "type": "string"
47548	//     },
47549	//     "profileId": {
47550	//       "description": "User profile ID associated with this request.",
47551	//       "format": "int64",
47552	//       "location": "path",
47553	//       "required": true,
47554	//       "type": "string"
47555	//     }
47556	//   },
47557	//   "path": "userprofiles/{profileId}/subaccounts",
47558	//   "request": {
47559	//     "$ref": "Subaccount"
47560	//   },
47561	//   "response": {
47562	//     "$ref": "Subaccount"
47563	//   },
47564	//   "scopes": [
47565	//     "https://www.googleapis.com/auth/dfatrafficking"
47566	//   ]
47567	// }
47568
47569}
47570
47571// method id "dfareporting.subaccounts.update":
47572
47573type SubaccountsUpdateCall struct {
47574	s          *Service
47575	profileId  int64
47576	subaccount *Subaccount
47577	urlParams_ gensupport.URLParams
47578	ctx_       context.Context
47579	header_    http.Header
47580}
47581
47582// Update: Updates an existing subaccount.
47583func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
47584	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47585	c.profileId = profileId
47586	c.subaccount = subaccount
47587	return c
47588}
47589
47590// Fields allows partial responses to be retrieved. See
47591// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47592// for more information.
47593func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
47594	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47595	return c
47596}
47597
47598// Context sets the context to be used in this call's Do method. Any
47599// pending HTTP request will be aborted if the provided context is
47600// canceled.
47601func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
47602	c.ctx_ = ctx
47603	return c
47604}
47605
47606// Header returns an http.Header that can be modified by the caller to
47607// add HTTP headers to the request.
47608func (c *SubaccountsUpdateCall) Header() http.Header {
47609	if c.header_ == nil {
47610		c.header_ = make(http.Header)
47611	}
47612	return c.header_
47613}
47614
47615func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
47616	reqHeaders := make(http.Header)
47617	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
47618	for k, v := range c.header_ {
47619		reqHeaders[k] = v
47620	}
47621	reqHeaders.Set("User-Agent", c.s.userAgent())
47622	var body io.Reader = nil
47623	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47624	if err != nil {
47625		return nil, err
47626	}
47627	reqHeaders.Set("Content-Type", "application/json")
47628	c.urlParams_.Set("alt", alt)
47629	c.urlParams_.Set("prettyPrint", "false")
47630	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47631	urls += "?" + c.urlParams_.Encode()
47632	req, err := http.NewRequest("PUT", urls, body)
47633	if err != nil {
47634		return nil, err
47635	}
47636	req.Header = reqHeaders
47637	googleapi.Expand(req.URL, map[string]string{
47638		"profileId": strconv.FormatInt(c.profileId, 10),
47639	})
47640	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47641}
47642
47643// Do executes the "dfareporting.subaccounts.update" call.
47644// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47645// status code is an error. Response headers are in either
47646// *Subaccount.ServerResponse.Header or (if a response was returned at
47647// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47648// to check whether the returned error was because
47649// http.StatusNotModified was returned.
47650func (c *SubaccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47651	gensupport.SetOptions(c.urlParams_, opts...)
47652	res, err := c.doRequest("json")
47653	if res != nil && res.StatusCode == http.StatusNotModified {
47654		if res.Body != nil {
47655			res.Body.Close()
47656		}
47657		return nil, &googleapi.Error{
47658			Code:   res.StatusCode,
47659			Header: res.Header,
47660		}
47661	}
47662	if err != nil {
47663		return nil, err
47664	}
47665	defer googleapi.CloseBody(res)
47666	if err := googleapi.CheckResponse(res); err != nil {
47667		return nil, err
47668	}
47669	ret := &Subaccount{
47670		ServerResponse: googleapi.ServerResponse{
47671			Header:         res.Header,
47672			HTTPStatusCode: res.StatusCode,
47673		},
47674	}
47675	target := &ret
47676	if err := gensupport.DecodeResponse(target, res); err != nil {
47677		return nil, err
47678	}
47679	return ret, nil
47680	// {
47681	//   "description": "Updates an existing subaccount.",
47682	//   "flatPath": "userprofiles/{profileId}/subaccounts",
47683	//   "httpMethod": "PUT",
47684	//   "id": "dfareporting.subaccounts.update",
47685	//   "parameterOrder": [
47686	//     "profileId"
47687	//   ],
47688	//   "parameters": {
47689	//     "profileId": {
47690	//       "description": "User profile ID associated with this request.",
47691	//       "format": "int64",
47692	//       "location": "path",
47693	//       "required": true,
47694	//       "type": "string"
47695	//     }
47696	//   },
47697	//   "path": "userprofiles/{profileId}/subaccounts",
47698	//   "request": {
47699	//     "$ref": "Subaccount"
47700	//   },
47701	//   "response": {
47702	//     "$ref": "Subaccount"
47703	//   },
47704	//   "scopes": [
47705	//     "https://www.googleapis.com/auth/dfatrafficking"
47706	//   ]
47707	// }
47708
47709}
47710
47711// method id "dfareporting.targetableRemarketingLists.get":
47712
47713type TargetableRemarketingListsGetCall struct {
47714	s            *Service
47715	profileId    int64
47716	id           int64
47717	urlParams_   gensupport.URLParams
47718	ifNoneMatch_ string
47719	ctx_         context.Context
47720	header_      http.Header
47721}
47722
47723// Get: Gets one remarketing list by ID.
47724func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
47725	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47726	c.profileId = profileId
47727	c.id = id
47728	return c
47729}
47730
47731// Fields allows partial responses to be retrieved. See
47732// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47733// for more information.
47734func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
47735	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47736	return c
47737}
47738
47739// IfNoneMatch sets the optional parameter which makes the operation
47740// fail if the object's ETag matches the given value. This is useful for
47741// getting updates only after the object has changed since the last
47742// request. Use googleapi.IsNotModified to check whether the response
47743// error from Do is the result of In-None-Match.
47744func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
47745	c.ifNoneMatch_ = entityTag
47746	return c
47747}
47748
47749// Context sets the context to be used in this call's Do method. Any
47750// pending HTTP request will be aborted if the provided context is
47751// canceled.
47752func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
47753	c.ctx_ = ctx
47754	return c
47755}
47756
47757// Header returns an http.Header that can be modified by the caller to
47758// add HTTP headers to the request.
47759func (c *TargetableRemarketingListsGetCall) Header() http.Header {
47760	if c.header_ == nil {
47761		c.header_ = make(http.Header)
47762	}
47763	return c.header_
47764}
47765
47766func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
47767	reqHeaders := make(http.Header)
47768	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
47769	for k, v := range c.header_ {
47770		reqHeaders[k] = v
47771	}
47772	reqHeaders.Set("User-Agent", c.s.userAgent())
47773	if c.ifNoneMatch_ != "" {
47774		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47775	}
47776	var body io.Reader = nil
47777	c.urlParams_.Set("alt", alt)
47778	c.urlParams_.Set("prettyPrint", "false")
47779	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
47780	urls += "?" + c.urlParams_.Encode()
47781	req, err := http.NewRequest("GET", urls, body)
47782	if err != nil {
47783		return nil, err
47784	}
47785	req.Header = reqHeaders
47786	googleapi.Expand(req.URL, map[string]string{
47787		"profileId": strconv.FormatInt(c.profileId, 10),
47788		"id":        strconv.FormatInt(c.id, 10),
47789	})
47790	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47791}
47792
47793// Do executes the "dfareporting.targetableRemarketingLists.get" call.
47794// Exactly one of *TargetableRemarketingList or error will be non-nil.
47795// Any non-2xx status code is an error. Response headers are in either
47796// *TargetableRemarketingList.ServerResponse.Header or (if a response
47797// was returned at all) in error.(*googleapi.Error).Header. Use
47798// googleapi.IsNotModified to check whether the returned error was
47799// because http.StatusNotModified was returned.
47800func (c *TargetableRemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingList, error) {
47801	gensupport.SetOptions(c.urlParams_, opts...)
47802	res, err := c.doRequest("json")
47803	if res != nil && res.StatusCode == http.StatusNotModified {
47804		if res.Body != nil {
47805			res.Body.Close()
47806		}
47807		return nil, &googleapi.Error{
47808			Code:   res.StatusCode,
47809			Header: res.Header,
47810		}
47811	}
47812	if err != nil {
47813		return nil, err
47814	}
47815	defer googleapi.CloseBody(res)
47816	if err := googleapi.CheckResponse(res); err != nil {
47817		return nil, err
47818	}
47819	ret := &TargetableRemarketingList{
47820		ServerResponse: googleapi.ServerResponse{
47821			Header:         res.Header,
47822			HTTPStatusCode: res.StatusCode,
47823		},
47824	}
47825	target := &ret
47826	if err := gensupport.DecodeResponse(target, res); err != nil {
47827		return nil, err
47828	}
47829	return ret, nil
47830	// {
47831	//   "description": "Gets one remarketing list by ID.",
47832	//   "flatPath": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
47833	//   "httpMethod": "GET",
47834	//   "id": "dfareporting.targetableRemarketingLists.get",
47835	//   "parameterOrder": [
47836	//     "profileId",
47837	//     "id"
47838	//   ],
47839	//   "parameters": {
47840	//     "id": {
47841	//       "description": "Remarketing list ID.",
47842	//       "format": "int64",
47843	//       "location": "path",
47844	//       "required": true,
47845	//       "type": "string"
47846	//     },
47847	//     "profileId": {
47848	//       "description": "User profile ID associated with this request.",
47849	//       "format": "int64",
47850	//       "location": "path",
47851	//       "required": true,
47852	//       "type": "string"
47853	//     }
47854	//   },
47855	//   "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
47856	//   "response": {
47857	//     "$ref": "TargetableRemarketingList"
47858	//   },
47859	//   "scopes": [
47860	//     "https://www.googleapis.com/auth/dfatrafficking"
47861	//   ]
47862	// }
47863
47864}
47865
47866// method id "dfareporting.targetableRemarketingLists.list":
47867
47868type TargetableRemarketingListsListCall struct {
47869	s            *Service
47870	profileId    int64
47871	urlParams_   gensupport.URLParams
47872	ifNoneMatch_ string
47873	ctx_         context.Context
47874	header_      http.Header
47875}
47876
47877// List: Retrieves a list of targetable remarketing lists, possibly
47878// filtered. This method supports paging.
47879func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
47880	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47881	c.profileId = profileId
47882	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
47883	return c
47884}
47885
47886// Active sets the optional parameter "active": Select only active or
47887// only inactive targetable remarketing lists.
47888func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
47889	c.urlParams_.Set("active", fmt.Sprint(active))
47890	return c
47891}
47892
47893// MaxResults sets the optional parameter "maxResults": Maximum number
47894// of results to return.
47895func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
47896	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
47897	return c
47898}
47899
47900// Name sets the optional parameter "name": Allows searching for objects
47901// by name or ID. Wildcards (*) are allowed. For example, "remarketing
47902// list*2015" will return objects with names like "remarketing list June
47903// 2015", "remarketing list April 2015", or simply "remarketing list
47904// 2015". Most of the searches also add wildcards implicitly at the
47905// start and the end of the search string. For example, a search string
47906// of "remarketing list" will match objects with name "my remarketing
47907// list", "remarketing list 2015", or simply "remarketing list".
47908func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
47909	c.urlParams_.Set("name", name)
47910	return c
47911}
47912
47913// PageToken sets the optional parameter "pageToken": Value of the
47914// nextPageToken from the previous result page.
47915func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
47916	c.urlParams_.Set("pageToken", pageToken)
47917	return c
47918}
47919
47920// SortField sets the optional parameter "sortField": Field by which to
47921// sort the list.
47922//
47923// Possible values:
47924//   "ID" (default)
47925//   "NAME"
47926func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
47927	c.urlParams_.Set("sortField", sortField)
47928	return c
47929}
47930
47931// SortOrder sets the optional parameter "sortOrder": Order of sorted
47932// results.
47933//
47934// Possible values:
47935//   "ASCENDING" (default)
47936//   "DESCENDING"
47937func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
47938	c.urlParams_.Set("sortOrder", sortOrder)
47939	return c
47940}
47941
47942// Fields allows partial responses to be retrieved. See
47943// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47944// for more information.
47945func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
47946	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47947	return c
47948}
47949
47950// IfNoneMatch sets the optional parameter which makes the operation
47951// fail if the object's ETag matches the given value. This is useful for
47952// getting updates only after the object has changed since the last
47953// request. Use googleapi.IsNotModified to check whether the response
47954// error from Do is the result of In-None-Match.
47955func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
47956	c.ifNoneMatch_ = entityTag
47957	return c
47958}
47959
47960// Context sets the context to be used in this call's Do method. Any
47961// pending HTTP request will be aborted if the provided context is
47962// canceled.
47963func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
47964	c.ctx_ = ctx
47965	return c
47966}
47967
47968// Header returns an http.Header that can be modified by the caller to
47969// add HTTP headers to the request.
47970func (c *TargetableRemarketingListsListCall) Header() http.Header {
47971	if c.header_ == nil {
47972		c.header_ = make(http.Header)
47973	}
47974	return c.header_
47975}
47976
47977func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
47978	reqHeaders := make(http.Header)
47979	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
47980	for k, v := range c.header_ {
47981		reqHeaders[k] = v
47982	}
47983	reqHeaders.Set("User-Agent", c.s.userAgent())
47984	if c.ifNoneMatch_ != "" {
47985		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47986	}
47987	var body io.Reader = nil
47988	c.urlParams_.Set("alt", alt)
47989	c.urlParams_.Set("prettyPrint", "false")
47990	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
47991	urls += "?" + c.urlParams_.Encode()
47992	req, err := http.NewRequest("GET", urls, body)
47993	if err != nil {
47994		return nil, err
47995	}
47996	req.Header = reqHeaders
47997	googleapi.Expand(req.URL, map[string]string{
47998		"profileId": strconv.FormatInt(c.profileId, 10),
47999	})
48000	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48001}
48002
48003// Do executes the "dfareporting.targetableRemarketingLists.list" call.
48004// Exactly one of *TargetableRemarketingListsListResponse or error will
48005// be non-nil. Any non-2xx status code is an error. Response headers are
48006// in either
48007// *TargetableRemarketingListsListResponse.ServerResponse.Header or (if
48008// a response was returned at all) in error.(*googleapi.Error).Header.
48009// Use googleapi.IsNotModified to check whether the returned error was
48010// because http.StatusNotModified was returned.
48011func (c *TargetableRemarketingListsListCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingListsListResponse, error) {
48012	gensupport.SetOptions(c.urlParams_, opts...)
48013	res, err := c.doRequest("json")
48014	if res != nil && res.StatusCode == http.StatusNotModified {
48015		if res.Body != nil {
48016			res.Body.Close()
48017		}
48018		return nil, &googleapi.Error{
48019			Code:   res.StatusCode,
48020			Header: res.Header,
48021		}
48022	}
48023	if err != nil {
48024		return nil, err
48025	}
48026	defer googleapi.CloseBody(res)
48027	if err := googleapi.CheckResponse(res); err != nil {
48028		return nil, err
48029	}
48030	ret := &TargetableRemarketingListsListResponse{
48031		ServerResponse: googleapi.ServerResponse{
48032			Header:         res.Header,
48033			HTTPStatusCode: res.StatusCode,
48034		},
48035	}
48036	target := &ret
48037	if err := gensupport.DecodeResponse(target, res); err != nil {
48038		return nil, err
48039	}
48040	return ret, nil
48041	// {
48042	//   "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
48043	//   "flatPath": "userprofiles/{profileId}/targetableRemarketingLists",
48044	//   "httpMethod": "GET",
48045	//   "id": "dfareporting.targetableRemarketingLists.list",
48046	//   "parameterOrder": [
48047	//     "profileId",
48048	//     "advertiserId"
48049	//   ],
48050	//   "parameters": {
48051	//     "active": {
48052	//       "description": "Select only active or only inactive targetable remarketing lists.",
48053	//       "location": "query",
48054	//       "type": "boolean"
48055	//     },
48056	//     "advertiserId": {
48057	//       "description": "Select only targetable remarketing lists targetable by these advertisers.",
48058	//       "format": "int64",
48059	//       "location": "query",
48060	//       "required": true,
48061	//       "type": "string"
48062	//     },
48063	//     "maxResults": {
48064	//       "default": "1000",
48065	//       "description": "Maximum number of results to return.",
48066	//       "format": "int32",
48067	//       "location": "query",
48068	//       "maximum": "1000",
48069	//       "minimum": "0",
48070	//       "type": "integer"
48071	//     },
48072	//     "name": {
48073	//       "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\".",
48074	//       "location": "query",
48075	//       "type": "string"
48076	//     },
48077	//     "pageToken": {
48078	//       "description": "Value of the nextPageToken from the previous result page.",
48079	//       "location": "query",
48080	//       "type": "string"
48081	//     },
48082	//     "profileId": {
48083	//       "description": "User profile ID associated with this request.",
48084	//       "format": "int64",
48085	//       "location": "path",
48086	//       "required": true,
48087	//       "type": "string"
48088	//     },
48089	//     "sortField": {
48090	//       "default": "ID",
48091	//       "description": "Field by which to sort the list.",
48092	//       "enum": [
48093	//         "ID",
48094	//         "NAME"
48095	//       ],
48096	//       "enumDescriptions": [
48097	//         "",
48098	//         ""
48099	//       ],
48100	//       "location": "query",
48101	//       "type": "string"
48102	//     },
48103	//     "sortOrder": {
48104	//       "default": "ASCENDING",
48105	//       "description": "Order of sorted results.",
48106	//       "enum": [
48107	//         "ASCENDING",
48108	//         "DESCENDING"
48109	//       ],
48110	//       "enumDescriptions": [
48111	//         "",
48112	//         ""
48113	//       ],
48114	//       "location": "query",
48115	//       "type": "string"
48116	//     }
48117	//   },
48118	//   "path": "userprofiles/{profileId}/targetableRemarketingLists",
48119	//   "response": {
48120	//     "$ref": "TargetableRemarketingListsListResponse"
48121	//   },
48122	//   "scopes": [
48123	//     "https://www.googleapis.com/auth/dfatrafficking"
48124	//   ]
48125	// }
48126
48127}
48128
48129// Pages invokes f for each page of results.
48130// A non-nil error returned from f will halt the iteration.
48131// The provided context supersedes any context provided to the Context method.
48132func (c *TargetableRemarketingListsListCall) Pages(ctx context.Context, f func(*TargetableRemarketingListsListResponse) error) error {
48133	c.ctx_ = ctx
48134	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
48135	for {
48136		x, err := c.Do()
48137		if err != nil {
48138			return err
48139		}
48140		if err := f(x); err != nil {
48141			return err
48142		}
48143		if x.NextPageToken == "" {
48144			return nil
48145		}
48146		c.PageToken(x.NextPageToken)
48147	}
48148}
48149
48150// method id "dfareporting.targetingTemplates.get":
48151
48152type TargetingTemplatesGetCall struct {
48153	s            *Service
48154	profileId    int64
48155	id           int64
48156	urlParams_   gensupport.URLParams
48157	ifNoneMatch_ string
48158	ctx_         context.Context
48159	header_      http.Header
48160}
48161
48162// Get: Gets one targeting template by ID.
48163func (r *TargetingTemplatesService) Get(profileId int64, id int64) *TargetingTemplatesGetCall {
48164	c := &TargetingTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48165	c.profileId = profileId
48166	c.id = id
48167	return c
48168}
48169
48170// Fields allows partial responses to be retrieved. See
48171// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48172// for more information.
48173func (c *TargetingTemplatesGetCall) Fields(s ...googleapi.Field) *TargetingTemplatesGetCall {
48174	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48175	return c
48176}
48177
48178// IfNoneMatch sets the optional parameter which makes the operation
48179// fail if the object's ETag matches the given value. This is useful for
48180// getting updates only after the object has changed since the last
48181// request. Use googleapi.IsNotModified to check whether the response
48182// error from Do is the result of In-None-Match.
48183func (c *TargetingTemplatesGetCall) IfNoneMatch(entityTag string) *TargetingTemplatesGetCall {
48184	c.ifNoneMatch_ = entityTag
48185	return c
48186}
48187
48188// Context sets the context to be used in this call's Do method. Any
48189// pending HTTP request will be aborted if the provided context is
48190// canceled.
48191func (c *TargetingTemplatesGetCall) Context(ctx context.Context) *TargetingTemplatesGetCall {
48192	c.ctx_ = ctx
48193	return c
48194}
48195
48196// Header returns an http.Header that can be modified by the caller to
48197// add HTTP headers to the request.
48198func (c *TargetingTemplatesGetCall) Header() http.Header {
48199	if c.header_ == nil {
48200		c.header_ = make(http.Header)
48201	}
48202	return c.header_
48203}
48204
48205func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
48206	reqHeaders := make(http.Header)
48207	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
48208	for k, v := range c.header_ {
48209		reqHeaders[k] = v
48210	}
48211	reqHeaders.Set("User-Agent", c.s.userAgent())
48212	if c.ifNoneMatch_ != "" {
48213		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48214	}
48215	var body io.Reader = nil
48216	c.urlParams_.Set("alt", alt)
48217	c.urlParams_.Set("prettyPrint", "false")
48218	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates/{id}")
48219	urls += "?" + c.urlParams_.Encode()
48220	req, err := http.NewRequest("GET", urls, body)
48221	if err != nil {
48222		return nil, err
48223	}
48224	req.Header = reqHeaders
48225	googleapi.Expand(req.URL, map[string]string{
48226		"profileId": strconv.FormatInt(c.profileId, 10),
48227		"id":        strconv.FormatInt(c.id, 10),
48228	})
48229	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48230}
48231
48232// Do executes the "dfareporting.targetingTemplates.get" call.
48233// Exactly one of *TargetingTemplate or error will be non-nil. Any
48234// non-2xx status code is an error. Response headers are in either
48235// *TargetingTemplate.ServerResponse.Header or (if a response was
48236// returned at all) in error.(*googleapi.Error).Header. Use
48237// googleapi.IsNotModified to check whether the returned error was
48238// because http.StatusNotModified was returned.
48239func (c *TargetingTemplatesGetCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48240	gensupport.SetOptions(c.urlParams_, opts...)
48241	res, err := c.doRequest("json")
48242	if res != nil && res.StatusCode == http.StatusNotModified {
48243		if res.Body != nil {
48244			res.Body.Close()
48245		}
48246		return nil, &googleapi.Error{
48247			Code:   res.StatusCode,
48248			Header: res.Header,
48249		}
48250	}
48251	if err != nil {
48252		return nil, err
48253	}
48254	defer googleapi.CloseBody(res)
48255	if err := googleapi.CheckResponse(res); err != nil {
48256		return nil, err
48257	}
48258	ret := &TargetingTemplate{
48259		ServerResponse: googleapi.ServerResponse{
48260			Header:         res.Header,
48261			HTTPStatusCode: res.StatusCode,
48262		},
48263	}
48264	target := &ret
48265	if err := gensupport.DecodeResponse(target, res); err != nil {
48266		return nil, err
48267	}
48268	return ret, nil
48269	// {
48270	//   "description": "Gets one targeting template by ID.",
48271	//   "flatPath": "userprofiles/{profileId}/targetingTemplates/{id}",
48272	//   "httpMethod": "GET",
48273	//   "id": "dfareporting.targetingTemplates.get",
48274	//   "parameterOrder": [
48275	//     "profileId",
48276	//     "id"
48277	//   ],
48278	//   "parameters": {
48279	//     "id": {
48280	//       "description": "Targeting template ID.",
48281	//       "format": "int64",
48282	//       "location": "path",
48283	//       "required": true,
48284	//       "type": "string"
48285	//     },
48286	//     "profileId": {
48287	//       "description": "User profile ID associated with this request.",
48288	//       "format": "int64",
48289	//       "location": "path",
48290	//       "required": true,
48291	//       "type": "string"
48292	//     }
48293	//   },
48294	//   "path": "userprofiles/{profileId}/targetingTemplates/{id}",
48295	//   "response": {
48296	//     "$ref": "TargetingTemplate"
48297	//   },
48298	//   "scopes": [
48299	//     "https://www.googleapis.com/auth/dfatrafficking"
48300	//   ]
48301	// }
48302
48303}
48304
48305// method id "dfareporting.targetingTemplates.insert":
48306
48307type TargetingTemplatesInsertCall struct {
48308	s                 *Service
48309	profileId         int64
48310	targetingtemplate *TargetingTemplate
48311	urlParams_        gensupport.URLParams
48312	ctx_              context.Context
48313	header_           http.Header
48314}
48315
48316// Insert: Inserts a new targeting template.
48317func (r *TargetingTemplatesService) Insert(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesInsertCall {
48318	c := &TargetingTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48319	c.profileId = profileId
48320	c.targetingtemplate = targetingtemplate
48321	return c
48322}
48323
48324// Fields allows partial responses to be retrieved. See
48325// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48326// for more information.
48327func (c *TargetingTemplatesInsertCall) Fields(s ...googleapi.Field) *TargetingTemplatesInsertCall {
48328	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48329	return c
48330}
48331
48332// Context sets the context to be used in this call's Do method. Any
48333// pending HTTP request will be aborted if the provided context is
48334// canceled.
48335func (c *TargetingTemplatesInsertCall) Context(ctx context.Context) *TargetingTemplatesInsertCall {
48336	c.ctx_ = ctx
48337	return c
48338}
48339
48340// Header returns an http.Header that can be modified by the caller to
48341// add HTTP headers to the request.
48342func (c *TargetingTemplatesInsertCall) Header() http.Header {
48343	if c.header_ == nil {
48344		c.header_ = make(http.Header)
48345	}
48346	return c.header_
48347}
48348
48349func (c *TargetingTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
48350	reqHeaders := make(http.Header)
48351	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
48352	for k, v := range c.header_ {
48353		reqHeaders[k] = v
48354	}
48355	reqHeaders.Set("User-Agent", c.s.userAgent())
48356	var body io.Reader = nil
48357	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
48358	if err != nil {
48359		return nil, err
48360	}
48361	reqHeaders.Set("Content-Type", "application/json")
48362	c.urlParams_.Set("alt", alt)
48363	c.urlParams_.Set("prettyPrint", "false")
48364	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48365	urls += "?" + c.urlParams_.Encode()
48366	req, err := http.NewRequest("POST", urls, body)
48367	if err != nil {
48368		return nil, err
48369	}
48370	req.Header = reqHeaders
48371	googleapi.Expand(req.URL, map[string]string{
48372		"profileId": strconv.FormatInt(c.profileId, 10),
48373	})
48374	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48375}
48376
48377// Do executes the "dfareporting.targetingTemplates.insert" call.
48378// Exactly one of *TargetingTemplate or error will be non-nil. Any
48379// non-2xx status code is an error. Response headers are in either
48380// *TargetingTemplate.ServerResponse.Header or (if a response was
48381// returned at all) in error.(*googleapi.Error).Header. Use
48382// googleapi.IsNotModified to check whether the returned error was
48383// because http.StatusNotModified was returned.
48384func (c *TargetingTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48385	gensupport.SetOptions(c.urlParams_, opts...)
48386	res, err := c.doRequest("json")
48387	if res != nil && res.StatusCode == http.StatusNotModified {
48388		if res.Body != nil {
48389			res.Body.Close()
48390		}
48391		return nil, &googleapi.Error{
48392			Code:   res.StatusCode,
48393			Header: res.Header,
48394		}
48395	}
48396	if err != nil {
48397		return nil, err
48398	}
48399	defer googleapi.CloseBody(res)
48400	if err := googleapi.CheckResponse(res); err != nil {
48401		return nil, err
48402	}
48403	ret := &TargetingTemplate{
48404		ServerResponse: googleapi.ServerResponse{
48405			Header:         res.Header,
48406			HTTPStatusCode: res.StatusCode,
48407		},
48408	}
48409	target := &ret
48410	if err := gensupport.DecodeResponse(target, res); err != nil {
48411		return nil, err
48412	}
48413	return ret, nil
48414	// {
48415	//   "description": "Inserts a new targeting template.",
48416	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
48417	//   "httpMethod": "POST",
48418	//   "id": "dfareporting.targetingTemplates.insert",
48419	//   "parameterOrder": [
48420	//     "profileId"
48421	//   ],
48422	//   "parameters": {
48423	//     "profileId": {
48424	//       "description": "User profile ID associated with this request.",
48425	//       "format": "int64",
48426	//       "location": "path",
48427	//       "required": true,
48428	//       "type": "string"
48429	//     }
48430	//   },
48431	//   "path": "userprofiles/{profileId}/targetingTemplates",
48432	//   "request": {
48433	//     "$ref": "TargetingTemplate"
48434	//   },
48435	//   "response": {
48436	//     "$ref": "TargetingTemplate"
48437	//   },
48438	//   "scopes": [
48439	//     "https://www.googleapis.com/auth/dfatrafficking"
48440	//   ]
48441	// }
48442
48443}
48444
48445// method id "dfareporting.targetingTemplates.list":
48446
48447type TargetingTemplatesListCall struct {
48448	s            *Service
48449	profileId    int64
48450	urlParams_   gensupport.URLParams
48451	ifNoneMatch_ string
48452	ctx_         context.Context
48453	header_      http.Header
48454}
48455
48456// List: Retrieves a list of targeting templates, optionally filtered.
48457// This method supports paging.
48458func (r *TargetingTemplatesService) List(profileId int64) *TargetingTemplatesListCall {
48459	c := &TargetingTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48460	c.profileId = profileId
48461	return c
48462}
48463
48464// AdvertiserId sets the optional parameter "advertiserId": Select only
48465// targeting templates with this advertiser ID.
48466func (c *TargetingTemplatesListCall) AdvertiserId(advertiserId int64) *TargetingTemplatesListCall {
48467	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
48468	return c
48469}
48470
48471// Ids sets the optional parameter "ids": Select only targeting
48472// templates with these IDs.
48473func (c *TargetingTemplatesListCall) Ids(ids ...int64) *TargetingTemplatesListCall {
48474	var ids_ []string
48475	for _, v := range ids {
48476		ids_ = append(ids_, fmt.Sprint(v))
48477	}
48478	c.urlParams_.SetMulti("ids", ids_)
48479	return c
48480}
48481
48482// MaxResults sets the optional parameter "maxResults": Maximum number
48483// of results to return.
48484func (c *TargetingTemplatesListCall) MaxResults(maxResults int64) *TargetingTemplatesListCall {
48485	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
48486	return c
48487}
48488
48489// PageToken sets the optional parameter "pageToken": Value of the
48490// nextPageToken from the previous result page.
48491func (c *TargetingTemplatesListCall) PageToken(pageToken string) *TargetingTemplatesListCall {
48492	c.urlParams_.Set("pageToken", pageToken)
48493	return c
48494}
48495
48496// SearchString sets the optional parameter "searchString": Allows
48497// searching for objects by name or ID. Wildcards (*) are allowed. For
48498// example, "template*2015" will return objects with names like
48499// "template June 2015", "template April 2015", or simply "template
48500// 2015". Most of the searches also add wildcards implicitly at the
48501// start and the end of the search string. For example, a search string
48502// of "template" will match objects with name "my template", "template
48503// 2015", or simply "template".
48504func (c *TargetingTemplatesListCall) SearchString(searchString string) *TargetingTemplatesListCall {
48505	c.urlParams_.Set("searchString", searchString)
48506	return c
48507}
48508
48509// SortField sets the optional parameter "sortField": Field by which to
48510// sort the list.
48511//
48512// Possible values:
48513//   "ID" (default)
48514//   "NAME"
48515func (c *TargetingTemplatesListCall) SortField(sortField string) *TargetingTemplatesListCall {
48516	c.urlParams_.Set("sortField", sortField)
48517	return c
48518}
48519
48520// SortOrder sets the optional parameter "sortOrder": Order of sorted
48521// results.
48522//
48523// Possible values:
48524//   "ASCENDING" (default)
48525//   "DESCENDING"
48526func (c *TargetingTemplatesListCall) SortOrder(sortOrder string) *TargetingTemplatesListCall {
48527	c.urlParams_.Set("sortOrder", sortOrder)
48528	return c
48529}
48530
48531// Fields allows partial responses to be retrieved. See
48532// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48533// for more information.
48534func (c *TargetingTemplatesListCall) Fields(s ...googleapi.Field) *TargetingTemplatesListCall {
48535	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48536	return c
48537}
48538
48539// IfNoneMatch sets the optional parameter which makes the operation
48540// fail if the object's ETag matches the given value. This is useful for
48541// getting updates only after the object has changed since the last
48542// request. Use googleapi.IsNotModified to check whether the response
48543// error from Do is the result of In-None-Match.
48544func (c *TargetingTemplatesListCall) IfNoneMatch(entityTag string) *TargetingTemplatesListCall {
48545	c.ifNoneMatch_ = entityTag
48546	return c
48547}
48548
48549// Context sets the context to be used in this call's Do method. Any
48550// pending HTTP request will be aborted if the provided context is
48551// canceled.
48552func (c *TargetingTemplatesListCall) Context(ctx context.Context) *TargetingTemplatesListCall {
48553	c.ctx_ = ctx
48554	return c
48555}
48556
48557// Header returns an http.Header that can be modified by the caller to
48558// add HTTP headers to the request.
48559func (c *TargetingTemplatesListCall) Header() http.Header {
48560	if c.header_ == nil {
48561		c.header_ = make(http.Header)
48562	}
48563	return c.header_
48564}
48565
48566func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
48567	reqHeaders := make(http.Header)
48568	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
48569	for k, v := range c.header_ {
48570		reqHeaders[k] = v
48571	}
48572	reqHeaders.Set("User-Agent", c.s.userAgent())
48573	if c.ifNoneMatch_ != "" {
48574		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48575	}
48576	var body io.Reader = nil
48577	c.urlParams_.Set("alt", alt)
48578	c.urlParams_.Set("prettyPrint", "false")
48579	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48580	urls += "?" + c.urlParams_.Encode()
48581	req, err := http.NewRequest("GET", urls, body)
48582	if err != nil {
48583		return nil, err
48584	}
48585	req.Header = reqHeaders
48586	googleapi.Expand(req.URL, map[string]string{
48587		"profileId": strconv.FormatInt(c.profileId, 10),
48588	})
48589	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48590}
48591
48592// Do executes the "dfareporting.targetingTemplates.list" call.
48593// Exactly one of *TargetingTemplatesListResponse or error will be
48594// non-nil. Any non-2xx status code is an error. Response headers are in
48595// either *TargetingTemplatesListResponse.ServerResponse.Header or (if a
48596// response was returned at all) in error.(*googleapi.Error).Header. Use
48597// googleapi.IsNotModified to check whether the returned error was
48598// because http.StatusNotModified was returned.
48599func (c *TargetingTemplatesListCall) Do(opts ...googleapi.CallOption) (*TargetingTemplatesListResponse, error) {
48600	gensupport.SetOptions(c.urlParams_, opts...)
48601	res, err := c.doRequest("json")
48602	if res != nil && res.StatusCode == http.StatusNotModified {
48603		if res.Body != nil {
48604			res.Body.Close()
48605		}
48606		return nil, &googleapi.Error{
48607			Code:   res.StatusCode,
48608			Header: res.Header,
48609		}
48610	}
48611	if err != nil {
48612		return nil, err
48613	}
48614	defer googleapi.CloseBody(res)
48615	if err := googleapi.CheckResponse(res); err != nil {
48616		return nil, err
48617	}
48618	ret := &TargetingTemplatesListResponse{
48619		ServerResponse: googleapi.ServerResponse{
48620			Header:         res.Header,
48621			HTTPStatusCode: res.StatusCode,
48622		},
48623	}
48624	target := &ret
48625	if err := gensupport.DecodeResponse(target, res); err != nil {
48626		return nil, err
48627	}
48628	return ret, nil
48629	// {
48630	//   "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
48631	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
48632	//   "httpMethod": "GET",
48633	//   "id": "dfareporting.targetingTemplates.list",
48634	//   "parameterOrder": [
48635	//     "profileId"
48636	//   ],
48637	//   "parameters": {
48638	//     "advertiserId": {
48639	//       "description": "Select only targeting templates with this advertiser ID.",
48640	//       "format": "int64",
48641	//       "location": "query",
48642	//       "type": "string"
48643	//     },
48644	//     "ids": {
48645	//       "description": "Select only targeting templates with these IDs.",
48646	//       "format": "int64",
48647	//       "location": "query",
48648	//       "repeated": true,
48649	//       "type": "string"
48650	//     },
48651	//     "maxResults": {
48652	//       "default": "1000",
48653	//       "description": "Maximum number of results to return.",
48654	//       "format": "int32",
48655	//       "location": "query",
48656	//       "maximum": "1000",
48657	//       "minimum": "0",
48658	//       "type": "integer"
48659	//     },
48660	//     "pageToken": {
48661	//       "description": "Value of the nextPageToken from the previous result page.",
48662	//       "location": "query",
48663	//       "type": "string"
48664	//     },
48665	//     "profileId": {
48666	//       "description": "User profile ID associated with this request.",
48667	//       "format": "int64",
48668	//       "location": "path",
48669	//       "required": true,
48670	//       "type": "string"
48671	//     },
48672	//     "searchString": {
48673	//       "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\".",
48674	//       "location": "query",
48675	//       "type": "string"
48676	//     },
48677	//     "sortField": {
48678	//       "default": "ID",
48679	//       "description": "Field by which to sort the list.",
48680	//       "enum": [
48681	//         "ID",
48682	//         "NAME"
48683	//       ],
48684	//       "enumDescriptions": [
48685	//         "",
48686	//         ""
48687	//       ],
48688	//       "location": "query",
48689	//       "type": "string"
48690	//     },
48691	//     "sortOrder": {
48692	//       "default": "ASCENDING",
48693	//       "description": "Order of sorted results.",
48694	//       "enum": [
48695	//         "ASCENDING",
48696	//         "DESCENDING"
48697	//       ],
48698	//       "enumDescriptions": [
48699	//         "",
48700	//         ""
48701	//       ],
48702	//       "location": "query",
48703	//       "type": "string"
48704	//     }
48705	//   },
48706	//   "path": "userprofiles/{profileId}/targetingTemplates",
48707	//   "response": {
48708	//     "$ref": "TargetingTemplatesListResponse"
48709	//   },
48710	//   "scopes": [
48711	//     "https://www.googleapis.com/auth/dfatrafficking"
48712	//   ]
48713	// }
48714
48715}
48716
48717// Pages invokes f for each page of results.
48718// A non-nil error returned from f will halt the iteration.
48719// The provided context supersedes any context provided to the Context method.
48720func (c *TargetingTemplatesListCall) Pages(ctx context.Context, f func(*TargetingTemplatesListResponse) error) error {
48721	c.ctx_ = ctx
48722	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
48723	for {
48724		x, err := c.Do()
48725		if err != nil {
48726			return err
48727		}
48728		if err := f(x); err != nil {
48729			return err
48730		}
48731		if x.NextPageToken == "" {
48732			return nil
48733		}
48734		c.PageToken(x.NextPageToken)
48735	}
48736}
48737
48738// method id "dfareporting.targetingTemplates.patch":
48739
48740type TargetingTemplatesPatchCall struct {
48741	s                 *Service
48742	profileId         int64
48743	targetingtemplate *TargetingTemplate
48744	urlParams_        gensupport.URLParams
48745	ctx_              context.Context
48746	header_           http.Header
48747}
48748
48749// Patch: Updates an existing targeting template. This method supports
48750// patch semantics.
48751func (r *TargetingTemplatesService) Patch(profileId int64, id int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
48752	c := &TargetingTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48753	c.profileId = profileId
48754	c.urlParams_.Set("id", fmt.Sprint(id))
48755	c.targetingtemplate = targetingtemplate
48756	return c
48757}
48758
48759// Fields allows partial responses to be retrieved. See
48760// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48761// for more information.
48762func (c *TargetingTemplatesPatchCall) Fields(s ...googleapi.Field) *TargetingTemplatesPatchCall {
48763	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48764	return c
48765}
48766
48767// Context sets the context to be used in this call's Do method. Any
48768// pending HTTP request will be aborted if the provided context is
48769// canceled.
48770func (c *TargetingTemplatesPatchCall) Context(ctx context.Context) *TargetingTemplatesPatchCall {
48771	c.ctx_ = ctx
48772	return c
48773}
48774
48775// Header returns an http.Header that can be modified by the caller to
48776// add HTTP headers to the request.
48777func (c *TargetingTemplatesPatchCall) Header() http.Header {
48778	if c.header_ == nil {
48779		c.header_ = make(http.Header)
48780	}
48781	return c.header_
48782}
48783
48784func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
48785	reqHeaders := make(http.Header)
48786	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
48787	for k, v := range c.header_ {
48788		reqHeaders[k] = v
48789	}
48790	reqHeaders.Set("User-Agent", c.s.userAgent())
48791	var body io.Reader = nil
48792	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
48793	if err != nil {
48794		return nil, err
48795	}
48796	reqHeaders.Set("Content-Type", "application/json")
48797	c.urlParams_.Set("alt", alt)
48798	c.urlParams_.Set("prettyPrint", "false")
48799	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48800	urls += "?" + c.urlParams_.Encode()
48801	req, err := http.NewRequest("PATCH", urls, body)
48802	if err != nil {
48803		return nil, err
48804	}
48805	req.Header = reqHeaders
48806	googleapi.Expand(req.URL, map[string]string{
48807		"profileId": strconv.FormatInt(c.profileId, 10),
48808	})
48809	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48810}
48811
48812// Do executes the "dfareporting.targetingTemplates.patch" call.
48813// Exactly one of *TargetingTemplate or error will be non-nil. Any
48814// non-2xx status code is an error. Response headers are in either
48815// *TargetingTemplate.ServerResponse.Header or (if a response was
48816// returned at all) in error.(*googleapi.Error).Header. Use
48817// googleapi.IsNotModified to check whether the returned error was
48818// because http.StatusNotModified was returned.
48819func (c *TargetingTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48820	gensupport.SetOptions(c.urlParams_, opts...)
48821	res, err := c.doRequest("json")
48822	if res != nil && res.StatusCode == http.StatusNotModified {
48823		if res.Body != nil {
48824			res.Body.Close()
48825		}
48826		return nil, &googleapi.Error{
48827			Code:   res.StatusCode,
48828			Header: res.Header,
48829		}
48830	}
48831	if err != nil {
48832		return nil, err
48833	}
48834	defer googleapi.CloseBody(res)
48835	if err := googleapi.CheckResponse(res); err != nil {
48836		return nil, err
48837	}
48838	ret := &TargetingTemplate{
48839		ServerResponse: googleapi.ServerResponse{
48840			Header:         res.Header,
48841			HTTPStatusCode: res.StatusCode,
48842		},
48843	}
48844	target := &ret
48845	if err := gensupport.DecodeResponse(target, res); err != nil {
48846		return nil, err
48847	}
48848	return ret, nil
48849	// {
48850	//   "description": "Updates an existing targeting template. This method supports patch semantics.",
48851	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
48852	//   "httpMethod": "PATCH",
48853	//   "id": "dfareporting.targetingTemplates.patch",
48854	//   "parameterOrder": [
48855	//     "profileId",
48856	//     "id"
48857	//   ],
48858	//   "parameters": {
48859	//     "id": {
48860	//       "description": "TargetingTemplate ID.",
48861	//       "format": "int64",
48862	//       "location": "query",
48863	//       "required": true,
48864	//       "type": "string"
48865	//     },
48866	//     "profileId": {
48867	//       "description": "User profile ID associated with this request.",
48868	//       "format": "int64",
48869	//       "location": "path",
48870	//       "required": true,
48871	//       "type": "string"
48872	//     }
48873	//   },
48874	//   "path": "userprofiles/{profileId}/targetingTemplates",
48875	//   "request": {
48876	//     "$ref": "TargetingTemplate"
48877	//   },
48878	//   "response": {
48879	//     "$ref": "TargetingTemplate"
48880	//   },
48881	//   "scopes": [
48882	//     "https://www.googleapis.com/auth/dfatrafficking"
48883	//   ]
48884	// }
48885
48886}
48887
48888// method id "dfareporting.targetingTemplates.update":
48889
48890type TargetingTemplatesUpdateCall struct {
48891	s                 *Service
48892	profileId         int64
48893	targetingtemplate *TargetingTemplate
48894	urlParams_        gensupport.URLParams
48895	ctx_              context.Context
48896	header_           http.Header
48897}
48898
48899// Update: Updates an existing targeting template.
48900func (r *TargetingTemplatesService) Update(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesUpdateCall {
48901	c := &TargetingTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48902	c.profileId = profileId
48903	c.targetingtemplate = targetingtemplate
48904	return c
48905}
48906
48907// Fields allows partial responses to be retrieved. See
48908// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48909// for more information.
48910func (c *TargetingTemplatesUpdateCall) Fields(s ...googleapi.Field) *TargetingTemplatesUpdateCall {
48911	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48912	return c
48913}
48914
48915// Context sets the context to be used in this call's Do method. Any
48916// pending HTTP request will be aborted if the provided context is
48917// canceled.
48918func (c *TargetingTemplatesUpdateCall) Context(ctx context.Context) *TargetingTemplatesUpdateCall {
48919	c.ctx_ = ctx
48920	return c
48921}
48922
48923// Header returns an http.Header that can be modified by the caller to
48924// add HTTP headers to the request.
48925func (c *TargetingTemplatesUpdateCall) Header() http.Header {
48926	if c.header_ == nil {
48927		c.header_ = make(http.Header)
48928	}
48929	return c.header_
48930}
48931
48932func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
48933	reqHeaders := make(http.Header)
48934	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
48935	for k, v := range c.header_ {
48936		reqHeaders[k] = v
48937	}
48938	reqHeaders.Set("User-Agent", c.s.userAgent())
48939	var body io.Reader = nil
48940	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
48941	if err != nil {
48942		return nil, err
48943	}
48944	reqHeaders.Set("Content-Type", "application/json")
48945	c.urlParams_.Set("alt", alt)
48946	c.urlParams_.Set("prettyPrint", "false")
48947	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48948	urls += "?" + c.urlParams_.Encode()
48949	req, err := http.NewRequest("PUT", urls, body)
48950	if err != nil {
48951		return nil, err
48952	}
48953	req.Header = reqHeaders
48954	googleapi.Expand(req.URL, map[string]string{
48955		"profileId": strconv.FormatInt(c.profileId, 10),
48956	})
48957	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48958}
48959
48960// Do executes the "dfareporting.targetingTemplates.update" call.
48961// Exactly one of *TargetingTemplate or error will be non-nil. Any
48962// non-2xx status code is an error. Response headers are in either
48963// *TargetingTemplate.ServerResponse.Header or (if a response was
48964// returned at all) in error.(*googleapi.Error).Header. Use
48965// googleapi.IsNotModified to check whether the returned error was
48966// because http.StatusNotModified was returned.
48967func (c *TargetingTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48968	gensupport.SetOptions(c.urlParams_, opts...)
48969	res, err := c.doRequest("json")
48970	if res != nil && res.StatusCode == http.StatusNotModified {
48971		if res.Body != nil {
48972			res.Body.Close()
48973		}
48974		return nil, &googleapi.Error{
48975			Code:   res.StatusCode,
48976			Header: res.Header,
48977		}
48978	}
48979	if err != nil {
48980		return nil, err
48981	}
48982	defer googleapi.CloseBody(res)
48983	if err := googleapi.CheckResponse(res); err != nil {
48984		return nil, err
48985	}
48986	ret := &TargetingTemplate{
48987		ServerResponse: googleapi.ServerResponse{
48988			Header:         res.Header,
48989			HTTPStatusCode: res.StatusCode,
48990		},
48991	}
48992	target := &ret
48993	if err := gensupport.DecodeResponse(target, res); err != nil {
48994		return nil, err
48995	}
48996	return ret, nil
48997	// {
48998	//   "description": "Updates an existing targeting template.",
48999	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
49000	//   "httpMethod": "PUT",
49001	//   "id": "dfareporting.targetingTemplates.update",
49002	//   "parameterOrder": [
49003	//     "profileId"
49004	//   ],
49005	//   "parameters": {
49006	//     "profileId": {
49007	//       "description": "User profile ID associated with this request.",
49008	//       "format": "int64",
49009	//       "location": "path",
49010	//       "required": true,
49011	//       "type": "string"
49012	//     }
49013	//   },
49014	//   "path": "userprofiles/{profileId}/targetingTemplates",
49015	//   "request": {
49016	//     "$ref": "TargetingTemplate"
49017	//   },
49018	//   "response": {
49019	//     "$ref": "TargetingTemplate"
49020	//   },
49021	//   "scopes": [
49022	//     "https://www.googleapis.com/auth/dfatrafficking"
49023	//   ]
49024	// }
49025
49026}
49027
49028// method id "dfareporting.userProfiles.get":
49029
49030type UserProfilesGetCall struct {
49031	s            *Service
49032	profileId    int64
49033	urlParams_   gensupport.URLParams
49034	ifNoneMatch_ string
49035	ctx_         context.Context
49036	header_      http.Header
49037}
49038
49039// Get: Gets one user profile by ID.
49040func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
49041	c := &UserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49042	c.profileId = profileId
49043	return c
49044}
49045
49046// Fields allows partial responses to be retrieved. See
49047// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49048// for more information.
49049func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
49050	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49051	return c
49052}
49053
49054// IfNoneMatch sets the optional parameter which makes the operation
49055// fail if the object's ETag matches the given value. This is useful for
49056// getting updates only after the object has changed since the last
49057// request. Use googleapi.IsNotModified to check whether the response
49058// error from Do is the result of In-None-Match.
49059func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
49060	c.ifNoneMatch_ = entityTag
49061	return c
49062}
49063
49064// Context sets the context to be used in this call's Do method. Any
49065// pending HTTP request will be aborted if the provided context is
49066// canceled.
49067func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
49068	c.ctx_ = ctx
49069	return c
49070}
49071
49072// Header returns an http.Header that can be modified by the caller to
49073// add HTTP headers to the request.
49074func (c *UserProfilesGetCall) Header() http.Header {
49075	if c.header_ == nil {
49076		c.header_ = make(http.Header)
49077	}
49078	return c.header_
49079}
49080
49081func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
49082	reqHeaders := make(http.Header)
49083	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
49084	for k, v := range c.header_ {
49085		reqHeaders[k] = v
49086	}
49087	reqHeaders.Set("User-Agent", c.s.userAgent())
49088	if c.ifNoneMatch_ != "" {
49089		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49090	}
49091	var body io.Reader = nil
49092	c.urlParams_.Set("alt", alt)
49093	c.urlParams_.Set("prettyPrint", "false")
49094	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
49095	urls += "?" + c.urlParams_.Encode()
49096	req, err := http.NewRequest("GET", urls, body)
49097	if err != nil {
49098		return nil, err
49099	}
49100	req.Header = reqHeaders
49101	googleapi.Expand(req.URL, map[string]string{
49102		"profileId": strconv.FormatInt(c.profileId, 10),
49103	})
49104	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49105}
49106
49107// Do executes the "dfareporting.userProfiles.get" call.
49108// Exactly one of *UserProfile or error will be non-nil. Any non-2xx
49109// status code is an error. Response headers are in either
49110// *UserProfile.ServerResponse.Header or (if a response was returned at
49111// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
49112// to check whether the returned error was because
49113// http.StatusNotModified was returned.
49114func (c *UserProfilesGetCall) Do(opts ...googleapi.CallOption) (*UserProfile, error) {
49115	gensupport.SetOptions(c.urlParams_, opts...)
49116	res, err := c.doRequest("json")
49117	if res != nil && res.StatusCode == http.StatusNotModified {
49118		if res.Body != nil {
49119			res.Body.Close()
49120		}
49121		return nil, &googleapi.Error{
49122			Code:   res.StatusCode,
49123			Header: res.Header,
49124		}
49125	}
49126	if err != nil {
49127		return nil, err
49128	}
49129	defer googleapi.CloseBody(res)
49130	if err := googleapi.CheckResponse(res); err != nil {
49131		return nil, err
49132	}
49133	ret := &UserProfile{
49134		ServerResponse: googleapi.ServerResponse{
49135			Header:         res.Header,
49136			HTTPStatusCode: res.StatusCode,
49137		},
49138	}
49139	target := &ret
49140	if err := gensupport.DecodeResponse(target, res); err != nil {
49141		return nil, err
49142	}
49143	return ret, nil
49144	// {
49145	//   "description": "Gets one user profile by ID.",
49146	//   "flatPath": "userprofiles/{profileId}",
49147	//   "httpMethod": "GET",
49148	//   "id": "dfareporting.userProfiles.get",
49149	//   "parameterOrder": [
49150	//     "profileId"
49151	//   ],
49152	//   "parameters": {
49153	//     "profileId": {
49154	//       "description": "The user profile ID.",
49155	//       "format": "int64",
49156	//       "location": "path",
49157	//       "required": true,
49158	//       "type": "string"
49159	//     }
49160	//   },
49161	//   "path": "userprofiles/{profileId}",
49162	//   "response": {
49163	//     "$ref": "UserProfile"
49164	//   },
49165	//   "scopes": [
49166	//     "https://www.googleapis.com/auth/ddmconversions",
49167	//     "https://www.googleapis.com/auth/dfareporting",
49168	//     "https://www.googleapis.com/auth/dfatrafficking"
49169	//   ]
49170	// }
49171
49172}
49173
49174// method id "dfareporting.userProfiles.list":
49175
49176type UserProfilesListCall struct {
49177	s            *Service
49178	urlParams_   gensupport.URLParams
49179	ifNoneMatch_ string
49180	ctx_         context.Context
49181	header_      http.Header
49182}
49183
49184// List: Retrieves list of user profiles for a user.
49185func (r *UserProfilesService) List() *UserProfilesListCall {
49186	c := &UserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49187	return c
49188}
49189
49190// Fields allows partial responses to be retrieved. See
49191// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49192// for more information.
49193func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
49194	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49195	return c
49196}
49197
49198// IfNoneMatch sets the optional parameter which makes the operation
49199// fail if the object's ETag matches the given value. This is useful for
49200// getting updates only after the object has changed since the last
49201// request. Use googleapi.IsNotModified to check whether the response
49202// error from Do is the result of In-None-Match.
49203func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
49204	c.ifNoneMatch_ = entityTag
49205	return c
49206}
49207
49208// Context sets the context to be used in this call's Do method. Any
49209// pending HTTP request will be aborted if the provided context is
49210// canceled.
49211func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
49212	c.ctx_ = ctx
49213	return c
49214}
49215
49216// Header returns an http.Header that can be modified by the caller to
49217// add HTTP headers to the request.
49218func (c *UserProfilesListCall) Header() http.Header {
49219	if c.header_ == nil {
49220		c.header_ = make(http.Header)
49221	}
49222	return c.header_
49223}
49224
49225func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
49226	reqHeaders := make(http.Header)
49227	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
49228	for k, v := range c.header_ {
49229		reqHeaders[k] = v
49230	}
49231	reqHeaders.Set("User-Agent", c.s.userAgent())
49232	if c.ifNoneMatch_ != "" {
49233		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49234	}
49235	var body io.Reader = nil
49236	c.urlParams_.Set("alt", alt)
49237	c.urlParams_.Set("prettyPrint", "false")
49238	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
49239	urls += "?" + c.urlParams_.Encode()
49240	req, err := http.NewRequest("GET", urls, body)
49241	if err != nil {
49242		return nil, err
49243	}
49244	req.Header = reqHeaders
49245	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49246}
49247
49248// Do executes the "dfareporting.userProfiles.list" call.
49249// Exactly one of *UserProfileList or error will be non-nil. Any non-2xx
49250// status code is an error. Response headers are in either
49251// *UserProfileList.ServerResponse.Header or (if a response was returned
49252// at all) in error.(*googleapi.Error).Header. Use
49253// googleapi.IsNotModified to check whether the returned error was
49254// because http.StatusNotModified was returned.
49255func (c *UserProfilesListCall) Do(opts ...googleapi.CallOption) (*UserProfileList, error) {
49256	gensupport.SetOptions(c.urlParams_, opts...)
49257	res, err := c.doRequest("json")
49258	if res != nil && res.StatusCode == http.StatusNotModified {
49259		if res.Body != nil {
49260			res.Body.Close()
49261		}
49262		return nil, &googleapi.Error{
49263			Code:   res.StatusCode,
49264			Header: res.Header,
49265		}
49266	}
49267	if err != nil {
49268		return nil, err
49269	}
49270	defer googleapi.CloseBody(res)
49271	if err := googleapi.CheckResponse(res); err != nil {
49272		return nil, err
49273	}
49274	ret := &UserProfileList{
49275		ServerResponse: googleapi.ServerResponse{
49276			Header:         res.Header,
49277			HTTPStatusCode: res.StatusCode,
49278		},
49279	}
49280	target := &ret
49281	if err := gensupport.DecodeResponse(target, res); err != nil {
49282		return nil, err
49283	}
49284	return ret, nil
49285	// {
49286	//   "description": "Retrieves list of user profiles for a user.",
49287	//   "flatPath": "userprofiles",
49288	//   "httpMethod": "GET",
49289	//   "id": "dfareporting.userProfiles.list",
49290	//   "parameterOrder": [],
49291	//   "parameters": {},
49292	//   "path": "userprofiles",
49293	//   "response": {
49294	//     "$ref": "UserProfileList"
49295	//   },
49296	//   "scopes": [
49297	//     "https://www.googleapis.com/auth/ddmconversions",
49298	//     "https://www.googleapis.com/auth/dfareporting",
49299	//     "https://www.googleapis.com/auth/dfatrafficking"
49300	//   ]
49301	// }
49302
49303}
49304
49305// method id "dfareporting.userRolePermissionGroups.get":
49306
49307type UserRolePermissionGroupsGetCall struct {
49308	s            *Service
49309	profileId    int64
49310	id           int64
49311	urlParams_   gensupport.URLParams
49312	ifNoneMatch_ string
49313	ctx_         context.Context
49314	header_      http.Header
49315}
49316
49317// Get: Gets one user role permission group by ID.
49318func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
49319	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49320	c.profileId = profileId
49321	c.id = id
49322	return c
49323}
49324
49325// Fields allows partial responses to be retrieved. See
49326// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49327// for more information.
49328func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
49329	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49330	return c
49331}
49332
49333// IfNoneMatch sets the optional parameter which makes the operation
49334// fail if the object's ETag matches the given value. This is useful for
49335// getting updates only after the object has changed since the last
49336// request. Use googleapi.IsNotModified to check whether the response
49337// error from Do is the result of In-None-Match.
49338func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
49339	c.ifNoneMatch_ = entityTag
49340	return c
49341}
49342
49343// Context sets the context to be used in this call's Do method. Any
49344// pending HTTP request will be aborted if the provided context is
49345// canceled.
49346func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
49347	c.ctx_ = ctx
49348	return c
49349}
49350
49351// Header returns an http.Header that can be modified by the caller to
49352// add HTTP headers to the request.
49353func (c *UserRolePermissionGroupsGetCall) Header() http.Header {
49354	if c.header_ == nil {
49355		c.header_ = make(http.Header)
49356	}
49357	return c.header_
49358}
49359
49360func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
49361	reqHeaders := make(http.Header)
49362	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
49363	for k, v := range c.header_ {
49364		reqHeaders[k] = v
49365	}
49366	reqHeaders.Set("User-Agent", c.s.userAgent())
49367	if c.ifNoneMatch_ != "" {
49368		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49369	}
49370	var body io.Reader = nil
49371	c.urlParams_.Set("alt", alt)
49372	c.urlParams_.Set("prettyPrint", "false")
49373	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
49374	urls += "?" + c.urlParams_.Encode()
49375	req, err := http.NewRequest("GET", urls, body)
49376	if err != nil {
49377		return nil, err
49378	}
49379	req.Header = reqHeaders
49380	googleapi.Expand(req.URL, map[string]string{
49381		"profileId": strconv.FormatInt(c.profileId, 10),
49382		"id":        strconv.FormatInt(c.id, 10),
49383	})
49384	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49385}
49386
49387// Do executes the "dfareporting.userRolePermissionGroups.get" call.
49388// Exactly one of *UserRolePermissionGroup or error will be non-nil. Any
49389// non-2xx status code is an error. Response headers are in either
49390// *UserRolePermissionGroup.ServerResponse.Header or (if a response was
49391// returned at all) in error.(*googleapi.Error).Header. Use
49392// googleapi.IsNotModified to check whether the returned error was
49393// because http.StatusNotModified was returned.
49394func (c *UserRolePermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroup, error) {
49395	gensupport.SetOptions(c.urlParams_, opts...)
49396	res, err := c.doRequest("json")
49397	if res != nil && res.StatusCode == http.StatusNotModified {
49398		if res.Body != nil {
49399			res.Body.Close()
49400		}
49401		return nil, &googleapi.Error{
49402			Code:   res.StatusCode,
49403			Header: res.Header,
49404		}
49405	}
49406	if err != nil {
49407		return nil, err
49408	}
49409	defer googleapi.CloseBody(res)
49410	if err := googleapi.CheckResponse(res); err != nil {
49411		return nil, err
49412	}
49413	ret := &UserRolePermissionGroup{
49414		ServerResponse: googleapi.ServerResponse{
49415			Header:         res.Header,
49416			HTTPStatusCode: res.StatusCode,
49417		},
49418	}
49419	target := &ret
49420	if err := gensupport.DecodeResponse(target, res); err != nil {
49421		return nil, err
49422	}
49423	return ret, nil
49424	// {
49425	//   "description": "Gets one user role permission group by ID.",
49426	//   "flatPath": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
49427	//   "httpMethod": "GET",
49428	//   "id": "dfareporting.userRolePermissionGroups.get",
49429	//   "parameterOrder": [
49430	//     "profileId",
49431	//     "id"
49432	//   ],
49433	//   "parameters": {
49434	//     "id": {
49435	//       "description": "User role permission group ID.",
49436	//       "format": "int64",
49437	//       "location": "path",
49438	//       "required": true,
49439	//       "type": "string"
49440	//     },
49441	//     "profileId": {
49442	//       "description": "User profile ID associated with this request.",
49443	//       "format": "int64",
49444	//       "location": "path",
49445	//       "required": true,
49446	//       "type": "string"
49447	//     }
49448	//   },
49449	//   "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
49450	//   "response": {
49451	//     "$ref": "UserRolePermissionGroup"
49452	//   },
49453	//   "scopes": [
49454	//     "https://www.googleapis.com/auth/dfatrafficking"
49455	//   ]
49456	// }
49457
49458}
49459
49460// method id "dfareporting.userRolePermissionGroups.list":
49461
49462type UserRolePermissionGroupsListCall struct {
49463	s            *Service
49464	profileId    int64
49465	urlParams_   gensupport.URLParams
49466	ifNoneMatch_ string
49467	ctx_         context.Context
49468	header_      http.Header
49469}
49470
49471// List: Gets a list of all supported user role permission groups.
49472func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
49473	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49474	c.profileId = profileId
49475	return c
49476}
49477
49478// Fields allows partial responses to be retrieved. See
49479// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49480// for more information.
49481func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
49482	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49483	return c
49484}
49485
49486// IfNoneMatch sets the optional parameter which makes the operation
49487// fail if the object's ETag matches the given value. This is useful for
49488// getting updates only after the object has changed since the last
49489// request. Use googleapi.IsNotModified to check whether the response
49490// error from Do is the result of In-None-Match.
49491func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
49492	c.ifNoneMatch_ = entityTag
49493	return c
49494}
49495
49496// Context sets the context to be used in this call's Do method. Any
49497// pending HTTP request will be aborted if the provided context is
49498// canceled.
49499func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
49500	c.ctx_ = ctx
49501	return c
49502}
49503
49504// Header returns an http.Header that can be modified by the caller to
49505// add HTTP headers to the request.
49506func (c *UserRolePermissionGroupsListCall) Header() http.Header {
49507	if c.header_ == nil {
49508		c.header_ = make(http.Header)
49509	}
49510	return c.header_
49511}
49512
49513func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
49514	reqHeaders := make(http.Header)
49515	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
49516	for k, v := range c.header_ {
49517		reqHeaders[k] = v
49518	}
49519	reqHeaders.Set("User-Agent", c.s.userAgent())
49520	if c.ifNoneMatch_ != "" {
49521		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49522	}
49523	var body io.Reader = nil
49524	c.urlParams_.Set("alt", alt)
49525	c.urlParams_.Set("prettyPrint", "false")
49526	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
49527	urls += "?" + c.urlParams_.Encode()
49528	req, err := http.NewRequest("GET", urls, body)
49529	if err != nil {
49530		return nil, err
49531	}
49532	req.Header = reqHeaders
49533	googleapi.Expand(req.URL, map[string]string{
49534		"profileId": strconv.FormatInt(c.profileId, 10),
49535	})
49536	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49537}
49538
49539// Do executes the "dfareporting.userRolePermissionGroups.list" call.
49540// Exactly one of *UserRolePermissionGroupsListResponse or error will be
49541// non-nil. Any non-2xx status code is an error. Response headers are in
49542// either *UserRolePermissionGroupsListResponse.ServerResponse.Header or
49543// (if a response was returned at all) in
49544// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
49545// whether the returned error was because http.StatusNotModified was
49546// returned.
49547func (c *UserRolePermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroupsListResponse, error) {
49548	gensupport.SetOptions(c.urlParams_, opts...)
49549	res, err := c.doRequest("json")
49550	if res != nil && res.StatusCode == http.StatusNotModified {
49551		if res.Body != nil {
49552			res.Body.Close()
49553		}
49554		return nil, &googleapi.Error{
49555			Code:   res.StatusCode,
49556			Header: res.Header,
49557		}
49558	}
49559	if err != nil {
49560		return nil, err
49561	}
49562	defer googleapi.CloseBody(res)
49563	if err := googleapi.CheckResponse(res); err != nil {
49564		return nil, err
49565	}
49566	ret := &UserRolePermissionGroupsListResponse{
49567		ServerResponse: googleapi.ServerResponse{
49568			Header:         res.Header,
49569			HTTPStatusCode: res.StatusCode,
49570		},
49571	}
49572	target := &ret
49573	if err := gensupport.DecodeResponse(target, res); err != nil {
49574		return nil, err
49575	}
49576	return ret, nil
49577	// {
49578	//   "description": "Gets a list of all supported user role permission groups.",
49579	//   "flatPath": "userprofiles/{profileId}/userRolePermissionGroups",
49580	//   "httpMethod": "GET",
49581	//   "id": "dfareporting.userRolePermissionGroups.list",
49582	//   "parameterOrder": [
49583	//     "profileId"
49584	//   ],
49585	//   "parameters": {
49586	//     "profileId": {
49587	//       "description": "User profile ID associated with this request.",
49588	//       "format": "int64",
49589	//       "location": "path",
49590	//       "required": true,
49591	//       "type": "string"
49592	//     }
49593	//   },
49594	//   "path": "userprofiles/{profileId}/userRolePermissionGroups",
49595	//   "response": {
49596	//     "$ref": "UserRolePermissionGroupsListResponse"
49597	//   },
49598	//   "scopes": [
49599	//     "https://www.googleapis.com/auth/dfatrafficking"
49600	//   ]
49601	// }
49602
49603}
49604
49605// method id "dfareporting.userRolePermissions.get":
49606
49607type UserRolePermissionsGetCall struct {
49608	s            *Service
49609	profileId    int64
49610	id           int64
49611	urlParams_   gensupport.URLParams
49612	ifNoneMatch_ string
49613	ctx_         context.Context
49614	header_      http.Header
49615}
49616
49617// Get: Gets one user role permission by ID.
49618func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
49619	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49620	c.profileId = profileId
49621	c.id = id
49622	return c
49623}
49624
49625// Fields allows partial responses to be retrieved. See
49626// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49627// for more information.
49628func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
49629	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49630	return c
49631}
49632
49633// IfNoneMatch sets the optional parameter which makes the operation
49634// fail if the object's ETag matches the given value. This is useful for
49635// getting updates only after the object has changed since the last
49636// request. Use googleapi.IsNotModified to check whether the response
49637// error from Do is the result of In-None-Match.
49638func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
49639	c.ifNoneMatch_ = entityTag
49640	return c
49641}
49642
49643// Context sets the context to be used in this call's Do method. Any
49644// pending HTTP request will be aborted if the provided context is
49645// canceled.
49646func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
49647	c.ctx_ = ctx
49648	return c
49649}
49650
49651// Header returns an http.Header that can be modified by the caller to
49652// add HTTP headers to the request.
49653func (c *UserRolePermissionsGetCall) Header() http.Header {
49654	if c.header_ == nil {
49655		c.header_ = make(http.Header)
49656	}
49657	return c.header_
49658}
49659
49660func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
49661	reqHeaders := make(http.Header)
49662	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
49663	for k, v := range c.header_ {
49664		reqHeaders[k] = v
49665	}
49666	reqHeaders.Set("User-Agent", c.s.userAgent())
49667	if c.ifNoneMatch_ != "" {
49668		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49669	}
49670	var body io.Reader = nil
49671	c.urlParams_.Set("alt", alt)
49672	c.urlParams_.Set("prettyPrint", "false")
49673	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
49674	urls += "?" + c.urlParams_.Encode()
49675	req, err := http.NewRequest("GET", urls, body)
49676	if err != nil {
49677		return nil, err
49678	}
49679	req.Header = reqHeaders
49680	googleapi.Expand(req.URL, map[string]string{
49681		"profileId": strconv.FormatInt(c.profileId, 10),
49682		"id":        strconv.FormatInt(c.id, 10),
49683	})
49684	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49685}
49686
49687// Do executes the "dfareporting.userRolePermissions.get" call.
49688// Exactly one of *UserRolePermission or error will be non-nil. Any
49689// non-2xx status code is an error. Response headers are in either
49690// *UserRolePermission.ServerResponse.Header or (if a response was
49691// returned at all) in error.(*googleapi.Error).Header. Use
49692// googleapi.IsNotModified to check whether the returned error was
49693// because http.StatusNotModified was returned.
49694func (c *UserRolePermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermission, error) {
49695	gensupport.SetOptions(c.urlParams_, opts...)
49696	res, err := c.doRequest("json")
49697	if res != nil && res.StatusCode == http.StatusNotModified {
49698		if res.Body != nil {
49699			res.Body.Close()
49700		}
49701		return nil, &googleapi.Error{
49702			Code:   res.StatusCode,
49703			Header: res.Header,
49704		}
49705	}
49706	if err != nil {
49707		return nil, err
49708	}
49709	defer googleapi.CloseBody(res)
49710	if err := googleapi.CheckResponse(res); err != nil {
49711		return nil, err
49712	}
49713	ret := &UserRolePermission{
49714		ServerResponse: googleapi.ServerResponse{
49715			Header:         res.Header,
49716			HTTPStatusCode: res.StatusCode,
49717		},
49718	}
49719	target := &ret
49720	if err := gensupport.DecodeResponse(target, res); err != nil {
49721		return nil, err
49722	}
49723	return ret, nil
49724	// {
49725	//   "description": "Gets one user role permission by ID.",
49726	//   "flatPath": "userprofiles/{profileId}/userRolePermissions/{id}",
49727	//   "httpMethod": "GET",
49728	//   "id": "dfareporting.userRolePermissions.get",
49729	//   "parameterOrder": [
49730	//     "profileId",
49731	//     "id"
49732	//   ],
49733	//   "parameters": {
49734	//     "id": {
49735	//       "description": "User role permission ID.",
49736	//       "format": "int64",
49737	//       "location": "path",
49738	//       "required": true,
49739	//       "type": "string"
49740	//     },
49741	//     "profileId": {
49742	//       "description": "User profile ID associated with this request.",
49743	//       "format": "int64",
49744	//       "location": "path",
49745	//       "required": true,
49746	//       "type": "string"
49747	//     }
49748	//   },
49749	//   "path": "userprofiles/{profileId}/userRolePermissions/{id}",
49750	//   "response": {
49751	//     "$ref": "UserRolePermission"
49752	//   },
49753	//   "scopes": [
49754	//     "https://www.googleapis.com/auth/dfatrafficking"
49755	//   ]
49756	// }
49757
49758}
49759
49760// method id "dfareporting.userRolePermissions.list":
49761
49762type UserRolePermissionsListCall struct {
49763	s            *Service
49764	profileId    int64
49765	urlParams_   gensupport.URLParams
49766	ifNoneMatch_ string
49767	ctx_         context.Context
49768	header_      http.Header
49769}
49770
49771// List: Gets a list of user role permissions, possibly filtered.
49772func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
49773	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49774	c.profileId = profileId
49775	return c
49776}
49777
49778// Ids sets the optional parameter "ids": Select only user role
49779// permissions with these IDs.
49780func (c *UserRolePermissionsListCall) Ids(ids ...int64) *UserRolePermissionsListCall {
49781	var ids_ []string
49782	for _, v := range ids {
49783		ids_ = append(ids_, fmt.Sprint(v))
49784	}
49785	c.urlParams_.SetMulti("ids", ids_)
49786	return c
49787}
49788
49789// Fields allows partial responses to be retrieved. See
49790// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49791// for more information.
49792func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
49793	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49794	return c
49795}
49796
49797// IfNoneMatch sets the optional parameter which makes the operation
49798// fail if the object's ETag matches the given value. This is useful for
49799// getting updates only after the object has changed since the last
49800// request. Use googleapi.IsNotModified to check whether the response
49801// error from Do is the result of In-None-Match.
49802func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
49803	c.ifNoneMatch_ = entityTag
49804	return c
49805}
49806
49807// Context sets the context to be used in this call's Do method. Any
49808// pending HTTP request will be aborted if the provided context is
49809// canceled.
49810func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
49811	c.ctx_ = ctx
49812	return c
49813}
49814
49815// Header returns an http.Header that can be modified by the caller to
49816// add HTTP headers to the request.
49817func (c *UserRolePermissionsListCall) Header() http.Header {
49818	if c.header_ == nil {
49819		c.header_ = make(http.Header)
49820	}
49821	return c.header_
49822}
49823
49824func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
49825	reqHeaders := make(http.Header)
49826	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
49827	for k, v := range c.header_ {
49828		reqHeaders[k] = v
49829	}
49830	reqHeaders.Set("User-Agent", c.s.userAgent())
49831	if c.ifNoneMatch_ != "" {
49832		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49833	}
49834	var body io.Reader = nil
49835	c.urlParams_.Set("alt", alt)
49836	c.urlParams_.Set("prettyPrint", "false")
49837	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
49838	urls += "?" + c.urlParams_.Encode()
49839	req, err := http.NewRequest("GET", urls, body)
49840	if err != nil {
49841		return nil, err
49842	}
49843	req.Header = reqHeaders
49844	googleapi.Expand(req.URL, map[string]string{
49845		"profileId": strconv.FormatInt(c.profileId, 10),
49846	})
49847	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49848}
49849
49850// Do executes the "dfareporting.userRolePermissions.list" call.
49851// Exactly one of *UserRolePermissionsListResponse or error will be
49852// non-nil. Any non-2xx status code is an error. Response headers are in
49853// either *UserRolePermissionsListResponse.ServerResponse.Header or (if
49854// a response was returned at all) in error.(*googleapi.Error).Header.
49855// Use googleapi.IsNotModified to check whether the returned error was
49856// because http.StatusNotModified was returned.
49857func (c *UserRolePermissionsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionsListResponse, error) {
49858	gensupport.SetOptions(c.urlParams_, opts...)
49859	res, err := c.doRequest("json")
49860	if res != nil && res.StatusCode == http.StatusNotModified {
49861		if res.Body != nil {
49862			res.Body.Close()
49863		}
49864		return nil, &googleapi.Error{
49865			Code:   res.StatusCode,
49866			Header: res.Header,
49867		}
49868	}
49869	if err != nil {
49870		return nil, err
49871	}
49872	defer googleapi.CloseBody(res)
49873	if err := googleapi.CheckResponse(res); err != nil {
49874		return nil, err
49875	}
49876	ret := &UserRolePermissionsListResponse{
49877		ServerResponse: googleapi.ServerResponse{
49878			Header:         res.Header,
49879			HTTPStatusCode: res.StatusCode,
49880		},
49881	}
49882	target := &ret
49883	if err := gensupport.DecodeResponse(target, res); err != nil {
49884		return nil, err
49885	}
49886	return ret, nil
49887	// {
49888	//   "description": "Gets a list of user role permissions, possibly filtered.",
49889	//   "flatPath": "userprofiles/{profileId}/userRolePermissions",
49890	//   "httpMethod": "GET",
49891	//   "id": "dfareporting.userRolePermissions.list",
49892	//   "parameterOrder": [
49893	//     "profileId"
49894	//   ],
49895	//   "parameters": {
49896	//     "ids": {
49897	//       "description": "Select only user role permissions with these IDs.",
49898	//       "format": "int64",
49899	//       "location": "query",
49900	//       "repeated": true,
49901	//       "type": "string"
49902	//     },
49903	//     "profileId": {
49904	//       "description": "User profile ID associated with this request.",
49905	//       "format": "int64",
49906	//       "location": "path",
49907	//       "required": true,
49908	//       "type": "string"
49909	//     }
49910	//   },
49911	//   "path": "userprofiles/{profileId}/userRolePermissions",
49912	//   "response": {
49913	//     "$ref": "UserRolePermissionsListResponse"
49914	//   },
49915	//   "scopes": [
49916	//     "https://www.googleapis.com/auth/dfatrafficking"
49917	//   ]
49918	// }
49919
49920}
49921
49922// method id "dfareporting.userRoles.delete":
49923
49924type UserRolesDeleteCall struct {
49925	s          *Service
49926	profileId  int64
49927	id         int64
49928	urlParams_ gensupport.URLParams
49929	ctx_       context.Context
49930	header_    http.Header
49931}
49932
49933// Delete: Deletes an existing user role.
49934func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
49935	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49936	c.profileId = profileId
49937	c.id = id
49938	return c
49939}
49940
49941// Fields allows partial responses to be retrieved. See
49942// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49943// for more information.
49944func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
49945	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49946	return c
49947}
49948
49949// Context sets the context to be used in this call's Do method. Any
49950// pending HTTP request will be aborted if the provided context is
49951// canceled.
49952func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
49953	c.ctx_ = ctx
49954	return c
49955}
49956
49957// Header returns an http.Header that can be modified by the caller to
49958// add HTTP headers to the request.
49959func (c *UserRolesDeleteCall) Header() http.Header {
49960	if c.header_ == nil {
49961		c.header_ = make(http.Header)
49962	}
49963	return c.header_
49964}
49965
49966func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
49967	reqHeaders := make(http.Header)
49968	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
49969	for k, v := range c.header_ {
49970		reqHeaders[k] = v
49971	}
49972	reqHeaders.Set("User-Agent", c.s.userAgent())
49973	var body io.Reader = nil
49974	c.urlParams_.Set("alt", alt)
49975	c.urlParams_.Set("prettyPrint", "false")
49976	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
49977	urls += "?" + c.urlParams_.Encode()
49978	req, err := http.NewRequest("DELETE", urls, body)
49979	if err != nil {
49980		return nil, err
49981	}
49982	req.Header = reqHeaders
49983	googleapi.Expand(req.URL, map[string]string{
49984		"profileId": strconv.FormatInt(c.profileId, 10),
49985		"id":        strconv.FormatInt(c.id, 10),
49986	})
49987	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49988}
49989
49990// Do executes the "dfareporting.userRoles.delete" call.
49991func (c *UserRolesDeleteCall) Do(opts ...googleapi.CallOption) error {
49992	gensupport.SetOptions(c.urlParams_, opts...)
49993	res, err := c.doRequest("json")
49994	if err != nil {
49995		return err
49996	}
49997	defer googleapi.CloseBody(res)
49998	if err := googleapi.CheckResponse(res); err != nil {
49999		return err
50000	}
50001	return nil
50002	// {
50003	//   "description": "Deletes an existing user role.",
50004	//   "flatPath": "userprofiles/{profileId}/userRoles/{id}",
50005	//   "httpMethod": "DELETE",
50006	//   "id": "dfareporting.userRoles.delete",
50007	//   "parameterOrder": [
50008	//     "profileId",
50009	//     "id"
50010	//   ],
50011	//   "parameters": {
50012	//     "id": {
50013	//       "description": "User role ID.",
50014	//       "format": "int64",
50015	//       "location": "path",
50016	//       "required": true,
50017	//       "type": "string"
50018	//     },
50019	//     "profileId": {
50020	//       "description": "User profile ID associated with this request.",
50021	//       "format": "int64",
50022	//       "location": "path",
50023	//       "required": true,
50024	//       "type": "string"
50025	//     }
50026	//   },
50027	//   "path": "userprofiles/{profileId}/userRoles/{id}",
50028	//   "scopes": [
50029	//     "https://www.googleapis.com/auth/dfatrafficking"
50030	//   ]
50031	// }
50032
50033}
50034
50035// method id "dfareporting.userRoles.get":
50036
50037type UserRolesGetCall struct {
50038	s            *Service
50039	profileId    int64
50040	id           int64
50041	urlParams_   gensupport.URLParams
50042	ifNoneMatch_ string
50043	ctx_         context.Context
50044	header_      http.Header
50045}
50046
50047// Get: Gets one user role by ID.
50048func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
50049	c := &UserRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50050	c.profileId = profileId
50051	c.id = id
50052	return c
50053}
50054
50055// Fields allows partial responses to be retrieved. See
50056// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50057// for more information.
50058func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
50059	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50060	return c
50061}
50062
50063// IfNoneMatch sets the optional parameter which makes the operation
50064// fail if the object's ETag matches the given value. This is useful for
50065// getting updates only after the object has changed since the last
50066// request. Use googleapi.IsNotModified to check whether the response
50067// error from Do is the result of In-None-Match.
50068func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
50069	c.ifNoneMatch_ = entityTag
50070	return c
50071}
50072
50073// Context sets the context to be used in this call's Do method. Any
50074// pending HTTP request will be aborted if the provided context is
50075// canceled.
50076func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
50077	c.ctx_ = ctx
50078	return c
50079}
50080
50081// Header returns an http.Header that can be modified by the caller to
50082// add HTTP headers to the request.
50083func (c *UserRolesGetCall) Header() http.Header {
50084	if c.header_ == nil {
50085		c.header_ = make(http.Header)
50086	}
50087	return c.header_
50088}
50089
50090func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
50091	reqHeaders := make(http.Header)
50092	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
50093	for k, v := range c.header_ {
50094		reqHeaders[k] = v
50095	}
50096	reqHeaders.Set("User-Agent", c.s.userAgent())
50097	if c.ifNoneMatch_ != "" {
50098		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50099	}
50100	var body io.Reader = nil
50101	c.urlParams_.Set("alt", alt)
50102	c.urlParams_.Set("prettyPrint", "false")
50103	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
50104	urls += "?" + c.urlParams_.Encode()
50105	req, err := http.NewRequest("GET", urls, body)
50106	if err != nil {
50107		return nil, err
50108	}
50109	req.Header = reqHeaders
50110	googleapi.Expand(req.URL, map[string]string{
50111		"profileId": strconv.FormatInt(c.profileId, 10),
50112		"id":        strconv.FormatInt(c.id, 10),
50113	})
50114	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50115}
50116
50117// Do executes the "dfareporting.userRoles.get" call.
50118// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50119// code is an error. Response headers are in either
50120// *UserRole.ServerResponse.Header or (if a response was returned at
50121// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50122// to check whether the returned error was because
50123// http.StatusNotModified was returned.
50124func (c *UserRolesGetCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50125	gensupport.SetOptions(c.urlParams_, opts...)
50126	res, err := c.doRequest("json")
50127	if res != nil && res.StatusCode == http.StatusNotModified {
50128		if res.Body != nil {
50129			res.Body.Close()
50130		}
50131		return nil, &googleapi.Error{
50132			Code:   res.StatusCode,
50133			Header: res.Header,
50134		}
50135	}
50136	if err != nil {
50137		return nil, err
50138	}
50139	defer googleapi.CloseBody(res)
50140	if err := googleapi.CheckResponse(res); err != nil {
50141		return nil, err
50142	}
50143	ret := &UserRole{
50144		ServerResponse: googleapi.ServerResponse{
50145			Header:         res.Header,
50146			HTTPStatusCode: res.StatusCode,
50147		},
50148	}
50149	target := &ret
50150	if err := gensupport.DecodeResponse(target, res); err != nil {
50151		return nil, err
50152	}
50153	return ret, nil
50154	// {
50155	//   "description": "Gets one user role by ID.",
50156	//   "flatPath": "userprofiles/{profileId}/userRoles/{id}",
50157	//   "httpMethod": "GET",
50158	//   "id": "dfareporting.userRoles.get",
50159	//   "parameterOrder": [
50160	//     "profileId",
50161	//     "id"
50162	//   ],
50163	//   "parameters": {
50164	//     "id": {
50165	//       "description": "User role ID.",
50166	//       "format": "int64",
50167	//       "location": "path",
50168	//       "required": true,
50169	//       "type": "string"
50170	//     },
50171	//     "profileId": {
50172	//       "description": "User profile ID associated with this request.",
50173	//       "format": "int64",
50174	//       "location": "path",
50175	//       "required": true,
50176	//       "type": "string"
50177	//     }
50178	//   },
50179	//   "path": "userprofiles/{profileId}/userRoles/{id}",
50180	//   "response": {
50181	//     "$ref": "UserRole"
50182	//   },
50183	//   "scopes": [
50184	//     "https://www.googleapis.com/auth/dfatrafficking"
50185	//   ]
50186	// }
50187
50188}
50189
50190// method id "dfareporting.userRoles.insert":
50191
50192type UserRolesInsertCall struct {
50193	s          *Service
50194	profileId  int64
50195	userrole   *UserRole
50196	urlParams_ gensupport.URLParams
50197	ctx_       context.Context
50198	header_    http.Header
50199}
50200
50201// Insert: Inserts a new user role.
50202func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
50203	c := &UserRolesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50204	c.profileId = profileId
50205	c.userrole = userrole
50206	return c
50207}
50208
50209// Fields allows partial responses to be retrieved. See
50210// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50211// for more information.
50212func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
50213	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50214	return c
50215}
50216
50217// Context sets the context to be used in this call's Do method. Any
50218// pending HTTP request will be aborted if the provided context is
50219// canceled.
50220func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
50221	c.ctx_ = ctx
50222	return c
50223}
50224
50225// Header returns an http.Header that can be modified by the caller to
50226// add HTTP headers to the request.
50227func (c *UserRolesInsertCall) Header() http.Header {
50228	if c.header_ == nil {
50229		c.header_ = make(http.Header)
50230	}
50231	return c.header_
50232}
50233
50234func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
50235	reqHeaders := make(http.Header)
50236	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
50237	for k, v := range c.header_ {
50238		reqHeaders[k] = v
50239	}
50240	reqHeaders.Set("User-Agent", c.s.userAgent())
50241	var body io.Reader = nil
50242	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
50243	if err != nil {
50244		return nil, err
50245	}
50246	reqHeaders.Set("Content-Type", "application/json")
50247	c.urlParams_.Set("alt", alt)
50248	c.urlParams_.Set("prettyPrint", "false")
50249	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50250	urls += "?" + c.urlParams_.Encode()
50251	req, err := http.NewRequest("POST", urls, body)
50252	if err != nil {
50253		return nil, err
50254	}
50255	req.Header = reqHeaders
50256	googleapi.Expand(req.URL, map[string]string{
50257		"profileId": strconv.FormatInt(c.profileId, 10),
50258	})
50259	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50260}
50261
50262// Do executes the "dfareporting.userRoles.insert" call.
50263// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50264// code is an error. Response headers are in either
50265// *UserRole.ServerResponse.Header or (if a response was returned at
50266// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50267// to check whether the returned error was because
50268// http.StatusNotModified was returned.
50269func (c *UserRolesInsertCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50270	gensupport.SetOptions(c.urlParams_, opts...)
50271	res, err := c.doRequest("json")
50272	if res != nil && res.StatusCode == http.StatusNotModified {
50273		if res.Body != nil {
50274			res.Body.Close()
50275		}
50276		return nil, &googleapi.Error{
50277			Code:   res.StatusCode,
50278			Header: res.Header,
50279		}
50280	}
50281	if err != nil {
50282		return nil, err
50283	}
50284	defer googleapi.CloseBody(res)
50285	if err := googleapi.CheckResponse(res); err != nil {
50286		return nil, err
50287	}
50288	ret := &UserRole{
50289		ServerResponse: googleapi.ServerResponse{
50290			Header:         res.Header,
50291			HTTPStatusCode: res.StatusCode,
50292		},
50293	}
50294	target := &ret
50295	if err := gensupport.DecodeResponse(target, res); err != nil {
50296		return nil, err
50297	}
50298	return ret, nil
50299	// {
50300	//   "description": "Inserts a new user role.",
50301	//   "flatPath": "userprofiles/{profileId}/userRoles",
50302	//   "httpMethod": "POST",
50303	//   "id": "dfareporting.userRoles.insert",
50304	//   "parameterOrder": [
50305	//     "profileId"
50306	//   ],
50307	//   "parameters": {
50308	//     "profileId": {
50309	//       "description": "User profile ID associated with this request.",
50310	//       "format": "int64",
50311	//       "location": "path",
50312	//       "required": true,
50313	//       "type": "string"
50314	//     }
50315	//   },
50316	//   "path": "userprofiles/{profileId}/userRoles",
50317	//   "request": {
50318	//     "$ref": "UserRole"
50319	//   },
50320	//   "response": {
50321	//     "$ref": "UserRole"
50322	//   },
50323	//   "scopes": [
50324	//     "https://www.googleapis.com/auth/dfatrafficking"
50325	//   ]
50326	// }
50327
50328}
50329
50330// method id "dfareporting.userRoles.list":
50331
50332type UserRolesListCall struct {
50333	s            *Service
50334	profileId    int64
50335	urlParams_   gensupport.URLParams
50336	ifNoneMatch_ string
50337	ctx_         context.Context
50338	header_      http.Header
50339}
50340
50341// List: Retrieves a list of user roles, possibly filtered. This method
50342// supports paging.
50343func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
50344	c := &UserRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50345	c.profileId = profileId
50346	return c
50347}
50348
50349// AccountUserRoleOnly sets the optional parameter
50350// "accountUserRoleOnly": Select only account level user roles not
50351// associated with any specific subaccount.
50352func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
50353	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprint(accountUserRoleOnly))
50354	return c
50355}
50356
50357// Ids sets the optional parameter "ids": Select only user roles with
50358// the specified IDs.
50359func (c *UserRolesListCall) Ids(ids ...int64) *UserRolesListCall {
50360	var ids_ []string
50361	for _, v := range ids {
50362		ids_ = append(ids_, fmt.Sprint(v))
50363	}
50364	c.urlParams_.SetMulti("ids", ids_)
50365	return c
50366}
50367
50368// MaxResults sets the optional parameter "maxResults": Maximum number
50369// of results to return.
50370func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
50371	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
50372	return c
50373}
50374
50375// PageToken sets the optional parameter "pageToken": Value of the
50376// nextPageToken from the previous result page.
50377func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
50378	c.urlParams_.Set("pageToken", pageToken)
50379	return c
50380}
50381
50382// SearchString sets the optional parameter "searchString": Allows
50383// searching for objects by name or ID. Wildcards (*) are allowed. For
50384// example, "userrole*2015" will return objects with names like
50385// "userrole June 2015", "userrole April 2015", or simply "userrole
50386// 2015". Most of the searches also add wildcards implicitly at the
50387// start and the end of the search string. For example, a search string
50388// of "userrole" will match objects with name "my userrole", "userrole
50389// 2015", or simply "userrole".
50390func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
50391	c.urlParams_.Set("searchString", searchString)
50392	return c
50393}
50394
50395// SortField sets the optional parameter "sortField": Field by which to
50396// sort the list.
50397//
50398// Possible values:
50399//   "ID" (default)
50400//   "NAME"
50401func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
50402	c.urlParams_.Set("sortField", sortField)
50403	return c
50404}
50405
50406// SortOrder sets the optional parameter "sortOrder": Order of sorted
50407// results.
50408//
50409// Possible values:
50410//   "ASCENDING" (default)
50411//   "DESCENDING"
50412func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
50413	c.urlParams_.Set("sortOrder", sortOrder)
50414	return c
50415}
50416
50417// SubaccountId sets the optional parameter "subaccountId": Select only
50418// user roles that belong to this subaccount.
50419func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
50420	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
50421	return c
50422}
50423
50424// Fields allows partial responses to be retrieved. See
50425// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50426// for more information.
50427func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
50428	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50429	return c
50430}
50431
50432// IfNoneMatch sets the optional parameter which makes the operation
50433// fail if the object's ETag matches the given value. This is useful for
50434// getting updates only after the object has changed since the last
50435// request. Use googleapi.IsNotModified to check whether the response
50436// error from Do is the result of In-None-Match.
50437func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
50438	c.ifNoneMatch_ = entityTag
50439	return c
50440}
50441
50442// Context sets the context to be used in this call's Do method. Any
50443// pending HTTP request will be aborted if the provided context is
50444// canceled.
50445func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
50446	c.ctx_ = ctx
50447	return c
50448}
50449
50450// Header returns an http.Header that can be modified by the caller to
50451// add HTTP headers to the request.
50452func (c *UserRolesListCall) Header() http.Header {
50453	if c.header_ == nil {
50454		c.header_ = make(http.Header)
50455	}
50456	return c.header_
50457}
50458
50459func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
50460	reqHeaders := make(http.Header)
50461	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
50462	for k, v := range c.header_ {
50463		reqHeaders[k] = v
50464	}
50465	reqHeaders.Set("User-Agent", c.s.userAgent())
50466	if c.ifNoneMatch_ != "" {
50467		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50468	}
50469	var body io.Reader = nil
50470	c.urlParams_.Set("alt", alt)
50471	c.urlParams_.Set("prettyPrint", "false")
50472	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50473	urls += "?" + c.urlParams_.Encode()
50474	req, err := http.NewRequest("GET", urls, body)
50475	if err != nil {
50476		return nil, err
50477	}
50478	req.Header = reqHeaders
50479	googleapi.Expand(req.URL, map[string]string{
50480		"profileId": strconv.FormatInt(c.profileId, 10),
50481	})
50482	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50483}
50484
50485// Do executes the "dfareporting.userRoles.list" call.
50486// Exactly one of *UserRolesListResponse or error will be non-nil. Any
50487// non-2xx status code is an error. Response headers are in either
50488// *UserRolesListResponse.ServerResponse.Header or (if a response was
50489// returned at all) in error.(*googleapi.Error).Header. Use
50490// googleapi.IsNotModified to check whether the returned error was
50491// because http.StatusNotModified was returned.
50492func (c *UserRolesListCall) Do(opts ...googleapi.CallOption) (*UserRolesListResponse, error) {
50493	gensupport.SetOptions(c.urlParams_, opts...)
50494	res, err := c.doRequest("json")
50495	if res != nil && res.StatusCode == http.StatusNotModified {
50496		if res.Body != nil {
50497			res.Body.Close()
50498		}
50499		return nil, &googleapi.Error{
50500			Code:   res.StatusCode,
50501			Header: res.Header,
50502		}
50503	}
50504	if err != nil {
50505		return nil, err
50506	}
50507	defer googleapi.CloseBody(res)
50508	if err := googleapi.CheckResponse(res); err != nil {
50509		return nil, err
50510	}
50511	ret := &UserRolesListResponse{
50512		ServerResponse: googleapi.ServerResponse{
50513			Header:         res.Header,
50514			HTTPStatusCode: res.StatusCode,
50515		},
50516	}
50517	target := &ret
50518	if err := gensupport.DecodeResponse(target, res); err != nil {
50519		return nil, err
50520	}
50521	return ret, nil
50522	// {
50523	//   "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
50524	//   "flatPath": "userprofiles/{profileId}/userRoles",
50525	//   "httpMethod": "GET",
50526	//   "id": "dfareporting.userRoles.list",
50527	//   "parameterOrder": [
50528	//     "profileId"
50529	//   ],
50530	//   "parameters": {
50531	//     "accountUserRoleOnly": {
50532	//       "description": "Select only account level user roles not associated with any specific subaccount.",
50533	//       "location": "query",
50534	//       "type": "boolean"
50535	//     },
50536	//     "ids": {
50537	//       "description": "Select only user roles with the specified IDs.",
50538	//       "format": "int64",
50539	//       "location": "query",
50540	//       "repeated": true,
50541	//       "type": "string"
50542	//     },
50543	//     "maxResults": {
50544	//       "default": "1000",
50545	//       "description": "Maximum number of results to return.",
50546	//       "format": "int32",
50547	//       "location": "query",
50548	//       "maximum": "1000",
50549	//       "minimum": "0",
50550	//       "type": "integer"
50551	//     },
50552	//     "pageToken": {
50553	//       "description": "Value of the nextPageToken from the previous result page.",
50554	//       "location": "query",
50555	//       "type": "string"
50556	//     },
50557	//     "profileId": {
50558	//       "description": "User profile ID associated with this request.",
50559	//       "format": "int64",
50560	//       "location": "path",
50561	//       "required": true,
50562	//       "type": "string"
50563	//     },
50564	//     "searchString": {
50565	//       "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\".",
50566	//       "location": "query",
50567	//       "type": "string"
50568	//     },
50569	//     "sortField": {
50570	//       "default": "ID",
50571	//       "description": "Field by which to sort the list.",
50572	//       "enum": [
50573	//         "ID",
50574	//         "NAME"
50575	//       ],
50576	//       "enumDescriptions": [
50577	//         "",
50578	//         ""
50579	//       ],
50580	//       "location": "query",
50581	//       "type": "string"
50582	//     },
50583	//     "sortOrder": {
50584	//       "default": "ASCENDING",
50585	//       "description": "Order of sorted results.",
50586	//       "enum": [
50587	//         "ASCENDING",
50588	//         "DESCENDING"
50589	//       ],
50590	//       "enumDescriptions": [
50591	//         "",
50592	//         ""
50593	//       ],
50594	//       "location": "query",
50595	//       "type": "string"
50596	//     },
50597	//     "subaccountId": {
50598	//       "description": "Select only user roles that belong to this subaccount.",
50599	//       "format": "int64",
50600	//       "location": "query",
50601	//       "type": "string"
50602	//     }
50603	//   },
50604	//   "path": "userprofiles/{profileId}/userRoles",
50605	//   "response": {
50606	//     "$ref": "UserRolesListResponse"
50607	//   },
50608	//   "scopes": [
50609	//     "https://www.googleapis.com/auth/dfatrafficking"
50610	//   ]
50611	// }
50612
50613}
50614
50615// Pages invokes f for each page of results.
50616// A non-nil error returned from f will halt the iteration.
50617// The provided context supersedes any context provided to the Context method.
50618func (c *UserRolesListCall) Pages(ctx context.Context, f func(*UserRolesListResponse) error) error {
50619	c.ctx_ = ctx
50620	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
50621	for {
50622		x, err := c.Do()
50623		if err != nil {
50624			return err
50625		}
50626		if err := f(x); err != nil {
50627			return err
50628		}
50629		if x.NextPageToken == "" {
50630			return nil
50631		}
50632		c.PageToken(x.NextPageToken)
50633	}
50634}
50635
50636// method id "dfareporting.userRoles.patch":
50637
50638type UserRolesPatchCall struct {
50639	s          *Service
50640	profileId  int64
50641	userrole   *UserRole
50642	urlParams_ gensupport.URLParams
50643	ctx_       context.Context
50644	header_    http.Header
50645}
50646
50647// Patch: Updates an existing user role. This method supports patch
50648// semantics.
50649func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
50650	c := &UserRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50651	c.profileId = profileId
50652	c.urlParams_.Set("id", fmt.Sprint(id))
50653	c.userrole = userrole
50654	return c
50655}
50656
50657// Fields allows partial responses to be retrieved. See
50658// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50659// for more information.
50660func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
50661	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50662	return c
50663}
50664
50665// Context sets the context to be used in this call's Do method. Any
50666// pending HTTP request will be aborted if the provided context is
50667// canceled.
50668func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
50669	c.ctx_ = ctx
50670	return c
50671}
50672
50673// Header returns an http.Header that can be modified by the caller to
50674// add HTTP headers to the request.
50675func (c *UserRolesPatchCall) Header() http.Header {
50676	if c.header_ == nil {
50677		c.header_ = make(http.Header)
50678	}
50679	return c.header_
50680}
50681
50682func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
50683	reqHeaders := make(http.Header)
50684	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
50685	for k, v := range c.header_ {
50686		reqHeaders[k] = v
50687	}
50688	reqHeaders.Set("User-Agent", c.s.userAgent())
50689	var body io.Reader = nil
50690	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
50691	if err != nil {
50692		return nil, err
50693	}
50694	reqHeaders.Set("Content-Type", "application/json")
50695	c.urlParams_.Set("alt", alt)
50696	c.urlParams_.Set("prettyPrint", "false")
50697	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50698	urls += "?" + c.urlParams_.Encode()
50699	req, err := http.NewRequest("PATCH", urls, body)
50700	if err != nil {
50701		return nil, err
50702	}
50703	req.Header = reqHeaders
50704	googleapi.Expand(req.URL, map[string]string{
50705		"profileId": strconv.FormatInt(c.profileId, 10),
50706	})
50707	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50708}
50709
50710// Do executes the "dfareporting.userRoles.patch" call.
50711// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50712// code is an error. Response headers are in either
50713// *UserRole.ServerResponse.Header or (if a response was returned at
50714// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50715// to check whether the returned error was because
50716// http.StatusNotModified was returned.
50717func (c *UserRolesPatchCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50718	gensupport.SetOptions(c.urlParams_, opts...)
50719	res, err := c.doRequest("json")
50720	if res != nil && res.StatusCode == http.StatusNotModified {
50721		if res.Body != nil {
50722			res.Body.Close()
50723		}
50724		return nil, &googleapi.Error{
50725			Code:   res.StatusCode,
50726			Header: res.Header,
50727		}
50728	}
50729	if err != nil {
50730		return nil, err
50731	}
50732	defer googleapi.CloseBody(res)
50733	if err := googleapi.CheckResponse(res); err != nil {
50734		return nil, err
50735	}
50736	ret := &UserRole{
50737		ServerResponse: googleapi.ServerResponse{
50738			Header:         res.Header,
50739			HTTPStatusCode: res.StatusCode,
50740		},
50741	}
50742	target := &ret
50743	if err := gensupport.DecodeResponse(target, res); err != nil {
50744		return nil, err
50745	}
50746	return ret, nil
50747	// {
50748	//   "description": "Updates an existing user role. This method supports patch semantics.",
50749	//   "flatPath": "userprofiles/{profileId}/userRoles",
50750	//   "httpMethod": "PATCH",
50751	//   "id": "dfareporting.userRoles.patch",
50752	//   "parameterOrder": [
50753	//     "profileId",
50754	//     "id"
50755	//   ],
50756	//   "parameters": {
50757	//     "id": {
50758	//       "description": "UserRole ID.",
50759	//       "format": "int64",
50760	//       "location": "query",
50761	//       "required": true,
50762	//       "type": "string"
50763	//     },
50764	//     "profileId": {
50765	//       "description": "User profile ID associated with this request.",
50766	//       "format": "int64",
50767	//       "location": "path",
50768	//       "required": true,
50769	//       "type": "string"
50770	//     }
50771	//   },
50772	//   "path": "userprofiles/{profileId}/userRoles",
50773	//   "request": {
50774	//     "$ref": "UserRole"
50775	//   },
50776	//   "response": {
50777	//     "$ref": "UserRole"
50778	//   },
50779	//   "scopes": [
50780	//     "https://www.googleapis.com/auth/dfatrafficking"
50781	//   ]
50782	// }
50783
50784}
50785
50786// method id "dfareporting.userRoles.update":
50787
50788type UserRolesUpdateCall struct {
50789	s          *Service
50790	profileId  int64
50791	userrole   *UserRole
50792	urlParams_ gensupport.URLParams
50793	ctx_       context.Context
50794	header_    http.Header
50795}
50796
50797// Update: Updates an existing user role.
50798func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
50799	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50800	c.profileId = profileId
50801	c.userrole = userrole
50802	return c
50803}
50804
50805// Fields allows partial responses to be retrieved. See
50806// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50807// for more information.
50808func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
50809	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50810	return c
50811}
50812
50813// Context sets the context to be used in this call's Do method. Any
50814// pending HTTP request will be aborted if the provided context is
50815// canceled.
50816func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
50817	c.ctx_ = ctx
50818	return c
50819}
50820
50821// Header returns an http.Header that can be modified by the caller to
50822// add HTTP headers to the request.
50823func (c *UserRolesUpdateCall) Header() http.Header {
50824	if c.header_ == nil {
50825		c.header_ = make(http.Header)
50826	}
50827	return c.header_
50828}
50829
50830func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
50831	reqHeaders := make(http.Header)
50832	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
50833	for k, v := range c.header_ {
50834		reqHeaders[k] = v
50835	}
50836	reqHeaders.Set("User-Agent", c.s.userAgent())
50837	var body io.Reader = nil
50838	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
50839	if err != nil {
50840		return nil, err
50841	}
50842	reqHeaders.Set("Content-Type", "application/json")
50843	c.urlParams_.Set("alt", alt)
50844	c.urlParams_.Set("prettyPrint", "false")
50845	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50846	urls += "?" + c.urlParams_.Encode()
50847	req, err := http.NewRequest("PUT", urls, body)
50848	if err != nil {
50849		return nil, err
50850	}
50851	req.Header = reqHeaders
50852	googleapi.Expand(req.URL, map[string]string{
50853		"profileId": strconv.FormatInt(c.profileId, 10),
50854	})
50855	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50856}
50857
50858// Do executes the "dfareporting.userRoles.update" call.
50859// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50860// code is an error. Response headers are in either
50861// *UserRole.ServerResponse.Header or (if a response was returned at
50862// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50863// to check whether the returned error was because
50864// http.StatusNotModified was returned.
50865func (c *UserRolesUpdateCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50866	gensupport.SetOptions(c.urlParams_, opts...)
50867	res, err := c.doRequest("json")
50868	if res != nil && res.StatusCode == http.StatusNotModified {
50869		if res.Body != nil {
50870			res.Body.Close()
50871		}
50872		return nil, &googleapi.Error{
50873			Code:   res.StatusCode,
50874			Header: res.Header,
50875		}
50876	}
50877	if err != nil {
50878		return nil, err
50879	}
50880	defer googleapi.CloseBody(res)
50881	if err := googleapi.CheckResponse(res); err != nil {
50882		return nil, err
50883	}
50884	ret := &UserRole{
50885		ServerResponse: googleapi.ServerResponse{
50886			Header:         res.Header,
50887			HTTPStatusCode: res.StatusCode,
50888		},
50889	}
50890	target := &ret
50891	if err := gensupport.DecodeResponse(target, res); err != nil {
50892		return nil, err
50893	}
50894	return ret, nil
50895	// {
50896	//   "description": "Updates an existing user role.",
50897	//   "flatPath": "userprofiles/{profileId}/userRoles",
50898	//   "httpMethod": "PUT",
50899	//   "id": "dfareporting.userRoles.update",
50900	//   "parameterOrder": [
50901	//     "profileId"
50902	//   ],
50903	//   "parameters": {
50904	//     "profileId": {
50905	//       "description": "User profile ID associated with this request.",
50906	//       "format": "int64",
50907	//       "location": "path",
50908	//       "required": true,
50909	//       "type": "string"
50910	//     }
50911	//   },
50912	//   "path": "userprofiles/{profileId}/userRoles",
50913	//   "request": {
50914	//     "$ref": "UserRole"
50915	//   },
50916	//   "response": {
50917	//     "$ref": "UserRole"
50918	//   },
50919	//   "scopes": [
50920	//     "https://www.googleapis.com/auth/dfatrafficking"
50921	//   ]
50922	// }
50923
50924}
50925
50926// method id "dfareporting.videoFormats.get":
50927
50928type VideoFormatsGetCall struct {
50929	s            *Service
50930	profileId    int64
50931	id           int64
50932	urlParams_   gensupport.URLParams
50933	ifNoneMatch_ string
50934	ctx_         context.Context
50935	header_      http.Header
50936}
50937
50938// Get: Gets one video format by ID.
50939func (r *VideoFormatsService) Get(profileId int64, id int64) *VideoFormatsGetCall {
50940	c := &VideoFormatsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50941	c.profileId = profileId
50942	c.id = id
50943	return c
50944}
50945
50946// Fields allows partial responses to be retrieved. See
50947// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50948// for more information.
50949func (c *VideoFormatsGetCall) Fields(s ...googleapi.Field) *VideoFormatsGetCall {
50950	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50951	return c
50952}
50953
50954// IfNoneMatch sets the optional parameter which makes the operation
50955// fail if the object's ETag matches the given value. This is useful for
50956// getting updates only after the object has changed since the last
50957// request. Use googleapi.IsNotModified to check whether the response
50958// error from Do is the result of In-None-Match.
50959func (c *VideoFormatsGetCall) IfNoneMatch(entityTag string) *VideoFormatsGetCall {
50960	c.ifNoneMatch_ = entityTag
50961	return c
50962}
50963
50964// Context sets the context to be used in this call's Do method. Any
50965// pending HTTP request will be aborted if the provided context is
50966// canceled.
50967func (c *VideoFormatsGetCall) Context(ctx context.Context) *VideoFormatsGetCall {
50968	c.ctx_ = ctx
50969	return c
50970}
50971
50972// Header returns an http.Header that can be modified by the caller to
50973// add HTTP headers to the request.
50974func (c *VideoFormatsGetCall) Header() http.Header {
50975	if c.header_ == nil {
50976		c.header_ = make(http.Header)
50977	}
50978	return c.header_
50979}
50980
50981func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
50982	reqHeaders := make(http.Header)
50983	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
50984	for k, v := range c.header_ {
50985		reqHeaders[k] = v
50986	}
50987	reqHeaders.Set("User-Agent", c.s.userAgent())
50988	if c.ifNoneMatch_ != "" {
50989		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50990	}
50991	var body io.Reader = nil
50992	c.urlParams_.Set("alt", alt)
50993	c.urlParams_.Set("prettyPrint", "false")
50994	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats/{id}")
50995	urls += "?" + c.urlParams_.Encode()
50996	req, err := http.NewRequest("GET", urls, body)
50997	if err != nil {
50998		return nil, err
50999	}
51000	req.Header = reqHeaders
51001	googleapi.Expand(req.URL, map[string]string{
51002		"profileId": strconv.FormatInt(c.profileId, 10),
51003		"id":        strconv.FormatInt(c.id, 10),
51004	})
51005	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51006}
51007
51008// Do executes the "dfareporting.videoFormats.get" call.
51009// Exactly one of *VideoFormat or error will be non-nil. Any non-2xx
51010// status code is an error. Response headers are in either
51011// *VideoFormat.ServerResponse.Header or (if a response was returned at
51012// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
51013// to check whether the returned error was because
51014// http.StatusNotModified was returned.
51015func (c *VideoFormatsGetCall) Do(opts ...googleapi.CallOption) (*VideoFormat, error) {
51016	gensupport.SetOptions(c.urlParams_, opts...)
51017	res, err := c.doRequest("json")
51018	if res != nil && res.StatusCode == http.StatusNotModified {
51019		if res.Body != nil {
51020			res.Body.Close()
51021		}
51022		return nil, &googleapi.Error{
51023			Code:   res.StatusCode,
51024			Header: res.Header,
51025		}
51026	}
51027	if err != nil {
51028		return nil, err
51029	}
51030	defer googleapi.CloseBody(res)
51031	if err := googleapi.CheckResponse(res); err != nil {
51032		return nil, err
51033	}
51034	ret := &VideoFormat{
51035		ServerResponse: googleapi.ServerResponse{
51036			Header:         res.Header,
51037			HTTPStatusCode: res.StatusCode,
51038		},
51039	}
51040	target := &ret
51041	if err := gensupport.DecodeResponse(target, res); err != nil {
51042		return nil, err
51043	}
51044	return ret, nil
51045	// {
51046	//   "description": "Gets one video format by ID.",
51047	//   "flatPath": "userprofiles/{profileId}/videoFormats/{id}",
51048	//   "httpMethod": "GET",
51049	//   "id": "dfareporting.videoFormats.get",
51050	//   "parameterOrder": [
51051	//     "profileId",
51052	//     "id"
51053	//   ],
51054	//   "parameters": {
51055	//     "id": {
51056	//       "description": "Video format ID.",
51057	//       "format": "int32",
51058	//       "location": "path",
51059	//       "required": true,
51060	//       "type": "integer"
51061	//     },
51062	//     "profileId": {
51063	//       "description": "User profile ID associated with this request.",
51064	//       "format": "int64",
51065	//       "location": "path",
51066	//       "required": true,
51067	//       "type": "string"
51068	//     }
51069	//   },
51070	//   "path": "userprofiles/{profileId}/videoFormats/{id}",
51071	//   "response": {
51072	//     "$ref": "VideoFormat"
51073	//   },
51074	//   "scopes": [
51075	//     "https://www.googleapis.com/auth/dfatrafficking"
51076	//   ]
51077	// }
51078
51079}
51080
51081// method id "dfareporting.videoFormats.list":
51082
51083type VideoFormatsListCall struct {
51084	s            *Service
51085	profileId    int64
51086	urlParams_   gensupport.URLParams
51087	ifNoneMatch_ string
51088	ctx_         context.Context
51089	header_      http.Header
51090}
51091
51092// List: Lists available video formats.
51093func (r *VideoFormatsService) List(profileId int64) *VideoFormatsListCall {
51094	c := &VideoFormatsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51095	c.profileId = profileId
51096	return c
51097}
51098
51099// Fields allows partial responses to be retrieved. See
51100// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51101// for more information.
51102func (c *VideoFormatsListCall) Fields(s ...googleapi.Field) *VideoFormatsListCall {
51103	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51104	return c
51105}
51106
51107// IfNoneMatch sets the optional parameter which makes the operation
51108// fail if the object's ETag matches the given value. This is useful for
51109// getting updates only after the object has changed since the last
51110// request. Use googleapi.IsNotModified to check whether the response
51111// error from Do is the result of In-None-Match.
51112func (c *VideoFormatsListCall) IfNoneMatch(entityTag string) *VideoFormatsListCall {
51113	c.ifNoneMatch_ = entityTag
51114	return c
51115}
51116
51117// Context sets the context to be used in this call's Do method. Any
51118// pending HTTP request will be aborted if the provided context is
51119// canceled.
51120func (c *VideoFormatsListCall) Context(ctx context.Context) *VideoFormatsListCall {
51121	c.ctx_ = ctx
51122	return c
51123}
51124
51125// Header returns an http.Header that can be modified by the caller to
51126// add HTTP headers to the request.
51127func (c *VideoFormatsListCall) Header() http.Header {
51128	if c.header_ == nil {
51129		c.header_ = make(http.Header)
51130	}
51131	return c.header_
51132}
51133
51134func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
51135	reqHeaders := make(http.Header)
51136	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201009")
51137	for k, v := range c.header_ {
51138		reqHeaders[k] = v
51139	}
51140	reqHeaders.Set("User-Agent", c.s.userAgent())
51141	if c.ifNoneMatch_ != "" {
51142		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
51143	}
51144	var body io.Reader = nil
51145	c.urlParams_.Set("alt", alt)
51146	c.urlParams_.Set("prettyPrint", "false")
51147	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats")
51148	urls += "?" + c.urlParams_.Encode()
51149	req, err := http.NewRequest("GET", urls, body)
51150	if err != nil {
51151		return nil, err
51152	}
51153	req.Header = reqHeaders
51154	googleapi.Expand(req.URL, map[string]string{
51155		"profileId": strconv.FormatInt(c.profileId, 10),
51156	})
51157	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51158}
51159
51160// Do executes the "dfareporting.videoFormats.list" call.
51161// Exactly one of *VideoFormatsListResponse or error will be non-nil.
51162// Any non-2xx status code is an error. Response headers are in either
51163// *VideoFormatsListResponse.ServerResponse.Header or (if a response was
51164// returned at all) in error.(*googleapi.Error).Header. Use
51165// googleapi.IsNotModified to check whether the returned error was
51166// because http.StatusNotModified was returned.
51167func (c *VideoFormatsListCall) Do(opts ...googleapi.CallOption) (*VideoFormatsListResponse, error) {
51168	gensupport.SetOptions(c.urlParams_, opts...)
51169	res, err := c.doRequest("json")
51170	if res != nil && res.StatusCode == http.StatusNotModified {
51171		if res.Body != nil {
51172			res.Body.Close()
51173		}
51174		return nil, &googleapi.Error{
51175			Code:   res.StatusCode,
51176			Header: res.Header,
51177		}
51178	}
51179	if err != nil {
51180		return nil, err
51181	}
51182	defer googleapi.CloseBody(res)
51183	if err := googleapi.CheckResponse(res); err != nil {
51184		return nil, err
51185	}
51186	ret := &VideoFormatsListResponse{
51187		ServerResponse: googleapi.ServerResponse{
51188			Header:         res.Header,
51189			HTTPStatusCode: res.StatusCode,
51190		},
51191	}
51192	target := &ret
51193	if err := gensupport.DecodeResponse(target, res); err != nil {
51194		return nil, err
51195	}
51196	return ret, nil
51197	// {
51198	//   "description": "Lists available video formats.",
51199	//   "flatPath": "userprofiles/{profileId}/videoFormats",
51200	//   "httpMethod": "GET",
51201	//   "id": "dfareporting.videoFormats.list",
51202	//   "parameterOrder": [
51203	//     "profileId"
51204	//   ],
51205	//   "parameters": {
51206	//     "profileId": {
51207	//       "description": "User profile ID associated with this request.",
51208	//       "format": "int64",
51209	//       "location": "path",
51210	//       "required": true,
51211	//       "type": "string"
51212	//     }
51213	//   },
51214	//   "path": "userprofiles/{profileId}/videoFormats",
51215	//   "response": {
51216	//     "$ref": "VideoFormatsListResponse"
51217	//   },
51218	//   "scopes": [
51219	//     "https://www.googleapis.com/auth/dfatrafficking"
51220	//   ]
51221	// }
51222
51223}
51224