1// Copyright 2019 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.4"
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.4"
43
44import (
45	"bytes"
46	"context"
47	"encoding/json"
48	"errors"
49	"fmt"
50	"io"
51	"net/http"
52	"net/url"
53	"strconv"
54	"strings"
55
56	googleapi "google.golang.org/api/googleapi"
57	gensupport "google.golang.org/api/internal/gensupport"
58	option "google.golang.org/api/option"
59	htransport "google.golang.org/api/transport/http"
60)
61
62// Always reference these packages, just in case the auto-generated code
63// below doesn't.
64var _ = bytes.NewBuffer
65var _ = strconv.Itoa
66var _ = fmt.Sprintf
67var _ = json.NewDecoder
68var _ = io.Copy
69var _ = url.Parse
70var _ = gensupport.MarshalJSON
71var _ = googleapi.Version
72var _ = errors.New
73var _ = strings.Replace
74var _ = context.Canceled
75
76const apiId = "dfareporting:v3.4"
77const apiName = "dfareporting"
78const apiVersion = "v3.4"
79const basePath = "https://www.googleapis.com/dfareporting/v3.4/"
80
81// OAuth2 scopes used by this API.
82const (
83	// Manage DoubleClick Digital Marketing conversions
84	DdmconversionsScope = "https://www.googleapis.com/auth/ddmconversions"
85
86	// View and manage DoubleClick for Advertisers reports
87	DfareportingScope = "https://www.googleapis.com/auth/dfareporting"
88
89	// View and manage your DoubleClick Campaign Manager's (DCM) display ad
90	// campaigns
91	DfatraffickingScope = "https://www.googleapis.com/auth/dfatrafficking"
92)
93
94// NewService creates a new Service.
95func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
96	scopesOption := option.WithScopes(
97		"https://www.googleapis.com/auth/ddmconversions",
98		"https://www.googleapis.com/auth/dfareporting",
99		"https://www.googleapis.com/auth/dfatrafficking",
100	)
101	// NOTE: prepend, so we don't override user-specified scopes.
102	opts = append([]option.ClientOption{scopesOption}, opts...)
103	client, endpoint, err := htransport.NewClient(ctx, opts...)
104	if err != nil {
105		return nil, err
106	}
107	s, err := New(client)
108	if err != nil {
109		return nil, err
110	}
111	if endpoint != "" {
112		s.BasePath = endpoint
113	}
114	return s, nil
115}
116
117// New creates a new Service. It uses the provided http.Client for requests.
118//
119// Deprecated: please use NewService instead.
120// To provide a custom HTTP client, use option.WithHTTPClient.
121// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
122func New(client *http.Client) (*Service, error) {
123	if client == nil {
124		return nil, errors.New("client is nil")
125	}
126	s := &Service{client: client, BasePath: basePath}
127	s.AccountActiveAdSummaries = NewAccountActiveAdSummariesService(s)
128	s.AccountPermissionGroups = NewAccountPermissionGroupsService(s)
129	s.AccountPermissions = NewAccountPermissionsService(s)
130	s.AccountUserProfiles = NewAccountUserProfilesService(s)
131	s.Accounts = NewAccountsService(s)
132	s.Ads = NewAdsService(s)
133	s.AdvertiserGroups = NewAdvertiserGroupsService(s)
134	s.AdvertiserLandingPages = NewAdvertiserLandingPagesService(s)
135	s.Advertisers = NewAdvertisersService(s)
136	s.Browsers = NewBrowsersService(s)
137	s.CampaignCreativeAssociations = NewCampaignCreativeAssociationsService(s)
138	s.Campaigns = NewCampaignsService(s)
139	s.ChangeLogs = NewChangeLogsService(s)
140	s.Cities = NewCitiesService(s)
141	s.ConnectionTypes = NewConnectionTypesService(s)
142	s.ContentCategories = NewContentCategoriesService(s)
143	s.Conversions = NewConversionsService(s)
144	s.Countries = NewCountriesService(s)
145	s.CreativeAssets = NewCreativeAssetsService(s)
146	s.CreativeFieldValues = NewCreativeFieldValuesService(s)
147	s.CreativeFields = NewCreativeFieldsService(s)
148	s.CreativeGroups = NewCreativeGroupsService(s)
149	s.Creatives = NewCreativesService(s)
150	s.CustomEvents = NewCustomEventsService(s)
151	s.DimensionValues = NewDimensionValuesService(s)
152	s.DirectorySites = NewDirectorySitesService(s)
153	s.DynamicTargetingKeys = NewDynamicTargetingKeysService(s)
154	s.EventTags = NewEventTagsService(s)
155	s.Files = NewFilesService(s)
156	s.FloodlightActivities = NewFloodlightActivitiesService(s)
157	s.FloodlightActivityGroups = NewFloodlightActivityGroupsService(s)
158	s.FloodlightConfigurations = NewFloodlightConfigurationsService(s)
159	s.InventoryItems = NewInventoryItemsService(s)
160	s.Languages = NewLanguagesService(s)
161	s.Metros = NewMetrosService(s)
162	s.MobileApps = NewMobileAppsService(s)
163	s.MobileCarriers = NewMobileCarriersService(s)
164	s.OperatingSystemVersions = NewOperatingSystemVersionsService(s)
165	s.OperatingSystems = NewOperatingSystemsService(s)
166	s.OrderDocuments = NewOrderDocumentsService(s)
167	s.Orders = NewOrdersService(s)
168	s.PlacementGroups = NewPlacementGroupsService(s)
169	s.PlacementStrategies = NewPlacementStrategiesService(s)
170	s.Placements = NewPlacementsService(s)
171	s.PlatformTypes = NewPlatformTypesService(s)
172	s.PostalCodes = NewPostalCodesService(s)
173	s.Projects = NewProjectsService(s)
174	s.Regions = NewRegionsService(s)
175	s.RemarketingListShares = NewRemarketingListSharesService(s)
176	s.RemarketingLists = NewRemarketingListsService(s)
177	s.Reports = NewReportsService(s)
178	s.Sites = NewSitesService(s)
179	s.Sizes = NewSizesService(s)
180	s.Subaccounts = NewSubaccountsService(s)
181	s.TargetableRemarketingLists = NewTargetableRemarketingListsService(s)
182	s.TargetingTemplates = NewTargetingTemplatesService(s)
183	s.UserProfiles = NewUserProfilesService(s)
184	s.UserRolePermissionGroups = NewUserRolePermissionGroupsService(s)
185	s.UserRolePermissions = NewUserRolePermissionsService(s)
186	s.UserRoles = NewUserRolesService(s)
187	s.VideoFormats = NewVideoFormatsService(s)
188	return s, nil
189}
190
191type Service struct {
192	client    *http.Client
193	BasePath  string // API endpoint base URL
194	UserAgent string // optional additional User-Agent fragment
195
196	AccountActiveAdSummaries *AccountActiveAdSummariesService
197
198	AccountPermissionGroups *AccountPermissionGroupsService
199
200	AccountPermissions *AccountPermissionsService
201
202	AccountUserProfiles *AccountUserProfilesService
203
204	Accounts *AccountsService
205
206	Ads *AdsService
207
208	AdvertiserGroups *AdvertiserGroupsService
209
210	AdvertiserLandingPages *AdvertiserLandingPagesService
211
212	Advertisers *AdvertisersService
213
214	Browsers *BrowsersService
215
216	CampaignCreativeAssociations *CampaignCreativeAssociationsService
217
218	Campaigns *CampaignsService
219
220	ChangeLogs *ChangeLogsService
221
222	Cities *CitiesService
223
224	ConnectionTypes *ConnectionTypesService
225
226	ContentCategories *ContentCategoriesService
227
228	Conversions *ConversionsService
229
230	Countries *CountriesService
231
232	CreativeAssets *CreativeAssetsService
233
234	CreativeFieldValues *CreativeFieldValuesService
235
236	CreativeFields *CreativeFieldsService
237
238	CreativeGroups *CreativeGroupsService
239
240	Creatives *CreativesService
241
242	CustomEvents *CustomEventsService
243
244	DimensionValues *DimensionValuesService
245
246	DirectorySites *DirectorySitesService
247
248	DynamicTargetingKeys *DynamicTargetingKeysService
249
250	EventTags *EventTagsService
251
252	Files *FilesService
253
254	FloodlightActivities *FloodlightActivitiesService
255
256	FloodlightActivityGroups *FloodlightActivityGroupsService
257
258	FloodlightConfigurations *FloodlightConfigurationsService
259
260	InventoryItems *InventoryItemsService
261
262	Languages *LanguagesService
263
264	Metros *MetrosService
265
266	MobileApps *MobileAppsService
267
268	MobileCarriers *MobileCarriersService
269
270	OperatingSystemVersions *OperatingSystemVersionsService
271
272	OperatingSystems *OperatingSystemsService
273
274	OrderDocuments *OrderDocumentsService
275
276	Orders *OrdersService
277
278	PlacementGroups *PlacementGroupsService
279
280	PlacementStrategies *PlacementStrategiesService
281
282	Placements *PlacementsService
283
284	PlatformTypes *PlatformTypesService
285
286	PostalCodes *PostalCodesService
287
288	Projects *ProjectsService
289
290	Regions *RegionsService
291
292	RemarketingListShares *RemarketingListSharesService
293
294	RemarketingLists *RemarketingListsService
295
296	Reports *ReportsService
297
298	Sites *SitesService
299
300	Sizes *SizesService
301
302	Subaccounts *SubaccountsService
303
304	TargetableRemarketingLists *TargetableRemarketingListsService
305
306	TargetingTemplates *TargetingTemplatesService
307
308	UserProfiles *UserProfilesService
309
310	UserRolePermissionGroups *UserRolePermissionGroupsService
311
312	UserRolePermissions *UserRolePermissionsService
313
314	UserRoles *UserRolesService
315
316	VideoFormats *VideoFormatsService
317}
318
319func (s *Service) userAgent() string {
320	if s.UserAgent == "" {
321		return googleapi.UserAgent
322	}
323	return googleapi.UserAgent + " " + s.UserAgent
324}
325
326func NewAccountActiveAdSummariesService(s *Service) *AccountActiveAdSummariesService {
327	rs := &AccountActiveAdSummariesService{s: s}
328	return rs
329}
330
331type AccountActiveAdSummariesService struct {
332	s *Service
333}
334
335func NewAccountPermissionGroupsService(s *Service) *AccountPermissionGroupsService {
336	rs := &AccountPermissionGroupsService{s: s}
337	return rs
338}
339
340type AccountPermissionGroupsService struct {
341	s *Service
342}
343
344func NewAccountPermissionsService(s *Service) *AccountPermissionsService {
345	rs := &AccountPermissionsService{s: s}
346	return rs
347}
348
349type AccountPermissionsService struct {
350	s *Service
351}
352
353func NewAccountUserProfilesService(s *Service) *AccountUserProfilesService {
354	rs := &AccountUserProfilesService{s: s}
355	return rs
356}
357
358type AccountUserProfilesService struct {
359	s *Service
360}
361
362func NewAccountsService(s *Service) *AccountsService {
363	rs := &AccountsService{s: s}
364	return rs
365}
366
367type AccountsService struct {
368	s *Service
369}
370
371func NewAdsService(s *Service) *AdsService {
372	rs := &AdsService{s: s}
373	return rs
374}
375
376type AdsService struct {
377	s *Service
378}
379
380func NewAdvertiserGroupsService(s *Service) *AdvertiserGroupsService {
381	rs := &AdvertiserGroupsService{s: s}
382	return rs
383}
384
385type AdvertiserGroupsService struct {
386	s *Service
387}
388
389func NewAdvertiserLandingPagesService(s *Service) *AdvertiserLandingPagesService {
390	rs := &AdvertiserLandingPagesService{s: s}
391	return rs
392}
393
394type AdvertiserLandingPagesService struct {
395	s *Service
396}
397
398func NewAdvertisersService(s *Service) *AdvertisersService {
399	rs := &AdvertisersService{s: s}
400	return rs
401}
402
403type AdvertisersService struct {
404	s *Service
405}
406
407func NewBrowsersService(s *Service) *BrowsersService {
408	rs := &BrowsersService{s: s}
409	return rs
410}
411
412type BrowsersService struct {
413	s *Service
414}
415
416func NewCampaignCreativeAssociationsService(s *Service) *CampaignCreativeAssociationsService {
417	rs := &CampaignCreativeAssociationsService{s: s}
418	return rs
419}
420
421type CampaignCreativeAssociationsService struct {
422	s *Service
423}
424
425func NewCampaignsService(s *Service) *CampaignsService {
426	rs := &CampaignsService{s: s}
427	return rs
428}
429
430type CampaignsService struct {
431	s *Service
432}
433
434func NewChangeLogsService(s *Service) *ChangeLogsService {
435	rs := &ChangeLogsService{s: s}
436	return rs
437}
438
439type ChangeLogsService struct {
440	s *Service
441}
442
443func NewCitiesService(s *Service) *CitiesService {
444	rs := &CitiesService{s: s}
445	return rs
446}
447
448type CitiesService struct {
449	s *Service
450}
451
452func NewConnectionTypesService(s *Service) *ConnectionTypesService {
453	rs := &ConnectionTypesService{s: s}
454	return rs
455}
456
457type ConnectionTypesService struct {
458	s *Service
459}
460
461func NewContentCategoriesService(s *Service) *ContentCategoriesService {
462	rs := &ContentCategoriesService{s: s}
463	return rs
464}
465
466type ContentCategoriesService struct {
467	s *Service
468}
469
470func NewConversionsService(s *Service) *ConversionsService {
471	rs := &ConversionsService{s: s}
472	return rs
473}
474
475type ConversionsService struct {
476	s *Service
477}
478
479func NewCountriesService(s *Service) *CountriesService {
480	rs := &CountriesService{s: s}
481	return rs
482}
483
484type CountriesService struct {
485	s *Service
486}
487
488func NewCreativeAssetsService(s *Service) *CreativeAssetsService {
489	rs := &CreativeAssetsService{s: s}
490	return rs
491}
492
493type CreativeAssetsService struct {
494	s *Service
495}
496
497func NewCreativeFieldValuesService(s *Service) *CreativeFieldValuesService {
498	rs := &CreativeFieldValuesService{s: s}
499	return rs
500}
501
502type CreativeFieldValuesService struct {
503	s *Service
504}
505
506func NewCreativeFieldsService(s *Service) *CreativeFieldsService {
507	rs := &CreativeFieldsService{s: s}
508	return rs
509}
510
511type CreativeFieldsService struct {
512	s *Service
513}
514
515func NewCreativeGroupsService(s *Service) *CreativeGroupsService {
516	rs := &CreativeGroupsService{s: s}
517	return rs
518}
519
520type CreativeGroupsService struct {
521	s *Service
522}
523
524func NewCreativesService(s *Service) *CreativesService {
525	rs := &CreativesService{s: s}
526	return rs
527}
528
529type CreativesService struct {
530	s *Service
531}
532
533func NewCustomEventsService(s *Service) *CustomEventsService {
534	rs := &CustomEventsService{s: s}
535	return rs
536}
537
538type CustomEventsService struct {
539	s *Service
540}
541
542func NewDimensionValuesService(s *Service) *DimensionValuesService {
543	rs := &DimensionValuesService{s: s}
544	return rs
545}
546
547type DimensionValuesService struct {
548	s *Service
549}
550
551func NewDirectorySitesService(s *Service) *DirectorySitesService {
552	rs := &DirectorySitesService{s: s}
553	return rs
554}
555
556type DirectorySitesService struct {
557	s *Service
558}
559
560func NewDynamicTargetingKeysService(s *Service) *DynamicTargetingKeysService {
561	rs := &DynamicTargetingKeysService{s: s}
562	return rs
563}
564
565type DynamicTargetingKeysService struct {
566	s *Service
567}
568
569func NewEventTagsService(s *Service) *EventTagsService {
570	rs := &EventTagsService{s: s}
571	return rs
572}
573
574type EventTagsService struct {
575	s *Service
576}
577
578func NewFilesService(s *Service) *FilesService {
579	rs := &FilesService{s: s}
580	return rs
581}
582
583type FilesService struct {
584	s *Service
585}
586
587func NewFloodlightActivitiesService(s *Service) *FloodlightActivitiesService {
588	rs := &FloodlightActivitiesService{s: s}
589	return rs
590}
591
592type FloodlightActivitiesService struct {
593	s *Service
594}
595
596func NewFloodlightActivityGroupsService(s *Service) *FloodlightActivityGroupsService {
597	rs := &FloodlightActivityGroupsService{s: s}
598	return rs
599}
600
601type FloodlightActivityGroupsService struct {
602	s *Service
603}
604
605func NewFloodlightConfigurationsService(s *Service) *FloodlightConfigurationsService {
606	rs := &FloodlightConfigurationsService{s: s}
607	return rs
608}
609
610type FloodlightConfigurationsService struct {
611	s *Service
612}
613
614func NewInventoryItemsService(s *Service) *InventoryItemsService {
615	rs := &InventoryItemsService{s: s}
616	return rs
617}
618
619type InventoryItemsService struct {
620	s *Service
621}
622
623func NewLanguagesService(s *Service) *LanguagesService {
624	rs := &LanguagesService{s: s}
625	return rs
626}
627
628type LanguagesService struct {
629	s *Service
630}
631
632func NewMetrosService(s *Service) *MetrosService {
633	rs := &MetrosService{s: s}
634	return rs
635}
636
637type MetrosService struct {
638	s *Service
639}
640
641func NewMobileAppsService(s *Service) *MobileAppsService {
642	rs := &MobileAppsService{s: s}
643	return rs
644}
645
646type MobileAppsService struct {
647	s *Service
648}
649
650func NewMobileCarriersService(s *Service) *MobileCarriersService {
651	rs := &MobileCarriersService{s: s}
652	return rs
653}
654
655type MobileCarriersService struct {
656	s *Service
657}
658
659func NewOperatingSystemVersionsService(s *Service) *OperatingSystemVersionsService {
660	rs := &OperatingSystemVersionsService{s: s}
661	return rs
662}
663
664type OperatingSystemVersionsService struct {
665	s *Service
666}
667
668func NewOperatingSystemsService(s *Service) *OperatingSystemsService {
669	rs := &OperatingSystemsService{s: s}
670	return rs
671}
672
673type OperatingSystemsService struct {
674	s *Service
675}
676
677func NewOrderDocumentsService(s *Service) *OrderDocumentsService {
678	rs := &OrderDocumentsService{s: s}
679	return rs
680}
681
682type OrderDocumentsService struct {
683	s *Service
684}
685
686func NewOrdersService(s *Service) *OrdersService {
687	rs := &OrdersService{s: s}
688	return rs
689}
690
691type OrdersService struct {
692	s *Service
693}
694
695func NewPlacementGroupsService(s *Service) *PlacementGroupsService {
696	rs := &PlacementGroupsService{s: s}
697	return rs
698}
699
700type PlacementGroupsService struct {
701	s *Service
702}
703
704func NewPlacementStrategiesService(s *Service) *PlacementStrategiesService {
705	rs := &PlacementStrategiesService{s: s}
706	return rs
707}
708
709type PlacementStrategiesService struct {
710	s *Service
711}
712
713func NewPlacementsService(s *Service) *PlacementsService {
714	rs := &PlacementsService{s: s}
715	return rs
716}
717
718type PlacementsService struct {
719	s *Service
720}
721
722func NewPlatformTypesService(s *Service) *PlatformTypesService {
723	rs := &PlatformTypesService{s: s}
724	return rs
725}
726
727type PlatformTypesService struct {
728	s *Service
729}
730
731func NewPostalCodesService(s *Service) *PostalCodesService {
732	rs := &PostalCodesService{s: s}
733	return rs
734}
735
736type PostalCodesService struct {
737	s *Service
738}
739
740func NewProjectsService(s *Service) *ProjectsService {
741	rs := &ProjectsService{s: s}
742	return rs
743}
744
745type ProjectsService struct {
746	s *Service
747}
748
749func NewRegionsService(s *Service) *RegionsService {
750	rs := &RegionsService{s: s}
751	return rs
752}
753
754type RegionsService struct {
755	s *Service
756}
757
758func NewRemarketingListSharesService(s *Service) *RemarketingListSharesService {
759	rs := &RemarketingListSharesService{s: s}
760	return rs
761}
762
763type RemarketingListSharesService struct {
764	s *Service
765}
766
767func NewRemarketingListsService(s *Service) *RemarketingListsService {
768	rs := &RemarketingListsService{s: s}
769	return rs
770}
771
772type RemarketingListsService struct {
773	s *Service
774}
775
776func NewReportsService(s *Service) *ReportsService {
777	rs := &ReportsService{s: s}
778	rs.CompatibleFields = NewReportsCompatibleFieldsService(s)
779	rs.Files = NewReportsFilesService(s)
780	return rs
781}
782
783type ReportsService struct {
784	s *Service
785
786	CompatibleFields *ReportsCompatibleFieldsService
787
788	Files *ReportsFilesService
789}
790
791func NewReportsCompatibleFieldsService(s *Service) *ReportsCompatibleFieldsService {
792	rs := &ReportsCompatibleFieldsService{s: s}
793	return rs
794}
795
796type ReportsCompatibleFieldsService struct {
797	s *Service
798}
799
800func NewReportsFilesService(s *Service) *ReportsFilesService {
801	rs := &ReportsFilesService{s: s}
802	return rs
803}
804
805type ReportsFilesService struct {
806	s *Service
807}
808
809func NewSitesService(s *Service) *SitesService {
810	rs := &SitesService{s: s}
811	return rs
812}
813
814type SitesService struct {
815	s *Service
816}
817
818func NewSizesService(s *Service) *SizesService {
819	rs := &SizesService{s: s}
820	return rs
821}
822
823type SizesService struct {
824	s *Service
825}
826
827func NewSubaccountsService(s *Service) *SubaccountsService {
828	rs := &SubaccountsService{s: s}
829	return rs
830}
831
832type SubaccountsService struct {
833	s *Service
834}
835
836func NewTargetableRemarketingListsService(s *Service) *TargetableRemarketingListsService {
837	rs := &TargetableRemarketingListsService{s: s}
838	return rs
839}
840
841type TargetableRemarketingListsService struct {
842	s *Service
843}
844
845func NewTargetingTemplatesService(s *Service) *TargetingTemplatesService {
846	rs := &TargetingTemplatesService{s: s}
847	return rs
848}
849
850type TargetingTemplatesService struct {
851	s *Service
852}
853
854func NewUserProfilesService(s *Service) *UserProfilesService {
855	rs := &UserProfilesService{s: s}
856	return rs
857}
858
859type UserProfilesService struct {
860	s *Service
861}
862
863func NewUserRolePermissionGroupsService(s *Service) *UserRolePermissionGroupsService {
864	rs := &UserRolePermissionGroupsService{s: s}
865	return rs
866}
867
868type UserRolePermissionGroupsService struct {
869	s *Service
870}
871
872func NewUserRolePermissionsService(s *Service) *UserRolePermissionsService {
873	rs := &UserRolePermissionsService{s: s}
874	return rs
875}
876
877type UserRolePermissionsService struct {
878	s *Service
879}
880
881func NewUserRolesService(s *Service) *UserRolesService {
882	rs := &UserRolesService{s: s}
883	return rs
884}
885
886type UserRolesService struct {
887	s *Service
888}
889
890func NewVideoFormatsService(s *Service) *VideoFormatsService {
891	rs := &VideoFormatsService{s: s}
892	return rs
893}
894
895type VideoFormatsService struct {
896	s *Service
897}
898
899// Account: Contains properties of a Campaign Manager account.
900type Account struct {
901	// AccountPermissionIds: Account permissions assigned to this account.
902	AccountPermissionIds googleapi.Int64s `json:"accountPermissionIds,omitempty"`
903
904	// AccountProfile: Profile for this account. This is a read-only field
905	// that can be left blank.
906	//
907	// Possible values:
908	//   "ACCOUNT_PROFILE_BASIC"
909	//   "ACCOUNT_PROFILE_STANDARD"
910	AccountProfile string `json:"accountProfile,omitempty"`
911
912	// Active: Whether this account is active.
913	Active bool `json:"active,omitempty"`
914
915	// ActiveAdsLimitTier: Maximum number of active ads allowed for this
916	// account.
917	//
918	// Possible values:
919	//   "ACTIVE_ADS_TIER_100K"
920	//   "ACTIVE_ADS_TIER_1M"
921	//   "ACTIVE_ADS_TIER_200K"
922	//   "ACTIVE_ADS_TIER_300K"
923	//   "ACTIVE_ADS_TIER_40K"
924	//   "ACTIVE_ADS_TIER_500K"
925	//   "ACTIVE_ADS_TIER_750K"
926	//   "ACTIVE_ADS_TIER_75K"
927	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
928
929	// ActiveViewOptOut: Whether to serve creatives with Active View tags.
930	// If disabled, viewability data will not be available for any
931	// impressions.
932	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
933
934	// AvailablePermissionIds: User role permissions available to the user
935	// roles of this account.
936	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
937
938	// CountryId: ID of the country associated with this account.
939	CountryId int64 `json:"countryId,omitempty,string"`
940
941	// CurrencyId: ID of currency associated with this account. This is a
942	// required field.
943	// Acceptable values are:
944	// - "1" for USD
945	// - "2" for GBP
946	// - "3" for ESP
947	// - "4" for SEK
948	// - "5" for CAD
949	// - "6" for JPY
950	// - "7" for DEM
951	// - "8" for AUD
952	// - "9" for FRF
953	// - "10" for ITL
954	// - "11" for DKK
955	// - "12" for NOK
956	// - "13" for FIM
957	// - "14" for ZAR
958	// - "15" for IEP
959	// - "16" for NLG
960	// - "17" for EUR
961	// - "18" for KRW
962	// - "19" for TWD
963	// - "20" for SGD
964	// - "21" for CNY
965	// - "22" for HKD
966	// - "23" for NZD
967	// - "24" for MYR
968	// - "25" for BRL
969	// - "26" for PTE
970	// - "27" for MXP
971	// - "28" for CLP
972	// - "29" for TRY
973	// - "30" for ARS
974	// - "31" for PEN
975	// - "32" for ILS
976	// - "33" for CHF
977	// - "34" for VEF
978	// - "35" for COP
979	// - "36" for GTQ
980	// - "37" for PLN
981	// - "39" for INR
982	// - "40" for THB
983	// - "41" for IDR
984	// - "42" for CZK
985	// - "43" for RON
986	// - "44" for HUF
987	// - "45" for RUB
988	// - "46" for AED
989	// - "47" for BGN
990	// - "48" for HRK
991	// - "49" for MXN
992	// - "50" for NGN
993	// - "51" for EGP
994	CurrencyId int64 `json:"currencyId,omitempty,string"`
995
996	// DefaultCreativeSizeId: Default placement dimensions for this account.
997	DefaultCreativeSizeId int64 `json:"defaultCreativeSizeId,omitempty,string"`
998
999	// Description: Description of this account.
1000	Description string `json:"description,omitempty"`
1001
1002	// Id: ID of this account. This is a read-only, auto-generated field.
1003	Id int64 `json:"id,omitempty,string"`
1004
1005	// Kind: Identifies what kind of resource this is. Value: the fixed
1006	// string "dfareporting#account".
1007	Kind string `json:"kind,omitempty"`
1008
1009	// Locale: Locale of this account.
1010	// Acceptable values are:
1011	// - "cs" (Czech)
1012	// - "de" (German)
1013	// - "en" (English)
1014	// - "en-GB" (English United Kingdom)
1015	// - "es" (Spanish)
1016	// - "fr" (French)
1017	// - "it" (Italian)
1018	// - "ja" (Japanese)
1019	// - "ko" (Korean)
1020	// - "pl" (Polish)
1021	// - "pt-BR" (Portuguese Brazil)
1022	// - "ru" (Russian)
1023	// - "sv" (Swedish)
1024	// - "tr" (Turkish)
1025	// - "zh-CN" (Chinese Simplified)
1026	// - "zh-TW" (Chinese Traditional)
1027	Locale string `json:"locale,omitempty"`
1028
1029	// MaximumImageSize: Maximum image size allowed for this account, in
1030	// kilobytes. Value must be greater than or equal to 1.
1031	MaximumImageSize int64 `json:"maximumImageSize,omitempty,string"`
1032
1033	// Name: Name of this account. This is a required field, and must be
1034	// less than 128 characters long and be globally unique.
1035	Name string `json:"name,omitempty"`
1036
1037	// NielsenOcrEnabled: Whether campaigns created in this account will be
1038	// enabled for Nielsen OCR reach ratings by default.
1039	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
1040
1041	// ReportsConfiguration: Reporting configuration of this account.
1042	ReportsConfiguration *ReportsConfiguration `json:"reportsConfiguration,omitempty"`
1043
1044	// ShareReportsWithTwitter: Share Path to Conversion reports with
1045	// Twitter.
1046	ShareReportsWithTwitter bool `json:"shareReportsWithTwitter,omitempty"`
1047
1048	// TeaserSizeLimit: File size limit in kilobytes of Rich Media teaser
1049	// creatives. Acceptable values are 1 to 10240, inclusive.
1050	TeaserSizeLimit int64 `json:"teaserSizeLimit,omitempty,string"`
1051
1052	// ServerResponse contains the HTTP response code and headers from the
1053	// server.
1054	googleapi.ServerResponse `json:"-"`
1055
1056	// ForceSendFields is a list of field names (e.g.
1057	// "AccountPermissionIds") to unconditionally include in API requests.
1058	// By default, fields with empty values are omitted from API requests.
1059	// However, any non-pointer, non-interface field appearing in
1060	// ForceSendFields will be sent to the server regardless of whether the
1061	// field is empty or not. This may be used to include empty fields in
1062	// Patch requests.
1063	ForceSendFields []string `json:"-"`
1064
1065	// NullFields is a list of field names (e.g. "AccountPermissionIds") to
1066	// include in API requests with the JSON null value. By default, fields
1067	// with empty values are omitted from API requests. However, any field
1068	// with an empty value appearing in NullFields will be sent to the
1069	// server as null. It is an error if a field in this list has a
1070	// non-empty value. This may be used to include null fields in Patch
1071	// requests.
1072	NullFields []string `json:"-"`
1073}
1074
1075func (s *Account) MarshalJSON() ([]byte, error) {
1076	type NoMethod Account
1077	raw := NoMethod(*s)
1078	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1079}
1080
1081// AccountActiveAdSummary: Gets a summary of active ads in an account.
1082type AccountActiveAdSummary struct {
1083	// AccountId: ID of the account.
1084	AccountId int64 `json:"accountId,omitempty,string"`
1085
1086	// ActiveAds: Ads that have been activated for the account
1087	ActiveAds int64 `json:"activeAds,omitempty,string"`
1088
1089	// ActiveAdsLimitTier: Maximum number of active ads allowed for the
1090	// account.
1091	//
1092	// Possible values:
1093	//   "ACTIVE_ADS_TIER_100K"
1094	//   "ACTIVE_ADS_TIER_1M"
1095	//   "ACTIVE_ADS_TIER_200K"
1096	//   "ACTIVE_ADS_TIER_300K"
1097	//   "ACTIVE_ADS_TIER_40K"
1098	//   "ACTIVE_ADS_TIER_500K"
1099	//   "ACTIVE_ADS_TIER_750K"
1100	//   "ACTIVE_ADS_TIER_75K"
1101	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
1102
1103	// AvailableAds: Ads that can be activated for the account.
1104	AvailableAds int64 `json:"availableAds,omitempty,string"`
1105
1106	// Kind: Identifies what kind of resource this is. Value: the fixed
1107	// string "dfareporting#accountActiveAdSummary".
1108	Kind string `json:"kind,omitempty"`
1109
1110	// ServerResponse contains the HTTP response code and headers from the
1111	// server.
1112	googleapi.ServerResponse `json:"-"`
1113
1114	// ForceSendFields is a list of field names (e.g. "AccountId") to
1115	// unconditionally include in API requests. By default, fields with
1116	// empty values are omitted from API requests. However, any non-pointer,
1117	// non-interface field appearing in ForceSendFields will be sent to the
1118	// server regardless of whether the field is empty or not. This may be
1119	// used to include empty fields in Patch requests.
1120	ForceSendFields []string `json:"-"`
1121
1122	// NullFields is a list of field names (e.g. "AccountId") to include in
1123	// API requests with the JSON null value. By default, fields with empty
1124	// values are omitted from API requests. However, any field with an
1125	// empty value appearing in NullFields will be sent to the server as
1126	// null. It is an error if a field in this list has a non-empty value.
1127	// This may be used to include null fields in Patch requests.
1128	NullFields []string `json:"-"`
1129}
1130
1131func (s *AccountActiveAdSummary) MarshalJSON() ([]byte, error) {
1132	type NoMethod AccountActiveAdSummary
1133	raw := NoMethod(*s)
1134	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1135}
1136
1137// AccountPermission: AccountPermissions contains information about a
1138// particular account permission. Some features of Campaign Manager
1139// require an account permission to be present in the account.
1140type AccountPermission struct {
1141	// AccountProfiles: Account profiles associated with this account
1142	// permission.
1143	//
1144	// Possible values are:
1145	// - "ACCOUNT_PROFILE_BASIC"
1146	// - "ACCOUNT_PROFILE_STANDARD"
1147	//
1148	// Possible values:
1149	//   "ACCOUNT_PROFILE_BASIC"
1150	//   "ACCOUNT_PROFILE_STANDARD"
1151	AccountProfiles []string `json:"accountProfiles,omitempty"`
1152
1153	// Id: ID of this account permission.
1154	Id int64 `json:"id,omitempty,string"`
1155
1156	// Kind: Identifies what kind of resource this is. Value: the fixed
1157	// string "dfareporting#accountPermission".
1158	Kind string `json:"kind,omitempty"`
1159
1160	// Level: Administrative level required to enable this account
1161	// permission.
1162	//
1163	// Possible values:
1164	//   "ADMINISTRATOR"
1165	//   "USER"
1166	Level string `json:"level,omitempty"`
1167
1168	// Name: Name of this account permission.
1169	Name string `json:"name,omitempty"`
1170
1171	// PermissionGroupId: Permission group of this account permission.
1172	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
1173
1174	// ServerResponse contains the HTTP response code and headers from the
1175	// server.
1176	googleapi.ServerResponse `json:"-"`
1177
1178	// ForceSendFields is a list of field names (e.g. "AccountProfiles") to
1179	// unconditionally include in API requests. By default, fields with
1180	// empty values are omitted from API requests. However, any non-pointer,
1181	// non-interface field appearing in ForceSendFields will be sent to the
1182	// server regardless of whether the field is empty or not. This may be
1183	// used to include empty fields in Patch requests.
1184	ForceSendFields []string `json:"-"`
1185
1186	// NullFields is a list of field names (e.g. "AccountProfiles") to
1187	// include in API requests with the JSON null value. By default, fields
1188	// with empty values are omitted from API requests. However, any field
1189	// with an empty value appearing in NullFields will be sent to the
1190	// server as null. It is an error if a field in this list has a
1191	// non-empty value. This may be used to include null fields in Patch
1192	// requests.
1193	NullFields []string `json:"-"`
1194}
1195
1196func (s *AccountPermission) MarshalJSON() ([]byte, error) {
1197	type NoMethod AccountPermission
1198	raw := NoMethod(*s)
1199	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1200}
1201
1202// AccountPermissionGroup: AccountPermissionGroups contains a mapping of
1203// permission group IDs to names. A permission group is a grouping of
1204// account permissions.
1205type AccountPermissionGroup struct {
1206	// Id: ID of this account permission group.
1207	Id int64 `json:"id,omitempty,string"`
1208
1209	// Kind: Identifies what kind of resource this is. Value: the fixed
1210	// string "dfareporting#accountPermissionGroup".
1211	Kind string `json:"kind,omitempty"`
1212
1213	// Name: Name of this account permission group.
1214	Name string `json:"name,omitempty"`
1215
1216	// ServerResponse contains the HTTP response code and headers from the
1217	// server.
1218	googleapi.ServerResponse `json:"-"`
1219
1220	// ForceSendFields is a list of field names (e.g. "Id") to
1221	// unconditionally include in API requests. By default, fields with
1222	// empty values are omitted from API requests. However, any non-pointer,
1223	// non-interface field appearing in ForceSendFields will be sent to the
1224	// server regardless of whether the field is empty or not. This may be
1225	// used to include empty fields in Patch requests.
1226	ForceSendFields []string `json:"-"`
1227
1228	// NullFields is a list of field names (e.g. "Id") to include in API
1229	// requests with the JSON null value. By default, fields with empty
1230	// values are omitted from API requests. However, any field with an
1231	// empty value appearing in NullFields will be sent to the server as
1232	// null. It is an error if a field in this list has a non-empty value.
1233	// This may be used to include null fields in Patch requests.
1234	NullFields []string `json:"-"`
1235}
1236
1237func (s *AccountPermissionGroup) MarshalJSON() ([]byte, error) {
1238	type NoMethod AccountPermissionGroup
1239	raw := NoMethod(*s)
1240	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1241}
1242
1243// AccountPermissionGroupsListResponse: Account Permission Group List
1244// Response
1245type AccountPermissionGroupsListResponse struct {
1246	// AccountPermissionGroups: Account permission group collection.
1247	AccountPermissionGroups []*AccountPermissionGroup `json:"accountPermissionGroups,omitempty"`
1248
1249	// Kind: Identifies what kind of resource this is. Value: the fixed
1250	// string "dfareporting#accountPermissionGroupsListResponse".
1251	Kind string `json:"kind,omitempty"`
1252
1253	// ServerResponse contains the HTTP response code and headers from the
1254	// server.
1255	googleapi.ServerResponse `json:"-"`
1256
1257	// ForceSendFields is a list of field names (e.g.
1258	// "AccountPermissionGroups") to unconditionally include in API
1259	// requests. By default, fields with empty values are omitted from API
1260	// requests. However, any non-pointer, non-interface field appearing in
1261	// ForceSendFields will be sent to the server regardless of whether the
1262	// field is empty or not. This may be used to include empty fields in
1263	// Patch requests.
1264	ForceSendFields []string `json:"-"`
1265
1266	// NullFields is a list of field names (e.g. "AccountPermissionGroups")
1267	// to include in API requests with the JSON null value. By default,
1268	// fields with empty values are omitted from API requests. However, any
1269	// field with an empty value appearing in NullFields will be sent to the
1270	// server as null. It is an error if a field in this list has a
1271	// non-empty value. This may be used to include null fields in Patch
1272	// requests.
1273	NullFields []string `json:"-"`
1274}
1275
1276func (s *AccountPermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
1277	type NoMethod AccountPermissionGroupsListResponse
1278	raw := NoMethod(*s)
1279	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1280}
1281
1282// AccountPermissionsListResponse: Account Permission List Response
1283type AccountPermissionsListResponse struct {
1284	// AccountPermissions: Account permission collection.
1285	AccountPermissions []*AccountPermission `json:"accountPermissions,omitempty"`
1286
1287	// Kind: Identifies what kind of resource this is. Value: the fixed
1288	// string "dfareporting#accountPermissionsListResponse".
1289	Kind string `json:"kind,omitempty"`
1290
1291	// ServerResponse contains the HTTP response code and headers from the
1292	// server.
1293	googleapi.ServerResponse `json:"-"`
1294
1295	// ForceSendFields is a list of field names (e.g. "AccountPermissions")
1296	// to unconditionally include in API requests. By default, fields with
1297	// empty values are omitted from API requests. However, any non-pointer,
1298	// non-interface field appearing in ForceSendFields will be sent to the
1299	// server regardless of whether the field is empty or not. This may be
1300	// used to include empty fields in Patch requests.
1301	ForceSendFields []string `json:"-"`
1302
1303	// NullFields is a list of field names (e.g. "AccountPermissions") to
1304	// include in API requests with the JSON null value. By default, fields
1305	// with empty values are omitted from API requests. However, any field
1306	// with an empty value appearing in NullFields will be sent to the
1307	// server as null. It is an error if a field in this list has a
1308	// non-empty value. This may be used to include null fields in Patch
1309	// requests.
1310	NullFields []string `json:"-"`
1311}
1312
1313func (s *AccountPermissionsListResponse) MarshalJSON() ([]byte, error) {
1314	type NoMethod AccountPermissionsListResponse
1315	raw := NoMethod(*s)
1316	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1317}
1318
1319// AccountUserProfile: AccountUserProfiles contains properties of a
1320// Campaign Manager user profile. This resource is specifically for
1321// managing user profiles, whereas UserProfiles is for accessing the
1322// API.
1323type AccountUserProfile struct {
1324	// AccountId: Account ID of the user profile. This is a read-only field
1325	// that can be left blank.
1326	AccountId int64 `json:"accountId,omitempty,string"`
1327
1328	// Active: Whether this user profile is active. This defaults to false,
1329	// and must be set true on insert for the user profile to be usable.
1330	Active bool `json:"active,omitempty"`
1331
1332	// AdvertiserFilter: Filter that describes which advertisers are visible
1333	// to the user profile.
1334	AdvertiserFilter *ObjectFilter `json:"advertiserFilter,omitempty"`
1335
1336	// CampaignFilter: Filter that describes which campaigns are visible to
1337	// the user profile.
1338	CampaignFilter *ObjectFilter `json:"campaignFilter,omitempty"`
1339
1340	// Comments: Comments for this user profile.
1341	Comments string `json:"comments,omitempty"`
1342
1343	// Email: Email of the user profile. The email addresss must be linked
1344	// to a Google Account. This field is required on insertion and is
1345	// read-only after insertion.
1346	Email string `json:"email,omitempty"`
1347
1348	// Id: ID of the user profile. This is a read-only, auto-generated
1349	// field.
1350	Id int64 `json:"id,omitempty,string"`
1351
1352	// Kind: Identifies what kind of resource this is. Value: the fixed
1353	// string "dfareporting#accountUserProfile".
1354	Kind string `json:"kind,omitempty"`
1355
1356	// Locale: Locale of the user profile. This is a required
1357	// field.
1358	// Acceptable values are:
1359	// - "cs" (Czech)
1360	// - "de" (German)
1361	// - "en" (English)
1362	// - "en-GB" (English United Kingdom)
1363	// - "es" (Spanish)
1364	// - "fr" (French)
1365	// - "it" (Italian)
1366	// - "ja" (Japanese)
1367	// - "ko" (Korean)
1368	// - "pl" (Polish)
1369	// - "pt-BR" (Portuguese Brazil)
1370	// - "ru" (Russian)
1371	// - "sv" (Swedish)
1372	// - "tr" (Turkish)
1373	// - "zh-CN" (Chinese Simplified)
1374	// - "zh-TW" (Chinese Traditional)
1375	Locale string `json:"locale,omitempty"`
1376
1377	// Name: Name of the user profile. This is a required field. Must be
1378	// less than 64 characters long, must be globally unique, and cannot
1379	// contain whitespace or any of the following characters: "&;"#%,".
1380	Name string `json:"name,omitempty"`
1381
1382	// SiteFilter: Filter that describes which sites are visible to the user
1383	// profile.
1384	SiteFilter *ObjectFilter `json:"siteFilter,omitempty"`
1385
1386	// SubaccountId: Subaccount ID of the user profile. This is a read-only
1387	// field that can be left blank.
1388	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1389
1390	// TraffickerType: Trafficker type of this user profile. This is a
1391	// read-only field.
1392	//
1393	// Possible values:
1394	//   "EXTERNAL_TRAFFICKER"
1395	//   "INTERNAL_NON_TRAFFICKER"
1396	//   "INTERNAL_TRAFFICKER"
1397	TraffickerType string `json:"traffickerType,omitempty"`
1398
1399	// UserAccessType: User type of the user profile. This is a read-only
1400	// field that can be left blank.
1401	//
1402	// Possible values:
1403	//   "INTERNAL_ADMINISTRATOR"
1404	//   "NORMAL_USER"
1405	//   "READ_ONLY_SUPER_USER"
1406	//   "SUPER_USER"
1407	UserAccessType string `json:"userAccessType,omitempty"`
1408
1409	// UserRoleFilter: Filter that describes which user roles are visible to
1410	// the user profile.
1411	UserRoleFilter *ObjectFilter `json:"userRoleFilter,omitempty"`
1412
1413	// UserRoleId: User role ID of the user profile. This is a required
1414	// field.
1415	UserRoleId int64 `json:"userRoleId,omitempty,string"`
1416
1417	// ServerResponse contains the HTTP response code and headers from the
1418	// server.
1419	googleapi.ServerResponse `json:"-"`
1420
1421	// ForceSendFields is a list of field names (e.g. "AccountId") to
1422	// unconditionally include in API requests. By default, fields with
1423	// empty values are omitted from API requests. However, any non-pointer,
1424	// non-interface field appearing in ForceSendFields will be sent to the
1425	// server regardless of whether the field is empty or not. This may be
1426	// used to include empty fields in Patch requests.
1427	ForceSendFields []string `json:"-"`
1428
1429	// NullFields is a list of field names (e.g. "AccountId") to include in
1430	// API requests with the JSON null value. By default, fields with empty
1431	// values are omitted from API requests. However, any field with an
1432	// empty value appearing in NullFields will be sent to the server as
1433	// null. It is an error if a field in this list has a non-empty value.
1434	// This may be used to include null fields in Patch requests.
1435	NullFields []string `json:"-"`
1436}
1437
1438func (s *AccountUserProfile) MarshalJSON() ([]byte, error) {
1439	type NoMethod AccountUserProfile
1440	raw := NoMethod(*s)
1441	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1442}
1443
1444// AccountUserProfilesListResponse: Account User Profile List Response
1445type AccountUserProfilesListResponse struct {
1446	// AccountUserProfiles: Account user profile collection.
1447	AccountUserProfiles []*AccountUserProfile `json:"accountUserProfiles,omitempty"`
1448
1449	// Kind: Identifies what kind of resource this is. Value: the fixed
1450	// string "dfareporting#accountUserProfilesListResponse".
1451	Kind string `json:"kind,omitempty"`
1452
1453	// NextPageToken: Pagination token to be used for the next list
1454	// operation.
1455	NextPageToken string `json:"nextPageToken,omitempty"`
1456
1457	// ServerResponse contains the HTTP response code and headers from the
1458	// server.
1459	googleapi.ServerResponse `json:"-"`
1460
1461	// ForceSendFields is a list of field names (e.g. "AccountUserProfiles")
1462	// to unconditionally include in API requests. By default, fields with
1463	// empty values are omitted from API requests. However, any non-pointer,
1464	// non-interface field appearing in ForceSendFields will be sent to the
1465	// server regardless of whether the field is empty or not. This may be
1466	// used to include empty fields in Patch requests.
1467	ForceSendFields []string `json:"-"`
1468
1469	// NullFields is a list of field names (e.g. "AccountUserProfiles") to
1470	// include in API requests with the JSON null value. By default, fields
1471	// with empty values are omitted from API requests. However, any field
1472	// with an empty value appearing in NullFields will be sent to the
1473	// server as null. It is an error if a field in this list has a
1474	// non-empty value. This may be used to include null fields in Patch
1475	// requests.
1476	NullFields []string `json:"-"`
1477}
1478
1479func (s *AccountUserProfilesListResponse) MarshalJSON() ([]byte, error) {
1480	type NoMethod AccountUserProfilesListResponse
1481	raw := NoMethod(*s)
1482	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1483}
1484
1485// AccountsListResponse: Account List Response
1486type AccountsListResponse struct {
1487	// Accounts: Account collection.
1488	Accounts []*Account `json:"accounts,omitempty"`
1489
1490	// Kind: Identifies what kind of resource this is. Value: the fixed
1491	// string "dfareporting#accountsListResponse".
1492	Kind string `json:"kind,omitempty"`
1493
1494	// NextPageToken: Pagination token to be used for the next list
1495	// operation.
1496	NextPageToken string `json:"nextPageToken,omitempty"`
1497
1498	// ServerResponse contains the HTTP response code and headers from the
1499	// server.
1500	googleapi.ServerResponse `json:"-"`
1501
1502	// ForceSendFields is a list of field names (e.g. "Accounts") to
1503	// unconditionally include in API requests. By default, fields with
1504	// empty values are omitted from API requests. However, any non-pointer,
1505	// non-interface field appearing in ForceSendFields will be sent to the
1506	// server regardless of whether the field is empty or not. This may be
1507	// used to include empty fields in Patch requests.
1508	ForceSendFields []string `json:"-"`
1509
1510	// NullFields is a list of field names (e.g. "Accounts") to include in
1511	// API requests with the JSON null value. By default, fields with empty
1512	// values are omitted from API requests. However, any field with an
1513	// empty value appearing in NullFields will be sent to the server as
1514	// null. It is an error if a field in this list has a non-empty value.
1515	// This may be used to include null fields in Patch requests.
1516	NullFields []string `json:"-"`
1517}
1518
1519func (s *AccountsListResponse) MarshalJSON() ([]byte, error) {
1520	type NoMethod AccountsListResponse
1521	raw := NoMethod(*s)
1522	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1523}
1524
1525// Activities: Represents an activity group.
1526type Activities struct {
1527	// Filters: List of activity filters. The dimension values need to be
1528	// all either of type "dfa:activity" or "dfa:activityGroup".
1529	Filters []*DimensionValue `json:"filters,omitempty"`
1530
1531	// Kind: The kind of resource this is, in this case
1532	// dfareporting#activities.
1533	Kind string `json:"kind,omitempty"`
1534
1535	// MetricNames: List of names of floodlight activity metrics.
1536	MetricNames []string `json:"metricNames,omitempty"`
1537
1538	// ForceSendFields is a list of field names (e.g. "Filters") to
1539	// unconditionally include in API requests. By default, fields with
1540	// empty values are omitted from API requests. However, any non-pointer,
1541	// non-interface field appearing in ForceSendFields will be sent to the
1542	// server regardless of whether the field is empty or not. This may be
1543	// used to include empty fields in Patch requests.
1544	ForceSendFields []string `json:"-"`
1545
1546	// NullFields is a list of field names (e.g. "Filters") to include in
1547	// API requests with the JSON null value. By default, fields with empty
1548	// values are omitted from API requests. However, any field with an
1549	// empty value appearing in NullFields will be sent to the server as
1550	// null. It is an error if a field in this list has a non-empty value.
1551	// This may be used to include null fields in Patch requests.
1552	NullFields []string `json:"-"`
1553}
1554
1555func (s *Activities) MarshalJSON() ([]byte, error) {
1556	type NoMethod Activities
1557	raw := NoMethod(*s)
1558	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1559}
1560
1561// Ad: Contains properties of a Campaign Manager ad.
1562type Ad struct {
1563	// AccountId: Account ID of this ad. This is a read-only field that can
1564	// be left blank.
1565	AccountId int64 `json:"accountId,omitempty,string"`
1566
1567	// Active: Whether this ad is active. When true, archived must be false.
1568	Active bool `json:"active,omitempty"`
1569
1570	// AdvertiserId: Advertiser ID of this ad. This is a required field on
1571	// insertion.
1572	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
1573
1574	// AdvertiserIdDimensionValue: Dimension value for the ID of the
1575	// advertiser. This is a read-only, auto-generated field.
1576	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
1577
1578	// Archived: Whether this ad is archived. When true, active must be
1579	// false.
1580	Archived bool `json:"archived,omitempty"`
1581
1582	// AudienceSegmentId: Audience segment ID that is being targeted for
1583	// this ad. Applicable when type is AD_SERVING_STANDARD_AD.
1584	AudienceSegmentId int64 `json:"audienceSegmentId,omitempty,string"`
1585
1586	// CampaignId: Campaign ID of this ad. This is a required field on
1587	// insertion.
1588	CampaignId int64 `json:"campaignId,omitempty,string"`
1589
1590	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
1591	// This is a read-only, auto-generated field.
1592	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
1593
1594	// ClickThroughUrl: Click-through URL for this ad. This is a required
1595	// field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
1596	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
1597
1598	// ClickThroughUrlSuffixProperties: Click-through URL suffix properties
1599	// for this ad. Applies to the URL in the ad or (if overriding ad
1600	// properties) the URL in the creative.
1601	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
1602
1603	// Comments: Comments for this ad.
1604	Comments string `json:"comments,omitempty"`
1605
1606	// Compatibility: Compatibility of this ad. Applicable when type is
1607	// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
1608	// either rendering on desktop or on mobile devices or in mobile apps
1609	// for regular or interstitial ads, respectively. APP and
1610	// APP_INTERSTITIAL are only used for existing default ads. New mobile
1611	// placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and
1612	// default ads created for those placements will be limited to those
1613	// compatibility types. IN_STREAM_VIDEO refers to rendering in-stream
1614	// video ads developed with the VAST standard.
1615	//
1616	// Possible values:
1617	//   "APP"
1618	//   "APP_INTERSTITIAL"
1619	//   "DISPLAY"
1620	//   "DISPLAY_INTERSTITIAL"
1621	//   "IN_STREAM_AUDIO"
1622	//   "IN_STREAM_VIDEO"
1623	Compatibility string `json:"compatibility,omitempty"`
1624
1625	// CreateInfo: Information about the creation of this ad. This is a
1626	// read-only field.
1627	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
1628
1629	// CreativeGroupAssignments: Creative group assignments for this ad.
1630	// Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment
1631	// per creative group number is allowed for a maximum of two
1632	// assignments.
1633	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
1634
1635	// CreativeRotation: Creative rotation for this ad. Applicable when type
1636	// is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or
1637	// AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field
1638	// should have exactly one creativeAssignment.
1639	CreativeRotation *CreativeRotation `json:"creativeRotation,omitempty"`
1640
1641	// DayPartTargeting: Time and day targeting information for this ad.
1642	// This field must be left blank if the ad is using a targeting
1643	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1644	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
1645
1646	// DefaultClickThroughEventTagProperties: Default click-through event
1647	// tag properties for this ad.
1648	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
1649
1650	// DeliverySchedule: Delivery schedule information for this ad.
1651	// Applicable when type is AD_SERVING_STANDARD_AD or
1652	// AD_SERVING_TRACKING. This field along with subfields priority and
1653	// impressionRatio are required on insertion when type is
1654	// AD_SERVING_STANDARD_AD.
1655	DeliverySchedule *DeliverySchedule `json:"deliverySchedule,omitempty"`
1656
1657	// DynamicClickTracker: Whether this ad is a dynamic click tracker.
1658	// Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required
1659	// field on insert, and is read-only after insert.
1660	DynamicClickTracker bool `json:"dynamicClickTracker,omitempty"`
1661
1662	// EndTime: Date and time that this ad should stop serving. Must be
1663	// later than the start time. This is a required field on insertion.
1664	EndTime string `json:"endTime,omitempty"`
1665
1666	// EventTagOverrides: Event tag overrides for this ad.
1667	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
1668
1669	// GeoTargeting: Geographical targeting information for this ad. This
1670	// field must be left blank if the ad is using a targeting template.
1671	// Applicable when type is AD_SERVING_STANDARD_AD.
1672	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
1673
1674	// Id: ID of this ad. This is a read-only, auto-generated field.
1675	Id int64 `json:"id,omitempty,string"`
1676
1677	// IdDimensionValue: Dimension value for the ID of this ad. This is a
1678	// read-only, auto-generated field.
1679	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
1680
1681	// KeyValueTargetingExpression: Key-value targeting information for this
1682	// ad. This field must be left blank if the ad is using a targeting
1683	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1684	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
1685
1686	// Kind: Identifies what kind of resource this is. Value: the fixed
1687	// string "dfareporting#ad".
1688	Kind string `json:"kind,omitempty"`
1689
1690	// LanguageTargeting: Language targeting information for this ad. This
1691	// field must be left blank if the ad is using a targeting template.
1692	// Applicable when type is AD_SERVING_STANDARD_AD.
1693	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
1694
1695	// LastModifiedInfo: Information about the most recent modification of
1696	// this ad. This is a read-only field.
1697	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
1698
1699	// Name: Name of this ad. This is a required field and must be less than
1700	// 256 characters long.
1701	Name string `json:"name,omitempty"`
1702
1703	// PlacementAssignments: Placement assignments for this ad.
1704	PlacementAssignments []*PlacementAssignment `json:"placementAssignments,omitempty"`
1705
1706	// RemarketingListExpression: Remarketing list targeting expression for
1707	// this ad. This field must be left blank if the ad is using a targeting
1708	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1709	RemarketingListExpression *ListTargetingExpression `json:"remarketingListExpression,omitempty"`
1710
1711	// Size: Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
1712	Size *Size `json:"size,omitempty"`
1713
1714	// SslCompliant: Whether this ad is ssl compliant. This is a read-only
1715	// field that is auto-generated when the ad is inserted or updated.
1716	SslCompliant bool `json:"sslCompliant,omitempty"`
1717
1718	// SslRequired: Whether this ad requires ssl. This is a read-only field
1719	// that is auto-generated when the ad is inserted or updated.
1720	SslRequired bool `json:"sslRequired,omitempty"`
1721
1722	// StartTime: Date and time that this ad should start serving. If
1723	// creating an ad, this field must be a time in the future. This is a
1724	// required field on insertion.
1725	StartTime string `json:"startTime,omitempty"`
1726
1727	// SubaccountId: Subaccount ID of this ad. This is a read-only field
1728	// that can be left blank.
1729	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1730
1731	// TargetingTemplateId: Targeting template ID, used to apply
1732	// preconfigured targeting information to this ad. This cannot be set
1733	// while any of dayPartTargeting, geoTargeting,
1734	// keyValueTargetingExpression, languageTargeting,
1735	// remarketingListExpression, or technologyTargeting are set. Applicable
1736	// when type is AD_SERVING_STANDARD_AD.
1737	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
1738
1739	// TechnologyTargeting: Technology platform targeting information for
1740	// this ad. This field must be left blank if the ad is using a targeting
1741	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1742	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
1743
1744	// Type: Type of ad. This is a required field on insertion. Note that
1745	// default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see
1746	// Creative resource).
1747	//
1748	// Possible values:
1749	//   "AD_SERVING_CLICK_TRACKER"
1750	//   "AD_SERVING_DEFAULT_AD"
1751	//   "AD_SERVING_STANDARD_AD"
1752	//   "AD_SERVING_TRACKING"
1753	Type string `json:"type,omitempty"`
1754
1755	// ServerResponse contains the HTTP response code and headers from the
1756	// server.
1757	googleapi.ServerResponse `json:"-"`
1758
1759	// ForceSendFields is a list of field names (e.g. "AccountId") to
1760	// unconditionally include in API requests. By default, fields with
1761	// empty values are omitted from API requests. However, any non-pointer,
1762	// non-interface field appearing in ForceSendFields will be sent to the
1763	// server regardless of whether the field is empty or not. This may be
1764	// used to include empty fields in Patch requests.
1765	ForceSendFields []string `json:"-"`
1766
1767	// NullFields is a list of field names (e.g. "AccountId") to include in
1768	// API requests with the JSON null value. By default, fields with empty
1769	// values are omitted from API requests. However, any field with an
1770	// empty value appearing in NullFields will be sent to the server as
1771	// null. It is an error if a field in this list has a non-empty value.
1772	// This may be used to include null fields in Patch requests.
1773	NullFields []string `json:"-"`
1774}
1775
1776func (s *Ad) MarshalJSON() ([]byte, error) {
1777	type NoMethod Ad
1778	raw := NoMethod(*s)
1779	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1780}
1781
1782// AdBlockingConfiguration: Campaign ad blocking settings.
1783type AdBlockingConfiguration struct {
1784	// ClickThroughUrl: Click-through URL used by brand-neutral ads. This is
1785	// a required field when overrideClickThroughUrl is set to true.
1786	ClickThroughUrl string `json:"clickThroughUrl,omitempty"`
1787
1788	// CreativeBundleId: ID of a creative bundle to use for this campaign.
1789	// If set, brand-neutral ads will select creatives from this bundle.
1790	// Otherwise, a default transparent pixel will be used.
1791	CreativeBundleId int64 `json:"creativeBundleId,omitempty,string"`
1792
1793	// Enabled: Whether this campaign has enabled ad blocking. When true, ad
1794	// blocking is enabled for placements in the campaign, but this may be
1795	// overridden by site and placement settings. When false, ad blocking is
1796	// disabled for all placements under the campaign, regardless of site
1797	// and placement settings.
1798	Enabled bool `json:"enabled,omitempty"`
1799
1800	// OverrideClickThroughUrl: Whether the brand-neutral ad's click-through
1801	// URL comes from the campaign's creative bundle or the override URL.
1802	// Must be set to true if ad blocking is enabled and no creative bundle
1803	// is configured.
1804	OverrideClickThroughUrl bool `json:"overrideClickThroughUrl,omitempty"`
1805
1806	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
1807	// unconditionally include in API requests. By default, fields with
1808	// empty values are omitted from API requests. However, any non-pointer,
1809	// non-interface field appearing in ForceSendFields will be sent to the
1810	// server regardless of whether the field is empty or not. This may be
1811	// used to include empty fields in Patch requests.
1812	ForceSendFields []string `json:"-"`
1813
1814	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
1815	// include in API requests with the JSON null value. By default, fields
1816	// with empty values are omitted from API requests. However, any field
1817	// with an empty value appearing in NullFields will be sent to the
1818	// server as null. It is an error if a field in this list has a
1819	// non-empty value. This may be used to include null fields in Patch
1820	// requests.
1821	NullFields []string `json:"-"`
1822}
1823
1824func (s *AdBlockingConfiguration) MarshalJSON() ([]byte, error) {
1825	type NoMethod AdBlockingConfiguration
1826	raw := NoMethod(*s)
1827	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1828}
1829
1830// AdSlot: Ad Slot
1831type AdSlot struct {
1832	// Comment: Comment for this ad slot.
1833	Comment string `json:"comment,omitempty"`
1834
1835	// Compatibility: Ad slot compatibility. DISPLAY and
1836	// DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile
1837	// devices or in mobile apps for regular or interstitial ads
1838	// respectively. APP and APP_INTERSTITIAL are for rendering in mobile
1839	// apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads
1840	// developed with the VAST standard.
1841	//
1842	// Possible values:
1843	//   "APP"
1844	//   "APP_INTERSTITIAL"
1845	//   "DISPLAY"
1846	//   "DISPLAY_INTERSTITIAL"
1847	//   "IN_STREAM_AUDIO"
1848	//   "IN_STREAM_VIDEO"
1849	Compatibility string `json:"compatibility,omitempty"`
1850
1851	// Height: Height of this ad slot.
1852	Height int64 `json:"height,omitempty,string"`
1853
1854	// LinkedPlacementId: ID of the placement from an external platform that
1855	// is linked to this ad slot.
1856	LinkedPlacementId int64 `json:"linkedPlacementId,omitempty,string"`
1857
1858	// Name: Name of this ad slot.
1859	Name string `json:"name,omitempty"`
1860
1861	// PaymentSourceType: Payment source type of this ad slot.
1862	//
1863	// Possible values:
1864	//   "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID"
1865	//   "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID"
1866	PaymentSourceType string `json:"paymentSourceType,omitempty"`
1867
1868	// Primary: Primary ad slot of a roadblock inventory item.
1869	Primary bool `json:"primary,omitempty"`
1870
1871	// Width: Width of this ad slot.
1872	Width int64 `json:"width,omitempty,string"`
1873
1874	// ForceSendFields is a list of field names (e.g. "Comment") to
1875	// unconditionally include in API requests. By default, fields with
1876	// empty values are omitted from API requests. However, any non-pointer,
1877	// non-interface field appearing in ForceSendFields will be sent to the
1878	// server regardless of whether the field is empty or not. This may be
1879	// used to include empty fields in Patch requests.
1880	ForceSendFields []string `json:"-"`
1881
1882	// NullFields is a list of field names (e.g. "Comment") to include in
1883	// API requests with the JSON null value. By default, fields with empty
1884	// values are omitted from API requests. However, any field with an
1885	// empty value appearing in NullFields will be sent to the server as
1886	// null. It is an error if a field in this list has a non-empty value.
1887	// This may be used to include null fields in Patch requests.
1888	NullFields []string `json:"-"`
1889}
1890
1891func (s *AdSlot) MarshalJSON() ([]byte, error) {
1892	type NoMethod AdSlot
1893	raw := NoMethod(*s)
1894	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1895}
1896
1897// AdsListResponse: Ad List Response
1898type AdsListResponse struct {
1899	// Ads: Ad collection.
1900	Ads []*Ad `json:"ads,omitempty"`
1901
1902	// Kind: Identifies what kind of resource this is. Value: the fixed
1903	// string "dfareporting#adsListResponse".
1904	Kind string `json:"kind,omitempty"`
1905
1906	// NextPageToken: Pagination token to be used for the next list
1907	// operation.
1908	NextPageToken string `json:"nextPageToken,omitempty"`
1909
1910	// ServerResponse contains the HTTP response code and headers from the
1911	// server.
1912	googleapi.ServerResponse `json:"-"`
1913
1914	// ForceSendFields is a list of field names (e.g. "Ads") to
1915	// unconditionally include in API requests. By default, fields with
1916	// empty values are omitted from API requests. However, any non-pointer,
1917	// non-interface field appearing in ForceSendFields will be sent to the
1918	// server regardless of whether the field is empty or not. This may be
1919	// used to include empty fields in Patch requests.
1920	ForceSendFields []string `json:"-"`
1921
1922	// NullFields is a list of field names (e.g. "Ads") to include in API
1923	// requests with the JSON null value. By default, fields with empty
1924	// values are omitted from API requests. However, any field with an
1925	// empty value appearing in NullFields will be sent to the server as
1926	// null. It is an error if a field in this list has a non-empty value.
1927	// This may be used to include null fields in Patch requests.
1928	NullFields []string `json:"-"`
1929}
1930
1931func (s *AdsListResponse) MarshalJSON() ([]byte, error) {
1932	type NoMethod AdsListResponse
1933	raw := NoMethod(*s)
1934	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1935}
1936
1937// Advertiser: Contains properties of a Campaign Manager advertiser.
1938type Advertiser struct {
1939	// AccountId: Account ID of this advertiser.This is a read-only field
1940	// that can be left blank.
1941	AccountId int64 `json:"accountId,omitempty,string"`
1942
1943	// AdvertiserGroupId: ID of the advertiser group this advertiser belongs
1944	// to. You can group advertisers for reporting purposes, allowing you to
1945	// see aggregated information for all advertisers in each group.
1946	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
1947
1948	// ClickThroughUrlSuffix: Suffix added to click-through URL of ad
1949	// creative associations under this advertiser. Must be less than 129
1950	// characters long.
1951	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
1952
1953	// DefaultClickThroughEventTagId: ID of the click-through event tag to
1954	// apply by default to the landing pages of this advertiser's campaigns.
1955	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
1956
1957	// DefaultEmail: Default email address used in sender field for tag
1958	// emails.
1959	DefaultEmail string `json:"defaultEmail,omitempty"`
1960
1961	// FloodlightConfigurationId: Floodlight configuration ID of this
1962	// advertiser. The floodlight configuration ID will be created
1963	// automatically, so on insert this field should be left blank. This
1964	// field can be set to another advertiser's floodlight configuration ID
1965	// in order to share that advertiser's floodlight configuration with
1966	// this advertiser, so long as:
1967	// - This advertiser's original floodlight configuration is not already
1968	// associated with floodlight activities or floodlight activity groups.
1969	//
1970	// - This advertiser's original floodlight configuration is not already
1971	// shared with another advertiser.
1972	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
1973
1974	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
1975	// of the floodlight configuration. This is a read-only, auto-generated
1976	// field.
1977	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
1978
1979	// Id: ID of this advertiser. This is a read-only, auto-generated field.
1980	Id int64 `json:"id,omitempty,string"`
1981
1982	// IdDimensionValue: Dimension value for the ID of this advertiser. This
1983	// is a read-only, auto-generated field.
1984	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
1985
1986	// Kind: Identifies what kind of resource this is. Value: the fixed
1987	// string "dfareporting#advertiser".
1988	Kind string `json:"kind,omitempty"`
1989
1990	// Name: Name of this advertiser. This is a required field and must be
1991	// less than 256 characters long and unique among advertisers of the
1992	// same account.
1993	Name string `json:"name,omitempty"`
1994
1995	// OriginalFloodlightConfigurationId: Original floodlight configuration
1996	// before any sharing occurred. Set the floodlightConfigurationId of
1997	// this advertiser to originalFloodlightConfigurationId to unshare the
1998	// advertiser's current floodlight configuration. You cannot unshare an
1999	// advertiser's floodlight configuration if the shared configuration has
2000	// activities associated with any campaign or placement.
2001	OriginalFloodlightConfigurationId int64 `json:"originalFloodlightConfigurationId,omitempty,string"`
2002
2003	// Status: Status of this advertiser.
2004	//
2005	// Possible values:
2006	//   "APPROVED"
2007	//   "ON_HOLD"
2008	Status string `json:"status,omitempty"`
2009
2010	// SubaccountId: Subaccount ID of this advertiser.This is a read-only
2011	// field that can be left blank.
2012	SubaccountId int64 `json:"subaccountId,omitempty,string"`
2013
2014	// Suspended: Suspension status of this advertiser.
2015	Suspended bool `json:"suspended,omitempty"`
2016
2017	// ServerResponse contains the HTTP response code and headers from the
2018	// server.
2019	googleapi.ServerResponse `json:"-"`
2020
2021	// ForceSendFields is a list of field names (e.g. "AccountId") to
2022	// unconditionally include in API requests. By default, fields with
2023	// empty values are omitted from API requests. However, any non-pointer,
2024	// non-interface field appearing in ForceSendFields will be sent to the
2025	// server regardless of whether the field is empty or not. This may be
2026	// used to include empty fields in Patch requests.
2027	ForceSendFields []string `json:"-"`
2028
2029	// NullFields is a list of field names (e.g. "AccountId") to include in
2030	// API requests with the JSON null value. By default, fields with empty
2031	// values are omitted from API requests. However, any field with an
2032	// empty value appearing in NullFields will be sent to the server as
2033	// null. It is an error if a field in this list has a non-empty value.
2034	// This may be used to include null fields in Patch requests.
2035	NullFields []string `json:"-"`
2036}
2037
2038func (s *Advertiser) MarshalJSON() ([]byte, error) {
2039	type NoMethod Advertiser
2040	raw := NoMethod(*s)
2041	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2042}
2043
2044// AdvertiserGroup: Groups advertisers together so that reports can be
2045// generated for the entire group at once.
2046type AdvertiserGroup struct {
2047	// AccountId: Account ID of this advertiser group. This is a read-only
2048	// field that can be left blank.
2049	AccountId int64 `json:"accountId,omitempty,string"`
2050
2051	// Id: ID of this advertiser group. This is a read-only, auto-generated
2052	// field.
2053	Id int64 `json:"id,omitempty,string"`
2054
2055	// Kind: Identifies what kind of resource this is. Value: the fixed
2056	// string "dfareporting#advertiserGroup".
2057	Kind string `json:"kind,omitempty"`
2058
2059	// Name: Name of this advertiser group. This is a required field and
2060	// must be less than 256 characters long and unique among advertiser
2061	// groups of the same account.
2062	Name string `json:"name,omitempty"`
2063
2064	// ServerResponse contains the HTTP response code and headers from the
2065	// server.
2066	googleapi.ServerResponse `json:"-"`
2067
2068	// ForceSendFields is a list of field names (e.g. "AccountId") to
2069	// unconditionally include in API requests. By default, fields with
2070	// empty values are omitted from API requests. However, any non-pointer,
2071	// non-interface field appearing in ForceSendFields will be sent to the
2072	// server regardless of whether the field is empty or not. This may be
2073	// used to include empty fields in Patch requests.
2074	ForceSendFields []string `json:"-"`
2075
2076	// NullFields is a list of field names (e.g. "AccountId") to include in
2077	// API requests with the JSON null value. By default, fields with empty
2078	// values are omitted from API requests. However, any field with an
2079	// empty value appearing in NullFields will be sent to the server as
2080	// null. It is an error if a field in this list has a non-empty value.
2081	// This may be used to include null fields in Patch requests.
2082	NullFields []string `json:"-"`
2083}
2084
2085func (s *AdvertiserGroup) MarshalJSON() ([]byte, error) {
2086	type NoMethod AdvertiserGroup
2087	raw := NoMethod(*s)
2088	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2089}
2090
2091// AdvertiserGroupsListResponse: Advertiser Group List Response
2092type AdvertiserGroupsListResponse struct {
2093	// AdvertiserGroups: Advertiser group collection.
2094	AdvertiserGroups []*AdvertiserGroup `json:"advertiserGroups,omitempty"`
2095
2096	// Kind: Identifies what kind of resource this is. Value: the fixed
2097	// string "dfareporting#advertiserGroupsListResponse".
2098	Kind string `json:"kind,omitempty"`
2099
2100	// NextPageToken: Pagination token to be used for the next list
2101	// operation.
2102	NextPageToken string `json:"nextPageToken,omitempty"`
2103
2104	// ServerResponse contains the HTTP response code and headers from the
2105	// server.
2106	googleapi.ServerResponse `json:"-"`
2107
2108	// ForceSendFields is a list of field names (e.g. "AdvertiserGroups") to
2109	// unconditionally include in API requests. By default, fields with
2110	// empty values are omitted from API requests. However, any non-pointer,
2111	// non-interface field appearing in ForceSendFields will be sent to the
2112	// server regardless of whether the field is empty or not. This may be
2113	// used to include empty fields in Patch requests.
2114	ForceSendFields []string `json:"-"`
2115
2116	// NullFields is a list of field names (e.g. "AdvertiserGroups") to
2117	// include in API requests with the JSON null value. By default, fields
2118	// with empty values are omitted from API requests. However, any field
2119	// with an empty value appearing in NullFields will be sent to the
2120	// server as null. It is an error if a field in this list has a
2121	// non-empty value. This may be used to include null fields in Patch
2122	// requests.
2123	NullFields []string `json:"-"`
2124}
2125
2126func (s *AdvertiserGroupsListResponse) MarshalJSON() ([]byte, error) {
2127	type NoMethod AdvertiserGroupsListResponse
2128	raw := NoMethod(*s)
2129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2130}
2131
2132// AdvertiserLandingPagesListResponse: Landing Page List Response
2133type AdvertiserLandingPagesListResponse struct {
2134	// Kind: Identifies what kind of resource this is. Value: the fixed
2135	// string "dfareporting#advertiserLandingPagesListResponse".
2136	Kind string `json:"kind,omitempty"`
2137
2138	// LandingPages: Landing page collection
2139	LandingPages []*LandingPage `json:"landingPages,omitempty"`
2140
2141	// NextPageToken: Pagination token to be used for the next list
2142	// operation.
2143	NextPageToken string `json:"nextPageToken,omitempty"`
2144
2145	// ServerResponse contains the HTTP response code and headers from the
2146	// server.
2147	googleapi.ServerResponse `json:"-"`
2148
2149	// ForceSendFields is a list of field names (e.g. "Kind") to
2150	// unconditionally include in API requests. By default, fields with
2151	// empty values are omitted from API requests. However, any non-pointer,
2152	// non-interface field appearing in ForceSendFields will be sent to the
2153	// server regardless of whether the field is empty or not. This may be
2154	// used to include empty fields in Patch requests.
2155	ForceSendFields []string `json:"-"`
2156
2157	// NullFields is a list of field names (e.g. "Kind") to include in API
2158	// requests with the JSON null value. By default, fields with empty
2159	// values are omitted from API requests. However, any field with an
2160	// empty value appearing in NullFields will be sent to the server as
2161	// null. It is an error if a field in this list has a non-empty value.
2162	// This may be used to include null fields in Patch requests.
2163	NullFields []string `json:"-"`
2164}
2165
2166func (s *AdvertiserLandingPagesListResponse) MarshalJSON() ([]byte, error) {
2167	type NoMethod AdvertiserLandingPagesListResponse
2168	raw := NoMethod(*s)
2169	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2170}
2171
2172// AdvertisersListResponse: Advertiser List Response
2173type AdvertisersListResponse struct {
2174	// Advertisers: Advertiser collection.
2175	Advertisers []*Advertiser `json:"advertisers,omitempty"`
2176
2177	// Kind: Identifies what kind of resource this is. Value: the fixed
2178	// string "dfareporting#advertisersListResponse".
2179	Kind string `json:"kind,omitempty"`
2180
2181	// NextPageToken: Pagination token to be used for the next list
2182	// operation.
2183	NextPageToken string `json:"nextPageToken,omitempty"`
2184
2185	// ServerResponse contains the HTTP response code and headers from the
2186	// server.
2187	googleapi.ServerResponse `json:"-"`
2188
2189	// ForceSendFields is a list of field names (e.g. "Advertisers") to
2190	// unconditionally include in API requests. By default, fields with
2191	// empty values are omitted from API requests. However, any non-pointer,
2192	// non-interface field appearing in ForceSendFields will be sent to the
2193	// server regardless of whether the field is empty or not. This may be
2194	// used to include empty fields in Patch requests.
2195	ForceSendFields []string `json:"-"`
2196
2197	// NullFields is a list of field names (e.g. "Advertisers") to include
2198	// in API requests with the JSON null value. By default, fields with
2199	// empty values are omitted from API requests. However, any field with
2200	// an empty value appearing in NullFields will be sent to the server as
2201	// null. It is an error if a field in this list has a non-empty value.
2202	// This may be used to include null fields in Patch requests.
2203	NullFields []string `json:"-"`
2204}
2205
2206func (s *AdvertisersListResponse) MarshalJSON() ([]byte, error) {
2207	type NoMethod AdvertisersListResponse
2208	raw := NoMethod(*s)
2209	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2210}
2211
2212// AudienceSegment: Audience Segment.
2213type AudienceSegment struct {
2214	// Allocation: Weight allocated to this segment. The weight assigned
2215	// will be understood in proportion to the weights assigned to other
2216	// segments in the same segment group. Acceptable values are 1 to 1000,
2217	// inclusive.
2218	Allocation int64 `json:"allocation,omitempty"`
2219
2220	// Id: ID of this audience segment. This is a read-only, auto-generated
2221	// field.
2222	Id int64 `json:"id,omitempty,string"`
2223
2224	// Name: Name of this audience segment. This is a required field and
2225	// must be less than 65 characters long.
2226	Name string `json:"name,omitempty"`
2227
2228	// ForceSendFields is a list of field names (e.g. "Allocation") to
2229	// unconditionally include in API requests. By default, fields with
2230	// empty values are omitted from API requests. However, any non-pointer,
2231	// non-interface field appearing in ForceSendFields will be sent to the
2232	// server regardless of whether the field is empty or not. This may be
2233	// used to include empty fields in Patch requests.
2234	ForceSendFields []string `json:"-"`
2235
2236	// NullFields is a list of field names (e.g. "Allocation") to include in
2237	// API requests with the JSON null value. By default, fields with empty
2238	// values are omitted from API requests. However, any field with an
2239	// empty value appearing in NullFields will be sent to the server as
2240	// null. It is an error if a field in this list has a non-empty value.
2241	// This may be used to include null fields in Patch requests.
2242	NullFields []string `json:"-"`
2243}
2244
2245func (s *AudienceSegment) MarshalJSON() ([]byte, error) {
2246	type NoMethod AudienceSegment
2247	raw := NoMethod(*s)
2248	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2249}
2250
2251// AudienceSegmentGroup: Audience Segment Group.
2252type AudienceSegmentGroup struct {
2253	// AudienceSegments: Audience segments assigned to this group. The
2254	// number of segments must be between 2 and 100.
2255	AudienceSegments []*AudienceSegment `json:"audienceSegments,omitempty"`
2256
2257	// Id: ID of this audience segment group. This is a read-only,
2258	// auto-generated field.
2259	Id int64 `json:"id,omitempty,string"`
2260
2261	// Name: Name of this audience segment group. This is a required field
2262	// and must be less than 65 characters long.
2263	Name string `json:"name,omitempty"`
2264
2265	// ForceSendFields is a list of field names (e.g. "AudienceSegments") to
2266	// unconditionally include in API requests. By default, fields with
2267	// empty values are omitted from API requests. However, any non-pointer,
2268	// non-interface field appearing in ForceSendFields will be sent to the
2269	// server regardless of whether the field is empty or not. This may be
2270	// used to include empty fields in Patch requests.
2271	ForceSendFields []string `json:"-"`
2272
2273	// NullFields is a list of field names (e.g. "AudienceSegments") to
2274	// include in API requests with the JSON null value. By default, fields
2275	// with empty values are omitted from API requests. However, any field
2276	// with an empty value appearing in NullFields will be sent to the
2277	// server as null. It is an error if a field in this list has a
2278	// non-empty value. This may be used to include null fields in Patch
2279	// requests.
2280	NullFields []string `json:"-"`
2281}
2282
2283func (s *AudienceSegmentGroup) MarshalJSON() ([]byte, error) {
2284	type NoMethod AudienceSegmentGroup
2285	raw := NoMethod(*s)
2286	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2287}
2288
2289// Browser: Contains information about a browser that can be targeted by
2290// ads.
2291type Browser struct {
2292	// BrowserVersionId: ID referring to this grouping of browser and
2293	// version numbers. This is the ID used for targeting.
2294	BrowserVersionId int64 `json:"browserVersionId,omitempty,string"`
2295
2296	// DartId: DART ID of this browser. This is the ID used when generating
2297	// reports.
2298	DartId int64 `json:"dartId,omitempty,string"`
2299
2300	// Kind: Identifies what kind of resource this is. Value: the fixed
2301	// string "dfareporting#browser".
2302	Kind string `json:"kind,omitempty"`
2303
2304	// MajorVersion: Major version number (leftmost number) of this browser.
2305	// For example, for Chrome 5.0.376.86 beta, this field should be set to
2306	// 5. An asterisk (*) may be used to target any version number, and a
2307	// question mark (?) may be used to target cases where the version
2308	// number cannot be identified. For example, Chrome *.* targets any
2309	// version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
2310	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
2311	// server knows the browser is Firefox but can't tell which version it
2312	// is.
2313	MajorVersion string `json:"majorVersion,omitempty"`
2314
2315	// MinorVersion: Minor version number (number after first dot on left)
2316	// of this browser. For example, for Chrome 5.0.375.86 beta, this field
2317	// should be set to 0. An asterisk (*) may be used to target any version
2318	// number, and a question mark (?) may be used to target cases where the
2319	// version number cannot be identified. For example, Chrome *.* targets
2320	// any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
2321	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
2322	// server knows the browser is Firefox but can't tell which version it
2323	// is.
2324	MinorVersion string `json:"minorVersion,omitempty"`
2325
2326	// Name: Name of this browser.
2327	Name string `json:"name,omitempty"`
2328
2329	// ForceSendFields is a list of field names (e.g. "BrowserVersionId") to
2330	// unconditionally include in API requests. By default, fields with
2331	// empty values are omitted from API requests. However, any non-pointer,
2332	// non-interface field appearing in ForceSendFields will be sent to the
2333	// server regardless of whether the field is empty or not. This may be
2334	// used to include empty fields in Patch requests.
2335	ForceSendFields []string `json:"-"`
2336
2337	// NullFields is a list of field names (e.g. "BrowserVersionId") to
2338	// include in API requests with the JSON null value. By default, fields
2339	// with empty values are omitted from API requests. However, any field
2340	// with an empty value appearing in NullFields will be sent to the
2341	// server as null. It is an error if a field in this list has a
2342	// non-empty value. This may be used to include null fields in Patch
2343	// requests.
2344	NullFields []string `json:"-"`
2345}
2346
2347func (s *Browser) MarshalJSON() ([]byte, error) {
2348	type NoMethod Browser
2349	raw := NoMethod(*s)
2350	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2351}
2352
2353// BrowsersListResponse: Browser List Response
2354type BrowsersListResponse struct {
2355	// Browsers: Browser collection.
2356	Browsers []*Browser `json:"browsers,omitempty"`
2357
2358	// Kind: Identifies what kind of resource this is. Value: the fixed
2359	// string "dfareporting#browsersListResponse".
2360	Kind string `json:"kind,omitempty"`
2361
2362	// ServerResponse contains the HTTP response code and headers from the
2363	// server.
2364	googleapi.ServerResponse `json:"-"`
2365
2366	// ForceSendFields is a list of field names (e.g. "Browsers") to
2367	// unconditionally include in API requests. By default, fields with
2368	// empty values are omitted from API requests. However, any non-pointer,
2369	// non-interface field appearing in ForceSendFields will be sent to the
2370	// server regardless of whether the field is empty or not. This may be
2371	// used to include empty fields in Patch requests.
2372	ForceSendFields []string `json:"-"`
2373
2374	// NullFields is a list of field names (e.g. "Browsers") to include in
2375	// API requests with the JSON null value. By default, fields with empty
2376	// values are omitted from API requests. However, any field with an
2377	// empty value appearing in NullFields will be sent to the server as
2378	// null. It is an error if a field in this list has a non-empty value.
2379	// This may be used to include null fields in Patch requests.
2380	NullFields []string `json:"-"`
2381}
2382
2383func (s *BrowsersListResponse) MarshalJSON() ([]byte, error) {
2384	type NoMethod BrowsersListResponse
2385	raw := NoMethod(*s)
2386	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2387}
2388
2389// Campaign: Contains properties of a Campaign Manager campaign.
2390type Campaign struct {
2391	// AccountId: Account ID of this campaign. This is a read-only field
2392	// that can be left blank.
2393	AccountId int64 `json:"accountId,omitempty,string"`
2394
2395	// AdBlockingConfiguration: Ad blocking settings for this campaign.
2396	AdBlockingConfiguration *AdBlockingConfiguration `json:"adBlockingConfiguration,omitempty"`
2397
2398	// AdditionalCreativeOptimizationConfigurations: Additional creative
2399	// optimization configurations for the campaign.
2400	AdditionalCreativeOptimizationConfigurations []*CreativeOptimizationConfiguration `json:"additionalCreativeOptimizationConfigurations,omitempty"`
2401
2402	// AdvertiserGroupId: Advertiser group ID of the associated advertiser.
2403	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
2404
2405	// AdvertiserId: Advertiser ID of this campaign. This is a required
2406	// field.
2407	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
2408
2409	// AdvertiserIdDimensionValue: Dimension value for the advertiser ID of
2410	// this campaign. This is a read-only, auto-generated field.
2411	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
2412
2413	// Archived: Whether this campaign has been archived.
2414	Archived bool `json:"archived,omitempty"`
2415
2416	// AudienceSegmentGroups: Audience segment groups assigned to this
2417	// campaign. Cannot have more than 300 segment groups.
2418	AudienceSegmentGroups []*AudienceSegmentGroup `json:"audienceSegmentGroups,omitempty"`
2419
2420	// BillingInvoiceCode: Billing invoice code included in the Campaign
2421	// Manager client billing invoices associated with the campaign.
2422	BillingInvoiceCode string `json:"billingInvoiceCode,omitempty"`
2423
2424	// ClickThroughUrlSuffixProperties: Click-through URL suffix override
2425	// properties for this campaign.
2426	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
2427
2428	// Comment: Arbitrary comments about this campaign. Must be less than
2429	// 256 characters long.
2430	Comment string `json:"comment,omitempty"`
2431
2432	// CreateInfo: Information about the creation of this campaign. This is
2433	// a read-only field.
2434	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
2435
2436	// CreativeGroupIds: List of creative group IDs that are assigned to the
2437	// campaign.
2438	CreativeGroupIds googleapi.Int64s `json:"creativeGroupIds,omitempty"`
2439
2440	// CreativeOptimizationConfiguration: Creative optimization
2441	// configuration for the campaign.
2442	CreativeOptimizationConfiguration *CreativeOptimizationConfiguration `json:"creativeOptimizationConfiguration,omitempty"`
2443
2444	// DefaultClickThroughEventTagProperties: Click-through event tag ID
2445	// override properties for this campaign.
2446	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
2447
2448	// DefaultLandingPageId: The default landing page ID for this campaign.
2449	DefaultLandingPageId int64 `json:"defaultLandingPageId,omitempty,string"`
2450
2451	// EndDate: Date on which the campaign will stop running. On insert, the
2452	// end date must be today or a future date. The end date must be later
2453	// than or be the same as the start date. If, for example, you set
2454	// 6/25/2015 as both the start and end dates, the effective campaign run
2455	// date is just that day only, 6/25/2015. The hours, minutes, and
2456	// seconds of the end date should not be set, as doing so will result in
2457	// an error. This is a required field.
2458	EndDate string `json:"endDate,omitempty"`
2459
2460	// EventTagOverrides: Overrides that can be used to activate or
2461	// deactivate advertiser event tags.
2462	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
2463
2464	// ExternalId: External ID for this campaign.
2465	ExternalId string `json:"externalId,omitempty"`
2466
2467	// Id: ID of this campaign. This is a read-only auto-generated field.
2468	Id int64 `json:"id,omitempty,string"`
2469
2470	// IdDimensionValue: Dimension value for the ID of this campaign. This
2471	// is a read-only, auto-generated field.
2472	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
2473
2474	// Kind: Identifies what kind of resource this is. Value: the fixed
2475	// string "dfareporting#campaign".
2476	Kind string `json:"kind,omitempty"`
2477
2478	// LastModifiedInfo: Information about the most recent modification of
2479	// this campaign. This is a read-only field.
2480	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
2481
2482	// Name: Name of this campaign. This is a required field and must be
2483	// less than 256 characters long and unique among campaigns of the same
2484	// advertiser.
2485	Name string `json:"name,omitempty"`
2486
2487	// NielsenOcrEnabled: Whether Nielsen reports are enabled for this
2488	// campaign.
2489	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
2490
2491	// StartDate: Date on which the campaign starts running. The start date
2492	// can be any date. The hours, minutes, and seconds of the start date
2493	// should not be set, as doing so will result in an error. This is a
2494	// required field.
2495	StartDate string `json:"startDate,omitempty"`
2496
2497	// SubaccountId: Subaccount ID of this campaign. This is a read-only
2498	// field that can be left blank.
2499	SubaccountId int64 `json:"subaccountId,omitempty,string"`
2500
2501	// TraffickerEmails: Campaign trafficker contact emails.
2502	TraffickerEmails []string `json:"traffickerEmails,omitempty"`
2503
2504	// ServerResponse contains the HTTP response code and headers from the
2505	// server.
2506	googleapi.ServerResponse `json:"-"`
2507
2508	// ForceSendFields is a list of field names (e.g. "AccountId") to
2509	// unconditionally include in API requests. By default, fields with
2510	// empty values are omitted from API requests. However, any non-pointer,
2511	// non-interface field appearing in ForceSendFields will be sent to the
2512	// server regardless of whether the field is empty or not. This may be
2513	// used to include empty fields in Patch requests.
2514	ForceSendFields []string `json:"-"`
2515
2516	// NullFields is a list of field names (e.g. "AccountId") to include in
2517	// API requests with the JSON null value. By default, fields with empty
2518	// values are omitted from API requests. However, any field with an
2519	// empty value appearing in NullFields will be sent to the server as
2520	// null. It is an error if a field in this list has a non-empty value.
2521	// This may be used to include null fields in Patch requests.
2522	NullFields []string `json:"-"`
2523}
2524
2525func (s *Campaign) MarshalJSON() ([]byte, error) {
2526	type NoMethod Campaign
2527	raw := NoMethod(*s)
2528	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2529}
2530
2531// CampaignCreativeAssociation: Identifies a creative which has been
2532// associated with a given campaign.
2533type CampaignCreativeAssociation struct {
2534	// CreativeId: ID of the creative associated with the campaign. This is
2535	// a required field.
2536	CreativeId int64 `json:"creativeId,omitempty,string"`
2537
2538	// Kind: Identifies what kind of resource this is. Value: the fixed
2539	// string "dfareporting#campaignCreativeAssociation".
2540	Kind string `json:"kind,omitempty"`
2541
2542	// ServerResponse contains the HTTP response code and headers from the
2543	// server.
2544	googleapi.ServerResponse `json:"-"`
2545
2546	// ForceSendFields is a list of field names (e.g. "CreativeId") to
2547	// unconditionally include in API requests. By default, fields with
2548	// empty values are omitted from API requests. However, any non-pointer,
2549	// non-interface field appearing in ForceSendFields will be sent to the
2550	// server regardless of whether the field is empty or not. This may be
2551	// used to include empty fields in Patch requests.
2552	ForceSendFields []string `json:"-"`
2553
2554	// NullFields is a list of field names (e.g. "CreativeId") to include in
2555	// API requests with the JSON null value. By default, fields with empty
2556	// values are omitted from API requests. However, any field with an
2557	// empty value appearing in NullFields will be sent to the server as
2558	// null. It is an error if a field in this list has a non-empty value.
2559	// This may be used to include null fields in Patch requests.
2560	NullFields []string `json:"-"`
2561}
2562
2563func (s *CampaignCreativeAssociation) MarshalJSON() ([]byte, error) {
2564	type NoMethod CampaignCreativeAssociation
2565	raw := NoMethod(*s)
2566	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2567}
2568
2569// CampaignCreativeAssociationsListResponse: Campaign Creative
2570// Association List Response
2571type CampaignCreativeAssociationsListResponse struct {
2572	// CampaignCreativeAssociations: Campaign creative association
2573	// collection
2574	CampaignCreativeAssociations []*CampaignCreativeAssociation `json:"campaignCreativeAssociations,omitempty"`
2575
2576	// Kind: Identifies what kind of resource this is. Value: the fixed
2577	// string "dfareporting#campaignCreativeAssociationsListResponse".
2578	Kind string `json:"kind,omitempty"`
2579
2580	// NextPageToken: Pagination token to be used for the next list
2581	// operation.
2582	NextPageToken string `json:"nextPageToken,omitempty"`
2583
2584	// ServerResponse contains the HTTP response code and headers from the
2585	// server.
2586	googleapi.ServerResponse `json:"-"`
2587
2588	// ForceSendFields is a list of field names (e.g.
2589	// "CampaignCreativeAssociations") to unconditionally include in API
2590	// requests. By default, fields with empty values are omitted from API
2591	// requests. However, any non-pointer, non-interface field appearing in
2592	// ForceSendFields will be sent to the server regardless of whether the
2593	// field is empty or not. This may be used to include empty fields in
2594	// Patch requests.
2595	ForceSendFields []string `json:"-"`
2596
2597	// NullFields is a list of field names (e.g.
2598	// "CampaignCreativeAssociations") to include in API requests with the
2599	// JSON null value. By default, fields with empty values are omitted
2600	// from API requests. However, any field with an empty value appearing
2601	// in NullFields will be sent to the server as null. It is an error if a
2602	// field in this list has a non-empty value. This may be used to include
2603	// null fields in Patch requests.
2604	NullFields []string `json:"-"`
2605}
2606
2607func (s *CampaignCreativeAssociationsListResponse) MarshalJSON() ([]byte, error) {
2608	type NoMethod CampaignCreativeAssociationsListResponse
2609	raw := NoMethod(*s)
2610	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2611}
2612
2613// CampaignManagerIds: Campaign Manager IDs related to the custom event.
2614type CampaignManagerIds struct {
2615	// AdId: Ad ID for Campaign Manager.
2616	AdId int64 `json:"adId,omitempty,string"`
2617
2618	// CampaignId: Campaign ID for Campaign Manager.
2619	CampaignId int64 `json:"campaignId,omitempty,string"`
2620
2621	// CreativeId: Creative ID for Campaign Manager.
2622	CreativeId int64 `json:"creativeId,omitempty,string"`
2623
2624	// Kind: Identifies what kind of resource this is. Value: the fixed
2625	// string "dfareporting#campaignManagerIds".
2626	Kind string `json:"kind,omitempty"`
2627
2628	// PlacementId: Placement ID for Campaign Manager.
2629	PlacementId int64 `json:"placementId,omitempty,string"`
2630
2631	// SiteId: Site ID for Campaign Manager.
2632	SiteId int64 `json:"siteId,omitempty,string"`
2633
2634	// ForceSendFields is a list of field names (e.g. "AdId") to
2635	// unconditionally include in API requests. By default, fields with
2636	// empty values are omitted from API requests. However, any non-pointer,
2637	// non-interface field appearing in ForceSendFields will be sent to the
2638	// server regardless of whether the field is empty or not. This may be
2639	// used to include empty fields in Patch requests.
2640	ForceSendFields []string `json:"-"`
2641
2642	// NullFields is a list of field names (e.g. "AdId") to include in API
2643	// requests with the JSON null value. By default, fields with empty
2644	// values are omitted from API requests. However, any field with an
2645	// empty value appearing in NullFields will be sent to the server as
2646	// null. It is an error if a field in this list has a non-empty value.
2647	// This may be used to include null fields in Patch requests.
2648	NullFields []string `json:"-"`
2649}
2650
2651func (s *CampaignManagerIds) MarshalJSON() ([]byte, error) {
2652	type NoMethod CampaignManagerIds
2653	raw := NoMethod(*s)
2654	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2655}
2656
2657// CampaignsListResponse: Campaign List Response
2658type CampaignsListResponse struct {
2659	// Campaigns: Campaign collection.
2660	Campaigns []*Campaign `json:"campaigns,omitempty"`
2661
2662	// Kind: Identifies what kind of resource this is. Value: the fixed
2663	// string "dfareporting#campaignsListResponse".
2664	Kind string `json:"kind,omitempty"`
2665
2666	// NextPageToken: Pagination token to be used for the next list
2667	// operation.
2668	NextPageToken string `json:"nextPageToken,omitempty"`
2669
2670	// ServerResponse contains the HTTP response code and headers from the
2671	// server.
2672	googleapi.ServerResponse `json:"-"`
2673
2674	// ForceSendFields is a list of field names (e.g. "Campaigns") to
2675	// unconditionally include in API requests. By default, fields with
2676	// empty values are omitted from API requests. However, any non-pointer,
2677	// non-interface field appearing in ForceSendFields will be sent to the
2678	// server regardless of whether the field is empty or not. This may be
2679	// used to include empty fields in Patch requests.
2680	ForceSendFields []string `json:"-"`
2681
2682	// NullFields is a list of field names (e.g. "Campaigns") to include in
2683	// API requests with the JSON null value. By default, fields with empty
2684	// values are omitted from API requests. However, any field with an
2685	// empty value appearing in NullFields will be sent to the server as
2686	// null. It is an error if a field in this list has a non-empty value.
2687	// This may be used to include null fields in Patch requests.
2688	NullFields []string `json:"-"`
2689}
2690
2691func (s *CampaignsListResponse) MarshalJSON() ([]byte, error) {
2692	type NoMethod CampaignsListResponse
2693	raw := NoMethod(*s)
2694	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2695}
2696
2697// ChangeLog: Describes a change that a user has made to a resource.
2698type ChangeLog struct {
2699	// AccountId: Account ID of the modified object.
2700	AccountId int64 `json:"accountId,omitempty,string"`
2701
2702	// Action: Action which caused the change.
2703	Action string `json:"action,omitempty"`
2704
2705	// ChangeTime: Time when the object was modified.
2706	ChangeTime string `json:"changeTime,omitempty"`
2707
2708	// FieldName: Field name of the object which changed.
2709	FieldName string `json:"fieldName,omitempty"`
2710
2711	// Id: ID of this change log.
2712	Id int64 `json:"id,omitempty,string"`
2713
2714	// Kind: Identifies what kind of resource this is. Value: the fixed
2715	// string "dfareporting#changeLog".
2716	Kind string `json:"kind,omitempty"`
2717
2718	// NewValue: New value of the object field.
2719	NewValue string `json:"newValue,omitempty"`
2720
2721	// ObjectId: ID of the object of this change log. The object could be a
2722	// campaign, placement, ad, or other type.
2723	ObjectId int64 `json:"objectId,omitempty,string"`
2724
2725	// ObjectType: Object type of the change log.
2726	ObjectType string `json:"objectType,omitempty"`
2727
2728	// OldValue: Old value of the object field.
2729	OldValue string `json:"oldValue,omitempty"`
2730
2731	// SubaccountId: Subaccount ID of the modified object.
2732	SubaccountId int64 `json:"subaccountId,omitempty,string"`
2733
2734	// TransactionId: Transaction ID of this change log. When a single API
2735	// call results in many changes, each change will have a separate ID in
2736	// the change log but will share the same transactionId.
2737	TransactionId int64 `json:"transactionId,omitempty,string"`
2738
2739	// UserProfileId: ID of the user who modified the object.
2740	UserProfileId int64 `json:"userProfileId,omitempty,string"`
2741
2742	// UserProfileName: User profile name of the user who modified the
2743	// object.
2744	UserProfileName string `json:"userProfileName,omitempty"`
2745
2746	// ServerResponse contains the HTTP response code and headers from the
2747	// server.
2748	googleapi.ServerResponse `json:"-"`
2749
2750	// ForceSendFields is a list of field names (e.g. "AccountId") to
2751	// unconditionally include in API requests. By default, fields with
2752	// empty values are omitted from API requests. However, any non-pointer,
2753	// non-interface field appearing in ForceSendFields will be sent to the
2754	// server regardless of whether the field is empty or not. This may be
2755	// used to include empty fields in Patch requests.
2756	ForceSendFields []string `json:"-"`
2757
2758	// NullFields is a list of field names (e.g. "AccountId") to include in
2759	// API requests with the JSON null value. By default, fields with empty
2760	// values are omitted from API requests. However, any field with an
2761	// empty value appearing in NullFields will be sent to the server as
2762	// null. It is an error if a field in this list has a non-empty value.
2763	// This may be used to include null fields in Patch requests.
2764	NullFields []string `json:"-"`
2765}
2766
2767func (s *ChangeLog) MarshalJSON() ([]byte, error) {
2768	type NoMethod ChangeLog
2769	raw := NoMethod(*s)
2770	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2771}
2772
2773// ChangeLogsListResponse: Change Log List Response
2774type ChangeLogsListResponse struct {
2775	// ChangeLogs: Change log collection.
2776	ChangeLogs []*ChangeLog `json:"changeLogs,omitempty"`
2777
2778	// Kind: Identifies what kind of resource this is. Value: the fixed
2779	// string "dfareporting#changeLogsListResponse".
2780	Kind string `json:"kind,omitempty"`
2781
2782	// NextPageToken: Pagination token to be used for the next list
2783	// operation.
2784	NextPageToken string `json:"nextPageToken,omitempty"`
2785
2786	// ServerResponse contains the HTTP response code and headers from the
2787	// server.
2788	googleapi.ServerResponse `json:"-"`
2789
2790	// ForceSendFields is a list of field names (e.g. "ChangeLogs") to
2791	// unconditionally include in API requests. By default, fields with
2792	// empty values are omitted from API requests. However, any non-pointer,
2793	// non-interface field appearing in ForceSendFields will be sent to the
2794	// server regardless of whether the field is empty or not. This may be
2795	// used to include empty fields in Patch requests.
2796	ForceSendFields []string `json:"-"`
2797
2798	// NullFields is a list of field names (e.g. "ChangeLogs") to include in
2799	// API requests with the JSON null value. By default, fields with empty
2800	// values are omitted from API requests. However, any field with an
2801	// empty value appearing in NullFields will be sent to the server as
2802	// null. It is an error if a field in this list has a non-empty value.
2803	// This may be used to include null fields in Patch requests.
2804	NullFields []string `json:"-"`
2805}
2806
2807func (s *ChangeLogsListResponse) MarshalJSON() ([]byte, error) {
2808	type NoMethod ChangeLogsListResponse
2809	raw := NoMethod(*s)
2810	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2811}
2812
2813// CitiesListResponse: City List Response
2814type CitiesListResponse struct {
2815	// Cities: City collection.
2816	Cities []*City `json:"cities,omitempty"`
2817
2818	// Kind: Identifies what kind of resource this is. Value: the fixed
2819	// string "dfareporting#citiesListResponse".
2820	Kind string `json:"kind,omitempty"`
2821
2822	// ServerResponse contains the HTTP response code and headers from the
2823	// server.
2824	googleapi.ServerResponse `json:"-"`
2825
2826	// ForceSendFields is a list of field names (e.g. "Cities") to
2827	// unconditionally include in API requests. By default, fields with
2828	// empty values are omitted from API requests. However, any non-pointer,
2829	// non-interface field appearing in ForceSendFields will be sent to the
2830	// server regardless of whether the field is empty or not. This may be
2831	// used to include empty fields in Patch requests.
2832	ForceSendFields []string `json:"-"`
2833
2834	// NullFields is a list of field names (e.g. "Cities") to include in API
2835	// requests with the JSON null value. By default, fields with empty
2836	// values are omitted from API requests. However, any field with an
2837	// empty value appearing in NullFields will be sent to the server as
2838	// null. It is an error if a field in this list has a non-empty value.
2839	// This may be used to include null fields in Patch requests.
2840	NullFields []string `json:"-"`
2841}
2842
2843func (s *CitiesListResponse) MarshalJSON() ([]byte, error) {
2844	type NoMethod CitiesListResponse
2845	raw := NoMethod(*s)
2846	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2847}
2848
2849// City: Contains information about a city that can be targeted by ads.
2850type City struct {
2851	// CountryCode: Country code of the country to which this city belongs.
2852	CountryCode string `json:"countryCode,omitempty"`
2853
2854	// CountryDartId: DART ID of the country to which this city belongs.
2855	CountryDartId int64 `json:"countryDartId,omitempty,string"`
2856
2857	// DartId: DART ID of this city. This is the ID used for targeting and
2858	// generating reports.
2859	DartId int64 `json:"dartId,omitempty,string"`
2860
2861	// Kind: Identifies what kind of resource this is. Value: the fixed
2862	// string "dfareporting#city".
2863	Kind string `json:"kind,omitempty"`
2864
2865	// MetroCode: Metro region code of the metro region (DMA) to which this
2866	// city belongs.
2867	MetroCode string `json:"metroCode,omitempty"`
2868
2869	// MetroDmaId: ID of the metro region (DMA) to which this city belongs.
2870	MetroDmaId int64 `json:"metroDmaId,omitempty,string"`
2871
2872	// Name: Name of this city.
2873	Name string `json:"name,omitempty"`
2874
2875	// RegionCode: Region code of the region to which this city belongs.
2876	RegionCode string `json:"regionCode,omitempty"`
2877
2878	// RegionDartId: DART ID of the region to which this city belongs.
2879	RegionDartId int64 `json:"regionDartId,omitempty,string"`
2880
2881	// ForceSendFields is a list of field names (e.g. "CountryCode") to
2882	// unconditionally include in API requests. By default, fields with
2883	// empty values are omitted from API requests. However, any non-pointer,
2884	// non-interface field appearing in ForceSendFields will be sent to the
2885	// server regardless of whether the field is empty or not. This may be
2886	// used to include empty fields in Patch requests.
2887	ForceSendFields []string `json:"-"`
2888
2889	// NullFields is a list of field names (e.g. "CountryCode") to include
2890	// in API requests with the JSON null value. By default, fields with
2891	// empty values are omitted from API requests. However, any field with
2892	// an empty value appearing in NullFields will be sent to the server as
2893	// null. It is an error if a field in this list has a non-empty value.
2894	// This may be used to include null fields in Patch requests.
2895	NullFields []string `json:"-"`
2896}
2897
2898func (s *City) MarshalJSON() ([]byte, error) {
2899	type NoMethod City
2900	raw := NoMethod(*s)
2901	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2902}
2903
2904// ClickTag: Creative Click Tag.
2905type ClickTag struct {
2906	// ClickThroughUrl: Parameter value for the specified click tag. This
2907	// field contains a click-through url.
2908	ClickThroughUrl *CreativeClickThroughUrl `json:"clickThroughUrl,omitempty"`
2909
2910	// EventName: Advertiser event name associated with the click tag. This
2911	// field is used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives.
2912	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
2913	EventName string `json:"eventName,omitempty"`
2914
2915	// Name: Parameter name for the specified click tag. For
2916	// DISPLAY_IMAGE_GALLERY creative assets, this field must match the
2917	// value of the creative asset's creativeAssetId.name field.
2918	Name string `json:"name,omitempty"`
2919
2920	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
2921	// unconditionally include in API requests. By default, fields with
2922	// empty values are omitted from API requests. However, any non-pointer,
2923	// non-interface field appearing in ForceSendFields will be sent to the
2924	// server regardless of whether the field is empty or not. This may be
2925	// used to include empty fields in Patch requests.
2926	ForceSendFields []string `json:"-"`
2927
2928	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
2929	// include in API requests with the JSON null value. By default, fields
2930	// with empty values are omitted from API requests. However, any field
2931	// with an empty value appearing in NullFields will be sent to the
2932	// server as null. It is an error if a field in this list has a
2933	// non-empty value. This may be used to include null fields in Patch
2934	// requests.
2935	NullFields []string `json:"-"`
2936}
2937
2938func (s *ClickTag) MarshalJSON() ([]byte, error) {
2939	type NoMethod ClickTag
2940	raw := NoMethod(*s)
2941	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2942}
2943
2944// ClickThroughUrl: Click-through URL
2945type ClickThroughUrl struct {
2946	// ComputedClickThroughUrl: Read-only convenience field representing the
2947	// actual URL that will be used for this click-through. The URL is
2948	// computed as follows:
2949	// - If defaultLandingPage is enabled then the campaign's default
2950	// landing page URL is assigned to this field.
2951	// - If defaultLandingPage is not enabled and a landingPageId is
2952	// specified then that landing page's URL is assigned to this field.
2953	// - If neither of the above cases apply, then the customClickThroughUrl
2954	// is assigned to this field.
2955	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
2956
2957	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
2958	// defaultLandingPage field is set to false and the landingPageId field
2959	// is left unset.
2960	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
2961
2962	// DefaultLandingPage: Whether the campaign default landing page is
2963	// used.
2964	DefaultLandingPage bool `json:"defaultLandingPage,omitempty"`
2965
2966	// LandingPageId: ID of the landing page for the click-through URL.
2967	// Applicable if the defaultLandingPage field is set to false.
2968	LandingPageId int64 `json:"landingPageId,omitempty,string"`
2969
2970	// ForceSendFields is a list of field names (e.g.
2971	// "ComputedClickThroughUrl") to unconditionally include in API
2972	// requests. By default, fields with empty values are omitted from API
2973	// requests. However, any non-pointer, non-interface field appearing in
2974	// ForceSendFields will be sent to the server regardless of whether the
2975	// field is empty or not. This may be used to include empty fields in
2976	// Patch requests.
2977	ForceSendFields []string `json:"-"`
2978
2979	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
2980	// to include in API requests with the JSON null value. By default,
2981	// fields with empty values are omitted from API requests. However, any
2982	// field with an empty value appearing in NullFields will be sent to the
2983	// server as null. It is an error if a field in this list has a
2984	// non-empty value. This may be used to include null fields in Patch
2985	// requests.
2986	NullFields []string `json:"-"`
2987}
2988
2989func (s *ClickThroughUrl) MarshalJSON() ([]byte, error) {
2990	type NoMethod ClickThroughUrl
2991	raw := NoMethod(*s)
2992	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2993}
2994
2995// ClickThroughUrlSuffixProperties: Click Through URL Suffix settings.
2996type ClickThroughUrlSuffixProperties struct {
2997	// ClickThroughUrlSuffix: Click-through URL suffix to apply to all ads
2998	// in this entity's scope. Must be less than 128 characters long.
2999	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
3000
3001	// OverrideInheritedSuffix: Whether this entity should override the
3002	// inherited click-through URL suffix with its own defined value.
3003	OverrideInheritedSuffix bool `json:"overrideInheritedSuffix,omitempty"`
3004
3005	// ForceSendFields is a list of field names (e.g.
3006	// "ClickThroughUrlSuffix") to unconditionally include in API requests.
3007	// By default, fields with empty values are omitted from API requests.
3008	// However, any non-pointer, non-interface field appearing in
3009	// ForceSendFields will be sent to the server regardless of whether the
3010	// field is empty or not. This may be used to include empty fields in
3011	// Patch requests.
3012	ForceSendFields []string `json:"-"`
3013
3014	// NullFields is a list of field names (e.g. "ClickThroughUrlSuffix") to
3015	// include in API requests with the JSON null value. By default, fields
3016	// with empty values are omitted from API requests. However, any field
3017	// with an empty value appearing in NullFields will be sent to the
3018	// server as null. It is an error if a field in this list has a
3019	// non-empty value. This may be used to include null fields in Patch
3020	// requests.
3021	NullFields []string `json:"-"`
3022}
3023
3024func (s *ClickThroughUrlSuffixProperties) MarshalJSON() ([]byte, error) {
3025	type NoMethod ClickThroughUrlSuffixProperties
3026	raw := NoMethod(*s)
3027	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3028}
3029
3030// CompanionClickThroughOverride: Companion Click-through override.
3031type CompanionClickThroughOverride struct {
3032	// ClickThroughUrl: Click-through URL of this companion click-through
3033	// override.
3034	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
3035
3036	// CreativeId: ID of the creative for this companion click-through
3037	// override.
3038	CreativeId int64 `json:"creativeId,omitempty,string"`
3039
3040	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
3041	// unconditionally include in API requests. By default, fields with
3042	// empty values are omitted from API requests. However, any non-pointer,
3043	// non-interface field appearing in ForceSendFields will be sent to the
3044	// server regardless of whether the field is empty or not. This may be
3045	// used to include empty fields in Patch requests.
3046	ForceSendFields []string `json:"-"`
3047
3048	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
3049	// include in API requests with the JSON null value. By default, fields
3050	// with empty values are omitted from API requests. However, any field
3051	// with an empty value appearing in NullFields will be sent to the
3052	// server as null. It is an error if a field in this list has a
3053	// non-empty value. This may be used to include null fields in Patch
3054	// requests.
3055	NullFields []string `json:"-"`
3056}
3057
3058func (s *CompanionClickThroughOverride) MarshalJSON() ([]byte, error) {
3059	type NoMethod CompanionClickThroughOverride
3060	raw := NoMethod(*s)
3061	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3062}
3063
3064// CompanionSetting: Companion Settings
3065type CompanionSetting struct {
3066	// CompanionsDisabled: Whether companions are disabled for this
3067	// placement.
3068	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
3069
3070	// EnabledSizes: Whitelist of companion sizes to be served to this
3071	// placement. Set this list to null or empty to serve all companion
3072	// sizes.
3073	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
3074
3075	// ImageOnly: Whether to serve only static images as companions.
3076	ImageOnly bool `json:"imageOnly,omitempty"`
3077
3078	// Kind: Identifies what kind of resource this is. Value: the fixed
3079	// string "dfareporting#companionSetting".
3080	Kind string `json:"kind,omitempty"`
3081
3082	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
3083	// to unconditionally include in API requests. By default, fields with
3084	// empty values are omitted from API requests. However, any non-pointer,
3085	// non-interface field appearing in ForceSendFields will be sent to the
3086	// server regardless of whether the field is empty or not. This may be
3087	// used to include empty fields in Patch requests.
3088	ForceSendFields []string `json:"-"`
3089
3090	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
3091	// include in API requests with the JSON null value. By default, fields
3092	// with empty values are omitted from API requests. However, any field
3093	// with an empty value appearing in NullFields will be sent to the
3094	// server as null. It is an error if a field in this list has a
3095	// non-empty value. This may be used to include null fields in Patch
3096	// requests.
3097	NullFields []string `json:"-"`
3098}
3099
3100func (s *CompanionSetting) MarshalJSON() ([]byte, error) {
3101	type NoMethod CompanionSetting
3102	raw := NoMethod(*s)
3103	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3104}
3105
3106// CompatibleFields: Represents a response to the queryCompatibleFields
3107// method.
3108type CompatibleFields struct {
3109	// CrossDimensionReachReportCompatibleFields: Contains items that are
3110	// compatible to be selected for a report of type
3111	// "CROSS_DIMENSION_REACH".
3112	CrossDimensionReachReportCompatibleFields *CrossDimensionReachReportCompatibleFields `json:"crossDimensionReachReportCompatibleFields,omitempty"`
3113
3114	// FloodlightReportCompatibleFields: Contains items that are compatible
3115	// to be selected for a report of type "FLOODLIGHT".
3116	FloodlightReportCompatibleFields *FloodlightReportCompatibleFields `json:"floodlightReportCompatibleFields,omitempty"`
3117
3118	// Kind: The kind of resource this is, in this case
3119	// dfareporting#compatibleFields.
3120	Kind string `json:"kind,omitempty"`
3121
3122	// PathToConversionReportCompatibleFields: Contains items that are
3123	// compatible to be selected for a report of type "PATH_TO_CONVERSION".
3124	PathToConversionReportCompatibleFields *PathToConversionReportCompatibleFields `json:"pathToConversionReportCompatibleFields,omitempty"`
3125
3126	// ReachReportCompatibleFields: Contains items that are compatible to be
3127	// selected for a report of type "REACH".
3128	ReachReportCompatibleFields *ReachReportCompatibleFields `json:"reachReportCompatibleFields,omitempty"`
3129
3130	// ReportCompatibleFields: Contains items that are compatible to be
3131	// selected for a report of type "STANDARD".
3132	ReportCompatibleFields *ReportCompatibleFields `json:"reportCompatibleFields,omitempty"`
3133
3134	// ServerResponse contains the HTTP response code and headers from the
3135	// server.
3136	googleapi.ServerResponse `json:"-"`
3137
3138	// ForceSendFields is a list of field names (e.g.
3139	// "CrossDimensionReachReportCompatibleFields") to unconditionally
3140	// include in API requests. By default, fields with empty values are
3141	// omitted from API requests. However, any non-pointer, non-interface
3142	// field appearing in ForceSendFields will be sent to the server
3143	// regardless of whether the field is empty or not. This may be used to
3144	// include empty fields in Patch requests.
3145	ForceSendFields []string `json:"-"`
3146
3147	// NullFields is a list of field names (e.g.
3148	// "CrossDimensionReachReportCompatibleFields") to include in API
3149	// requests with the JSON null value. By default, fields with empty
3150	// values are omitted from API requests. However, any field with an
3151	// empty value appearing in NullFields will be sent to the server as
3152	// null. It is an error if a field in this list has a non-empty value.
3153	// This may be used to include null fields in Patch requests.
3154	NullFields []string `json:"-"`
3155}
3156
3157func (s *CompatibleFields) MarshalJSON() ([]byte, error) {
3158	type NoMethod CompatibleFields
3159	raw := NoMethod(*s)
3160	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3161}
3162
3163// ConnectionType: Contains information about an internet connection
3164// type that can be targeted by ads. Clients can use the connection type
3165// to target mobile vs. broadband users.
3166type ConnectionType struct {
3167	// Id: ID of this connection type.
3168	Id int64 `json:"id,omitempty,string"`
3169
3170	// Kind: Identifies what kind of resource this is. Value: the fixed
3171	// string "dfareporting#connectionType".
3172	Kind string `json:"kind,omitempty"`
3173
3174	// Name: Name of this connection type.
3175	Name string `json:"name,omitempty"`
3176
3177	// ServerResponse contains the HTTP response code and headers from the
3178	// server.
3179	googleapi.ServerResponse `json:"-"`
3180
3181	// ForceSendFields is a list of field names (e.g. "Id") to
3182	// unconditionally include in API requests. By default, fields with
3183	// empty values are omitted from API requests. However, any non-pointer,
3184	// non-interface field appearing in ForceSendFields will be sent to the
3185	// server regardless of whether the field is empty or not. This may be
3186	// used to include empty fields in Patch requests.
3187	ForceSendFields []string `json:"-"`
3188
3189	// NullFields is a list of field names (e.g. "Id") to include in API
3190	// requests with the JSON null value. By default, fields with empty
3191	// values are omitted from API requests. However, any field with an
3192	// empty value appearing in NullFields will be sent to the server as
3193	// null. It is an error if a field in this list has a non-empty value.
3194	// This may be used to include null fields in Patch requests.
3195	NullFields []string `json:"-"`
3196}
3197
3198func (s *ConnectionType) MarshalJSON() ([]byte, error) {
3199	type NoMethod ConnectionType
3200	raw := NoMethod(*s)
3201	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3202}
3203
3204// ConnectionTypesListResponse: Connection Type List Response
3205type ConnectionTypesListResponse struct {
3206	// ConnectionTypes: Collection of connection types such as broadband and
3207	// mobile.
3208	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
3209
3210	// Kind: Identifies what kind of resource this is. Value: the fixed
3211	// string "dfareporting#connectionTypesListResponse".
3212	Kind string `json:"kind,omitempty"`
3213
3214	// ServerResponse contains the HTTP response code and headers from the
3215	// server.
3216	googleapi.ServerResponse `json:"-"`
3217
3218	// ForceSendFields is a list of field names (e.g. "ConnectionTypes") to
3219	// unconditionally include in API requests. By default, fields with
3220	// empty values are omitted from API requests. However, any non-pointer,
3221	// non-interface field appearing in ForceSendFields will be sent to the
3222	// server regardless of whether the field is empty or not. This may be
3223	// used to include empty fields in Patch requests.
3224	ForceSendFields []string `json:"-"`
3225
3226	// NullFields is a list of field names (e.g. "ConnectionTypes") to
3227	// include in API requests with the JSON null value. By default, fields
3228	// with empty values are omitted from API requests. However, any field
3229	// with an empty value appearing in NullFields will be sent to the
3230	// server as null. It is an error if a field in this list has a
3231	// non-empty value. This may be used to include null fields in Patch
3232	// requests.
3233	NullFields []string `json:"-"`
3234}
3235
3236func (s *ConnectionTypesListResponse) MarshalJSON() ([]byte, error) {
3237	type NoMethod ConnectionTypesListResponse
3238	raw := NoMethod(*s)
3239	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3240}
3241
3242// ContentCategoriesListResponse: Content Category List Response
3243type ContentCategoriesListResponse struct {
3244	// ContentCategories: Content category collection.
3245	ContentCategories []*ContentCategory `json:"contentCategories,omitempty"`
3246
3247	// Kind: Identifies what kind of resource this is. Value: the fixed
3248	// string "dfareporting#contentCategoriesListResponse".
3249	Kind string `json:"kind,omitempty"`
3250
3251	// NextPageToken: Pagination token to be used for the next list
3252	// operation.
3253	NextPageToken string `json:"nextPageToken,omitempty"`
3254
3255	// ServerResponse contains the HTTP response code and headers from the
3256	// server.
3257	googleapi.ServerResponse `json:"-"`
3258
3259	// ForceSendFields is a list of field names (e.g. "ContentCategories")
3260	// to unconditionally include in API requests. By default, fields with
3261	// empty values are omitted from API requests. However, any non-pointer,
3262	// non-interface field appearing in ForceSendFields will be sent to the
3263	// server regardless of whether the field is empty or not. This may be
3264	// used to include empty fields in Patch requests.
3265	ForceSendFields []string `json:"-"`
3266
3267	// NullFields is a list of field names (e.g. "ContentCategories") to
3268	// include in API requests with the JSON null value. By default, fields
3269	// with empty values are omitted from API requests. However, any field
3270	// with an empty value appearing in NullFields will be sent to the
3271	// server as null. It is an error if a field in this list has a
3272	// non-empty value. This may be used to include null fields in Patch
3273	// requests.
3274	NullFields []string `json:"-"`
3275}
3276
3277func (s *ContentCategoriesListResponse) MarshalJSON() ([]byte, error) {
3278	type NoMethod ContentCategoriesListResponse
3279	raw := NoMethod(*s)
3280	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3281}
3282
3283// ContentCategory: Organizes placements according to the contents of
3284// their associated webpages.
3285type ContentCategory struct {
3286	// AccountId: Account ID of this content category. This is a read-only
3287	// field that can be left blank.
3288	AccountId int64 `json:"accountId,omitempty,string"`
3289
3290	// Id: ID of this content category. This is a read-only, auto-generated
3291	// field.
3292	Id int64 `json:"id,omitempty,string"`
3293
3294	// Kind: Identifies what kind of resource this is. Value: the fixed
3295	// string "dfareporting#contentCategory".
3296	Kind string `json:"kind,omitempty"`
3297
3298	// Name: Name of this content category. This is a required field and
3299	// must be less than 256 characters long and unique among content
3300	// categories of the same account.
3301	Name string `json:"name,omitempty"`
3302
3303	// ServerResponse contains the HTTP response code and headers from the
3304	// server.
3305	googleapi.ServerResponse `json:"-"`
3306
3307	// ForceSendFields is a list of field names (e.g. "AccountId") to
3308	// unconditionally include in API requests. By default, fields with
3309	// empty values are omitted from API requests. However, any non-pointer,
3310	// non-interface field appearing in ForceSendFields will be sent to the
3311	// server regardless of whether the field is empty or not. This may be
3312	// used to include empty fields in Patch requests.
3313	ForceSendFields []string `json:"-"`
3314
3315	// NullFields is a list of field names (e.g. "AccountId") to include in
3316	// API requests with the JSON null value. By default, fields with empty
3317	// values are omitted from API requests. However, any field with an
3318	// empty value appearing in NullFields will be sent to the server as
3319	// null. It is an error if a field in this list has a non-empty value.
3320	// This may be used to include null fields in Patch requests.
3321	NullFields []string `json:"-"`
3322}
3323
3324func (s *ContentCategory) MarshalJSON() ([]byte, error) {
3325	type NoMethod ContentCategory
3326	raw := NoMethod(*s)
3327	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3328}
3329
3330// Conversion: A Conversion represents when a user successfully performs
3331// a desired action after seeing an ad.
3332type Conversion struct {
3333	// ChildDirectedTreatment: Whether this particular request may come from
3334	// a user under the age of 13, under COPPA compliance.
3335	ChildDirectedTreatment bool `json:"childDirectedTreatment,omitempty"`
3336
3337	// CustomVariables: Custom floodlight variables.
3338	CustomVariables []*CustomFloodlightVariable `json:"customVariables,omitempty"`
3339
3340	// EncryptedUserId: The alphanumeric encrypted user ID. When set,
3341	// encryptionInfo should also be specified. This field is mutually
3342	// exclusive with encryptedUserIdCandidates[], matchId, mobileDeviceId
3343	// and gclid. This or encryptedUserIdCandidates[] or matchId or
3344	// mobileDeviceId or gclid is a required field.
3345	EncryptedUserId string `json:"encryptedUserId,omitempty"`
3346
3347	// EncryptedUserIdCandidates: A list of the alphanumeric encrypted user
3348	// IDs. Any user ID with exposure prior to the conversion timestamp will
3349	// be used in the inserted conversion. If no such user ID is found then
3350	// the conversion will be rejected with INVALID_ARGUMENT error. When
3351	// set, encryptionInfo should also be specified. This field may only be
3352	// used when calling batchinsert; it is not supported by batchupdate.
3353	// This field is mutually exclusive with encryptedUserId, matchId,
3354	// mobileDeviceId and gclid. This or encryptedUserId or matchId or
3355	// mobileDeviceId or gclid is a required field.
3356	EncryptedUserIdCandidates []string `json:"encryptedUserIdCandidates,omitempty"`
3357
3358	// FloodlightActivityId: Floodlight Activity ID of this conversion. This
3359	// is a required field.
3360	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
3361
3362	// FloodlightConfigurationId: Floodlight Configuration ID of this
3363	// conversion. This is a required field.
3364	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
3365
3366	// Gclid: The Google click ID. This field is mutually exclusive with
3367	// encryptedUserId, encryptedUserIdCandidates[], matchId and
3368	// mobileDeviceId. This or encryptedUserId or
3369	// encryptedUserIdCandidates[] or matchId or mobileDeviceId is a
3370	// required field.
3371	Gclid string `json:"gclid,omitempty"`
3372
3373	// Kind: Identifies what kind of resource this is. Value: the fixed
3374	// string "dfareporting#conversion".
3375	Kind string `json:"kind,omitempty"`
3376
3377	// LimitAdTracking: Whether Limit Ad Tracking is enabled. When set to
3378	// true, the conversion will be used for reporting but not targeting.
3379	// This will prevent remarketing.
3380	LimitAdTracking bool `json:"limitAdTracking,omitempty"`
3381
3382	// MatchId: The match ID field. A match ID is your own first-party
3383	// identifier that has been synced with Google using the match ID
3384	// feature in Floodlight. This field is mutually exclusive with
3385	// encryptedUserId, encryptedUserIdCandidates[],mobileDeviceId and
3386	// gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
3387	// mobileDeviceId or gclid is a required field.
3388	MatchId string `json:"matchId,omitempty"`
3389
3390	// MobileDeviceId: The mobile device ID. This field is mutually
3391	// exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId
3392	// and gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
3393	// matchId or gclid is a required field.
3394	MobileDeviceId string `json:"mobileDeviceId,omitempty"`
3395
3396	// NonPersonalizedAd: Whether the conversion was for a non personalized
3397	// ad.
3398	NonPersonalizedAd bool `json:"nonPersonalizedAd,omitempty"`
3399
3400	// Ordinal: The ordinal of the conversion. Use this field to control how
3401	// conversions of the same user and day are de-duplicated. This is a
3402	// required field.
3403	Ordinal string `json:"ordinal,omitempty"`
3404
3405	// Quantity: The quantity of the conversion.
3406	Quantity int64 `json:"quantity,omitempty,string"`
3407
3408	// TimestampMicros: The timestamp of conversion, in Unix epoch micros.
3409	// This is a required field.
3410	TimestampMicros int64 `json:"timestampMicros,omitempty,string"`
3411
3412	// TreatmentForUnderage: Whether this particular request may come from a
3413	// user under the age of 16 (may differ by country), under compliance
3414	// with the European Union's General Data Protection Regulation (GDPR).
3415	TreatmentForUnderage bool `json:"treatmentForUnderage,omitempty"`
3416
3417	// Value: The value of the conversion.
3418	Value float64 `json:"value,omitempty"`
3419
3420	// ForceSendFields is a list of field names (e.g.
3421	// "ChildDirectedTreatment") to unconditionally include in API requests.
3422	// By default, fields with empty values are omitted from API requests.
3423	// However, any non-pointer, non-interface field appearing in
3424	// ForceSendFields will be sent to the server regardless of whether the
3425	// field is empty or not. This may be used to include empty fields in
3426	// Patch requests.
3427	ForceSendFields []string `json:"-"`
3428
3429	// NullFields is a list of field names (e.g. "ChildDirectedTreatment")
3430	// to include in API requests with the JSON null value. By default,
3431	// fields with empty values are omitted from API requests. However, any
3432	// field with an empty value appearing in NullFields will be sent to the
3433	// server as null. It is an error if a field in this list has a
3434	// non-empty value. This may be used to include null fields in Patch
3435	// requests.
3436	NullFields []string `json:"-"`
3437}
3438
3439func (s *Conversion) MarshalJSON() ([]byte, error) {
3440	type NoMethod Conversion
3441	raw := NoMethod(*s)
3442	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3443}
3444
3445func (s *Conversion) UnmarshalJSON(data []byte) error {
3446	type NoMethod Conversion
3447	var s1 struct {
3448		Value gensupport.JSONFloat64 `json:"value"`
3449		*NoMethod
3450	}
3451	s1.NoMethod = (*NoMethod)(s)
3452	if err := json.Unmarshal(data, &s1); err != nil {
3453		return err
3454	}
3455	s.Value = float64(s1.Value)
3456	return nil
3457}
3458
3459// ConversionError: The error code and description for a conversion that
3460// failed to insert or update.
3461type ConversionError struct {
3462	// Code: The error code.
3463	//
3464	// Possible values:
3465	//   "INTERNAL"
3466	//   "INVALID_ARGUMENT"
3467	//   "NOT_FOUND"
3468	//   "PERMISSION_DENIED"
3469	Code string `json:"code,omitempty"`
3470
3471	// Kind: Identifies what kind of resource this is. Value: the fixed
3472	// string "dfareporting#conversionError".
3473	Kind string `json:"kind,omitempty"`
3474
3475	// Message: A description of the error.
3476	Message string `json:"message,omitempty"`
3477
3478	// ForceSendFields is a list of field names (e.g. "Code") to
3479	// unconditionally include in API requests. By default, fields with
3480	// empty values are omitted from API requests. However, any non-pointer,
3481	// non-interface field appearing in ForceSendFields will be sent to the
3482	// server regardless of whether the field is empty or not. This may be
3483	// used to include empty fields in Patch requests.
3484	ForceSendFields []string `json:"-"`
3485
3486	// NullFields is a list of field names (e.g. "Code") to include in API
3487	// requests with the JSON null value. By default, fields with empty
3488	// values are omitted from API requests. However, any field with an
3489	// empty value appearing in NullFields will be sent to the server as
3490	// null. It is an error if a field in this list has a non-empty value.
3491	// This may be used to include null fields in Patch requests.
3492	NullFields []string `json:"-"`
3493}
3494
3495func (s *ConversionError) MarshalJSON() ([]byte, error) {
3496	type NoMethod ConversionError
3497	raw := NoMethod(*s)
3498	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3499}
3500
3501// ConversionStatus: The original conversion that was inserted or
3502// updated and whether there were any errors.
3503type ConversionStatus struct {
3504	// Conversion: The original conversion that was inserted or updated.
3505	Conversion *Conversion `json:"conversion,omitempty"`
3506
3507	// Errors: A list of errors related to this conversion.
3508	Errors []*ConversionError `json:"errors,omitempty"`
3509
3510	// Kind: Identifies what kind of resource this is. Value: the fixed
3511	// string "dfareporting#conversionStatus".
3512	Kind string `json:"kind,omitempty"`
3513
3514	// ForceSendFields is a list of field names (e.g. "Conversion") to
3515	// unconditionally include in API requests. By default, fields with
3516	// empty values are omitted from API requests. However, any non-pointer,
3517	// non-interface field appearing in ForceSendFields will be sent to the
3518	// server regardless of whether the field is empty or not. This may be
3519	// used to include empty fields in Patch requests.
3520	ForceSendFields []string `json:"-"`
3521
3522	// NullFields is a list of field names (e.g. "Conversion") to include in
3523	// API requests with the JSON null value. By default, fields with empty
3524	// values are omitted from API requests. However, any field with an
3525	// empty value appearing in NullFields will be sent to the server as
3526	// null. It is an error if a field in this list has a non-empty value.
3527	// This may be used to include null fields in Patch requests.
3528	NullFields []string `json:"-"`
3529}
3530
3531func (s *ConversionStatus) MarshalJSON() ([]byte, error) {
3532	type NoMethod ConversionStatus
3533	raw := NoMethod(*s)
3534	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3535}
3536
3537// ConversionsBatchInsertRequest: Insert Conversions Request.
3538type ConversionsBatchInsertRequest struct {
3539	// Conversions: The set of conversions to insert.
3540	Conversions []*Conversion `json:"conversions,omitempty"`
3541
3542	// EncryptionInfo: Describes how encryptedUserId or
3543	// encryptedUserIdCandidates[] is encrypted. This is a required field if
3544	// encryptedUserId or encryptedUserIdCandidates[] is used.
3545	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
3546
3547	// Kind: Identifies what kind of resource this is. Value: the fixed
3548	// string "dfareporting#conversionsBatchInsertRequest".
3549	Kind string `json:"kind,omitempty"`
3550
3551	// ForceSendFields is a list of field names (e.g. "Conversions") to
3552	// unconditionally include in API requests. By default, fields with
3553	// empty values are omitted from API requests. However, any non-pointer,
3554	// non-interface field appearing in ForceSendFields will be sent to the
3555	// server regardless of whether the field is empty or not. This may be
3556	// used to include empty fields in Patch requests.
3557	ForceSendFields []string `json:"-"`
3558
3559	// NullFields is a list of field names (e.g. "Conversions") to include
3560	// in API requests with the JSON null value. By default, fields with
3561	// empty values are omitted from API requests. However, any field with
3562	// an empty value appearing in NullFields will be sent to the server as
3563	// null. It is an error if a field in this list has a non-empty value.
3564	// This may be used to include null fields in Patch requests.
3565	NullFields []string `json:"-"`
3566}
3567
3568func (s *ConversionsBatchInsertRequest) MarshalJSON() ([]byte, error) {
3569	type NoMethod ConversionsBatchInsertRequest
3570	raw := NoMethod(*s)
3571	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3572}
3573
3574// ConversionsBatchInsertResponse: Insert Conversions Response.
3575type ConversionsBatchInsertResponse struct {
3576	// HasFailures: Indicates that some or all conversions failed to insert.
3577	HasFailures bool `json:"hasFailures,omitempty"`
3578
3579	// Kind: Identifies what kind of resource this is. Value: the fixed
3580	// string "dfareporting#conversionsBatchInsertResponse".
3581	Kind string `json:"kind,omitempty"`
3582
3583	// Status: The insert status of each conversion. Statuses are returned
3584	// in the same order that conversions are inserted.
3585	Status []*ConversionStatus `json:"status,omitempty"`
3586
3587	// ServerResponse contains the HTTP response code and headers from the
3588	// server.
3589	googleapi.ServerResponse `json:"-"`
3590
3591	// ForceSendFields is a list of field names (e.g. "HasFailures") to
3592	// unconditionally include in API requests. By default, fields with
3593	// empty values are omitted from API requests. However, any non-pointer,
3594	// non-interface field appearing in ForceSendFields will be sent to the
3595	// server regardless of whether the field is empty or not. This may be
3596	// used to include empty fields in Patch requests.
3597	ForceSendFields []string `json:"-"`
3598
3599	// NullFields is a list of field names (e.g. "HasFailures") to include
3600	// in API requests with the JSON null value. By default, fields with
3601	// empty values are omitted from API requests. However, any field with
3602	// an empty value appearing in NullFields will be sent to the server as
3603	// null. It is an error if a field in this list has a non-empty value.
3604	// This may be used to include null fields in Patch requests.
3605	NullFields []string `json:"-"`
3606}
3607
3608func (s *ConversionsBatchInsertResponse) MarshalJSON() ([]byte, error) {
3609	type NoMethod ConversionsBatchInsertResponse
3610	raw := NoMethod(*s)
3611	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3612}
3613
3614// ConversionsBatchUpdateRequest: Update Conversions Request.
3615type ConversionsBatchUpdateRequest struct {
3616	// Conversions: The set of conversions to update.
3617	Conversions []*Conversion `json:"conversions,omitempty"`
3618
3619	// EncryptionInfo: Describes how encryptedUserId is encrypted. This is a
3620	// required field if encryptedUserId is used.
3621	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
3622
3623	// Kind: Identifies what kind of resource this is. Value: the fixed
3624	// string "dfareporting#conversionsBatchUpdateRequest".
3625	Kind string `json:"kind,omitempty"`
3626
3627	// ForceSendFields is a list of field names (e.g. "Conversions") to
3628	// unconditionally include in API requests. By default, fields with
3629	// empty values are omitted from API requests. However, any non-pointer,
3630	// non-interface field appearing in ForceSendFields will be sent to the
3631	// server regardless of whether the field is empty or not. This may be
3632	// used to include empty fields in Patch requests.
3633	ForceSendFields []string `json:"-"`
3634
3635	// NullFields is a list of field names (e.g. "Conversions") to include
3636	// in API requests with the JSON null value. By default, fields with
3637	// empty values are omitted from API requests. However, any field with
3638	// an empty value appearing in NullFields will be sent to the server as
3639	// null. It is an error if a field in this list has a non-empty value.
3640	// This may be used to include null fields in Patch requests.
3641	NullFields []string `json:"-"`
3642}
3643
3644func (s *ConversionsBatchUpdateRequest) MarshalJSON() ([]byte, error) {
3645	type NoMethod ConversionsBatchUpdateRequest
3646	raw := NoMethod(*s)
3647	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3648}
3649
3650// ConversionsBatchUpdateResponse: Update Conversions Response.
3651type ConversionsBatchUpdateResponse struct {
3652	// HasFailures: Indicates that some or all conversions failed to update.
3653	HasFailures bool `json:"hasFailures,omitempty"`
3654
3655	// Kind: Identifies what kind of resource this is. Value: the fixed
3656	// string "dfareporting#conversionsBatchUpdateResponse".
3657	Kind string `json:"kind,omitempty"`
3658
3659	// Status: The update status of each conversion. Statuses are returned
3660	// in the same order that conversions are updated.
3661	Status []*ConversionStatus `json:"status,omitempty"`
3662
3663	// ServerResponse contains the HTTP response code and headers from the
3664	// server.
3665	googleapi.ServerResponse `json:"-"`
3666
3667	// ForceSendFields is a list of field names (e.g. "HasFailures") to
3668	// unconditionally include in API requests. By default, fields with
3669	// empty values are omitted from API requests. However, any non-pointer,
3670	// non-interface field appearing in ForceSendFields will be sent to the
3671	// server regardless of whether the field is empty or not. This may be
3672	// used to include empty fields in Patch requests.
3673	ForceSendFields []string `json:"-"`
3674
3675	// NullFields is a list of field names (e.g. "HasFailures") to include
3676	// in API requests with the JSON null value. By default, fields with
3677	// empty values are omitted from API requests. However, any field with
3678	// an empty value appearing in NullFields will be sent to the server as
3679	// null. It is an error if a field in this list has a non-empty value.
3680	// This may be used to include null fields in Patch requests.
3681	NullFields []string `json:"-"`
3682}
3683
3684func (s *ConversionsBatchUpdateResponse) MarshalJSON() ([]byte, error) {
3685	type NoMethod ConversionsBatchUpdateResponse
3686	raw := NoMethod(*s)
3687	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3688}
3689
3690// CountriesListResponse: Country List Response
3691type CountriesListResponse struct {
3692	// Countries: Country collection.
3693	Countries []*Country `json:"countries,omitempty"`
3694
3695	// Kind: Identifies what kind of resource this is. Value: the fixed
3696	// string "dfareporting#countriesListResponse".
3697	Kind string `json:"kind,omitempty"`
3698
3699	// ServerResponse contains the HTTP response code and headers from the
3700	// server.
3701	googleapi.ServerResponse `json:"-"`
3702
3703	// ForceSendFields is a list of field names (e.g. "Countries") to
3704	// unconditionally include in API requests. By default, fields with
3705	// empty values are omitted from API requests. However, any non-pointer,
3706	// non-interface field appearing in ForceSendFields will be sent to the
3707	// server regardless of whether the field is empty or not. This may be
3708	// used to include empty fields in Patch requests.
3709	ForceSendFields []string `json:"-"`
3710
3711	// NullFields is a list of field names (e.g. "Countries") to include in
3712	// API requests with the JSON null value. By default, fields with empty
3713	// values are omitted from API requests. However, any field with an
3714	// empty value appearing in NullFields will be sent to the server as
3715	// null. It is an error if a field in this list has a non-empty value.
3716	// This may be used to include null fields in Patch requests.
3717	NullFields []string `json:"-"`
3718}
3719
3720func (s *CountriesListResponse) MarshalJSON() ([]byte, error) {
3721	type NoMethod CountriesListResponse
3722	raw := NoMethod(*s)
3723	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3724}
3725
3726// Country: Contains information about a country that can be targeted by
3727// ads.
3728type Country struct {
3729	// CountryCode: Country code.
3730	CountryCode string `json:"countryCode,omitempty"`
3731
3732	// DartId: DART ID of this country. This is the ID used for targeting
3733	// and generating reports.
3734	DartId int64 `json:"dartId,omitempty,string"`
3735
3736	// Kind: Identifies what kind of resource this is. Value: the fixed
3737	// string "dfareporting#country".
3738	Kind string `json:"kind,omitempty"`
3739
3740	// Name: Name of this country.
3741	Name string `json:"name,omitempty"`
3742
3743	// SslEnabled: Whether ad serving supports secure servers in this
3744	// country.
3745	SslEnabled bool `json:"sslEnabled,omitempty"`
3746
3747	// ServerResponse contains the HTTP response code and headers from the
3748	// server.
3749	googleapi.ServerResponse `json:"-"`
3750
3751	// ForceSendFields is a list of field names (e.g. "CountryCode") to
3752	// unconditionally include in API requests. By default, fields with
3753	// empty values are omitted from API requests. However, any non-pointer,
3754	// non-interface field appearing in ForceSendFields will be sent to the
3755	// server regardless of whether the field is empty or not. This may be
3756	// used to include empty fields in Patch requests.
3757	ForceSendFields []string `json:"-"`
3758
3759	// NullFields is a list of field names (e.g. "CountryCode") to include
3760	// in API requests with the JSON null value. By default, fields with
3761	// empty values are omitted from API requests. However, any field with
3762	// an empty value appearing in NullFields will be sent to the server as
3763	// null. It is an error if a field in this list has a non-empty value.
3764	// This may be used to include null fields in Patch requests.
3765	NullFields []string `json:"-"`
3766}
3767
3768func (s *Country) MarshalJSON() ([]byte, error) {
3769	type NoMethod Country
3770	raw := NoMethod(*s)
3771	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3772}
3773
3774// Creative: Contains properties of a Creative.
3775type Creative struct {
3776	// AccountId: Account ID of this creative. This field, if left unset,
3777	// will be auto-generated for both insert and update operations.
3778	// Applicable to all creative types.
3779	AccountId int64 `json:"accountId,omitempty,string"`
3780
3781	// Active: Whether the creative is active. Applicable to all creative
3782	// types.
3783	Active bool `json:"active,omitempty"`
3784
3785	// AdParameters: Ad parameters user for VPAID creative. This is a
3786	// read-only field. Applicable to the following creative types: all
3787	// VPAID.
3788	AdParameters string `json:"adParameters,omitempty"`
3789
3790	// AdTagKeys: Keywords for a Rich Media creative. Keywords let you
3791	// customize the creative settings of a Rich Media ad running on your
3792	// site without having to contact the advertiser. You can use keywords
3793	// to dynamically change the look or functionality of a creative.
3794	// Applicable to the following creative types: all RICH_MEDIA, and all
3795	// VPAID.
3796	AdTagKeys []string `json:"adTagKeys,omitempty"`
3797
3798	// AdditionalSizes: Additional sizes associated with a responsive
3799	// creative. When inserting or updating a creative either the size ID
3800	// field or size width and height fields can be used. Applicable to
3801	// DISPLAY creatives when the primary asset type is HTML_IMAGE.
3802	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
3803
3804	// AdvertiserId: Advertiser ID of this creative. This is a required
3805	// field. Applicable to all creative types.
3806	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
3807
3808	// AllowScriptAccess: Whether script access is allowed for this
3809	// creative. This is a read-only and deprecated field which will
3810	// automatically be set to true on update. Applicable to the following
3811	// creative types: FLASH_INPAGE.
3812	AllowScriptAccess bool `json:"allowScriptAccess,omitempty"`
3813
3814	// Archived: Whether the creative is archived. Applicable to all
3815	// creative types.
3816	Archived bool `json:"archived,omitempty"`
3817
3818	// ArtworkType: Type of artwork used for the creative. This is a
3819	// read-only field. Applicable to the following creative types: all
3820	// RICH_MEDIA, and all VPAID.
3821	//
3822	// Possible values:
3823	//   "ARTWORK_TYPE_FLASH"
3824	//   "ARTWORK_TYPE_HTML5"
3825	//   "ARTWORK_TYPE_IMAGE"
3826	//   "ARTWORK_TYPE_MIXED"
3827	ArtworkType string `json:"artworkType,omitempty"`
3828
3829	// AuthoringSource: Source application where creative was authored.
3830	// Presently, only DBM authored creatives will have this field set.
3831	// Applicable to all creative types.
3832	//
3833	// Possible values:
3834	//   "CREATIVE_AUTHORING_SOURCE_DBM"
3835	//   "CREATIVE_AUTHORING_SOURCE_DCM"
3836	//   "CREATIVE_AUTHORING_SOURCE_STUDIO"
3837	AuthoringSource string `json:"authoringSource,omitempty"`
3838
3839	// AuthoringTool: Authoring tool for HTML5 banner creatives. This is a
3840	// read-only field. Applicable to the following creative types:
3841	// HTML5_BANNER.
3842	//
3843	// Possible values:
3844	//   "NINJA"
3845	//   "SWIFFY"
3846	AuthoringTool string `json:"authoringTool,omitempty"`
3847
3848	// AutoAdvanceImages: Whether images are automatically advanced for
3849	// image gallery creatives. Applicable to the following creative types:
3850	// DISPLAY_IMAGE_GALLERY.
3851	AutoAdvanceImages bool `json:"autoAdvanceImages,omitempty"`
3852
3853	// BackgroundColor: The 6-character HTML color code, beginning with #,
3854	// for the background of the window area where the Flash file is
3855	// displayed. Default is white. Applicable to the following creative
3856	// types: FLASH_INPAGE.
3857	BackgroundColor string `json:"backgroundColor,omitempty"`
3858
3859	// BackupImageClickThroughUrl: Click-through URL for backup image.
3860	// Applicable to ENHANCED_BANNER when the primary asset type is not
3861	// HTML_IMAGE.
3862	BackupImageClickThroughUrl *CreativeClickThroughUrl `json:"backupImageClickThroughUrl,omitempty"`
3863
3864	// BackupImageFeatures: List of feature dependencies that will cause a
3865	// backup image to be served if the browser that serves the ad does not
3866	// support them. Feature dependencies are features that a browser must
3867	// be able to support in order to render your HTML5 creative asset
3868	// correctly. This field is initially auto-generated to contain all
3869	// features detected by Campaign Manager for all the assets of this
3870	// creative and can then be modified by the client. To reset this field,
3871	// copy over all the creativeAssets' detected features. Applicable to
3872	// the following creative types: HTML5_BANNER. Applicable to DISPLAY
3873	// when the primary asset type is not HTML_IMAGE.
3874	//
3875	// Possible values:
3876	//   "APPLICATION_CACHE"
3877	//   "AUDIO"
3878	//   "CANVAS"
3879	//   "CANVAS_TEXT"
3880	//   "CSS_ANIMATIONS"
3881	//   "CSS_BACKGROUND_SIZE"
3882	//   "CSS_BORDER_IMAGE"
3883	//   "CSS_BORDER_RADIUS"
3884	//   "CSS_BOX_SHADOW"
3885	//   "CSS_COLUMNS"
3886	//   "CSS_FLEX_BOX"
3887	//   "CSS_FONT_FACE"
3888	//   "CSS_GENERATED_CONTENT"
3889	//   "CSS_GRADIENTS"
3890	//   "CSS_HSLA"
3891	//   "CSS_MULTIPLE_BGS"
3892	//   "CSS_OPACITY"
3893	//   "CSS_REFLECTIONS"
3894	//   "CSS_RGBA"
3895	//   "CSS_TEXT_SHADOW"
3896	//   "CSS_TRANSFORMS"
3897	//   "CSS_TRANSFORMS3D"
3898	//   "CSS_TRANSITIONS"
3899	//   "DRAG_AND_DROP"
3900	//   "GEO_LOCATION"
3901	//   "HASH_CHANGE"
3902	//   "HISTORY"
3903	//   "INDEXED_DB"
3904	//   "INLINE_SVG"
3905	//   "INPUT_ATTR_AUTOCOMPLETE"
3906	//   "INPUT_ATTR_AUTOFOCUS"
3907	//   "INPUT_ATTR_LIST"
3908	//   "INPUT_ATTR_MAX"
3909	//   "INPUT_ATTR_MIN"
3910	//   "INPUT_ATTR_MULTIPLE"
3911	//   "INPUT_ATTR_PATTERN"
3912	//   "INPUT_ATTR_PLACEHOLDER"
3913	//   "INPUT_ATTR_REQUIRED"
3914	//   "INPUT_ATTR_STEP"
3915	//   "INPUT_TYPE_COLOR"
3916	//   "INPUT_TYPE_DATE"
3917	//   "INPUT_TYPE_DATETIME"
3918	//   "INPUT_TYPE_DATETIME_LOCAL"
3919	//   "INPUT_TYPE_EMAIL"
3920	//   "INPUT_TYPE_MONTH"
3921	//   "INPUT_TYPE_NUMBER"
3922	//   "INPUT_TYPE_RANGE"
3923	//   "INPUT_TYPE_SEARCH"
3924	//   "INPUT_TYPE_TEL"
3925	//   "INPUT_TYPE_TIME"
3926	//   "INPUT_TYPE_URL"
3927	//   "INPUT_TYPE_WEEK"
3928	//   "LOCAL_STORAGE"
3929	//   "POST_MESSAGE"
3930	//   "SESSION_STORAGE"
3931	//   "SMIL"
3932	//   "SVG_CLIP_PATHS"
3933	//   "SVG_FE_IMAGE"
3934	//   "SVG_FILTERS"
3935	//   "SVG_HREF"
3936	//   "TOUCH"
3937	//   "VIDEO"
3938	//   "WEBGL"
3939	//   "WEB_SOCKETS"
3940	//   "WEB_SQL_DATABASE"
3941	//   "WEB_WORKERS"
3942	BackupImageFeatures []string `json:"backupImageFeatures,omitempty"`
3943
3944	// BackupImageReportingLabel: Reporting label used for HTML5 banner
3945	// backup image. Applicable to the following creative types: DISPLAY
3946	// when the primary asset type is not HTML_IMAGE.
3947	BackupImageReportingLabel string `json:"backupImageReportingLabel,omitempty"`
3948
3949	// BackupImageTargetWindow: Target window for backup image. Applicable
3950	// to the following creative types: FLASH_INPAGE and HTML5_BANNER.
3951	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
3952	BackupImageTargetWindow *TargetWindow `json:"backupImageTargetWindow,omitempty"`
3953
3954	// ClickTags: Click tags of the creative. For DISPLAY, FLASH_INPAGE, and
3955	// HTML5_BANNER creatives, this is a subset of detected click tags for
3956	// the assets associated with this creative. After creating a flash
3957	// asset, detected click tags will be returned in the
3958	// creativeAssetMetadata. When inserting the creative, populate the
3959	// creative clickTags field using the creativeAssetMetadata.clickTags
3960	// field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly
3961	// one entry in this list for each image creative asset. A click tag is
3962	// matched with a corresponding creative asset by matching the
3963	// clickTag.name field with the creativeAsset.assetIdentifier.name
3964	// field. Applicable to the following creative types:
3965	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to
3966	// DISPLAY when the primary asset type is not HTML_IMAGE.
3967	ClickTags []*ClickTag `json:"clickTags,omitempty"`
3968
3969	// CommercialId: Industry standard ID assigned to creative for reach and
3970	// frequency. Applicable to INSTREAM_VIDEO_REDIRECT creatives.
3971	CommercialId string `json:"commercialId,omitempty"`
3972
3973	// CompanionCreatives: List of companion creatives assigned to an
3974	// in-Stream video creative. Acceptable values include IDs of existing
3975	// flash and image creatives. Applicable to the following creative
3976	// types: all VPAID, all INSTREAM_AUDIO and all INSTREAM_VIDEO with
3977	// dynamicAssetSelection set to false.
3978	CompanionCreatives googleapi.Int64s `json:"companionCreatives,omitempty"`
3979
3980	// Compatibility: Compatibilities associated with this creative. This is
3981	// a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to
3982	// rendering either on desktop or on mobile devices or in mobile apps
3983	// for regular or interstitial ads, respectively. APP and
3984	// APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing
3985	// creatives may have these compatibilities since new creatives will
3986	// either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead.
3987	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
3988	// with the VAST standard. IN_STREAM_AUDIO refers to rendering in
3989	// in-stream audio ads developed with the VAST standard. Applicable to
3990	// all creative types.
3991	//
3992	// Acceptable values are:
3993	// - "APP"
3994	// - "APP_INTERSTITIAL"
3995	// - "IN_STREAM_VIDEO"
3996	// - "IN_STREAM_AUDIO"
3997	// - "DISPLAY"
3998	// - "DISPLAY_INTERSTITIAL"
3999	//
4000	// Possible values:
4001	//   "APP"
4002	//   "APP_INTERSTITIAL"
4003	//   "DISPLAY"
4004	//   "DISPLAY_INTERSTITIAL"
4005	//   "IN_STREAM_AUDIO"
4006	//   "IN_STREAM_VIDEO"
4007	Compatibility []string `json:"compatibility,omitempty"`
4008
4009	// ConvertFlashToHtml5: Whether Flash assets associated with the
4010	// creative need to be automatically converted to HTML5. This flag is
4011	// enabled by default and users can choose to disable it if they don't
4012	// want the system to generate and use HTML5 asset for this creative.
4013	// Applicable to the following creative type: FLASH_INPAGE. Applicable
4014	// to DISPLAY when the primary asset type is not HTML_IMAGE.
4015	ConvertFlashToHtml5 bool `json:"convertFlashToHtml5,omitempty"`
4016
4017	// CounterCustomEvents: List of counter events configured for the
4018	// creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only
4019	// and auto-generated from clickTags. Applicable to the following
4020	// creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
4021	CounterCustomEvents []*CreativeCustomEvent `json:"counterCustomEvents,omitempty"`
4022
4023	// CreativeAssetSelection: Required if dynamicAssetSelection is true.
4024	CreativeAssetSelection *CreativeAssetSelection `json:"creativeAssetSelection,omitempty"`
4025
4026	// CreativeAssets: Assets associated with a creative. Applicable to all
4027	// but the following creative types: INTERNAL_REDIRECT,
4028	// INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
4029	CreativeAssets []*CreativeAsset `json:"creativeAssets,omitempty"`
4030
4031	// CreativeFieldAssignments: Creative field assignments for this
4032	// creative. Applicable to all creative types.
4033	CreativeFieldAssignments []*CreativeFieldAssignment `json:"creativeFieldAssignments,omitempty"`
4034
4035	// CustomKeyValues: Custom key-values for a Rich Media creative.
4036	// Key-values let you customize the creative settings of a Rich Media ad
4037	// running on your site without having to contact the advertiser. You
4038	// can use key-values to dynamically change the look or functionality of
4039	// a creative. Applicable to the following creative types: all
4040	// RICH_MEDIA, and all VPAID.
4041	CustomKeyValues []string `json:"customKeyValues,omitempty"`
4042
4043	// DynamicAssetSelection: Set this to true to enable the use of rules to
4044	// target individual assets in this creative. When set to true
4045	// creativeAssetSelection must be set. This also controls asset-level
4046	// companions. When this is true, companion creatives should be assigned
4047	// to creative assets. Learn more. Applicable to INSTREAM_VIDEO
4048	// creatives.
4049	DynamicAssetSelection bool `json:"dynamicAssetSelection,omitempty"`
4050
4051	// ExitCustomEvents: List of exit events configured for the creative.
4052	// For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only
4053	// and auto-generated from clickTags, For DISPLAY, an event is also
4054	// created from the backupImageReportingLabel. Applicable to the
4055	// following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and
4056	// all VPAID. Applicable to DISPLAY when the primary asset type is not
4057	// HTML_IMAGE.
4058	ExitCustomEvents []*CreativeCustomEvent `json:"exitCustomEvents,omitempty"`
4059
4060	// FsCommand: OpenWindow FSCommand of this creative. This lets the SWF
4061	// file communicate with either Flash Player or the program hosting
4062	// Flash Player, such as a web browser. This is only triggered if
4063	// allowScriptAccess field is true. Applicable to the following creative
4064	// types: FLASH_INPAGE.
4065	FsCommand *FsCommand `json:"fsCommand,omitempty"`
4066
4067	// HtmlCode: HTML code for the creative. This is a required field when
4068	// applicable. This field is ignored if htmlCodeLocked is true.
4069	// Applicable to the following creative types: all CUSTOM, FLASH_INPAGE,
4070	// and HTML5_BANNER, and all RICH_MEDIA.
4071	HtmlCode string `json:"htmlCode,omitempty"`
4072
4073	// HtmlCodeLocked: Whether HTML code is generated by Campaign Manager or
4074	// manually entered. Set to true to ignore changes to htmlCode.
4075	// Applicable to the following creative types: FLASH_INPAGE and
4076	// HTML5_BANNER.
4077	HtmlCodeLocked bool `json:"htmlCodeLocked,omitempty"`
4078
4079	// Id: ID of this creative. This is a read-only, auto-generated field.
4080	// Applicable to all creative types.
4081	Id int64 `json:"id,omitempty,string"`
4082
4083	// IdDimensionValue: Dimension value for the ID of this creative. This
4084	// is a read-only field. Applicable to all creative types.
4085	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
4086
4087	// Kind: Identifies what kind of resource this is. Value: the fixed
4088	// string "dfareporting#creative".
4089	Kind string `json:"kind,omitempty"`
4090
4091	// LastModifiedInfo: Creative last modification information. This is a
4092	// read-only field. Applicable to all creative types.
4093	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
4094
4095	// LatestTraffickedCreativeId: Latest Studio trafficked creative ID
4096	// associated with rich media and VPAID creatives. This is a read-only
4097	// field. Applicable to the following creative types: all RICH_MEDIA,
4098	// and all VPAID.
4099	LatestTraffickedCreativeId int64 `json:"latestTraffickedCreativeId,omitempty,string"`
4100
4101	// MediaDescription: Description of the audio or video ad. Applicable to
4102	// the following creative types: all INSTREAM_VIDEO, INSTREAM_AUDIO, and
4103	// all VPAID.
4104	MediaDescription string `json:"mediaDescription,omitempty"`
4105
4106	// MediaDuration: Creative audio or video duration in seconds. This is a
4107	// read-only field. Applicable to the following creative types:
4108	// INSTREAM_VIDEO, INSTREAM_AUDIO, all RICH_MEDIA, and all VPAID.
4109	MediaDuration float64 `json:"mediaDuration,omitempty"`
4110
4111	// Name: Name of the creative. This is a required field and must be less
4112	// than 256 characters long. Applicable to all creative types.
4113	Name string `json:"name,omitempty"`
4114
4115	// OverrideCss: Override CSS value for rich media creatives. Applicable
4116	// to the following creative types: all RICH_MEDIA.
4117	OverrideCss string `json:"overrideCss,omitempty"`
4118
4119	// ProgressOffset: Amount of time to play the video before counting a
4120	// view. Applicable to the following creative types: all INSTREAM_VIDEO.
4121	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
4122
4123	// RedirectUrl: URL of hosted image or hosted video or another ad tag.
4124	// For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video
4125	// redirect URL. The standard for a VAST (Video Ad Serving Template) ad
4126	// response allows for a redirect link to another VAST 2.0 or 3.0 call.
4127	// This is a required field when applicable. Applicable to the following
4128	// creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT,
4129	// INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
4130	RedirectUrl string `json:"redirectUrl,omitempty"`
4131
4132	// RenderingId: ID of current rendering version. This is a read-only
4133	// field. Applicable to all creative types.
4134	RenderingId int64 `json:"renderingId,omitempty,string"`
4135
4136	// RenderingIdDimensionValue: Dimension value for the rendering ID of
4137	// this creative. This is a read-only field. Applicable to all creative
4138	// types.
4139	RenderingIdDimensionValue *DimensionValue `json:"renderingIdDimensionValue,omitempty"`
4140
4141	// RequiredFlashPluginVersion: The minimum required Flash plugin version
4142	// for this creative. For example, 11.2.202.235. This is a read-only
4143	// field. Applicable to the following creative types: all RICH_MEDIA,
4144	// and all VPAID.
4145	RequiredFlashPluginVersion string `json:"requiredFlashPluginVersion,omitempty"`
4146
4147	// RequiredFlashVersion: The internal Flash version for this creative as
4148	// calculated by Studio. This is a read-only field. Applicable to the
4149	// following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID.
4150	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
4151	RequiredFlashVersion int64 `json:"requiredFlashVersion,omitempty"`
4152
4153	// Size: Size associated with this creative. When inserting or updating
4154	// a creative either the size ID field or size width and height fields
4155	// can be used. This is a required field when applicable; however for
4156	// IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a
4157	// primary asset of type HTML_IMAGE, if left blank, this field will be
4158	// automatically set using the actual size of the associated image
4159	// assets. Applicable to the following creative types: DISPLAY,
4160	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all
4161	// RICH_MEDIA.
4162	Size *Size `json:"size,omitempty"`
4163
4164	// SkipOffset: Amount of time to play the video before the skip button
4165	// appears. Applicable to the following creative types: all
4166	// INSTREAM_VIDEO.
4167	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
4168
4169	// Skippable: Whether the user can choose to skip the creative.
4170	// Applicable to the following creative types: all INSTREAM_VIDEO and
4171	// all VPAID.
4172	Skippable bool `json:"skippable,omitempty"`
4173
4174	// SslCompliant: Whether the creative is SSL-compliant. This is a
4175	// read-only field. Applicable to all creative types.
4176	SslCompliant bool `json:"sslCompliant,omitempty"`
4177
4178	// SslOverride: Whether creative should be treated as SSL compliant even
4179	// if the system scan shows it's not. Applicable to all creative types.
4180	SslOverride bool `json:"sslOverride,omitempty"`
4181
4182	// StudioAdvertiserId: Studio advertiser ID associated with rich media
4183	// and VPAID creatives. This is a read-only field. Applicable to the
4184	// following creative types: all RICH_MEDIA, and all VPAID.
4185	StudioAdvertiserId int64 `json:"studioAdvertiserId,omitempty,string"`
4186
4187	// StudioCreativeId: Studio creative ID associated with rich media and
4188	// VPAID creatives. This is a read-only field. Applicable to the
4189	// following creative types: all RICH_MEDIA, and all VPAID.
4190	StudioCreativeId int64 `json:"studioCreativeId,omitempty,string"`
4191
4192	// StudioTraffickedCreativeId: Studio trafficked creative ID associated
4193	// with rich media and VPAID creatives. This is a read-only field.
4194	// Applicable to the following creative types: all RICH_MEDIA, and all
4195	// VPAID.
4196	StudioTraffickedCreativeId int64 `json:"studioTraffickedCreativeId,omitempty,string"`
4197
4198	// SubaccountId: Subaccount ID of this creative. This field, if left
4199	// unset, will be auto-generated for both insert and update operations.
4200	// Applicable to all creative types.
4201	SubaccountId int64 `json:"subaccountId,omitempty,string"`
4202
4203	// ThirdPartyBackupImageImpressionsUrl: Third-party URL used to record
4204	// backup image impressions. Applicable to the following creative types:
4205	// all RICH_MEDIA.
4206	ThirdPartyBackupImageImpressionsUrl string `json:"thirdPartyBackupImageImpressionsUrl,omitempty"`
4207
4208	// ThirdPartyRichMediaImpressionsUrl: Third-party URL used to record
4209	// rich media impressions. Applicable to the following creative types:
4210	// all RICH_MEDIA.
4211	ThirdPartyRichMediaImpressionsUrl string `json:"thirdPartyRichMediaImpressionsUrl,omitempty"`
4212
4213	// ThirdPartyUrls: Third-party URLs for tracking in-stream creative
4214	// events. Applicable to the following creative types: all
4215	// INSTREAM_VIDEO, all INSTREAM_AUDIO, and all VPAID.
4216	ThirdPartyUrls []*ThirdPartyTrackingUrl `json:"thirdPartyUrls,omitempty"`
4217
4218	// TimerCustomEvents: List of timer events configured for the creative.
4219	// For DISPLAY_IMAGE_GALLERY creatives, these are read-only and
4220	// auto-generated from clickTags. Applicable to the following creative
4221	// types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
4222	// Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
4223	TimerCustomEvents []*CreativeCustomEvent `json:"timerCustomEvents,omitempty"`
4224
4225	// TotalFileSize: Combined size of all creative assets. This is a
4226	// read-only field. Applicable to the following creative types: all
4227	// RICH_MEDIA, and all VPAID.
4228	TotalFileSize int64 `json:"totalFileSize,omitempty,string"`
4229
4230	// Type: Type of this creative. This is a required field. Applicable to
4231	// all creative types.
4232	//
4233	// Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only used for
4234	// existing creatives. New creatives should use DISPLAY as a replacement
4235	// for these types.
4236	//
4237	// Possible values:
4238	//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
4239	//   "CUSTOM_DISPLAY"
4240	//   "CUSTOM_DISPLAY_INTERSTITIAL"
4241	//   "DISPLAY"
4242	//   "DISPLAY_IMAGE_GALLERY"
4243	//   "DISPLAY_REDIRECT"
4244	//   "FLASH_INPAGE"
4245	//   "HTML5_BANNER"
4246	//   "IMAGE"
4247	//   "INSTREAM_AUDIO"
4248	//   "INSTREAM_VIDEO"
4249	//   "INSTREAM_VIDEO_REDIRECT"
4250	//   "INTERNAL_REDIRECT"
4251	//   "INTERSTITIAL_INTERNAL_REDIRECT"
4252	//   "RICH_MEDIA_DISPLAY_BANNER"
4253	//   "RICH_MEDIA_DISPLAY_EXPANDING"
4254	//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
4255	//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
4256	//   "RICH_MEDIA_IM_EXPAND"
4257	//   "RICH_MEDIA_INPAGE_FLOATING"
4258	//   "RICH_MEDIA_MOBILE_IN_APP"
4259	//   "RICH_MEDIA_PEEL_DOWN"
4260	//   "TRACKING_TEXT"
4261	//   "VPAID_LINEAR_VIDEO"
4262	//   "VPAID_NON_LINEAR_VIDEO"
4263	Type string `json:"type,omitempty"`
4264
4265	// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
4266	// to the following creative types: INSTREAM_AUDIO and INSTREAM_VIDEO
4267	// and VPAID.
4268	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
4269
4270	// Version: The version number helps you keep track of multiple versions
4271	// of your creative in your reports. The version number will always be
4272	// auto-generated during insert operations to start at 1. For tracking
4273	// creatives the version cannot be incremented and will always remain at
4274	// 1. For all other creative types the version can be incremented only
4275	// by 1 during update operations. In addition, the version will be
4276	// automatically incremented by 1 when undergoing Rich Media creative
4277	// merging. Applicable to all creative types.
4278	Version int64 `json:"version,omitempty"`
4279
4280	// ServerResponse contains the HTTP response code and headers from the
4281	// server.
4282	googleapi.ServerResponse `json:"-"`
4283
4284	// ForceSendFields is a list of field names (e.g. "AccountId") to
4285	// unconditionally include in API requests. By default, fields with
4286	// empty values are omitted from API requests. However, any non-pointer,
4287	// non-interface field appearing in ForceSendFields will be sent to the
4288	// server regardless of whether the field is empty or not. This may be
4289	// used to include empty fields in Patch requests.
4290	ForceSendFields []string `json:"-"`
4291
4292	// NullFields is a list of field names (e.g. "AccountId") to include in
4293	// API requests with the JSON null value. By default, fields with empty
4294	// values are omitted from API requests. However, any field with an
4295	// empty value appearing in NullFields will be sent to the server as
4296	// null. It is an error if a field in this list has a non-empty value.
4297	// This may be used to include null fields in Patch requests.
4298	NullFields []string `json:"-"`
4299}
4300
4301func (s *Creative) MarshalJSON() ([]byte, error) {
4302	type NoMethod Creative
4303	raw := NoMethod(*s)
4304	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4305}
4306
4307func (s *Creative) UnmarshalJSON(data []byte) error {
4308	type NoMethod Creative
4309	var s1 struct {
4310		MediaDuration gensupport.JSONFloat64 `json:"mediaDuration"`
4311		*NoMethod
4312	}
4313	s1.NoMethod = (*NoMethod)(s)
4314	if err := json.Unmarshal(data, &s1); err != nil {
4315		return err
4316	}
4317	s.MediaDuration = float64(s1.MediaDuration)
4318	return nil
4319}
4320
4321// CreativeAsset: Creative Asset.
4322type CreativeAsset struct {
4323	// ActionScript3: Whether ActionScript3 is enabled for the flash asset.
4324	// This is a read-only field. Applicable to the following creative type:
4325	// FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is
4326	// not HTML_IMAGE.
4327	ActionScript3 bool `json:"actionScript3,omitempty"`
4328
4329	// Active: Whether the video or audio asset is active. This is a
4330	// read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the
4331	// following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all
4332	// VPAID.
4333	Active bool `json:"active,omitempty"`
4334
4335	// AdditionalSizes: Additional sizes associated with this creative
4336	// asset. HTML5 asset generated by compatible software such as GWD will
4337	// be able to support more sizes this creative asset can render.
4338	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
4339
4340	// Alignment: Possible alignments for an asset. This is a read-only
4341	// field. Applicable to the following creative types:
4342	// RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
4343	//
4344	// Possible values:
4345	//   "ALIGNMENT_BOTTOM"
4346	//   "ALIGNMENT_LEFT"
4347	//   "ALIGNMENT_RIGHT"
4348	//   "ALIGNMENT_TOP"
4349	Alignment string `json:"alignment,omitempty"`
4350
4351	// ArtworkType: Artwork type of rich media creative. This is a read-only
4352	// field. Applicable to the following creative types: all RICH_MEDIA.
4353	//
4354	// Possible values:
4355	//   "ARTWORK_TYPE_FLASH"
4356	//   "ARTWORK_TYPE_HTML5"
4357	//   "ARTWORK_TYPE_IMAGE"
4358	//   "ARTWORK_TYPE_MIXED"
4359	ArtworkType string `json:"artworkType,omitempty"`
4360
4361	// AssetIdentifier: Identifier of this asset. This is the same
4362	// identifier returned during creative asset insert operation. This is a
4363	// required field. Applicable to all but the following creative types:
4364	// all REDIRECT and TRACKING_TEXT.
4365	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
4366
4367	// AudioBitRate: Audio stream bit rate in kbps. This is a read-only
4368	// field. Applicable to the following creative types: INSTREAM_AUDIO,
4369	// INSTREAM_VIDEO and all VPAID.
4370	AudioBitRate int64 `json:"audioBitRate,omitempty"`
4371
4372	// AudioSampleRate: Audio sample bit rate in hertz. This is a read-only
4373	// field. Applicable to the following creative types: INSTREAM_AUDIO,
4374	// INSTREAM_VIDEO and all VPAID.
4375	AudioSampleRate int64 `json:"audioSampleRate,omitempty"`
4376
4377	// BackupImageExit: Exit event configured for the backup image.
4378	// Applicable to the following creative types: all RICH_MEDIA.
4379	BackupImageExit *CreativeCustomEvent `json:"backupImageExit,omitempty"`
4380
4381	// BitRate: Detected bit-rate for audio or video asset. This is a
4382	// read-only field. Applicable to the following creative types:
4383	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4384	BitRate int64 `json:"bitRate,omitempty"`
4385
4386	// ChildAssetType: Rich media child asset type. This is a read-only
4387	// field. Applicable to the following creative types: all VPAID.
4388	//
4389	// Possible values:
4390	//   "CHILD_ASSET_TYPE_DATA"
4391	//   "CHILD_ASSET_TYPE_FLASH"
4392	//   "CHILD_ASSET_TYPE_IMAGE"
4393	//   "CHILD_ASSET_TYPE_VIDEO"
4394	ChildAssetType string `json:"childAssetType,omitempty"`
4395
4396	// CollapsedSize: Size of an asset when collapsed. This is a read-only
4397	// field. Applicable to the following creative types: all RICH_MEDIA and
4398	// all VPAID. Additionally, applicable to assets whose displayType is
4399	// ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
4400	CollapsedSize *Size `json:"collapsedSize,omitempty"`
4401
4402	// CompanionCreativeIds: List of companion creatives assigned to an
4403	// in-stream video creative asset. Acceptable values include IDs of
4404	// existing flash and image creatives. Applicable to INSTREAM_VIDEO
4405	// creative type with dynamicAssetSelection set to true.
4406	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
4407
4408	// CustomStartTimeValue: Custom start time in seconds for making the
4409	// asset visible. Applicable to the following creative types: all
4410	// RICH_MEDIA. Value must be greater than or equal to 0.
4411	CustomStartTimeValue int64 `json:"customStartTimeValue,omitempty"`
4412
4413	// DetectedFeatures: List of feature dependencies for the creative asset
4414	// that are detected by Campaign Manager. Feature dependencies are
4415	// features that a browser must be able to support in order to render
4416	// your HTML5 creative correctly. This is a read-only, auto-generated
4417	// field. Applicable to the following creative types: HTML5_BANNER.
4418	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
4419	//
4420	// Possible values:
4421	//   "APPLICATION_CACHE"
4422	//   "AUDIO"
4423	//   "CANVAS"
4424	//   "CANVAS_TEXT"
4425	//   "CSS_ANIMATIONS"
4426	//   "CSS_BACKGROUND_SIZE"
4427	//   "CSS_BORDER_IMAGE"
4428	//   "CSS_BORDER_RADIUS"
4429	//   "CSS_BOX_SHADOW"
4430	//   "CSS_COLUMNS"
4431	//   "CSS_FLEX_BOX"
4432	//   "CSS_FONT_FACE"
4433	//   "CSS_GENERATED_CONTENT"
4434	//   "CSS_GRADIENTS"
4435	//   "CSS_HSLA"
4436	//   "CSS_MULTIPLE_BGS"
4437	//   "CSS_OPACITY"
4438	//   "CSS_REFLECTIONS"
4439	//   "CSS_RGBA"
4440	//   "CSS_TEXT_SHADOW"
4441	//   "CSS_TRANSFORMS"
4442	//   "CSS_TRANSFORMS3D"
4443	//   "CSS_TRANSITIONS"
4444	//   "DRAG_AND_DROP"
4445	//   "GEO_LOCATION"
4446	//   "HASH_CHANGE"
4447	//   "HISTORY"
4448	//   "INDEXED_DB"
4449	//   "INLINE_SVG"
4450	//   "INPUT_ATTR_AUTOCOMPLETE"
4451	//   "INPUT_ATTR_AUTOFOCUS"
4452	//   "INPUT_ATTR_LIST"
4453	//   "INPUT_ATTR_MAX"
4454	//   "INPUT_ATTR_MIN"
4455	//   "INPUT_ATTR_MULTIPLE"
4456	//   "INPUT_ATTR_PATTERN"
4457	//   "INPUT_ATTR_PLACEHOLDER"
4458	//   "INPUT_ATTR_REQUIRED"
4459	//   "INPUT_ATTR_STEP"
4460	//   "INPUT_TYPE_COLOR"
4461	//   "INPUT_TYPE_DATE"
4462	//   "INPUT_TYPE_DATETIME"
4463	//   "INPUT_TYPE_DATETIME_LOCAL"
4464	//   "INPUT_TYPE_EMAIL"
4465	//   "INPUT_TYPE_MONTH"
4466	//   "INPUT_TYPE_NUMBER"
4467	//   "INPUT_TYPE_RANGE"
4468	//   "INPUT_TYPE_SEARCH"
4469	//   "INPUT_TYPE_TEL"
4470	//   "INPUT_TYPE_TIME"
4471	//   "INPUT_TYPE_URL"
4472	//   "INPUT_TYPE_WEEK"
4473	//   "LOCAL_STORAGE"
4474	//   "POST_MESSAGE"
4475	//   "SESSION_STORAGE"
4476	//   "SMIL"
4477	//   "SVG_CLIP_PATHS"
4478	//   "SVG_FE_IMAGE"
4479	//   "SVG_FILTERS"
4480	//   "SVG_HREF"
4481	//   "TOUCH"
4482	//   "VIDEO"
4483	//   "WEBGL"
4484	//   "WEB_SOCKETS"
4485	//   "WEB_SQL_DATABASE"
4486	//   "WEB_WORKERS"
4487	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
4488
4489	// DisplayType: Type of rich media asset. This is a read-only field.
4490	// Applicable to the following creative types: all RICH_MEDIA.
4491	//
4492	// Possible values:
4493	//   "ASSET_DISPLAY_TYPE_BACKDROP"
4494	//   "ASSET_DISPLAY_TYPE_EXPANDING"
4495	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH"
4496	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING"
4497	//   "ASSET_DISPLAY_TYPE_FLOATING"
4498	//   "ASSET_DISPLAY_TYPE_INPAGE"
4499	//   "ASSET_DISPLAY_TYPE_OVERLAY"
4500	//   "ASSET_DISPLAY_TYPE_PEEL_DOWN"
4501	//   "ASSET_DISPLAY_TYPE_VPAID_LINEAR"
4502	//   "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"
4503	DisplayType string `json:"displayType,omitempty"`
4504
4505	// Duration: Duration in seconds for which an asset will be displayed.
4506	// Applicable to the following creative types: INSTREAM_AUDIO,
4507	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO. Value must be greater than or
4508	// equal to 1.
4509	Duration int64 `json:"duration,omitempty"`
4510
4511	// DurationType: Duration type for which an asset will be displayed.
4512	// Applicable to the following creative types: all RICH_MEDIA.
4513	//
4514	// Possible values:
4515	//   "ASSET_DURATION_TYPE_AUTO"
4516	//   "ASSET_DURATION_TYPE_CUSTOM"
4517	//   "ASSET_DURATION_TYPE_NONE"
4518	DurationType string `json:"durationType,omitempty"`
4519
4520	// ExpandedDimension: Detected expanded dimension for video asset. This
4521	// is a read-only field. Applicable to the following creative types:
4522	// INSTREAM_VIDEO and all VPAID.
4523	ExpandedDimension *Size `json:"expandedDimension,omitempty"`
4524
4525	// FileSize: File size associated with this creative asset. This is a
4526	// read-only field. Applicable to all but the following creative types:
4527	// all REDIRECT and TRACKING_TEXT.
4528	FileSize int64 `json:"fileSize,omitempty,string"`
4529
4530	// FlashVersion: Flash version of the asset. This is a read-only field.
4531	// Applicable to the following creative types: FLASH_INPAGE, all
4532	// RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary
4533	// asset type is not HTML_IMAGE.
4534	FlashVersion int64 `json:"flashVersion,omitempty"`
4535
4536	// FrameRate: Video frame rate for video asset in frames per second.
4537	// This is a read-only field. Applicable to the following creative
4538	// types: INSTREAM_VIDEO and all VPAID.
4539	FrameRate float64 `json:"frameRate,omitempty"`
4540
4541	// HideFlashObjects: Whether to hide Flash objects flag for an asset.
4542	// Applicable to the following creative types: all RICH_MEDIA.
4543	HideFlashObjects bool `json:"hideFlashObjects,omitempty"`
4544
4545	// HideSelectionBoxes: Whether to hide selection boxes flag for an
4546	// asset. Applicable to the following creative types: all RICH_MEDIA.
4547	HideSelectionBoxes bool `json:"hideSelectionBoxes,omitempty"`
4548
4549	// HorizontallyLocked: Whether the asset is horizontally locked. This is
4550	// a read-only field. Applicable to the following creative types: all
4551	// RICH_MEDIA.
4552	HorizontallyLocked bool `json:"horizontallyLocked,omitempty"`
4553
4554	// Id: Numeric ID of this creative asset. This is a required field and
4555	// should not be modified. Applicable to all but the following creative
4556	// types: all REDIRECT and TRACKING_TEXT.
4557	Id int64 `json:"id,omitempty,string"`
4558
4559	// IdDimensionValue: Dimension value for the ID of the asset. This is a
4560	// read-only, auto-generated field.
4561	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
4562
4563	// MediaDuration: Detected duration for audio or video asset. This is a
4564	// read-only field. Applicable to the following creative types:
4565	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4566	MediaDuration float64 `json:"mediaDuration,omitempty"`
4567
4568	// MimeType: Detected MIME type for audio or video asset. This is a
4569	// read-only field. Applicable to the following creative types:
4570	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4571	MimeType string `json:"mimeType,omitempty"`
4572
4573	// Offset: Offset position for an asset in collapsed mode. This is a
4574	// read-only field. Applicable to the following creative types: all
4575	// RICH_MEDIA and all VPAID. Additionally, only applicable to assets
4576	// whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or
4577	// ASSET_DISPLAY_TYPE_PEEL_DOWN.
4578	Offset *OffsetPosition `json:"offset,omitempty"`
4579
4580	// Orientation: Orientation of video asset. This is a read-only,
4581	// auto-generated field.
4582	//
4583	// Possible values:
4584	//   "LANDSCAPE"
4585	//   "PORTRAIT"
4586	//   "SQUARE"
4587	Orientation string `json:"orientation,omitempty"`
4588
4589	// OriginalBackup: Whether the backup asset is original or changed by
4590	// the user in Campaign Manager. Applicable to the following creative
4591	// types: all RICH_MEDIA.
4592	OriginalBackup bool `json:"originalBackup,omitempty"`
4593
4594	// PoliteLoad: Whether this asset is used as a polite load asset.
4595	PoliteLoad bool `json:"politeLoad,omitempty"`
4596
4597	// Position: Offset position for an asset. Applicable to the following
4598	// creative types: all RICH_MEDIA.
4599	Position *OffsetPosition `json:"position,omitempty"`
4600
4601	// PositionLeftUnit: Offset left unit for an asset. This is a read-only
4602	// field. Applicable to the following creative types: all RICH_MEDIA.
4603	//
4604	// Possible values:
4605	//   "OFFSET_UNIT_PERCENT"
4606	//   "OFFSET_UNIT_PIXEL"
4607	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
4608	PositionLeftUnit string `json:"positionLeftUnit,omitempty"`
4609
4610	// PositionTopUnit: Offset top unit for an asset. This is a read-only
4611	// field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY.
4612	// Applicable to the following creative types: all RICH_MEDIA.
4613	//
4614	// Possible values:
4615	//   "OFFSET_UNIT_PERCENT"
4616	//   "OFFSET_UNIT_PIXEL"
4617	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
4618	PositionTopUnit string `json:"positionTopUnit,omitempty"`
4619
4620	// ProgressiveServingUrl: Progressive URL for video asset. This is a
4621	// read-only field. Applicable to the following creative types:
4622	// INSTREAM_VIDEO and all VPAID.
4623	ProgressiveServingUrl string `json:"progressiveServingUrl,omitempty"`
4624
4625	// Pushdown: Whether the asset pushes down other content. Applicable to
4626	// the following creative types: all RICH_MEDIA. Additionally, only
4627	// applicable when the asset offsets are 0, the collapsedSize.width
4628	// matches size.width, and the collapsedSize.height is less than
4629	// size.height.
4630	Pushdown bool `json:"pushdown,omitempty"`
4631
4632	// PushdownDuration: Pushdown duration in seconds for an asset.
4633	// Applicable to the following creative types: all
4634	// RICH_MEDIA.Additionally, only applicable when the asset pushdown
4635	// field is true, the offsets are 0, the collapsedSize.width matches
4636	// size.width, and the collapsedSize.height is less than size.height.
4637	// Acceptable values are 0 to 9.99, inclusive.
4638	PushdownDuration float64 `json:"pushdownDuration,omitempty"`
4639
4640	// Role: Role of the asset in relation to creative. Applicable to all
4641	// but the following creative types: all REDIRECT and TRACKING_TEXT.
4642	// This is a required field.
4643	// PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE,
4644	// DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple
4645	// primary assets), and all VPAID creatives.
4646	// BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
4647	// and all VPAID creatives. Applicable to DISPLAY when the primary asset
4648	// type is not HTML_IMAGE.
4649	// ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE
4650	// creatives.
4651	// OTHER refers to assets from sources other than Campaign Manager, such
4652	// as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID
4653	// creatives.
4654	// PARENT_VIDEO refers to videos uploaded by the user in Campaign
4655	// Manager and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
4656	// creatives.
4657	// TRANSCODED_VIDEO refers to videos transcoded by Campaign Manager from
4658	// PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and
4659	// VPAID_LINEAR_VIDEO creatives.
4660	// ALTERNATE_VIDEO refers to the Campaign Manager representation of
4661	// child asset videos from Studio, and is applicable to
4662	// VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within
4663	// Campaign Manager.
4664	// For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and
4665	// ALTERNATE_VIDEO assets that are marked active serve as backup in case
4666	// the VPAID creative cannot be served. Only PARENT_VIDEO assets can be
4667	// added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO
4668	// creative.
4669	// PARENT_AUDIO refers to audios uploaded by the user in Campaign
4670	// Manager and is applicable to INSTREAM_AUDIO
4671	// creatives.
4672	// TRANSCODED_AUDIO refers to audios transcoded by Campaign Manager from
4673	// PARENT_AUDIO assets and is applicable to INSTREAM_AUDIO creatives.
4674	//
4675	// Possible values:
4676	//   "ADDITIONAL_FLASH"
4677	//   "ADDITIONAL_IMAGE"
4678	//   "ALTERNATE_VIDEO"
4679	//   "BACKUP_IMAGE"
4680	//   "OTHER"
4681	//   "PARENT_AUDIO"
4682	//   "PARENT_VIDEO"
4683	//   "PRIMARY"
4684	//   "TRANSCODED_AUDIO"
4685	//   "TRANSCODED_VIDEO"
4686	Role string `json:"role,omitempty"`
4687
4688	// Size: Size associated with this creative asset. This is a required
4689	// field when applicable; however for IMAGE and FLASH_INPAGE, creatives
4690	// if left blank, this field will be automatically set using the actual
4691	// size of the associated image asset. Applicable to the following
4692	// creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER,
4693	// IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary
4694	// asset type is not HTML_IMAGE.
4695	Size *Size `json:"size,omitempty"`
4696
4697	// SslCompliant: Whether the asset is SSL-compliant. This is a read-only
4698	// field. Applicable to all but the following creative types: all
4699	// REDIRECT and TRACKING_TEXT.
4700	SslCompliant bool `json:"sslCompliant,omitempty"`
4701
4702	// StartTimeType: Initial wait time type before making the asset
4703	// visible. Applicable to the following creative types: all RICH_MEDIA.
4704	//
4705	// Possible values:
4706	//   "ASSET_START_TIME_TYPE_CUSTOM"
4707	//   "ASSET_START_TIME_TYPE_NONE"
4708	StartTimeType string `json:"startTimeType,omitempty"`
4709
4710	// StreamingServingUrl: Streaming URL for video asset. This is a
4711	// read-only field. Applicable to the following creative types:
4712	// INSTREAM_VIDEO and all VPAID.
4713	StreamingServingUrl string `json:"streamingServingUrl,omitempty"`
4714
4715	// Transparency: Whether the asset is transparent. Applicable to the
4716	// following creative types: all RICH_MEDIA. Additionally, only
4717	// applicable to HTML5 assets.
4718	Transparency bool `json:"transparency,omitempty"`
4719
4720	// VerticallyLocked: Whether the asset is vertically locked. This is a
4721	// read-only field. Applicable to the following creative types: all
4722	// RICH_MEDIA.
4723	VerticallyLocked bool `json:"verticallyLocked,omitempty"`
4724
4725	// WindowMode: Window mode options for flash assets. Applicable to the
4726	// following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
4727	// RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
4728	// RICH_MEDIA_INPAGE_FLOATING.
4729	//
4730	// Possible values:
4731	//   "OPAQUE"
4732	//   "TRANSPARENT"
4733	//   "WINDOW"
4734	WindowMode string `json:"windowMode,omitempty"`
4735
4736	// ZIndex: zIndex value of an asset. Applicable to the following
4737	// creative types: all RICH_MEDIA.Additionally, only applicable to
4738	// assets whose displayType is NOT one of the following types:
4739	// ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY. Acceptable
4740	// values are -999999999 to 999999999, inclusive.
4741	ZIndex int64 `json:"zIndex,omitempty"`
4742
4743	// ZipFilename: File name of zip file. This is a read-only field.
4744	// Applicable to the following creative types: HTML5_BANNER.
4745	ZipFilename string `json:"zipFilename,omitempty"`
4746
4747	// ZipFilesize: Size of zip file. This is a read-only field. Applicable
4748	// to the following creative types: HTML5_BANNER.
4749	ZipFilesize string `json:"zipFilesize,omitempty"`
4750
4751	// ForceSendFields is a list of field names (e.g. "ActionScript3") to
4752	// unconditionally include in API requests. By default, fields with
4753	// empty values are omitted from API requests. However, any non-pointer,
4754	// non-interface field appearing in ForceSendFields will be sent to the
4755	// server regardless of whether the field is empty or not. This may be
4756	// used to include empty fields in Patch requests.
4757	ForceSendFields []string `json:"-"`
4758
4759	// NullFields is a list of field names (e.g. "ActionScript3") to include
4760	// in API requests with the JSON null value. By default, fields with
4761	// empty values are omitted from API requests. However, any field with
4762	// an empty value appearing in NullFields will be sent to the server as
4763	// null. It is an error if a field in this list has a non-empty value.
4764	// This may be used to include null fields in Patch requests.
4765	NullFields []string `json:"-"`
4766}
4767
4768func (s *CreativeAsset) MarshalJSON() ([]byte, error) {
4769	type NoMethod CreativeAsset
4770	raw := NoMethod(*s)
4771	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4772}
4773
4774func (s *CreativeAsset) UnmarshalJSON(data []byte) error {
4775	type NoMethod CreativeAsset
4776	var s1 struct {
4777		FrameRate        gensupport.JSONFloat64 `json:"frameRate"`
4778		MediaDuration    gensupport.JSONFloat64 `json:"mediaDuration"`
4779		PushdownDuration gensupport.JSONFloat64 `json:"pushdownDuration"`
4780		*NoMethod
4781	}
4782	s1.NoMethod = (*NoMethod)(s)
4783	if err := json.Unmarshal(data, &s1); err != nil {
4784		return err
4785	}
4786	s.FrameRate = float64(s1.FrameRate)
4787	s.MediaDuration = float64(s1.MediaDuration)
4788	s.PushdownDuration = float64(s1.PushdownDuration)
4789	return nil
4790}
4791
4792// CreativeAssetId: Creative Asset ID.
4793type CreativeAssetId struct {
4794	// Name: Name of the creative asset. This is a required field while
4795	// inserting an asset. After insertion, this assetIdentifier is used to
4796	// identify the uploaded asset. Characters in the name must be
4797	// alphanumeric or one of the following: ".-_ ". Spaces are allowed.
4798	Name string `json:"name,omitempty"`
4799
4800	// Type: Type of asset to upload. This is a required field. FLASH and
4801	// IMAGE are no longer supported for new uploads. All image assets
4802	// should use HTML_IMAGE.
4803	//
4804	// Possible values:
4805	//   "AUDIO"
4806	//   "FLASH"
4807	//   "HTML"
4808	//   "HTML_IMAGE"
4809	//   "IMAGE"
4810	//   "VIDEO"
4811	Type string `json:"type,omitempty"`
4812
4813	// ForceSendFields is a list of field names (e.g. "Name") to
4814	// unconditionally include in API requests. By default, fields with
4815	// empty values are omitted from API requests. However, any non-pointer,
4816	// non-interface field appearing in ForceSendFields will be sent to the
4817	// server regardless of whether the field is empty or not. This may be
4818	// used to include empty fields in Patch requests.
4819	ForceSendFields []string `json:"-"`
4820
4821	// NullFields is a list of field names (e.g. "Name") to include in API
4822	// requests with the JSON null value. By default, fields with empty
4823	// values are omitted from API requests. However, any field with an
4824	// empty value appearing in NullFields will be sent to the server as
4825	// null. It is an error if a field in this list has a non-empty value.
4826	// This may be used to include null fields in Patch requests.
4827	NullFields []string `json:"-"`
4828}
4829
4830func (s *CreativeAssetId) MarshalJSON() ([]byte, error) {
4831	type NoMethod CreativeAssetId
4832	raw := NoMethod(*s)
4833	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4834}
4835
4836// CreativeAssetMetadata: CreativeAssets contains properties of a
4837// creative asset file which will be uploaded or has already been
4838// uploaded. Refer to the creative sample code for how to upload assets
4839// and insert a creative.
4840type CreativeAssetMetadata struct {
4841	// AssetIdentifier: ID of the creative asset. This is a required field.
4842	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
4843
4844	// ClickTags: List of detected click tags for assets. This is a
4845	// read-only auto-generated field.
4846	ClickTags []*ClickTag `json:"clickTags,omitempty"`
4847
4848	// DetectedFeatures: List of feature dependencies for the creative asset
4849	// that are detected by Campaign Manager. Feature dependencies are
4850	// features that a browser must be able to support in order to render
4851	// your HTML5 creative correctly. This is a read-only, auto-generated
4852	// field.
4853	//
4854	// Possible values:
4855	//   "APPLICATION_CACHE"
4856	//   "AUDIO"
4857	//   "CANVAS"
4858	//   "CANVAS_TEXT"
4859	//   "CSS_ANIMATIONS"
4860	//   "CSS_BACKGROUND_SIZE"
4861	//   "CSS_BORDER_IMAGE"
4862	//   "CSS_BORDER_RADIUS"
4863	//   "CSS_BOX_SHADOW"
4864	//   "CSS_COLUMNS"
4865	//   "CSS_FLEX_BOX"
4866	//   "CSS_FONT_FACE"
4867	//   "CSS_GENERATED_CONTENT"
4868	//   "CSS_GRADIENTS"
4869	//   "CSS_HSLA"
4870	//   "CSS_MULTIPLE_BGS"
4871	//   "CSS_OPACITY"
4872	//   "CSS_REFLECTIONS"
4873	//   "CSS_RGBA"
4874	//   "CSS_TEXT_SHADOW"
4875	//   "CSS_TRANSFORMS"
4876	//   "CSS_TRANSFORMS3D"
4877	//   "CSS_TRANSITIONS"
4878	//   "DRAG_AND_DROP"
4879	//   "GEO_LOCATION"
4880	//   "HASH_CHANGE"
4881	//   "HISTORY"
4882	//   "INDEXED_DB"
4883	//   "INLINE_SVG"
4884	//   "INPUT_ATTR_AUTOCOMPLETE"
4885	//   "INPUT_ATTR_AUTOFOCUS"
4886	//   "INPUT_ATTR_LIST"
4887	//   "INPUT_ATTR_MAX"
4888	//   "INPUT_ATTR_MIN"
4889	//   "INPUT_ATTR_MULTIPLE"
4890	//   "INPUT_ATTR_PATTERN"
4891	//   "INPUT_ATTR_PLACEHOLDER"
4892	//   "INPUT_ATTR_REQUIRED"
4893	//   "INPUT_ATTR_STEP"
4894	//   "INPUT_TYPE_COLOR"
4895	//   "INPUT_TYPE_DATE"
4896	//   "INPUT_TYPE_DATETIME"
4897	//   "INPUT_TYPE_DATETIME_LOCAL"
4898	//   "INPUT_TYPE_EMAIL"
4899	//   "INPUT_TYPE_MONTH"
4900	//   "INPUT_TYPE_NUMBER"
4901	//   "INPUT_TYPE_RANGE"
4902	//   "INPUT_TYPE_SEARCH"
4903	//   "INPUT_TYPE_TEL"
4904	//   "INPUT_TYPE_TIME"
4905	//   "INPUT_TYPE_URL"
4906	//   "INPUT_TYPE_WEEK"
4907	//   "LOCAL_STORAGE"
4908	//   "POST_MESSAGE"
4909	//   "SESSION_STORAGE"
4910	//   "SMIL"
4911	//   "SVG_CLIP_PATHS"
4912	//   "SVG_FE_IMAGE"
4913	//   "SVG_FILTERS"
4914	//   "SVG_HREF"
4915	//   "TOUCH"
4916	//   "VIDEO"
4917	//   "WEBGL"
4918	//   "WEB_SOCKETS"
4919	//   "WEB_SQL_DATABASE"
4920	//   "WEB_WORKERS"
4921	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
4922
4923	// Id: Numeric ID of the asset. This is a read-only, auto-generated
4924	// field.
4925	Id int64 `json:"id,omitempty,string"`
4926
4927	// IdDimensionValue: Dimension value for the numeric ID of the asset.
4928	// This is a read-only, auto-generated field.
4929	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
4930
4931	// Kind: Identifies what kind of resource this is. Value: the fixed
4932	// string "dfareporting#creativeAssetMetadata".
4933	Kind string `json:"kind,omitempty"`
4934
4935	// WarnedValidationRules: Rules validated during code generation that
4936	// generated a warning. This is a read-only, auto-generated
4937	// field.
4938	//
4939	// Possible values are:
4940	// - "ADMOB_REFERENCED"
4941	// - "ASSET_FORMAT_UNSUPPORTED_DCM"
4942	// - "ASSET_INVALID"
4943	// - "CLICK_TAG_HARD_CODED"
4944	// - "CLICK_TAG_INVALID"
4945	// - "CLICK_TAG_IN_GWD"
4946	// - "CLICK_TAG_MISSING"
4947	// - "CLICK_TAG_MORE_THAN_ONE"
4948	// - "CLICK_TAG_NON_TOP_LEVEL"
4949	// - "COMPONENT_UNSUPPORTED_DCM"
4950	// - "ENABLER_UNSUPPORTED_METHOD_DCM"
4951	// - "EXTERNAL_FILE_REFERENCED"
4952	// - "FILE_DETAIL_EMPTY"
4953	// - "FILE_TYPE_INVALID"
4954	// - "GWD_PROPERTIES_INVALID"
4955	// - "HTML5_FEATURE_UNSUPPORTED"
4956	// - "LINKED_FILE_NOT_FOUND"
4957	// - "MAX_FLASH_VERSION_11"
4958	// - "MRAID_REFERENCED"
4959	// - "NOT_SSL_COMPLIANT"
4960	// - "ORPHANED_ASSET"
4961	// - "PRIMARY_HTML_MISSING"
4962	// - "SVG_INVALID"
4963	// - "ZIP_INVALID"
4964	//
4965	// Possible values:
4966	//   "ADMOB_REFERENCED"
4967	//   "ASSET_FORMAT_UNSUPPORTED_DCM"
4968	//   "ASSET_INVALID"
4969	//   "CLICK_TAG_HARD_CODED"
4970	//   "CLICK_TAG_INVALID"
4971	//   "CLICK_TAG_IN_GWD"
4972	//   "CLICK_TAG_MISSING"
4973	//   "CLICK_TAG_MORE_THAN_ONE"
4974	//   "CLICK_TAG_NON_TOP_LEVEL"
4975	//   "COMPONENT_UNSUPPORTED_DCM"
4976	//   "ENABLER_UNSUPPORTED_METHOD_DCM"
4977	//   "EXTERNAL_FILE_REFERENCED"
4978	//   "FILE_DETAIL_EMPTY"
4979	//   "FILE_TYPE_INVALID"
4980	//   "GWD_PROPERTIES_INVALID"
4981	//   "HTML5_FEATURE_UNSUPPORTED"
4982	//   "LINKED_FILE_NOT_FOUND"
4983	//   "MAX_FLASH_VERSION_11"
4984	//   "MRAID_REFERENCED"
4985	//   "NOT_SSL_COMPLIANT"
4986	//   "ORPHANED_ASSET"
4987	//   "PRIMARY_HTML_MISSING"
4988	//   "SVG_INVALID"
4989	//   "ZIP_INVALID"
4990	WarnedValidationRules []string `json:"warnedValidationRules,omitempty"`
4991
4992	// ServerResponse contains the HTTP response code and headers from the
4993	// server.
4994	googleapi.ServerResponse `json:"-"`
4995
4996	// ForceSendFields is a list of field names (e.g. "AssetIdentifier") to
4997	// unconditionally include in API requests. By default, fields with
4998	// empty values are omitted from API requests. However, any non-pointer,
4999	// non-interface field appearing in ForceSendFields will be sent to the
5000	// server regardless of whether the field is empty or not. This may be
5001	// used to include empty fields in Patch requests.
5002	ForceSendFields []string `json:"-"`
5003
5004	// NullFields is a list of field names (e.g. "AssetIdentifier") to
5005	// include in API requests with the JSON null value. By default, fields
5006	// with empty values are omitted from API requests. However, any field
5007	// with an empty value appearing in NullFields will be sent to the
5008	// server as null. It is an error if a field in this list has a
5009	// non-empty value. This may be used to include null fields in Patch
5010	// requests.
5011	NullFields []string `json:"-"`
5012}
5013
5014func (s *CreativeAssetMetadata) MarshalJSON() ([]byte, error) {
5015	type NoMethod CreativeAssetMetadata
5016	raw := NoMethod(*s)
5017	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5018}
5019
5020// CreativeAssetSelection: Encapsulates the list of rules for asset
5021// selection and a default asset in case none of the rules match.
5022// Applicable to INSTREAM_VIDEO creatives.
5023type CreativeAssetSelection struct {
5024	// DefaultAssetId: A creativeAssets[].id. This should refer to one of
5025	// the parent assets in this creative, and will be served if none of the
5026	// rules match. This is a required field.
5027	DefaultAssetId int64 `json:"defaultAssetId,omitempty,string"`
5028
5029	// Rules: Rules determine which asset will be served to a viewer. Rules
5030	// will be evaluated in the order in which they are stored in this list.
5031	// This list must contain at least one rule. Applicable to
5032	// INSTREAM_VIDEO creatives.
5033	Rules []*Rule `json:"rules,omitempty"`
5034
5035	// ForceSendFields is a list of field names (e.g. "DefaultAssetId") to
5036	// unconditionally include in API requests. By default, fields with
5037	// empty values are omitted from API requests. However, any non-pointer,
5038	// non-interface field appearing in ForceSendFields will be sent to the
5039	// server regardless of whether the field is empty or not. This may be
5040	// used to include empty fields in Patch requests.
5041	ForceSendFields []string `json:"-"`
5042
5043	// NullFields is a list of field names (e.g. "DefaultAssetId") to
5044	// include in API requests with the JSON null value. By default, fields
5045	// with empty values are omitted from API requests. However, any field
5046	// with an empty value appearing in NullFields will be sent to the
5047	// server as null. It is an error if a field in this list has a
5048	// non-empty value. This may be used to include null fields in Patch
5049	// requests.
5050	NullFields []string `json:"-"`
5051}
5052
5053func (s *CreativeAssetSelection) MarshalJSON() ([]byte, error) {
5054	type NoMethod CreativeAssetSelection
5055	raw := NoMethod(*s)
5056	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5057}
5058
5059// CreativeAssignment: Creative Assignment.
5060type CreativeAssignment struct {
5061	// Active: Whether this creative assignment is active. When true, the
5062	// creative will be included in the ad's rotation.
5063	Active bool `json:"active,omitempty"`
5064
5065	// ApplyEventTags: Whether applicable event tags should fire when this
5066	// creative assignment is rendered. If this value is unset when the ad
5067	// is inserted or updated, it will default to true for all creative
5068	// types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT,
5069	// and INSTREAM_VIDEO.
5070	ApplyEventTags bool `json:"applyEventTags,omitempty"`
5071
5072	// ClickThroughUrl: Click-through URL of the creative assignment.
5073	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
5074
5075	// CompanionCreativeOverrides: Companion creative overrides for this
5076	// creative assignment. Applicable to video ads.
5077	CompanionCreativeOverrides []*CompanionClickThroughOverride `json:"companionCreativeOverrides,omitempty"`
5078
5079	// CreativeGroupAssignments: Creative group assignments for this
5080	// creative assignment. Only one assignment per creative group number is
5081	// allowed for a maximum of two assignments.
5082	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
5083
5084	// CreativeId: ID of the creative to be assigned. This is a required
5085	// field.
5086	CreativeId int64 `json:"creativeId,omitempty,string"`
5087
5088	// CreativeIdDimensionValue: Dimension value for the ID of the creative.
5089	// This is a read-only, auto-generated field.
5090	CreativeIdDimensionValue *DimensionValue `json:"creativeIdDimensionValue,omitempty"`
5091
5092	// EndTime: Date and time that the assigned creative should stop
5093	// serving. Must be later than the start time.
5094	EndTime string `json:"endTime,omitempty"`
5095
5096	// RichMediaExitOverrides: Rich media exit overrides for this creative
5097	// assignment.
5098	// Applicable when the creative type is any of the following:
5099	// - DISPLAY
5100	// - RICH_MEDIA_INPAGE
5101	// - RICH_MEDIA_INPAGE_FLOATING
5102	// - RICH_MEDIA_IM_EXPAND
5103	// - RICH_MEDIA_EXPANDING
5104	// - RICH_MEDIA_INTERSTITIAL_FLOAT
5105	// - RICH_MEDIA_MOBILE_IN_APP
5106	// - RICH_MEDIA_MULTI_FLOATING
5107	// - RICH_MEDIA_PEEL_DOWN
5108	// - VPAID_LINEAR
5109	// - VPAID_NON_LINEAR
5110	RichMediaExitOverrides []*RichMediaExitOverride `json:"richMediaExitOverrides,omitempty"`
5111
5112	// Sequence: Sequence number of the creative assignment, applicable when
5113	// the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable
5114	// values are 1 to 65535, inclusive.
5115	Sequence int64 `json:"sequence,omitempty"`
5116
5117	// SslCompliant: Whether the creative to be assigned is SSL-compliant.
5118	// This is a read-only field that is auto-generated when the ad is
5119	// inserted or updated.
5120	SslCompliant bool `json:"sslCompliant,omitempty"`
5121
5122	// StartTime: Date and time that the assigned creative should start
5123	// serving.
5124	StartTime string `json:"startTime,omitempty"`
5125
5126	// Weight: Weight of the creative assignment, applicable when the
5127	// rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater
5128	// than or equal to 1.
5129	Weight int64 `json:"weight,omitempty"`
5130
5131	// ForceSendFields is a list of field names (e.g. "Active") to
5132	// unconditionally include in API requests. By default, fields with
5133	// empty values are omitted from API requests. However, any non-pointer,
5134	// non-interface field appearing in ForceSendFields will be sent to the
5135	// server regardless of whether the field is empty or not. This may be
5136	// used to include empty fields in Patch requests.
5137	ForceSendFields []string `json:"-"`
5138
5139	// NullFields is a list of field names (e.g. "Active") to include in API
5140	// requests with the JSON null value. By default, fields with empty
5141	// values are omitted from API requests. However, any field with an
5142	// empty value appearing in NullFields will be sent to the server as
5143	// null. It is an error if a field in this list has a non-empty value.
5144	// This may be used to include null fields in Patch requests.
5145	NullFields []string `json:"-"`
5146}
5147
5148func (s *CreativeAssignment) MarshalJSON() ([]byte, error) {
5149	type NoMethod CreativeAssignment
5150	raw := NoMethod(*s)
5151	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5152}
5153
5154// CreativeClickThroughUrl: Click-through URL
5155type CreativeClickThroughUrl struct {
5156	// ComputedClickThroughUrl: Read-only convenience field representing the
5157	// actual URL that will be used for this click-through. The URL is
5158	// computed as follows:
5159	// - If landingPageId is specified then that landing page's URL is
5160	// assigned to this field.
5161	// - Otherwise, the customClickThroughUrl is assigned to this field.
5162	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
5163
5164	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
5165	// landingPageId field is left unset.
5166	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
5167
5168	// LandingPageId: ID of the landing page for the click-through URL.
5169	LandingPageId int64 `json:"landingPageId,omitempty,string"`
5170
5171	// ForceSendFields is a list of field names (e.g.
5172	// "ComputedClickThroughUrl") to unconditionally include in API
5173	// requests. By default, fields with empty values are omitted from API
5174	// requests. However, any non-pointer, non-interface field appearing in
5175	// ForceSendFields will be sent to the server regardless of whether the
5176	// field is empty or not. This may be used to include empty fields in
5177	// Patch requests.
5178	ForceSendFields []string `json:"-"`
5179
5180	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
5181	// to include in API requests with the JSON null value. By default,
5182	// fields with empty values are omitted from API requests. However, any
5183	// field with an empty value appearing in NullFields will be sent to the
5184	// server as null. It is an error if a field in this list has a
5185	// non-empty value. This may be used to include null fields in Patch
5186	// requests.
5187	NullFields []string `json:"-"`
5188}
5189
5190func (s *CreativeClickThroughUrl) MarshalJSON() ([]byte, error) {
5191	type NoMethod CreativeClickThroughUrl
5192	raw := NoMethod(*s)
5193	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5194}
5195
5196// CreativeCustomEvent: Creative Custom Event.
5197type CreativeCustomEvent struct {
5198	// AdvertiserCustomEventId: Unique ID of this event used by Reporting
5199	// and Data Transfer. This is a read-only field.
5200	AdvertiserCustomEventId int64 `json:"advertiserCustomEventId,omitempty,string"`
5201
5202	// AdvertiserCustomEventName: User-entered name for the event.
5203	AdvertiserCustomEventName string `json:"advertiserCustomEventName,omitempty"`
5204
5205	// AdvertiserCustomEventType: Type of the event. This is a read-only
5206	// field.
5207	//
5208	// Possible values:
5209	//   "ADVERTISER_EVENT_COUNTER"
5210	//   "ADVERTISER_EVENT_EXIT"
5211	//   "ADVERTISER_EVENT_TIMER"
5212	AdvertiserCustomEventType string `json:"advertiserCustomEventType,omitempty"`
5213
5214	// ArtworkLabel: Artwork label column, used to link events in Campaign
5215	// Manager back to events in Studio. This is a required field and should
5216	// not be modified after insertion.
5217	ArtworkLabel string `json:"artworkLabel,omitempty"`
5218
5219	// ArtworkType: Artwork type used by the creative.This is a read-only
5220	// field.
5221	//
5222	// Possible values:
5223	//   "ARTWORK_TYPE_FLASH"
5224	//   "ARTWORK_TYPE_HTML5"
5225	//   "ARTWORK_TYPE_IMAGE"
5226	//   "ARTWORK_TYPE_MIXED"
5227	ArtworkType string `json:"artworkType,omitempty"`
5228
5229	// ExitClickThroughUrl: Exit click-through URL for the event. This field
5230	// is used only for exit events.
5231	ExitClickThroughUrl *CreativeClickThroughUrl `json:"exitClickThroughUrl,omitempty"`
5232
5233	// Id: ID of this event. This is a required field and should not be
5234	// modified after insertion.
5235	Id int64 `json:"id,omitempty,string"`
5236
5237	// PopupWindowProperties: Properties for rich media popup windows. This
5238	// field is used only for exit events.
5239	PopupWindowProperties *PopupWindowProperties `json:"popupWindowProperties,omitempty"`
5240
5241	// TargetType: Target type used by the event.
5242	//
5243	// Possible values:
5244	//   "TARGET_BLANK"
5245	//   "TARGET_PARENT"
5246	//   "TARGET_POPUP"
5247	//   "TARGET_SELF"
5248	//   "TARGET_TOP"
5249	TargetType string `json:"targetType,omitempty"`
5250
5251	// VideoReportingId: Video reporting ID, used to differentiate multiple
5252	// videos in a single creative. This is a read-only field.
5253	VideoReportingId string `json:"videoReportingId,omitempty"`
5254
5255	// ForceSendFields is a list of field names (e.g.
5256	// "AdvertiserCustomEventId") to unconditionally include in API
5257	// requests. By default, fields with empty values are omitted from API
5258	// requests. However, any non-pointer, non-interface field appearing in
5259	// ForceSendFields will be sent to the server regardless of whether the
5260	// field is empty or not. This may be used to include empty fields in
5261	// Patch requests.
5262	ForceSendFields []string `json:"-"`
5263
5264	// NullFields is a list of field names (e.g. "AdvertiserCustomEventId")
5265	// to include in API requests with the JSON null value. By default,
5266	// fields with empty values are omitted from API requests. However, any
5267	// field with an empty value appearing in NullFields will be sent to the
5268	// server as null. It is an error if a field in this list has a
5269	// non-empty value. This may be used to include null fields in Patch
5270	// requests.
5271	NullFields []string `json:"-"`
5272}
5273
5274func (s *CreativeCustomEvent) MarshalJSON() ([]byte, error) {
5275	type NoMethod CreativeCustomEvent
5276	raw := NoMethod(*s)
5277	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5278}
5279
5280// CreativeField: Contains properties of a creative field.
5281type CreativeField struct {
5282	// AccountId: Account ID of this creative field. This is a read-only
5283	// field that can be left blank.
5284	AccountId int64 `json:"accountId,omitempty,string"`
5285
5286	// AdvertiserId: Advertiser ID of this creative field. This is a
5287	// required field on insertion.
5288	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5289
5290	// AdvertiserIdDimensionValue: Dimension value for the ID of the
5291	// advertiser. This is a read-only, auto-generated field.
5292	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
5293
5294	// Id: ID of this creative field. This is a read-only, auto-generated
5295	// field.
5296	Id int64 `json:"id,omitempty,string"`
5297
5298	// Kind: Identifies what kind of resource this is. Value: the fixed
5299	// string "dfareporting#creativeField".
5300	Kind string `json:"kind,omitempty"`
5301
5302	// Name: Name of this creative field. This is a required field and must
5303	// be less than 256 characters long and unique among creative fields of
5304	// the same advertiser.
5305	Name string `json:"name,omitempty"`
5306
5307	// SubaccountId: Subaccount ID of this creative field. This is a
5308	// read-only field that can be left blank.
5309	SubaccountId int64 `json:"subaccountId,omitempty,string"`
5310
5311	// ServerResponse contains the HTTP response code and headers from the
5312	// server.
5313	googleapi.ServerResponse `json:"-"`
5314
5315	// ForceSendFields is a list of field names (e.g. "AccountId") to
5316	// unconditionally include in API requests. By default, fields with
5317	// empty values are omitted from API requests. However, any non-pointer,
5318	// non-interface field appearing in ForceSendFields will be sent to the
5319	// server regardless of whether the field is empty or not. This may be
5320	// used to include empty fields in Patch requests.
5321	ForceSendFields []string `json:"-"`
5322
5323	// NullFields is a list of field names (e.g. "AccountId") to include in
5324	// API requests with the JSON null value. By default, fields with empty
5325	// values are omitted from API requests. However, any field with an
5326	// empty value appearing in NullFields will be sent to the server as
5327	// null. It is an error if a field in this list has a non-empty value.
5328	// This may be used to include null fields in Patch requests.
5329	NullFields []string `json:"-"`
5330}
5331
5332func (s *CreativeField) MarshalJSON() ([]byte, error) {
5333	type NoMethod CreativeField
5334	raw := NoMethod(*s)
5335	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5336}
5337
5338// CreativeFieldAssignment: Creative Field Assignment.
5339type CreativeFieldAssignment struct {
5340	// CreativeFieldId: ID of the creative field.
5341	CreativeFieldId int64 `json:"creativeFieldId,omitempty,string"`
5342
5343	// CreativeFieldValueId: ID of the creative field value.
5344	CreativeFieldValueId int64 `json:"creativeFieldValueId,omitempty,string"`
5345
5346	// ForceSendFields is a list of field names (e.g. "CreativeFieldId") to
5347	// unconditionally include in API requests. By default, fields with
5348	// empty values are omitted from API requests. However, any non-pointer,
5349	// non-interface field appearing in ForceSendFields will be sent to the
5350	// server regardless of whether the field is empty or not. This may be
5351	// used to include empty fields in Patch requests.
5352	ForceSendFields []string `json:"-"`
5353
5354	// NullFields is a list of field names (e.g. "CreativeFieldId") to
5355	// include in API requests with the JSON null value. By default, fields
5356	// with empty values are omitted from API requests. However, any field
5357	// with an empty value appearing in NullFields will be sent to the
5358	// server as null. It is an error if a field in this list has a
5359	// non-empty value. This may be used to include null fields in Patch
5360	// requests.
5361	NullFields []string `json:"-"`
5362}
5363
5364func (s *CreativeFieldAssignment) MarshalJSON() ([]byte, error) {
5365	type NoMethod CreativeFieldAssignment
5366	raw := NoMethod(*s)
5367	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5368}
5369
5370// CreativeFieldValue: Contains properties of a creative field value.
5371type CreativeFieldValue struct {
5372	// Id: ID of this creative field value. This is a read-only,
5373	// auto-generated field.
5374	Id int64 `json:"id,omitempty,string"`
5375
5376	// Kind: Identifies what kind of resource this is. Value: the fixed
5377	// string "dfareporting#creativeFieldValue".
5378	Kind string `json:"kind,omitempty"`
5379
5380	// Value: Value of this creative field value. It needs to be less than
5381	// 256 characters in length and unique per creative field.
5382	Value string `json:"value,omitempty"`
5383
5384	// ServerResponse contains the HTTP response code and headers from the
5385	// server.
5386	googleapi.ServerResponse `json:"-"`
5387
5388	// ForceSendFields is a list of field names (e.g. "Id") to
5389	// unconditionally include in API requests. By default, fields with
5390	// empty values are omitted from API requests. However, any non-pointer,
5391	// non-interface field appearing in ForceSendFields will be sent to the
5392	// server regardless of whether the field is empty or not. This may be
5393	// used to include empty fields in Patch requests.
5394	ForceSendFields []string `json:"-"`
5395
5396	// NullFields is a list of field names (e.g. "Id") to include in API
5397	// requests with the JSON null value. By default, fields with empty
5398	// values are omitted from API requests. However, any field with an
5399	// empty value appearing in NullFields will be sent to the server as
5400	// null. It is an error if a field in this list has a non-empty value.
5401	// This may be used to include null fields in Patch requests.
5402	NullFields []string `json:"-"`
5403}
5404
5405func (s *CreativeFieldValue) MarshalJSON() ([]byte, error) {
5406	type NoMethod CreativeFieldValue
5407	raw := NoMethod(*s)
5408	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5409}
5410
5411// CreativeFieldValuesListResponse: Creative Field Value List Response
5412type CreativeFieldValuesListResponse struct {
5413	// CreativeFieldValues: Creative field value collection.
5414	CreativeFieldValues []*CreativeFieldValue `json:"creativeFieldValues,omitempty"`
5415
5416	// Kind: Identifies what kind of resource this is. Value: the fixed
5417	// string "dfareporting#creativeFieldValuesListResponse".
5418	Kind string `json:"kind,omitempty"`
5419
5420	// NextPageToken: Pagination token to be used for the next list
5421	// operation.
5422	NextPageToken string `json:"nextPageToken,omitempty"`
5423
5424	// ServerResponse contains the HTTP response code and headers from the
5425	// server.
5426	googleapi.ServerResponse `json:"-"`
5427
5428	// ForceSendFields is a list of field names (e.g. "CreativeFieldValues")
5429	// to unconditionally include in API requests. By default, fields with
5430	// empty values are omitted from API requests. However, any non-pointer,
5431	// non-interface field appearing in ForceSendFields will be sent to the
5432	// server regardless of whether the field is empty or not. This may be
5433	// used to include empty fields in Patch requests.
5434	ForceSendFields []string `json:"-"`
5435
5436	// NullFields is a list of field names (e.g. "CreativeFieldValues") to
5437	// include in API requests with the JSON null value. By default, fields
5438	// with empty values are omitted from API requests. However, any field
5439	// with an empty value appearing in NullFields will be sent to the
5440	// server as null. It is an error if a field in this list has a
5441	// non-empty value. This may be used to include null fields in Patch
5442	// requests.
5443	NullFields []string `json:"-"`
5444}
5445
5446func (s *CreativeFieldValuesListResponse) MarshalJSON() ([]byte, error) {
5447	type NoMethod CreativeFieldValuesListResponse
5448	raw := NoMethod(*s)
5449	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5450}
5451
5452// CreativeFieldsListResponse: Creative Field List Response
5453type CreativeFieldsListResponse struct {
5454	// CreativeFields: Creative field collection.
5455	CreativeFields []*CreativeField `json:"creativeFields,omitempty"`
5456
5457	// Kind: Identifies what kind of resource this is. Value: the fixed
5458	// string "dfareporting#creativeFieldsListResponse".
5459	Kind string `json:"kind,omitempty"`
5460
5461	// NextPageToken: Pagination token to be used for the next list
5462	// operation.
5463	NextPageToken string `json:"nextPageToken,omitempty"`
5464
5465	// ServerResponse contains the HTTP response code and headers from the
5466	// server.
5467	googleapi.ServerResponse `json:"-"`
5468
5469	// ForceSendFields is a list of field names (e.g. "CreativeFields") to
5470	// unconditionally include in API requests. By default, fields with
5471	// empty values are omitted from API requests. However, any non-pointer,
5472	// non-interface field appearing in ForceSendFields will be sent to the
5473	// server regardless of whether the field is empty or not. This may be
5474	// used to include empty fields in Patch requests.
5475	ForceSendFields []string `json:"-"`
5476
5477	// NullFields is a list of field names (e.g. "CreativeFields") to
5478	// include in API requests with the JSON null value. By default, fields
5479	// with empty values are omitted from API requests. However, any field
5480	// with an empty value appearing in NullFields will be sent to the
5481	// server as null. It is an error if a field in this list has a
5482	// non-empty value. This may be used to include null fields in Patch
5483	// requests.
5484	NullFields []string `json:"-"`
5485}
5486
5487func (s *CreativeFieldsListResponse) MarshalJSON() ([]byte, error) {
5488	type NoMethod CreativeFieldsListResponse
5489	raw := NoMethod(*s)
5490	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5491}
5492
5493// CreativeGroup: Contains properties of a creative group.
5494type CreativeGroup struct {
5495	// AccountId: Account ID of this creative group. This is a read-only
5496	// field that can be left blank.
5497	AccountId int64 `json:"accountId,omitempty,string"`
5498
5499	// AdvertiserId: Advertiser ID of this creative group. This is a
5500	// required field on insertion.
5501	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5502
5503	// AdvertiserIdDimensionValue: Dimension value for the ID of the
5504	// advertiser. This is a read-only, auto-generated field.
5505	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
5506
5507	// GroupNumber: Subgroup of the creative group. Assign your creative
5508	// groups to a subgroup in order to filter or manage them more easily.
5509	// This field is required on insertion and is read-only after insertion.
5510	// Acceptable values are 1 to 2, inclusive.
5511	GroupNumber int64 `json:"groupNumber,omitempty"`
5512
5513	// Id: ID of this creative group. This is a read-only, auto-generated
5514	// field.
5515	Id int64 `json:"id,omitempty,string"`
5516
5517	// Kind: Identifies what kind of resource this is. Value: the fixed
5518	// string "dfareporting#creativeGroup".
5519	Kind string `json:"kind,omitempty"`
5520
5521	// Name: Name of this creative group. This is a required field and must
5522	// be less than 256 characters long and unique among creative groups of
5523	// the same advertiser.
5524	Name string `json:"name,omitempty"`
5525
5526	// SubaccountId: Subaccount ID of this creative group. This is a
5527	// read-only field that can be left blank.
5528	SubaccountId int64 `json:"subaccountId,omitempty,string"`
5529
5530	// ServerResponse contains the HTTP response code and headers from the
5531	// server.
5532	googleapi.ServerResponse `json:"-"`
5533
5534	// ForceSendFields is a list of field names (e.g. "AccountId") to
5535	// 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. "AccountId") to include in
5543	// API requests with the JSON null value. By default, fields with empty
5544	// values are omitted from API requests. However, any field with an
5545	// empty value appearing in NullFields will be sent to the server as
5546	// null. It is an error if a field in this list has a non-empty value.
5547	// This may be used to include null fields in Patch requests.
5548	NullFields []string `json:"-"`
5549}
5550
5551func (s *CreativeGroup) MarshalJSON() ([]byte, error) {
5552	type NoMethod CreativeGroup
5553	raw := NoMethod(*s)
5554	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5555}
5556
5557// CreativeGroupAssignment: Creative Group Assignment.
5558type CreativeGroupAssignment struct {
5559	// CreativeGroupId: ID of the creative group to be assigned.
5560	CreativeGroupId int64 `json:"creativeGroupId,omitempty,string"`
5561
5562	// CreativeGroupNumber: Creative group number of the creative group
5563	// assignment.
5564	//
5565	// Possible values:
5566	//   "CREATIVE_GROUP_ONE"
5567	//   "CREATIVE_GROUP_TWO"
5568	CreativeGroupNumber string `json:"creativeGroupNumber,omitempty"`
5569
5570	// ForceSendFields is a list of field names (e.g. "CreativeGroupId") to
5571	// unconditionally include in API requests. By default, fields with
5572	// empty values are omitted from API requests. However, any non-pointer,
5573	// non-interface field appearing in ForceSendFields will be sent to the
5574	// server regardless of whether the field is empty or not. This may be
5575	// used to include empty fields in Patch requests.
5576	ForceSendFields []string `json:"-"`
5577
5578	// NullFields is a list of field names (e.g. "CreativeGroupId") to
5579	// include in API requests with the JSON null value. By default, fields
5580	// with empty values are omitted from API requests. However, any field
5581	// with an empty value appearing in NullFields will be sent to the
5582	// server as null. It is an error if a field in this list has a
5583	// non-empty value. This may be used to include null fields in Patch
5584	// requests.
5585	NullFields []string `json:"-"`
5586}
5587
5588func (s *CreativeGroupAssignment) MarshalJSON() ([]byte, error) {
5589	type NoMethod CreativeGroupAssignment
5590	raw := NoMethod(*s)
5591	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5592}
5593
5594// CreativeGroupsListResponse: Creative Group List Response
5595type CreativeGroupsListResponse struct {
5596	// CreativeGroups: Creative group collection.
5597	CreativeGroups []*CreativeGroup `json:"creativeGroups,omitempty"`
5598
5599	// Kind: Identifies what kind of resource this is. Value: the fixed
5600	// string "dfareporting#creativeGroupsListResponse".
5601	Kind string `json:"kind,omitempty"`
5602
5603	// NextPageToken: Pagination token to be used for the next list
5604	// operation.
5605	NextPageToken string `json:"nextPageToken,omitempty"`
5606
5607	// ServerResponse contains the HTTP response code and headers from the
5608	// server.
5609	googleapi.ServerResponse `json:"-"`
5610
5611	// ForceSendFields is a list of field names (e.g. "CreativeGroups") to
5612	// unconditionally include in API requests. By default, fields with
5613	// empty values are omitted from API requests. However, any non-pointer,
5614	// non-interface field appearing in ForceSendFields will be sent to the
5615	// server regardless of whether the field is empty or not. This may be
5616	// used to include empty fields in Patch requests.
5617	ForceSendFields []string `json:"-"`
5618
5619	// NullFields is a list of field names (e.g. "CreativeGroups") to
5620	// include in API requests with the JSON null value. By default, fields
5621	// with empty values are omitted from API requests. However, any field
5622	// with an empty value appearing in NullFields will be sent to the
5623	// server as null. It is an error if a field in this list has a
5624	// non-empty value. This may be used to include null fields in Patch
5625	// requests.
5626	NullFields []string `json:"-"`
5627}
5628
5629func (s *CreativeGroupsListResponse) MarshalJSON() ([]byte, error) {
5630	type NoMethod CreativeGroupsListResponse
5631	raw := NoMethod(*s)
5632	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5633}
5634
5635// CreativeOptimizationConfiguration: Creative optimization settings.
5636type CreativeOptimizationConfiguration struct {
5637	// Id: ID of this creative optimization config. This field is
5638	// auto-generated when the campaign is inserted or updated. It can be
5639	// null for existing campaigns.
5640	Id int64 `json:"id,omitempty,string"`
5641
5642	// Name: Name of this creative optimization config. This is a required
5643	// field and must be less than 129 characters long.
5644	Name string `json:"name,omitempty"`
5645
5646	// OptimizationActivitys: List of optimization activities associated
5647	// with this configuration.
5648	OptimizationActivitys []*OptimizationActivity `json:"optimizationActivitys,omitempty"`
5649
5650	// OptimizationModel: Optimization model for this configuration.
5651	//
5652	// Possible values:
5653	//   "CLICK"
5654	//   "POST_CLICK"
5655	//   "POST_CLICK_AND_IMPRESSION"
5656	//   "POST_IMPRESSION"
5657	//   "VIDEO_COMPLETION"
5658	OptimizationModel string `json:"optimizationModel,omitempty"`
5659
5660	// ForceSendFields is a list of field names (e.g. "Id") to
5661	// unconditionally include in API requests. By default, fields with
5662	// empty values are omitted from API requests. However, any non-pointer,
5663	// non-interface field appearing in ForceSendFields will be sent to the
5664	// server regardless of whether the field is empty or not. This may be
5665	// used to include empty fields in Patch requests.
5666	ForceSendFields []string `json:"-"`
5667
5668	// NullFields is a list of field names (e.g. "Id") to include in API
5669	// requests with the JSON null value. By default, fields with empty
5670	// values are omitted from API requests. However, any field with an
5671	// empty value appearing in NullFields will be sent to the server as
5672	// null. It is an error if a field in this list has a non-empty value.
5673	// This may be used to include null fields in Patch requests.
5674	NullFields []string `json:"-"`
5675}
5676
5677func (s *CreativeOptimizationConfiguration) MarshalJSON() ([]byte, error) {
5678	type NoMethod CreativeOptimizationConfiguration
5679	raw := NoMethod(*s)
5680	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5681}
5682
5683// CreativeRotation: Creative Rotation.
5684type CreativeRotation struct {
5685	// CreativeAssignments: Creative assignments in this creative rotation.
5686	CreativeAssignments []*CreativeAssignment `json:"creativeAssignments,omitempty"`
5687
5688	// CreativeOptimizationConfigurationId: Creative optimization
5689	// configuration that is used by this ad. It should refer to one of the
5690	// existing optimization configurations in the ad's campaign. If it is
5691	// unset or set to 0, then the campaign's default optimization
5692	// configuration will be used for this ad.
5693	CreativeOptimizationConfigurationId int64 `json:"creativeOptimizationConfigurationId,omitempty,string"`
5694
5695	// Type: Type of creative rotation. Can be used to specify whether to
5696	// use sequential or random rotation.
5697	//
5698	// Possible values:
5699	//   "CREATIVE_ROTATION_TYPE_RANDOM"
5700	//   "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
5701	Type string `json:"type,omitempty"`
5702
5703	// WeightCalculationStrategy: Strategy for calculating weights. Used
5704	// with CREATIVE_ROTATION_TYPE_RANDOM.
5705	//
5706	// Possible values:
5707	//   "WEIGHT_STRATEGY_CUSTOM"
5708	//   "WEIGHT_STRATEGY_EQUAL"
5709	//   "WEIGHT_STRATEGY_HIGHEST_CTR"
5710	//   "WEIGHT_STRATEGY_OPTIMIZED"
5711	WeightCalculationStrategy string `json:"weightCalculationStrategy,omitempty"`
5712
5713	// ForceSendFields is a list of field names (e.g. "CreativeAssignments")
5714	// to unconditionally include in API requests. By default, fields with
5715	// empty values are omitted from API requests. However, any non-pointer,
5716	// non-interface field appearing in ForceSendFields will be sent to the
5717	// server regardless of whether the field is empty or not. This may be
5718	// used to include empty fields in Patch requests.
5719	ForceSendFields []string `json:"-"`
5720
5721	// NullFields is a list of field names (e.g. "CreativeAssignments") to
5722	// include in API requests with the JSON null value. By default, fields
5723	// with empty values are omitted from API requests. However, any field
5724	// with an empty value appearing in NullFields will be sent to the
5725	// server as null. It is an error if a field in this list has a
5726	// non-empty value. This may be used to include null fields in Patch
5727	// requests.
5728	NullFields []string `json:"-"`
5729}
5730
5731func (s *CreativeRotation) MarshalJSON() ([]byte, error) {
5732	type NoMethod CreativeRotation
5733	raw := NoMethod(*s)
5734	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5735}
5736
5737// CreativesListResponse: Creative List Response
5738type CreativesListResponse struct {
5739	// Creatives: Creative collection.
5740	Creatives []*Creative `json:"creatives,omitempty"`
5741
5742	// Kind: Identifies what kind of resource this is. Value: the fixed
5743	// string "dfareporting#creativesListResponse".
5744	Kind string `json:"kind,omitempty"`
5745
5746	// NextPageToken: Pagination token to be used for the next list
5747	// operation.
5748	NextPageToken string `json:"nextPageToken,omitempty"`
5749
5750	// ServerResponse contains the HTTP response code and headers from the
5751	// server.
5752	googleapi.ServerResponse `json:"-"`
5753
5754	// ForceSendFields is a list of field names (e.g. "Creatives") to
5755	// unconditionally include in API requests. By default, fields with
5756	// empty values are omitted from API requests. However, any non-pointer,
5757	// non-interface field appearing in ForceSendFields will be sent to the
5758	// server regardless of whether the field is empty or not. This may be
5759	// used to include empty fields in Patch requests.
5760	ForceSendFields []string `json:"-"`
5761
5762	// NullFields is a list of field names (e.g. "Creatives") to include in
5763	// API requests with the JSON null value. By default, fields with empty
5764	// values are omitted from API requests. However, any field with an
5765	// empty value appearing in NullFields will be sent to the server as
5766	// null. It is an error if a field in this list has a non-empty value.
5767	// This may be used to include null fields in Patch requests.
5768	NullFields []string `json:"-"`
5769}
5770
5771func (s *CreativesListResponse) MarshalJSON() ([]byte, error) {
5772	type NoMethod CreativesListResponse
5773	raw := NoMethod(*s)
5774	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5775}
5776
5777// CrossDimensionReachReportCompatibleFields: Represents fields that are
5778// compatible to be selected for a report of type
5779// "CROSS_DIMENSION_REACH".
5780type CrossDimensionReachReportCompatibleFields struct {
5781	// Breakdown: Dimensions which are compatible to be selected in the
5782	// "breakdown" section of the report.
5783	Breakdown []*Dimension `json:"breakdown,omitempty"`
5784
5785	// DimensionFilters: Dimensions which are compatible to be selected in
5786	// the "dimensionFilters" section of the report.
5787	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
5788
5789	// Kind: The kind of resource this is, in this case
5790	// dfareporting#crossDimensionReachReportCompatibleFields.
5791	Kind string `json:"kind,omitempty"`
5792
5793	// Metrics: Metrics which are compatible to be selected in the
5794	// "metricNames" section of the report.
5795	Metrics []*Metric `json:"metrics,omitempty"`
5796
5797	// OverlapMetrics: Metrics which are compatible to be selected in the
5798	// "overlapMetricNames" section of the report.
5799	OverlapMetrics []*Metric `json:"overlapMetrics,omitempty"`
5800
5801	// ForceSendFields is a list of field names (e.g. "Breakdown") to
5802	// unconditionally include in API requests. By default, fields with
5803	// empty values are omitted from API requests. However, any non-pointer,
5804	// non-interface field appearing in ForceSendFields will be sent to the
5805	// server regardless of whether the field is empty or not. This may be
5806	// used to include empty fields in Patch requests.
5807	ForceSendFields []string `json:"-"`
5808
5809	// NullFields is a list of field names (e.g. "Breakdown") to include in
5810	// API requests with the JSON null value. By default, fields with empty
5811	// values are omitted from API requests. However, any field with an
5812	// empty value appearing in NullFields will be sent to the server as
5813	// null. It is an error if a field in this list has a non-empty value.
5814	// This may be used to include null fields in Patch requests.
5815	NullFields []string `json:"-"`
5816}
5817
5818func (s *CrossDimensionReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
5819	type NoMethod CrossDimensionReachReportCompatibleFields
5820	raw := NoMethod(*s)
5821	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5822}
5823
5824// CustomEvent: Experimental feature (no support provided) A custom
5825// event represents a third party impression, a third party click, an
5826// annotation on a first party impression, or an annotation on a first
5827// party click.
5828type CustomEvent struct {
5829	// AnnotateClickEvent: Annotate a click event.
5830	AnnotateClickEvent *CustomEventClickAnnotation `json:"annotateClickEvent,omitempty"`
5831
5832	// CustomVariables: Custom variables associated with the event.
5833	CustomVariables []*CustomVariable `json:"customVariables,omitempty"`
5834
5835	// EventType: The type of event. If INSERT, the fields in insertEvent
5836	// need to be populated. If ANNOTATE_CLICK, the fields in
5837	// annotateClickEvent need to be populated. A custom event cannot have
5838	// both insertEvent and annotateClickEvent populated.
5839	//
5840	// Possible values:
5841	//   "ANNOTATE"
5842	//   "INSERT"
5843	//   "UNKNOWN"
5844	EventType string `json:"eventType,omitempty"`
5845
5846	// FloodlightConfigurationId: Floodlight configuration ID of the
5847	// advertiser the event is linked to. This is a required field.
5848	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
5849
5850	// InsertEvent: Insert custom event.
5851	InsertEvent *CustomEventInsert `json:"insertEvent,omitempty"`
5852
5853	// Kind: Identifies what kind of resource this is. Value: the fixed
5854	// string "dfareporting#customEvent".
5855	Kind string `json:"kind,omitempty"`
5856
5857	// Ordinal: The ordinal of this custom event. This is a required field.
5858	Ordinal string `json:"ordinal,omitempty"`
5859
5860	// TimestampMicros: The timestamp of this custom event, in Unix epoch
5861	// micros. This is a required field.
5862	TimestampMicros int64 `json:"timestampMicros,omitempty,string"`
5863
5864	// ForceSendFields is a list of field names (e.g. "AnnotateClickEvent")
5865	// to unconditionally include in API requests. By default, fields with
5866	// empty values are omitted from API requests. However, any non-pointer,
5867	// non-interface field appearing in ForceSendFields will be sent to the
5868	// server regardless of whether the field is empty or not. This may be
5869	// used to include empty fields in Patch requests.
5870	ForceSendFields []string `json:"-"`
5871
5872	// NullFields is a list of field names (e.g. "AnnotateClickEvent") to
5873	// include in API requests with the JSON null value. By default, fields
5874	// with empty values are omitted from API requests. However, any field
5875	// with an empty value appearing in NullFields will be sent to the
5876	// server as null. It is an error if a field in this list has a
5877	// non-empty value. This may be used to include null fields in Patch
5878	// requests.
5879	NullFields []string `json:"-"`
5880}
5881
5882func (s *CustomEvent) MarshalJSON() ([]byte, error) {
5883	type NoMethod CustomEvent
5884	raw := NoMethod(*s)
5885	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5886}
5887
5888// CustomEventClickAnnotation: Annotate a click event.
5889type CustomEventClickAnnotation struct {
5890	// Gclid: The Google click ID. Use this field to annotate the click
5891	// associated with the gclid.
5892	Gclid string `json:"gclid,omitempty"`
5893
5894	// Kind: Identifies what kind of resource this is. Value: the fixed
5895	// string "dfareporting#customEventClickAnnotation".
5896	Kind string `json:"kind,omitempty"`
5897
5898	// ForceSendFields is a list of field names (e.g. "Gclid") to
5899	// unconditionally include in API requests. By default, fields with
5900	// empty values are omitted from API requests. However, any non-pointer,
5901	// non-interface field appearing in ForceSendFields will be sent to the
5902	// server regardless of whether the field is empty or not. This may be
5903	// used to include empty fields in Patch requests.
5904	ForceSendFields []string `json:"-"`
5905
5906	// NullFields is a list of field names (e.g. "Gclid") to include in API
5907	// requests with the JSON null value. By default, fields with empty
5908	// values are omitted from API requests. However, any field with an
5909	// empty value appearing in NullFields will be sent to the server as
5910	// null. It is an error if a field in this list has a non-empty value.
5911	// This may be used to include null fields in Patch requests.
5912	NullFields []string `json:"-"`
5913}
5914
5915func (s *CustomEventClickAnnotation) MarshalJSON() ([]byte, error) {
5916	type NoMethod CustomEventClickAnnotation
5917	raw := NoMethod(*s)
5918	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5919}
5920
5921// CustomEventError: The error code and description for a custom event
5922// that failed to insert.
5923type CustomEventError struct {
5924	// Code: The error code.
5925	//
5926	// Possible values:
5927	//   "INTERNAL"
5928	//   "INVALID_ARGUMENT"
5929	//   "NOT_FOUND"
5930	//   "PERMISSION_DENIED"
5931	//   "UNKNOWN"
5932	Code string `json:"code,omitempty"`
5933
5934	// Kind: Identifies what kind of resource this is. Value: the fixed
5935	// string "dfareporting#customEventError".
5936	Kind string `json:"kind,omitempty"`
5937
5938	// Message: A description of the error.
5939	Message string `json:"message,omitempty"`
5940
5941	// ForceSendFields is a list of field names (e.g. "Code") to
5942	// unconditionally include in API requests. By default, fields with
5943	// empty values are omitted from API requests. However, any non-pointer,
5944	// non-interface field appearing in ForceSendFields will be sent to the
5945	// server regardless of whether the field is empty or not. This may be
5946	// used to include empty fields in Patch requests.
5947	ForceSendFields []string `json:"-"`
5948
5949	// NullFields is a list of field names (e.g. "Code") to include in API
5950	// requests with the JSON null value. By default, fields with empty
5951	// values are omitted from API requests. However, any field with an
5952	// empty value appearing in NullFields will be sent to the server as
5953	// null. It is an error if a field in this list has a non-empty value.
5954	// This may be used to include null fields in Patch requests.
5955	NullFields []string `json:"-"`
5956}
5957
5958func (s *CustomEventError) MarshalJSON() ([]byte, error) {
5959	type NoMethod CustomEventError
5960	raw := NoMethod(*s)
5961	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5962}
5963
5964// CustomEventInsert: Custom event to be inserted.
5965type CustomEventInsert struct {
5966	// CmDimensions: Campaign Manager dimensions associated with the event.
5967	CmDimensions *CampaignManagerIds `json:"cmDimensions,omitempty"`
5968
5969	// Dv3Dimensions: DV360 dimensions associated with the event.
5970	Dv3Dimensions *DV3Ids `json:"dv3Dimensions,omitempty"`
5971
5972	// InsertEventType: The type of event to insert.
5973	//
5974	// Possible values:
5975	//   "CLICK"
5976	//   "IMPRESSION"
5977	//   "UNKNOWN"
5978	InsertEventType string `json:"insertEventType,omitempty"`
5979
5980	// Kind: Identifies what kind of resource this is. Value: the fixed
5981	// string "dfareporting#customEventInsert".
5982	Kind string `json:"kind,omitempty"`
5983
5984	// MatchId: The match ID field. A match ID is your own first-party
5985	// identifier that has been synced with Google using the match ID
5986	// feature in Floodlight. This field is mutually exclusive with
5987	// mobileDeviceId, and at least one of the two fields is required.
5988	MatchId string `json:"matchId,omitempty"`
5989
5990	// MobileDeviceId: The mobile device ID. This field is mutually
5991	// exclusive with matchId, and at least one of the two fields is
5992	// required.
5993	MobileDeviceId string `json:"mobileDeviceId,omitempty"`
5994
5995	// ForceSendFields is a list of field names (e.g. "CmDimensions") to
5996	// unconditionally include in API requests. By default, fields with
5997	// empty values are omitted from API requests. However, any non-pointer,
5998	// non-interface field appearing in ForceSendFields will be sent to the
5999	// server regardless of whether the field is empty or not. This may be
6000	// used to include empty fields in Patch requests.
6001	ForceSendFields []string `json:"-"`
6002
6003	// NullFields is a list of field names (e.g. "CmDimensions") to include
6004	// in API requests with the JSON null value. By default, fields with
6005	// empty values are omitted from API requests. However, any field with
6006	// an empty value appearing in NullFields will be sent to the server as
6007	// null. It is an error if a field in this list has a non-empty value.
6008	// This may be used to include null fields in Patch requests.
6009	NullFields []string `json:"-"`
6010}
6011
6012func (s *CustomEventInsert) MarshalJSON() ([]byte, error) {
6013	type NoMethod CustomEventInsert
6014	raw := NoMethod(*s)
6015	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6016}
6017
6018// CustomEventStatus: The original custom event that was inserted and
6019// whether there were any errors.
6020type CustomEventStatus struct {
6021	// CustomEvent: The original custom event that was inserted.
6022	CustomEvent *CustomEvent `json:"customEvent,omitempty"`
6023
6024	// Errors: A list of errors related to this custom event.
6025	Errors []*CustomEventError `json:"errors,omitempty"`
6026
6027	// Kind: Identifies what kind of resource this is. Value: the fixed
6028	// string "dfareporting#customEventStatus".
6029	Kind string `json:"kind,omitempty"`
6030
6031	// ForceSendFields is a list of field names (e.g. "CustomEvent") to
6032	// unconditionally include in API requests. By default, fields with
6033	// empty values are omitted from API requests. However, any non-pointer,
6034	// non-interface field appearing in ForceSendFields will be sent to the
6035	// server regardless of whether the field is empty or not. This may be
6036	// used to include empty fields in Patch requests.
6037	ForceSendFields []string `json:"-"`
6038
6039	// NullFields is a list of field names (e.g. "CustomEvent") to include
6040	// in API requests with the JSON null value. By default, fields with
6041	// empty values are omitted from API requests. However, any field with
6042	// an empty value appearing in NullFields will be sent to the server as
6043	// null. It is an error if a field in this list has a non-empty value.
6044	// This may be used to include null fields in Patch requests.
6045	NullFields []string `json:"-"`
6046}
6047
6048func (s *CustomEventStatus) MarshalJSON() ([]byte, error) {
6049	type NoMethod CustomEventStatus
6050	raw := NoMethod(*s)
6051	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6052}
6053
6054// CustomEventsBatchInsertRequest: Insert Custom Events Request.
6055type CustomEventsBatchInsertRequest struct {
6056	// CustomEvents: The set of custom events to insert.
6057	CustomEvents []*CustomEvent `json:"customEvents,omitempty"`
6058
6059	// Kind: Identifies what kind of resource this is. Value: the fixed
6060	// string "dfareporting#customEventsBatchInsertRequest".
6061	Kind string `json:"kind,omitempty"`
6062
6063	// ForceSendFields is a list of field names (e.g. "CustomEvents") to
6064	// unconditionally include in API requests. By default, fields with
6065	// empty values are omitted from API requests. However, any non-pointer,
6066	// non-interface field appearing in ForceSendFields will be sent to the
6067	// server regardless of whether the field is empty or not. This may be
6068	// used to include empty fields in Patch requests.
6069	ForceSendFields []string `json:"-"`
6070
6071	// NullFields is a list of field names (e.g. "CustomEvents") to include
6072	// in API requests with the JSON null value. By default, fields with
6073	// empty values are omitted from API requests. However, any field with
6074	// an empty value appearing in NullFields will be sent to the server as
6075	// null. It is an error if a field in this list has a non-empty value.
6076	// This may be used to include null fields in Patch requests.
6077	NullFields []string `json:"-"`
6078}
6079
6080func (s *CustomEventsBatchInsertRequest) MarshalJSON() ([]byte, error) {
6081	type NoMethod CustomEventsBatchInsertRequest
6082	raw := NoMethod(*s)
6083	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6084}
6085
6086// CustomEventsBatchInsertResponse: Insert Custom Events Response.
6087type CustomEventsBatchInsertResponse struct {
6088	// HasFailures: Indicates that some or all custom events failed to
6089	// insert.
6090	HasFailures bool `json:"hasFailures,omitempty"`
6091
6092	// Kind: Identifies what kind of resource this is. Value: the fixed
6093	// string "dfareporting#customEventsBatchInsertResponse".
6094	Kind string `json:"kind,omitempty"`
6095
6096	// Status: The insert status of each custom event. Statuses are returned
6097	// in the same order that conversions are inserted.
6098	Status []*CustomEventStatus `json:"status,omitempty"`
6099
6100	// ServerResponse contains the HTTP response code and headers from the
6101	// server.
6102	googleapi.ServerResponse `json:"-"`
6103
6104	// ForceSendFields is a list of field names (e.g. "HasFailures") to
6105	// unconditionally include in API requests. By default, fields with
6106	// empty values are omitted from API requests. However, any non-pointer,
6107	// non-interface field appearing in ForceSendFields will be sent to the
6108	// server regardless of whether the field is empty or not. This may be
6109	// used to include empty fields in Patch requests.
6110	ForceSendFields []string `json:"-"`
6111
6112	// NullFields is a list of field names (e.g. "HasFailures") to include
6113	// in API requests with the JSON null value. By default, fields with
6114	// empty values are omitted from API requests. However, any field with
6115	// an empty value appearing in NullFields will be sent to the server as
6116	// null. It is an error if a field in this list has a non-empty value.
6117	// This may be used to include null fields in Patch requests.
6118	NullFields []string `json:"-"`
6119}
6120
6121func (s *CustomEventsBatchInsertResponse) MarshalJSON() ([]byte, error) {
6122	type NoMethod CustomEventsBatchInsertResponse
6123	raw := NoMethod(*s)
6124	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6125}
6126
6127// CustomFloodlightVariable: A custom floodlight variable.
6128type CustomFloodlightVariable struct {
6129	// Kind: Identifies what kind of resource this is. Value: the fixed
6130	// string "dfareporting#customFloodlightVariable".
6131	Kind string `json:"kind,omitempty"`
6132
6133	// Type: The type of custom floodlight variable to supply a value for.
6134	// These map to the "u[1-20]=" in the tags.
6135	//
6136	// Possible values:
6137	//   "U1"
6138	//   "U10"
6139	//   "U100"
6140	//   "U11"
6141	//   "U12"
6142	//   "U13"
6143	//   "U14"
6144	//   "U15"
6145	//   "U16"
6146	//   "U17"
6147	//   "U18"
6148	//   "U19"
6149	//   "U2"
6150	//   "U20"
6151	//   "U21"
6152	//   "U22"
6153	//   "U23"
6154	//   "U24"
6155	//   "U25"
6156	//   "U26"
6157	//   "U27"
6158	//   "U28"
6159	//   "U29"
6160	//   "U3"
6161	//   "U30"
6162	//   "U31"
6163	//   "U32"
6164	//   "U33"
6165	//   "U34"
6166	//   "U35"
6167	//   "U36"
6168	//   "U37"
6169	//   "U38"
6170	//   "U39"
6171	//   "U4"
6172	//   "U40"
6173	//   "U41"
6174	//   "U42"
6175	//   "U43"
6176	//   "U44"
6177	//   "U45"
6178	//   "U46"
6179	//   "U47"
6180	//   "U48"
6181	//   "U49"
6182	//   "U5"
6183	//   "U50"
6184	//   "U51"
6185	//   "U52"
6186	//   "U53"
6187	//   "U54"
6188	//   "U55"
6189	//   "U56"
6190	//   "U57"
6191	//   "U58"
6192	//   "U59"
6193	//   "U6"
6194	//   "U60"
6195	//   "U61"
6196	//   "U62"
6197	//   "U63"
6198	//   "U64"
6199	//   "U65"
6200	//   "U66"
6201	//   "U67"
6202	//   "U68"
6203	//   "U69"
6204	//   "U7"
6205	//   "U70"
6206	//   "U71"
6207	//   "U72"
6208	//   "U73"
6209	//   "U74"
6210	//   "U75"
6211	//   "U76"
6212	//   "U77"
6213	//   "U78"
6214	//   "U79"
6215	//   "U8"
6216	//   "U80"
6217	//   "U81"
6218	//   "U82"
6219	//   "U83"
6220	//   "U84"
6221	//   "U85"
6222	//   "U86"
6223	//   "U87"
6224	//   "U88"
6225	//   "U89"
6226	//   "U9"
6227	//   "U90"
6228	//   "U91"
6229	//   "U92"
6230	//   "U93"
6231	//   "U94"
6232	//   "U95"
6233	//   "U96"
6234	//   "U97"
6235	//   "U98"
6236	//   "U99"
6237	Type string `json:"type,omitempty"`
6238
6239	// Value: The value of the custom floodlight variable. The length of
6240	// string must not exceed 50 characters.
6241	Value string `json:"value,omitempty"`
6242
6243	// ForceSendFields is a list of field names (e.g. "Kind") to
6244	// unconditionally include in API requests. By default, fields with
6245	// empty values are omitted from API requests. However, any non-pointer,
6246	// non-interface field appearing in ForceSendFields will be sent to the
6247	// server regardless of whether the field is empty or not. This may be
6248	// used to include empty fields in Patch requests.
6249	ForceSendFields []string `json:"-"`
6250
6251	// NullFields is a list of field names (e.g. "Kind") to include in API
6252	// requests with the JSON null value. By default, fields with empty
6253	// values are omitted from API requests. However, any field with an
6254	// empty value appearing in NullFields will be sent to the server as
6255	// null. It is an error if a field in this list has a non-empty value.
6256	// This may be used to include null fields in Patch requests.
6257	NullFields []string `json:"-"`
6258}
6259
6260func (s *CustomFloodlightVariable) MarshalJSON() ([]byte, error) {
6261	type NoMethod CustomFloodlightVariable
6262	raw := NoMethod(*s)
6263	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6264}
6265
6266// CustomRichMediaEvents: Represents a Custom Rich Media Events group.
6267type CustomRichMediaEvents struct {
6268	// FilteredEventIds: List of custom rich media event IDs. Dimension
6269	// values must be all of type dfa:richMediaEventTypeIdAndName.
6270	FilteredEventIds []*DimensionValue `json:"filteredEventIds,omitempty"`
6271
6272	// Kind: The kind of resource this is, in this case
6273	// dfareporting#customRichMediaEvents.
6274	Kind string `json:"kind,omitempty"`
6275
6276	// ForceSendFields is a list of field names (e.g. "FilteredEventIds") to
6277	// unconditionally include in API requests. By default, fields with
6278	// empty values are omitted from API requests. However, any non-pointer,
6279	// non-interface field appearing in ForceSendFields will be sent to the
6280	// server regardless of whether the field is empty or not. This may be
6281	// used to include empty fields in Patch requests.
6282	ForceSendFields []string `json:"-"`
6283
6284	// NullFields is a list of field names (e.g. "FilteredEventIds") to
6285	// include in API requests with the JSON null value. By default, fields
6286	// with empty values are omitted from API requests. However, any field
6287	// with an empty value appearing in NullFields will be sent to the
6288	// server as null. It is an error if a field in this list has a
6289	// non-empty value. This may be used to include null fields in Patch
6290	// requests.
6291	NullFields []string `json:"-"`
6292}
6293
6294func (s *CustomRichMediaEvents) MarshalJSON() ([]byte, error) {
6295	type NoMethod CustomRichMediaEvents
6296	raw := NoMethod(*s)
6297	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6298}
6299
6300// CustomVariable: Custom variable.
6301type CustomVariable struct {
6302	// Index: The index of the custom variable.
6303	Index int64 `json:"index,omitempty,string"`
6304
6305	// Kind: Identifies what kind of resource this is. Value: the fixed
6306	// string "dfareporting#customVariable".
6307	Kind string `json:"kind,omitempty"`
6308
6309	// Value: The value of the custom variable. The length of string must
6310	// not exceed 50 characters.
6311	Value string `json:"value,omitempty"`
6312
6313	// ForceSendFields is a list of field names (e.g. "Index") to
6314	// unconditionally include in API requests. By default, fields with
6315	// empty values are omitted from API requests. However, any non-pointer,
6316	// non-interface field appearing in ForceSendFields will be sent to the
6317	// server regardless of whether the field is empty or not. This may be
6318	// used to include empty fields in Patch requests.
6319	ForceSendFields []string `json:"-"`
6320
6321	// NullFields is a list of field names (e.g. "Index") to include in API
6322	// requests with the JSON null value. By default, fields with empty
6323	// values are omitted from API requests. However, any field with an
6324	// empty value appearing in NullFields will be sent to the server as
6325	// null. It is an error if a field in this list has a non-empty value.
6326	// This may be used to include null fields in Patch requests.
6327	NullFields []string `json:"-"`
6328}
6329
6330func (s *CustomVariable) MarshalJSON() ([]byte, error) {
6331	type NoMethod CustomVariable
6332	raw := NoMethod(*s)
6333	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6334}
6335
6336// CustomViewabilityMetric: Custom Viewability Metric
6337type CustomViewabilityMetric struct {
6338	// Configuration: Configuration of the custom viewability metric.
6339	Configuration *CustomViewabilityMetricConfiguration `json:"configuration,omitempty"`
6340
6341	// Id: ID of the custom viewability metric.
6342	Id int64 `json:"id,omitempty,string"`
6343
6344	// Name: Name of the custom viewability metric.
6345	Name string `json:"name,omitempty"`
6346
6347	// ForceSendFields is a list of field names (e.g. "Configuration") to
6348	// unconditionally include in API requests. By default, fields with
6349	// empty values are omitted from API requests. However, any non-pointer,
6350	// non-interface field appearing in ForceSendFields will be sent to the
6351	// server regardless of whether the field is empty or not. This may be
6352	// used to include empty fields in Patch requests.
6353	ForceSendFields []string `json:"-"`
6354
6355	// NullFields is a list of field names (e.g. "Configuration") to include
6356	// in API requests with the JSON null value. By default, fields with
6357	// empty values are omitted from API requests. However, any field with
6358	// an empty value appearing in NullFields will be sent to the server as
6359	// null. It is an error if a field in this list has a non-empty value.
6360	// This may be used to include null fields in Patch requests.
6361	NullFields []string `json:"-"`
6362}
6363
6364func (s *CustomViewabilityMetric) MarshalJSON() ([]byte, error) {
6365	type NoMethod CustomViewabilityMetric
6366	raw := NoMethod(*s)
6367	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6368}
6369
6370// CustomViewabilityMetricConfiguration: The attributes, like playtime
6371// and percent onscreen, that define the Custom Viewability Metric.
6372type CustomViewabilityMetricConfiguration struct {
6373	// Audible: Whether the video must be audible to count an impression.
6374	Audible bool `json:"audible,omitempty"`
6375
6376	// TimeMillis: The time in milliseconds the video must play for the
6377	// Custom Viewability Metric to count an impression. If both this and
6378	// timePercent are specified, the earlier of the two will be used.
6379	TimeMillis int64 `json:"timeMillis,omitempty"`
6380
6381	// TimePercent: The percentage of video that must play for the Custom
6382	// Viewability Metric to count an impression. If both this and
6383	// timeMillis are specified, the earlier of the two will be used.
6384	TimePercent int64 `json:"timePercent,omitempty"`
6385
6386	// ViewabilityPercent: The percentage of video that must be on screen
6387	// for the Custom Viewability Metric to count an impression.
6388	ViewabilityPercent int64 `json:"viewabilityPercent,omitempty"`
6389
6390	// ForceSendFields is a list of field names (e.g. "Audible") to
6391	// unconditionally include in API requests. By default, fields with
6392	// empty values are omitted from API requests. However, any non-pointer,
6393	// non-interface field appearing in ForceSendFields will be sent to the
6394	// server regardless of whether the field is empty or not. This may be
6395	// used to include empty fields in Patch requests.
6396	ForceSendFields []string `json:"-"`
6397
6398	// NullFields is a list of field names (e.g. "Audible") to include in
6399	// API requests with the JSON null value. By default, fields with empty
6400	// values are omitted from API requests. However, any field with an
6401	// empty value appearing in NullFields will be sent to the server as
6402	// null. It is an error if a field in this list has a non-empty value.
6403	// This may be used to include null fields in Patch requests.
6404	NullFields []string `json:"-"`
6405}
6406
6407func (s *CustomViewabilityMetricConfiguration) MarshalJSON() ([]byte, error) {
6408	type NoMethod CustomViewabilityMetricConfiguration
6409	raw := NoMethod(*s)
6410	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6411}
6412
6413// DV3Ids: DV360 IDs related to the custom event.
6414type DV3Ids struct {
6415	// DvCampaignId: Campaign ID for DV360.
6416	DvCampaignId int64 `json:"dvCampaignId,omitempty,string"`
6417
6418	// DvCreativeId: Creative ID for DV360.
6419	DvCreativeId int64 `json:"dvCreativeId,omitempty,string"`
6420
6421	// DvInsertionOrderId: Insertion Order ID for DV360.
6422	DvInsertionOrderId int64 `json:"dvInsertionOrderId,omitempty,string"`
6423
6424	// DvLineItemId: Line Item ID for DV360.
6425	DvLineItemId int64 `json:"dvLineItemId,omitempty,string"`
6426
6427	// DvSiteId: Site ID for DV360.
6428	DvSiteId int64 `json:"dvSiteId,omitempty,string"`
6429
6430	// Kind: Identifies what kind of resource this is. Value: the fixed
6431	// string "dfareporting#dV3Ids".
6432	Kind string `json:"kind,omitempty"`
6433
6434	// ForceSendFields is a list of field names (e.g. "DvCampaignId") to
6435	// unconditionally include in API requests. By default, fields with
6436	// empty values are omitted from API requests. However, any non-pointer,
6437	// non-interface field appearing in ForceSendFields will be sent to the
6438	// server regardless of whether the field is empty or not. This may be
6439	// used to include empty fields in Patch requests.
6440	ForceSendFields []string `json:"-"`
6441
6442	// NullFields is a list of field names (e.g. "DvCampaignId") to include
6443	// in API requests with the JSON null value. By default, fields with
6444	// empty values are omitted from API requests. However, any field with
6445	// an empty value appearing in NullFields will be sent to the server as
6446	// null. It is an error if a field in this list has a non-empty value.
6447	// This may be used to include null fields in Patch requests.
6448	NullFields []string `json:"-"`
6449}
6450
6451func (s *DV3Ids) MarshalJSON() ([]byte, error) {
6452	type NoMethod DV3Ids
6453	raw := NoMethod(*s)
6454	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6455}
6456
6457// DateRange: Represents a date range.
6458type DateRange struct {
6459	// EndDate: The end date of the date range, inclusive. A string of the
6460	// format: "yyyy-MM-dd".
6461	EndDate string `json:"endDate,omitempty"`
6462
6463	// Kind: The kind of resource this is, in this case
6464	// dfareporting#dateRange.
6465	Kind string `json:"kind,omitempty"`
6466
6467	// RelativeDateRange: The date range relative to the date of when the
6468	// report is run.
6469	//
6470	// Possible values:
6471	//   "LAST_14_DAYS"
6472	//   "LAST_24_MONTHS"
6473	//   "LAST_30_DAYS"
6474	//   "LAST_365_DAYS"
6475	//   "LAST_60_DAYS"
6476	//   "LAST_7_DAYS"
6477	//   "LAST_90_DAYS"
6478	//   "MONTH_TO_DATE"
6479	//   "PREVIOUS_MONTH"
6480	//   "PREVIOUS_QUARTER"
6481	//   "PREVIOUS_WEEK"
6482	//   "PREVIOUS_YEAR"
6483	//   "QUARTER_TO_DATE"
6484	//   "TODAY"
6485	//   "WEEK_TO_DATE"
6486	//   "YEAR_TO_DATE"
6487	//   "YESTERDAY"
6488	RelativeDateRange string `json:"relativeDateRange,omitempty"`
6489
6490	// StartDate: The start date of the date range, inclusive. A string of
6491	// the format: "yyyy-MM-dd".
6492	StartDate string `json:"startDate,omitempty"`
6493
6494	// ForceSendFields is a list of field names (e.g. "EndDate") 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. "EndDate") to include in
6503	// API requests with the JSON null value. By default, fields with empty
6504	// values are omitted from API requests. However, any field with an
6505	// empty value appearing in NullFields will be sent to the server as
6506	// null. It is an error if a field in this list has a non-empty value.
6507	// This may be used to include null fields in Patch requests.
6508	NullFields []string `json:"-"`
6509}
6510
6511func (s *DateRange) MarshalJSON() ([]byte, error) {
6512	type NoMethod DateRange
6513	raw := NoMethod(*s)
6514	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6515}
6516
6517// DayPartTargeting: Day Part Targeting.
6518type DayPartTargeting struct {
6519	// DaysOfWeek: Days of the week when the ad will serve.
6520	//
6521	// Acceptable values are:
6522	// - "SUNDAY"
6523	// - "MONDAY"
6524	// - "TUESDAY"
6525	// - "WEDNESDAY"
6526	// - "THURSDAY"
6527	// - "FRIDAY"
6528	// - "SATURDAY"
6529	//
6530	// Possible values:
6531	//   "FRIDAY"
6532	//   "MONDAY"
6533	//   "SATURDAY"
6534	//   "SUNDAY"
6535	//   "THURSDAY"
6536	//   "TUESDAY"
6537	//   "WEDNESDAY"
6538	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
6539
6540	// HoursOfDay: Hours of the day when the ad will serve, where 0 is
6541	// midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with
6542	// days of week, in which case the ad would serve during these hours on
6543	// the specified days. For example if Monday, Wednesday, Friday are the
6544	// days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is
6545	// specified, the ad would serve Monday, Wednesdays, and Fridays at
6546	// 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.
6547	HoursOfDay []int64 `json:"hoursOfDay,omitempty"`
6548
6549	// UserLocalTime: Whether or not to use the user's local time. If false,
6550	// the America/New York time zone applies.
6551	UserLocalTime bool `json:"userLocalTime,omitempty"`
6552
6553	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
6554	// unconditionally include in API requests. By default, fields with
6555	// empty values are omitted from API requests. However, any non-pointer,
6556	// non-interface field appearing in ForceSendFields will be sent to the
6557	// server regardless of whether the field is empty or not. This may be
6558	// used to include empty fields in Patch requests.
6559	ForceSendFields []string `json:"-"`
6560
6561	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in
6562	// API requests with the JSON null value. By default, fields with empty
6563	// values are omitted from API requests. However, any field with an
6564	// empty value appearing in NullFields will be sent to the server as
6565	// null. It is an error if a field in this list has a non-empty value.
6566	// This may be used to include null fields in Patch requests.
6567	NullFields []string `json:"-"`
6568}
6569
6570func (s *DayPartTargeting) MarshalJSON() ([]byte, error) {
6571	type NoMethod DayPartTargeting
6572	raw := NoMethod(*s)
6573	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6574}
6575
6576// DeepLink: Contains information about a landing page deep link.
6577type DeepLink struct {
6578	// AppUrl: The URL of the mobile app being linked to.
6579	AppUrl string `json:"appUrl,omitempty"`
6580
6581	// FallbackUrl: The fallback URL. This URL will be served to users who
6582	// do not have the mobile app installed.
6583	FallbackUrl string `json:"fallbackUrl,omitempty"`
6584
6585	// Kind: Identifies what kind of resource this is. Value: the fixed
6586	// string "dfareporting#deepLink".
6587	Kind string `json:"kind,omitempty"`
6588
6589	// MobileApp: The mobile app targeted by this deep link.
6590	MobileApp *MobileApp `json:"mobileApp,omitempty"`
6591
6592	// RemarketingListIds: Ads served to users on these remarketing lists
6593	// will use this deep link. Applicable when mobileApp.directory is
6594	// APPLE_APP_STORE.
6595	RemarketingListIds googleapi.Int64s `json:"remarketingListIds,omitempty"`
6596
6597	// ForceSendFields is a list of field names (e.g. "AppUrl") to
6598	// unconditionally include in API requests. By default, fields with
6599	// empty values are omitted from API requests. However, any non-pointer,
6600	// non-interface field appearing in ForceSendFields will be sent to the
6601	// server regardless of whether the field is empty or not. This may be
6602	// used to include empty fields in Patch requests.
6603	ForceSendFields []string `json:"-"`
6604
6605	// NullFields is a list of field names (e.g. "AppUrl") to include in API
6606	// requests with the JSON null value. By default, fields with empty
6607	// values are omitted from API requests. However, any field with an
6608	// empty value appearing in NullFields will be sent to the server as
6609	// null. It is an error if a field in this list has a non-empty value.
6610	// This may be used to include null fields in Patch requests.
6611	NullFields []string `json:"-"`
6612}
6613
6614func (s *DeepLink) MarshalJSON() ([]byte, error) {
6615	type NoMethod DeepLink
6616	raw := NoMethod(*s)
6617	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6618}
6619
6620// DefaultClickThroughEventTagProperties: Properties of inheriting and
6621// overriding the default click-through event tag. A campaign may
6622// override the event tag defined at the advertiser level, and an ad may
6623// also override the campaign's setting further.
6624type DefaultClickThroughEventTagProperties struct {
6625	// DefaultClickThroughEventTagId: ID of the click-through event tag to
6626	// apply to all ads in this entity's scope.
6627	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
6628
6629	// OverrideInheritedEventTag: Whether this entity should override the
6630	// inherited default click-through event tag with its own defined value.
6631	OverrideInheritedEventTag bool `json:"overrideInheritedEventTag,omitempty"`
6632
6633	// ForceSendFields is a list of field names (e.g.
6634	// "DefaultClickThroughEventTagId") to unconditionally include in API
6635	// requests. By default, fields with empty values are omitted from API
6636	// requests. However, any non-pointer, non-interface field appearing in
6637	// ForceSendFields will be sent to the server regardless of whether the
6638	// field is empty or not. This may be used to include empty fields in
6639	// Patch requests.
6640	ForceSendFields []string `json:"-"`
6641
6642	// NullFields is a list of field names (e.g.
6643	// "DefaultClickThroughEventTagId") to include in API requests with the
6644	// JSON null value. By default, fields with empty values are omitted
6645	// from API requests. However, any field with an empty value appearing
6646	// in NullFields will be sent to the server as null. It is an error if a
6647	// field in this list has a non-empty value. This may be used to include
6648	// null fields in Patch requests.
6649	NullFields []string `json:"-"`
6650}
6651
6652func (s *DefaultClickThroughEventTagProperties) MarshalJSON() ([]byte, error) {
6653	type NoMethod DefaultClickThroughEventTagProperties
6654	raw := NoMethod(*s)
6655	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6656}
6657
6658// DeliverySchedule: Delivery Schedule.
6659type DeliverySchedule struct {
6660	// FrequencyCap: Limit on the number of times an individual user can be
6661	// served the ad within a specified period of time.
6662	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
6663
6664	// HardCutoff: Whether or not hard cutoff is enabled. If true, the ad
6665	// will not serve after the end date and time. Otherwise the ad will
6666	// continue to be served until it has reached its delivery goals.
6667	HardCutoff bool `json:"hardCutoff,omitempty"`
6668
6669	// ImpressionRatio: Impression ratio for this ad. This ratio determines
6670	// how often each ad is served relative to the others. For example, if
6671	// ad A has an impression ratio of 1 and ad B has an impression ratio of
6672	// 3, then Campaign Manager will serve ad B three times as often as ad
6673	// A. Acceptable values are 1 to 10, inclusive.
6674	ImpressionRatio int64 `json:"impressionRatio,omitempty,string"`
6675
6676	// Priority: Serving priority of an ad, with respect to other ads. The
6677	// lower the priority number, the greater the priority with which it is
6678	// served.
6679	//
6680	// Possible values:
6681	//   "AD_PRIORITY_01"
6682	//   "AD_PRIORITY_02"
6683	//   "AD_PRIORITY_03"
6684	//   "AD_PRIORITY_04"
6685	//   "AD_PRIORITY_05"
6686	//   "AD_PRIORITY_06"
6687	//   "AD_PRIORITY_07"
6688	//   "AD_PRIORITY_08"
6689	//   "AD_PRIORITY_09"
6690	//   "AD_PRIORITY_10"
6691	//   "AD_PRIORITY_11"
6692	//   "AD_PRIORITY_12"
6693	//   "AD_PRIORITY_13"
6694	//   "AD_PRIORITY_14"
6695	//   "AD_PRIORITY_15"
6696	//   "AD_PRIORITY_16"
6697	Priority string `json:"priority,omitempty"`
6698
6699	// ForceSendFields is a list of field names (e.g. "FrequencyCap") to
6700	// unconditionally include in API requests. By default, fields with
6701	// empty values are omitted from API requests. However, any non-pointer,
6702	// non-interface field appearing in ForceSendFields will be sent to the
6703	// server regardless of whether the field is empty or not. This may be
6704	// used to include empty fields in Patch requests.
6705	ForceSendFields []string `json:"-"`
6706
6707	// NullFields is a list of field names (e.g. "FrequencyCap") to include
6708	// in API requests with the JSON null value. By default, fields with
6709	// empty values are omitted from API requests. However, any field with
6710	// an empty value appearing in NullFields will be sent to the server as
6711	// null. It is an error if a field in this list has a non-empty value.
6712	// This may be used to include null fields in Patch requests.
6713	NullFields []string `json:"-"`
6714}
6715
6716func (s *DeliverySchedule) MarshalJSON() ([]byte, error) {
6717	type NoMethod DeliverySchedule
6718	raw := NoMethod(*s)
6719	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6720}
6721
6722// DfpSettings: Google Ad Manager Settings
6723type DfpSettings struct {
6724	// DfpNetworkCode: Ad Manager network code for this directory site.
6725	DfpNetworkCode string `json:"dfpNetworkCode,omitempty"`
6726
6727	// DfpNetworkName: Ad Manager network name for this directory site.
6728	DfpNetworkName string `json:"dfpNetworkName,omitempty"`
6729
6730	// ProgrammaticPlacementAccepted: Whether this directory site accepts
6731	// programmatic placements.
6732	ProgrammaticPlacementAccepted bool `json:"programmaticPlacementAccepted,omitempty"`
6733
6734	// PubPaidPlacementAccepted: Whether this directory site accepts
6735	// publisher-paid tags.
6736	PubPaidPlacementAccepted bool `json:"pubPaidPlacementAccepted,omitempty"`
6737
6738	// PublisherPortalOnly: Whether this directory site is available only
6739	// via Publisher Portal.
6740	PublisherPortalOnly bool `json:"publisherPortalOnly,omitempty"`
6741
6742	// ForceSendFields is a list of field names (e.g. "DfpNetworkCode") to
6743	// unconditionally include in API requests. By default, fields with
6744	// empty values are omitted from API requests. However, any non-pointer,
6745	// non-interface field appearing in ForceSendFields will be sent to the
6746	// server regardless of whether the field is empty or not. This may be
6747	// used to include empty fields in Patch requests.
6748	ForceSendFields []string `json:"-"`
6749
6750	// NullFields is a list of field names (e.g. "DfpNetworkCode") to
6751	// include in API requests with the JSON null value. By default, fields
6752	// with empty values are omitted from API requests. However, any field
6753	// with an empty value appearing in NullFields will be sent to the
6754	// server as null. It is an error if a field in this list has a
6755	// non-empty value. This may be used to include null fields in Patch
6756	// requests.
6757	NullFields []string `json:"-"`
6758}
6759
6760func (s *DfpSettings) MarshalJSON() ([]byte, error) {
6761	type NoMethod DfpSettings
6762	raw := NoMethod(*s)
6763	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6764}
6765
6766// Dimension: Represents a dimension.
6767type Dimension struct {
6768	// Kind: The kind of resource this is, in this case
6769	// dfareporting#dimension.
6770	Kind string `json:"kind,omitempty"`
6771
6772	// Name: The dimension name, e.g. dfa:advertiser
6773	Name string `json:"name,omitempty"`
6774
6775	// ForceSendFields is a list of field names (e.g. "Kind") to
6776	// unconditionally include in API requests. By default, fields with
6777	// empty values are omitted from API requests. However, any non-pointer,
6778	// non-interface field appearing in ForceSendFields will be sent to the
6779	// server regardless of whether the field is empty or not. This may be
6780	// used to include empty fields in Patch requests.
6781	ForceSendFields []string `json:"-"`
6782
6783	// NullFields is a list of field names (e.g. "Kind") to include in API
6784	// requests with the JSON null value. By default, fields with empty
6785	// values are omitted from API requests. However, any field with an
6786	// empty value appearing in NullFields will be sent to the server as
6787	// null. It is an error if a field in this list has a non-empty value.
6788	// This may be used to include null fields in Patch requests.
6789	NullFields []string `json:"-"`
6790}
6791
6792func (s *Dimension) MarshalJSON() ([]byte, error) {
6793	type NoMethod Dimension
6794	raw := NoMethod(*s)
6795	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6796}
6797
6798// DimensionFilter: Represents a dimension filter.
6799type DimensionFilter struct {
6800	// DimensionName: The name of the dimension to filter.
6801	DimensionName string `json:"dimensionName,omitempty"`
6802
6803	// Kind: The kind of resource this is, in this case
6804	// dfareporting#dimensionFilter.
6805	Kind string `json:"kind,omitempty"`
6806
6807	// Value: The value of the dimension to filter.
6808	Value string `json:"value,omitempty"`
6809
6810	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6811	// unconditionally include in API requests. By default, fields with
6812	// empty values are omitted from API requests. However, any non-pointer,
6813	// non-interface field appearing in ForceSendFields will be sent to the
6814	// server regardless of whether the field is empty or not. This may be
6815	// used to include empty fields in Patch requests.
6816	ForceSendFields []string `json:"-"`
6817
6818	// NullFields is a list of field names (e.g. "DimensionName") to include
6819	// in API requests with the JSON null value. By default, fields with
6820	// empty values are omitted from API requests. However, any field with
6821	// an empty value appearing in NullFields will be sent to the server as
6822	// null. It is an error if a field in this list has a non-empty value.
6823	// This may be used to include null fields in Patch requests.
6824	NullFields []string `json:"-"`
6825}
6826
6827func (s *DimensionFilter) MarshalJSON() ([]byte, error) {
6828	type NoMethod DimensionFilter
6829	raw := NoMethod(*s)
6830	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6831}
6832
6833// DimensionValue: Represents a DimensionValue resource.
6834type DimensionValue struct {
6835	// DimensionName: The name of the dimension.
6836	DimensionName string `json:"dimensionName,omitempty"`
6837
6838	// Etag: The eTag of this response for caching purposes.
6839	Etag string `json:"etag,omitempty"`
6840
6841	// Id: The ID associated with the value if available.
6842	Id string `json:"id,omitempty"`
6843
6844	// Kind: The kind of resource this is, in this case
6845	// dfareporting#dimensionValue.
6846	Kind string `json:"kind,omitempty"`
6847
6848	// MatchType: Determines how the 'value' field is matched when
6849	// filtering. If not specified, defaults to EXACT. If set to
6850	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
6851	// length character sequences, and it can be escaped with a backslash.
6852	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
6853	// matchType other than EXACT.
6854	//
6855	// Possible values:
6856	//   "BEGINS_WITH"
6857	//   "CONTAINS"
6858	//   "EXACT"
6859	//   "WILDCARD_EXPRESSION"
6860	MatchType string `json:"matchType,omitempty"`
6861
6862	// Value: The value of the dimension.
6863	Value string `json:"value,omitempty"`
6864
6865	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6866	// unconditionally include in API requests. By default, fields with
6867	// empty values are omitted from API requests. However, any non-pointer,
6868	// non-interface field appearing in ForceSendFields will be sent to the
6869	// server regardless of whether the field is empty or not. This may be
6870	// used to include empty fields in Patch requests.
6871	ForceSendFields []string `json:"-"`
6872
6873	// NullFields is a list of field names (e.g. "DimensionName") to include
6874	// in API requests with the JSON null value. By default, fields with
6875	// empty values are omitted from API requests. However, any field with
6876	// an empty value appearing in NullFields will be sent to the server as
6877	// null. It is an error if a field in this list has a non-empty value.
6878	// This may be used to include null fields in Patch requests.
6879	NullFields []string `json:"-"`
6880}
6881
6882func (s *DimensionValue) MarshalJSON() ([]byte, error) {
6883	type NoMethod DimensionValue
6884	raw := NoMethod(*s)
6885	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6886}
6887
6888// DimensionValueList: Represents the list of DimensionValue resources.
6889type DimensionValueList struct {
6890	// Etag: The eTag of this response for caching purposes.
6891	Etag string `json:"etag,omitempty"`
6892
6893	// Items: The dimension values returned in this response.
6894	Items []*DimensionValue `json:"items,omitempty"`
6895
6896	// Kind: The kind of list this is, in this case
6897	// dfareporting#dimensionValueList.
6898	Kind string `json:"kind,omitempty"`
6899
6900	// NextPageToken: Continuation token used to page through dimension
6901	// values. To retrieve the next page of results, set the next request's
6902	// "pageToken" to the value of this field. The page token is only valid
6903	// for a limited amount of time and should not be persisted.
6904	NextPageToken string `json:"nextPageToken,omitempty"`
6905
6906	// ServerResponse contains the HTTP response code and headers from the
6907	// server.
6908	googleapi.ServerResponse `json:"-"`
6909
6910	// ForceSendFields is a list of field names (e.g. "Etag") to
6911	// unconditionally include in API requests. By default, fields with
6912	// empty values are omitted from API requests. However, any non-pointer,
6913	// non-interface field appearing in ForceSendFields will be sent to the
6914	// server regardless of whether the field is empty or not. This may be
6915	// used to include empty fields in Patch requests.
6916	ForceSendFields []string `json:"-"`
6917
6918	// NullFields is a list of field names (e.g. "Etag") to include in API
6919	// requests with the JSON null value. By default, fields with empty
6920	// values are omitted from API requests. However, any field with an
6921	// empty value appearing in NullFields will be sent to the server as
6922	// null. It is an error if a field in this list has a non-empty value.
6923	// This may be used to include null fields in Patch requests.
6924	NullFields []string `json:"-"`
6925}
6926
6927func (s *DimensionValueList) MarshalJSON() ([]byte, error) {
6928	type NoMethod DimensionValueList
6929	raw := NoMethod(*s)
6930	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6931}
6932
6933// DimensionValueRequest: Represents a DimensionValuesRequest.
6934type DimensionValueRequest struct {
6935	// DimensionName: The name of the dimension for which values should be
6936	// requested.
6937	DimensionName string `json:"dimensionName,omitempty"`
6938
6939	// EndDate: The end date of the date range for which to retrieve
6940	// dimension values. A string of the format "yyyy-MM-dd".
6941	EndDate string `json:"endDate,omitempty"`
6942
6943	// Filters: The list of filters by which to filter values. The filters
6944	// are ANDed.
6945	Filters []*DimensionFilter `json:"filters,omitempty"`
6946
6947	// Kind: The kind of request this is, in this case
6948	// dfareporting#dimensionValueRequest.
6949	Kind string `json:"kind,omitempty"`
6950
6951	// StartDate: The start date of the date range for which to retrieve
6952	// dimension values. A string of the format "yyyy-MM-dd".
6953	StartDate string `json:"startDate,omitempty"`
6954
6955	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6956	// unconditionally include in API requests. By default, fields with
6957	// empty values are omitted from API requests. However, any non-pointer,
6958	// non-interface field appearing in ForceSendFields will be sent to the
6959	// server regardless of whether the field is empty or not. This may be
6960	// used to include empty fields in Patch requests.
6961	ForceSendFields []string `json:"-"`
6962
6963	// NullFields is a list of field names (e.g. "DimensionName") to include
6964	// in API requests with the JSON null value. By default, fields with
6965	// empty values are omitted from API requests. However, any field with
6966	// an empty value appearing in NullFields will be sent to the server as
6967	// null. It is an error if a field in this list has a non-empty value.
6968	// This may be used to include null fields in Patch requests.
6969	NullFields []string `json:"-"`
6970}
6971
6972func (s *DimensionValueRequest) MarshalJSON() ([]byte, error) {
6973	type NoMethod DimensionValueRequest
6974	raw := NoMethod(*s)
6975	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6976}
6977
6978// DirectorySite: DirectorySites contains properties of a website from
6979// the Site Directory. Sites need to be added to an account via the
6980// Sites resource before they can be assigned to a placement.
6981type DirectorySite struct {
6982	// Active: Whether this directory site is active.
6983	Active bool `json:"active,omitempty"`
6984
6985	// Id: ID of this directory site. This is a read-only, auto-generated
6986	// field.
6987	Id int64 `json:"id,omitempty,string"`
6988
6989	// IdDimensionValue: Dimension value for the ID of this directory site.
6990	// This is a read-only, auto-generated field.
6991	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
6992
6993	// InpageTagFormats: Tag types for regular placements.
6994	//
6995	// Acceptable values are:
6996	// - "STANDARD"
6997	// - "IFRAME_JAVASCRIPT_INPAGE"
6998	// - "INTERNAL_REDIRECT_INPAGE"
6999	// - "JAVASCRIPT_INPAGE"
7000	//
7001	// Possible values:
7002	//   "IFRAME_JAVASCRIPT_INPAGE"
7003	//   "INTERNAL_REDIRECT_INPAGE"
7004	//   "JAVASCRIPT_INPAGE"
7005	//   "STANDARD"
7006	InpageTagFormats []string `json:"inpageTagFormats,omitempty"`
7007
7008	// InterstitialTagFormats: Tag types for interstitial
7009	// placements.
7010	//
7011	// Acceptable values are:
7012	// - "IFRAME_JAVASCRIPT_INTERSTITIAL"
7013	// - "INTERNAL_REDIRECT_INTERSTITIAL"
7014	// - "JAVASCRIPT_INTERSTITIAL"
7015	//
7016	// Possible values:
7017	//   "IFRAME_JAVASCRIPT_INTERSTITIAL"
7018	//   "INTERNAL_REDIRECT_INTERSTITIAL"
7019	//   "JAVASCRIPT_INTERSTITIAL"
7020	InterstitialTagFormats []string `json:"interstitialTagFormats,omitempty"`
7021
7022	// Kind: Identifies what kind of resource this is. Value: the fixed
7023	// string "dfareporting#directorySite".
7024	Kind string `json:"kind,omitempty"`
7025
7026	// Name: Name of this directory site.
7027	Name string `json:"name,omitempty"`
7028
7029	// Settings: Directory site settings.
7030	Settings *DirectorySiteSettings `json:"settings,omitempty"`
7031
7032	// Url: URL of this directory site.
7033	Url string `json:"url,omitempty"`
7034
7035	// ServerResponse contains the HTTP response code and headers from the
7036	// server.
7037	googleapi.ServerResponse `json:"-"`
7038
7039	// ForceSendFields is a list of field names (e.g. "Active") to
7040	// unconditionally include in API requests. By default, fields with
7041	// empty values are omitted from API requests. However, any non-pointer,
7042	// non-interface field appearing in ForceSendFields will be sent to the
7043	// server regardless of whether the field is empty or not. This may be
7044	// used to include empty fields in Patch requests.
7045	ForceSendFields []string `json:"-"`
7046
7047	// NullFields is a list of field names (e.g. "Active") to include in API
7048	// requests with the JSON null value. By default, fields with empty
7049	// values are omitted from API requests. However, any field with an
7050	// empty value appearing in NullFields will be sent to the server as
7051	// null. It is an error if a field in this list has a non-empty value.
7052	// This may be used to include null fields in Patch requests.
7053	NullFields []string `json:"-"`
7054}
7055
7056func (s *DirectorySite) MarshalJSON() ([]byte, error) {
7057	type NoMethod DirectorySite
7058	raw := NoMethod(*s)
7059	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7060}
7061
7062// DirectorySiteSettings: Directory Site Settings
7063type DirectorySiteSettings struct {
7064	// ActiveViewOptOut: Whether this directory site has disabled active
7065	// view creatives.
7066	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
7067
7068	// DfpSettings: Directory site Ad Manager settings.
7069	DfpSettings *DfpSettings `json:"dfpSettings,omitempty"`
7070
7071	// InstreamVideoPlacementAccepted: Whether this site accepts in-stream
7072	// video ads.
7073	InstreamVideoPlacementAccepted bool `json:"instreamVideoPlacementAccepted,omitempty"`
7074
7075	// InterstitialPlacementAccepted: Whether this site accepts interstitial
7076	// ads.
7077	InterstitialPlacementAccepted bool `json:"interstitialPlacementAccepted,omitempty"`
7078
7079	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
7080	// unconditionally include in API requests. By default, fields with
7081	// empty values are omitted from API requests. However, any non-pointer,
7082	// non-interface field appearing in ForceSendFields will be sent to the
7083	// server regardless of whether the field is empty or not. This may be
7084	// used to include empty fields in Patch requests.
7085	ForceSendFields []string `json:"-"`
7086
7087	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
7088	// include in API requests with the JSON null value. By default, fields
7089	// with empty values are omitted from API requests. However, any field
7090	// with an empty value appearing in NullFields will be sent to the
7091	// server as null. It is an error if a field in this list has a
7092	// non-empty value. This may be used to include null fields in Patch
7093	// requests.
7094	NullFields []string `json:"-"`
7095}
7096
7097func (s *DirectorySiteSettings) MarshalJSON() ([]byte, error) {
7098	type NoMethod DirectorySiteSettings
7099	raw := NoMethod(*s)
7100	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7101}
7102
7103// DirectorySitesListResponse: Directory Site List Response
7104type DirectorySitesListResponse struct {
7105	// DirectorySites: Directory site collection.
7106	DirectorySites []*DirectorySite `json:"directorySites,omitempty"`
7107
7108	// Kind: Identifies what kind of resource this is. Value: the fixed
7109	// string "dfareporting#directorySitesListResponse".
7110	Kind string `json:"kind,omitempty"`
7111
7112	// NextPageToken: Pagination token to be used for the next list
7113	// operation.
7114	NextPageToken string `json:"nextPageToken,omitempty"`
7115
7116	// ServerResponse contains the HTTP response code and headers from the
7117	// server.
7118	googleapi.ServerResponse `json:"-"`
7119
7120	// ForceSendFields is a list of field names (e.g. "DirectorySites") to
7121	// unconditionally include in API requests. By default, fields with
7122	// empty values are omitted from API requests. However, any non-pointer,
7123	// non-interface field appearing in ForceSendFields will be sent to the
7124	// server regardless of whether the field is empty or not. This may be
7125	// used to include empty fields in Patch requests.
7126	ForceSendFields []string `json:"-"`
7127
7128	// NullFields is a list of field names (e.g. "DirectorySites") to
7129	// include in API requests with the JSON null value. By default, fields
7130	// with empty values are omitted from API requests. However, any field
7131	// with an empty value appearing in NullFields will be sent to the
7132	// server as null. It is an error if a field in this list has a
7133	// non-empty value. This may be used to include null fields in Patch
7134	// requests.
7135	NullFields []string `json:"-"`
7136}
7137
7138func (s *DirectorySitesListResponse) MarshalJSON() ([]byte, error) {
7139	type NoMethod DirectorySitesListResponse
7140	raw := NoMethod(*s)
7141	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7142}
7143
7144// DynamicTargetingKey: Contains properties of a dynamic targeting key.
7145// Dynamic targeting keys are unique, user-friendly labels, created at
7146// the advertiser level in DCM, that can be assigned to ads, creatives,
7147// and placements and used for targeting with Studio dynamic creatives.
7148// Use these labels instead of numeric Campaign Manager IDs (such as
7149// placement IDs) to save time and avoid errors in your dynamic feeds.
7150type DynamicTargetingKey struct {
7151	// Kind: Identifies what kind of resource this is. Value: the fixed
7152	// string "dfareporting#dynamicTargetingKey".
7153	Kind string `json:"kind,omitempty"`
7154
7155	// Name: Name of this dynamic targeting key. This is a required field.
7156	// Must be less than 256 characters long and cannot contain commas. All
7157	// characters are converted to lowercase.
7158	Name string `json:"name,omitempty"`
7159
7160	// ObjectId: ID of the object of this dynamic targeting key. This is a
7161	// required field.
7162	ObjectId int64 `json:"objectId,omitempty,string"`
7163
7164	// ObjectType: Type of the object of this dynamic targeting key. This is
7165	// a required field.
7166	//
7167	// Possible values:
7168	//   "OBJECT_AD"
7169	//   "OBJECT_ADVERTISER"
7170	//   "OBJECT_CREATIVE"
7171	//   "OBJECT_PLACEMENT"
7172	ObjectType string `json:"objectType,omitempty"`
7173
7174	// ServerResponse contains the HTTP response code and headers from the
7175	// server.
7176	googleapi.ServerResponse `json:"-"`
7177
7178	// ForceSendFields is a list of field names (e.g. "Kind") to
7179	// unconditionally include in API requests. By default, fields with
7180	// empty values are omitted from API requests. However, any non-pointer,
7181	// non-interface field appearing in ForceSendFields will be sent to the
7182	// server regardless of whether the field is empty or not. This may be
7183	// used to include empty fields in Patch requests.
7184	ForceSendFields []string `json:"-"`
7185
7186	// NullFields is a list of field names (e.g. "Kind") to include in API
7187	// requests with the JSON null value. By default, fields with empty
7188	// values are omitted from API requests. However, any field with an
7189	// empty value appearing in NullFields will be sent to the server as
7190	// null. It is an error if a field in this list has a non-empty value.
7191	// This may be used to include null fields in Patch requests.
7192	NullFields []string `json:"-"`
7193}
7194
7195func (s *DynamicTargetingKey) MarshalJSON() ([]byte, error) {
7196	type NoMethod DynamicTargetingKey
7197	raw := NoMethod(*s)
7198	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7199}
7200
7201// DynamicTargetingKeysListResponse: Dynamic Targeting Key List Response
7202type DynamicTargetingKeysListResponse struct {
7203	// DynamicTargetingKeys: Dynamic targeting key collection.
7204	DynamicTargetingKeys []*DynamicTargetingKey `json:"dynamicTargetingKeys,omitempty"`
7205
7206	// Kind: Identifies what kind of resource this is. Value: the fixed
7207	// string "dfareporting#dynamicTargetingKeysListResponse".
7208	Kind string `json:"kind,omitempty"`
7209
7210	// ServerResponse contains the HTTP response code and headers from the
7211	// server.
7212	googleapi.ServerResponse `json:"-"`
7213
7214	// ForceSendFields is a list of field names (e.g.
7215	// "DynamicTargetingKeys") to unconditionally include in API requests.
7216	// By default, fields with empty values are omitted from API requests.
7217	// However, any non-pointer, non-interface field appearing in
7218	// ForceSendFields will be sent to the server regardless of whether the
7219	// field is empty or not. This may be used to include empty fields in
7220	// Patch requests.
7221	ForceSendFields []string `json:"-"`
7222
7223	// NullFields is a list of field names (e.g. "DynamicTargetingKeys") to
7224	// include in API requests with the JSON null value. By default, fields
7225	// with empty values are omitted from API requests. However, any field
7226	// with an empty value appearing in NullFields will be sent to the
7227	// server as null. It is an error if a field in this list has a
7228	// non-empty value. This may be used to include null fields in Patch
7229	// requests.
7230	NullFields []string `json:"-"`
7231}
7232
7233func (s *DynamicTargetingKeysListResponse) MarshalJSON() ([]byte, error) {
7234	type NoMethod DynamicTargetingKeysListResponse
7235	raw := NoMethod(*s)
7236	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7237}
7238
7239// EncryptionInfo: A description of how user IDs are encrypted.
7240type EncryptionInfo struct {
7241	// EncryptionEntityId: The encryption entity ID. This should match the
7242	// encryption configuration for ad serving or Data Transfer.
7243	EncryptionEntityId int64 `json:"encryptionEntityId,omitempty,string"`
7244
7245	// EncryptionEntityType: The encryption entity type. This should match
7246	// the encryption configuration for ad serving or Data Transfer.
7247	//
7248	// Possible values:
7249	//   "ADWORDS_CUSTOMER"
7250	//   "DBM_ADVERTISER"
7251	//   "DBM_PARTNER"
7252	//   "DCM_ACCOUNT"
7253	//   "DCM_ADVERTISER"
7254	//   "DFP_NETWORK_CODE"
7255	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
7256	EncryptionEntityType string `json:"encryptionEntityType,omitempty"`
7257
7258	// EncryptionSource: Describes whether the encrypted cookie was received
7259	// from ad serving (the %m macro) or from Data Transfer.
7260	//
7261	// Possible values:
7262	//   "AD_SERVING"
7263	//   "DATA_TRANSFER"
7264	//   "ENCRYPTION_SCOPE_UNKNOWN"
7265	EncryptionSource string `json:"encryptionSource,omitempty"`
7266
7267	// Kind: Identifies what kind of resource this is. Value: the fixed
7268	// string "dfareporting#encryptionInfo".
7269	Kind string `json:"kind,omitempty"`
7270
7271	// ForceSendFields is a list of field names (e.g. "EncryptionEntityId")
7272	// to unconditionally include in API requests. By default, fields with
7273	// empty values are omitted from API requests. However, any non-pointer,
7274	// non-interface field appearing in ForceSendFields will be sent to the
7275	// server regardless of whether the field is empty or not. This may be
7276	// used to include empty fields in Patch requests.
7277	ForceSendFields []string `json:"-"`
7278
7279	// NullFields is a list of field names (e.g. "EncryptionEntityId") to
7280	// include in API requests with the JSON null value. By default, fields
7281	// with empty values are omitted from API requests. However, any field
7282	// with an empty value appearing in NullFields will be sent to the
7283	// server as null. It is an error if a field in this list has a
7284	// non-empty value. This may be used to include null fields in Patch
7285	// requests.
7286	NullFields []string `json:"-"`
7287}
7288
7289func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
7290	type NoMethod EncryptionInfo
7291	raw := NoMethod(*s)
7292	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7293}
7294
7295// EventTag: Contains properties of an event tag.
7296type EventTag struct {
7297	// AccountId: Account ID of this event tag. This is a read-only field
7298	// that can be left blank.
7299	AccountId int64 `json:"accountId,omitempty,string"`
7300
7301	// AdvertiserId: Advertiser ID of this event tag. This field or the
7302	// campaignId field is required on insertion.
7303	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7304
7305	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7306	// advertiser. This is a read-only, auto-generated field.
7307	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7308
7309	// CampaignId: Campaign ID of this event tag. This field or the
7310	// advertiserId field is required on insertion.
7311	CampaignId int64 `json:"campaignId,omitempty,string"`
7312
7313	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
7314	// This is a read-only, auto-generated field.
7315	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
7316
7317	// EnabledByDefault: Whether this event tag should be automatically
7318	// enabled for all of the advertiser's campaigns and ads.
7319	EnabledByDefault bool `json:"enabledByDefault,omitempty"`
7320
7321	// ExcludeFromAdxRequests: Whether to remove this event tag from ads
7322	// that are trafficked through Display & Video 360 to Ad Exchange. This
7323	// may be useful if the event tag uses a pixel that is unapproved for Ad
7324	// Exchange bids on one or more networks, such as the Google Display
7325	// Network.
7326	ExcludeFromAdxRequests bool `json:"excludeFromAdxRequests,omitempty"`
7327
7328	// Id: ID of this event tag. This is a read-only, auto-generated field.
7329	Id int64 `json:"id,omitempty,string"`
7330
7331	// Kind: Identifies what kind of resource this is. Value: the fixed
7332	// string "dfareporting#eventTag".
7333	Kind string `json:"kind,omitempty"`
7334
7335	// Name: Name of this event tag. This is a required field and must be
7336	// less than 256 characters long.
7337	Name string `json:"name,omitempty"`
7338
7339	// SiteFilterType: Site filter type for this event tag. If no type is
7340	// specified then the event tag will be applied to all sites.
7341	//
7342	// Possible values:
7343	//   "BLACKLIST"
7344	//   "WHITELIST"
7345	SiteFilterType string `json:"siteFilterType,omitempty"`
7346
7347	// SiteIds: Filter list of site IDs associated with this event tag. The
7348	// siteFilterType determines whether this is a whitelist or blacklist
7349	// filter.
7350	SiteIds googleapi.Int64s `json:"siteIds,omitempty"`
7351
7352	// SslCompliant: Whether this tag is SSL-compliant or not. This is a
7353	// read-only field.
7354	SslCompliant bool `json:"sslCompliant,omitempty"`
7355
7356	// Status: Status of this event tag. Must be ENABLED for this event tag
7357	// to fire. This is a required field.
7358	//
7359	// Possible values:
7360	//   "DISABLED"
7361	//   "ENABLED"
7362	Status string `json:"status,omitempty"`
7363
7364	// SubaccountId: Subaccount ID of this event tag. This is a read-only
7365	// field that can be left blank.
7366	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7367
7368	// Type: Event tag type. Can be used to specify whether to use a
7369	// third-party pixel, a third-party JavaScript URL, or a third-party
7370	// click-through URL for either impression or click tracking. This is a
7371	// required field.
7372	//
7373	// Possible values:
7374	//   "CLICK_THROUGH_EVENT_TAG"
7375	//   "IMPRESSION_IMAGE_EVENT_TAG"
7376	//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
7377	Type string `json:"type,omitempty"`
7378
7379	// Url: Payload URL for this event tag. The URL on a click-through event
7380	// tag should have a landing page URL appended to the end of it. This
7381	// field is required on insertion.
7382	Url string `json:"url,omitempty"`
7383
7384	// UrlEscapeLevels: Number of times the landing page URL should be
7385	// URL-escaped before being appended to the click-through event tag URL.
7386	// Only applies to click-through event tags as specified by the event
7387	// tag type.
7388	UrlEscapeLevels int64 `json:"urlEscapeLevels,omitempty"`
7389
7390	// ServerResponse contains the HTTP response code and headers from the
7391	// server.
7392	googleapi.ServerResponse `json:"-"`
7393
7394	// ForceSendFields is a list of field names (e.g. "AccountId") to
7395	// unconditionally include in API requests. By default, fields with
7396	// empty values are omitted from API requests. However, any non-pointer,
7397	// non-interface field appearing in ForceSendFields will be sent to the
7398	// server regardless of whether the field is empty or not. This may be
7399	// used to include empty fields in Patch requests.
7400	ForceSendFields []string `json:"-"`
7401
7402	// NullFields is a list of field names (e.g. "AccountId") to include in
7403	// API requests with the JSON null value. By default, fields with empty
7404	// values are omitted from API requests. However, any field with an
7405	// empty value appearing in NullFields will be sent to the server as
7406	// null. It is an error if a field in this list has a non-empty value.
7407	// This may be used to include null fields in Patch requests.
7408	NullFields []string `json:"-"`
7409}
7410
7411func (s *EventTag) MarshalJSON() ([]byte, error) {
7412	type NoMethod EventTag
7413	raw := NoMethod(*s)
7414	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7415}
7416
7417// EventTagOverride: Event tag override information.
7418type EventTagOverride struct {
7419	// Enabled: Whether this override is enabled.
7420	Enabled bool `json:"enabled,omitempty"`
7421
7422	// Id: ID of this event tag override. This is a read-only,
7423	// auto-generated field.
7424	Id int64 `json:"id,omitempty,string"`
7425
7426	// ForceSendFields is a list of field names (e.g. "Enabled") to
7427	// unconditionally include in API requests. By default, fields with
7428	// empty values are omitted from API requests. However, any non-pointer,
7429	// non-interface field appearing in ForceSendFields will be sent to the
7430	// server regardless of whether the field is empty or not. This may be
7431	// used to include empty fields in Patch requests.
7432	ForceSendFields []string `json:"-"`
7433
7434	// NullFields is a list of field names (e.g. "Enabled") to include in
7435	// API requests with the JSON null value. By default, fields with empty
7436	// values are omitted from API requests. However, any field with an
7437	// empty value appearing in NullFields will be sent to the server as
7438	// null. It is an error if a field in this list has a non-empty value.
7439	// This may be used to include null fields in Patch requests.
7440	NullFields []string `json:"-"`
7441}
7442
7443func (s *EventTagOverride) MarshalJSON() ([]byte, error) {
7444	type NoMethod EventTagOverride
7445	raw := NoMethod(*s)
7446	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7447}
7448
7449// EventTagsListResponse: Event Tag List Response
7450type EventTagsListResponse struct {
7451	// EventTags: Event tag collection.
7452	EventTags []*EventTag `json:"eventTags,omitempty"`
7453
7454	// Kind: Identifies what kind of resource this is. Value: the fixed
7455	// string "dfareporting#eventTagsListResponse".
7456	Kind string `json:"kind,omitempty"`
7457
7458	// ServerResponse contains the HTTP response code and headers from the
7459	// server.
7460	googleapi.ServerResponse `json:"-"`
7461
7462	// ForceSendFields is a list of field names (e.g. "EventTags") to
7463	// unconditionally include in API requests. By default, fields with
7464	// empty values are omitted from API requests. However, any non-pointer,
7465	// non-interface field appearing in ForceSendFields will be sent to the
7466	// server regardless of whether the field is empty or not. This may be
7467	// used to include empty fields in Patch requests.
7468	ForceSendFields []string `json:"-"`
7469
7470	// NullFields is a list of field names (e.g. "EventTags") to include in
7471	// API requests with the JSON null value. By default, fields with empty
7472	// values are omitted from API requests. However, any field with an
7473	// empty value appearing in NullFields will be sent to the server as
7474	// null. It is an error if a field in this list has a non-empty value.
7475	// This may be used to include null fields in Patch requests.
7476	NullFields []string `json:"-"`
7477}
7478
7479func (s *EventTagsListResponse) MarshalJSON() ([]byte, error) {
7480	type NoMethod EventTagsListResponse
7481	raw := NoMethod(*s)
7482	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7483}
7484
7485// File: Represents a File resource. A file contains the metadata for a
7486// report run. It shows the status of the run and holds the URLs to the
7487// generated report data if the run is finished and the status is
7488// "REPORT_AVAILABLE".
7489type File struct {
7490	// DateRange: The date range for which the file has report data. The
7491	// date range will always be the absolute date range for which the
7492	// report is run.
7493	DateRange *DateRange `json:"dateRange,omitempty"`
7494
7495	// Etag: The eTag of this response for caching purposes.
7496	Etag string `json:"etag,omitempty"`
7497
7498	// FileName: The filename of the file.
7499	FileName string `json:"fileName,omitempty"`
7500
7501	// Format: The output format of the report. Only available once the file
7502	// is available.
7503	//
7504	// Possible values:
7505	//   "CSV"
7506	//   "EXCEL"
7507	Format string `json:"format,omitempty"`
7508
7509	// Id: The unique ID of this report file.
7510	Id int64 `json:"id,omitempty,string"`
7511
7512	// Kind: The kind of resource this is, in this case dfareporting#file.
7513	Kind string `json:"kind,omitempty"`
7514
7515	// LastModifiedTime: The timestamp in milliseconds since epoch when this
7516	// file was last modified.
7517	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
7518
7519	// ReportId: The ID of the report this file was generated from.
7520	ReportId int64 `json:"reportId,omitempty,string"`
7521
7522	// Status: The status of the report file.
7523	//
7524	// Possible values:
7525	//   "CANCELLED"
7526	//   "FAILED"
7527	//   "PROCESSING"
7528	//   "REPORT_AVAILABLE"
7529	Status string `json:"status,omitempty"`
7530
7531	// Urls: The URLs where the completed report file can be downloaded.
7532	Urls *FileUrls `json:"urls,omitempty"`
7533
7534	// ServerResponse contains the HTTP response code and headers from the
7535	// server.
7536	googleapi.ServerResponse `json:"-"`
7537
7538	// ForceSendFields is a list of field names (e.g. "DateRange") to
7539	// unconditionally include in API requests. By default, fields with
7540	// empty values are omitted from API requests. However, any non-pointer,
7541	// non-interface field appearing in ForceSendFields will be sent to the
7542	// server regardless of whether the field is empty or not. This may be
7543	// used to include empty fields in Patch requests.
7544	ForceSendFields []string `json:"-"`
7545
7546	// NullFields is a list of field names (e.g. "DateRange") to include in
7547	// API requests with the JSON null value. By default, fields with empty
7548	// values are omitted from API requests. However, any field with an
7549	// empty value appearing in NullFields will be sent to the server as
7550	// null. It is an error if a field in this list has a non-empty value.
7551	// This may be used to include null fields in Patch requests.
7552	NullFields []string `json:"-"`
7553}
7554
7555func (s *File) MarshalJSON() ([]byte, error) {
7556	type NoMethod File
7557	raw := NoMethod(*s)
7558	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7559}
7560
7561// FileUrls: The URLs where the completed report file can be downloaded.
7562type FileUrls struct {
7563	// ApiUrl: The URL for downloading the report data through the API.
7564	ApiUrl string `json:"apiUrl,omitempty"`
7565
7566	// BrowserUrl: The URL for downloading the report data through a
7567	// browser.
7568	BrowserUrl string `json:"browserUrl,omitempty"`
7569
7570	// ForceSendFields is a list of field names (e.g. "ApiUrl") to
7571	// unconditionally include in API requests. By default, fields with
7572	// empty values are omitted from API requests. However, any non-pointer,
7573	// non-interface field appearing in ForceSendFields will be sent to the
7574	// server regardless of whether the field is empty or not. This may be
7575	// used to include empty fields in Patch requests.
7576	ForceSendFields []string `json:"-"`
7577
7578	// NullFields is a list of field names (e.g. "ApiUrl") to include in API
7579	// requests with the JSON null value. By default, fields with empty
7580	// values are omitted from API requests. However, any field with an
7581	// empty value appearing in NullFields will be sent to the server as
7582	// null. It is an error if a field in this list has a non-empty value.
7583	// This may be used to include null fields in Patch requests.
7584	NullFields []string `json:"-"`
7585}
7586
7587func (s *FileUrls) MarshalJSON() ([]byte, error) {
7588	type NoMethod FileUrls
7589	raw := NoMethod(*s)
7590	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7591}
7592
7593// FileList: Represents the list of File resources.
7594type FileList struct {
7595	// Etag: The eTag of this response for caching purposes.
7596	Etag string `json:"etag,omitempty"`
7597
7598	// Items: The files returned in this response.
7599	Items []*File `json:"items,omitempty"`
7600
7601	// Kind: The kind of list this is, in this case dfareporting#fileList.
7602	Kind string `json:"kind,omitempty"`
7603
7604	// NextPageToken: Continuation token used to page through files. To
7605	// retrieve the next page of results, set the next request's "pageToken"
7606	// to the value of this field. The page token is only valid for a
7607	// limited amount of time and should not be persisted.
7608	NextPageToken string `json:"nextPageToken,omitempty"`
7609
7610	// ServerResponse contains the HTTP response code and headers from the
7611	// server.
7612	googleapi.ServerResponse `json:"-"`
7613
7614	// ForceSendFields is a list of field names (e.g. "Etag") to
7615	// unconditionally include in API requests. By default, fields with
7616	// empty values are omitted from API requests. However, any non-pointer,
7617	// non-interface field appearing in ForceSendFields will be sent to the
7618	// server regardless of whether the field is empty or not. This may be
7619	// used to include empty fields in Patch requests.
7620	ForceSendFields []string `json:"-"`
7621
7622	// NullFields is a list of field names (e.g. "Etag") to include in API
7623	// requests with the JSON null value. By default, fields with empty
7624	// values are omitted from API requests. However, any field with an
7625	// empty value appearing in NullFields will be sent to the server as
7626	// null. It is an error if a field in this list has a non-empty value.
7627	// This may be used to include null fields in Patch requests.
7628	NullFields []string `json:"-"`
7629}
7630
7631func (s *FileList) MarshalJSON() ([]byte, error) {
7632	type NoMethod FileList
7633	raw := NoMethod(*s)
7634	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7635}
7636
7637// Flight: Flight
7638type Flight struct {
7639	// EndDate: Inventory item flight end date.
7640	EndDate string `json:"endDate,omitempty"`
7641
7642	// RateOrCost: Rate or cost of this flight.
7643	RateOrCost int64 `json:"rateOrCost,omitempty,string"`
7644
7645	// StartDate: Inventory item flight start date.
7646	StartDate string `json:"startDate,omitempty"`
7647
7648	// Units: Units of this flight.
7649	Units int64 `json:"units,omitempty,string"`
7650
7651	// ForceSendFields is a list of field names (e.g. "EndDate") to
7652	// unconditionally include in API requests. By default, fields with
7653	// empty values are omitted from API requests. However, any non-pointer,
7654	// non-interface field appearing in ForceSendFields will be sent to the
7655	// server regardless of whether the field is empty or not. This may be
7656	// used to include empty fields in Patch requests.
7657	ForceSendFields []string `json:"-"`
7658
7659	// NullFields is a list of field names (e.g. "EndDate") to include in
7660	// API requests with the JSON null value. By default, fields with empty
7661	// values are omitted from API requests. However, any field with an
7662	// empty value appearing in NullFields will be sent to the server as
7663	// null. It is an error if a field in this list has a non-empty value.
7664	// This may be used to include null fields in Patch requests.
7665	NullFields []string `json:"-"`
7666}
7667
7668func (s *Flight) MarshalJSON() ([]byte, error) {
7669	type NoMethod Flight
7670	raw := NoMethod(*s)
7671	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7672}
7673
7674// FloodlightActivitiesGenerateTagResponse: Floodlight Activity
7675// GenerateTag Response
7676type FloodlightActivitiesGenerateTagResponse struct {
7677	// FloodlightActivityTag: Generated tag for this Floodlight activity.
7678	// For global site tags, this is the event snippet.
7679	FloodlightActivityTag string `json:"floodlightActivityTag,omitempty"`
7680
7681	// GlobalSiteTagGlobalSnippet: The global snippet section of a global
7682	// site tag. The global site tag sets new cookies on your domain, which
7683	// will store a unique identifier for a user or the ad click that
7684	// brought the user to your site. Learn more.
7685	GlobalSiteTagGlobalSnippet string `json:"globalSiteTagGlobalSnippet,omitempty"`
7686
7687	// Kind: Identifies what kind of resource this is. Value: the fixed
7688	// string "dfareporting#floodlightActivitiesGenerateTagResponse".
7689	Kind string `json:"kind,omitempty"`
7690
7691	// ServerResponse contains the HTTP response code and headers from the
7692	// server.
7693	googleapi.ServerResponse `json:"-"`
7694
7695	// ForceSendFields is a list of field names (e.g.
7696	// "FloodlightActivityTag") to unconditionally include in API requests.
7697	// By default, fields with empty values are omitted from API requests.
7698	// However, any non-pointer, non-interface field appearing in
7699	// ForceSendFields will be sent to the server regardless of whether the
7700	// field is empty or not. This may be used to include empty fields in
7701	// Patch requests.
7702	ForceSendFields []string `json:"-"`
7703
7704	// NullFields is a list of field names (e.g. "FloodlightActivityTag") to
7705	// include in API requests with the JSON null value. By default, fields
7706	// with empty values are omitted from API requests. However, any field
7707	// with an empty value appearing in NullFields will be sent to the
7708	// server as null. It is an error if a field in this list has a
7709	// non-empty value. This may be used to include null fields in Patch
7710	// requests.
7711	NullFields []string `json:"-"`
7712}
7713
7714func (s *FloodlightActivitiesGenerateTagResponse) MarshalJSON() ([]byte, error) {
7715	type NoMethod FloodlightActivitiesGenerateTagResponse
7716	raw := NoMethod(*s)
7717	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7718}
7719
7720// FloodlightActivitiesListResponse: Floodlight Activity List Response
7721type FloodlightActivitiesListResponse struct {
7722	// FloodlightActivities: Floodlight activity collection.
7723	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
7724
7725	// Kind: Identifies what kind of resource this is. Value: the fixed
7726	// string "dfareporting#floodlightActivitiesListResponse".
7727	Kind string `json:"kind,omitempty"`
7728
7729	// NextPageToken: Pagination token to be used for the next list
7730	// operation.
7731	NextPageToken string `json:"nextPageToken,omitempty"`
7732
7733	// ServerResponse contains the HTTP response code and headers from the
7734	// server.
7735	googleapi.ServerResponse `json:"-"`
7736
7737	// ForceSendFields is a list of field names (e.g.
7738	// "FloodlightActivities") to unconditionally include in API requests.
7739	// By default, fields with empty values are omitted from API requests.
7740	// However, any non-pointer, non-interface field appearing in
7741	// ForceSendFields will be sent to the server regardless of whether the
7742	// field is empty or not. This may be used to include empty fields in
7743	// Patch requests.
7744	ForceSendFields []string `json:"-"`
7745
7746	// NullFields is a list of field names (e.g. "FloodlightActivities") to
7747	// include in API requests with the JSON null value. By default, fields
7748	// with empty values are omitted from API requests. However, any field
7749	// with an empty value appearing in NullFields will be sent to the
7750	// server as null. It is an error if a field in this list has a
7751	// non-empty value. This may be used to include null fields in Patch
7752	// requests.
7753	NullFields []string `json:"-"`
7754}
7755
7756func (s *FloodlightActivitiesListResponse) MarshalJSON() ([]byte, error) {
7757	type NoMethod FloodlightActivitiesListResponse
7758	raw := NoMethod(*s)
7759	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7760}
7761
7762// FloodlightActivity: Contains properties of a Floodlight activity.
7763type FloodlightActivity struct {
7764	// AccountId: Account ID of this floodlight activity. This is a
7765	// read-only field that can be left blank.
7766	AccountId int64 `json:"accountId,omitempty,string"`
7767
7768	// AdvertiserId: Advertiser ID of this floodlight activity. If this
7769	// field is left blank, the value will be copied over either from the
7770	// activity group's advertiser or the existing activity's advertiser.
7771	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7772
7773	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7774	// advertiser. This is a read-only, auto-generated field.
7775	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7776
7777	// CacheBustingType: Code type used for cache busting in the generated
7778	// tag. Applicable only when floodlightActivityGroupType is COUNTER and
7779	// countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.
7780	//
7781	// Possible values:
7782	//   "ACTIVE_SERVER_PAGE"
7783	//   "COLD_FUSION"
7784	//   "JAVASCRIPT"
7785	//   "JSP"
7786	//   "PHP"
7787	CacheBustingType string `json:"cacheBustingType,omitempty"`
7788
7789	// CountingMethod: Counting method for conversions for this floodlight
7790	// activity. This is a required field.
7791	//
7792	// Possible values:
7793	//   "ITEMS_SOLD_COUNTING"
7794	//   "SESSION_COUNTING"
7795	//   "STANDARD_COUNTING"
7796	//   "TRANSACTIONS_COUNTING"
7797	//   "UNIQUE_COUNTING"
7798	CountingMethod string `json:"countingMethod,omitempty"`
7799
7800	// DefaultTags: Dynamic floodlight tags.
7801	DefaultTags []*FloodlightActivityDynamicTag `json:"defaultTags,omitempty"`
7802
7803	// ExpectedUrl: URL where this tag will be deployed. If specified, must
7804	// be less than 256 characters long.
7805	ExpectedUrl string `json:"expectedUrl,omitempty"`
7806
7807	// FloodlightActivityGroupId: Floodlight activity group ID of this
7808	// floodlight activity. This is a required field.
7809	FloodlightActivityGroupId int64 `json:"floodlightActivityGroupId,omitempty,string"`
7810
7811	// FloodlightActivityGroupName: Name of the associated floodlight
7812	// activity group. This is a read-only field.
7813	FloodlightActivityGroupName string `json:"floodlightActivityGroupName,omitempty"`
7814
7815	// FloodlightActivityGroupTagString: Tag string of the associated
7816	// floodlight activity group. This is a read-only field.
7817	FloodlightActivityGroupTagString string `json:"floodlightActivityGroupTagString,omitempty"`
7818
7819	// FloodlightActivityGroupType: Type of the associated floodlight
7820	// activity group. This is a read-only field.
7821	//
7822	// Possible values:
7823	//   "COUNTER"
7824	//   "SALE"
7825	FloodlightActivityGroupType string `json:"floodlightActivityGroupType,omitempty"`
7826
7827	// FloodlightConfigurationId: Floodlight configuration ID of this
7828	// floodlight activity. If this field is left blank, the value will be
7829	// copied over either from the activity group's floodlight configuration
7830	// or from the existing activity's floodlight configuration.
7831	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
7832
7833	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
7834	// of the floodlight configuration. This is a read-only, auto-generated
7835	// field.
7836	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
7837
7838	// FloodlightTagType: The type of Floodlight tag this activity will
7839	// generate. This is a required field.
7840	//
7841	// Possible values:
7842	//   "GLOBAL_SITE_TAG"
7843	//   "IFRAME"
7844	//   "IMAGE"
7845	FloodlightTagType string `json:"floodlightTagType,omitempty"`
7846
7847	// Id: ID of this floodlight activity. This is a read-only,
7848	// auto-generated field.
7849	Id int64 `json:"id,omitempty,string"`
7850
7851	// IdDimensionValue: Dimension value for the ID of this floodlight
7852	// activity. This is a read-only, auto-generated field.
7853	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7854
7855	// Kind: Identifies what kind of resource this is. Value: the fixed
7856	// string "dfareporting#floodlightActivity".
7857	Kind string `json:"kind,omitempty"`
7858
7859	// Name: Name of this floodlight activity. This is a required field.
7860	// Must be less than 129 characters long and cannot contain quotes.
7861	Name string `json:"name,omitempty"`
7862
7863	// Notes: General notes or implementation instructions for the tag.
7864	Notes string `json:"notes,omitempty"`
7865
7866	// PublisherTags: Publisher dynamic floodlight tags.
7867	PublisherTags []*FloodlightActivityPublisherDynamicTag `json:"publisherTags,omitempty"`
7868
7869	// Secure: Whether this tag should use SSL.
7870	Secure bool `json:"secure,omitempty"`
7871
7872	// SslCompliant: Whether the floodlight activity is SSL-compliant. This
7873	// is a read-only field, its value detected by the system from the
7874	// floodlight tags.
7875	SslCompliant bool `json:"sslCompliant,omitempty"`
7876
7877	// SslRequired: Whether this floodlight activity must be SSL-compliant.
7878	SslRequired bool `json:"sslRequired,omitempty"`
7879
7880	// Status: The status of the activity. This can only be set to ACTIVE or
7881	// ARCHIVED_AND_DISABLED. The ARCHIVED status is no longer supported and
7882	// cannot be set for Floodlight activities. The DISABLED_POLICY status
7883	// indicates that a Floodlight activity is violating Google policy.
7884	// Contact your account manager for more information.
7885	//
7886	// Possible values:
7887	//   "ACTIVE"
7888	//   "ARCHIVED"
7889	//   "ARCHIVED_AND_DISABLED"
7890	//   "DISABLED_POLICY"
7891	Status string `json:"status,omitempty"`
7892
7893	// SubaccountId: Subaccount ID of this floodlight activity. This is a
7894	// read-only field that can be left blank.
7895	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7896
7897	// TagFormat: Tag format type for the floodlight activity. If left
7898	// blank, the tag format will default to HTML.
7899	//
7900	// Possible values:
7901	//   "HTML"
7902	//   "XHTML"
7903	TagFormat string `json:"tagFormat,omitempty"`
7904
7905	// TagString: Value of the cat= parameter in the floodlight tag, which
7906	// the ad servers use to identify the activity. This is optional: if
7907	// empty, a new tag string will be generated for you. This string must
7908	// be 1 to 8 characters long, with valid characters being
7909	// [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among
7910	// activities of the same activity group. This field is read-only after
7911	// insertion.
7912	TagString string `json:"tagString,omitempty"`
7913
7914	// UserDefinedVariableTypes: List of the user-defined variables used by
7915	// this conversion tag. These map to the "u[1-100]=" in the tags. Each
7916	// of these can have a user defined type.
7917	// Acceptable values are U1 to U100, inclusive.
7918	//
7919	// Possible values:
7920	//   "U1"
7921	//   "U10"
7922	//   "U100"
7923	//   "U11"
7924	//   "U12"
7925	//   "U13"
7926	//   "U14"
7927	//   "U15"
7928	//   "U16"
7929	//   "U17"
7930	//   "U18"
7931	//   "U19"
7932	//   "U2"
7933	//   "U20"
7934	//   "U21"
7935	//   "U22"
7936	//   "U23"
7937	//   "U24"
7938	//   "U25"
7939	//   "U26"
7940	//   "U27"
7941	//   "U28"
7942	//   "U29"
7943	//   "U3"
7944	//   "U30"
7945	//   "U31"
7946	//   "U32"
7947	//   "U33"
7948	//   "U34"
7949	//   "U35"
7950	//   "U36"
7951	//   "U37"
7952	//   "U38"
7953	//   "U39"
7954	//   "U4"
7955	//   "U40"
7956	//   "U41"
7957	//   "U42"
7958	//   "U43"
7959	//   "U44"
7960	//   "U45"
7961	//   "U46"
7962	//   "U47"
7963	//   "U48"
7964	//   "U49"
7965	//   "U5"
7966	//   "U50"
7967	//   "U51"
7968	//   "U52"
7969	//   "U53"
7970	//   "U54"
7971	//   "U55"
7972	//   "U56"
7973	//   "U57"
7974	//   "U58"
7975	//   "U59"
7976	//   "U6"
7977	//   "U60"
7978	//   "U61"
7979	//   "U62"
7980	//   "U63"
7981	//   "U64"
7982	//   "U65"
7983	//   "U66"
7984	//   "U67"
7985	//   "U68"
7986	//   "U69"
7987	//   "U7"
7988	//   "U70"
7989	//   "U71"
7990	//   "U72"
7991	//   "U73"
7992	//   "U74"
7993	//   "U75"
7994	//   "U76"
7995	//   "U77"
7996	//   "U78"
7997	//   "U79"
7998	//   "U8"
7999	//   "U80"
8000	//   "U81"
8001	//   "U82"
8002	//   "U83"
8003	//   "U84"
8004	//   "U85"
8005	//   "U86"
8006	//   "U87"
8007	//   "U88"
8008	//   "U89"
8009	//   "U9"
8010	//   "U90"
8011	//   "U91"
8012	//   "U92"
8013	//   "U93"
8014	//   "U94"
8015	//   "U95"
8016	//   "U96"
8017	//   "U97"
8018	//   "U98"
8019	//   "U99"
8020	UserDefinedVariableTypes []string `json:"userDefinedVariableTypes,omitempty"`
8021
8022	// ServerResponse contains the HTTP response code and headers from the
8023	// server.
8024	googleapi.ServerResponse `json:"-"`
8025
8026	// ForceSendFields is a list of field names (e.g. "AccountId") to
8027	// unconditionally include in API requests. By default, fields with
8028	// empty values are omitted from API requests. However, any non-pointer,
8029	// non-interface field appearing in ForceSendFields will be sent to the
8030	// server regardless of whether the field is empty or not. This may be
8031	// used to include empty fields in Patch requests.
8032	ForceSendFields []string `json:"-"`
8033
8034	// NullFields is a list of field names (e.g. "AccountId") to include in
8035	// API requests with the JSON null value. By default, fields with empty
8036	// values are omitted from API requests. However, any field with an
8037	// empty value appearing in NullFields will be sent to the server as
8038	// null. It is an error if a field in this list has a non-empty value.
8039	// This may be used to include null fields in Patch requests.
8040	NullFields []string `json:"-"`
8041}
8042
8043func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
8044	type NoMethod FloodlightActivity
8045	raw := NoMethod(*s)
8046	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8047}
8048
8049// FloodlightActivityDynamicTag: Dynamic Tag
8050type FloodlightActivityDynamicTag struct {
8051	// Id: ID of this dynamic tag. This is a read-only, auto-generated
8052	// field.
8053	Id int64 `json:"id,omitempty,string"`
8054
8055	// Name: Name of this tag.
8056	Name string `json:"name,omitempty"`
8057
8058	// Tag: Tag code.
8059	Tag string `json:"tag,omitempty"`
8060
8061	// ForceSendFields is a list of field names (e.g. "Id") to
8062	// unconditionally include in API requests. By default, fields with
8063	// empty values are omitted from API requests. However, any non-pointer,
8064	// non-interface field appearing in ForceSendFields will be sent to the
8065	// server regardless of whether the field is empty or not. This may be
8066	// used to include empty fields in Patch requests.
8067	ForceSendFields []string `json:"-"`
8068
8069	// NullFields is a list of field names (e.g. "Id") to include in API
8070	// requests with the JSON null value. By default, fields with empty
8071	// values are omitted from API requests. However, any field with an
8072	// empty value appearing in NullFields will be sent to the server as
8073	// null. It is an error if a field in this list has a non-empty value.
8074	// This may be used to include null fields in Patch requests.
8075	NullFields []string `json:"-"`
8076}
8077
8078func (s *FloodlightActivityDynamicTag) MarshalJSON() ([]byte, error) {
8079	type NoMethod FloodlightActivityDynamicTag
8080	raw := NoMethod(*s)
8081	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8082}
8083
8084// FloodlightActivityGroup: Contains properties of a Floodlight activity
8085// group.
8086type FloodlightActivityGroup struct {
8087	// AccountId: Account ID of this floodlight activity group. This is a
8088	// read-only field that can be left blank.
8089	AccountId int64 `json:"accountId,omitempty,string"`
8090
8091	// AdvertiserId: Advertiser ID of this floodlight activity group. If
8092	// this field is left blank, the value will be copied over either from
8093	// the floodlight configuration's advertiser or from the existing
8094	// activity group's advertiser.
8095	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8096
8097	// AdvertiserIdDimensionValue: Dimension value for the ID of the
8098	// advertiser. This is a read-only, auto-generated field.
8099	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
8100
8101	// FloodlightConfigurationId: Floodlight configuration ID of this
8102	// floodlight activity group. This is a required field.
8103	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
8104
8105	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
8106	// of the floodlight configuration. This is a read-only, auto-generated
8107	// field.
8108	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
8109
8110	// Id: ID of this floodlight activity group. This is a read-only,
8111	// auto-generated field.
8112	Id int64 `json:"id,omitempty,string"`
8113
8114	// IdDimensionValue: Dimension value for the ID of this floodlight
8115	// activity group. This is a read-only, auto-generated field.
8116	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
8117
8118	// Kind: Identifies what kind of resource this is. Value: the fixed
8119	// string "dfareporting#floodlightActivityGroup".
8120	Kind string `json:"kind,omitempty"`
8121
8122	// Name: Name of this floodlight activity group. This is a required
8123	// field. Must be less than 65 characters long and cannot contain
8124	// quotes.
8125	Name string `json:"name,omitempty"`
8126
8127	// SubaccountId: Subaccount ID of this floodlight activity group. This
8128	// is a read-only field that can be left blank.
8129	SubaccountId int64 `json:"subaccountId,omitempty,string"`
8130
8131	// TagString: Value of the type= parameter in the floodlight tag, which
8132	// the ad servers use to identify the activity group that the activity
8133	// belongs to. This is optional: if empty, a new tag string will be
8134	// generated for you. This string must be 1 to 8 characters long, with
8135	// valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must
8136	// also be unique among activity groups of the same floodlight
8137	// configuration. This field is read-only after insertion.
8138	TagString string `json:"tagString,omitempty"`
8139
8140	// Type: Type of the floodlight activity group. This is a required field
8141	// that is read-only after insertion.
8142	//
8143	// Possible values:
8144	//   "COUNTER"
8145	//   "SALE"
8146	Type string `json:"type,omitempty"`
8147
8148	// ServerResponse contains the HTTP response code and headers from the
8149	// server.
8150	googleapi.ServerResponse `json:"-"`
8151
8152	// ForceSendFields is a list of field names (e.g. "AccountId") to
8153	// unconditionally include in API requests. By default, fields with
8154	// empty values are omitted from API requests. However, any non-pointer,
8155	// non-interface field appearing in ForceSendFields will be sent to the
8156	// server regardless of whether the field is empty or not. This may be
8157	// used to include empty fields in Patch requests.
8158	ForceSendFields []string `json:"-"`
8159
8160	// NullFields is a list of field names (e.g. "AccountId") to include in
8161	// API requests with the JSON null value. By default, fields with empty
8162	// values are omitted from API requests. However, any field with an
8163	// empty value appearing in NullFields will be sent to the server as
8164	// null. It is an error if a field in this list has a non-empty value.
8165	// This may be used to include null fields in Patch requests.
8166	NullFields []string `json:"-"`
8167}
8168
8169func (s *FloodlightActivityGroup) MarshalJSON() ([]byte, error) {
8170	type NoMethod FloodlightActivityGroup
8171	raw := NoMethod(*s)
8172	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8173}
8174
8175// FloodlightActivityGroupsListResponse: Floodlight Activity Group List
8176// Response
8177type FloodlightActivityGroupsListResponse struct {
8178	// FloodlightActivityGroups: Floodlight activity group collection.
8179	FloodlightActivityGroups []*FloodlightActivityGroup `json:"floodlightActivityGroups,omitempty"`
8180
8181	// Kind: Identifies what kind of resource this is. Value: the fixed
8182	// string "dfareporting#floodlightActivityGroupsListResponse".
8183	Kind string `json:"kind,omitempty"`
8184
8185	// NextPageToken: Pagination token to be used for the next list
8186	// operation.
8187	NextPageToken string `json:"nextPageToken,omitempty"`
8188
8189	// ServerResponse contains the HTTP response code and headers from the
8190	// server.
8191	googleapi.ServerResponse `json:"-"`
8192
8193	// ForceSendFields is a list of field names (e.g.
8194	// "FloodlightActivityGroups") to unconditionally include in API
8195	// requests. By default, fields with empty values are omitted from API
8196	// requests. However, any non-pointer, non-interface field appearing in
8197	// ForceSendFields will be sent to the server regardless of whether the
8198	// field is empty or not. This may be used to include empty fields in
8199	// Patch requests.
8200	ForceSendFields []string `json:"-"`
8201
8202	// NullFields is a list of field names (e.g. "FloodlightActivityGroups")
8203	// to include in API requests with the JSON null value. By default,
8204	// fields with empty values are omitted from API requests. However, any
8205	// field with an empty value appearing in NullFields will be sent to the
8206	// server as null. It is an error if a field in this list has a
8207	// non-empty value. This may be used to include null fields in Patch
8208	// requests.
8209	NullFields []string `json:"-"`
8210}
8211
8212func (s *FloodlightActivityGroupsListResponse) MarshalJSON() ([]byte, error) {
8213	type NoMethod FloodlightActivityGroupsListResponse
8214	raw := NoMethod(*s)
8215	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8216}
8217
8218// FloodlightActivityPublisherDynamicTag: Publisher Dynamic Tag
8219type FloodlightActivityPublisherDynamicTag struct {
8220	// ClickThrough: Whether this tag is applicable only for click-throughs.
8221	ClickThrough bool `json:"clickThrough,omitempty"`
8222
8223	// DirectorySiteId: Directory site ID of this dynamic tag. This is a
8224	// write-only field that can be used as an alternative to the siteId
8225	// field. When this resource is retrieved, only the siteId field will be
8226	// populated.
8227	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
8228
8229	// DynamicTag: Dynamic floodlight tag.
8230	DynamicTag *FloodlightActivityDynamicTag `json:"dynamicTag,omitempty"`
8231
8232	// SiteId: Site ID of this dynamic tag.
8233	SiteId int64 `json:"siteId,omitempty,string"`
8234
8235	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
8236	// a read-only, auto-generated field.
8237	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
8238
8239	// ViewThrough: Whether this tag is applicable only for view-throughs.
8240	ViewThrough bool `json:"viewThrough,omitempty"`
8241
8242	// ForceSendFields is a list of field names (e.g. "ClickThrough") to
8243	// unconditionally include in API requests. By default, fields with
8244	// empty values are omitted from API requests. However, any non-pointer,
8245	// non-interface field appearing in ForceSendFields will be sent to the
8246	// server regardless of whether the field is empty or not. This may be
8247	// used to include empty fields in Patch requests.
8248	ForceSendFields []string `json:"-"`
8249
8250	// NullFields is a list of field names (e.g. "ClickThrough") to include
8251	// in API requests with the JSON null value. By default, fields with
8252	// empty values are omitted from API requests. However, any field with
8253	// an empty value appearing in NullFields will be sent to the server as
8254	// null. It is an error if a field in this list has a non-empty value.
8255	// This may be used to include null fields in Patch requests.
8256	NullFields []string `json:"-"`
8257}
8258
8259func (s *FloodlightActivityPublisherDynamicTag) MarshalJSON() ([]byte, error) {
8260	type NoMethod FloodlightActivityPublisherDynamicTag
8261	raw := NoMethod(*s)
8262	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8263}
8264
8265// FloodlightConfiguration: Contains properties of a Floodlight
8266// configuration.
8267type FloodlightConfiguration struct {
8268	// AccountId: Account ID of this floodlight configuration. This is a
8269	// read-only field that can be left blank.
8270	AccountId int64 `json:"accountId,omitempty,string"`
8271
8272	// AdvertiserId: Advertiser ID of the parent advertiser of this
8273	// floodlight configuration.
8274	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8275
8276	// AdvertiserIdDimensionValue: Dimension value for the ID of the
8277	// advertiser. This is a read-only, auto-generated field.
8278	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
8279
8280	// AnalyticsDataSharingEnabled: Whether advertiser data is shared with
8281	// Google Analytics.
8282	AnalyticsDataSharingEnabled bool `json:"analyticsDataSharingEnabled,omitempty"`
8283
8284	// CustomViewabilityMetric: Custom Viewability metric for the floodlight
8285	// configuration.
8286	CustomViewabilityMetric *CustomViewabilityMetric `json:"customViewabilityMetric,omitempty"`
8287
8288	// ExposureToConversionEnabled: Whether the exposure-to-conversion
8289	// report is enabled. This report shows detailed pathway information on
8290	// up to 10 of the most recent ad exposures seen by a user before
8291	// converting.
8292	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
8293
8294	// FirstDayOfWeek: Day that will be counted as the first day of the week
8295	// in reports. This is a required field.
8296	//
8297	// Possible values:
8298	//   "MONDAY"
8299	//   "SUNDAY"
8300	FirstDayOfWeek string `json:"firstDayOfWeek,omitempty"`
8301
8302	// Id: ID of this floodlight configuration. This is a read-only,
8303	// auto-generated field.
8304	Id int64 `json:"id,omitempty,string"`
8305
8306	// IdDimensionValue: Dimension value for the ID of this floodlight
8307	// configuration. This is a read-only, auto-generated field.
8308	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
8309
8310	// InAppAttributionTrackingEnabled: Whether in-app attribution tracking
8311	// is enabled.
8312	InAppAttributionTrackingEnabled bool `json:"inAppAttributionTrackingEnabled,omitempty"`
8313
8314	// Kind: Identifies what kind of resource this is. Value: the fixed
8315	// string "dfareporting#floodlightConfiguration".
8316	Kind string `json:"kind,omitempty"`
8317
8318	// LookbackConfiguration: Lookback window settings for this floodlight
8319	// configuration.
8320	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
8321
8322	// NaturalSearchConversionAttributionOption: Types of attribution
8323	// options for natural search conversions.
8324	//
8325	// Possible values:
8326	//   "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
8327	//   "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
8328	//   "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"
8329	NaturalSearchConversionAttributionOption string `json:"naturalSearchConversionAttributionOption,omitempty"`
8330
8331	// OmnitureSettings: Settings for Campaign Manager Omniture integration.
8332	OmnitureSettings *OmnitureSettings `json:"omnitureSettings,omitempty"`
8333
8334	// SubaccountId: Subaccount ID of this floodlight configuration. This is
8335	// a read-only field that can be left blank.
8336	SubaccountId int64 `json:"subaccountId,omitempty,string"`
8337
8338	// TagSettings: Configuration settings for dynamic and image floodlight
8339	// tags.
8340	TagSettings *TagSettings `json:"tagSettings,omitempty"`
8341
8342	// ThirdPartyAuthenticationTokens: List of third-party authentication
8343	// tokens enabled for this configuration.
8344	ThirdPartyAuthenticationTokens []*ThirdPartyAuthenticationToken `json:"thirdPartyAuthenticationTokens,omitempty"`
8345
8346	// UserDefinedVariableConfigurations: List of user defined variables
8347	// enabled for this configuration.
8348	UserDefinedVariableConfigurations []*UserDefinedVariableConfiguration `json:"userDefinedVariableConfigurations,omitempty"`
8349
8350	// ServerResponse contains the HTTP response code and headers from the
8351	// server.
8352	googleapi.ServerResponse `json:"-"`
8353
8354	// ForceSendFields is a list of field names (e.g. "AccountId") to
8355	// unconditionally include in API requests. By default, fields with
8356	// empty values are omitted from API requests. However, any non-pointer,
8357	// non-interface field appearing in ForceSendFields will be sent to the
8358	// server regardless of whether the field is empty or not. This may be
8359	// used to include empty fields in Patch requests.
8360	ForceSendFields []string `json:"-"`
8361
8362	// NullFields is a list of field names (e.g. "AccountId") to include in
8363	// API requests with the JSON null value. By default, fields with empty
8364	// values are omitted from API requests. However, any field with an
8365	// empty value appearing in NullFields will be sent to the server as
8366	// null. It is an error if a field in this list has a non-empty value.
8367	// This may be used to include null fields in Patch requests.
8368	NullFields []string `json:"-"`
8369}
8370
8371func (s *FloodlightConfiguration) MarshalJSON() ([]byte, error) {
8372	type NoMethod FloodlightConfiguration
8373	raw := NoMethod(*s)
8374	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8375}
8376
8377// FloodlightConfigurationsListResponse: Floodlight Configuration List
8378// Response
8379type FloodlightConfigurationsListResponse struct {
8380	// FloodlightConfigurations: Floodlight configuration collection.
8381	FloodlightConfigurations []*FloodlightConfiguration `json:"floodlightConfigurations,omitempty"`
8382
8383	// Kind: Identifies what kind of resource this is. Value: the fixed
8384	// string "dfareporting#floodlightConfigurationsListResponse".
8385	Kind string `json:"kind,omitempty"`
8386
8387	// ServerResponse contains the HTTP response code and headers from the
8388	// server.
8389	googleapi.ServerResponse `json:"-"`
8390
8391	// ForceSendFields is a list of field names (e.g.
8392	// "FloodlightConfigurations") to unconditionally include in API
8393	// requests. By default, fields with empty values are omitted from API
8394	// requests. However, any non-pointer, non-interface field appearing in
8395	// ForceSendFields will be sent to the server regardless of whether the
8396	// field is empty or not. This may be used to include empty fields in
8397	// Patch requests.
8398	ForceSendFields []string `json:"-"`
8399
8400	// NullFields is a list of field names (e.g. "FloodlightConfigurations")
8401	// to include in API requests with the JSON null value. By default,
8402	// fields with empty values are omitted from API requests. However, any
8403	// field with an empty value appearing in NullFields will be sent to the
8404	// server as null. It is an error if a field in this list has a
8405	// non-empty value. This may be used to include null fields in Patch
8406	// requests.
8407	NullFields []string `json:"-"`
8408}
8409
8410func (s *FloodlightConfigurationsListResponse) MarshalJSON() ([]byte, error) {
8411	type NoMethod FloodlightConfigurationsListResponse
8412	raw := NoMethod(*s)
8413	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8414}
8415
8416// FloodlightReportCompatibleFields: Represents fields that are
8417// compatible to be selected for a report of type "FlOODLIGHT".
8418type FloodlightReportCompatibleFields struct {
8419	// DimensionFilters: Dimensions which are compatible to be selected in
8420	// the "dimensionFilters" section of the report.
8421	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
8422
8423	// Dimensions: Dimensions which are compatible to be selected in the
8424	// "dimensions" section of the report.
8425	Dimensions []*Dimension `json:"dimensions,omitempty"`
8426
8427	// Kind: The kind of resource this is, in this case
8428	// dfareporting#floodlightReportCompatibleFields.
8429	Kind string `json:"kind,omitempty"`
8430
8431	// Metrics: Metrics which are compatible to be selected in the
8432	// "metricNames" section of the report.
8433	Metrics []*Metric `json:"metrics,omitempty"`
8434
8435	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
8436	// unconditionally include in API requests. By default, fields with
8437	// empty values are omitted from API requests. However, any non-pointer,
8438	// non-interface field appearing in ForceSendFields will be sent to the
8439	// server regardless of whether the field is empty or not. This may be
8440	// used to include empty fields in Patch requests.
8441	ForceSendFields []string `json:"-"`
8442
8443	// NullFields is a list of field names (e.g. "DimensionFilters") to
8444	// include in API requests with the JSON null value. By default, fields
8445	// with empty values are omitted from API requests. However, any field
8446	// with an empty value appearing in NullFields will be sent to the
8447	// server as null. It is an error if a field in this list has a
8448	// non-empty value. This may be used to include null fields in Patch
8449	// requests.
8450	NullFields []string `json:"-"`
8451}
8452
8453func (s *FloodlightReportCompatibleFields) MarshalJSON() ([]byte, error) {
8454	type NoMethod FloodlightReportCompatibleFields
8455	raw := NoMethod(*s)
8456	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8457}
8458
8459// FrequencyCap: Frequency Cap.
8460type FrequencyCap struct {
8461	// Duration: Duration of time, in seconds, for this frequency cap. The
8462	// maximum duration is 90 days. Acceptable values are 1 to 7776000,
8463	// inclusive.
8464	Duration int64 `json:"duration,omitempty,string"`
8465
8466	// Impressions: Number of times an individual user can be served the ad
8467	// within the specified duration. Acceptable values are 1 to 15,
8468	// inclusive.
8469	Impressions int64 `json:"impressions,omitempty,string"`
8470
8471	// ForceSendFields is a list of field names (e.g. "Duration") to
8472	// unconditionally include in API requests. By default, fields with
8473	// empty values are omitted from API requests. However, any non-pointer,
8474	// non-interface field appearing in ForceSendFields will be sent to the
8475	// server regardless of whether the field is empty or not. This may be
8476	// used to include empty fields in Patch requests.
8477	ForceSendFields []string `json:"-"`
8478
8479	// NullFields is a list of field names (e.g. "Duration") to include in
8480	// API requests with the JSON null value. By default, fields with empty
8481	// values are omitted from API requests. However, any field with an
8482	// empty value appearing in NullFields will be sent to the server as
8483	// null. It is an error if a field in this list has a non-empty value.
8484	// This may be used to include null fields in Patch requests.
8485	NullFields []string `json:"-"`
8486}
8487
8488func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
8489	type NoMethod FrequencyCap
8490	raw := NoMethod(*s)
8491	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8492}
8493
8494// FsCommand: FsCommand.
8495type FsCommand struct {
8496	// Left: Distance from the left of the browser.Applicable when
8497	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
8498	Left int64 `json:"left,omitempty"`
8499
8500	// PositionOption: Position in the browser where the window will open.
8501	//
8502	// Possible values:
8503	//   "CENTERED"
8504	//   "DISTANCE_FROM_TOP_LEFT_CORNER"
8505	PositionOption string `json:"positionOption,omitempty"`
8506
8507	// Top: Distance from the top of the browser. Applicable when
8508	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
8509	Top int64 `json:"top,omitempty"`
8510
8511	// WindowHeight: Height of the window.
8512	WindowHeight int64 `json:"windowHeight,omitempty"`
8513
8514	// WindowWidth: Width of the window.
8515	WindowWidth int64 `json:"windowWidth,omitempty"`
8516
8517	// ForceSendFields is a list of field names (e.g. "Left") to
8518	// unconditionally include in API requests. By default, fields with
8519	// empty values are omitted from API requests. However, any non-pointer,
8520	// non-interface field appearing in ForceSendFields will be sent to the
8521	// server regardless of whether the field is empty or not. This may be
8522	// used to include empty fields in Patch requests.
8523	ForceSendFields []string `json:"-"`
8524
8525	// NullFields is a list of field names (e.g. "Left") to include in API
8526	// requests with the JSON null value. By default, fields with empty
8527	// values are omitted from API requests. However, any field with an
8528	// empty value appearing in NullFields will be sent to the server as
8529	// null. It is an error if a field in this list has a non-empty value.
8530	// This may be used to include null fields in Patch requests.
8531	NullFields []string `json:"-"`
8532}
8533
8534func (s *FsCommand) MarshalJSON() ([]byte, error) {
8535	type NoMethod FsCommand
8536	raw := NoMethod(*s)
8537	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8538}
8539
8540// GeoTargeting: Geographical Targeting.
8541type GeoTargeting struct {
8542	// Cities: Cities to be targeted. For each city only dartId is required.
8543	// The other fields are populated automatically when the ad is inserted
8544	// or updated. If targeting a city, do not target or exclude the country
8545	// of the city, and do not target the metro or region of the city.
8546	Cities []*City `json:"cities,omitempty"`
8547
8548	// Countries: Countries to be targeted or excluded from targeting,
8549	// depending on the setting of the excludeCountries field. For each
8550	// country only dartId is required. The other fields are populated
8551	// automatically when the ad is inserted or updated. If targeting or
8552	// excluding a country, do not target regions, cities, metros, or postal
8553	// codes in the same country.
8554	Countries []*Country `json:"countries,omitempty"`
8555
8556	// ExcludeCountries: Whether or not to exclude the countries in the
8557	// countries field from targeting. If false, the countries field refers
8558	// to countries which will be targeted by the ad.
8559	ExcludeCountries bool `json:"excludeCountries,omitempty"`
8560
8561	// Metros: Metros to be targeted. For each metro only dmaId is required.
8562	// The other fields are populated automatically when the ad is inserted
8563	// or updated. If targeting a metro, do not target or exclude the
8564	// country of the metro.
8565	Metros []*Metro `json:"metros,omitempty"`
8566
8567	// PostalCodes: Postal codes to be targeted. For each postal code only
8568	// id is required. The other fields are populated automatically when the
8569	// ad is inserted or updated. If targeting a postal code, do not target
8570	// or exclude the country of the postal code.
8571	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
8572
8573	// Regions: Regions to be targeted. For each region only dartId is
8574	// required. The other fields are populated automatically when the ad is
8575	// inserted or updated. If targeting a region, do not target or exclude
8576	// the country of the region.
8577	Regions []*Region `json:"regions,omitempty"`
8578
8579	// ForceSendFields is a list of field names (e.g. "Cities") to
8580	// unconditionally include in API requests. By default, fields with
8581	// empty values are omitted from API requests. However, any non-pointer,
8582	// non-interface field appearing in ForceSendFields will be sent to the
8583	// server regardless of whether the field is empty or not. This may be
8584	// used to include empty fields in Patch requests.
8585	ForceSendFields []string `json:"-"`
8586
8587	// NullFields is a list of field names (e.g. "Cities") to include in API
8588	// requests with the JSON null value. By default, fields with empty
8589	// values are omitted from API requests. However, any field with an
8590	// empty value appearing in NullFields will be sent to the server as
8591	// null. It is an error if a field in this list has a non-empty value.
8592	// This may be used to include null fields in Patch requests.
8593	NullFields []string `json:"-"`
8594}
8595
8596func (s *GeoTargeting) MarshalJSON() ([]byte, error) {
8597	type NoMethod GeoTargeting
8598	raw := NoMethod(*s)
8599	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8600}
8601
8602// InventoryItem: Represents a buy from the Planning inventory store.
8603type InventoryItem struct {
8604	// AccountId: Account ID of this inventory item.
8605	AccountId int64 `json:"accountId,omitempty,string"`
8606
8607	// AdSlots: Ad slots of this inventory item. If this inventory item
8608	// represents a standalone placement, there will be exactly one ad slot.
8609	// If this inventory item represents a placement group, there will be
8610	// more than one ad slot, each representing one child placement in that
8611	// placement group.
8612	AdSlots []*AdSlot `json:"adSlots,omitempty"`
8613
8614	// AdvertiserId: Advertiser ID of this inventory item.
8615	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8616
8617	// ContentCategoryId: Content category ID of this inventory item.
8618	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
8619
8620	// EstimatedClickThroughRate: Estimated click-through rate of this
8621	// inventory item.
8622	EstimatedClickThroughRate int64 `json:"estimatedClickThroughRate,omitempty,string"`
8623
8624	// EstimatedConversionRate: Estimated conversion rate of this inventory
8625	// item.
8626	EstimatedConversionRate int64 `json:"estimatedConversionRate,omitempty,string"`
8627
8628	// Id: ID of this inventory item.
8629	Id int64 `json:"id,omitempty,string"`
8630
8631	// InPlan: Whether this inventory item is in plan.
8632	InPlan bool `json:"inPlan,omitempty"`
8633
8634	// Kind: Identifies what kind of resource this is. Value: the fixed
8635	// string "dfareporting#inventoryItem".
8636	Kind string `json:"kind,omitempty"`
8637
8638	// LastModifiedInfo: Information about the most recent modification of
8639	// this inventory item.
8640	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
8641
8642	// Name: Name of this inventory item. For standalone inventory items,
8643	// this is the same name as that of its only ad slot. For group
8644	// inventory items, this can differ from the name of any of its ad
8645	// slots.
8646	Name string `json:"name,omitempty"`
8647
8648	// NegotiationChannelId: Negotiation channel ID of this inventory item.
8649	NegotiationChannelId int64 `json:"negotiationChannelId,omitempty,string"`
8650
8651	// OrderId: Order ID of this inventory item.
8652	OrderId int64 `json:"orderId,omitempty,string"`
8653
8654	// PlacementStrategyId: Placement strategy ID of this inventory item.
8655	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
8656
8657	// Pricing: Pricing of this inventory item.
8658	Pricing *Pricing `json:"pricing,omitempty"`
8659
8660	// ProjectId: Project ID of this inventory item.
8661	ProjectId int64 `json:"projectId,omitempty,string"`
8662
8663	// RfpId: RFP ID of this inventory item.
8664	RfpId int64 `json:"rfpId,omitempty,string"`
8665
8666	// SiteId: ID of the site this inventory item is associated with.
8667	SiteId int64 `json:"siteId,omitempty,string"`
8668
8669	// SubaccountId: Subaccount ID of this inventory item.
8670	SubaccountId int64 `json:"subaccountId,omitempty,string"`
8671
8672	// Type: Type of inventory item.
8673	//
8674	// Possible values:
8675	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
8676	//   "PLANNING_PLACEMENT_TYPE_REGULAR"
8677	Type string `json:"type,omitempty"`
8678
8679	// ServerResponse contains the HTTP response code and headers from the
8680	// server.
8681	googleapi.ServerResponse `json:"-"`
8682
8683	// ForceSendFields is a list of field names (e.g. "AccountId") to
8684	// unconditionally include in API requests. By default, fields with
8685	// empty values are omitted from API requests. However, any non-pointer,
8686	// non-interface field appearing in ForceSendFields will be sent to the
8687	// server regardless of whether the field is empty or not. This may be
8688	// used to include empty fields in Patch requests.
8689	ForceSendFields []string `json:"-"`
8690
8691	// NullFields is a list of field names (e.g. "AccountId") to include in
8692	// API requests with the JSON null value. By default, fields with empty
8693	// values are omitted from API requests. However, any field with an
8694	// empty value appearing in NullFields will be sent to the server as
8695	// null. It is an error if a field in this list has a non-empty value.
8696	// This may be used to include null fields in Patch requests.
8697	NullFields []string `json:"-"`
8698}
8699
8700func (s *InventoryItem) MarshalJSON() ([]byte, error) {
8701	type NoMethod InventoryItem
8702	raw := NoMethod(*s)
8703	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8704}
8705
8706// InventoryItemsListResponse: Inventory item List Response
8707type InventoryItemsListResponse struct {
8708	// InventoryItems: Inventory item collection
8709	InventoryItems []*InventoryItem `json:"inventoryItems,omitempty"`
8710
8711	// Kind: Identifies what kind of resource this is. Value: the fixed
8712	// string "dfareporting#inventoryItemsListResponse".
8713	Kind string `json:"kind,omitempty"`
8714
8715	// NextPageToken: Pagination token to be used for the next list
8716	// operation.
8717	NextPageToken string `json:"nextPageToken,omitempty"`
8718
8719	// ServerResponse contains the HTTP response code and headers from the
8720	// server.
8721	googleapi.ServerResponse `json:"-"`
8722
8723	// ForceSendFields is a list of field names (e.g. "InventoryItems") to
8724	// unconditionally include in API requests. By default, fields with
8725	// empty values are omitted from API requests. However, any non-pointer,
8726	// non-interface field appearing in ForceSendFields will be sent to the
8727	// server regardless of whether the field is empty or not. This may be
8728	// used to include empty fields in Patch requests.
8729	ForceSendFields []string `json:"-"`
8730
8731	// NullFields is a list of field names (e.g. "InventoryItems") to
8732	// include in API requests with the JSON null value. By default, fields
8733	// with empty values are omitted from API requests. However, any field
8734	// with an empty value appearing in NullFields will be sent to the
8735	// server as null. It is an error if a field in this list has a
8736	// non-empty value. This may be used to include null fields in Patch
8737	// requests.
8738	NullFields []string `json:"-"`
8739}
8740
8741func (s *InventoryItemsListResponse) MarshalJSON() ([]byte, error) {
8742	type NoMethod InventoryItemsListResponse
8743	raw := NoMethod(*s)
8744	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8745}
8746
8747// KeyValueTargetingExpression: Key Value Targeting Expression.
8748type KeyValueTargetingExpression struct {
8749	// Expression: Keyword expression being targeted by the ad.
8750	Expression string `json:"expression,omitempty"`
8751
8752	// ForceSendFields is a list of field names (e.g. "Expression") to
8753	// unconditionally include in API requests. By default, fields with
8754	// empty values are omitted from API requests. However, any non-pointer,
8755	// non-interface field appearing in ForceSendFields will be sent to the
8756	// server regardless of whether the field is empty or not. This may be
8757	// used to include empty fields in Patch requests.
8758	ForceSendFields []string `json:"-"`
8759
8760	// NullFields is a list of field names (e.g. "Expression") to include in
8761	// API requests with the JSON null value. By default, fields with empty
8762	// values are omitted from API requests. However, any field with an
8763	// empty value appearing in NullFields will be sent to the server as
8764	// null. It is an error if a field in this list has a non-empty value.
8765	// This may be used to include null fields in Patch requests.
8766	NullFields []string `json:"-"`
8767}
8768
8769func (s *KeyValueTargetingExpression) MarshalJSON() ([]byte, error) {
8770	type NoMethod KeyValueTargetingExpression
8771	raw := NoMethod(*s)
8772	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8773}
8774
8775// LandingPage: Contains information about where a user's browser is
8776// taken after the user clicks an ad.
8777type LandingPage struct {
8778	// AdvertiserId: Advertiser ID of this landing page. This is a required
8779	// field.
8780	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8781
8782	// Archived: Whether this landing page has been archived.
8783	Archived bool `json:"archived,omitempty"`
8784
8785	// DeepLinks: Links that will direct the user to a mobile app, if
8786	// installed.
8787	DeepLinks []*DeepLink `json:"deepLinks,omitempty"`
8788
8789	// Id: ID of this landing page. This is a read-only, auto-generated
8790	// field.
8791	Id int64 `json:"id,omitempty,string"`
8792
8793	// Kind: Identifies what kind of resource this is. Value: the fixed
8794	// string "dfareporting#landingPage".
8795	Kind string `json:"kind,omitempty"`
8796
8797	// Name: Name of this landing page. This is a required field. It must be
8798	// less than 256 characters long.
8799	Name string `json:"name,omitempty"`
8800
8801	// Url: URL of this landing page. This is a required field.
8802	Url string `json:"url,omitempty"`
8803
8804	// ServerResponse contains the HTTP response code and headers from the
8805	// server.
8806	googleapi.ServerResponse `json:"-"`
8807
8808	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
8809	// unconditionally include in API requests. By default, fields with
8810	// empty values are omitted from API requests. However, any non-pointer,
8811	// non-interface field appearing in ForceSendFields will be sent to the
8812	// server regardless of whether the field is empty or not. This may be
8813	// used to include empty fields in Patch requests.
8814	ForceSendFields []string `json:"-"`
8815
8816	// NullFields is a list of field names (e.g. "AdvertiserId") to include
8817	// in API requests with the JSON null value. By default, fields with
8818	// empty values are omitted from API requests. However, any field with
8819	// an empty value appearing in NullFields will be sent to the server as
8820	// null. It is an error if a field in this list has a non-empty value.
8821	// This may be used to include null fields in Patch requests.
8822	NullFields []string `json:"-"`
8823}
8824
8825func (s *LandingPage) MarshalJSON() ([]byte, error) {
8826	type NoMethod LandingPage
8827	raw := NoMethod(*s)
8828	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8829}
8830
8831// Language: Contains information about a language that can be targeted
8832// by ads.
8833type Language struct {
8834	// Id: Language ID of this language. This is the ID used for targeting
8835	// and generating reports.
8836	Id int64 `json:"id,omitempty,string"`
8837
8838	// Kind: Identifies what kind of resource this is. Value: the fixed
8839	// string "dfareporting#language".
8840	Kind string `json:"kind,omitempty"`
8841
8842	// LanguageCode: Format of language code is an ISO 639 two-letter
8843	// language code optionally followed by an underscore followed by an ISO
8844	// 3166 code. Examples are "en" for English or "zh_CN" for Simplified
8845	// Chinese.
8846	LanguageCode string `json:"languageCode,omitempty"`
8847
8848	// Name: Name of this language.
8849	Name string `json:"name,omitempty"`
8850
8851	// ForceSendFields is a list of field names (e.g. "Id") to
8852	// unconditionally include in API requests. By default, fields with
8853	// empty values are omitted from API requests. However, any non-pointer,
8854	// non-interface field appearing in ForceSendFields will be sent to the
8855	// server regardless of whether the field is empty or not. This may be
8856	// used to include empty fields in Patch requests.
8857	ForceSendFields []string `json:"-"`
8858
8859	// NullFields is a list of field names (e.g. "Id") to include in API
8860	// requests with the JSON null value. By default, fields with empty
8861	// values are omitted from API requests. However, any field with an
8862	// empty value appearing in NullFields will be sent to the server as
8863	// null. It is an error if a field in this list has a non-empty value.
8864	// This may be used to include null fields in Patch requests.
8865	NullFields []string `json:"-"`
8866}
8867
8868func (s *Language) MarshalJSON() ([]byte, error) {
8869	type NoMethod Language
8870	raw := NoMethod(*s)
8871	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8872}
8873
8874// LanguageTargeting: Language Targeting.
8875type LanguageTargeting struct {
8876	// Languages: Languages that this ad targets. For each language only
8877	// languageId is required. The other fields are populated automatically
8878	// when the ad is inserted or updated.
8879	Languages []*Language `json:"languages,omitempty"`
8880
8881	// ForceSendFields is a list of field names (e.g. "Languages") to
8882	// unconditionally include in API requests. By default, fields with
8883	// empty values are omitted from API requests. However, any non-pointer,
8884	// non-interface field appearing in ForceSendFields will be sent to the
8885	// server regardless of whether the field is empty or not. This may be
8886	// used to include empty fields in Patch requests.
8887	ForceSendFields []string `json:"-"`
8888
8889	// NullFields is a list of field names (e.g. "Languages") to include in
8890	// API requests with the JSON null value. By default, fields with empty
8891	// values are omitted from API requests. However, any field with an
8892	// empty value appearing in NullFields will be sent to the server as
8893	// null. It is an error if a field in this list has a non-empty value.
8894	// This may be used to include null fields in Patch requests.
8895	NullFields []string `json:"-"`
8896}
8897
8898func (s *LanguageTargeting) MarshalJSON() ([]byte, error) {
8899	type NoMethod LanguageTargeting
8900	raw := NoMethod(*s)
8901	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8902}
8903
8904// LanguagesListResponse: Language List Response
8905type LanguagesListResponse struct {
8906	// Kind: Identifies what kind of resource this is. Value: the fixed
8907	// string "dfareporting#languagesListResponse".
8908	Kind string `json:"kind,omitempty"`
8909
8910	// Languages: Language collection.
8911	Languages []*Language `json:"languages,omitempty"`
8912
8913	// ServerResponse contains the HTTP response code and headers from the
8914	// server.
8915	googleapi.ServerResponse `json:"-"`
8916
8917	// ForceSendFields is a list of field names (e.g. "Kind") to
8918	// unconditionally include in API requests. By default, fields with
8919	// empty values are omitted from API requests. However, any non-pointer,
8920	// non-interface field appearing in ForceSendFields will be sent to the
8921	// server regardless of whether the field is empty or not. This may be
8922	// used to include empty fields in Patch requests.
8923	ForceSendFields []string `json:"-"`
8924
8925	// NullFields is a list of field names (e.g. "Kind") to include in API
8926	// requests with the JSON null value. By default, fields with empty
8927	// values are omitted from API requests. However, any field with an
8928	// empty value appearing in NullFields will be sent to the server as
8929	// null. It is an error if a field in this list has a non-empty value.
8930	// This may be used to include null fields in Patch requests.
8931	NullFields []string `json:"-"`
8932}
8933
8934func (s *LanguagesListResponse) MarshalJSON() ([]byte, error) {
8935	type NoMethod LanguagesListResponse
8936	raw := NoMethod(*s)
8937	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8938}
8939
8940// LastModifiedInfo: Modification timestamp.
8941type LastModifiedInfo struct {
8942	// Time: Timestamp of the last change in milliseconds since epoch.
8943	Time int64 `json:"time,omitempty,string"`
8944
8945	// ForceSendFields is a list of field names (e.g. "Time") to
8946	// unconditionally include in API requests. By default, fields with
8947	// empty values are omitted from API requests. However, any non-pointer,
8948	// non-interface field appearing in ForceSendFields will be sent to the
8949	// server regardless of whether the field is empty or not. This may be
8950	// used to include empty fields in Patch requests.
8951	ForceSendFields []string `json:"-"`
8952
8953	// NullFields is a list of field names (e.g. "Time") to include in API
8954	// requests with the JSON null value. By default, fields with empty
8955	// values are omitted from API requests. However, any field with an
8956	// empty value appearing in NullFields will be sent to the server as
8957	// null. It is an error if a field in this list has a non-empty value.
8958	// This may be used to include null fields in Patch requests.
8959	NullFields []string `json:"-"`
8960}
8961
8962func (s *LastModifiedInfo) MarshalJSON() ([]byte, error) {
8963	type NoMethod LastModifiedInfo
8964	raw := NoMethod(*s)
8965	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8966}
8967
8968// ListPopulationClause: A group clause made up of list population terms
8969// representing constraints joined by ORs.
8970type ListPopulationClause struct {
8971	// Terms: Terms of this list population clause. Each clause is made up
8972	// of list population terms representing constraints and are joined by
8973	// ORs.
8974	Terms []*ListPopulationTerm `json:"terms,omitempty"`
8975
8976	// ForceSendFields is a list of field names (e.g. "Terms") to
8977	// unconditionally include in API requests. By default, fields with
8978	// empty values are omitted from API requests. However, any non-pointer,
8979	// non-interface field appearing in ForceSendFields will be sent to the
8980	// server regardless of whether the field is empty or not. This may be
8981	// used to include empty fields in Patch requests.
8982	ForceSendFields []string `json:"-"`
8983
8984	// NullFields is a list of field names (e.g. "Terms") to include in API
8985	// requests with the JSON null value. By default, fields with empty
8986	// values are omitted from API requests. However, any field with an
8987	// empty value appearing in NullFields will be sent to the server as
8988	// null. It is an error if a field in this list has a non-empty value.
8989	// This may be used to include null fields in Patch requests.
8990	NullFields []string `json:"-"`
8991}
8992
8993func (s *ListPopulationClause) MarshalJSON() ([]byte, error) {
8994	type NoMethod ListPopulationClause
8995	raw := NoMethod(*s)
8996	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8997}
8998
8999// ListPopulationRule: Remarketing List Population Rule.
9000type ListPopulationRule struct {
9001	// FloodlightActivityId: Floodlight activity ID associated with this
9002	// rule. This field can be left blank.
9003	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
9004
9005	// FloodlightActivityName: Name of floodlight activity associated with
9006	// this rule. This is a read-only, auto-generated field.
9007	FloodlightActivityName string `json:"floodlightActivityName,omitempty"`
9008
9009	// ListPopulationClauses: Clauses that make up this list population
9010	// rule. Clauses are joined by ANDs, and the clauses themselves are made
9011	// up of list population terms which are joined by ORs.
9012	ListPopulationClauses []*ListPopulationClause `json:"listPopulationClauses,omitempty"`
9013
9014	// ForceSendFields is a list of field names (e.g.
9015	// "FloodlightActivityId") to unconditionally include in API requests.
9016	// By default, fields with empty values are omitted from API requests.
9017	// However, any non-pointer, non-interface field appearing in
9018	// ForceSendFields will be sent to the server regardless of whether the
9019	// field is empty or not. This may be used to include empty fields in
9020	// Patch requests.
9021	ForceSendFields []string `json:"-"`
9022
9023	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
9024	// include in API requests with the JSON null value. By default, fields
9025	// with empty values are omitted from API requests. However, any field
9026	// with an empty value appearing in NullFields will be sent to the
9027	// server as null. It is an error if a field in this list has a
9028	// non-empty value. This may be used to include null fields in Patch
9029	// requests.
9030	NullFields []string `json:"-"`
9031}
9032
9033func (s *ListPopulationRule) MarshalJSON() ([]byte, error) {
9034	type NoMethod ListPopulationRule
9035	raw := NoMethod(*s)
9036	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9037}
9038
9039// ListPopulationTerm: Remarketing List Population Rule Term.
9040type ListPopulationTerm struct {
9041	// Contains: Will be true if the term should check if the user is in the
9042	// list and false if the term should check if the user is not in the
9043	// list. This field is only relevant when type is set to
9044	// LIST_MEMBERSHIP_TERM. False by default.
9045	Contains bool `json:"contains,omitempty"`
9046
9047	// Negation: Whether to negate the comparison result of this term during
9048	// rule evaluation. This field is only relevant when type is left unset
9049	// or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
9050	Negation bool `json:"negation,omitempty"`
9051
9052	// Operator: Comparison operator of this term. This field is only
9053	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
9054	// REFERRER_TERM.
9055	//
9056	// Possible values:
9057	//   "NUM_EQUALS"
9058	//   "NUM_GREATER_THAN"
9059	//   "NUM_GREATER_THAN_EQUAL"
9060	//   "NUM_LESS_THAN"
9061	//   "NUM_LESS_THAN_EQUAL"
9062	//   "STRING_CONTAINS"
9063	//   "STRING_EQUALS"
9064	Operator string `json:"operator,omitempty"`
9065
9066	// RemarketingListId: ID of the list in question. This field is only
9067	// relevant when type is set to LIST_MEMBERSHIP_TERM.
9068	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
9069
9070	// Type: List population term type determines the applicable fields in
9071	// this object. If left unset or set to CUSTOM_VARIABLE_TERM, then
9072	// variableName, variableFriendlyName, operator, value, and negation are
9073	// applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
9074	// contains are applicable. If set to REFERRER_TERM then operator,
9075	// value, and negation are applicable.
9076	//
9077	// Possible values:
9078	//   "CUSTOM_VARIABLE_TERM"
9079	//   "LIST_MEMBERSHIP_TERM"
9080	//   "REFERRER_TERM"
9081	Type string `json:"type,omitempty"`
9082
9083	// Value: Literal to compare the variable to. This field is only
9084	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
9085	// REFERRER_TERM.
9086	Value string `json:"value,omitempty"`
9087
9088	// VariableFriendlyName: Friendly name of this term's variable. This is
9089	// a read-only, auto-generated field. This field is only relevant when
9090	// type is left unset or set to CUSTOM_VARIABLE_TERM.
9091	VariableFriendlyName string `json:"variableFriendlyName,omitempty"`
9092
9093	// VariableName: Name of the variable (U1, U2, etc.) being compared in
9094	// this term. This field is only relevant when type is set to null,
9095	// CUSTOM_VARIABLE_TERM or REFERRER_TERM.
9096	VariableName string `json:"variableName,omitempty"`
9097
9098	// ForceSendFields is a list of field names (e.g. "Contains") to
9099	// unconditionally include in API requests. By default, fields with
9100	// empty values are omitted from API requests. However, any non-pointer,
9101	// non-interface field appearing in ForceSendFields will be sent to the
9102	// server regardless of whether the field is empty or not. This may be
9103	// used to include empty fields in Patch requests.
9104	ForceSendFields []string `json:"-"`
9105
9106	// NullFields is a list of field names (e.g. "Contains") to include in
9107	// API requests with the JSON null value. By default, fields with empty
9108	// values are omitted from API requests. However, any field with an
9109	// empty value appearing in NullFields will be sent to the server as
9110	// null. It is an error if a field in this list has a non-empty value.
9111	// This may be used to include null fields in Patch requests.
9112	NullFields []string `json:"-"`
9113}
9114
9115func (s *ListPopulationTerm) MarshalJSON() ([]byte, error) {
9116	type NoMethod ListPopulationTerm
9117	raw := NoMethod(*s)
9118	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9119}
9120
9121// ListTargetingExpression: Remarketing List Targeting Expression.
9122type ListTargetingExpression struct {
9123	// Expression: Expression describing which lists are being targeted by
9124	// the ad.
9125	Expression string `json:"expression,omitempty"`
9126
9127	// ForceSendFields is a list of field names (e.g. "Expression") to
9128	// unconditionally include in API requests. By default, fields with
9129	// empty values are omitted from API requests. However, any non-pointer,
9130	// non-interface field appearing in ForceSendFields will be sent to the
9131	// server regardless of whether the field is empty or not. This may be
9132	// used to include empty fields in Patch requests.
9133	ForceSendFields []string `json:"-"`
9134
9135	// NullFields is a list of field names (e.g. "Expression") to include in
9136	// API requests with the JSON null value. By default, fields with empty
9137	// values are omitted from API requests. However, any field with an
9138	// empty value appearing in NullFields will be sent to the server as
9139	// null. It is an error if a field in this list has a non-empty value.
9140	// This may be used to include null fields in Patch requests.
9141	NullFields []string `json:"-"`
9142}
9143
9144func (s *ListTargetingExpression) MarshalJSON() ([]byte, error) {
9145	type NoMethod ListTargetingExpression
9146	raw := NoMethod(*s)
9147	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9148}
9149
9150// LookbackConfiguration: Lookback configuration settings.
9151type LookbackConfiguration struct {
9152	// ClickDuration: Lookback window, in days, from the last time a given
9153	// user clicked on one of your ads. If you enter 0, clicks will not be
9154	// considered as triggering events for floodlight tracking. If you leave
9155	// this field blank, the default value for your account will be used.
9156	// Acceptable values are 0 to 90, inclusive.
9157	ClickDuration int64 `json:"clickDuration,omitempty"`
9158
9159	// PostImpressionActivitiesDuration: Lookback window, in days, from the
9160	// last time a given user viewed one of your ads. If you enter 0,
9161	// impressions will not be considered as triggering events for
9162	// floodlight tracking. If you leave this field blank, the default value
9163	// for your account will be used. Acceptable values are 0 to 90,
9164	// inclusive.
9165	PostImpressionActivitiesDuration int64 `json:"postImpressionActivitiesDuration,omitempty"`
9166
9167	// ForceSendFields is a list of field names (e.g. "ClickDuration") to
9168	// unconditionally include in API requests. By default, fields with
9169	// empty values are omitted from API requests. However, any non-pointer,
9170	// non-interface field appearing in ForceSendFields will be sent to the
9171	// server regardless of whether the field is empty or not. This may be
9172	// used to include empty fields in Patch requests.
9173	ForceSendFields []string `json:"-"`
9174
9175	// NullFields is a list of field names (e.g. "ClickDuration") to include
9176	// in API requests with the JSON null value. By default, fields with
9177	// empty values are omitted from API requests. However, any field with
9178	// an empty value appearing in NullFields will be sent to the server as
9179	// null. It is an error if a field in this list has a non-empty value.
9180	// This may be used to include null fields in Patch requests.
9181	NullFields []string `json:"-"`
9182}
9183
9184func (s *LookbackConfiguration) MarshalJSON() ([]byte, error) {
9185	type NoMethod LookbackConfiguration
9186	raw := NoMethod(*s)
9187	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9188}
9189
9190// Metric: Represents a metric.
9191type Metric struct {
9192	// Kind: The kind of resource this is, in this case dfareporting#metric.
9193	Kind string `json:"kind,omitempty"`
9194
9195	// Name: The metric name, e.g. dfa:impressions
9196	Name string `json:"name,omitempty"`
9197
9198	// ForceSendFields is a list of field names (e.g. "Kind") to
9199	// unconditionally include in API requests. By default, fields with
9200	// empty values are omitted from API requests. However, any non-pointer,
9201	// non-interface field appearing in ForceSendFields will be sent to the
9202	// server regardless of whether the field is empty or not. This may be
9203	// used to include empty fields in Patch requests.
9204	ForceSendFields []string `json:"-"`
9205
9206	// NullFields is a list of field names (e.g. "Kind") to include in API
9207	// requests with the JSON null value. By default, fields with empty
9208	// values are omitted from API requests. However, any field with an
9209	// empty value appearing in NullFields will be sent to the server as
9210	// null. It is an error if a field in this list has a non-empty value.
9211	// This may be used to include null fields in Patch requests.
9212	NullFields []string `json:"-"`
9213}
9214
9215func (s *Metric) MarshalJSON() ([]byte, error) {
9216	type NoMethod Metric
9217	raw := NoMethod(*s)
9218	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9219}
9220
9221// Metro: Contains information about a metro region that can be targeted
9222// by ads.
9223type Metro struct {
9224	// CountryCode: Country code of the country to which this metro region
9225	// belongs.
9226	CountryCode string `json:"countryCode,omitempty"`
9227
9228	// CountryDartId: DART ID of the country to which this metro region
9229	// belongs.
9230	CountryDartId int64 `json:"countryDartId,omitempty,string"`
9231
9232	// DartId: DART ID of this metro region.
9233	DartId int64 `json:"dartId,omitempty,string"`
9234
9235	// DmaId: DMA ID of this metro region. This is the ID used for targeting
9236	// and generating reports, and is equivalent to metro_code.
9237	DmaId int64 `json:"dmaId,omitempty,string"`
9238
9239	// Kind: Identifies what kind of resource this is. Value: the fixed
9240	// string "dfareporting#metro".
9241	Kind string `json:"kind,omitempty"`
9242
9243	// MetroCode: Metro code of this metro region. This is equivalent to
9244	// dma_id.
9245	MetroCode string `json:"metroCode,omitempty"`
9246
9247	// Name: Name of this metro region.
9248	Name string `json:"name,omitempty"`
9249
9250	// ForceSendFields is a list of field names (e.g. "CountryCode") to
9251	// unconditionally include in API requests. By default, fields with
9252	// empty values are omitted from API requests. However, any non-pointer,
9253	// non-interface field appearing in ForceSendFields will be sent to the
9254	// server regardless of whether the field is empty or not. This may be
9255	// used to include empty fields in Patch requests.
9256	ForceSendFields []string `json:"-"`
9257
9258	// NullFields is a list of field names (e.g. "CountryCode") to include
9259	// in API requests with the JSON null value. By default, fields with
9260	// empty values are omitted from API requests. However, any field with
9261	// an empty value appearing in NullFields will be sent to the server as
9262	// null. It is an error if a field in this list has a non-empty value.
9263	// This may be used to include null fields in Patch requests.
9264	NullFields []string `json:"-"`
9265}
9266
9267func (s *Metro) MarshalJSON() ([]byte, error) {
9268	type NoMethod Metro
9269	raw := NoMethod(*s)
9270	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9271}
9272
9273// MetrosListResponse: Metro List Response
9274type MetrosListResponse struct {
9275	// Kind: Identifies what kind of resource this is. Value: the fixed
9276	// string "dfareporting#metrosListResponse".
9277	Kind string `json:"kind,omitempty"`
9278
9279	// Metros: Metro collection.
9280	Metros []*Metro `json:"metros,omitempty"`
9281
9282	// ServerResponse contains the HTTP response code and headers from the
9283	// server.
9284	googleapi.ServerResponse `json:"-"`
9285
9286	// ForceSendFields is a list of field names (e.g. "Kind") to
9287	// unconditionally include in API requests. By default, fields with
9288	// empty values are omitted from API requests. However, any non-pointer,
9289	// non-interface field appearing in ForceSendFields will be sent to the
9290	// server regardless of whether the field is empty or not. This may be
9291	// used to include empty fields in Patch requests.
9292	ForceSendFields []string `json:"-"`
9293
9294	// NullFields is a list of field names (e.g. "Kind") to include in API
9295	// requests with the JSON null value. By default, fields with empty
9296	// values are omitted from API requests. However, any field with an
9297	// empty value appearing in NullFields will be sent to the server as
9298	// null. It is an error if a field in this list has a non-empty value.
9299	// This may be used to include null fields in Patch requests.
9300	NullFields []string `json:"-"`
9301}
9302
9303func (s *MetrosListResponse) MarshalJSON() ([]byte, error) {
9304	type NoMethod MetrosListResponse
9305	raw := NoMethod(*s)
9306	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9307}
9308
9309// MobileApp: Contains information about a mobile app. Used as a landing
9310// page deep link.
9311type MobileApp struct {
9312	// Directory: Mobile app directory.
9313	//
9314	// Possible values:
9315	//   "APPLE_APP_STORE"
9316	//   "GOOGLE_PLAY_STORE"
9317	//   "UNKNOWN"
9318	Directory string `json:"directory,omitempty"`
9319
9320	// Id: ID of this mobile app.
9321	Id string `json:"id,omitempty"`
9322
9323	// Kind: Identifies what kind of resource this is. Value: the fixed
9324	// string "dfareporting#mobileApp".
9325	Kind string `json:"kind,omitempty"`
9326
9327	// PublisherName: Publisher name.
9328	PublisherName string `json:"publisherName,omitempty"`
9329
9330	// Title: Title of this mobile app.
9331	Title string `json:"title,omitempty"`
9332
9333	// ServerResponse contains the HTTP response code and headers from the
9334	// server.
9335	googleapi.ServerResponse `json:"-"`
9336
9337	// ForceSendFields is a list of field names (e.g. "Directory") to
9338	// unconditionally include in API requests. By default, fields with
9339	// empty values are omitted from API requests. However, any non-pointer,
9340	// non-interface field appearing in ForceSendFields will be sent to the
9341	// server regardless of whether the field is empty or not. This may be
9342	// used to include empty fields in Patch requests.
9343	ForceSendFields []string `json:"-"`
9344
9345	// NullFields is a list of field names (e.g. "Directory") to include in
9346	// API requests with the JSON null value. By default, fields with empty
9347	// values are omitted from API requests. However, any field with an
9348	// empty value appearing in NullFields will be sent to the server as
9349	// null. It is an error if a field in this list has a non-empty value.
9350	// This may be used to include null fields in Patch requests.
9351	NullFields []string `json:"-"`
9352}
9353
9354func (s *MobileApp) MarshalJSON() ([]byte, error) {
9355	type NoMethod MobileApp
9356	raw := NoMethod(*s)
9357	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9358}
9359
9360// MobileAppsListResponse: Mobile app List Response
9361type MobileAppsListResponse struct {
9362	// Kind: Identifies what kind of resource this is. Value: the fixed
9363	// string "dfareporting#mobileAppsListResponse".
9364	Kind string `json:"kind,omitempty"`
9365
9366	// MobileApps: Mobile apps collection.
9367	MobileApps []*MobileApp `json:"mobileApps,omitempty"`
9368
9369	// NextPageToken: Pagination token to be used for the next list
9370	// operation.
9371	NextPageToken string `json:"nextPageToken,omitempty"`
9372
9373	// ServerResponse contains the HTTP response code and headers from the
9374	// server.
9375	googleapi.ServerResponse `json:"-"`
9376
9377	// ForceSendFields is a list of field names (e.g. "Kind") to
9378	// unconditionally include in API requests. By default, fields with
9379	// empty values are omitted from API requests. However, any non-pointer,
9380	// non-interface field appearing in ForceSendFields will be sent to the
9381	// server regardless of whether the field is empty or not. This may be
9382	// used to include empty fields in Patch requests.
9383	ForceSendFields []string `json:"-"`
9384
9385	// NullFields is a list of field names (e.g. "Kind") to include in API
9386	// requests with the JSON null value. By default, fields with empty
9387	// values are omitted from API requests. However, any field with an
9388	// empty value appearing in NullFields will be sent to the server as
9389	// null. It is an error if a field in this list has a non-empty value.
9390	// This may be used to include null fields in Patch requests.
9391	NullFields []string `json:"-"`
9392}
9393
9394func (s *MobileAppsListResponse) MarshalJSON() ([]byte, error) {
9395	type NoMethod MobileAppsListResponse
9396	raw := NoMethod(*s)
9397	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9398}
9399
9400// MobileCarrier: Contains information about a mobile carrier that can
9401// be targeted by ads.
9402type MobileCarrier struct {
9403	// CountryCode: Country code of the country to which this mobile carrier
9404	// belongs.
9405	CountryCode string `json:"countryCode,omitempty"`
9406
9407	// CountryDartId: DART ID of the country to which this mobile carrier
9408	// belongs.
9409	CountryDartId int64 `json:"countryDartId,omitempty,string"`
9410
9411	// Id: ID of this mobile carrier.
9412	Id int64 `json:"id,omitempty,string"`
9413
9414	// Kind: Identifies what kind of resource this is. Value: the fixed
9415	// string "dfareporting#mobileCarrier".
9416	Kind string `json:"kind,omitempty"`
9417
9418	// Name: Name of this mobile carrier.
9419	Name string `json:"name,omitempty"`
9420
9421	// ServerResponse contains the HTTP response code and headers from the
9422	// server.
9423	googleapi.ServerResponse `json:"-"`
9424
9425	// ForceSendFields is a list of field names (e.g. "CountryCode") to
9426	// unconditionally include in API requests. By default, fields with
9427	// empty values are omitted from API requests. However, any non-pointer,
9428	// non-interface field appearing in ForceSendFields will be sent to the
9429	// server regardless of whether the field is empty or not. This may be
9430	// used to include empty fields in Patch requests.
9431	ForceSendFields []string `json:"-"`
9432
9433	// NullFields is a list of field names (e.g. "CountryCode") to include
9434	// in API requests with the JSON null value. By default, fields with
9435	// empty values are omitted from API requests. However, any field with
9436	// an empty value appearing in NullFields will be sent to the server as
9437	// null. It is an error if a field in this list has a non-empty value.
9438	// This may be used to include null fields in Patch requests.
9439	NullFields []string `json:"-"`
9440}
9441
9442func (s *MobileCarrier) MarshalJSON() ([]byte, error) {
9443	type NoMethod MobileCarrier
9444	raw := NoMethod(*s)
9445	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9446}
9447
9448// MobileCarriersListResponse: Mobile Carrier List Response
9449type MobileCarriersListResponse struct {
9450	// Kind: Identifies what kind of resource this is. Value: the fixed
9451	// string "dfareporting#mobileCarriersListResponse".
9452	Kind string `json:"kind,omitempty"`
9453
9454	// MobileCarriers: Mobile carrier collection.
9455	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
9456
9457	// ServerResponse contains the HTTP response code and headers from the
9458	// server.
9459	googleapi.ServerResponse `json:"-"`
9460
9461	// ForceSendFields is a list of field names (e.g. "Kind") to
9462	// unconditionally include in API requests. By default, fields with
9463	// empty values are omitted from API requests. However, any non-pointer,
9464	// non-interface field appearing in ForceSendFields will be sent to the
9465	// server regardless of whether the field is empty or not. This may be
9466	// used to include empty fields in Patch requests.
9467	ForceSendFields []string `json:"-"`
9468
9469	// NullFields is a list of field names (e.g. "Kind") to include in API
9470	// requests with the JSON null value. By default, fields with empty
9471	// values are omitted from API requests. However, any field with an
9472	// empty value appearing in NullFields will be sent to the server as
9473	// null. It is an error if a field in this list has a non-empty value.
9474	// This may be used to include null fields in Patch requests.
9475	NullFields []string `json:"-"`
9476}
9477
9478func (s *MobileCarriersListResponse) MarshalJSON() ([]byte, error) {
9479	type NoMethod MobileCarriersListResponse
9480	raw := NoMethod(*s)
9481	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9482}
9483
9484// ObjectFilter: Object Filter.
9485type ObjectFilter struct {
9486	// Kind: Identifies what kind of resource this is. Value: the fixed
9487	// string "dfareporting#objectFilter".
9488	Kind string `json:"kind,omitempty"`
9489
9490	// ObjectIds: Applicable when status is ASSIGNED. The user has access to
9491	// objects with these object IDs.
9492	ObjectIds googleapi.Int64s `json:"objectIds,omitempty"`
9493
9494	// Status: Status of the filter. NONE means the user has access to none
9495	// of the objects. ALL means the user has access to all objects.
9496	// ASSIGNED means the user has access to the objects with IDs in the
9497	// objectIds list.
9498	//
9499	// Possible values:
9500	//   "ALL"
9501	//   "ASSIGNED"
9502	//   "NONE"
9503	Status string `json:"status,omitempty"`
9504
9505	// ForceSendFields is a list of field names (e.g. "Kind") to
9506	// unconditionally include in API requests. By default, fields with
9507	// empty values are omitted from API requests. However, any non-pointer,
9508	// non-interface field appearing in ForceSendFields will be sent to the
9509	// server regardless of whether the field is empty or not. This may be
9510	// used to include empty fields in Patch requests.
9511	ForceSendFields []string `json:"-"`
9512
9513	// NullFields is a list of field names (e.g. "Kind") to include in API
9514	// requests with the JSON null value. By default, fields with empty
9515	// values are omitted from API requests. However, any field with an
9516	// empty value appearing in NullFields will be sent to the server as
9517	// null. It is an error if a field in this list has a non-empty value.
9518	// This may be used to include null fields in Patch requests.
9519	NullFields []string `json:"-"`
9520}
9521
9522func (s *ObjectFilter) MarshalJSON() ([]byte, error) {
9523	type NoMethod ObjectFilter
9524	raw := NoMethod(*s)
9525	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9526}
9527
9528// OffsetPosition: Offset Position.
9529type OffsetPosition struct {
9530	// Left: Offset distance from left side of an asset or a window.
9531	Left int64 `json:"left,omitempty"`
9532
9533	// Top: Offset distance from top side of an asset or a window.
9534	Top int64 `json:"top,omitempty"`
9535
9536	// ForceSendFields is a list of field names (e.g. "Left") to
9537	// unconditionally include in API requests. By default, fields with
9538	// empty values are omitted from API requests. However, any non-pointer,
9539	// non-interface field appearing in ForceSendFields will be sent to the
9540	// server regardless of whether the field is empty or not. This may be
9541	// used to include empty fields in Patch requests.
9542	ForceSendFields []string `json:"-"`
9543
9544	// NullFields is a list of field names (e.g. "Left") to include in API
9545	// requests with the JSON null value. By default, fields with empty
9546	// values are omitted from API requests. However, any field with an
9547	// empty value appearing in NullFields will be sent to the server as
9548	// null. It is an error if a field in this list has a non-empty value.
9549	// This may be used to include null fields in Patch requests.
9550	NullFields []string `json:"-"`
9551}
9552
9553func (s *OffsetPosition) MarshalJSON() ([]byte, error) {
9554	type NoMethod OffsetPosition
9555	raw := NoMethod(*s)
9556	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9557}
9558
9559// OmnitureSettings: Omniture Integration Settings.
9560type OmnitureSettings struct {
9561	// OmnitureCostDataEnabled: Whether placement cost data will be sent to
9562	// Omniture. This property can be enabled only if
9563	// omnitureIntegrationEnabled is true.
9564	OmnitureCostDataEnabled bool `json:"omnitureCostDataEnabled,omitempty"`
9565
9566	// OmnitureIntegrationEnabled: Whether Omniture integration is enabled.
9567	// This property can be enabled only when the "Advanced Ad Serving"
9568	// account setting is enabled.
9569	OmnitureIntegrationEnabled bool `json:"omnitureIntegrationEnabled,omitempty"`
9570
9571	// ForceSendFields is a list of field names (e.g.
9572	// "OmnitureCostDataEnabled") to unconditionally include in API
9573	// requests. By default, fields with empty values are omitted from API
9574	// requests. However, any non-pointer, non-interface field appearing in
9575	// ForceSendFields will be sent to the server regardless of whether the
9576	// field is empty or not. This may be used to include empty fields in
9577	// Patch requests.
9578	ForceSendFields []string `json:"-"`
9579
9580	// NullFields is a list of field names (e.g. "OmnitureCostDataEnabled")
9581	// to include in API requests with the JSON null value. By default,
9582	// fields with empty values are omitted from API requests. However, any
9583	// field with an empty value appearing in NullFields will be sent to the
9584	// server as null. It is an error if a field in this list has a
9585	// non-empty value. This may be used to include null fields in Patch
9586	// requests.
9587	NullFields []string `json:"-"`
9588}
9589
9590func (s *OmnitureSettings) MarshalJSON() ([]byte, error) {
9591	type NoMethod OmnitureSettings
9592	raw := NoMethod(*s)
9593	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9594}
9595
9596// OperatingSystem: Contains information about an operating system that
9597// can be targeted by ads.
9598type OperatingSystem struct {
9599	// DartId: DART ID of this operating system. This is the ID used for
9600	// targeting.
9601	DartId int64 `json:"dartId,omitempty,string"`
9602
9603	// Desktop: Whether this operating system is for desktop.
9604	Desktop bool `json:"desktop,omitempty"`
9605
9606	// Kind: Identifies what kind of resource this is. Value: the fixed
9607	// string "dfareporting#operatingSystem".
9608	Kind string `json:"kind,omitempty"`
9609
9610	// Mobile: Whether this operating system is for mobile.
9611	Mobile bool `json:"mobile,omitempty"`
9612
9613	// Name: Name of this operating system.
9614	Name string `json:"name,omitempty"`
9615
9616	// ServerResponse contains the HTTP response code and headers from the
9617	// server.
9618	googleapi.ServerResponse `json:"-"`
9619
9620	// ForceSendFields is a list of field names (e.g. "DartId") to
9621	// unconditionally include in API requests. By default, fields with
9622	// empty values are omitted from API requests. However, any non-pointer,
9623	// non-interface field appearing in ForceSendFields will be sent to the
9624	// server regardless of whether the field is empty or not. This may be
9625	// used to include empty fields in Patch requests.
9626	ForceSendFields []string `json:"-"`
9627
9628	// NullFields is a list of field names (e.g. "DartId") to include in API
9629	// requests with the JSON null value. By default, fields with empty
9630	// values are omitted from API requests. However, any field with an
9631	// empty value appearing in NullFields will be sent to the server as
9632	// null. It is an error if a field in this list has a non-empty value.
9633	// This may be used to include null fields in Patch requests.
9634	NullFields []string `json:"-"`
9635}
9636
9637func (s *OperatingSystem) MarshalJSON() ([]byte, error) {
9638	type NoMethod OperatingSystem
9639	raw := NoMethod(*s)
9640	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9641}
9642
9643// OperatingSystemVersion: Contains information about a particular
9644// version of an operating system that can be targeted by ads.
9645type OperatingSystemVersion struct {
9646	// Id: ID of this operating system version.
9647	Id int64 `json:"id,omitempty,string"`
9648
9649	// Kind: Identifies what kind of resource this is. Value: the fixed
9650	// string "dfareporting#operatingSystemVersion".
9651	Kind string `json:"kind,omitempty"`
9652
9653	// MajorVersion: Major version (leftmost number) of this operating
9654	// system version.
9655	MajorVersion string `json:"majorVersion,omitempty"`
9656
9657	// MinorVersion: Minor version (number after the first dot) of this
9658	// operating system version.
9659	MinorVersion string `json:"minorVersion,omitempty"`
9660
9661	// Name: Name of this operating system version.
9662	Name string `json:"name,omitempty"`
9663
9664	// OperatingSystem: Operating system of this operating system version.
9665	OperatingSystem *OperatingSystem `json:"operatingSystem,omitempty"`
9666
9667	// ServerResponse contains the HTTP response code and headers from the
9668	// server.
9669	googleapi.ServerResponse `json:"-"`
9670
9671	// ForceSendFields is a list of field names (e.g. "Id") to
9672	// unconditionally include in API requests. By default, fields with
9673	// empty values are omitted from API requests. However, any non-pointer,
9674	// non-interface field appearing in ForceSendFields will be sent to the
9675	// server regardless of whether the field is empty or not. This may be
9676	// used to include empty fields in Patch requests.
9677	ForceSendFields []string `json:"-"`
9678
9679	// NullFields is a list of field names (e.g. "Id") to include in API
9680	// requests with the JSON null value. By default, fields with empty
9681	// values are omitted from API requests. However, any field with an
9682	// empty value appearing in NullFields will be sent to the server as
9683	// null. It is an error if a field in this list has a non-empty value.
9684	// This may be used to include null fields in Patch requests.
9685	NullFields []string `json:"-"`
9686}
9687
9688func (s *OperatingSystemVersion) MarshalJSON() ([]byte, error) {
9689	type NoMethod OperatingSystemVersion
9690	raw := NoMethod(*s)
9691	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9692}
9693
9694// OperatingSystemVersionsListResponse: Operating System Version List
9695// Response
9696type OperatingSystemVersionsListResponse struct {
9697	// Kind: Identifies what kind of resource this is. Value: the fixed
9698	// string "dfareporting#operatingSystemVersionsListResponse".
9699	Kind string `json:"kind,omitempty"`
9700
9701	// OperatingSystemVersions: Operating system version collection.
9702	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
9703
9704	// ServerResponse contains the HTTP response code and headers from the
9705	// server.
9706	googleapi.ServerResponse `json:"-"`
9707
9708	// ForceSendFields is a list of field names (e.g. "Kind") to
9709	// unconditionally include in API requests. By default, fields with
9710	// empty values are omitted from API requests. However, any non-pointer,
9711	// non-interface field appearing in ForceSendFields will be sent to the
9712	// server regardless of whether the field is empty or not. This may be
9713	// used to include empty fields in Patch requests.
9714	ForceSendFields []string `json:"-"`
9715
9716	// NullFields is a list of field names (e.g. "Kind") to include in API
9717	// requests with the JSON null value. By default, fields with empty
9718	// values are omitted from API requests. However, any field with an
9719	// empty value appearing in NullFields will be sent to the server as
9720	// null. It is an error if a field in this list has a non-empty value.
9721	// This may be used to include null fields in Patch requests.
9722	NullFields []string `json:"-"`
9723}
9724
9725func (s *OperatingSystemVersionsListResponse) MarshalJSON() ([]byte, error) {
9726	type NoMethod OperatingSystemVersionsListResponse
9727	raw := NoMethod(*s)
9728	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9729}
9730
9731// OperatingSystemsListResponse: Operating System List Response
9732type OperatingSystemsListResponse struct {
9733	// Kind: Identifies what kind of resource this is. Value: the fixed
9734	// string "dfareporting#operatingSystemsListResponse".
9735	Kind string `json:"kind,omitempty"`
9736
9737	// OperatingSystems: Operating system collection.
9738	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
9739
9740	// ServerResponse contains the HTTP response code and headers from the
9741	// server.
9742	googleapi.ServerResponse `json:"-"`
9743
9744	// ForceSendFields is a list of field names (e.g. "Kind") to
9745	// unconditionally include in API requests. By default, fields with
9746	// empty values are omitted from API requests. However, any non-pointer,
9747	// non-interface field appearing in ForceSendFields will be sent to the
9748	// server regardless of whether the field is empty or not. This may be
9749	// used to include empty fields in Patch requests.
9750	ForceSendFields []string `json:"-"`
9751
9752	// NullFields is a list of field names (e.g. "Kind") to include in API
9753	// requests with the JSON null value. By default, fields with empty
9754	// values are omitted from API requests. However, any field with an
9755	// empty value appearing in NullFields will be sent to the server as
9756	// null. It is an error if a field in this list has a non-empty value.
9757	// This may be used to include null fields in Patch requests.
9758	NullFields []string `json:"-"`
9759}
9760
9761func (s *OperatingSystemsListResponse) MarshalJSON() ([]byte, error) {
9762	type NoMethod OperatingSystemsListResponse
9763	raw := NoMethod(*s)
9764	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9765}
9766
9767// OptimizationActivity: Creative optimization activity.
9768type OptimizationActivity struct {
9769	// FloodlightActivityId: Floodlight activity ID of this optimization
9770	// activity. This is a required field.
9771	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
9772
9773	// FloodlightActivityIdDimensionValue: Dimension value for the ID of the
9774	// floodlight activity. This is a read-only, auto-generated field.
9775	FloodlightActivityIdDimensionValue *DimensionValue `json:"floodlightActivityIdDimensionValue,omitempty"`
9776
9777	// Weight: Weight associated with this optimization. The weight assigned
9778	// will be understood in proportion to the weights assigned to the other
9779	// optimization activities. Value must be greater than or equal to 1.
9780	Weight int64 `json:"weight,omitempty"`
9781
9782	// ForceSendFields is a list of field names (e.g.
9783	// "FloodlightActivityId") to unconditionally include in API requests.
9784	// By default, fields with empty values are omitted from API requests.
9785	// However, any non-pointer, non-interface field appearing in
9786	// ForceSendFields will be sent to the server regardless of whether the
9787	// field is empty or not. This may be used to include empty fields in
9788	// Patch requests.
9789	ForceSendFields []string `json:"-"`
9790
9791	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
9792	// include in API requests with the JSON null value. By default, fields
9793	// with empty values are omitted from API requests. However, any field
9794	// with an empty value appearing in NullFields will be sent to the
9795	// server as null. It is an error if a field in this list has a
9796	// non-empty value. This may be used to include null fields in Patch
9797	// requests.
9798	NullFields []string `json:"-"`
9799}
9800
9801func (s *OptimizationActivity) MarshalJSON() ([]byte, error) {
9802	type NoMethod OptimizationActivity
9803	raw := NoMethod(*s)
9804	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9805}
9806
9807// Order: Describes properties of a Planning order.
9808type Order struct {
9809	// AccountId: Account ID of this order.
9810	AccountId int64 `json:"accountId,omitempty,string"`
9811
9812	// AdvertiserId: Advertiser ID of this order.
9813	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9814
9815	// ApproverUserProfileIds: IDs for users that have to approve documents
9816	// created for this order.
9817	ApproverUserProfileIds googleapi.Int64s `json:"approverUserProfileIds,omitempty"`
9818
9819	// BuyerInvoiceId: Buyer invoice ID associated with this order.
9820	BuyerInvoiceId string `json:"buyerInvoiceId,omitempty"`
9821
9822	// BuyerOrganizationName: Name of the buyer organization.
9823	BuyerOrganizationName string `json:"buyerOrganizationName,omitempty"`
9824
9825	// Comments: Comments in this order.
9826	Comments string `json:"comments,omitempty"`
9827
9828	// Contacts: Contacts for this order.
9829	Contacts []*OrderContact `json:"contacts,omitempty"`
9830
9831	// Id: ID of this order. This is a read-only, auto-generated field.
9832	Id int64 `json:"id,omitempty,string"`
9833
9834	// Kind: Identifies what kind of resource this is. Value: the fixed
9835	// string "dfareporting#order".
9836	Kind string `json:"kind,omitempty"`
9837
9838	// LastModifiedInfo: Information about the most recent modification of
9839	// this order.
9840	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9841
9842	// Name: Name of this order.
9843	Name string `json:"name,omitempty"`
9844
9845	// Notes: Notes of this order.
9846	Notes string `json:"notes,omitempty"`
9847
9848	// PlanningTermId: ID of the terms and conditions template used in this
9849	// order.
9850	PlanningTermId int64 `json:"planningTermId,omitempty,string"`
9851
9852	// ProjectId: Project ID of this order.
9853	ProjectId int64 `json:"projectId,omitempty,string"`
9854
9855	// SellerOrderId: Seller order ID associated with this order.
9856	SellerOrderId string `json:"sellerOrderId,omitempty"`
9857
9858	// SellerOrganizationName: Name of the seller organization.
9859	SellerOrganizationName string `json:"sellerOrganizationName,omitempty"`
9860
9861	// SiteId: Site IDs this order is associated with.
9862	SiteId googleapi.Int64s `json:"siteId,omitempty"`
9863
9864	// SiteNames: Free-form site names this order is associated with.
9865	SiteNames []string `json:"siteNames,omitempty"`
9866
9867	// SubaccountId: Subaccount ID of this order.
9868	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9869
9870	// TermsAndConditions: Terms and conditions of this order.
9871	TermsAndConditions string `json:"termsAndConditions,omitempty"`
9872
9873	// ServerResponse contains the HTTP response code and headers from the
9874	// server.
9875	googleapi.ServerResponse `json:"-"`
9876
9877	// ForceSendFields is a list of field names (e.g. "AccountId") to
9878	// unconditionally include in API requests. By default, fields with
9879	// empty values are omitted from API requests. However, any non-pointer,
9880	// non-interface field appearing in ForceSendFields will be sent to the
9881	// server regardless of whether the field is empty or not. This may be
9882	// used to include empty fields in Patch requests.
9883	ForceSendFields []string `json:"-"`
9884
9885	// NullFields is a list of field names (e.g. "AccountId") to include in
9886	// API requests with the JSON null value. By default, fields with empty
9887	// values are omitted from API requests. However, any field with an
9888	// empty value appearing in NullFields will be sent to the server as
9889	// null. It is an error if a field in this list has a non-empty value.
9890	// This may be used to include null fields in Patch requests.
9891	NullFields []string `json:"-"`
9892}
9893
9894func (s *Order) MarshalJSON() ([]byte, error) {
9895	type NoMethod Order
9896	raw := NoMethod(*s)
9897	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9898}
9899
9900// OrderContact: Contact of an order.
9901type OrderContact struct {
9902	// ContactInfo: Free-form information about this contact. It could be
9903	// any information related to this contact in addition to type, title,
9904	// name, and signature user profile ID.
9905	ContactInfo string `json:"contactInfo,omitempty"`
9906
9907	// ContactName: Name of this contact.
9908	ContactName string `json:"contactName,omitempty"`
9909
9910	// ContactTitle: Title of this contact.
9911	ContactTitle string `json:"contactTitle,omitempty"`
9912
9913	// ContactType: Type of this contact.
9914	//
9915	// Possible values:
9916	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
9917	//   "PLANNING_ORDER_CONTACT_BUYER_CONTACT"
9918	//   "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
9919	ContactType string `json:"contactType,omitempty"`
9920
9921	// SignatureUserProfileId: ID of the user profile containing the
9922	// signature that will be embedded into order documents.
9923	SignatureUserProfileId int64 `json:"signatureUserProfileId,omitempty,string"`
9924
9925	// ForceSendFields is a list of field names (e.g. "ContactInfo") to
9926	// unconditionally include in API requests. By default, fields with
9927	// empty values are omitted from API requests. However, any non-pointer,
9928	// non-interface field appearing in ForceSendFields will be sent to the
9929	// server regardless of whether the field is empty or not. This may be
9930	// used to include empty fields in Patch requests.
9931	ForceSendFields []string `json:"-"`
9932
9933	// NullFields is a list of field names (e.g. "ContactInfo") to include
9934	// in API requests with the JSON null value. By default, fields with
9935	// empty values are omitted from API requests. However, any field with
9936	// an empty value appearing in NullFields will be sent to the server as
9937	// null. It is an error if a field in this list has a non-empty value.
9938	// This may be used to include null fields in Patch requests.
9939	NullFields []string `json:"-"`
9940}
9941
9942func (s *OrderContact) MarshalJSON() ([]byte, error) {
9943	type NoMethod OrderContact
9944	raw := NoMethod(*s)
9945	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9946}
9947
9948// OrderDocument: Contains properties of a Planning order document.
9949type OrderDocument struct {
9950	// AccountId: Account ID of this order document.
9951	AccountId int64 `json:"accountId,omitempty,string"`
9952
9953	// AdvertiserId: Advertiser ID of this order document.
9954	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9955
9956	// AmendedOrderDocumentId: The amended order document ID of this order
9957	// document. An order document can be created by optionally amending
9958	// another order document so that the change history can be preserved.
9959	AmendedOrderDocumentId int64 `json:"amendedOrderDocumentId,omitempty,string"`
9960
9961	// ApprovedByUserProfileIds: IDs of users who have approved this order
9962	// document.
9963	ApprovedByUserProfileIds googleapi.Int64s `json:"approvedByUserProfileIds,omitempty"`
9964
9965	// Cancelled: Whether this order document is cancelled.
9966	Cancelled bool `json:"cancelled,omitempty"`
9967
9968	// CreatedInfo: Information about the creation of this order document.
9969	CreatedInfo *LastModifiedInfo `json:"createdInfo,omitempty"`
9970
9971	// EffectiveDate: Effective date of this order document.
9972	EffectiveDate string `json:"effectiveDate,omitempty"`
9973
9974	// Id: ID of this order document.
9975	Id int64 `json:"id,omitempty,string"`
9976
9977	// Kind: Identifies what kind of resource this is. Value: the fixed
9978	// string "dfareporting#orderDocument".
9979	Kind string `json:"kind,omitempty"`
9980
9981	// LastSentRecipients: List of email addresses that received the last
9982	// sent document.
9983	LastSentRecipients []string `json:"lastSentRecipients,omitempty"`
9984
9985	// LastSentTime: Timestamp of the last email sent with this order
9986	// document.
9987	LastSentTime string `json:"lastSentTime,omitempty"`
9988
9989	// OrderId: ID of the order from which this order document is created.
9990	OrderId int64 `json:"orderId,omitempty,string"`
9991
9992	// ProjectId: Project ID of this order document.
9993	ProjectId int64 `json:"projectId,omitempty,string"`
9994
9995	// Signed: Whether this order document has been signed.
9996	Signed bool `json:"signed,omitempty"`
9997
9998	// SubaccountId: Subaccount ID of this order document.
9999	SubaccountId int64 `json:"subaccountId,omitempty,string"`
10000
10001	// Title: Title of this order document.
10002	Title string `json:"title,omitempty"`
10003
10004	// Type: Type of this order document
10005	//
10006	// Possible values:
10007	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
10008	//   "PLANNING_ORDER_TYPE_INSERTION_ORDER"
10009	Type string `json:"type,omitempty"`
10010
10011	// ServerResponse contains the HTTP response code and headers from the
10012	// server.
10013	googleapi.ServerResponse `json:"-"`
10014
10015	// ForceSendFields is a list of field names (e.g. "AccountId") to
10016	// unconditionally include in API requests. By default, fields with
10017	// empty values are omitted from API requests. However, any non-pointer,
10018	// non-interface field appearing in ForceSendFields will be sent to the
10019	// server regardless of whether the field is empty or not. This may be
10020	// used to include empty fields in Patch requests.
10021	ForceSendFields []string `json:"-"`
10022
10023	// NullFields is a list of field names (e.g. "AccountId") to include in
10024	// API requests with the JSON null value. By default, fields with empty
10025	// values are omitted from API requests. However, any field with an
10026	// empty value appearing in NullFields will be sent to the server as
10027	// null. It is an error if a field in this list has a non-empty value.
10028	// This may be used to include null fields in Patch requests.
10029	NullFields []string `json:"-"`
10030}
10031
10032func (s *OrderDocument) MarshalJSON() ([]byte, error) {
10033	type NoMethod OrderDocument
10034	raw := NoMethod(*s)
10035	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10036}
10037
10038// OrderDocumentsListResponse: Order document List Response
10039type OrderDocumentsListResponse struct {
10040	// Kind: Identifies what kind of resource this is. Value: the fixed
10041	// string "dfareporting#orderDocumentsListResponse".
10042	Kind string `json:"kind,omitempty"`
10043
10044	// NextPageToken: Pagination token to be used for the next list
10045	// operation.
10046	NextPageToken string `json:"nextPageToken,omitempty"`
10047
10048	// OrderDocuments: Order document collection
10049	OrderDocuments []*OrderDocument `json:"orderDocuments,omitempty"`
10050
10051	// ServerResponse contains the HTTP response code and headers from the
10052	// server.
10053	googleapi.ServerResponse `json:"-"`
10054
10055	// ForceSendFields is a list of field names (e.g. "Kind") to
10056	// unconditionally include in API requests. By default, fields with
10057	// empty values are omitted from API requests. However, any non-pointer,
10058	// non-interface field appearing in ForceSendFields will be sent to the
10059	// server regardless of whether the field is empty or not. This may be
10060	// used to include empty fields in Patch requests.
10061	ForceSendFields []string `json:"-"`
10062
10063	// NullFields is a list of field names (e.g. "Kind") to include in API
10064	// requests with the JSON null value. By default, fields with empty
10065	// values are omitted from API requests. However, any field with an
10066	// empty value appearing in NullFields will be sent to the server as
10067	// null. It is an error if a field in this list has a non-empty value.
10068	// This may be used to include null fields in Patch requests.
10069	NullFields []string `json:"-"`
10070}
10071
10072func (s *OrderDocumentsListResponse) MarshalJSON() ([]byte, error) {
10073	type NoMethod OrderDocumentsListResponse
10074	raw := NoMethod(*s)
10075	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10076}
10077
10078// OrdersListResponse: Order List Response
10079type OrdersListResponse struct {
10080	// Kind: Identifies what kind of resource this is. Value: the fixed
10081	// string "dfareporting#ordersListResponse".
10082	Kind string `json:"kind,omitempty"`
10083
10084	// NextPageToken: Pagination token to be used for the next list
10085	// operation.
10086	NextPageToken string `json:"nextPageToken,omitempty"`
10087
10088	// Orders: Order collection.
10089	Orders []*Order `json:"orders,omitempty"`
10090
10091	// ServerResponse contains the HTTP response code and headers from the
10092	// server.
10093	googleapi.ServerResponse `json:"-"`
10094
10095	// ForceSendFields is a list of field names (e.g. "Kind") to
10096	// unconditionally include in API requests. By default, fields with
10097	// empty values are omitted from API requests. However, any non-pointer,
10098	// non-interface field appearing in ForceSendFields will be sent to the
10099	// server regardless of whether the field is empty or not. This may be
10100	// used to include empty fields in Patch requests.
10101	ForceSendFields []string `json:"-"`
10102
10103	// NullFields is a list of field names (e.g. "Kind") to include in API
10104	// requests with the JSON null value. By default, fields with empty
10105	// values are omitted from API requests. However, any field with an
10106	// empty value appearing in NullFields will be sent to the server as
10107	// null. It is an error if a field in this list has a non-empty value.
10108	// This may be used to include null fields in Patch requests.
10109	NullFields []string `json:"-"`
10110}
10111
10112func (s *OrdersListResponse) MarshalJSON() ([]byte, error) {
10113	type NoMethod OrdersListResponse
10114	raw := NoMethod(*s)
10115	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10116}
10117
10118// PathToConversionReportCompatibleFields: Represents fields that are
10119// compatible to be selected for a report of type "PATH_TO_CONVERSION".
10120type PathToConversionReportCompatibleFields struct {
10121	// ConversionDimensions: Conversion dimensions which are compatible to
10122	// be selected in the "conversionDimensions" section of the report.
10123	ConversionDimensions []*Dimension `json:"conversionDimensions,omitempty"`
10124
10125	// CustomFloodlightVariables: Custom floodlight variables which are
10126	// compatible to be selected in the "customFloodlightVariables" section
10127	// of the report.
10128	CustomFloodlightVariables []*Dimension `json:"customFloodlightVariables,omitempty"`
10129
10130	// Kind: The kind of resource this is, in this case
10131	// dfareporting#pathToConversionReportCompatibleFields.
10132	Kind string `json:"kind,omitempty"`
10133
10134	// Metrics: Metrics which are compatible to be selected in the
10135	// "metricNames" section of the report.
10136	Metrics []*Metric `json:"metrics,omitempty"`
10137
10138	// PerInteractionDimensions: Per-interaction dimensions which are
10139	// compatible to be selected in the "perInteractionDimensions" section
10140	// of the report.
10141	PerInteractionDimensions []*Dimension `json:"perInteractionDimensions,omitempty"`
10142
10143	// ForceSendFields is a list of field names (e.g.
10144	// "ConversionDimensions") to unconditionally include in API requests.
10145	// By default, fields with empty values are omitted from API requests.
10146	// However, any non-pointer, non-interface field appearing in
10147	// ForceSendFields will be sent to the server regardless of whether the
10148	// field is empty or not. This may be used to include empty fields in
10149	// Patch requests.
10150	ForceSendFields []string `json:"-"`
10151
10152	// NullFields is a list of field names (e.g. "ConversionDimensions") to
10153	// include in API requests with the JSON null value. By default, fields
10154	// with empty values are omitted from API requests. However, any field
10155	// with an empty value appearing in NullFields will be sent to the
10156	// server as null. It is an error if a field in this list has a
10157	// non-empty value. This may be used to include null fields in Patch
10158	// requests.
10159	NullFields []string `json:"-"`
10160}
10161
10162func (s *PathToConversionReportCompatibleFields) MarshalJSON() ([]byte, error) {
10163	type NoMethod PathToConversionReportCompatibleFields
10164	raw := NoMethod(*s)
10165	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10166}
10167
10168// Placement: Contains properties of a placement.
10169type Placement struct {
10170	// AccountId: Account ID of this placement. This field can be left
10171	// blank.
10172	AccountId int64 `json:"accountId,omitempty,string"`
10173
10174	// AdBlockingOptOut: Whether this placement opts out of ad blocking.
10175	// When true, ad blocking is disabled for this placement. When false,
10176	// the campaign and site settings take effect.
10177	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
10178
10179	// AdditionalSizes: Additional sizes associated with this placement.
10180	// When inserting or updating a placement, only the size ID field is
10181	// used.
10182	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
10183
10184	// AdvertiserId: Advertiser ID of this placement. This field can be left
10185	// blank.
10186	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10187
10188	// AdvertiserIdDimensionValue: Dimension value for the ID of the
10189	// advertiser. This is a read-only, auto-generated field.
10190	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
10191
10192	// Archived: Whether this placement is archived.
10193	Archived bool `json:"archived,omitempty"`
10194
10195	// CampaignId: Campaign ID of this placement. This field is a required
10196	// field on insertion.
10197	CampaignId int64 `json:"campaignId,omitempty,string"`
10198
10199	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
10200	// This is a read-only, auto-generated field.
10201	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
10202
10203	// Comment: Comments for this placement.
10204	Comment string `json:"comment,omitempty"`
10205
10206	// Compatibility: Placement compatibility. DISPLAY and
10207	// DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices
10208	// or in mobile apps for regular or interstitial ads respectively. APP
10209	// and APP_INTERSTITIAL are no longer allowed for new placement
10210	// insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL.
10211	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
10212	// with the VAST standard. This field is required on insertion.
10213	//
10214	// Possible values:
10215	//   "APP"
10216	//   "APP_INTERSTITIAL"
10217	//   "DISPLAY"
10218	//   "DISPLAY_INTERSTITIAL"
10219	//   "IN_STREAM_AUDIO"
10220	//   "IN_STREAM_VIDEO"
10221	Compatibility string `json:"compatibility,omitempty"`
10222
10223	// ContentCategoryId: ID of the content category assigned to this
10224	// placement.
10225	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
10226
10227	// CreateInfo: Information about the creation of this placement. This is
10228	// a read-only field.
10229	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
10230
10231	// DirectorySiteId: Directory site ID of this placement. On insert, you
10232	// must set either this field or the siteId field to specify the site
10233	// associated with this placement. This is a required field that is
10234	// read-only after insertion.
10235	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
10236
10237	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
10238	// directory site. This is a read-only, auto-generated field.
10239	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
10240
10241	// ExternalId: External ID for this placement.
10242	ExternalId string `json:"externalId,omitempty"`
10243
10244	// Id: ID of this placement. This is a read-only, auto-generated field.
10245	Id int64 `json:"id,omitempty,string"`
10246
10247	// IdDimensionValue: Dimension value for the ID of this placement. This
10248	// is a read-only, auto-generated field.
10249	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
10250
10251	// KeyName: Key name of this placement. This is a read-only,
10252	// auto-generated field.
10253	KeyName string `json:"keyName,omitempty"`
10254
10255	// Kind: Identifies what kind of resource this is. Value: the fixed
10256	// string "dfareporting#placement".
10257	Kind string `json:"kind,omitempty"`
10258
10259	// LastModifiedInfo: Information about the most recent modification of
10260	// this placement. This is a read-only field.
10261	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
10262
10263	// LookbackConfiguration: Lookback window settings for this placement.
10264	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
10265
10266	// Name: Name of this placement.This is a required field and must be
10267	// less than 256 characters long.
10268	Name string `json:"name,omitempty"`
10269
10270	// PaymentApproved: Whether payment was approved for this placement.
10271	// This is a read-only field relevant only to publisher-paid placements.
10272	PaymentApproved bool `json:"paymentApproved,omitempty"`
10273
10274	// PaymentSource: Payment source for this placement. This is a required
10275	// field that is read-only after insertion.
10276	//
10277	// Possible values:
10278	//   "PLACEMENT_AGENCY_PAID"
10279	//   "PLACEMENT_PUBLISHER_PAID"
10280	PaymentSource string `json:"paymentSource,omitempty"`
10281
10282	// PlacementGroupId: ID of this placement's group, if applicable.
10283	PlacementGroupId int64 `json:"placementGroupId,omitempty,string"`
10284
10285	// PlacementGroupIdDimensionValue: Dimension value for the ID of the
10286	// placement group. This is a read-only, auto-generated field.
10287	PlacementGroupIdDimensionValue *DimensionValue `json:"placementGroupIdDimensionValue,omitempty"`
10288
10289	// PlacementStrategyId: ID of the placement strategy assigned to this
10290	// placement.
10291	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
10292
10293	// PricingSchedule: Pricing schedule of this placement. This field is
10294	// required on insertion, specifically subfields startDate, endDate and
10295	// pricingType.
10296	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
10297
10298	// Primary: Whether this placement is the primary placement of a
10299	// roadblock (placement group). You cannot change this field from true
10300	// to false. Setting this field to true will automatically set the
10301	// primary field on the original primary placement of the roadblock to
10302	// false, and it will automatically set the roadblock's
10303	// primaryPlacementId field to the ID of this placement.
10304	Primary bool `json:"primary,omitempty"`
10305
10306	// PublisherUpdateInfo: Information about the last publisher update.
10307	// This is a read-only field.
10308	PublisherUpdateInfo *LastModifiedInfo `json:"publisherUpdateInfo,omitempty"`
10309
10310	// SiteId: Site ID associated with this placement. On insert, you must
10311	// set either this field or the directorySiteId field to specify the
10312	// site associated with this placement. This is a required field that is
10313	// read-only after insertion.
10314	SiteId int64 `json:"siteId,omitempty,string"`
10315
10316	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
10317	// a read-only, auto-generated field.
10318	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
10319
10320	// Size: Size associated with this placement. When inserting or updating
10321	// a placement, only the size ID field is used. This field is required
10322	// on insertion.
10323	Size *Size `json:"size,omitempty"`
10324
10325	// SslRequired: Whether creatives assigned to this placement must be
10326	// SSL-compliant.
10327	SslRequired bool `json:"sslRequired,omitempty"`
10328
10329	// Status: Third-party placement status.
10330	//
10331	// Possible values:
10332	//   "ACKNOWLEDGE_ACCEPTANCE"
10333	//   "ACKNOWLEDGE_REJECTION"
10334	//   "DRAFT"
10335	//   "PAYMENT_ACCEPTED"
10336	//   "PAYMENT_REJECTED"
10337	//   "PENDING_REVIEW"
10338	Status string `json:"status,omitempty"`
10339
10340	// SubaccountId: Subaccount ID of this placement. This field can be left
10341	// blank.
10342	SubaccountId int64 `json:"subaccountId,omitempty,string"`
10343
10344	// TagFormats: Tag formats to generate for this placement. This field is
10345	// required on insertion.
10346	// Acceptable values are:
10347	// - "PLACEMENT_TAG_STANDARD"
10348	// - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
10349	// - "PLACEMENT_TAG_IFRAME_ILAYER"
10350	// - "PLACEMENT_TAG_INTERNAL_REDIRECT"
10351	// - "PLACEMENT_TAG_JAVASCRIPT"
10352	// - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
10353	// - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
10354	// - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
10355	// - "PLACEMENT_TAG_CLICK_COMMANDS"
10356	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
10357	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
10358	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
10359	// - "PLACEMENT_TAG_TRACKING"
10360	// - "PLACEMENT_TAG_TRACKING_IFRAME"
10361	// - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
10362	//
10363	// Possible values:
10364	//   "PLACEMENT_TAG_CLICK_COMMANDS"
10365	//   "PLACEMENT_TAG_IFRAME_ILAYER"
10366	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
10367	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
10368	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
10369	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
10370	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
10371	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
10372	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
10373	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
10374	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
10375	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
10376	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
10377	//   "PLACEMENT_TAG_JAVASCRIPT"
10378	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
10379	//   "PLACEMENT_TAG_STANDARD"
10380	//   "PLACEMENT_TAG_TRACKING"
10381	//   "PLACEMENT_TAG_TRACKING_IFRAME"
10382	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
10383	TagFormats []string `json:"tagFormats,omitempty"`
10384
10385	// TagSetting: Tag settings for this placement.
10386	TagSetting *TagSetting `json:"tagSetting,omitempty"`
10387
10388	// VideoActiveViewOptOut: Whether Verification and ActiveView are
10389	// disabled for in-stream video creatives for this placement. The same
10390	// setting videoActiveViewOptOut exists on the site level -- the opt out
10391	// occurs if either of these settings are true. These settings are
10392	// distinct from DirectorySites.settings.activeViewOptOut or
10393	// Sites.siteSettings.activeViewOptOut which only apply to display ads.
10394	// However, Accounts.activeViewOptOut opts out both video traffic, as
10395	// well as display ads, from Verification and ActiveView.
10396	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
10397
10398	// VideoSettings: A collection of settings which affect video creatives
10399	// served through this placement. Applicable to placements with
10400	// IN_STREAM_VIDEO compatibility.
10401	VideoSettings *VideoSettings `json:"videoSettings,omitempty"`
10402
10403	// VpaidAdapterChoice: VPAID adapter setting for this placement.
10404	// Controls which VPAID format the measurement adapter will use for
10405	// in-stream video creatives assigned to this placement.
10406	//
10407	// Note: Flash is no longer supported. This field now defaults to HTML5
10408	// when the following values are provided: FLASH, BOTH.
10409	//
10410	// Possible values:
10411	//   "BOTH"
10412	//   "DEFAULT"
10413	//   "FLASH"
10414	//   "HTML5"
10415	VpaidAdapterChoice string `json:"vpaidAdapterChoice,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. "AccountId") 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. "AccountId") to include in
10430	// API 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 *Placement) MarshalJSON() ([]byte, error) {
10439	type NoMethod Placement
10440	raw := NoMethod(*s)
10441	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10442}
10443
10444// PlacementAssignment: Placement Assignment.
10445type PlacementAssignment struct {
10446	// Active: Whether this placement assignment is active. When true, the
10447	// placement will be included in the ad's rotation.
10448	Active bool `json:"active,omitempty"`
10449
10450	// PlacementId: ID of the placement to be assigned. This is a required
10451	// field.
10452	PlacementId int64 `json:"placementId,omitempty,string"`
10453
10454	// PlacementIdDimensionValue: Dimension value for the ID of the
10455	// placement. This is a read-only, auto-generated field.
10456	PlacementIdDimensionValue *DimensionValue `json:"placementIdDimensionValue,omitempty"`
10457
10458	// SslRequired: Whether the placement to be assigned requires SSL. This
10459	// is a read-only field that is auto-generated when the ad is inserted
10460	// or updated.
10461	SslRequired bool `json:"sslRequired,omitempty"`
10462
10463	// ForceSendFields is a list of field names (e.g. "Active") to
10464	// unconditionally include in API requests. By default, fields with
10465	// empty values are omitted from API requests. However, any non-pointer,
10466	// non-interface field appearing in ForceSendFields will be sent to the
10467	// server regardless of whether the field is empty or not. This may be
10468	// used to include empty fields in Patch requests.
10469	ForceSendFields []string `json:"-"`
10470
10471	// NullFields is a list of field names (e.g. "Active") to include in API
10472	// requests with the JSON null value. By default, fields with empty
10473	// values are omitted from API requests. However, any field with an
10474	// empty value appearing in NullFields will be sent to the server as
10475	// null. It is an error if a field in this list has a non-empty value.
10476	// This may be used to include null fields in Patch requests.
10477	NullFields []string `json:"-"`
10478}
10479
10480func (s *PlacementAssignment) MarshalJSON() ([]byte, error) {
10481	type NoMethod PlacementAssignment
10482	raw := NoMethod(*s)
10483	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10484}
10485
10486// PlacementGroup: Contains properties of a package or roadblock.
10487type PlacementGroup struct {
10488	// AccountId: Account ID of this placement group. This is a read-only
10489	// field that can be left blank.
10490	AccountId int64 `json:"accountId,omitempty,string"`
10491
10492	// AdvertiserId: Advertiser ID of this placement group. This is a
10493	// required field on insertion.
10494	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10495
10496	// AdvertiserIdDimensionValue: Dimension value for the ID of the
10497	// advertiser. This is a read-only, auto-generated field.
10498	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
10499
10500	// Archived: Whether this placement group is archived.
10501	Archived bool `json:"archived,omitempty"`
10502
10503	// CampaignId: Campaign ID of this placement group. This field is
10504	// required on insertion.
10505	CampaignId int64 `json:"campaignId,omitempty,string"`
10506
10507	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
10508	// This is a read-only, auto-generated field.
10509	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
10510
10511	// ChildPlacementIds: IDs of placements which are assigned to this
10512	// placement group. This is a read-only, auto-generated field.
10513	ChildPlacementIds googleapi.Int64s `json:"childPlacementIds,omitempty"`
10514
10515	// Comment: Comments for this placement group.
10516	Comment string `json:"comment,omitempty"`
10517
10518	// ContentCategoryId: ID of the content category assigned to this
10519	// placement group.
10520	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
10521
10522	// CreateInfo: Information about the creation of this placement group.
10523	// This is a read-only field.
10524	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
10525
10526	// DirectorySiteId: Directory site ID associated with this placement
10527	// group. On insert, you must set either this field or the site_id field
10528	// to specify the site associated with this placement group. This is a
10529	// required field that is read-only after insertion.
10530	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
10531
10532	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
10533	// directory site. This is a read-only, auto-generated field.
10534	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
10535
10536	// ExternalId: External ID for this placement.
10537	ExternalId string `json:"externalId,omitempty"`
10538
10539	// Id: ID of this placement group. This is a read-only, auto-generated
10540	// field.
10541	Id int64 `json:"id,omitempty,string"`
10542
10543	// IdDimensionValue: Dimension value for the ID of this placement group.
10544	// This is a read-only, auto-generated field.
10545	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
10546
10547	// Kind: Identifies what kind of resource this is. Value: the fixed
10548	// string "dfareporting#placementGroup".
10549	Kind string `json:"kind,omitempty"`
10550
10551	// LastModifiedInfo: Information about the most recent modification of
10552	// this placement group. This is a read-only field.
10553	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
10554
10555	// Name: Name of this placement group. This is a required field and must
10556	// be less than 256 characters long.
10557	Name string `json:"name,omitempty"`
10558
10559	// PlacementGroupType: Type of this placement group. A package is a
10560	// simple group of placements that acts as a single pricing point for a
10561	// group of tags. A roadblock is a group of placements that not only
10562	// acts as a single pricing point, but also assumes that all the tags in
10563	// it will be served at the same time. A roadblock requires one of its
10564	// assigned placements to be marked as primary for reporting. This field
10565	// is required on insertion.
10566	//
10567	// Possible values:
10568	//   "PLACEMENT_PACKAGE"
10569	//   "PLACEMENT_ROADBLOCK"
10570	PlacementGroupType string `json:"placementGroupType,omitempty"`
10571
10572	// PlacementStrategyId: ID of the placement strategy assigned to this
10573	// placement group.
10574	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
10575
10576	// PricingSchedule: Pricing schedule of this placement group. This field
10577	// is required on insertion.
10578	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
10579
10580	// PrimaryPlacementId: ID of the primary placement, used to calculate
10581	// the media cost of a roadblock (placement group). Modifying this field
10582	// will automatically modify the primary field on all affected roadblock
10583	// child placements.
10584	PrimaryPlacementId int64 `json:"primaryPlacementId,omitempty,string"`
10585
10586	// PrimaryPlacementIdDimensionValue: Dimension value for the ID of the
10587	// primary placement. This is a read-only, auto-generated field.
10588	PrimaryPlacementIdDimensionValue *DimensionValue `json:"primaryPlacementIdDimensionValue,omitempty"`
10589
10590	// SiteId: Site ID associated with this placement group. On insert, you
10591	// must set either this field or the directorySiteId field to specify
10592	// the site associated with this placement group. This is a required
10593	// field that is read-only after insertion.
10594	SiteId int64 `json:"siteId,omitempty,string"`
10595
10596	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
10597	// a read-only, auto-generated field.
10598	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
10599
10600	// SubaccountId: Subaccount ID of this placement group. This is a
10601	// read-only field that can be left blank.
10602	SubaccountId int64 `json:"subaccountId,omitempty,string"`
10603
10604	// ServerResponse contains the HTTP response code and headers from the
10605	// server.
10606	googleapi.ServerResponse `json:"-"`
10607
10608	// ForceSendFields is a list of field names (e.g. "AccountId") to
10609	// unconditionally include in API requests. By default, fields with
10610	// empty values are omitted from API requests. However, any non-pointer,
10611	// non-interface field appearing in ForceSendFields will be sent to the
10612	// server regardless of whether the field is empty or not. This may be
10613	// used to include empty fields in Patch requests.
10614	ForceSendFields []string `json:"-"`
10615
10616	// NullFields is a list of field names (e.g. "AccountId") to include in
10617	// API requests with the JSON null value. By default, fields with empty
10618	// values are omitted from API requests. However, any field with an
10619	// empty value appearing in NullFields will be sent to the server as
10620	// null. It is an error if a field in this list has a non-empty value.
10621	// This may be used to include null fields in Patch requests.
10622	NullFields []string `json:"-"`
10623}
10624
10625func (s *PlacementGroup) MarshalJSON() ([]byte, error) {
10626	type NoMethod PlacementGroup
10627	raw := NoMethod(*s)
10628	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10629}
10630
10631// PlacementGroupsListResponse: Placement Group List Response
10632type PlacementGroupsListResponse struct {
10633	// Kind: Identifies what kind of resource this is. Value: the fixed
10634	// string "dfareporting#placementGroupsListResponse".
10635	Kind string `json:"kind,omitempty"`
10636
10637	// NextPageToken: Pagination token to be used for the next list
10638	// operation.
10639	NextPageToken string `json:"nextPageToken,omitempty"`
10640
10641	// PlacementGroups: Placement group collection.
10642	PlacementGroups []*PlacementGroup `json:"placementGroups,omitempty"`
10643
10644	// ServerResponse contains the HTTP response code and headers from the
10645	// server.
10646	googleapi.ServerResponse `json:"-"`
10647
10648	// ForceSendFields is a list of field names (e.g. "Kind") to
10649	// unconditionally include in API requests. By default, fields with
10650	// empty values are omitted from API requests. However, any non-pointer,
10651	// non-interface field appearing in ForceSendFields will be sent to the
10652	// server regardless of whether the field is empty or not. This may be
10653	// used to include empty fields in Patch requests.
10654	ForceSendFields []string `json:"-"`
10655
10656	// NullFields is a list of field names (e.g. "Kind") to include in API
10657	// requests with the JSON null value. By default, fields with empty
10658	// values are omitted from API requests. However, any field with an
10659	// empty value appearing in NullFields will be sent to the server as
10660	// null. It is an error if a field in this list has a non-empty value.
10661	// This may be used to include null fields in Patch requests.
10662	NullFields []string `json:"-"`
10663}
10664
10665func (s *PlacementGroupsListResponse) MarshalJSON() ([]byte, error) {
10666	type NoMethod PlacementGroupsListResponse
10667	raw := NoMethod(*s)
10668	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10669}
10670
10671// PlacementStrategiesListResponse: Placement Strategy List Response
10672type PlacementStrategiesListResponse struct {
10673	// Kind: Identifies what kind of resource this is. Value: the fixed
10674	// string "dfareporting#placementStrategiesListResponse".
10675	Kind string `json:"kind,omitempty"`
10676
10677	// NextPageToken: Pagination token to be used for the next list
10678	// operation.
10679	NextPageToken string `json:"nextPageToken,omitempty"`
10680
10681	// PlacementStrategies: Placement strategy collection.
10682	PlacementStrategies []*PlacementStrategy `json:"placementStrategies,omitempty"`
10683
10684	// ServerResponse contains the HTTP response code and headers from the
10685	// server.
10686	googleapi.ServerResponse `json:"-"`
10687
10688	// ForceSendFields is a list of field names (e.g. "Kind") to
10689	// unconditionally include in API requests. By default, fields with
10690	// empty values are omitted from API requests. However, any non-pointer,
10691	// non-interface field appearing in ForceSendFields will be sent to the
10692	// server regardless of whether the field is empty or not. This may be
10693	// used to include empty fields in Patch requests.
10694	ForceSendFields []string `json:"-"`
10695
10696	// NullFields is a list of field names (e.g. "Kind") to include in API
10697	// requests with the JSON null value. By default, fields with empty
10698	// values are omitted from API requests. However, any field with an
10699	// empty value appearing in NullFields will be sent to the server as
10700	// null. It is an error if a field in this list has a non-empty value.
10701	// This may be used to include null fields in Patch requests.
10702	NullFields []string `json:"-"`
10703}
10704
10705func (s *PlacementStrategiesListResponse) MarshalJSON() ([]byte, error) {
10706	type NoMethod PlacementStrategiesListResponse
10707	raw := NoMethod(*s)
10708	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10709}
10710
10711// PlacementStrategy: Contains properties of a placement strategy.
10712type PlacementStrategy struct {
10713	// AccountId: Account ID of this placement strategy.This is a read-only
10714	// field that can be left blank.
10715	AccountId int64 `json:"accountId,omitempty,string"`
10716
10717	// Id: ID of this placement strategy. This is a read-only,
10718	// auto-generated field.
10719	Id int64 `json:"id,omitempty,string"`
10720
10721	// Kind: Identifies what kind of resource this is. Value: the fixed
10722	// string "dfareporting#placementStrategy".
10723	Kind string `json:"kind,omitempty"`
10724
10725	// Name: Name of this placement strategy. This is a required field. It
10726	// must be less than 256 characters long and unique among placement
10727	// strategies of the same account.
10728	Name string `json:"name,omitempty"`
10729
10730	// ServerResponse contains the HTTP response code and headers from the
10731	// server.
10732	googleapi.ServerResponse `json:"-"`
10733
10734	// ForceSendFields is a list of field names (e.g. "AccountId") to
10735	// unconditionally include in API requests. By default, fields with
10736	// empty values are omitted from API requests. However, any non-pointer,
10737	// non-interface field appearing in ForceSendFields will be sent to the
10738	// server regardless of whether the field is empty or not. This may be
10739	// used to include empty fields in Patch requests.
10740	ForceSendFields []string `json:"-"`
10741
10742	// NullFields is a list of field names (e.g. "AccountId") to include in
10743	// API requests with the JSON null value. By default, fields with empty
10744	// values are omitted from API requests. However, any field with an
10745	// empty value appearing in NullFields will be sent to the server as
10746	// null. It is an error if a field in this list has a non-empty value.
10747	// This may be used to include null fields in Patch requests.
10748	NullFields []string `json:"-"`
10749}
10750
10751func (s *PlacementStrategy) MarshalJSON() ([]byte, error) {
10752	type NoMethod PlacementStrategy
10753	raw := NoMethod(*s)
10754	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10755}
10756
10757// PlacementTag: Placement Tag
10758type PlacementTag struct {
10759	// PlacementId: Placement ID
10760	PlacementId int64 `json:"placementId,omitempty,string"`
10761
10762	// TagDatas: Tags generated for this placement.
10763	TagDatas []*TagData `json:"tagDatas,omitempty"`
10764
10765	// ForceSendFields is a list of field names (e.g. "PlacementId") to
10766	// unconditionally include in API requests. By default, fields with
10767	// empty values are omitted from API requests. However, any non-pointer,
10768	// non-interface field appearing in ForceSendFields will be sent to the
10769	// server regardless of whether the field is empty or not. This may be
10770	// used to include empty fields in Patch requests.
10771	ForceSendFields []string `json:"-"`
10772
10773	// NullFields is a list of field names (e.g. "PlacementId") to include
10774	// in API requests with the JSON null value. By default, fields with
10775	// empty values are omitted from API requests. However, any field with
10776	// an empty value appearing in NullFields will be sent to the server as
10777	// null. It is an error if a field in this list has a non-empty value.
10778	// This may be used to include null fields in Patch requests.
10779	NullFields []string `json:"-"`
10780}
10781
10782func (s *PlacementTag) MarshalJSON() ([]byte, error) {
10783	type NoMethod PlacementTag
10784	raw := NoMethod(*s)
10785	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10786}
10787
10788// PlacementsGenerateTagsResponse: Placement GenerateTags Response
10789type PlacementsGenerateTagsResponse struct {
10790	// Kind: Identifies what kind of resource this is. Value: the fixed
10791	// string "dfareporting#placementsGenerateTagsResponse".
10792	Kind string `json:"kind,omitempty"`
10793
10794	// PlacementTags: Set of generated tags for the specified placements.
10795	PlacementTags []*PlacementTag `json:"placementTags,omitempty"`
10796
10797	// ServerResponse contains the HTTP response code and headers from the
10798	// server.
10799	googleapi.ServerResponse `json:"-"`
10800
10801	// ForceSendFields is a list of field names (e.g. "Kind") to
10802	// unconditionally include in API requests. By default, fields with
10803	// empty values are omitted from API requests. However, any non-pointer,
10804	// non-interface field appearing in ForceSendFields will be sent to the
10805	// server regardless of whether the field is empty or not. This may be
10806	// used to include empty fields in Patch requests.
10807	ForceSendFields []string `json:"-"`
10808
10809	// NullFields is a list of field names (e.g. "Kind") to include in API
10810	// requests with the JSON null value. By default, fields with empty
10811	// values are omitted from API requests. However, any field with an
10812	// empty value appearing in NullFields will be sent to the server as
10813	// null. It is an error if a field in this list has a non-empty value.
10814	// This may be used to include null fields in Patch requests.
10815	NullFields []string `json:"-"`
10816}
10817
10818func (s *PlacementsGenerateTagsResponse) MarshalJSON() ([]byte, error) {
10819	type NoMethod PlacementsGenerateTagsResponse
10820	raw := NoMethod(*s)
10821	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10822}
10823
10824// PlacementsListResponse: Placement List Response
10825type PlacementsListResponse struct {
10826	// Kind: Identifies what kind of resource this is. Value: the fixed
10827	// string "dfareporting#placementsListResponse".
10828	Kind string `json:"kind,omitempty"`
10829
10830	// NextPageToken: Pagination token to be used for the next list
10831	// operation.
10832	NextPageToken string `json:"nextPageToken,omitempty"`
10833
10834	// Placements: Placement collection.
10835	Placements []*Placement `json:"placements,omitempty"`
10836
10837	// ServerResponse contains the HTTP response code and headers from the
10838	// server.
10839	googleapi.ServerResponse `json:"-"`
10840
10841	// ForceSendFields is a list of field names (e.g. "Kind") to
10842	// unconditionally include in API requests. By default, fields with
10843	// empty values are omitted from API requests. However, any non-pointer,
10844	// non-interface field appearing in ForceSendFields will be sent to the
10845	// server regardless of whether the field is empty or not. This may be
10846	// used to include empty fields in Patch requests.
10847	ForceSendFields []string `json:"-"`
10848
10849	// NullFields is a list of field names (e.g. "Kind") to include in API
10850	// requests with the JSON null value. By default, fields with empty
10851	// values are omitted from API requests. However, any field with an
10852	// empty value appearing in NullFields will be sent to the server as
10853	// null. It is an error if a field in this list has a non-empty value.
10854	// This may be used to include null fields in Patch requests.
10855	NullFields []string `json:"-"`
10856}
10857
10858func (s *PlacementsListResponse) MarshalJSON() ([]byte, error) {
10859	type NoMethod PlacementsListResponse
10860	raw := NoMethod(*s)
10861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10862}
10863
10864// PlatformType: Contains information about a platform type that can be
10865// targeted by ads.
10866type PlatformType struct {
10867	// Id: ID of this platform type.
10868	Id int64 `json:"id,omitempty,string"`
10869
10870	// Kind: Identifies what kind of resource this is. Value: the fixed
10871	// string "dfareporting#platformType".
10872	Kind string `json:"kind,omitempty"`
10873
10874	// Name: Name of this platform type.
10875	Name string `json:"name,omitempty"`
10876
10877	// ServerResponse contains the HTTP response code and headers from the
10878	// server.
10879	googleapi.ServerResponse `json:"-"`
10880
10881	// ForceSendFields is a list of field names (e.g. "Id") to
10882	// unconditionally include in API requests. By default, fields with
10883	// empty values are omitted from API requests. However, any non-pointer,
10884	// non-interface field appearing in ForceSendFields will be sent to the
10885	// server regardless of whether the field is empty or not. This may be
10886	// used to include empty fields in Patch requests.
10887	ForceSendFields []string `json:"-"`
10888
10889	// NullFields is a list of field names (e.g. "Id") to include in API
10890	// requests with the JSON null value. By default, fields with empty
10891	// values are omitted from API requests. However, any field with an
10892	// empty value appearing in NullFields will be sent to the server as
10893	// null. It is an error if a field in this list has a non-empty value.
10894	// This may be used to include null fields in Patch requests.
10895	NullFields []string `json:"-"`
10896}
10897
10898func (s *PlatformType) MarshalJSON() ([]byte, error) {
10899	type NoMethod PlatformType
10900	raw := NoMethod(*s)
10901	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10902}
10903
10904// PlatformTypesListResponse: Platform Type List Response
10905type PlatformTypesListResponse struct {
10906	// Kind: Identifies what kind of resource this is. Value: the fixed
10907	// string "dfareporting#platformTypesListResponse".
10908	Kind string `json:"kind,omitempty"`
10909
10910	// PlatformTypes: Platform type collection.
10911	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
10912
10913	// ServerResponse contains the HTTP response code and headers from the
10914	// server.
10915	googleapi.ServerResponse `json:"-"`
10916
10917	// ForceSendFields is a list of field names (e.g. "Kind") to
10918	// unconditionally include in API requests. By default, fields with
10919	// empty values are omitted from API requests. However, any non-pointer,
10920	// non-interface field appearing in ForceSendFields will be sent to the
10921	// server regardless of whether the field is empty or not. This may be
10922	// used to include empty fields in Patch requests.
10923	ForceSendFields []string `json:"-"`
10924
10925	// NullFields is a list of field names (e.g. "Kind") to include in API
10926	// requests with the JSON null value. By default, fields with empty
10927	// values are omitted from API requests. However, any field with an
10928	// empty value appearing in NullFields will be sent to the server as
10929	// null. It is an error if a field in this list has a non-empty value.
10930	// This may be used to include null fields in Patch requests.
10931	NullFields []string `json:"-"`
10932}
10933
10934func (s *PlatformTypesListResponse) MarshalJSON() ([]byte, error) {
10935	type NoMethod PlatformTypesListResponse
10936	raw := NoMethod(*s)
10937	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10938}
10939
10940// PopupWindowProperties: Popup Window Properties.
10941type PopupWindowProperties struct {
10942	// Dimension: Popup dimension for a creative. This is a read-only field.
10943	// Applicable to the following creative types: all RICH_MEDIA and all
10944	// VPAID
10945	Dimension *Size `json:"dimension,omitempty"`
10946
10947	// Offset: Upper-left corner coordinates of the popup window. Applicable
10948	// if positionType is COORDINATES.
10949	Offset *OffsetPosition `json:"offset,omitempty"`
10950
10951	// PositionType: Popup window position either centered or at specific
10952	// coordinate.
10953	//
10954	// Possible values:
10955	//   "CENTER"
10956	//   "COORDINATES"
10957	PositionType string `json:"positionType,omitempty"`
10958
10959	// ShowAddressBar: Whether to display the browser address bar.
10960	ShowAddressBar bool `json:"showAddressBar,omitempty"`
10961
10962	// ShowMenuBar: Whether to display the browser menu bar.
10963	ShowMenuBar bool `json:"showMenuBar,omitempty"`
10964
10965	// ShowScrollBar: Whether to display the browser scroll bar.
10966	ShowScrollBar bool `json:"showScrollBar,omitempty"`
10967
10968	// ShowStatusBar: Whether to display the browser status bar.
10969	ShowStatusBar bool `json:"showStatusBar,omitempty"`
10970
10971	// ShowToolBar: Whether to display the browser tool bar.
10972	ShowToolBar bool `json:"showToolBar,omitempty"`
10973
10974	// Title: Title of popup window.
10975	Title string `json:"title,omitempty"`
10976
10977	// ForceSendFields is a list of field names (e.g. "Dimension") to
10978	// unconditionally include in API requests. By default, fields with
10979	// empty values are omitted from API requests. However, any non-pointer,
10980	// non-interface field appearing in ForceSendFields will be sent to the
10981	// server regardless of whether the field is empty or not. This may be
10982	// used to include empty fields in Patch requests.
10983	ForceSendFields []string `json:"-"`
10984
10985	// NullFields is a list of field names (e.g. "Dimension") to include in
10986	// API requests with the JSON null value. By default, fields with empty
10987	// values are omitted from API requests. However, any field with an
10988	// empty value appearing in NullFields will be sent to the server as
10989	// null. It is an error if a field in this list has a non-empty value.
10990	// This may be used to include null fields in Patch requests.
10991	NullFields []string `json:"-"`
10992}
10993
10994func (s *PopupWindowProperties) MarshalJSON() ([]byte, error) {
10995	type NoMethod PopupWindowProperties
10996	raw := NoMethod(*s)
10997	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10998}
10999
11000// PostalCode: Contains information about a postal code that can be
11001// targeted by ads.
11002type PostalCode struct {
11003	// Code: Postal code. This is equivalent to the id field.
11004	Code string `json:"code,omitempty"`
11005
11006	// CountryCode: Country code of the country to which this postal code
11007	// belongs.
11008	CountryCode string `json:"countryCode,omitempty"`
11009
11010	// CountryDartId: DART ID of the country to which this postal code
11011	// belongs.
11012	CountryDartId int64 `json:"countryDartId,omitempty,string"`
11013
11014	// Id: ID of this postal code.
11015	Id string `json:"id,omitempty"`
11016
11017	// Kind: Identifies what kind of resource this is. Value: the fixed
11018	// string "dfareporting#postalCode".
11019	Kind string `json:"kind,omitempty"`
11020
11021	// ServerResponse contains the HTTP response code and headers from the
11022	// server.
11023	googleapi.ServerResponse `json:"-"`
11024
11025	// ForceSendFields is a list of field names (e.g. "Code") to
11026	// unconditionally include in API requests. By default, fields with
11027	// empty values are omitted from API requests. However, any non-pointer,
11028	// non-interface field appearing in ForceSendFields will be sent to the
11029	// server regardless of whether the field is empty or not. This may be
11030	// used to include empty fields in Patch requests.
11031	ForceSendFields []string `json:"-"`
11032
11033	// NullFields is a list of field names (e.g. "Code") to include in API
11034	// requests with the JSON null value. By default, fields with empty
11035	// values are omitted from API requests. However, any field with an
11036	// empty value appearing in NullFields will be sent to the server as
11037	// null. It is an error if a field in this list has a non-empty value.
11038	// This may be used to include null fields in Patch requests.
11039	NullFields []string `json:"-"`
11040}
11041
11042func (s *PostalCode) MarshalJSON() ([]byte, error) {
11043	type NoMethod PostalCode
11044	raw := NoMethod(*s)
11045	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11046}
11047
11048// PostalCodesListResponse: Postal Code List Response
11049type PostalCodesListResponse struct {
11050	// Kind: Identifies what kind of resource this is. Value: the fixed
11051	// string "dfareporting#postalCodesListResponse".
11052	Kind string `json:"kind,omitempty"`
11053
11054	// PostalCodes: Postal code collection.
11055	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
11056
11057	// ServerResponse contains the HTTP response code and headers from the
11058	// server.
11059	googleapi.ServerResponse `json:"-"`
11060
11061	// ForceSendFields is a list of field names (e.g. "Kind") to
11062	// unconditionally include in API requests. By default, fields with
11063	// empty values are omitted from API requests. However, any non-pointer,
11064	// non-interface field appearing in ForceSendFields will be sent to the
11065	// server regardless of whether the field is empty or not. This may be
11066	// used to include empty fields in Patch requests.
11067	ForceSendFields []string `json:"-"`
11068
11069	// NullFields is a list of field names (e.g. "Kind") to include in API
11070	// requests with the JSON null value. By default, fields with empty
11071	// values are omitted from API requests. However, any field with an
11072	// empty value appearing in NullFields will be sent to the server as
11073	// null. It is an error if a field in this list has a non-empty value.
11074	// This may be used to include null fields in Patch requests.
11075	NullFields []string `json:"-"`
11076}
11077
11078func (s *PostalCodesListResponse) MarshalJSON() ([]byte, error) {
11079	type NoMethod PostalCodesListResponse
11080	raw := NoMethod(*s)
11081	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11082}
11083
11084// Pricing: Pricing Information
11085type Pricing struct {
11086	// CapCostType: Cap cost type of this inventory item.
11087	//
11088	// Possible values:
11089	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
11090	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
11091	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
11092	CapCostType string `json:"capCostType,omitempty"`
11093
11094	// EndDate: End date of this inventory item.
11095	EndDate string `json:"endDate,omitempty"`
11096
11097	// Flights: Flights of this inventory item. A flight (a.k.a. pricing
11098	// period) represents the inventory item pricing information for a
11099	// specific period of time.
11100	Flights []*Flight `json:"flights,omitempty"`
11101
11102	// GroupType: Group type of this inventory item if it represents a
11103	// placement group. Is null otherwise. There are two type of placement
11104	// groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of
11105	// inventory items that acts as a single pricing point for a group of
11106	// tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory
11107	// items that not only acts as a single pricing point, but also assumes
11108	// that all the tags in it will be served at the same time. A roadblock
11109	// requires one of its assigned inventory items to be marked as primary.
11110	//
11111	// Possible values:
11112	//   "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE"
11113	//   "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"
11114	GroupType string `json:"groupType,omitempty"`
11115
11116	// PricingType: Pricing type of this inventory item.
11117	//
11118	// Possible values:
11119	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
11120	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
11121	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
11122	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
11123	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
11124	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
11125	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
11126	//   "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
11127	PricingType string `json:"pricingType,omitempty"`
11128
11129	// StartDate: Start date of this inventory item.
11130	StartDate string `json:"startDate,omitempty"`
11131
11132	// ForceSendFields is a list of field names (e.g. "CapCostType") to
11133	// unconditionally include in API requests. By default, fields with
11134	// empty values are omitted from API requests. However, any non-pointer,
11135	// non-interface field appearing in ForceSendFields will be sent to the
11136	// server regardless of whether the field is empty or not. This may be
11137	// used to include empty fields in Patch requests.
11138	ForceSendFields []string `json:"-"`
11139
11140	// NullFields is a list of field names (e.g. "CapCostType") to include
11141	// in API requests with the JSON null value. By default, fields with
11142	// empty values are omitted from API requests. However, any field with
11143	// an empty value appearing in NullFields will be sent to the server as
11144	// null. It is an error if a field in this list has a non-empty value.
11145	// This may be used to include null fields in Patch requests.
11146	NullFields []string `json:"-"`
11147}
11148
11149func (s *Pricing) MarshalJSON() ([]byte, error) {
11150	type NoMethod Pricing
11151	raw := NoMethod(*s)
11152	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11153}
11154
11155// PricingSchedule: Pricing Schedule
11156type PricingSchedule struct {
11157	// CapCostOption: Placement cap cost option.
11158	//
11159	// Possible values:
11160	//   "CAP_COST_CUMULATIVE"
11161	//   "CAP_COST_MONTHLY"
11162	//   "CAP_COST_NONE"
11163	CapCostOption string `json:"capCostOption,omitempty"`
11164
11165	// EndDate: Placement end date. This date must be later than, or the
11166	// same day as, the placement start date, but not later than the
11167	// campaign end date. If, for example, you set 6/25/2015 as both the
11168	// start and end dates, the effective placement date is just that day
11169	// only, 6/25/2015. The hours, minutes, and seconds of the end date
11170	// should not be set, as doing so will result in an error. This field is
11171	// required on insertion.
11172	EndDate string `json:"endDate,omitempty"`
11173
11174	// Flighted: Whether this placement is flighted. If true, pricing
11175	// periods will be computed automatically.
11176	Flighted bool `json:"flighted,omitempty"`
11177
11178	// FloodlightActivityId: Floodlight activity ID associated with this
11179	// placement. This field should be set when placement pricing type is
11180	// set to PRICING_TYPE_CPA.
11181	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
11182
11183	// PricingPeriods: Pricing periods for this placement.
11184	PricingPeriods []*PricingSchedulePricingPeriod `json:"pricingPeriods,omitempty"`
11185
11186	// PricingType: Placement pricing type. This field is required on
11187	// insertion.
11188	//
11189	// Possible values:
11190	//   "PRICING_TYPE_CPA"
11191	//   "PRICING_TYPE_CPC"
11192	//   "PRICING_TYPE_CPM"
11193	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
11194	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
11195	//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
11196	PricingType string `json:"pricingType,omitempty"`
11197
11198	// StartDate: Placement start date. This date must be later than, or the
11199	// same day as, the campaign start date. The hours, minutes, and seconds
11200	// of the start date should not be set, as doing so will result in an
11201	// error. This field is required on insertion.
11202	StartDate string `json:"startDate,omitempty"`
11203
11204	// TestingStartDate: Testing start date of this placement. The hours,
11205	// minutes, and seconds of the start date should not be set, as doing so
11206	// will result in an error.
11207	TestingStartDate string `json:"testingStartDate,omitempty"`
11208
11209	// ForceSendFields is a list of field names (e.g. "CapCostOption") to
11210	// unconditionally include in API requests. By default, fields with
11211	// empty values are omitted from API requests. However, any non-pointer,
11212	// non-interface field appearing in ForceSendFields will be sent to the
11213	// server regardless of whether the field is empty or not. This may be
11214	// used to include empty fields in Patch requests.
11215	ForceSendFields []string `json:"-"`
11216
11217	// NullFields is a list of field names (e.g. "CapCostOption") to include
11218	// in API requests with the JSON null value. By default, fields with
11219	// empty values are omitted from API requests. However, any field with
11220	// an empty value appearing in NullFields will be sent to the server as
11221	// null. It is an error if a field in this list has a non-empty value.
11222	// This may be used to include null fields in Patch requests.
11223	NullFields []string `json:"-"`
11224}
11225
11226func (s *PricingSchedule) MarshalJSON() ([]byte, error) {
11227	type NoMethod PricingSchedule
11228	raw := NoMethod(*s)
11229	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11230}
11231
11232// PricingSchedulePricingPeriod: Pricing Period
11233type PricingSchedulePricingPeriod struct {
11234	// EndDate: Pricing period end date. This date must be later than, or
11235	// the same day as, the pricing period start date, but not later than
11236	// the placement end date. The period end date can be the same date as
11237	// the period start date. If, for example, you set 6/25/2015 as both the
11238	// start and end dates, the effective pricing period date is just that
11239	// day only, 6/25/2015. The hours, minutes, and seconds of the end date
11240	// should not be set, as doing so will result in an error.
11241	EndDate string `json:"endDate,omitempty"`
11242
11243	// PricingComment: Comments for this pricing period.
11244	PricingComment string `json:"pricingComment,omitempty"`
11245
11246	// RateOrCostNanos: Rate or cost of this pricing period in nanos (i.e.,
11247	// multipled by 1000000000). Acceptable values are 0 to
11248	// 1000000000000000000, inclusive.
11249	RateOrCostNanos int64 `json:"rateOrCostNanos,omitempty,string"`
11250
11251	// StartDate: Pricing period start date. This date must be later than,
11252	// or the same day as, the placement start date. The hours, minutes, and
11253	// seconds of the start date should not be set, as doing so will result
11254	// in an error.
11255	StartDate string `json:"startDate,omitempty"`
11256
11257	// Units: Units of this pricing period. Acceptable values are 0 to
11258	// 10000000000, inclusive.
11259	Units int64 `json:"units,omitempty,string"`
11260
11261	// ForceSendFields is a list of field names (e.g. "EndDate") to
11262	// unconditionally include in API requests. By default, fields with
11263	// empty values are omitted from API requests. However, any non-pointer,
11264	// non-interface field appearing in ForceSendFields will be sent to the
11265	// server regardless of whether the field is empty or not. This may be
11266	// used to include empty fields in Patch requests.
11267	ForceSendFields []string `json:"-"`
11268
11269	// NullFields is a list of field names (e.g. "EndDate") to include in
11270	// API requests with the JSON null value. By default, fields with empty
11271	// values are omitted from API requests. However, any field with an
11272	// empty value appearing in NullFields will be sent to the server as
11273	// null. It is an error if a field in this list has a non-empty value.
11274	// This may be used to include null fields in Patch requests.
11275	NullFields []string `json:"-"`
11276}
11277
11278func (s *PricingSchedulePricingPeriod) MarshalJSON() ([]byte, error) {
11279	type NoMethod PricingSchedulePricingPeriod
11280	raw := NoMethod(*s)
11281	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11282}
11283
11284// Project: Contains properties of a Planning project.
11285type Project struct {
11286	// AccountId: Account ID of this project.
11287	AccountId int64 `json:"accountId,omitempty,string"`
11288
11289	// AdvertiserId: Advertiser ID of this project.
11290	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
11291
11292	// AudienceAgeGroup: Audience age group of this project.
11293	//
11294	// Possible values:
11295	//   "PLANNING_AUDIENCE_AGE_18_24"
11296	//   "PLANNING_AUDIENCE_AGE_25_34"
11297	//   "PLANNING_AUDIENCE_AGE_35_44"
11298	//   "PLANNING_AUDIENCE_AGE_45_54"
11299	//   "PLANNING_AUDIENCE_AGE_55_64"
11300	//   "PLANNING_AUDIENCE_AGE_65_OR_MORE"
11301	//   "PLANNING_AUDIENCE_AGE_UNKNOWN"
11302	AudienceAgeGroup string `json:"audienceAgeGroup,omitempty"`
11303
11304	// AudienceGender: Audience gender of this project.
11305	//
11306	// Possible values:
11307	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
11308	//   "PLANNING_AUDIENCE_GENDER_MALE"
11309	AudienceGender string `json:"audienceGender,omitempty"`
11310
11311	// Budget: Budget of this project in the currency specified by the
11312	// current account. The value stored in this field represents only the
11313	// non-fractional amount. For example, for USD, the smallest value that
11314	// can be represented by this field is 1 US dollar.
11315	Budget int64 `json:"budget,omitempty,string"`
11316
11317	// ClientBillingCode: Client billing code of this project.
11318	ClientBillingCode string `json:"clientBillingCode,omitempty"`
11319
11320	// ClientName: Name of the project client.
11321	ClientName string `json:"clientName,omitempty"`
11322
11323	// EndDate: End date of the project.
11324	EndDate string `json:"endDate,omitempty"`
11325
11326	// Id: ID of this project. This is a read-only, auto-generated field.
11327	Id int64 `json:"id,omitempty,string"`
11328
11329	// Kind: Identifies what kind of resource this is. Value: the fixed
11330	// string "dfareporting#project".
11331	Kind string `json:"kind,omitempty"`
11332
11333	// LastModifiedInfo: Information about the most recent modification of
11334	// this project.
11335	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
11336
11337	// Name: Name of this project.
11338	Name string `json:"name,omitempty"`
11339
11340	// Overview: Overview of this project.
11341	Overview string `json:"overview,omitempty"`
11342
11343	// StartDate: Start date of the project.
11344	StartDate string `json:"startDate,omitempty"`
11345
11346	// SubaccountId: Subaccount ID of this project.
11347	SubaccountId int64 `json:"subaccountId,omitempty,string"`
11348
11349	// TargetClicks: Number of clicks that the advertiser is targeting.
11350	TargetClicks int64 `json:"targetClicks,omitempty,string"`
11351
11352	// TargetConversions: Number of conversions that the advertiser is
11353	// targeting.
11354	TargetConversions int64 `json:"targetConversions,omitempty,string"`
11355
11356	// TargetCpaNanos: CPA that the advertiser is targeting.
11357	TargetCpaNanos int64 `json:"targetCpaNanos,omitempty,string"`
11358
11359	// TargetCpcNanos: CPC that the advertiser is targeting.
11360	TargetCpcNanos int64 `json:"targetCpcNanos,omitempty,string"`
11361
11362	// TargetCpmActiveViewNanos: vCPM from Active View that the advertiser
11363	// is targeting.
11364	TargetCpmActiveViewNanos int64 `json:"targetCpmActiveViewNanos,omitempty,string"`
11365
11366	// TargetCpmNanos: CPM that the advertiser is targeting.
11367	TargetCpmNanos int64 `json:"targetCpmNanos,omitempty,string"`
11368
11369	// TargetImpressions: Number of impressions that the advertiser is
11370	// targeting.
11371	TargetImpressions int64 `json:"targetImpressions,omitempty,string"`
11372
11373	// ServerResponse contains the HTTP response code and headers from the
11374	// server.
11375	googleapi.ServerResponse `json:"-"`
11376
11377	// ForceSendFields is a list of field names (e.g. "AccountId") to
11378	// unconditionally include in API requests. By default, fields with
11379	// empty values are omitted from API requests. However, any non-pointer,
11380	// non-interface field appearing in ForceSendFields will be sent to the
11381	// server regardless of whether the field is empty or not. This may be
11382	// used to include empty fields in Patch requests.
11383	ForceSendFields []string `json:"-"`
11384
11385	// NullFields is a list of field names (e.g. "AccountId") to include in
11386	// API requests with the JSON null value. By default, fields with empty
11387	// values are omitted from API requests. However, any field with an
11388	// empty value appearing in NullFields will be sent to the server as
11389	// null. It is an error if a field in this list has a non-empty value.
11390	// This may be used to include null fields in Patch requests.
11391	NullFields []string `json:"-"`
11392}
11393
11394func (s *Project) MarshalJSON() ([]byte, error) {
11395	type NoMethod Project
11396	raw := NoMethod(*s)
11397	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11398}
11399
11400// ProjectsListResponse: Project List Response
11401type ProjectsListResponse struct {
11402	// Kind: Identifies what kind of resource this is. Value: the fixed
11403	// string "dfareporting#projectsListResponse".
11404	Kind string `json:"kind,omitempty"`
11405
11406	// NextPageToken: Pagination token to be used for the next list
11407	// operation.
11408	NextPageToken string `json:"nextPageToken,omitempty"`
11409
11410	// Projects: Project collection.
11411	Projects []*Project `json:"projects,omitempty"`
11412
11413	// ServerResponse contains the HTTP response code and headers from the
11414	// server.
11415	googleapi.ServerResponse `json:"-"`
11416
11417	// ForceSendFields is a list of field names (e.g. "Kind") to
11418	// unconditionally include in API requests. By default, fields with
11419	// empty values are omitted from API requests. However, any non-pointer,
11420	// non-interface field appearing in ForceSendFields will be sent to the
11421	// server regardless of whether the field is empty or not. This may be
11422	// used to include empty fields in Patch requests.
11423	ForceSendFields []string `json:"-"`
11424
11425	// NullFields is a list of field names (e.g. "Kind") to include in API
11426	// requests with the JSON null value. By default, fields with empty
11427	// values are omitted from API requests. However, any field with an
11428	// empty value appearing in NullFields will be sent to the server as
11429	// null. It is an error if a field in this list has a non-empty value.
11430	// This may be used to include null fields in Patch requests.
11431	NullFields []string `json:"-"`
11432}
11433
11434func (s *ProjectsListResponse) MarshalJSON() ([]byte, error) {
11435	type NoMethod ProjectsListResponse
11436	raw := NoMethod(*s)
11437	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11438}
11439
11440// ReachReportCompatibleFields: Represents fields that are compatible to
11441// be selected for a report of type "REACH".
11442type ReachReportCompatibleFields struct {
11443	// DimensionFilters: Dimensions which are compatible to be selected in
11444	// the "dimensionFilters" section of the report.
11445	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
11446
11447	// Dimensions: Dimensions which are compatible to be selected in the
11448	// "dimensions" section of the report.
11449	Dimensions []*Dimension `json:"dimensions,omitempty"`
11450
11451	// Kind: The kind of resource this is, in this case
11452	// dfareporting#reachReportCompatibleFields.
11453	Kind string `json:"kind,omitempty"`
11454
11455	// Metrics: Metrics which are compatible to be selected in the
11456	// "metricNames" section of the report.
11457	Metrics []*Metric `json:"metrics,omitempty"`
11458
11459	// PivotedActivityMetrics: Metrics which are compatible to be selected
11460	// as activity metrics to pivot on in the "activities" section of the
11461	// report.
11462	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
11463
11464	// ReachByFrequencyMetrics: Metrics which are compatible to be selected
11465	// in the "reachByFrequencyMetricNames" section of the report.
11466	ReachByFrequencyMetrics []*Metric `json:"reachByFrequencyMetrics,omitempty"`
11467
11468	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
11469	// unconditionally include in API requests. By default, fields with
11470	// empty values are omitted from API requests. However, any non-pointer,
11471	// non-interface field appearing in ForceSendFields will be sent to the
11472	// server regardless of whether the field is empty or not. This may be
11473	// used to include empty fields in Patch requests.
11474	ForceSendFields []string `json:"-"`
11475
11476	// NullFields is a list of field names (e.g. "DimensionFilters") to
11477	// include in API requests with the JSON null value. By default, fields
11478	// with empty values are omitted from API requests. However, any field
11479	// with an empty value appearing in NullFields will be sent to the
11480	// server as null. It is an error if a field in this list has a
11481	// non-empty value. This may be used to include null fields in Patch
11482	// requests.
11483	NullFields []string `json:"-"`
11484}
11485
11486func (s *ReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
11487	type NoMethod ReachReportCompatibleFields
11488	raw := NoMethod(*s)
11489	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11490}
11491
11492// Recipient: Represents a recipient.
11493type Recipient struct {
11494	// DeliveryType: The delivery type for the recipient.
11495	//
11496	// Possible values:
11497	//   "ATTACHMENT"
11498	//   "LINK"
11499	DeliveryType string `json:"deliveryType,omitempty"`
11500
11501	// Email: The email address of the recipient.
11502	Email string `json:"email,omitempty"`
11503
11504	// Kind: The kind of resource this is, in this case
11505	// dfareporting#recipient.
11506	Kind string `json:"kind,omitempty"`
11507
11508	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
11509	// unconditionally include in API requests. By default, fields with
11510	// empty values are omitted from API requests. However, any non-pointer,
11511	// non-interface field appearing in ForceSendFields will be sent to the
11512	// server regardless of whether the field is empty or not. This may be
11513	// used to include empty fields in Patch requests.
11514	ForceSendFields []string `json:"-"`
11515
11516	// NullFields is a list of field names (e.g. "DeliveryType") to include
11517	// in API requests with the JSON null value. By default, fields with
11518	// empty values are omitted from API requests. However, any field with
11519	// an empty value appearing in NullFields will be sent to the server as
11520	// null. It is an error if a field in this list has a non-empty value.
11521	// This may be used to include null fields in Patch requests.
11522	NullFields []string `json:"-"`
11523}
11524
11525func (s *Recipient) MarshalJSON() ([]byte, error) {
11526	type NoMethod Recipient
11527	raw := NoMethod(*s)
11528	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11529}
11530
11531// Region: Contains information about a region that can be targeted by
11532// ads.
11533type Region struct {
11534	// CountryCode: Country code of the country to which this region
11535	// belongs.
11536	CountryCode string `json:"countryCode,omitempty"`
11537
11538	// CountryDartId: DART ID of the country to which this region belongs.
11539	CountryDartId int64 `json:"countryDartId,omitempty,string"`
11540
11541	// DartId: DART ID of this region.
11542	DartId int64 `json:"dartId,omitempty,string"`
11543
11544	// Kind: Identifies what kind of resource this is. Value: the fixed
11545	// string "dfareporting#region".
11546	Kind string `json:"kind,omitempty"`
11547
11548	// Name: Name of this region.
11549	Name string `json:"name,omitempty"`
11550
11551	// RegionCode: Region code.
11552	RegionCode string `json:"regionCode,omitempty"`
11553
11554	// ForceSendFields is a list of field names (e.g. "CountryCode") to
11555	// unconditionally include in API requests. By default, fields with
11556	// empty values are omitted from API requests. However, any non-pointer,
11557	// non-interface field appearing in ForceSendFields will be sent to the
11558	// server regardless of whether the field is empty or not. This may be
11559	// used to include empty fields in Patch requests.
11560	ForceSendFields []string `json:"-"`
11561
11562	// NullFields is a list of field names (e.g. "CountryCode") to include
11563	// in API requests with the JSON null value. By default, fields with
11564	// empty values are omitted from API requests. However, any field with
11565	// an empty value appearing in NullFields will be sent to the server as
11566	// null. It is an error if a field in this list has a non-empty value.
11567	// This may be used to include null fields in Patch requests.
11568	NullFields []string `json:"-"`
11569}
11570
11571func (s *Region) MarshalJSON() ([]byte, error) {
11572	type NoMethod Region
11573	raw := NoMethod(*s)
11574	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11575}
11576
11577// RegionsListResponse: Region List Response
11578type RegionsListResponse struct {
11579	// Kind: Identifies what kind of resource this is. Value: the fixed
11580	// string "dfareporting#regionsListResponse".
11581	Kind string `json:"kind,omitempty"`
11582
11583	// Regions: Region collection.
11584	Regions []*Region `json:"regions,omitempty"`
11585
11586	// ServerResponse contains the HTTP response code and headers from the
11587	// server.
11588	googleapi.ServerResponse `json:"-"`
11589
11590	// ForceSendFields is a list of field names (e.g. "Kind") to
11591	// unconditionally include in API requests. By default, fields with
11592	// empty values are omitted from API requests. However, any non-pointer,
11593	// non-interface field appearing in ForceSendFields will be sent to the
11594	// server regardless of whether the field is empty or not. This may be
11595	// used to include empty fields in Patch requests.
11596	ForceSendFields []string `json:"-"`
11597
11598	// NullFields is a list of field names (e.g. "Kind") to include in API
11599	// requests with the JSON null value. By default, fields with empty
11600	// values are omitted from API requests. However, any field with an
11601	// empty value appearing in NullFields will be sent to the server as
11602	// null. It is an error if a field in this list has a non-empty value.
11603	// This may be used to include null fields in Patch requests.
11604	NullFields []string `json:"-"`
11605}
11606
11607func (s *RegionsListResponse) MarshalJSON() ([]byte, error) {
11608	type NoMethod RegionsListResponse
11609	raw := NoMethod(*s)
11610	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11611}
11612
11613// RemarketingList: Contains properties of a remarketing list.
11614// Remarketing enables you to create lists of users who have performed
11615// specific actions on a site, then target ads to members of those
11616// lists. This resource can be used to manage remarketing lists that are
11617// owned by your advertisers. To see all remarketing lists that are
11618// visible to your advertisers, including those that are shared to your
11619// advertiser or account, use the TargetableRemarketingLists resource.
11620type RemarketingList struct {
11621	// AccountId: Account ID of this remarketing list. This is a read-only,
11622	// auto-generated field that is only returned in GET requests.
11623	AccountId int64 `json:"accountId,omitempty,string"`
11624
11625	// Active: Whether this remarketing list is active.
11626	Active bool `json:"active,omitempty"`
11627
11628	// AdvertiserId: Dimension value for the advertiser ID that owns this
11629	// remarketing list. This is a required field.
11630	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
11631
11632	// AdvertiserIdDimensionValue: Dimension value for the ID of the
11633	// advertiser. This is a read-only, auto-generated field.
11634	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
11635
11636	// Description: Remarketing list description.
11637	Description string `json:"description,omitempty"`
11638
11639	// Id: Remarketing list ID. This is a read-only, auto-generated field.
11640	Id int64 `json:"id,omitempty,string"`
11641
11642	// Kind: Identifies what kind of resource this is. Value: the fixed
11643	// string "dfareporting#remarketingList".
11644	Kind string `json:"kind,omitempty"`
11645
11646	// LifeSpan: Number of days that a user should remain in the remarketing
11647	// list without an impression. Acceptable values are 1 to 540,
11648	// inclusive.
11649	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
11650
11651	// ListPopulationRule: Rule used to populate the remarketing list with
11652	// users.
11653	ListPopulationRule *ListPopulationRule `json:"listPopulationRule,omitempty"`
11654
11655	// ListSize: Number of users currently in the list. This is a read-only
11656	// field.
11657	ListSize int64 `json:"listSize,omitempty,string"`
11658
11659	// ListSource: Product from which this remarketing list was originated.
11660	//
11661	// Possible values:
11662	//   "REMARKETING_LIST_SOURCE_ADX"
11663	//   "REMARKETING_LIST_SOURCE_DBM"
11664	//   "REMARKETING_LIST_SOURCE_DFA"
11665	//   "REMARKETING_LIST_SOURCE_DFP"
11666	//   "REMARKETING_LIST_SOURCE_DMP"
11667	//   "REMARKETING_LIST_SOURCE_GA"
11668	//   "REMARKETING_LIST_SOURCE_GPLUS"
11669	//   "REMARKETING_LIST_SOURCE_OTHER"
11670	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
11671	//   "REMARKETING_LIST_SOURCE_XFP"
11672	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
11673	ListSource string `json:"listSource,omitempty"`
11674
11675	// Name: Name of the remarketing list. This is a required field. Must be
11676	// no greater than 128 characters long.
11677	Name string `json:"name,omitempty"`
11678
11679	// SubaccountId: Subaccount ID of this remarketing list. This is a
11680	// read-only, auto-generated field that is only returned in GET
11681	// requests.
11682	SubaccountId int64 `json:"subaccountId,omitempty,string"`
11683
11684	// ServerResponse contains the HTTP response code and headers from the
11685	// server.
11686	googleapi.ServerResponse `json:"-"`
11687
11688	// ForceSendFields is a list of field names (e.g. "AccountId") to
11689	// unconditionally include in API requests. By default, fields with
11690	// empty values are omitted from API requests. However, any non-pointer,
11691	// non-interface field appearing in ForceSendFields will be sent to the
11692	// server regardless of whether the field is empty or not. This may be
11693	// used to include empty fields in Patch requests.
11694	ForceSendFields []string `json:"-"`
11695
11696	// NullFields is a list of field names (e.g. "AccountId") to include in
11697	// API requests with the JSON null value. By default, fields with empty
11698	// values are omitted from API requests. However, any field with an
11699	// empty value appearing in NullFields will be sent to the server as
11700	// null. It is an error if a field in this list has a non-empty value.
11701	// This may be used to include null fields in Patch requests.
11702	NullFields []string `json:"-"`
11703}
11704
11705func (s *RemarketingList) MarshalJSON() ([]byte, error) {
11706	type NoMethod RemarketingList
11707	raw := NoMethod(*s)
11708	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11709}
11710
11711// RemarketingListShare: Contains properties of a remarketing list's
11712// sharing information. Sharing allows other accounts or advertisers to
11713// target to your remarketing lists. This resource can be used to manage
11714// remarketing list sharing to other accounts and advertisers.
11715type RemarketingListShare struct {
11716	// Kind: Identifies what kind of resource this is. Value: the fixed
11717	// string "dfareporting#remarketingListShare".
11718	Kind string `json:"kind,omitempty"`
11719
11720	// RemarketingListId: Remarketing list ID. This is a read-only,
11721	// auto-generated field.
11722	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
11723
11724	// SharedAccountIds: Accounts that the remarketing list is shared with.
11725	SharedAccountIds googleapi.Int64s `json:"sharedAccountIds,omitempty"`
11726
11727	// SharedAdvertiserIds: Advertisers that the remarketing list is shared
11728	// with.
11729	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
11730
11731	// ServerResponse contains the HTTP response code and headers from the
11732	// server.
11733	googleapi.ServerResponse `json:"-"`
11734
11735	// ForceSendFields is a list of field names (e.g. "Kind") to
11736	// unconditionally include in API requests. By default, fields with
11737	// empty values are omitted from API requests. However, any non-pointer,
11738	// non-interface field appearing in ForceSendFields will be sent to the
11739	// server regardless of whether the field is empty or not. This may be
11740	// used to include empty fields in Patch requests.
11741	ForceSendFields []string `json:"-"`
11742
11743	// NullFields is a list of field names (e.g. "Kind") to include in API
11744	// requests with the JSON null value. By default, fields with empty
11745	// values are omitted from API requests. However, any field with an
11746	// empty value appearing in NullFields will be sent to the server as
11747	// null. It is an error if a field in this list has a non-empty value.
11748	// This may be used to include null fields in Patch requests.
11749	NullFields []string `json:"-"`
11750}
11751
11752func (s *RemarketingListShare) MarshalJSON() ([]byte, error) {
11753	type NoMethod RemarketingListShare
11754	raw := NoMethod(*s)
11755	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11756}
11757
11758// RemarketingListsListResponse: Remarketing list response
11759type RemarketingListsListResponse struct {
11760	// Kind: Identifies what kind of resource this is. Value: the fixed
11761	// string "dfareporting#remarketingListsListResponse".
11762	Kind string `json:"kind,omitempty"`
11763
11764	// NextPageToken: Pagination token to be used for the next list
11765	// operation.
11766	NextPageToken string `json:"nextPageToken,omitempty"`
11767
11768	// RemarketingLists: Remarketing list collection.
11769	RemarketingLists []*RemarketingList `json:"remarketingLists,omitempty"`
11770
11771	// ServerResponse contains the HTTP response code and headers from the
11772	// server.
11773	googleapi.ServerResponse `json:"-"`
11774
11775	// ForceSendFields is a list of field names (e.g. "Kind") to
11776	// unconditionally include in API requests. By default, fields with
11777	// empty values are omitted from API requests. However, any non-pointer,
11778	// non-interface field appearing in ForceSendFields will be sent to the
11779	// server regardless of whether the field is empty or not. This may be
11780	// used to include empty fields in Patch requests.
11781	ForceSendFields []string `json:"-"`
11782
11783	// NullFields is a list of field names (e.g. "Kind") to include in API
11784	// requests with the JSON null value. By default, fields with empty
11785	// values are omitted from API requests. However, any field with an
11786	// empty value appearing in NullFields will be sent to the server as
11787	// null. It is an error if a field in this list has a non-empty value.
11788	// This may be used to include null fields in Patch requests.
11789	NullFields []string `json:"-"`
11790}
11791
11792func (s *RemarketingListsListResponse) MarshalJSON() ([]byte, error) {
11793	type NoMethod RemarketingListsListResponse
11794	raw := NoMethod(*s)
11795	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11796}
11797
11798// Report: Represents a Report resource.
11799type Report struct {
11800	// AccountId: The account ID to which this report belongs.
11801	AccountId int64 `json:"accountId,omitempty,string"`
11802
11803	// Criteria: The report criteria for a report of type "STANDARD".
11804	Criteria *ReportCriteria `json:"criteria,omitempty"`
11805
11806	// CrossDimensionReachCriteria: The report criteria for a report of type
11807	// "CROSS_DIMENSION_REACH".
11808	CrossDimensionReachCriteria *ReportCrossDimensionReachCriteria `json:"crossDimensionReachCriteria,omitempty"`
11809
11810	// Delivery: The report's email delivery settings.
11811	Delivery *ReportDelivery `json:"delivery,omitempty"`
11812
11813	// Etag: The eTag of this response for caching purposes.
11814	Etag string `json:"etag,omitempty"`
11815
11816	// FileName: The filename used when generating report files for this
11817	// report.
11818	FileName string `json:"fileName,omitempty"`
11819
11820	// FloodlightCriteria: The report criteria for a report of type
11821	// "FLOODLIGHT".
11822	FloodlightCriteria *ReportFloodlightCriteria `json:"floodlightCriteria,omitempty"`
11823
11824	// Format: The output format of the report. If not specified, default
11825	// format is "CSV". Note that the actual format in the completed report
11826	// file might differ if for instance the report's size exceeds the
11827	// format's capabilities. "CSV" will then be the fallback format.
11828	//
11829	// Possible values:
11830	//   "CSV"
11831	//   "EXCEL"
11832	Format string `json:"format,omitempty"`
11833
11834	// Id: The unique ID identifying this report resource.
11835	Id int64 `json:"id,omitempty,string"`
11836
11837	// Kind: The kind of resource this is, in this case dfareporting#report.
11838	Kind string `json:"kind,omitempty"`
11839
11840	// LastModifiedTime: The timestamp (in milliseconds since epoch) of when
11841	// this report was last modified.
11842	LastModifiedTime uint64 `json:"lastModifiedTime,omitempty,string"`
11843
11844	// Name: The name of the report.
11845	Name string `json:"name,omitempty"`
11846
11847	// OwnerProfileId: The user profile id of the owner of this report.
11848	OwnerProfileId int64 `json:"ownerProfileId,omitempty,string"`
11849
11850	// PathToConversionCriteria: The report criteria for a report of type
11851	// "PATH_TO_CONVERSION".
11852	PathToConversionCriteria *ReportPathToConversionCriteria `json:"pathToConversionCriteria,omitempty"`
11853
11854	// ReachCriteria: The report criteria for a report of type "REACH".
11855	ReachCriteria *ReportReachCriteria `json:"reachCriteria,omitempty"`
11856
11857	// Schedule: The report's schedule. Can only be set if the report's
11858	// 'dateRange' is a relative date range and the relative date range is
11859	// not "TODAY".
11860	Schedule *ReportSchedule `json:"schedule,omitempty"`
11861
11862	// SubAccountId: The subaccount ID to which this report belongs if
11863	// applicable.
11864	SubAccountId int64 `json:"subAccountId,omitempty,string"`
11865
11866	// Type: The type of the report.
11867	//
11868	// Possible values:
11869	//   "CROSS_DIMENSION_REACH"
11870	//   "FLOODLIGHT"
11871	//   "PATH_TO_CONVERSION"
11872	//   "REACH"
11873	//   "STANDARD"
11874	Type string `json:"type,omitempty"`
11875
11876	// ServerResponse contains the HTTP response code and headers from the
11877	// server.
11878	googleapi.ServerResponse `json:"-"`
11879
11880	// ForceSendFields is a list of field names (e.g. "AccountId") to
11881	// unconditionally include in API requests. By default, fields with
11882	// empty values are omitted from API requests. However, any non-pointer,
11883	// non-interface field appearing in ForceSendFields will be sent to the
11884	// server regardless of whether the field is empty or not. This may be
11885	// used to include empty fields in Patch requests.
11886	ForceSendFields []string `json:"-"`
11887
11888	// NullFields is a list of field names (e.g. "AccountId") to include in
11889	// API requests with the JSON null value. By default, fields with empty
11890	// values are omitted from API requests. However, any field with an
11891	// empty value appearing in NullFields will be sent to the server as
11892	// null. It is an error if a field in this list has a non-empty value.
11893	// This may be used to include null fields in Patch requests.
11894	NullFields []string `json:"-"`
11895}
11896
11897func (s *Report) MarshalJSON() ([]byte, error) {
11898	type NoMethod Report
11899	raw := NoMethod(*s)
11900	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11901}
11902
11903// ReportCriteria: The report criteria for a report of type "STANDARD".
11904type ReportCriteria struct {
11905	// Activities: Activity group.
11906	Activities *Activities `json:"activities,omitempty"`
11907
11908	// CustomRichMediaEvents: Custom Rich Media Events group.
11909	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
11910
11911	// DateRange: The date range for which this report should be run.
11912	DateRange *DateRange `json:"dateRange,omitempty"`
11913
11914	// DimensionFilters: The list of filters on which dimensions are
11915	// filtered.
11916	// Filters for different dimensions are ANDed, filters for the same
11917	// dimension are grouped together and ORed.
11918	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11919
11920	// Dimensions: The list of standard dimensions the report should
11921	// include.
11922	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11923
11924	// MetricNames: The list of names of metrics the report should include.
11925	MetricNames []string `json:"metricNames,omitempty"`
11926
11927	// ForceSendFields is a list of field names (e.g. "Activities") to
11928	// unconditionally include in API requests. By default, fields with
11929	// empty values are omitted from API requests. However, any non-pointer,
11930	// non-interface field appearing in ForceSendFields will be sent to the
11931	// server regardless of whether the field is empty or not. This may be
11932	// used to include empty fields in Patch requests.
11933	ForceSendFields []string `json:"-"`
11934
11935	// NullFields is a list of field names (e.g. "Activities") to include in
11936	// API requests with the JSON null value. By default, fields with empty
11937	// values are omitted from API requests. However, any field with an
11938	// empty value appearing in NullFields will be sent to the server as
11939	// null. It is an error if a field in this list has a non-empty value.
11940	// This may be used to include null fields in Patch requests.
11941	NullFields []string `json:"-"`
11942}
11943
11944func (s *ReportCriteria) MarshalJSON() ([]byte, error) {
11945	type NoMethod ReportCriteria
11946	raw := NoMethod(*s)
11947	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11948}
11949
11950// ReportCrossDimensionReachCriteria: The report criteria for a report
11951// of type "CROSS_DIMENSION_REACH".
11952type ReportCrossDimensionReachCriteria struct {
11953	// Breakdown: The list of dimensions the report should include.
11954	Breakdown []*SortedDimension `json:"breakdown,omitempty"`
11955
11956	// DateRange: The date range this report should be run for.
11957	DateRange *DateRange `json:"dateRange,omitempty"`
11958
11959	// Dimension: The dimension option.
11960	//
11961	// Possible values:
11962	//   "ADVERTISER"
11963	//   "CAMPAIGN"
11964	//   "SITE_BY_ADVERTISER"
11965	//   "SITE_BY_CAMPAIGN"
11966	Dimension string `json:"dimension,omitempty"`
11967
11968	// DimensionFilters: The list of filters on which dimensions are
11969	// filtered.
11970	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11971
11972	// MetricNames: The list of names of metrics the report should include.
11973	MetricNames []string `json:"metricNames,omitempty"`
11974
11975	// OverlapMetricNames: The list of names of overlap metrics the report
11976	// should include.
11977	OverlapMetricNames []string `json:"overlapMetricNames,omitempty"`
11978
11979	// Pivoted: Whether the report is pivoted or not. Defaults to true.
11980	Pivoted bool `json:"pivoted,omitempty"`
11981
11982	// ForceSendFields is a list of field names (e.g. "Breakdown") to
11983	// unconditionally include in API requests. By default, fields with
11984	// empty values are omitted from API requests. However, any non-pointer,
11985	// non-interface field appearing in ForceSendFields will be sent to the
11986	// server regardless of whether the field is empty or not. This may be
11987	// used to include empty fields in Patch requests.
11988	ForceSendFields []string `json:"-"`
11989
11990	// NullFields is a list of field names (e.g. "Breakdown") to include in
11991	// API requests with the JSON null value. By default, fields with empty
11992	// values are omitted from API requests. However, any field with an
11993	// empty value appearing in NullFields will be sent to the server as
11994	// null. It is an error if a field in this list has a non-empty value.
11995	// This may be used to include null fields in Patch requests.
11996	NullFields []string `json:"-"`
11997}
11998
11999func (s *ReportCrossDimensionReachCriteria) MarshalJSON() ([]byte, error) {
12000	type NoMethod ReportCrossDimensionReachCriteria
12001	raw := NoMethod(*s)
12002	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12003}
12004
12005// ReportDelivery: The report's email delivery settings.
12006type ReportDelivery struct {
12007	// EmailOwner: Whether the report should be emailed to the report owner.
12008	EmailOwner bool `json:"emailOwner,omitempty"`
12009
12010	// EmailOwnerDeliveryType: The type of delivery for the owner to
12011	// receive, if enabled.
12012	//
12013	// Possible values:
12014	//   "ATTACHMENT"
12015	//   "LINK"
12016	EmailOwnerDeliveryType string `json:"emailOwnerDeliveryType,omitempty"`
12017
12018	// Message: The message to be sent with each email.
12019	Message string `json:"message,omitempty"`
12020
12021	// Recipients: The list of recipients to which to email the report.
12022	Recipients []*Recipient `json:"recipients,omitempty"`
12023
12024	// ForceSendFields is a list of field names (e.g. "EmailOwner") to
12025	// unconditionally include in API requests. By default, fields with
12026	// empty values are omitted from API requests. However, any non-pointer,
12027	// non-interface field appearing in ForceSendFields will be sent to the
12028	// server regardless of whether the field is empty or not. This may be
12029	// used to include empty fields in Patch requests.
12030	ForceSendFields []string `json:"-"`
12031
12032	// NullFields is a list of field names (e.g. "EmailOwner") to include in
12033	// API requests with the JSON null value. By default, fields with empty
12034	// values are omitted from API requests. However, any field with an
12035	// empty value appearing in NullFields will be sent to the server as
12036	// null. It is an error if a field in this list has a non-empty value.
12037	// This may be used to include null fields in Patch requests.
12038	NullFields []string `json:"-"`
12039}
12040
12041func (s *ReportDelivery) MarshalJSON() ([]byte, error) {
12042	type NoMethod ReportDelivery
12043	raw := NoMethod(*s)
12044	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12045}
12046
12047// ReportFloodlightCriteria: The report criteria for a report of type
12048// "FLOODLIGHT".
12049type ReportFloodlightCriteria struct {
12050	// CustomRichMediaEvents: The list of custom rich media events to
12051	// include.
12052	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
12053
12054	// DateRange: The date range this report should be run for.
12055	DateRange *DateRange `json:"dateRange,omitempty"`
12056
12057	// DimensionFilters: The list of filters on which dimensions are
12058	// filtered.
12059	// Filters for different dimensions are ANDed, filters for the same
12060	// dimension are grouped together and ORed.
12061	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
12062
12063	// Dimensions: The list of dimensions the report should include.
12064	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
12065
12066	// FloodlightConfigId: The floodlight ID for which to show data in this
12067	// report. All advertisers associated with that ID will automatically be
12068	// added. The dimension of the value needs to be
12069	// 'dfa:floodlightConfigId'.
12070	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
12071
12072	// MetricNames: The list of names of metrics the report should include.
12073	MetricNames []string `json:"metricNames,omitempty"`
12074
12075	// ReportProperties: The properties of the report.
12076	ReportProperties *ReportFloodlightCriteriaReportProperties `json:"reportProperties,omitempty"`
12077
12078	// ForceSendFields is a list of field names (e.g.
12079	// "CustomRichMediaEvents") to unconditionally include in API requests.
12080	// By default, fields with empty values are omitted from API requests.
12081	// However, any non-pointer, non-interface field appearing in
12082	// ForceSendFields will be sent to the server regardless of whether the
12083	// field is empty or not. This may be used to include empty fields in
12084	// Patch requests.
12085	ForceSendFields []string `json:"-"`
12086
12087	// NullFields is a list of field names (e.g. "CustomRichMediaEvents") to
12088	// include in API requests with the JSON null value. By default, fields
12089	// with empty values are omitted from API requests. However, any field
12090	// with an empty value appearing in NullFields will be sent to the
12091	// server as null. It is an error if a field in this list has a
12092	// non-empty value. This may be used to include null fields in Patch
12093	// requests.
12094	NullFields []string `json:"-"`
12095}
12096
12097func (s *ReportFloodlightCriteria) MarshalJSON() ([]byte, error) {
12098	type NoMethod ReportFloodlightCriteria
12099	raw := NoMethod(*s)
12100	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12101}
12102
12103// ReportFloodlightCriteriaReportProperties: The properties of the
12104// report.
12105type ReportFloodlightCriteriaReportProperties struct {
12106	// IncludeAttributedIPConversions: Include conversions that have no
12107	// cookie, but do have an exposure path.
12108	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
12109
12110	// IncludeUnattributedCookieConversions: Include conversions of users
12111	// with a DoubleClick cookie but without an exposure. That means the
12112	// user did not click or see an ad from the advertiser within the
12113	// Floodlight group, or that the interaction happened outside the
12114	// lookback window.
12115	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
12116
12117	// IncludeUnattributedIPConversions: Include conversions that have no
12118	// associated cookies and no exposures. It’s therefore impossible to
12119	// know how the user was exposed to your ads during the lookback window
12120	// prior to a conversion.
12121	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
12122
12123	// ForceSendFields is a list of field names (e.g.
12124	// "IncludeAttributedIPConversions") to unconditionally include in API
12125	// requests. By default, fields with empty values are omitted from API
12126	// requests. However, any non-pointer, non-interface field appearing in
12127	// ForceSendFields will be sent to the server regardless of whether the
12128	// field is empty or not. This may be used to include empty fields in
12129	// Patch requests.
12130	ForceSendFields []string `json:"-"`
12131
12132	// NullFields is a list of field names (e.g.
12133	// "IncludeAttributedIPConversions") to include in API requests with the
12134	// JSON null value. By default, fields with empty values are omitted
12135	// from API requests. However, any field with an empty value appearing
12136	// in NullFields will be sent to the server as null. It is an error if a
12137	// field in this list has a non-empty value. This may be used to include
12138	// null fields in Patch requests.
12139	NullFields []string `json:"-"`
12140}
12141
12142func (s *ReportFloodlightCriteriaReportProperties) MarshalJSON() ([]byte, error) {
12143	type NoMethod ReportFloodlightCriteriaReportProperties
12144	raw := NoMethod(*s)
12145	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12146}
12147
12148// ReportPathToConversionCriteria: The report criteria for a report of
12149// type "PATH_TO_CONVERSION".
12150type ReportPathToConversionCriteria struct {
12151	// ActivityFilters: The list of 'dfa:activity' values to filter on.
12152	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
12153
12154	// ConversionDimensions: The list of conversion dimensions the report
12155	// should include.
12156	ConversionDimensions []*SortedDimension `json:"conversionDimensions,omitempty"`
12157
12158	// CustomFloodlightVariables: The list of custom floodlight variables
12159	// the report should include.
12160	CustomFloodlightVariables []*SortedDimension `json:"customFloodlightVariables,omitempty"`
12161
12162	// CustomRichMediaEvents: The list of custom rich media events to
12163	// include.
12164	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
12165
12166	// DateRange: The date range this report should be run for.
12167	DateRange *DateRange `json:"dateRange,omitempty"`
12168
12169	// FloodlightConfigId: The floodlight ID for which to show data in this
12170	// report. All advertisers associated with that ID will automatically be
12171	// added. The dimension of the value needs to be
12172	// 'dfa:floodlightConfigId'.
12173	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
12174
12175	// MetricNames: The list of names of metrics the report should include.
12176	MetricNames []string `json:"metricNames,omitempty"`
12177
12178	// PerInteractionDimensions: The list of per interaction dimensions the
12179	// report should include.
12180	PerInteractionDimensions []*SortedDimension `json:"perInteractionDimensions,omitempty"`
12181
12182	// ReportProperties: The properties of the report.
12183	ReportProperties *ReportPathToConversionCriteriaReportProperties `json:"reportProperties,omitempty"`
12184
12185	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
12186	// unconditionally include in API requests. By default, fields with
12187	// empty values are omitted from API requests. However, any non-pointer,
12188	// non-interface field appearing in ForceSendFields will be sent to the
12189	// server regardless of whether the field is empty or not. This may be
12190	// used to include empty fields in Patch requests.
12191	ForceSendFields []string `json:"-"`
12192
12193	// NullFields is a list of field names (e.g. "ActivityFilters") to
12194	// include in API requests with the JSON null value. By default, fields
12195	// with empty values are omitted from API requests. However, any field
12196	// with an empty value appearing in NullFields will be sent to the
12197	// server as null. It is an error if a field in this list has a
12198	// non-empty value. This may be used to include null fields in Patch
12199	// requests.
12200	NullFields []string `json:"-"`
12201}
12202
12203func (s *ReportPathToConversionCriteria) MarshalJSON() ([]byte, error) {
12204	type NoMethod ReportPathToConversionCriteria
12205	raw := NoMethod(*s)
12206	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12207}
12208
12209// ReportPathToConversionCriteriaReportProperties: The properties of the
12210// report.
12211type ReportPathToConversionCriteriaReportProperties struct {
12212	// ClicksLookbackWindow: DFA checks to see if a click interaction
12213	// occurred within the specified period of time before a conversion. By
12214	// default the value is pulled from Floodlight or you can manually enter
12215	// a custom value. Valid values: 1-90.
12216	ClicksLookbackWindow int64 `json:"clicksLookbackWindow,omitempty"`
12217
12218	// ImpressionsLookbackWindow: DFA checks to see if an impression
12219	// interaction occurred within the specified period of time before a
12220	// conversion. By default the value is pulled from Floodlight or you can
12221	// manually enter a custom value. Valid values: 1-90.
12222	ImpressionsLookbackWindow int64 `json:"impressionsLookbackWindow,omitempty"`
12223
12224	// IncludeAttributedIPConversions: Deprecated: has no effect.
12225	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
12226
12227	// IncludeUnattributedCookieConversions: Include conversions of users
12228	// with a DoubleClick cookie but without an exposure. That means the
12229	// user did not click or see an ad from the advertiser within the
12230	// Floodlight group, or that the interaction happened outside the
12231	// lookback window.
12232	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
12233
12234	// IncludeUnattributedIPConversions: Include conversions that have no
12235	// associated cookies and no exposures. It’s therefore impossible to
12236	// know how the user was exposed to your ads during the lookback window
12237	// prior to a conversion.
12238	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
12239
12240	// MaximumClickInteractions: The maximum number of click interactions to
12241	// include in the report. Advertisers currently paying for E2C reports
12242	// get up to 200 (100 clicks, 100 impressions). If another advertiser in
12243	// your network is paying for E2C, you can have up to 5 total exposures
12244	// per report.
12245	MaximumClickInteractions int64 `json:"maximumClickInteractions,omitempty"`
12246
12247	// MaximumImpressionInteractions: The maximum number of click
12248	// interactions to include in the report. Advertisers currently paying
12249	// for E2C reports get up to 200 (100 clicks, 100 impressions). If
12250	// another advertiser in your network is paying for E2C, you can have up
12251	// to 5 total exposures per report.
12252	MaximumImpressionInteractions int64 `json:"maximumImpressionInteractions,omitempty"`
12253
12254	// MaximumInteractionGap: The maximum amount of time that can take place
12255	// between interactions (clicks or impressions) by the same user. Valid
12256	// values: 1-90.
12257	MaximumInteractionGap int64 `json:"maximumInteractionGap,omitempty"`
12258
12259	// PivotOnInteractionPath: Enable pivoting on interaction path.
12260	PivotOnInteractionPath bool `json:"pivotOnInteractionPath,omitempty"`
12261
12262	// ForceSendFields is a list of field names (e.g.
12263	// "ClicksLookbackWindow") to unconditionally include in API requests.
12264	// By default, fields with empty values are omitted from API requests.
12265	// However, any non-pointer, non-interface field appearing in
12266	// ForceSendFields will be sent to the server regardless of whether the
12267	// field is empty or not. This may be used to include empty fields in
12268	// Patch requests.
12269	ForceSendFields []string `json:"-"`
12270
12271	// NullFields is a list of field names (e.g. "ClicksLookbackWindow") to
12272	// include in API requests with the JSON null value. By default, fields
12273	// with empty values are omitted from API requests. However, any field
12274	// with an empty value appearing in NullFields will be sent to the
12275	// server as null. It is an error if a field in this list has a
12276	// non-empty value. This may be used to include null fields in Patch
12277	// requests.
12278	NullFields []string `json:"-"`
12279}
12280
12281func (s *ReportPathToConversionCriteriaReportProperties) MarshalJSON() ([]byte, error) {
12282	type NoMethod ReportPathToConversionCriteriaReportProperties
12283	raw := NoMethod(*s)
12284	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12285}
12286
12287// ReportReachCriteria: The report criteria for a report of type
12288// "REACH".
12289type ReportReachCriteria struct {
12290	// Activities: Activity group.
12291	Activities *Activities `json:"activities,omitempty"`
12292
12293	// CustomRichMediaEvents: Custom Rich Media Events group.
12294	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
12295
12296	// DateRange: The date range this report should be run for.
12297	DateRange *DateRange `json:"dateRange,omitempty"`
12298
12299	// DimensionFilters: The list of filters on which dimensions are
12300	// filtered.
12301	// Filters for different dimensions are ANDed, filters for the same
12302	// dimension are grouped together and ORed.
12303	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
12304
12305	// Dimensions: The list of dimensions the report should include.
12306	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
12307
12308	// EnableAllDimensionCombinations: Whether to enable all reach dimension
12309	// combinations in the report. Defaults to false. If enabled, the date
12310	// range of the report should be within the last 42 days.
12311	EnableAllDimensionCombinations bool `json:"enableAllDimensionCombinations,omitempty"`
12312
12313	// MetricNames: The list of names of metrics the report should include.
12314	MetricNames []string `json:"metricNames,omitempty"`
12315
12316	// ReachByFrequencyMetricNames: The list of names of  Reach By Frequency
12317	// metrics the report should include.
12318	ReachByFrequencyMetricNames []string `json:"reachByFrequencyMetricNames,omitempty"`
12319
12320	// ForceSendFields is a list of field names (e.g. "Activities") to
12321	// unconditionally include in API requests. By default, fields with
12322	// empty values are omitted from API requests. However, any non-pointer,
12323	// non-interface field appearing in ForceSendFields will be sent to the
12324	// server regardless of whether the field is empty or not. This may be
12325	// used to include empty fields in Patch requests.
12326	ForceSendFields []string `json:"-"`
12327
12328	// NullFields is a list of field names (e.g. "Activities") to include in
12329	// API requests with the JSON null value. By default, fields with empty
12330	// values are omitted from API requests. However, any field with an
12331	// empty value appearing in NullFields will be sent to the server as
12332	// null. It is an error if a field in this list has a non-empty value.
12333	// This may be used to include null fields in Patch requests.
12334	NullFields []string `json:"-"`
12335}
12336
12337func (s *ReportReachCriteria) MarshalJSON() ([]byte, error) {
12338	type NoMethod ReportReachCriteria
12339	raw := NoMethod(*s)
12340	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12341}
12342
12343// ReportSchedule: The report's schedule. Can only be set if the
12344// report's 'dateRange' is a relative date range and the relative date
12345// range is not "TODAY".
12346type ReportSchedule struct {
12347	// Active: Whether the schedule is active or not. Must be set to either
12348	// true or false.
12349	Active bool `json:"active,omitempty"`
12350
12351	// Every: Defines every how many days, weeks or months the report should
12352	// be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
12353	// "MONTHLY".
12354	Every int64 `json:"every,omitempty"`
12355
12356	// ExpirationDate: The expiration date when the scheduled report stops
12357	// running.
12358	ExpirationDate string `json:"expirationDate,omitempty"`
12359
12360	// Repeats: The interval for which the report is repeated. Note:
12361	// - "DAILY" also requires field "every" to be set.
12362	// - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be
12363	// set.
12364	// - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
12365	// set.
12366	Repeats string `json:"repeats,omitempty"`
12367
12368	// RepeatsOnWeekDays: List of week days "WEEKLY" on which scheduled
12369	// reports should run.
12370	//
12371	// Possible values:
12372	//   "FRIDAY"
12373	//   "MONDAY"
12374	//   "SATURDAY"
12375	//   "SUNDAY"
12376	//   "THURSDAY"
12377	//   "TUESDAY"
12378	//   "WEDNESDAY"
12379	RepeatsOnWeekDays []string `json:"repeatsOnWeekDays,omitempty"`
12380
12381	// RunsOnDayOfMonth: Enum to define for "MONTHLY" scheduled reports
12382	// whether reports should be repeated on the same day of the month as
12383	// "startDate" or the same day of the week of the month.
12384	// Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02),
12385	// "DAY_OF_MONTH" would run subsequent reports on the 2nd of every
12386	// Month, and "WEEK_OF_MONTH" would run subsequent reports on the first
12387	// Monday of the month.
12388	//
12389	// Possible values:
12390	//   "DAY_OF_MONTH"
12391	//   "WEEK_OF_MONTH"
12392	RunsOnDayOfMonth string `json:"runsOnDayOfMonth,omitempty"`
12393
12394	// StartDate: Start date of date range for which scheduled reports
12395	// should be run.
12396	StartDate string `json:"startDate,omitempty"`
12397
12398	// ForceSendFields is a list of field names (e.g. "Active") to
12399	// unconditionally include in API requests. By default, fields with
12400	// empty values are omitted from API requests. However, any non-pointer,
12401	// non-interface field appearing in ForceSendFields will be sent to the
12402	// server regardless of whether the field is empty or not. This may be
12403	// used to include empty fields in Patch requests.
12404	ForceSendFields []string `json:"-"`
12405
12406	// NullFields is a list of field names (e.g. "Active") to include in API
12407	// requests with the JSON null value. By default, fields with empty
12408	// values are omitted from API requests. However, any field with an
12409	// empty value appearing in NullFields will be sent to the server as
12410	// null. It is an error if a field in this list has a non-empty value.
12411	// This may be used to include null fields in Patch requests.
12412	NullFields []string `json:"-"`
12413}
12414
12415func (s *ReportSchedule) MarshalJSON() ([]byte, error) {
12416	type NoMethod ReportSchedule
12417	raw := NoMethod(*s)
12418	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12419}
12420
12421// ReportCompatibleFields: Represents fields that are compatible to be
12422// selected for a report of type "STANDARD".
12423type ReportCompatibleFields struct {
12424	// DimensionFilters: Dimensions which are compatible to be selected in
12425	// the "dimensionFilters" section of the report.
12426	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
12427
12428	// Dimensions: Dimensions which are compatible to be selected in the
12429	// "dimensions" section of the report.
12430	Dimensions []*Dimension `json:"dimensions,omitempty"`
12431
12432	// Kind: The kind of resource this is, in this case
12433	// dfareporting#reportCompatibleFields.
12434	Kind string `json:"kind,omitempty"`
12435
12436	// Metrics: Metrics which are compatible to be selected in the
12437	// "metricNames" section of the report.
12438	Metrics []*Metric `json:"metrics,omitempty"`
12439
12440	// PivotedActivityMetrics: Metrics which are compatible to be selected
12441	// as activity metrics to pivot on in the "activities" section of the
12442	// report.
12443	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
12444
12445	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
12446	// unconditionally include in API requests. By default, fields with
12447	// empty values are omitted from API requests. However, any non-pointer,
12448	// non-interface field appearing in ForceSendFields will be sent to the
12449	// server regardless of whether the field is empty or not. This may be
12450	// used to include empty fields in Patch requests.
12451	ForceSendFields []string `json:"-"`
12452
12453	// NullFields is a list of field names (e.g. "DimensionFilters") to
12454	// include in API requests with the JSON null value. By default, fields
12455	// with empty values are omitted from API requests. However, any field
12456	// with an empty value appearing in NullFields will be sent to the
12457	// server as null. It is an error if a field in this list has a
12458	// non-empty value. This may be used to include null fields in Patch
12459	// requests.
12460	NullFields []string `json:"-"`
12461}
12462
12463func (s *ReportCompatibleFields) MarshalJSON() ([]byte, error) {
12464	type NoMethod ReportCompatibleFields
12465	raw := NoMethod(*s)
12466	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12467}
12468
12469// ReportList: Represents the list of reports.
12470type ReportList struct {
12471	// Etag: The eTag of this response for caching purposes.
12472	Etag string `json:"etag,omitempty"`
12473
12474	// Items: The reports returned in this response.
12475	Items []*Report `json:"items,omitempty"`
12476
12477	// Kind: The kind of list this is, in this case dfareporting#reportList.
12478	Kind string `json:"kind,omitempty"`
12479
12480	// NextPageToken: Continuation token used to page through reports. To
12481	// retrieve the next page of results, set the next request's "pageToken"
12482	// to the value of this field. The page token is only valid for a
12483	// limited amount of time and should not be persisted.
12484	NextPageToken string `json:"nextPageToken,omitempty"`
12485
12486	// ServerResponse contains the HTTP response code and headers from the
12487	// server.
12488	googleapi.ServerResponse `json:"-"`
12489
12490	// ForceSendFields is a list of field names (e.g. "Etag") to
12491	// unconditionally include in API requests. By default, fields with
12492	// empty values are omitted from API requests. However, any non-pointer,
12493	// non-interface field appearing in ForceSendFields will be sent to the
12494	// server regardless of whether the field is empty or not. This may be
12495	// used to include empty fields in Patch requests.
12496	ForceSendFields []string `json:"-"`
12497
12498	// NullFields is a list of field names (e.g. "Etag") to include in API
12499	// requests with the JSON null value. By default, fields with empty
12500	// values are omitted from API requests. However, any field with an
12501	// empty value appearing in NullFields will be sent to the server as
12502	// null. It is an error if a field in this list has a non-empty value.
12503	// This may be used to include null fields in Patch requests.
12504	NullFields []string `json:"-"`
12505}
12506
12507func (s *ReportList) MarshalJSON() ([]byte, error) {
12508	type NoMethod ReportList
12509	raw := NoMethod(*s)
12510	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12511}
12512
12513// ReportsConfiguration: Reporting Configuration
12514type ReportsConfiguration struct {
12515	// ExposureToConversionEnabled: Whether the exposure to conversion
12516	// report is enabled. This report shows detailed pathway information on
12517	// up to 10 of the most recent ad exposures seen by a user before
12518	// converting.
12519	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
12520
12521	// LookbackConfiguration: Default lookback windows for new advertisers
12522	// in this account.
12523	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
12524
12525	// ReportGenerationTimeZoneId: Report generation time zone ID of this
12526	// account. This is a required field that can only be changed by a
12527	// superuser.
12528	// Acceptable values are:
12529	//
12530	// - "1" for "America/New_York"
12531	// - "2" for "Europe/London"
12532	// - "3" for "Europe/Paris"
12533	// - "4" for "Africa/Johannesburg"
12534	// - "5" for "Asia/Jerusalem"
12535	// - "6" for "Asia/Shanghai"
12536	// - "7" for "Asia/Hong_Kong"
12537	// - "8" for "Asia/Tokyo"
12538	// - "9" for "Australia/Sydney"
12539	// - "10" for "Asia/Dubai"
12540	// - "11" for "America/Los_Angeles"
12541	// - "12" for "Pacific/Auckland"
12542	// - "13" for "America/Sao_Paulo"
12543	// - "16" for "America/Asuncion"
12544	// - "17" for "America/Chicago"
12545	// - "18" for "America/Denver"
12546	// - "19" for "America/St_Johns"
12547	// - "20" for "Asia/Dhaka"
12548	// - "21" for "Asia/Jakarta"
12549	// - "22" for "Asia/Kabul"
12550	// - "23" for "Asia/Karachi"
12551	// - "24" for "Asia/Calcutta"
12552	// - "25" for "Asia/Pyongyang"
12553	// - "26" for "Asia/Rangoon"
12554	// - "27" for "Atlantic/Cape_Verde"
12555	// - "28" for "Atlantic/South_Georgia"
12556	// - "29" for "Australia/Adelaide"
12557	// - "30" for "Australia/Lord_Howe"
12558	// - "31" for "Europe/Moscow"
12559	// - "32" for "Pacific/Kiritimati"
12560	// - "35" for "Pacific/Norfolk"
12561	// - "36" for "Pacific/Tongatapu"
12562	ReportGenerationTimeZoneId int64 `json:"reportGenerationTimeZoneId,omitempty,string"`
12563
12564	// ForceSendFields is a list of field names (e.g.
12565	// "ExposureToConversionEnabled") to unconditionally include in API
12566	// requests. By default, fields with empty values are omitted from API
12567	// requests. However, any non-pointer, non-interface field appearing in
12568	// ForceSendFields will be sent to the server regardless of whether the
12569	// field is empty or not. This may be used to include empty fields in
12570	// Patch requests.
12571	ForceSendFields []string `json:"-"`
12572
12573	// NullFields is a list of field names (e.g.
12574	// "ExposureToConversionEnabled") to include in API requests with the
12575	// JSON null value. By default, fields with empty values are omitted
12576	// from API requests. However, any field with an empty value appearing
12577	// in NullFields will be sent to the server as null. It is an error if a
12578	// field in this list has a non-empty value. This may be used to include
12579	// null fields in Patch requests.
12580	NullFields []string `json:"-"`
12581}
12582
12583func (s *ReportsConfiguration) MarshalJSON() ([]byte, error) {
12584	type NoMethod ReportsConfiguration
12585	raw := NoMethod(*s)
12586	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12587}
12588
12589// RichMediaExitOverride: Rich Media Exit Override.
12590type RichMediaExitOverride struct {
12591	// ClickThroughUrl: Click-through URL of this rich media exit override.
12592	// Applicable if the enabled field is set to true.
12593	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
12594
12595	// Enabled: Whether to use the clickThroughUrl. If false, the
12596	// creative-level exit will be used.
12597	Enabled bool `json:"enabled,omitempty"`
12598
12599	// ExitId: ID for the override to refer to a specific exit in the
12600	// creative.
12601	ExitId int64 `json:"exitId,omitempty,string"`
12602
12603	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
12604	// unconditionally include in API requests. By default, fields with
12605	// empty values are omitted from API requests. However, any non-pointer,
12606	// non-interface field appearing in ForceSendFields will be sent to the
12607	// server regardless of whether the field is empty or not. This may be
12608	// used to include empty fields in Patch requests.
12609	ForceSendFields []string `json:"-"`
12610
12611	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
12612	// include in API requests with the JSON null value. By default, fields
12613	// with empty values are omitted from API requests. However, any field
12614	// with an empty value appearing in NullFields will be sent to the
12615	// server as null. It is an error if a field in this list has a
12616	// non-empty value. This may be used to include null fields in Patch
12617	// requests.
12618	NullFields []string `json:"-"`
12619}
12620
12621func (s *RichMediaExitOverride) MarshalJSON() ([]byte, error) {
12622	type NoMethod RichMediaExitOverride
12623	raw := NoMethod(*s)
12624	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12625}
12626
12627// Rule: A rule associates an asset with a targeting template for
12628// asset-level targeting. Applicable to INSTREAM_VIDEO creatives.
12629type Rule struct {
12630	// AssetId: A creativeAssets[].id. This should refer to one of the
12631	// parent assets in this creative. This is a required field.
12632	AssetId int64 `json:"assetId,omitempty,string"`
12633
12634	// Name: A user-friendly name for this rule. This is a required field.
12635	Name string `json:"name,omitempty"`
12636
12637	// TargetingTemplateId: A targeting template ID. The targeting from the
12638	// targeting template will be used to determine whether this asset
12639	// should be served. This is a required field.
12640	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
12641
12642	// ForceSendFields is a list of field names (e.g. "AssetId") to
12643	// unconditionally include in API requests. By default, fields with
12644	// empty values are omitted from API requests. However, any non-pointer,
12645	// non-interface field appearing in ForceSendFields will be sent to the
12646	// server regardless of whether the field is empty or not. This may be
12647	// used to include empty fields in Patch requests.
12648	ForceSendFields []string `json:"-"`
12649
12650	// NullFields is a list of field names (e.g. "AssetId") to include in
12651	// API requests with the JSON null value. By default, fields with empty
12652	// values are omitted from API requests. However, any field with an
12653	// empty value appearing in NullFields will be sent to the server as
12654	// null. It is an error if a field in this list has a non-empty value.
12655	// This may be used to include null fields in Patch requests.
12656	NullFields []string `json:"-"`
12657}
12658
12659func (s *Rule) MarshalJSON() ([]byte, error) {
12660	type NoMethod Rule
12661	raw := NoMethod(*s)
12662	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12663}
12664
12665// Site: Contains properties of a site.
12666type Site struct {
12667	// AccountId: Account ID of this site. This is a read-only field that
12668	// can be left blank.
12669	AccountId int64 `json:"accountId,omitempty,string"`
12670
12671	// Approved: Whether this site is approved.
12672	Approved bool `json:"approved,omitempty"`
12673
12674	// DirectorySiteId: Directory site associated with this site. This is a
12675	// required field that is read-only after insertion.
12676	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
12677
12678	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
12679	// directory site. This is a read-only, auto-generated field.
12680	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
12681
12682	// Id: ID of this site. This is a read-only, auto-generated field.
12683	Id int64 `json:"id,omitempty,string"`
12684
12685	// IdDimensionValue: Dimension value for the ID of this site. This is a
12686	// read-only, auto-generated field.
12687	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
12688
12689	// KeyName: Key name of this site. This is a read-only, auto-generated
12690	// field.
12691	KeyName string `json:"keyName,omitempty"`
12692
12693	// Kind: Identifies what kind of resource this is. Value: the fixed
12694	// string "dfareporting#site".
12695	Kind string `json:"kind,omitempty"`
12696
12697	// Name: Name of this site.This is a required field. Must be less than
12698	// 128 characters long. If this site is under a subaccount, the name
12699	// must be unique among sites of the same subaccount. Otherwise, this
12700	// site is a top-level site, and the name must be unique among top-level
12701	// sites of the same account.
12702	Name string `json:"name,omitempty"`
12703
12704	// SiteContacts: Site contacts.
12705	SiteContacts []*SiteContact `json:"siteContacts,omitempty"`
12706
12707	// SiteSettings: Site-wide settings.
12708	SiteSettings *SiteSettings `json:"siteSettings,omitempty"`
12709
12710	// SubaccountId: Subaccount ID of this site. This is a read-only field
12711	// that can be left blank.
12712	SubaccountId int64 `json:"subaccountId,omitempty,string"`
12713
12714	// VideoSettings: Default video settings for new placements created
12715	// under this site. This value will be used to populate the
12716	// placements.videoSettings field, when no value is specified for the
12717	// new placement.
12718	VideoSettings *SiteVideoSettings `json:"videoSettings,omitempty"`
12719
12720	// ServerResponse contains the HTTP response code and headers from the
12721	// server.
12722	googleapi.ServerResponse `json:"-"`
12723
12724	// ForceSendFields is a list of field names (e.g. "AccountId") to
12725	// unconditionally include in API requests. By default, fields with
12726	// empty values are omitted from API requests. However, any non-pointer,
12727	// non-interface field appearing in ForceSendFields will be sent to the
12728	// server regardless of whether the field is empty or not. This may be
12729	// used to include empty fields in Patch requests.
12730	ForceSendFields []string `json:"-"`
12731
12732	// NullFields is a list of field names (e.g. "AccountId") to include in
12733	// API requests with the JSON null value. By default, fields with empty
12734	// values are omitted from API requests. However, any field with an
12735	// empty value appearing in NullFields will be sent to the server as
12736	// null. It is an error if a field in this list has a non-empty value.
12737	// This may be used to include null fields in Patch requests.
12738	NullFields []string `json:"-"`
12739}
12740
12741func (s *Site) MarshalJSON() ([]byte, error) {
12742	type NoMethod Site
12743	raw := NoMethod(*s)
12744	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12745}
12746
12747// SiteCompanionSetting: Companion Settings
12748type SiteCompanionSetting struct {
12749	// CompanionsDisabled: Whether companions are disabled for this site
12750	// template.
12751	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
12752
12753	// EnabledSizes: Whitelist of companion sizes to be served via this site
12754	// template. Set this list to null or empty to serve all companion
12755	// sizes.
12756	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
12757
12758	// ImageOnly: Whether to serve only static images as companions.
12759	ImageOnly bool `json:"imageOnly,omitempty"`
12760
12761	// Kind: Identifies what kind of resource this is. Value: the fixed
12762	// string "dfareporting#siteCompanionSetting".
12763	Kind string `json:"kind,omitempty"`
12764
12765	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
12766	// to unconditionally include in API requests. By default, fields with
12767	// empty values are omitted from API requests. However, any non-pointer,
12768	// non-interface field appearing in ForceSendFields will be sent to the
12769	// server regardless of whether the field is empty or not. This may be
12770	// used to include empty fields in Patch requests.
12771	ForceSendFields []string `json:"-"`
12772
12773	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
12774	// include in API requests with the JSON null value. By default, fields
12775	// with empty values are omitted from API requests. However, any field
12776	// with an empty value appearing in NullFields will be sent to the
12777	// server as null. It is an error if a field in this list has a
12778	// non-empty value. This may be used to include null fields in Patch
12779	// requests.
12780	NullFields []string `json:"-"`
12781}
12782
12783func (s *SiteCompanionSetting) MarshalJSON() ([]byte, error) {
12784	type NoMethod SiteCompanionSetting
12785	raw := NoMethod(*s)
12786	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12787}
12788
12789// SiteContact: Site Contact
12790type SiteContact struct {
12791	// Address: Address of this site contact.
12792	Address string `json:"address,omitempty"`
12793
12794	// ContactType: Site contact type.
12795	//
12796	// Possible values:
12797	//   "SALES_PERSON"
12798	//   "TRAFFICKER"
12799	ContactType string `json:"contactType,omitempty"`
12800
12801	// Email: Email address of this site contact. This is a required field.
12802	Email string `json:"email,omitempty"`
12803
12804	// FirstName: First name of this site contact.
12805	FirstName string `json:"firstName,omitempty"`
12806
12807	// Id: ID of this site contact. This is a read-only, auto-generated
12808	// field.
12809	Id int64 `json:"id,omitempty,string"`
12810
12811	// LastName: Last name of this site contact.
12812	LastName string `json:"lastName,omitempty"`
12813
12814	// Phone: Primary phone number of this site contact.
12815	Phone string `json:"phone,omitempty"`
12816
12817	// Title: Title or designation of this site contact.
12818	Title string `json:"title,omitempty"`
12819
12820	// ForceSendFields is a list of field names (e.g. "Address") to
12821	// unconditionally include in API requests. By default, fields with
12822	// empty values are omitted from API requests. However, any non-pointer,
12823	// non-interface field appearing in ForceSendFields will be sent to the
12824	// server regardless of whether the field is empty or not. This may be
12825	// used to include empty fields in Patch requests.
12826	ForceSendFields []string `json:"-"`
12827
12828	// NullFields is a list of field names (e.g. "Address") to include in
12829	// API requests with the JSON null value. By default, fields with empty
12830	// values are omitted from API requests. However, any field with an
12831	// empty value appearing in NullFields will be sent to the server as
12832	// null. It is an error if a field in this list has a non-empty value.
12833	// This may be used to include null fields in Patch requests.
12834	NullFields []string `json:"-"`
12835}
12836
12837func (s *SiteContact) MarshalJSON() ([]byte, error) {
12838	type NoMethod SiteContact
12839	raw := NoMethod(*s)
12840	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12841}
12842
12843// SiteSettings: Site Settings
12844type SiteSettings struct {
12845	// ActiveViewOptOut: Whether active view creatives are disabled for this
12846	// site.
12847	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
12848
12849	// AdBlockingOptOut: Whether this site opts out of ad blocking. When
12850	// true, ad blocking is disabled for all placements under the site,
12851	// regardless of the individual placement settings. When false, the
12852	// campaign and placement settings take effect.
12853	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
12854
12855	// DisableNewCookie: Whether new cookies are disabled for this site.
12856	DisableNewCookie bool `json:"disableNewCookie,omitempty"`
12857
12858	// TagSetting: Configuration settings for dynamic and image floodlight
12859	// tags.
12860	TagSetting *TagSetting `json:"tagSetting,omitempty"`
12861
12862	// VideoActiveViewOptOutTemplate: Whether Verification and ActiveView
12863	// for in-stream video creatives are disabled by default for new
12864	// placements created under this site. This value will be used to
12865	// populate the placement.videoActiveViewOptOut field, when no value is
12866	// specified for the new placement.
12867	VideoActiveViewOptOutTemplate bool `json:"videoActiveViewOptOutTemplate,omitempty"`
12868
12869	// VpaidAdapterChoiceTemplate: Default VPAID adapter setting for new
12870	// placements created under this site. This value will be used to
12871	// populate the placements.vpaidAdapterChoice field, when no value is
12872	// specified for the new placement. Controls which VPAID format the
12873	// measurement adapter will use for in-stream video creatives assigned
12874	// to the placement. The publisher's specifications will typically
12875	// determine this setting. For VPAID creatives, the adapter format will
12876	// match the VPAID format (HTML5 VPAID creatives use the HTML5
12877	// adapter).
12878	//
12879	// Note: Flash is no longer supported. This field now defaults to HTML5
12880	// when the following values are provided: FLASH, BOTH.
12881	//
12882	// Possible values:
12883	//   "BOTH"
12884	//   "DEFAULT"
12885	//   "FLASH"
12886	//   "HTML5"
12887	VpaidAdapterChoiceTemplate string `json:"vpaidAdapterChoiceTemplate,omitempty"`
12888
12889	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
12890	// unconditionally include in API requests. By default, fields with
12891	// empty values are omitted from API requests. However, any non-pointer,
12892	// non-interface field appearing in ForceSendFields will be sent to the
12893	// server regardless of whether the field is empty or not. This may be
12894	// used to include empty fields in Patch requests.
12895	ForceSendFields []string `json:"-"`
12896
12897	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
12898	// include in API requests with the JSON null value. By default, fields
12899	// with empty values are omitted from API requests. However, any field
12900	// with an empty value appearing in NullFields will be sent to the
12901	// server as null. It is an error if a field in this list has a
12902	// non-empty value. This may be used to include null fields in Patch
12903	// requests.
12904	NullFields []string `json:"-"`
12905}
12906
12907func (s *SiteSettings) MarshalJSON() ([]byte, error) {
12908	type NoMethod SiteSettings
12909	raw := NoMethod(*s)
12910	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12911}
12912
12913// SiteSkippableSetting: Skippable Settings
12914type SiteSkippableSetting struct {
12915	// Kind: Identifies what kind of resource this is. Value: the fixed
12916	// string "dfareporting#siteSkippableSetting".
12917	Kind string `json:"kind,omitempty"`
12918
12919	// ProgressOffset: Amount of time to play videos served to this site
12920	// template before counting a view. Applicable when skippable is true.
12921	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
12922
12923	// SkipOffset: Amount of time to play videos served to this site before
12924	// the skip button should appear. Applicable when skippable is true.
12925	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
12926
12927	// Skippable: Whether the user can skip creatives served to this site.
12928	// This will act as default for new placements created under this site.
12929	Skippable bool `json:"skippable,omitempty"`
12930
12931	// ForceSendFields is a list of field names (e.g. "Kind") to
12932	// unconditionally include in API requests. By default, fields with
12933	// empty values are omitted from API requests. However, any non-pointer,
12934	// non-interface field appearing in ForceSendFields will be sent to the
12935	// server regardless of whether the field is empty or not. This may be
12936	// used to include empty fields in Patch requests.
12937	ForceSendFields []string `json:"-"`
12938
12939	// NullFields is a list of field names (e.g. "Kind") to include in API
12940	// requests with the JSON null value. By default, fields with empty
12941	// values are omitted from API requests. However, any field with an
12942	// empty value appearing in NullFields will be sent to the server as
12943	// null. It is an error if a field in this list has a non-empty value.
12944	// This may be used to include null fields in Patch requests.
12945	NullFields []string `json:"-"`
12946}
12947
12948func (s *SiteSkippableSetting) MarshalJSON() ([]byte, error) {
12949	type NoMethod SiteSkippableSetting
12950	raw := NoMethod(*s)
12951	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12952}
12953
12954// SiteTranscodeSetting: Transcode Settings
12955type SiteTranscodeSetting struct {
12956	// EnabledVideoFormats: Whitelist of video formats to be served to this
12957	// site template. Set this list to null or empty to serve all video
12958	// formats.
12959	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
12960
12961	// Kind: Identifies what kind of resource this is. Value: the fixed
12962	// string "dfareporting#siteTranscodeSetting".
12963	Kind string `json:"kind,omitempty"`
12964
12965	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
12966	// to unconditionally include in API requests. By default, fields with
12967	// empty values are omitted from API requests. However, any non-pointer,
12968	// non-interface field appearing in ForceSendFields will be sent to the
12969	// server regardless of whether the field is empty or not. This may be
12970	// used to include empty fields in Patch requests.
12971	ForceSendFields []string `json:"-"`
12972
12973	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
12974	// include in API requests with the JSON null value. By default, fields
12975	// with empty values are omitted from API requests. However, any field
12976	// with an empty value appearing in NullFields will be sent to the
12977	// server as null. It is an error if a field in this list has a
12978	// non-empty value. This may be used to include null fields in Patch
12979	// requests.
12980	NullFields []string `json:"-"`
12981}
12982
12983func (s *SiteTranscodeSetting) MarshalJSON() ([]byte, error) {
12984	type NoMethod SiteTranscodeSetting
12985	raw := NoMethod(*s)
12986	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12987}
12988
12989// SiteVideoSettings: Video Settings
12990type SiteVideoSettings struct {
12991	// CompanionSettings: Settings for the companion creatives of video
12992	// creatives served to this site.
12993	CompanionSettings *SiteCompanionSetting `json:"companionSettings,omitempty"`
12994
12995	// Kind: Identifies what kind of resource this is. Value: the fixed
12996	// string "dfareporting#siteVideoSettings".
12997	Kind string `json:"kind,omitempty"`
12998
12999	// Orientation: Orientation of a site template used for video. This will
13000	// act as default for new placements created under this site.
13001	//
13002	// Possible values:
13003	//   "ANY"
13004	//   "LANDSCAPE"
13005	//   "PORTRAIT"
13006	Orientation string `json:"orientation,omitempty"`
13007
13008	// SkippableSettings: Settings for the skippability of video creatives
13009	// served to this site. This will act as default for new placements
13010	// created under this site.
13011	SkippableSettings *SiteSkippableSetting `json:"skippableSettings,omitempty"`
13012
13013	// TranscodeSettings: Settings for the transcodes of video creatives
13014	// served to this site. This will act as default for new placements
13015	// created under this site.
13016	TranscodeSettings *SiteTranscodeSetting `json:"transcodeSettings,omitempty"`
13017
13018	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
13019	// to unconditionally include in API requests. By default, fields with
13020	// empty values are omitted from API requests. However, any non-pointer,
13021	// non-interface field appearing in ForceSendFields will be sent to the
13022	// server regardless of whether the field is empty or not. This may be
13023	// used to include empty fields in Patch requests.
13024	ForceSendFields []string `json:"-"`
13025
13026	// NullFields is a list of field names (e.g. "CompanionSettings") to
13027	// include in API requests with the JSON null value. By default, fields
13028	// with empty values are omitted from API requests. However, any field
13029	// with an empty value appearing in NullFields will be sent to the
13030	// server as null. It is an error if a field in this list has a
13031	// non-empty value. This may be used to include null fields in Patch
13032	// requests.
13033	NullFields []string `json:"-"`
13034}
13035
13036func (s *SiteVideoSettings) MarshalJSON() ([]byte, error) {
13037	type NoMethod SiteVideoSettings
13038	raw := NoMethod(*s)
13039	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13040}
13041
13042// SitesListResponse: Site List Response
13043type SitesListResponse struct {
13044	// Kind: Identifies what kind of resource this is. Value: the fixed
13045	// string "dfareporting#sitesListResponse".
13046	Kind string `json:"kind,omitempty"`
13047
13048	// NextPageToken: Pagination token to be used for the next list
13049	// operation.
13050	NextPageToken string `json:"nextPageToken,omitempty"`
13051
13052	// Sites: Site collection.
13053	Sites []*Site `json:"sites,omitempty"`
13054
13055	// ServerResponse contains the HTTP response code and headers from the
13056	// server.
13057	googleapi.ServerResponse `json:"-"`
13058
13059	// ForceSendFields is a list of field names (e.g. "Kind") to
13060	// unconditionally include in API requests. By default, fields with
13061	// empty values are omitted from API requests. However, any non-pointer,
13062	// non-interface field appearing in ForceSendFields will be sent to the
13063	// server regardless of whether the field is empty or not. This may be
13064	// used to include empty fields in Patch requests.
13065	ForceSendFields []string `json:"-"`
13066
13067	// NullFields is a list of field names (e.g. "Kind") to include in API
13068	// requests with the JSON null value. By default, fields with empty
13069	// values are omitted from API requests. However, any field with an
13070	// empty value appearing in NullFields will be sent to the server as
13071	// null. It is an error if a field in this list has a non-empty value.
13072	// This may be used to include null fields in Patch requests.
13073	NullFields []string `json:"-"`
13074}
13075
13076func (s *SitesListResponse) MarshalJSON() ([]byte, error) {
13077	type NoMethod SitesListResponse
13078	raw := NoMethod(*s)
13079	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13080}
13081
13082// Size: Represents the dimensions of ads, placements, creatives, or
13083// creative assets.
13084type Size struct {
13085	// Height: Height of this size. Acceptable values are 0 to 32767,
13086	// inclusive.
13087	Height int64 `json:"height,omitempty"`
13088
13089	// Iab: IAB standard size. This is a read-only, auto-generated field.
13090	Iab bool `json:"iab,omitempty"`
13091
13092	// Id: ID of this size. This is a read-only, auto-generated field.
13093	Id int64 `json:"id,omitempty,string"`
13094
13095	// Kind: Identifies what kind of resource this is. Value: the fixed
13096	// string "dfareporting#size".
13097	Kind string `json:"kind,omitempty"`
13098
13099	// Width: Width of this size. Acceptable values are 0 to 32767,
13100	// inclusive.
13101	Width int64 `json:"width,omitempty"`
13102
13103	// ServerResponse contains the HTTP response code and headers from the
13104	// server.
13105	googleapi.ServerResponse `json:"-"`
13106
13107	// ForceSendFields is a list of field names (e.g. "Height") to
13108	// unconditionally include in API requests. By default, fields with
13109	// empty values are omitted from API requests. However, any non-pointer,
13110	// non-interface field appearing in ForceSendFields will be sent to the
13111	// server regardless of whether the field is empty or not. This may be
13112	// used to include empty fields in Patch requests.
13113	ForceSendFields []string `json:"-"`
13114
13115	// NullFields is a list of field names (e.g. "Height") to include in API
13116	// requests with the JSON null value. By default, fields with empty
13117	// values are omitted from API requests. However, any field with an
13118	// empty value appearing in NullFields will be sent to the server as
13119	// null. It is an error if a field in this list has a non-empty value.
13120	// This may be used to include null fields in Patch requests.
13121	NullFields []string `json:"-"`
13122}
13123
13124func (s *Size) MarshalJSON() ([]byte, error) {
13125	type NoMethod Size
13126	raw := NoMethod(*s)
13127	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13128}
13129
13130// SizesListResponse: Size List Response
13131type SizesListResponse struct {
13132	// Kind: Identifies what kind of resource this is. Value: the fixed
13133	// string "dfareporting#sizesListResponse".
13134	Kind string `json:"kind,omitempty"`
13135
13136	// Sizes: Size collection.
13137	Sizes []*Size `json:"sizes,omitempty"`
13138
13139	// ServerResponse contains the HTTP response code and headers from the
13140	// server.
13141	googleapi.ServerResponse `json:"-"`
13142
13143	// ForceSendFields is a list of field names (e.g. "Kind") to
13144	// unconditionally include in API requests. By default, fields with
13145	// empty values are omitted from API requests. However, any non-pointer,
13146	// non-interface field appearing in ForceSendFields will be sent to the
13147	// server regardless of whether the field is empty or not. This may be
13148	// used to include empty fields in Patch requests.
13149	ForceSendFields []string `json:"-"`
13150
13151	// NullFields is a list of field names (e.g. "Kind") to include in API
13152	// requests with the JSON null value. By default, fields with empty
13153	// values are omitted from API requests. However, any field with an
13154	// empty value appearing in NullFields will be sent to the server as
13155	// null. It is an error if a field in this list has a non-empty value.
13156	// This may be used to include null fields in Patch requests.
13157	NullFields []string `json:"-"`
13158}
13159
13160func (s *SizesListResponse) MarshalJSON() ([]byte, error) {
13161	type NoMethod SizesListResponse
13162	raw := NoMethod(*s)
13163	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13164}
13165
13166// SkippableSetting: Skippable Settings
13167type SkippableSetting struct {
13168	// Kind: Identifies what kind of resource this is. Value: the fixed
13169	// string "dfareporting#skippableSetting".
13170	Kind string `json:"kind,omitempty"`
13171
13172	// ProgressOffset: Amount of time to play videos served to this
13173	// placement before counting a view. Applicable when skippable is true.
13174	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
13175
13176	// SkipOffset: Amount of time to play videos served to this placement
13177	// before the skip button should appear. Applicable when skippable is
13178	// true.
13179	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
13180
13181	// Skippable: Whether the user can skip creatives served to this
13182	// placement.
13183	Skippable bool `json:"skippable,omitempty"`
13184
13185	// ForceSendFields is a list of field names (e.g. "Kind") to
13186	// unconditionally include in API requests. By default, fields with
13187	// empty values are omitted from API requests. However, any non-pointer,
13188	// non-interface field appearing in ForceSendFields will be sent to the
13189	// server regardless of whether the field is empty or not. This may be
13190	// used to include empty fields in Patch requests.
13191	ForceSendFields []string `json:"-"`
13192
13193	// NullFields is a list of field names (e.g. "Kind") to include in API
13194	// requests with the JSON null value. By default, fields with empty
13195	// values are omitted from API requests. However, any field with an
13196	// empty value appearing in NullFields will be sent to the server as
13197	// null. It is an error if a field in this list has a non-empty value.
13198	// This may be used to include null fields in Patch requests.
13199	NullFields []string `json:"-"`
13200}
13201
13202func (s *SkippableSetting) MarshalJSON() ([]byte, error) {
13203	type NoMethod SkippableSetting
13204	raw := NoMethod(*s)
13205	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13206}
13207
13208// SortedDimension: Represents a sorted dimension.
13209type SortedDimension struct {
13210	// Kind: The kind of resource this is, in this case
13211	// dfareporting#sortedDimension.
13212	Kind string `json:"kind,omitempty"`
13213
13214	// Name: The name of the dimension.
13215	Name string `json:"name,omitempty"`
13216
13217	// SortOrder: An optional sort order for the dimension column.
13218	//
13219	// Possible values:
13220	//   "ASCENDING"
13221	//   "DESCENDING"
13222	SortOrder string `json:"sortOrder,omitempty"`
13223
13224	// ForceSendFields is a list of field names (e.g. "Kind") to
13225	// unconditionally include in API requests. By default, fields with
13226	// empty values are omitted from API requests. However, any non-pointer,
13227	// non-interface field appearing in ForceSendFields will be sent to the
13228	// server regardless of whether the field is empty or not. This may be
13229	// used to include empty fields in Patch requests.
13230	ForceSendFields []string `json:"-"`
13231
13232	// NullFields is a list of field names (e.g. "Kind") to include in API
13233	// requests with the JSON null value. By default, fields with empty
13234	// values are omitted from API requests. However, any field with an
13235	// empty value appearing in NullFields will be sent to the server as
13236	// null. It is an error if a field in this list has a non-empty value.
13237	// This may be used to include null fields in Patch requests.
13238	NullFields []string `json:"-"`
13239}
13240
13241func (s *SortedDimension) MarshalJSON() ([]byte, error) {
13242	type NoMethod SortedDimension
13243	raw := NoMethod(*s)
13244	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13245}
13246
13247// Subaccount: Contains properties of a Campaign Manager subaccount.
13248type Subaccount struct {
13249	// AccountId: ID of the account that contains this subaccount. This is a
13250	// read-only field that can be left blank.
13251	AccountId int64 `json:"accountId,omitempty,string"`
13252
13253	// AvailablePermissionIds: IDs of the available user role permissions
13254	// for this subaccount.
13255	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
13256
13257	// Id: ID of this subaccount. This is a read-only, auto-generated field.
13258	Id int64 `json:"id,omitempty,string"`
13259
13260	// Kind: Identifies what kind of resource this is. Value: the fixed
13261	// string "dfareporting#subaccount".
13262	Kind string `json:"kind,omitempty"`
13263
13264	// Name: Name of this subaccount. This is a required field. Must be less
13265	// than 128 characters long and be unique among subaccounts of the same
13266	// account.
13267	Name string `json:"name,omitempty"`
13268
13269	// ServerResponse contains the HTTP response code and headers from the
13270	// server.
13271	googleapi.ServerResponse `json:"-"`
13272
13273	// ForceSendFields is a list of field names (e.g. "AccountId") to
13274	// unconditionally include in API requests. By default, fields with
13275	// empty values are omitted from API requests. However, any non-pointer,
13276	// non-interface field appearing in ForceSendFields will be sent to the
13277	// server regardless of whether the field is empty or not. This may be
13278	// used to include empty fields in Patch requests.
13279	ForceSendFields []string `json:"-"`
13280
13281	// NullFields is a list of field names (e.g. "AccountId") to include in
13282	// API requests with the JSON null value. By default, fields with empty
13283	// values are omitted from API requests. However, any field with an
13284	// empty value appearing in NullFields will be sent to the server as
13285	// null. It is an error if a field in this list has a non-empty value.
13286	// This may be used to include null fields in Patch requests.
13287	NullFields []string `json:"-"`
13288}
13289
13290func (s *Subaccount) MarshalJSON() ([]byte, error) {
13291	type NoMethod Subaccount
13292	raw := NoMethod(*s)
13293	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13294}
13295
13296// SubaccountsListResponse: Subaccount List Response
13297type SubaccountsListResponse struct {
13298	// Kind: Identifies what kind of resource this is. Value: the fixed
13299	// string "dfareporting#subaccountsListResponse".
13300	Kind string `json:"kind,omitempty"`
13301
13302	// NextPageToken: Pagination token to be used for the next list
13303	// operation.
13304	NextPageToken string `json:"nextPageToken,omitempty"`
13305
13306	// Subaccounts: Subaccount collection.
13307	Subaccounts []*Subaccount `json:"subaccounts,omitempty"`
13308
13309	// ServerResponse contains the HTTP response code and headers from the
13310	// server.
13311	googleapi.ServerResponse `json:"-"`
13312
13313	// ForceSendFields is a list of field names (e.g. "Kind") to
13314	// unconditionally include in API requests. By default, fields with
13315	// empty values are omitted from API requests. However, any non-pointer,
13316	// non-interface field appearing in ForceSendFields will be sent to the
13317	// server regardless of whether the field is empty or not. This may be
13318	// used to include empty fields in Patch requests.
13319	ForceSendFields []string `json:"-"`
13320
13321	// NullFields is a list of field names (e.g. "Kind") to include in API
13322	// requests with the JSON null value. By default, fields with empty
13323	// values are omitted from API requests. However, any field with an
13324	// empty value appearing in NullFields will be sent to the server as
13325	// null. It is an error if a field in this list has a non-empty value.
13326	// This may be used to include null fields in Patch requests.
13327	NullFields []string `json:"-"`
13328}
13329
13330func (s *SubaccountsListResponse) MarshalJSON() ([]byte, error) {
13331	type NoMethod SubaccountsListResponse
13332	raw := NoMethod(*s)
13333	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13334}
13335
13336// TagData: Placement Tag Data
13337type TagData struct {
13338	// AdId: Ad associated with this placement tag. Applicable only when
13339	// format is PLACEMENT_TAG_TRACKING.
13340	AdId int64 `json:"adId,omitempty,string"`
13341
13342	// ClickTag: Tag string to record a click.
13343	ClickTag string `json:"clickTag,omitempty"`
13344
13345	// CreativeId: Creative associated with this placement tag. Applicable
13346	// only when format is PLACEMENT_TAG_TRACKING.
13347	CreativeId int64 `json:"creativeId,omitempty,string"`
13348
13349	// Format: TagData tag format of this tag.
13350	//
13351	// Possible values:
13352	//   "PLACEMENT_TAG_CLICK_COMMANDS"
13353	//   "PLACEMENT_TAG_IFRAME_ILAYER"
13354	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
13355	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
13356	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
13357	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
13358	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
13359	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
13360	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
13361	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
13362	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
13363	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
13364	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
13365	//   "PLACEMENT_TAG_JAVASCRIPT"
13366	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
13367	//   "PLACEMENT_TAG_STANDARD"
13368	//   "PLACEMENT_TAG_TRACKING"
13369	//   "PLACEMENT_TAG_TRACKING_IFRAME"
13370	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
13371	Format string `json:"format,omitempty"`
13372
13373	// ImpressionTag: Tag string for serving an ad.
13374	ImpressionTag string `json:"impressionTag,omitempty"`
13375
13376	// ForceSendFields is a list of field names (e.g. "AdId") to
13377	// unconditionally include in API requests. By default, fields with
13378	// empty values are omitted from API requests. However, any non-pointer,
13379	// non-interface field appearing in ForceSendFields will be sent to the
13380	// server regardless of whether the field is empty or not. This may be
13381	// used to include empty fields in Patch requests.
13382	ForceSendFields []string `json:"-"`
13383
13384	// NullFields is a list of field names (e.g. "AdId") to include in API
13385	// requests with the JSON null value. By default, fields with empty
13386	// values are omitted from API requests. However, any field with an
13387	// empty value appearing in NullFields will be sent to the server as
13388	// null. It is an error if a field in this list has a non-empty value.
13389	// This may be used to include null fields in Patch requests.
13390	NullFields []string `json:"-"`
13391}
13392
13393func (s *TagData) MarshalJSON() ([]byte, error) {
13394	type NoMethod TagData
13395	raw := NoMethod(*s)
13396	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13397}
13398
13399// TagSetting: Tag Settings
13400type TagSetting struct {
13401	// AdditionalKeyValues: Additional key-values to be included in tags.
13402	// Each key-value pair must be of the form key=value, and pairs must be
13403	// separated by a semicolon (;). Keys and values must not contain
13404	// commas. For example, id=2;color=red is a valid value for this field.
13405	AdditionalKeyValues string `json:"additionalKeyValues,omitempty"`
13406
13407	// IncludeClickThroughUrls: Whether static landing page URLs should be
13408	// included in the tags. This setting applies only to placements.
13409	IncludeClickThroughUrls bool `json:"includeClickThroughUrls,omitempty"`
13410
13411	// IncludeClickTracking: Whether click-tracking string should be
13412	// included in the tags.
13413	IncludeClickTracking bool `json:"includeClickTracking,omitempty"`
13414
13415	// KeywordOption: Option specifying how keywords are embedded in ad
13416	// tags. This setting can be used to specify whether keyword
13417	// placeholders are inserted in placement tags for this site. Publishers
13418	// can then add keywords to those placeholders.
13419	//
13420	// Possible values:
13421	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
13422	//   "IGNORE"
13423	//   "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
13424	KeywordOption string `json:"keywordOption,omitempty"`
13425
13426	// ForceSendFields is a list of field names (e.g. "AdditionalKeyValues")
13427	// to unconditionally include in API requests. By default, fields with
13428	// empty values are omitted from API requests. However, any non-pointer,
13429	// non-interface field appearing in ForceSendFields will be sent to the
13430	// server regardless of whether the field is empty or not. This may be
13431	// used to include empty fields in Patch requests.
13432	ForceSendFields []string `json:"-"`
13433
13434	// NullFields is a list of field names (e.g. "AdditionalKeyValues") to
13435	// include in API requests with the JSON null value. By default, fields
13436	// with empty values are omitted from API requests. However, any field
13437	// with an empty value appearing in NullFields will be sent to the
13438	// server as null. It is an error if a field in this list has a
13439	// non-empty value. This may be used to include null fields in Patch
13440	// requests.
13441	NullFields []string `json:"-"`
13442}
13443
13444func (s *TagSetting) MarshalJSON() ([]byte, error) {
13445	type NoMethod TagSetting
13446	raw := NoMethod(*s)
13447	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13448}
13449
13450// TagSettings: Dynamic and Image Tag Settings.
13451type TagSettings struct {
13452	// DynamicTagEnabled: Whether dynamic floodlight tags are enabled.
13453	DynamicTagEnabled bool `json:"dynamicTagEnabled,omitempty"`
13454
13455	// ImageTagEnabled: Whether image tags are enabled.
13456	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
13457
13458	// ForceSendFields is a list of field names (e.g. "DynamicTagEnabled")
13459	// to unconditionally include in API requests. By default, fields with
13460	// empty values are omitted from API requests. However, any non-pointer,
13461	// non-interface field appearing in ForceSendFields will be sent to the
13462	// server regardless of whether the field is empty or not. This may be
13463	// used to include empty fields in Patch requests.
13464	ForceSendFields []string `json:"-"`
13465
13466	// NullFields is a list of field names (e.g. "DynamicTagEnabled") to
13467	// include in API requests with the JSON null value. By default, fields
13468	// with empty values are omitted from API requests. However, any field
13469	// with an empty value appearing in NullFields will be sent to the
13470	// server as null. It is an error if a field in this list has a
13471	// non-empty value. This may be used to include null fields in Patch
13472	// requests.
13473	NullFields []string `json:"-"`
13474}
13475
13476func (s *TagSettings) MarshalJSON() ([]byte, error) {
13477	type NoMethod TagSettings
13478	raw := NoMethod(*s)
13479	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13480}
13481
13482// TargetWindow: Target Window.
13483type TargetWindow struct {
13484	// CustomHtml: User-entered value.
13485	CustomHtml string `json:"customHtml,omitempty"`
13486
13487	// TargetWindowOption: Type of browser window for which the backup image
13488	// of the flash creative can be displayed.
13489	//
13490	// Possible values:
13491	//   "CURRENT_WINDOW"
13492	//   "CUSTOM"
13493	//   "NEW_WINDOW"
13494	TargetWindowOption string `json:"targetWindowOption,omitempty"`
13495
13496	// ForceSendFields is a list of field names (e.g. "CustomHtml") to
13497	// unconditionally include in API requests. By default, fields with
13498	// empty values are omitted from API requests. However, any non-pointer,
13499	// non-interface field appearing in ForceSendFields will be sent to the
13500	// server regardless of whether the field is empty or not. This may be
13501	// used to include empty fields in Patch requests.
13502	ForceSendFields []string `json:"-"`
13503
13504	// NullFields is a list of field names (e.g. "CustomHtml") to include in
13505	// API requests with the JSON null value. By default, fields with empty
13506	// values are omitted from API requests. However, any field with an
13507	// empty value appearing in NullFields will be sent to the server as
13508	// null. It is an error if a field in this list has a non-empty value.
13509	// This may be used to include null fields in Patch requests.
13510	NullFields []string `json:"-"`
13511}
13512
13513func (s *TargetWindow) MarshalJSON() ([]byte, error) {
13514	type NoMethod TargetWindow
13515	raw := NoMethod(*s)
13516	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13517}
13518
13519// TargetableRemarketingList: Contains properties of a targetable
13520// remarketing list. Remarketing enables you to create lists of users
13521// who have performed specific actions on a site, then target ads to
13522// members of those lists. This resource is a read-only view of a
13523// remarketing list to be used to faciliate targeting ads to specific
13524// lists. Remarketing lists that are owned by your advertisers and those
13525// that are shared to your advertisers or account are accessible via
13526// this resource. To manage remarketing lists that are owned by your
13527// advertisers, use the RemarketingLists resource.
13528type TargetableRemarketingList struct {
13529	// AccountId: Account ID of this remarketing list. This is a read-only,
13530	// auto-generated field that is only returned in GET requests.
13531	AccountId int64 `json:"accountId,omitempty,string"`
13532
13533	// Active: Whether this targetable remarketing list is active.
13534	Active bool `json:"active,omitempty"`
13535
13536	// AdvertiserId: Dimension value for the advertiser ID that owns this
13537	// targetable remarketing list.
13538	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
13539
13540	// AdvertiserIdDimensionValue: Dimension value for the ID of the
13541	// advertiser.
13542	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
13543
13544	// Description: Targetable remarketing list description.
13545	Description string `json:"description,omitempty"`
13546
13547	// Id: Targetable remarketing list ID.
13548	Id int64 `json:"id,omitempty,string"`
13549
13550	// Kind: Identifies what kind of resource this is. Value: the fixed
13551	// string "dfareporting#targetableRemarketingList".
13552	Kind string `json:"kind,omitempty"`
13553
13554	// LifeSpan: Number of days that a user should remain in the targetable
13555	// remarketing list without an impression.
13556	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
13557
13558	// ListSize: Number of users currently in the list. This is a read-only
13559	// field.
13560	ListSize int64 `json:"listSize,omitempty,string"`
13561
13562	// ListSource: Product from which this targetable remarketing list was
13563	// originated.
13564	//
13565	// Possible values:
13566	//   "REMARKETING_LIST_SOURCE_ADX"
13567	//   "REMARKETING_LIST_SOURCE_DBM"
13568	//   "REMARKETING_LIST_SOURCE_DFA"
13569	//   "REMARKETING_LIST_SOURCE_DFP"
13570	//   "REMARKETING_LIST_SOURCE_DMP"
13571	//   "REMARKETING_LIST_SOURCE_GA"
13572	//   "REMARKETING_LIST_SOURCE_GPLUS"
13573	//   "REMARKETING_LIST_SOURCE_OTHER"
13574	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
13575	//   "REMARKETING_LIST_SOURCE_XFP"
13576	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
13577	ListSource string `json:"listSource,omitempty"`
13578
13579	// Name: Name of the targetable remarketing list. Is no greater than 128
13580	// characters long.
13581	Name string `json:"name,omitempty"`
13582
13583	// SubaccountId: Subaccount ID of this remarketing list. This is a
13584	// read-only, auto-generated field that is only returned in GET
13585	// requests.
13586	SubaccountId int64 `json:"subaccountId,omitempty,string"`
13587
13588	// ServerResponse contains the HTTP response code and headers from the
13589	// server.
13590	googleapi.ServerResponse `json:"-"`
13591
13592	// ForceSendFields is a list of field names (e.g. "AccountId") to
13593	// unconditionally include in API requests. By default, fields with
13594	// empty values are omitted from API requests. However, any non-pointer,
13595	// non-interface field appearing in ForceSendFields will be sent to the
13596	// server regardless of whether the field is empty or not. This may be
13597	// used to include empty fields in Patch requests.
13598	ForceSendFields []string `json:"-"`
13599
13600	// NullFields is a list of field names (e.g. "AccountId") to include in
13601	// API requests with the JSON null value. By default, fields with empty
13602	// values are omitted from API requests. However, any field with an
13603	// empty value appearing in NullFields will be sent to the server as
13604	// null. It is an error if a field in this list has a non-empty value.
13605	// This may be used to include null fields in Patch requests.
13606	NullFields []string `json:"-"`
13607}
13608
13609func (s *TargetableRemarketingList) MarshalJSON() ([]byte, error) {
13610	type NoMethod TargetableRemarketingList
13611	raw := NoMethod(*s)
13612	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13613}
13614
13615// TargetableRemarketingListsListResponse: Targetable remarketing list
13616// response
13617type TargetableRemarketingListsListResponse struct {
13618	// Kind: Identifies what kind of resource this is. Value: the fixed
13619	// string "dfareporting#targetableRemarketingListsListResponse".
13620	Kind string `json:"kind,omitempty"`
13621
13622	// NextPageToken: Pagination token to be used for the next list
13623	// operation.
13624	NextPageToken string `json:"nextPageToken,omitempty"`
13625
13626	// TargetableRemarketingLists: Targetable remarketing list collection.
13627	TargetableRemarketingLists []*TargetableRemarketingList `json:"targetableRemarketingLists,omitempty"`
13628
13629	// ServerResponse contains the HTTP response code and headers from the
13630	// server.
13631	googleapi.ServerResponse `json:"-"`
13632
13633	// ForceSendFields is a list of field names (e.g. "Kind") to
13634	// unconditionally include in API requests. By default, fields with
13635	// empty values are omitted from API requests. However, any non-pointer,
13636	// non-interface field appearing in ForceSendFields will be sent to the
13637	// server regardless of whether the field is empty or not. This may be
13638	// used to include empty fields in Patch requests.
13639	ForceSendFields []string `json:"-"`
13640
13641	// NullFields is a list of field names (e.g. "Kind") to include in API
13642	// requests with the JSON null value. By default, fields with empty
13643	// values are omitted from API requests. However, any field with an
13644	// empty value appearing in NullFields will be sent to the server as
13645	// null. It is an error if a field in this list has a non-empty value.
13646	// This may be used to include null fields in Patch requests.
13647	NullFields []string `json:"-"`
13648}
13649
13650func (s *TargetableRemarketingListsListResponse) MarshalJSON() ([]byte, error) {
13651	type NoMethod TargetableRemarketingListsListResponse
13652	raw := NoMethod(*s)
13653	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13654}
13655
13656// TargetingTemplate: Contains properties of a targeting template. A
13657// targeting template encapsulates targeting information which can be
13658// reused across multiple ads.
13659type TargetingTemplate struct {
13660	// AccountId: Account ID of this targeting template. This field, if left
13661	// unset, will be auto-generated on insert and is read-only after
13662	// insert.
13663	AccountId int64 `json:"accountId,omitempty,string"`
13664
13665	// AdvertiserId: Advertiser ID of this targeting template. This is a
13666	// required field on insert and is read-only after insert.
13667	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
13668
13669	// AdvertiserIdDimensionValue: Dimension value for the ID of the
13670	// advertiser. This is a read-only, auto-generated field.
13671	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
13672
13673	// DayPartTargeting: Time and day targeting criteria.
13674	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
13675
13676	// GeoTargeting: Geographical targeting criteria.
13677	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
13678
13679	// Id: ID of this targeting template. This is a read-only,
13680	// auto-generated field.
13681	Id int64 `json:"id,omitempty,string"`
13682
13683	// KeyValueTargetingExpression: Key-value targeting criteria.
13684	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
13685
13686	// Kind: Identifies what kind of resource this is. Value: the fixed
13687	// string "dfareporting#targetingTemplate".
13688	Kind string `json:"kind,omitempty"`
13689
13690	// LanguageTargeting: Language targeting criteria.
13691	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
13692
13693	// ListTargetingExpression: Remarketing list targeting criteria.
13694	ListTargetingExpression *ListTargetingExpression `json:"listTargetingExpression,omitempty"`
13695
13696	// Name: Name of this targeting template. This field is required. It
13697	// must be less than 256 characters long and unique within an
13698	// advertiser.
13699	Name string `json:"name,omitempty"`
13700
13701	// SubaccountId: Subaccount ID of this targeting template. This field,
13702	// if left unset, will be auto-generated on insert and is read-only
13703	// after insert.
13704	SubaccountId int64 `json:"subaccountId,omitempty,string"`
13705
13706	// TechnologyTargeting: Technology platform targeting criteria.
13707	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
13708
13709	// ServerResponse contains the HTTP response code and headers from the
13710	// server.
13711	googleapi.ServerResponse `json:"-"`
13712
13713	// ForceSendFields is a list of field names (e.g. "AccountId") to
13714	// unconditionally include in API requests. By default, fields with
13715	// empty values are omitted from API requests. However, any non-pointer,
13716	// non-interface field appearing in ForceSendFields will be sent to the
13717	// server regardless of whether the field is empty or not. This may be
13718	// used to include empty fields in Patch requests.
13719	ForceSendFields []string `json:"-"`
13720
13721	// NullFields is a list of field names (e.g. "AccountId") to include in
13722	// API requests with the JSON null value. By default, fields with empty
13723	// values are omitted from API requests. However, any field with an
13724	// empty value appearing in NullFields will be sent to the server as
13725	// null. It is an error if a field in this list has a non-empty value.
13726	// This may be used to include null fields in Patch requests.
13727	NullFields []string `json:"-"`
13728}
13729
13730func (s *TargetingTemplate) MarshalJSON() ([]byte, error) {
13731	type NoMethod TargetingTemplate
13732	raw := NoMethod(*s)
13733	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13734}
13735
13736// TargetingTemplatesListResponse: Targeting Template List Response
13737type TargetingTemplatesListResponse struct {
13738	// Kind: Identifies what kind of resource this is. Value: the fixed
13739	// string "dfareporting#targetingTemplatesListResponse".
13740	Kind string `json:"kind,omitempty"`
13741
13742	// NextPageToken: Pagination token to be used for the next list
13743	// operation.
13744	NextPageToken string `json:"nextPageToken,omitempty"`
13745
13746	// TargetingTemplates: Targeting template collection.
13747	TargetingTemplates []*TargetingTemplate `json:"targetingTemplates,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 *TargetingTemplatesListResponse) MarshalJSON() ([]byte, error) {
13771	type NoMethod TargetingTemplatesListResponse
13772	raw := NoMethod(*s)
13773	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13774}
13775
13776// TechnologyTargeting: Technology Targeting.
13777type TechnologyTargeting struct {
13778	// Browsers: Browsers that this ad targets. For each browser either set
13779	// browserVersionId or dartId along with the version numbers. If both
13780	// are specified, only browserVersionId will be used. The other fields
13781	// are populated automatically when the ad is inserted or updated.
13782	Browsers []*Browser `json:"browsers,omitempty"`
13783
13784	// ConnectionTypes: Connection types that this ad targets. For each
13785	// connection type only id is required. The other fields are populated
13786	// automatically when the ad is inserted or updated.
13787	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
13788
13789	// MobileCarriers: Mobile carriers that this ad targets. For each mobile
13790	// carrier only id is required, and the other fields are populated
13791	// automatically when the ad is inserted or updated. If targeting a
13792	// mobile carrier, do not set targeting for any zip codes.
13793	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
13794
13795	// OperatingSystemVersions: Operating system versions that this ad
13796	// targets. To target all versions, use operatingSystems. For each
13797	// operating system version, only id is required. The other fields are
13798	// populated automatically when the ad is inserted or updated. If
13799	// targeting an operating system version, do not set targeting for the
13800	// corresponding operating system in operatingSystems.
13801	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
13802
13803	// OperatingSystems: Operating systems that this ad targets. To target
13804	// specific versions, use operatingSystemVersions. For each operating
13805	// system only dartId is required. The other fields are populated
13806	// automatically when the ad is inserted or updated. If targeting an
13807	// operating system, do not set targeting for operating system versions
13808	// for the same operating system.
13809	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
13810
13811	// PlatformTypes: Platform types that this ad targets. For example,
13812	// desktop, mobile, or tablet. For each platform type, only id is
13813	// required, and the other fields are populated automatically when the
13814	// ad is inserted or updated.
13815	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
13816
13817	// ForceSendFields is a list of field names (e.g. "Browsers") to
13818	// unconditionally include in API requests. By default, fields with
13819	// empty values are omitted from API requests. However, any non-pointer,
13820	// non-interface field appearing in ForceSendFields will be sent to the
13821	// server regardless of whether the field is empty or not. This may be
13822	// used to include empty fields in Patch requests.
13823	ForceSendFields []string `json:"-"`
13824
13825	// NullFields is a list of field names (e.g. "Browsers") to include in
13826	// API requests with the JSON null value. By default, fields with empty
13827	// values are omitted from API requests. However, any field with an
13828	// empty value appearing in NullFields will be sent to the server as
13829	// null. It is an error if a field in this list has a non-empty value.
13830	// This may be used to include null fields in Patch requests.
13831	NullFields []string `json:"-"`
13832}
13833
13834func (s *TechnologyTargeting) MarshalJSON() ([]byte, error) {
13835	type NoMethod TechnologyTargeting
13836	raw := NoMethod(*s)
13837	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13838}
13839
13840// ThirdPartyAuthenticationToken: Third Party Authentication Token
13841type ThirdPartyAuthenticationToken struct {
13842	// Name: Name of the third-party authentication token.
13843	Name string `json:"name,omitempty"`
13844
13845	// Value: Value of the third-party authentication token. This is a
13846	// read-only, auto-generated field.
13847	Value string `json:"value,omitempty"`
13848
13849	// ForceSendFields is a list of field names (e.g. "Name") to
13850	// unconditionally include in API requests. By default, fields with
13851	// empty values are omitted from API requests. However, any non-pointer,
13852	// non-interface field appearing in ForceSendFields will be sent to the
13853	// server regardless of whether the field is empty or not. This may be
13854	// used to include empty fields in Patch requests.
13855	ForceSendFields []string `json:"-"`
13856
13857	// NullFields is a list of field names (e.g. "Name") to include in API
13858	// requests with the JSON null value. By default, fields with empty
13859	// values are omitted from API requests. However, any field with an
13860	// empty value appearing in NullFields will be sent to the server as
13861	// null. It is an error if a field in this list has a non-empty value.
13862	// This may be used to include null fields in Patch requests.
13863	NullFields []string `json:"-"`
13864}
13865
13866func (s *ThirdPartyAuthenticationToken) MarshalJSON() ([]byte, error) {
13867	type NoMethod ThirdPartyAuthenticationToken
13868	raw := NoMethod(*s)
13869	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13870}
13871
13872// ThirdPartyTrackingUrl: Third-party Tracking URL.
13873type ThirdPartyTrackingUrl struct {
13874	// ThirdPartyUrlType: Third-party URL type for in-stream video and
13875	// in-stream audio creatives.
13876	//
13877	// Possible values:
13878	//   "CLICK_TRACKING"
13879	//   "IMPRESSION"
13880	//   "RICH_MEDIA_BACKUP_IMPRESSION"
13881	//   "RICH_MEDIA_IMPRESSION"
13882	//   "RICH_MEDIA_RM_IMPRESSION"
13883	//   "SURVEY"
13884	//   "VIDEO_COMPLETE"
13885	//   "VIDEO_CUSTOM"
13886	//   "VIDEO_FIRST_QUARTILE"
13887	//   "VIDEO_FULLSCREEN"
13888	//   "VIDEO_MIDPOINT"
13889	//   "VIDEO_MUTE"
13890	//   "VIDEO_PAUSE"
13891	//   "VIDEO_PROGRESS"
13892	//   "VIDEO_REWIND"
13893	//   "VIDEO_SKIP"
13894	//   "VIDEO_START"
13895	//   "VIDEO_STOP"
13896	//   "VIDEO_THIRD_QUARTILE"
13897	ThirdPartyUrlType string `json:"thirdPartyUrlType,omitempty"`
13898
13899	// Url: URL for the specified third-party URL type.
13900	Url string `json:"url,omitempty"`
13901
13902	// ForceSendFields is a list of field names (e.g. "ThirdPartyUrlType")
13903	// to unconditionally include in API requests. By default, fields with
13904	// empty values are omitted from API requests. However, any non-pointer,
13905	// non-interface field appearing in ForceSendFields will be sent to the
13906	// server regardless of whether the field is empty or not. This may be
13907	// used to include empty fields in Patch requests.
13908	ForceSendFields []string `json:"-"`
13909
13910	// NullFields is a list of field names (e.g. "ThirdPartyUrlType") to
13911	// include in API requests with the JSON null value. By default, fields
13912	// with empty values are omitted from API requests. However, any field
13913	// with an empty value appearing in NullFields will be sent to the
13914	// server as null. It is an error if a field in this list has a
13915	// non-empty value. This may be used to include null fields in Patch
13916	// requests.
13917	NullFields []string `json:"-"`
13918}
13919
13920func (s *ThirdPartyTrackingUrl) MarshalJSON() ([]byte, error) {
13921	type NoMethod ThirdPartyTrackingUrl
13922	raw := NoMethod(*s)
13923	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13924}
13925
13926// TranscodeSetting: Transcode Settings
13927type TranscodeSetting struct {
13928	// EnabledVideoFormats: Whitelist of video formats to be served to this
13929	// placement. Set this list to null or empty to serve all video formats.
13930	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
13931
13932	// Kind: Identifies what kind of resource this is. Value: the fixed
13933	// string "dfareporting#transcodeSetting".
13934	Kind string `json:"kind,omitempty"`
13935
13936	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
13937	// to unconditionally include in API requests. By default, fields with
13938	// empty values are omitted from API requests. However, any non-pointer,
13939	// non-interface field appearing in ForceSendFields will be sent to the
13940	// server regardless of whether the field is empty or not. This may be
13941	// used to include empty fields in Patch requests.
13942	ForceSendFields []string `json:"-"`
13943
13944	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
13945	// include in API requests with the JSON null value. By default, fields
13946	// with empty values are omitted from API requests. However, any field
13947	// with an empty value appearing in NullFields will be sent to the
13948	// server as null. It is an error if a field in this list has a
13949	// non-empty value. This may be used to include null fields in Patch
13950	// requests.
13951	NullFields []string `json:"-"`
13952}
13953
13954func (s *TranscodeSetting) MarshalJSON() ([]byte, error) {
13955	type NoMethod TranscodeSetting
13956	raw := NoMethod(*s)
13957	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13958}
13959
13960// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
13961// to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and
13962// VPAID.
13963type UniversalAdId struct {
13964	// Registry: Registry used for the Ad ID value.
13965	//
13966	// Possible values:
13967	//   "AD_ID.ORG"
13968	//   "CLEARCAST"
13969	//   "DCM"
13970	//   "OTHER"
13971	Registry string `json:"registry,omitempty"`
13972
13973	// Value: ID value for this creative. Only alphanumeric characters and
13974	// the following symbols are valid: "_/\-". Maximum length is 64
13975	// characters. Read only when registry is DCM.
13976	Value string `json:"value,omitempty"`
13977
13978	// ForceSendFields is a list of field names (e.g. "Registry") to
13979	// unconditionally include in API requests. By default, fields with
13980	// empty values are omitted from API requests. However, any non-pointer,
13981	// non-interface field appearing in ForceSendFields will be sent to the
13982	// server regardless of whether the field is empty or not. This may be
13983	// used to include empty fields in Patch requests.
13984	ForceSendFields []string `json:"-"`
13985
13986	// NullFields is a list of field names (e.g. "Registry") to include in
13987	// API requests with the JSON null value. By default, fields with empty
13988	// values are omitted from API requests. However, any field with an
13989	// empty value appearing in NullFields will be sent to the server as
13990	// null. It is an error if a field in this list has a non-empty value.
13991	// This may be used to include null fields in Patch requests.
13992	NullFields []string `json:"-"`
13993}
13994
13995func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
13996	type NoMethod UniversalAdId
13997	raw := NoMethod(*s)
13998	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13999}
14000
14001// UserDefinedVariableConfiguration: User Defined Variable
14002// configuration.
14003type UserDefinedVariableConfiguration struct {
14004	// DataType: Data type for the variable. This is a required field.
14005	//
14006	// Possible values:
14007	//   "NUMBER"
14008	//   "STRING"
14009	DataType string `json:"dataType,omitempty"`
14010
14011	// ReportName: User-friendly name for the variable which will appear in
14012	// reports. This is a required field, must be less than 64 characters
14013	// long, and cannot contain the following characters: ""<>".
14014	ReportName string `json:"reportName,omitempty"`
14015
14016	// VariableType: Variable name in the tag. This is a required field.
14017	//
14018	// Possible values:
14019	//   "U1"
14020	//   "U10"
14021	//   "U100"
14022	//   "U11"
14023	//   "U12"
14024	//   "U13"
14025	//   "U14"
14026	//   "U15"
14027	//   "U16"
14028	//   "U17"
14029	//   "U18"
14030	//   "U19"
14031	//   "U2"
14032	//   "U20"
14033	//   "U21"
14034	//   "U22"
14035	//   "U23"
14036	//   "U24"
14037	//   "U25"
14038	//   "U26"
14039	//   "U27"
14040	//   "U28"
14041	//   "U29"
14042	//   "U3"
14043	//   "U30"
14044	//   "U31"
14045	//   "U32"
14046	//   "U33"
14047	//   "U34"
14048	//   "U35"
14049	//   "U36"
14050	//   "U37"
14051	//   "U38"
14052	//   "U39"
14053	//   "U4"
14054	//   "U40"
14055	//   "U41"
14056	//   "U42"
14057	//   "U43"
14058	//   "U44"
14059	//   "U45"
14060	//   "U46"
14061	//   "U47"
14062	//   "U48"
14063	//   "U49"
14064	//   "U5"
14065	//   "U50"
14066	//   "U51"
14067	//   "U52"
14068	//   "U53"
14069	//   "U54"
14070	//   "U55"
14071	//   "U56"
14072	//   "U57"
14073	//   "U58"
14074	//   "U59"
14075	//   "U6"
14076	//   "U60"
14077	//   "U61"
14078	//   "U62"
14079	//   "U63"
14080	//   "U64"
14081	//   "U65"
14082	//   "U66"
14083	//   "U67"
14084	//   "U68"
14085	//   "U69"
14086	//   "U7"
14087	//   "U70"
14088	//   "U71"
14089	//   "U72"
14090	//   "U73"
14091	//   "U74"
14092	//   "U75"
14093	//   "U76"
14094	//   "U77"
14095	//   "U78"
14096	//   "U79"
14097	//   "U8"
14098	//   "U80"
14099	//   "U81"
14100	//   "U82"
14101	//   "U83"
14102	//   "U84"
14103	//   "U85"
14104	//   "U86"
14105	//   "U87"
14106	//   "U88"
14107	//   "U89"
14108	//   "U9"
14109	//   "U90"
14110	//   "U91"
14111	//   "U92"
14112	//   "U93"
14113	//   "U94"
14114	//   "U95"
14115	//   "U96"
14116	//   "U97"
14117	//   "U98"
14118	//   "U99"
14119	VariableType string `json:"variableType,omitempty"`
14120
14121	// ForceSendFields is a list of field names (e.g. "DataType") to
14122	// unconditionally include in API requests. By default, fields with
14123	// empty values are omitted from API requests. However, any non-pointer,
14124	// non-interface field appearing in ForceSendFields will be sent to the
14125	// server regardless of whether the field is empty or not. This may be
14126	// used to include empty fields in Patch requests.
14127	ForceSendFields []string `json:"-"`
14128
14129	// NullFields is a list of field names (e.g. "DataType") to include in
14130	// API requests with the JSON null value. By default, fields with empty
14131	// values are omitted from API requests. However, any field with an
14132	// empty value appearing in NullFields will be sent to the server as
14133	// null. It is an error if a field in this list has a non-empty value.
14134	// This may be used to include null fields in Patch requests.
14135	NullFields []string `json:"-"`
14136}
14137
14138func (s *UserDefinedVariableConfiguration) MarshalJSON() ([]byte, error) {
14139	type NoMethod UserDefinedVariableConfiguration
14140	raw := NoMethod(*s)
14141	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14142}
14143
14144// UserProfile: Represents a UserProfile resource.
14145type UserProfile struct {
14146	// AccountId: The account ID to which this profile belongs.
14147	AccountId int64 `json:"accountId,omitempty,string"`
14148
14149	// AccountName: The account name this profile belongs to.
14150	AccountName string `json:"accountName,omitempty"`
14151
14152	// Etag: The eTag of this response for caching purposes.
14153	Etag string `json:"etag,omitempty"`
14154
14155	// Kind: The kind of resource this is, in this case
14156	// dfareporting#userProfile.
14157	Kind string `json:"kind,omitempty"`
14158
14159	// ProfileId: The unique ID of the user profile.
14160	ProfileId int64 `json:"profileId,omitempty,string"`
14161
14162	// SubAccountId: The sub account ID this profile belongs to if
14163	// applicable.
14164	SubAccountId int64 `json:"subAccountId,omitempty,string"`
14165
14166	// SubAccountName: The sub account name this profile belongs to if
14167	// applicable.
14168	SubAccountName string `json:"subAccountName,omitempty"`
14169
14170	// UserName: The user name.
14171	UserName string `json:"userName,omitempty"`
14172
14173	// ServerResponse contains the HTTP response code and headers from the
14174	// server.
14175	googleapi.ServerResponse `json:"-"`
14176
14177	// ForceSendFields is a list of field names (e.g. "AccountId") to
14178	// unconditionally include in API requests. By default, fields with
14179	// empty values are omitted from API requests. However, any non-pointer,
14180	// non-interface field appearing in ForceSendFields will be sent to the
14181	// server regardless of whether the field is empty or not. This may be
14182	// used to include empty fields in Patch requests.
14183	ForceSendFields []string `json:"-"`
14184
14185	// NullFields is a list of field names (e.g. "AccountId") to include in
14186	// API requests with the JSON null value. By default, fields with empty
14187	// values are omitted from API requests. However, any field with an
14188	// empty value appearing in NullFields will be sent to the server as
14189	// null. It is an error if a field in this list has a non-empty value.
14190	// This may be used to include null fields in Patch requests.
14191	NullFields []string `json:"-"`
14192}
14193
14194func (s *UserProfile) MarshalJSON() ([]byte, error) {
14195	type NoMethod UserProfile
14196	raw := NoMethod(*s)
14197	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14198}
14199
14200// UserProfileList: Represents the list of user profiles.
14201type UserProfileList struct {
14202	// Etag: The eTag of this response for caching purposes.
14203	Etag string `json:"etag,omitempty"`
14204
14205	// Items: The user profiles returned in this response.
14206	Items []*UserProfile `json:"items,omitempty"`
14207
14208	// Kind: The kind of list this is, in this case
14209	// dfareporting#userProfileList.
14210	Kind string `json:"kind,omitempty"`
14211
14212	// ServerResponse contains the HTTP response code and headers from the
14213	// server.
14214	googleapi.ServerResponse `json:"-"`
14215
14216	// ForceSendFields is a list of field names (e.g. "Etag") to
14217	// unconditionally include in API requests. By default, fields with
14218	// empty values are omitted from API requests. However, any non-pointer,
14219	// non-interface field appearing in ForceSendFields will be sent to the
14220	// server regardless of whether the field is empty or not. This may be
14221	// used to include empty fields in Patch requests.
14222	ForceSendFields []string `json:"-"`
14223
14224	// NullFields is a list of field names (e.g. "Etag") to include in API
14225	// requests with the JSON null value. By default, fields with empty
14226	// values are omitted from API requests. However, any field with an
14227	// empty value appearing in NullFields will be sent to the server as
14228	// null. It is an error if a field in this list has a non-empty value.
14229	// This may be used to include null fields in Patch requests.
14230	NullFields []string `json:"-"`
14231}
14232
14233func (s *UserProfileList) MarshalJSON() ([]byte, error) {
14234	type NoMethod UserProfileList
14235	raw := NoMethod(*s)
14236	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14237}
14238
14239// UserRole: Contains properties of auser role, which is used to manage
14240// user access.
14241type UserRole struct {
14242	// AccountId: Account ID of this user role. This is a read-only field
14243	// that can be left blank.
14244	AccountId int64 `json:"accountId,omitempty,string"`
14245
14246	// DefaultUserRole: Whether this is a default user role. Default user
14247	// roles are created by the system for the account/subaccount and cannot
14248	// be modified or deleted. Each default user role comes with a basic set
14249	// of preassigned permissions.
14250	DefaultUserRole bool `json:"defaultUserRole,omitempty"`
14251
14252	// Id: ID of this user role. This is a read-only, auto-generated field.
14253	Id int64 `json:"id,omitempty,string"`
14254
14255	// Kind: Identifies what kind of resource this is. Value: the fixed
14256	// string "dfareporting#userRole".
14257	Kind string `json:"kind,omitempty"`
14258
14259	// Name: Name of this user role. This is a required field. Must be less
14260	// than 256 characters long. If this user role is under a subaccount,
14261	// the name must be unique among sites of the same subaccount.
14262	// Otherwise, this user role is a top-level user role, and the name must
14263	// be unique among top-level user roles of the same account.
14264	Name string `json:"name,omitempty"`
14265
14266	// ParentUserRoleId: ID of the user role that this user role is based on
14267	// or copied from. This is a required field.
14268	ParentUserRoleId int64 `json:"parentUserRoleId,omitempty,string"`
14269
14270	// Permissions: List of permissions associated with this user role.
14271	Permissions []*UserRolePermission `json:"permissions,omitempty"`
14272
14273	// SubaccountId: Subaccount ID of this user role. This is a read-only
14274	// field that can be left blank.
14275	SubaccountId int64 `json:"subaccountId,omitempty,string"`
14276
14277	// ServerResponse contains the HTTP response code and headers from the
14278	// server.
14279	googleapi.ServerResponse `json:"-"`
14280
14281	// ForceSendFields is a list of field names (e.g. "AccountId") to
14282	// unconditionally include in API requests. By default, fields with
14283	// empty values are omitted from API requests. However, any non-pointer,
14284	// non-interface field appearing in ForceSendFields will be sent to the
14285	// server regardless of whether the field is empty or not. This may be
14286	// used to include empty fields in Patch requests.
14287	ForceSendFields []string `json:"-"`
14288
14289	// NullFields is a list of field names (e.g. "AccountId") to include in
14290	// API requests with the JSON null value. By default, fields with empty
14291	// values are omitted from API requests. However, any field with an
14292	// empty value appearing in NullFields will be sent to the server as
14293	// null. It is an error if a field in this list has a non-empty value.
14294	// This may be used to include null fields in Patch requests.
14295	NullFields []string `json:"-"`
14296}
14297
14298func (s *UserRole) MarshalJSON() ([]byte, error) {
14299	type NoMethod UserRole
14300	raw := NoMethod(*s)
14301	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14302}
14303
14304// UserRolePermission: Contains properties of a user role permission.
14305type UserRolePermission struct {
14306	// Availability: Levels of availability for a user role permission.
14307	//
14308	// Possible values:
14309	//   "ACCOUNT_ALWAYS"
14310	//   "ACCOUNT_BY_DEFAULT"
14311	//   "NOT_AVAILABLE_BY_DEFAULT"
14312	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
14313	//   "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
14314	Availability string `json:"availability,omitempty"`
14315
14316	// Id: ID of this user role permission.
14317	Id int64 `json:"id,omitempty,string"`
14318
14319	// Kind: Identifies what kind of resource this is. Value: the fixed
14320	// string "dfareporting#userRolePermission".
14321	Kind string `json:"kind,omitempty"`
14322
14323	// Name: Name of this user role permission.
14324	Name string `json:"name,omitempty"`
14325
14326	// PermissionGroupId: ID of the permission group that this user role
14327	// permission belongs to.
14328	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
14329
14330	// ServerResponse contains the HTTP response code and headers from the
14331	// server.
14332	googleapi.ServerResponse `json:"-"`
14333
14334	// ForceSendFields is a list of field names (e.g. "Availability") to
14335	// unconditionally include in API requests. By default, fields with
14336	// empty values are omitted from API requests. However, any non-pointer,
14337	// non-interface field appearing in ForceSendFields will be sent to the
14338	// server regardless of whether the field is empty or not. This may be
14339	// used to include empty fields in Patch requests.
14340	ForceSendFields []string `json:"-"`
14341
14342	// NullFields is a list of field names (e.g. "Availability") to include
14343	// in API requests with the JSON null value. By default, fields with
14344	// empty values are omitted from API requests. However, any field with
14345	// an empty value appearing in NullFields will be sent to the server as
14346	// null. It is an error if a field in this list has a non-empty value.
14347	// This may be used to include null fields in Patch requests.
14348	NullFields []string `json:"-"`
14349}
14350
14351func (s *UserRolePermission) MarshalJSON() ([]byte, error) {
14352	type NoMethod UserRolePermission
14353	raw := NoMethod(*s)
14354	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14355}
14356
14357// UserRolePermissionGroup: Represents a grouping of related user role
14358// permissions.
14359type UserRolePermissionGroup struct {
14360	// Id: ID of this user role permission.
14361	Id int64 `json:"id,omitempty,string"`
14362
14363	// Kind: Identifies what kind of resource this is. Value: the fixed
14364	// string "dfareporting#userRolePermissionGroup".
14365	Kind string `json:"kind,omitempty"`
14366
14367	// Name: Name of this user role permission group.
14368	Name string `json:"name,omitempty"`
14369
14370	// ServerResponse contains the HTTP response code and headers from the
14371	// server.
14372	googleapi.ServerResponse `json:"-"`
14373
14374	// ForceSendFields is a list of field names (e.g. "Id") to
14375	// unconditionally include in API requests. By default, fields with
14376	// empty values are omitted from API requests. However, any non-pointer,
14377	// non-interface field appearing in ForceSendFields will be sent to the
14378	// server regardless of whether the field is empty or not. This may be
14379	// used to include empty fields in Patch requests.
14380	ForceSendFields []string `json:"-"`
14381
14382	// NullFields is a list of field names (e.g. "Id") to include in API
14383	// requests with the JSON null value. By default, fields with empty
14384	// values are omitted from API requests. However, any field with an
14385	// empty value appearing in NullFields will be sent to the server as
14386	// null. It is an error if a field in this list has a non-empty value.
14387	// This may be used to include null fields in Patch requests.
14388	NullFields []string `json:"-"`
14389}
14390
14391func (s *UserRolePermissionGroup) MarshalJSON() ([]byte, error) {
14392	type NoMethod UserRolePermissionGroup
14393	raw := NoMethod(*s)
14394	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14395}
14396
14397// UserRolePermissionGroupsListResponse: User Role Permission Group List
14398// Response
14399type UserRolePermissionGroupsListResponse struct {
14400	// Kind: Identifies what kind of resource this is. Value: the fixed
14401	// string "dfareporting#userRolePermissionGroupsListResponse".
14402	Kind string `json:"kind,omitempty"`
14403
14404	// UserRolePermissionGroups: User role permission group collection.
14405	UserRolePermissionGroups []*UserRolePermissionGroup `json:"userRolePermissionGroups,omitempty"`
14406
14407	// ServerResponse contains the HTTP response code and headers from the
14408	// server.
14409	googleapi.ServerResponse `json:"-"`
14410
14411	// ForceSendFields is a list of field names (e.g. "Kind") to
14412	// unconditionally include in API requests. By default, fields with
14413	// empty values are omitted from API requests. However, any non-pointer,
14414	// non-interface field appearing in ForceSendFields will be sent to the
14415	// server regardless of whether the field is empty or not. This may be
14416	// used to include empty fields in Patch requests.
14417	ForceSendFields []string `json:"-"`
14418
14419	// NullFields is a list of field names (e.g. "Kind") to include in API
14420	// requests with the JSON null value. By default, fields with empty
14421	// values are omitted from API requests. However, any field with an
14422	// empty value appearing in NullFields will be sent to the server as
14423	// null. It is an error if a field in this list has a non-empty value.
14424	// This may be used to include null fields in Patch requests.
14425	NullFields []string `json:"-"`
14426}
14427
14428func (s *UserRolePermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
14429	type NoMethod UserRolePermissionGroupsListResponse
14430	raw := NoMethod(*s)
14431	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14432}
14433
14434// UserRolePermissionsListResponse: User Role Permission List Response
14435type UserRolePermissionsListResponse struct {
14436	// Kind: Identifies what kind of resource this is. Value: the fixed
14437	// string "dfareporting#userRolePermissionsListResponse".
14438	Kind string `json:"kind,omitempty"`
14439
14440	// UserRolePermissions: User role permission collection.
14441	UserRolePermissions []*UserRolePermission `json:"userRolePermissions,omitempty"`
14442
14443	// ServerResponse contains the HTTP response code and headers from the
14444	// server.
14445	googleapi.ServerResponse `json:"-"`
14446
14447	// ForceSendFields is a list of field names (e.g. "Kind") to
14448	// unconditionally include in API requests. By default, fields with
14449	// empty values are omitted from API requests. However, any non-pointer,
14450	// non-interface field appearing in ForceSendFields will be sent to the
14451	// server regardless of whether the field is empty or not. This may be
14452	// used to include empty fields in Patch requests.
14453	ForceSendFields []string `json:"-"`
14454
14455	// NullFields is a list of field names (e.g. "Kind") to include in API
14456	// requests with the JSON null value. By default, fields with empty
14457	// values are omitted from API requests. However, any field with an
14458	// empty value appearing in NullFields will be sent to the server as
14459	// null. It is an error if a field in this list has a non-empty value.
14460	// This may be used to include null fields in Patch requests.
14461	NullFields []string `json:"-"`
14462}
14463
14464func (s *UserRolePermissionsListResponse) MarshalJSON() ([]byte, error) {
14465	type NoMethod UserRolePermissionsListResponse
14466	raw := NoMethod(*s)
14467	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14468}
14469
14470// UserRolesListResponse: User Role List Response
14471type UserRolesListResponse struct {
14472	// Kind: Identifies what kind of resource this is. Value: the fixed
14473	// string "dfareporting#userRolesListResponse".
14474	Kind string `json:"kind,omitempty"`
14475
14476	// NextPageToken: Pagination token to be used for the next list
14477	// operation.
14478	NextPageToken string `json:"nextPageToken,omitempty"`
14479
14480	// UserRoles: User role collection.
14481	UserRoles []*UserRole `json:"userRoles,omitempty"`
14482
14483	// ServerResponse contains the HTTP response code and headers from the
14484	// server.
14485	googleapi.ServerResponse `json:"-"`
14486
14487	// ForceSendFields is a list of field names (e.g. "Kind") to
14488	// unconditionally include in API requests. By default, fields with
14489	// empty values are omitted from API requests. However, any non-pointer,
14490	// non-interface field appearing in ForceSendFields will be sent to the
14491	// server regardless of whether the field is empty or not. This may be
14492	// used to include empty fields in Patch requests.
14493	ForceSendFields []string `json:"-"`
14494
14495	// NullFields is a list of field names (e.g. "Kind") to include in API
14496	// requests with the JSON null value. By default, fields with empty
14497	// values are omitted from API requests. However, any field with an
14498	// empty value appearing in NullFields will be sent to the server as
14499	// null. It is an error if a field in this list has a non-empty value.
14500	// This may be used to include null fields in Patch requests.
14501	NullFields []string `json:"-"`
14502}
14503
14504func (s *UserRolesListResponse) MarshalJSON() ([]byte, error) {
14505	type NoMethod UserRolesListResponse
14506	raw := NoMethod(*s)
14507	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14508}
14509
14510// VideoFormat: Contains information about supported video formats.
14511type VideoFormat struct {
14512	// FileType: File type of the video format.
14513	//
14514	// Possible values:
14515	//   "FLV"
14516	//   "M3U8"
14517	//   "MP4"
14518	//   "THREEGPP"
14519	//   "WEBM"
14520	FileType string `json:"fileType,omitempty"`
14521
14522	// Id: ID of the video format.
14523	Id int64 `json:"id,omitempty"`
14524
14525	// Kind: Identifies what kind of resource this is. Value: the fixed
14526	// string "dfareporting#videoFormat".
14527	Kind string `json:"kind,omitempty"`
14528
14529	// Resolution: The resolution of this video format.
14530	Resolution *Size `json:"resolution,omitempty"`
14531
14532	// TargetBitRate: The target bit rate of this video format.
14533	TargetBitRate int64 `json:"targetBitRate,omitempty"`
14534
14535	// ServerResponse contains the HTTP response code and headers from the
14536	// server.
14537	googleapi.ServerResponse `json:"-"`
14538
14539	// ForceSendFields is a list of field names (e.g. "FileType") to
14540	// unconditionally include in API requests. By default, fields with
14541	// empty values are omitted from API requests. However, any non-pointer,
14542	// non-interface field appearing in ForceSendFields will be sent to the
14543	// server regardless of whether the field is empty or not. This may be
14544	// used to include empty fields in Patch requests.
14545	ForceSendFields []string `json:"-"`
14546
14547	// NullFields is a list of field names (e.g. "FileType") to include in
14548	// API requests with the JSON null value. By default, fields with empty
14549	// values are omitted from API requests. However, any field with an
14550	// empty value appearing in NullFields will be sent to the server as
14551	// null. It is an error if a field in this list has a non-empty value.
14552	// This may be used to include null fields in Patch requests.
14553	NullFields []string `json:"-"`
14554}
14555
14556func (s *VideoFormat) MarshalJSON() ([]byte, error) {
14557	type NoMethod VideoFormat
14558	raw := NoMethod(*s)
14559	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14560}
14561
14562// VideoFormatsListResponse: Video Format List Response
14563type VideoFormatsListResponse struct {
14564	// Kind: Identifies what kind of resource this is. Value: the fixed
14565	// string "dfareporting#videoFormatsListResponse".
14566	Kind string `json:"kind,omitempty"`
14567
14568	// VideoFormats: Video format collection.
14569	VideoFormats []*VideoFormat `json:"videoFormats,omitempty"`
14570
14571	// ServerResponse contains the HTTP response code and headers from the
14572	// server.
14573	googleapi.ServerResponse `json:"-"`
14574
14575	// ForceSendFields is a list of field names (e.g. "Kind") to
14576	// unconditionally include in API requests. By default, fields with
14577	// empty values are omitted from API requests. However, any non-pointer,
14578	// non-interface field appearing in ForceSendFields will be sent to the
14579	// server regardless of whether the field is empty or not. This may be
14580	// used to include empty fields in Patch requests.
14581	ForceSendFields []string `json:"-"`
14582
14583	// NullFields is a list of field names (e.g. "Kind") to include in API
14584	// requests with the JSON null value. By default, fields with empty
14585	// values are omitted from API requests. However, any field with an
14586	// empty value appearing in NullFields will be sent to the server as
14587	// null. It is an error if a field in this list has a non-empty value.
14588	// This may be used to include null fields in Patch requests.
14589	NullFields []string `json:"-"`
14590}
14591
14592func (s *VideoFormatsListResponse) MarshalJSON() ([]byte, error) {
14593	type NoMethod VideoFormatsListResponse
14594	raw := NoMethod(*s)
14595	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14596}
14597
14598// VideoOffset: Video Offset
14599type VideoOffset struct {
14600	// OffsetPercentage: Duration, as a percentage of video duration. Do not
14601	// set when offsetSeconds is set. Acceptable values are 0 to 100,
14602	// inclusive.
14603	OffsetPercentage int64 `json:"offsetPercentage,omitempty"`
14604
14605	// OffsetSeconds: Duration, in seconds. Do not set when offsetPercentage
14606	// is set. Acceptable values are 0 to 86399, inclusive.
14607	OffsetSeconds int64 `json:"offsetSeconds,omitempty"`
14608
14609	// ForceSendFields is a list of field names (e.g. "OffsetPercentage") to
14610	// unconditionally include in API requests. By default, fields with
14611	// empty values are omitted from API requests. However, any non-pointer,
14612	// non-interface field appearing in ForceSendFields will be sent to the
14613	// server regardless of whether the field is empty or not. This may be
14614	// used to include empty fields in Patch requests.
14615	ForceSendFields []string `json:"-"`
14616
14617	// NullFields is a list of field names (e.g. "OffsetPercentage") to
14618	// include in API requests with the JSON null value. By default, fields
14619	// with empty values are omitted from API requests. However, any field
14620	// with an empty value appearing in NullFields will be sent to the
14621	// server as null. It is an error if a field in this list has a
14622	// non-empty value. This may be used to include null fields in Patch
14623	// requests.
14624	NullFields []string `json:"-"`
14625}
14626
14627func (s *VideoOffset) MarshalJSON() ([]byte, error) {
14628	type NoMethod VideoOffset
14629	raw := NoMethod(*s)
14630	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14631}
14632
14633// VideoSettings: Video Settings
14634type VideoSettings struct {
14635	// CompanionSettings: Settings for the companion creatives of video
14636	// creatives served to this placement.
14637	CompanionSettings *CompanionSetting `json:"companionSettings,omitempty"`
14638
14639	// Kind: Identifies what kind of resource this is. Value: the fixed
14640	// string "dfareporting#videoSettings".
14641	Kind string `json:"kind,omitempty"`
14642
14643	// Orientation: Orientation of a video placement. If this value is set,
14644	// placement will return assets matching the specified orientation.
14645	//
14646	// Possible values:
14647	//   "ANY"
14648	//   "LANDSCAPE"
14649	//   "PORTRAIT"
14650	Orientation string `json:"orientation,omitempty"`
14651
14652	// SkippableSettings: Settings for the skippability of video creatives
14653	// served to this placement. If this object is provided, the
14654	// creative-level skippable settings will be overridden.
14655	SkippableSettings *SkippableSetting `json:"skippableSettings,omitempty"`
14656
14657	// TranscodeSettings: Settings for the transcodes of video creatives
14658	// served to this placement. If this object is provided, the
14659	// creative-level transcode settings will be overridden.
14660	TranscodeSettings *TranscodeSetting `json:"transcodeSettings,omitempty"`
14661
14662	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
14663	// to unconditionally include in API requests. By default, fields with
14664	// empty values are omitted from API requests. However, any non-pointer,
14665	// non-interface field appearing in ForceSendFields will be sent to the
14666	// server regardless of whether the field is empty or not. This may be
14667	// used to include empty fields in Patch requests.
14668	ForceSendFields []string `json:"-"`
14669
14670	// NullFields is a list of field names (e.g. "CompanionSettings") to
14671	// include in API requests with the JSON null value. By default, fields
14672	// with empty values are omitted from API requests. However, any field
14673	// with an empty value appearing in NullFields will be sent to the
14674	// server as null. It is an error if a field in this list has a
14675	// non-empty value. This may be used to include null fields in Patch
14676	// requests.
14677	NullFields []string `json:"-"`
14678}
14679
14680func (s *VideoSettings) MarshalJSON() ([]byte, error) {
14681	type NoMethod VideoSettings
14682	raw := NoMethod(*s)
14683	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14684}
14685
14686// method id "dfareporting.accountActiveAdSummaries.get":
14687
14688type AccountActiveAdSummariesGetCall struct {
14689	s                *Service
14690	profileId        int64
14691	summaryAccountId int64
14692	urlParams_       gensupport.URLParams
14693	ifNoneMatch_     string
14694	ctx_             context.Context
14695	header_          http.Header
14696}
14697
14698// Get: Gets the account's active ad summary by account ID.
14699func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
14700	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14701	c.profileId = profileId
14702	c.summaryAccountId = summaryAccountId
14703	return c
14704}
14705
14706// Fields allows partial responses to be retrieved. See
14707// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14708// for more information.
14709func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
14710	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14711	return c
14712}
14713
14714// IfNoneMatch sets the optional parameter which makes the operation
14715// fail if the object's ETag matches the given value. This is useful for
14716// getting updates only after the object has changed since the last
14717// request. Use googleapi.IsNotModified to check whether the response
14718// error from Do is the result of In-None-Match.
14719func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
14720	c.ifNoneMatch_ = entityTag
14721	return c
14722}
14723
14724// Context sets the context to be used in this call's Do method. Any
14725// pending HTTP request will be aborted if the provided context is
14726// canceled.
14727func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
14728	c.ctx_ = ctx
14729	return c
14730}
14731
14732// Header returns an http.Header that can be modified by the caller to
14733// add HTTP headers to the request.
14734func (c *AccountActiveAdSummariesGetCall) Header() http.Header {
14735	if c.header_ == nil {
14736		c.header_ = make(http.Header)
14737	}
14738	return c.header_
14739}
14740
14741func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
14742	reqHeaders := make(http.Header)
14743	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
14744	for k, v := range c.header_ {
14745		reqHeaders[k] = v
14746	}
14747	reqHeaders.Set("User-Agent", c.s.userAgent())
14748	if c.ifNoneMatch_ != "" {
14749		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14750	}
14751	var body io.Reader = nil
14752	c.urlParams_.Set("alt", alt)
14753	c.urlParams_.Set("prettyPrint", "false")
14754	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
14755	urls += "?" + c.urlParams_.Encode()
14756	req, err := http.NewRequest("GET", urls, body)
14757	if err != nil {
14758		return nil, err
14759	}
14760	req.Header = reqHeaders
14761	googleapi.Expand(req.URL, map[string]string{
14762		"profileId":        strconv.FormatInt(c.profileId, 10),
14763		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
14764	})
14765	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14766}
14767
14768// Do executes the "dfareporting.accountActiveAdSummaries.get" call.
14769// Exactly one of *AccountActiveAdSummary or error will be non-nil. Any
14770// non-2xx status code is an error. Response headers are in either
14771// *AccountActiveAdSummary.ServerResponse.Header or (if a response was
14772// returned at all) in error.(*googleapi.Error).Header. Use
14773// googleapi.IsNotModified to check whether the returned error was
14774// because http.StatusNotModified was returned.
14775func (c *AccountActiveAdSummariesGetCall) Do(opts ...googleapi.CallOption) (*AccountActiveAdSummary, error) {
14776	gensupport.SetOptions(c.urlParams_, opts...)
14777	res, err := c.doRequest("json")
14778	if res != nil && res.StatusCode == http.StatusNotModified {
14779		if res.Body != nil {
14780			res.Body.Close()
14781		}
14782		return nil, &googleapi.Error{
14783			Code:   res.StatusCode,
14784			Header: res.Header,
14785		}
14786	}
14787	if err != nil {
14788		return nil, err
14789	}
14790	defer googleapi.CloseBody(res)
14791	if err := googleapi.CheckResponse(res); err != nil {
14792		return nil, err
14793	}
14794	ret := &AccountActiveAdSummary{
14795		ServerResponse: googleapi.ServerResponse{
14796			Header:         res.Header,
14797			HTTPStatusCode: res.StatusCode,
14798		},
14799	}
14800	target := &ret
14801	if err := gensupport.DecodeResponse(target, res); err != nil {
14802		return nil, err
14803	}
14804	return ret, nil
14805	// {
14806	//   "description": "Gets the account's active ad summary by account ID.",
14807	//   "httpMethod": "GET",
14808	//   "id": "dfareporting.accountActiveAdSummaries.get",
14809	//   "parameterOrder": [
14810	//     "profileId",
14811	//     "summaryAccountId"
14812	//   ],
14813	//   "parameters": {
14814	//     "profileId": {
14815	//       "description": "User profile ID associated with this request.",
14816	//       "format": "int64",
14817	//       "location": "path",
14818	//       "required": true,
14819	//       "type": "string"
14820	//     },
14821	//     "summaryAccountId": {
14822	//       "description": "Account ID.",
14823	//       "format": "int64",
14824	//       "location": "path",
14825	//       "required": true,
14826	//       "type": "string"
14827	//     }
14828	//   },
14829	//   "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
14830	//   "response": {
14831	//     "$ref": "AccountActiveAdSummary"
14832	//   },
14833	//   "scopes": [
14834	//     "https://www.googleapis.com/auth/dfatrafficking"
14835	//   ]
14836	// }
14837
14838}
14839
14840// method id "dfareporting.accountPermissionGroups.get":
14841
14842type AccountPermissionGroupsGetCall struct {
14843	s            *Service
14844	profileId    int64
14845	id           int64
14846	urlParams_   gensupport.URLParams
14847	ifNoneMatch_ string
14848	ctx_         context.Context
14849	header_      http.Header
14850}
14851
14852// Get: Gets one account permission group by ID.
14853func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
14854	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14855	c.profileId = profileId
14856	c.id = id
14857	return c
14858}
14859
14860// Fields allows partial responses to be retrieved. See
14861// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14862// for more information.
14863func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
14864	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14865	return c
14866}
14867
14868// IfNoneMatch sets the optional parameter which makes the operation
14869// fail if the object's ETag matches the given value. This is useful for
14870// getting updates only after the object has changed since the last
14871// request. Use googleapi.IsNotModified to check whether the response
14872// error from Do is the result of In-None-Match.
14873func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
14874	c.ifNoneMatch_ = entityTag
14875	return c
14876}
14877
14878// Context sets the context to be used in this call's Do method. Any
14879// pending HTTP request will be aborted if the provided context is
14880// canceled.
14881func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
14882	c.ctx_ = ctx
14883	return c
14884}
14885
14886// Header returns an http.Header that can be modified by the caller to
14887// add HTTP headers to the request.
14888func (c *AccountPermissionGroupsGetCall) Header() http.Header {
14889	if c.header_ == nil {
14890		c.header_ = make(http.Header)
14891	}
14892	return c.header_
14893}
14894
14895func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
14896	reqHeaders := make(http.Header)
14897	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
14898	for k, v := range c.header_ {
14899		reqHeaders[k] = v
14900	}
14901	reqHeaders.Set("User-Agent", c.s.userAgent())
14902	if c.ifNoneMatch_ != "" {
14903		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14904	}
14905	var body io.Reader = nil
14906	c.urlParams_.Set("alt", alt)
14907	c.urlParams_.Set("prettyPrint", "false")
14908	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
14909	urls += "?" + c.urlParams_.Encode()
14910	req, err := http.NewRequest("GET", urls, body)
14911	if err != nil {
14912		return nil, err
14913	}
14914	req.Header = reqHeaders
14915	googleapi.Expand(req.URL, map[string]string{
14916		"profileId": strconv.FormatInt(c.profileId, 10),
14917		"id":        strconv.FormatInt(c.id, 10),
14918	})
14919	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14920}
14921
14922// Do executes the "dfareporting.accountPermissionGroups.get" call.
14923// Exactly one of *AccountPermissionGroup or error will be non-nil. Any
14924// non-2xx status code is an error. Response headers are in either
14925// *AccountPermissionGroup.ServerResponse.Header or (if a response was
14926// returned at all) in error.(*googleapi.Error).Header. Use
14927// googleapi.IsNotModified to check whether the returned error was
14928// because http.StatusNotModified was returned.
14929func (c *AccountPermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroup, error) {
14930	gensupport.SetOptions(c.urlParams_, opts...)
14931	res, err := c.doRequest("json")
14932	if res != nil && res.StatusCode == http.StatusNotModified {
14933		if res.Body != nil {
14934			res.Body.Close()
14935		}
14936		return nil, &googleapi.Error{
14937			Code:   res.StatusCode,
14938			Header: res.Header,
14939		}
14940	}
14941	if err != nil {
14942		return nil, err
14943	}
14944	defer googleapi.CloseBody(res)
14945	if err := googleapi.CheckResponse(res); err != nil {
14946		return nil, err
14947	}
14948	ret := &AccountPermissionGroup{
14949		ServerResponse: googleapi.ServerResponse{
14950			Header:         res.Header,
14951			HTTPStatusCode: res.StatusCode,
14952		},
14953	}
14954	target := &ret
14955	if err := gensupport.DecodeResponse(target, res); err != nil {
14956		return nil, err
14957	}
14958	return ret, nil
14959	// {
14960	//   "description": "Gets one account permission group by ID.",
14961	//   "httpMethod": "GET",
14962	//   "id": "dfareporting.accountPermissionGroups.get",
14963	//   "parameterOrder": [
14964	//     "profileId",
14965	//     "id"
14966	//   ],
14967	//   "parameters": {
14968	//     "id": {
14969	//       "description": "Account permission group ID.",
14970	//       "format": "int64",
14971	//       "location": "path",
14972	//       "required": true,
14973	//       "type": "string"
14974	//     },
14975	//     "profileId": {
14976	//       "description": "User profile ID associated with this request.",
14977	//       "format": "int64",
14978	//       "location": "path",
14979	//       "required": true,
14980	//       "type": "string"
14981	//     }
14982	//   },
14983	//   "path": "userprofiles/{profileId}/accountPermissionGroups/{id}",
14984	//   "response": {
14985	//     "$ref": "AccountPermissionGroup"
14986	//   },
14987	//   "scopes": [
14988	//     "https://www.googleapis.com/auth/dfatrafficking"
14989	//   ]
14990	// }
14991
14992}
14993
14994// method id "dfareporting.accountPermissionGroups.list":
14995
14996type AccountPermissionGroupsListCall struct {
14997	s            *Service
14998	profileId    int64
14999	urlParams_   gensupport.URLParams
15000	ifNoneMatch_ string
15001	ctx_         context.Context
15002	header_      http.Header
15003}
15004
15005// List: Retrieves the list of account permission groups.
15006func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
15007	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15008	c.profileId = profileId
15009	return c
15010}
15011
15012// Fields allows partial responses to be retrieved. See
15013// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15014// for more information.
15015func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
15016	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15017	return c
15018}
15019
15020// IfNoneMatch sets the optional parameter which makes the operation
15021// fail if the object's ETag matches the given value. This is useful for
15022// getting updates only after the object has changed since the last
15023// request. Use googleapi.IsNotModified to check whether the response
15024// error from Do is the result of In-None-Match.
15025func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
15026	c.ifNoneMatch_ = entityTag
15027	return c
15028}
15029
15030// Context sets the context to be used in this call's Do method. Any
15031// pending HTTP request will be aborted if the provided context is
15032// canceled.
15033func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
15034	c.ctx_ = ctx
15035	return c
15036}
15037
15038// Header returns an http.Header that can be modified by the caller to
15039// add HTTP headers to the request.
15040func (c *AccountPermissionGroupsListCall) Header() http.Header {
15041	if c.header_ == nil {
15042		c.header_ = make(http.Header)
15043	}
15044	return c.header_
15045}
15046
15047func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
15048	reqHeaders := make(http.Header)
15049	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
15050	for k, v := range c.header_ {
15051		reqHeaders[k] = v
15052	}
15053	reqHeaders.Set("User-Agent", c.s.userAgent())
15054	if c.ifNoneMatch_ != "" {
15055		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15056	}
15057	var body io.Reader = nil
15058	c.urlParams_.Set("alt", alt)
15059	c.urlParams_.Set("prettyPrint", "false")
15060	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
15061	urls += "?" + c.urlParams_.Encode()
15062	req, err := http.NewRequest("GET", urls, body)
15063	if err != nil {
15064		return nil, err
15065	}
15066	req.Header = reqHeaders
15067	googleapi.Expand(req.URL, map[string]string{
15068		"profileId": strconv.FormatInt(c.profileId, 10),
15069	})
15070	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15071}
15072
15073// Do executes the "dfareporting.accountPermissionGroups.list" call.
15074// Exactly one of *AccountPermissionGroupsListResponse or error will be
15075// non-nil. Any non-2xx status code is an error. Response headers are in
15076// either *AccountPermissionGroupsListResponse.ServerResponse.Header or
15077// (if a response was returned at all) in
15078// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
15079// whether the returned error was because http.StatusNotModified was
15080// returned.
15081func (c *AccountPermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroupsListResponse, error) {
15082	gensupport.SetOptions(c.urlParams_, opts...)
15083	res, err := c.doRequest("json")
15084	if res != nil && res.StatusCode == http.StatusNotModified {
15085		if res.Body != nil {
15086			res.Body.Close()
15087		}
15088		return nil, &googleapi.Error{
15089			Code:   res.StatusCode,
15090			Header: res.Header,
15091		}
15092	}
15093	if err != nil {
15094		return nil, err
15095	}
15096	defer googleapi.CloseBody(res)
15097	if err := googleapi.CheckResponse(res); err != nil {
15098		return nil, err
15099	}
15100	ret := &AccountPermissionGroupsListResponse{
15101		ServerResponse: googleapi.ServerResponse{
15102			Header:         res.Header,
15103			HTTPStatusCode: res.StatusCode,
15104		},
15105	}
15106	target := &ret
15107	if err := gensupport.DecodeResponse(target, res); err != nil {
15108		return nil, err
15109	}
15110	return ret, nil
15111	// {
15112	//   "description": "Retrieves the list of account permission groups.",
15113	//   "httpMethod": "GET",
15114	//   "id": "dfareporting.accountPermissionGroups.list",
15115	//   "parameterOrder": [
15116	//     "profileId"
15117	//   ],
15118	//   "parameters": {
15119	//     "profileId": {
15120	//       "description": "User profile ID associated with this request.",
15121	//       "format": "int64",
15122	//       "location": "path",
15123	//       "required": true,
15124	//       "type": "string"
15125	//     }
15126	//   },
15127	//   "path": "userprofiles/{profileId}/accountPermissionGroups",
15128	//   "response": {
15129	//     "$ref": "AccountPermissionGroupsListResponse"
15130	//   },
15131	//   "scopes": [
15132	//     "https://www.googleapis.com/auth/dfatrafficking"
15133	//   ]
15134	// }
15135
15136}
15137
15138// method id "dfareporting.accountPermissions.get":
15139
15140type AccountPermissionsGetCall struct {
15141	s            *Service
15142	profileId    int64
15143	id           int64
15144	urlParams_   gensupport.URLParams
15145	ifNoneMatch_ string
15146	ctx_         context.Context
15147	header_      http.Header
15148}
15149
15150// Get: Gets one account permission by ID.
15151func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
15152	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15153	c.profileId = profileId
15154	c.id = id
15155	return c
15156}
15157
15158// Fields allows partial responses to be retrieved. See
15159// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15160// for more information.
15161func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
15162	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15163	return c
15164}
15165
15166// IfNoneMatch sets the optional parameter which makes the operation
15167// fail if the object's ETag matches the given value. This is useful for
15168// getting updates only after the object has changed since the last
15169// request. Use googleapi.IsNotModified to check whether the response
15170// error from Do is the result of In-None-Match.
15171func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
15172	c.ifNoneMatch_ = entityTag
15173	return c
15174}
15175
15176// Context sets the context to be used in this call's Do method. Any
15177// pending HTTP request will be aborted if the provided context is
15178// canceled.
15179func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
15180	c.ctx_ = ctx
15181	return c
15182}
15183
15184// Header returns an http.Header that can be modified by the caller to
15185// add HTTP headers to the request.
15186func (c *AccountPermissionsGetCall) Header() http.Header {
15187	if c.header_ == nil {
15188		c.header_ = make(http.Header)
15189	}
15190	return c.header_
15191}
15192
15193func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
15194	reqHeaders := make(http.Header)
15195	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
15196	for k, v := range c.header_ {
15197		reqHeaders[k] = v
15198	}
15199	reqHeaders.Set("User-Agent", c.s.userAgent())
15200	if c.ifNoneMatch_ != "" {
15201		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15202	}
15203	var body io.Reader = nil
15204	c.urlParams_.Set("alt", alt)
15205	c.urlParams_.Set("prettyPrint", "false")
15206	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
15207	urls += "?" + c.urlParams_.Encode()
15208	req, err := http.NewRequest("GET", urls, body)
15209	if err != nil {
15210		return nil, err
15211	}
15212	req.Header = reqHeaders
15213	googleapi.Expand(req.URL, map[string]string{
15214		"profileId": strconv.FormatInt(c.profileId, 10),
15215		"id":        strconv.FormatInt(c.id, 10),
15216	})
15217	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15218}
15219
15220// Do executes the "dfareporting.accountPermissions.get" call.
15221// Exactly one of *AccountPermission or error will be non-nil. Any
15222// non-2xx status code is an error. Response headers are in either
15223// *AccountPermission.ServerResponse.Header or (if a response was
15224// returned at all) in error.(*googleapi.Error).Header. Use
15225// googleapi.IsNotModified to check whether the returned error was
15226// because http.StatusNotModified was returned.
15227func (c *AccountPermissionsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermission, error) {
15228	gensupport.SetOptions(c.urlParams_, opts...)
15229	res, err := c.doRequest("json")
15230	if res != nil && res.StatusCode == http.StatusNotModified {
15231		if res.Body != nil {
15232			res.Body.Close()
15233		}
15234		return nil, &googleapi.Error{
15235			Code:   res.StatusCode,
15236			Header: res.Header,
15237		}
15238	}
15239	if err != nil {
15240		return nil, err
15241	}
15242	defer googleapi.CloseBody(res)
15243	if err := googleapi.CheckResponse(res); err != nil {
15244		return nil, err
15245	}
15246	ret := &AccountPermission{
15247		ServerResponse: googleapi.ServerResponse{
15248			Header:         res.Header,
15249			HTTPStatusCode: res.StatusCode,
15250		},
15251	}
15252	target := &ret
15253	if err := gensupport.DecodeResponse(target, res); err != nil {
15254		return nil, err
15255	}
15256	return ret, nil
15257	// {
15258	//   "description": "Gets one account permission by ID.",
15259	//   "httpMethod": "GET",
15260	//   "id": "dfareporting.accountPermissions.get",
15261	//   "parameterOrder": [
15262	//     "profileId",
15263	//     "id"
15264	//   ],
15265	//   "parameters": {
15266	//     "id": {
15267	//       "description": "Account permission ID.",
15268	//       "format": "int64",
15269	//       "location": "path",
15270	//       "required": true,
15271	//       "type": "string"
15272	//     },
15273	//     "profileId": {
15274	//       "description": "User profile ID associated with this request.",
15275	//       "format": "int64",
15276	//       "location": "path",
15277	//       "required": true,
15278	//       "type": "string"
15279	//     }
15280	//   },
15281	//   "path": "userprofiles/{profileId}/accountPermissions/{id}",
15282	//   "response": {
15283	//     "$ref": "AccountPermission"
15284	//   },
15285	//   "scopes": [
15286	//     "https://www.googleapis.com/auth/dfatrafficking"
15287	//   ]
15288	// }
15289
15290}
15291
15292// method id "dfareporting.accountPermissions.list":
15293
15294type AccountPermissionsListCall struct {
15295	s            *Service
15296	profileId    int64
15297	urlParams_   gensupport.URLParams
15298	ifNoneMatch_ string
15299	ctx_         context.Context
15300	header_      http.Header
15301}
15302
15303// List: Retrieves the list of account permissions.
15304func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
15305	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15306	c.profileId = profileId
15307	return c
15308}
15309
15310// Fields allows partial responses to be retrieved. See
15311// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15312// for more information.
15313func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
15314	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15315	return c
15316}
15317
15318// IfNoneMatch sets the optional parameter which makes the operation
15319// fail if the object's ETag matches the given value. This is useful for
15320// getting updates only after the object has changed since the last
15321// request. Use googleapi.IsNotModified to check whether the response
15322// error from Do is the result of In-None-Match.
15323func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
15324	c.ifNoneMatch_ = entityTag
15325	return c
15326}
15327
15328// Context sets the context to be used in this call's Do method. Any
15329// pending HTTP request will be aborted if the provided context is
15330// canceled.
15331func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
15332	c.ctx_ = ctx
15333	return c
15334}
15335
15336// Header returns an http.Header that can be modified by the caller to
15337// add HTTP headers to the request.
15338func (c *AccountPermissionsListCall) Header() http.Header {
15339	if c.header_ == nil {
15340		c.header_ = make(http.Header)
15341	}
15342	return c.header_
15343}
15344
15345func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
15346	reqHeaders := make(http.Header)
15347	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
15348	for k, v := range c.header_ {
15349		reqHeaders[k] = v
15350	}
15351	reqHeaders.Set("User-Agent", c.s.userAgent())
15352	if c.ifNoneMatch_ != "" {
15353		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15354	}
15355	var body io.Reader = nil
15356	c.urlParams_.Set("alt", alt)
15357	c.urlParams_.Set("prettyPrint", "false")
15358	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
15359	urls += "?" + c.urlParams_.Encode()
15360	req, err := http.NewRequest("GET", urls, body)
15361	if err != nil {
15362		return nil, err
15363	}
15364	req.Header = reqHeaders
15365	googleapi.Expand(req.URL, map[string]string{
15366		"profileId": strconv.FormatInt(c.profileId, 10),
15367	})
15368	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15369}
15370
15371// Do executes the "dfareporting.accountPermissions.list" call.
15372// Exactly one of *AccountPermissionsListResponse or error will be
15373// non-nil. Any non-2xx status code is an error. Response headers are in
15374// either *AccountPermissionsListResponse.ServerResponse.Header or (if a
15375// response was returned at all) in error.(*googleapi.Error).Header. Use
15376// googleapi.IsNotModified to check whether the returned error was
15377// because http.StatusNotModified was returned.
15378func (c *AccountPermissionsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionsListResponse, error) {
15379	gensupport.SetOptions(c.urlParams_, opts...)
15380	res, err := c.doRequest("json")
15381	if res != nil && res.StatusCode == http.StatusNotModified {
15382		if res.Body != nil {
15383			res.Body.Close()
15384		}
15385		return nil, &googleapi.Error{
15386			Code:   res.StatusCode,
15387			Header: res.Header,
15388		}
15389	}
15390	if err != nil {
15391		return nil, err
15392	}
15393	defer googleapi.CloseBody(res)
15394	if err := googleapi.CheckResponse(res); err != nil {
15395		return nil, err
15396	}
15397	ret := &AccountPermissionsListResponse{
15398		ServerResponse: googleapi.ServerResponse{
15399			Header:         res.Header,
15400			HTTPStatusCode: res.StatusCode,
15401		},
15402	}
15403	target := &ret
15404	if err := gensupport.DecodeResponse(target, res); err != nil {
15405		return nil, err
15406	}
15407	return ret, nil
15408	// {
15409	//   "description": "Retrieves the list of account permissions.",
15410	//   "httpMethod": "GET",
15411	//   "id": "dfareporting.accountPermissions.list",
15412	//   "parameterOrder": [
15413	//     "profileId"
15414	//   ],
15415	//   "parameters": {
15416	//     "profileId": {
15417	//       "description": "User profile ID associated with this request.",
15418	//       "format": "int64",
15419	//       "location": "path",
15420	//       "required": true,
15421	//       "type": "string"
15422	//     }
15423	//   },
15424	//   "path": "userprofiles/{profileId}/accountPermissions",
15425	//   "response": {
15426	//     "$ref": "AccountPermissionsListResponse"
15427	//   },
15428	//   "scopes": [
15429	//     "https://www.googleapis.com/auth/dfatrafficking"
15430	//   ]
15431	// }
15432
15433}
15434
15435// method id "dfareporting.accountUserProfiles.get":
15436
15437type AccountUserProfilesGetCall struct {
15438	s            *Service
15439	profileId    int64
15440	id           int64
15441	urlParams_   gensupport.URLParams
15442	ifNoneMatch_ string
15443	ctx_         context.Context
15444	header_      http.Header
15445}
15446
15447// Get: Gets one account user profile by ID.
15448func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
15449	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15450	c.profileId = profileId
15451	c.id = id
15452	return c
15453}
15454
15455// Fields allows partial responses to be retrieved. See
15456// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15457// for more information.
15458func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
15459	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15460	return c
15461}
15462
15463// IfNoneMatch sets the optional parameter which makes the operation
15464// fail if the object's ETag matches the given value. This is useful for
15465// getting updates only after the object has changed since the last
15466// request. Use googleapi.IsNotModified to check whether the response
15467// error from Do is the result of In-None-Match.
15468func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
15469	c.ifNoneMatch_ = entityTag
15470	return c
15471}
15472
15473// Context sets the context to be used in this call's Do method. Any
15474// pending HTTP request will be aborted if the provided context is
15475// canceled.
15476func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
15477	c.ctx_ = ctx
15478	return c
15479}
15480
15481// Header returns an http.Header that can be modified by the caller to
15482// add HTTP headers to the request.
15483func (c *AccountUserProfilesGetCall) Header() http.Header {
15484	if c.header_ == nil {
15485		c.header_ = make(http.Header)
15486	}
15487	return c.header_
15488}
15489
15490func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
15491	reqHeaders := make(http.Header)
15492	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
15493	for k, v := range c.header_ {
15494		reqHeaders[k] = v
15495	}
15496	reqHeaders.Set("User-Agent", c.s.userAgent())
15497	if c.ifNoneMatch_ != "" {
15498		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15499	}
15500	var body io.Reader = nil
15501	c.urlParams_.Set("alt", alt)
15502	c.urlParams_.Set("prettyPrint", "false")
15503	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
15504	urls += "?" + c.urlParams_.Encode()
15505	req, err := http.NewRequest("GET", urls, body)
15506	if err != nil {
15507		return nil, err
15508	}
15509	req.Header = reqHeaders
15510	googleapi.Expand(req.URL, map[string]string{
15511		"profileId": strconv.FormatInt(c.profileId, 10),
15512		"id":        strconv.FormatInt(c.id, 10),
15513	})
15514	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15515}
15516
15517// Do executes the "dfareporting.accountUserProfiles.get" call.
15518// Exactly one of *AccountUserProfile or error will be non-nil. Any
15519// non-2xx status code is an error. Response headers are in either
15520// *AccountUserProfile.ServerResponse.Header or (if a response was
15521// returned at all) in error.(*googleapi.Error).Header. Use
15522// googleapi.IsNotModified to check whether the returned error was
15523// because http.StatusNotModified was returned.
15524func (c *AccountUserProfilesGetCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15525	gensupport.SetOptions(c.urlParams_, opts...)
15526	res, err := c.doRequest("json")
15527	if res != nil && res.StatusCode == http.StatusNotModified {
15528		if res.Body != nil {
15529			res.Body.Close()
15530		}
15531		return nil, &googleapi.Error{
15532			Code:   res.StatusCode,
15533			Header: res.Header,
15534		}
15535	}
15536	if err != nil {
15537		return nil, err
15538	}
15539	defer googleapi.CloseBody(res)
15540	if err := googleapi.CheckResponse(res); err != nil {
15541		return nil, err
15542	}
15543	ret := &AccountUserProfile{
15544		ServerResponse: googleapi.ServerResponse{
15545			Header:         res.Header,
15546			HTTPStatusCode: res.StatusCode,
15547		},
15548	}
15549	target := &ret
15550	if err := gensupport.DecodeResponse(target, res); err != nil {
15551		return nil, err
15552	}
15553	return ret, nil
15554	// {
15555	//   "description": "Gets one account user profile by ID.",
15556	//   "httpMethod": "GET",
15557	//   "id": "dfareporting.accountUserProfiles.get",
15558	//   "parameterOrder": [
15559	//     "profileId",
15560	//     "id"
15561	//   ],
15562	//   "parameters": {
15563	//     "id": {
15564	//       "description": "User profile ID.",
15565	//       "format": "int64",
15566	//       "location": "path",
15567	//       "required": true,
15568	//       "type": "string"
15569	//     },
15570	//     "profileId": {
15571	//       "description": "User profile ID associated with this request.",
15572	//       "format": "int64",
15573	//       "location": "path",
15574	//       "required": true,
15575	//       "type": "string"
15576	//     }
15577	//   },
15578	//   "path": "userprofiles/{profileId}/accountUserProfiles/{id}",
15579	//   "response": {
15580	//     "$ref": "AccountUserProfile"
15581	//   },
15582	//   "scopes": [
15583	//     "https://www.googleapis.com/auth/dfatrafficking"
15584	//   ]
15585	// }
15586
15587}
15588
15589// method id "dfareporting.accountUserProfiles.insert":
15590
15591type AccountUserProfilesInsertCall struct {
15592	s                  *Service
15593	profileId          int64
15594	accountuserprofile *AccountUserProfile
15595	urlParams_         gensupport.URLParams
15596	ctx_               context.Context
15597	header_            http.Header
15598}
15599
15600// Insert: Inserts a new account user profile.
15601func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
15602	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15603	c.profileId = profileId
15604	c.accountuserprofile = accountuserprofile
15605	return c
15606}
15607
15608// Fields allows partial responses to be retrieved. See
15609// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15610// for more information.
15611func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
15612	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15613	return c
15614}
15615
15616// Context sets the context to be used in this call's Do method. Any
15617// pending HTTP request will be aborted if the provided context is
15618// canceled.
15619func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
15620	c.ctx_ = ctx
15621	return c
15622}
15623
15624// Header returns an http.Header that can be modified by the caller to
15625// add HTTP headers to the request.
15626func (c *AccountUserProfilesInsertCall) Header() http.Header {
15627	if c.header_ == nil {
15628		c.header_ = make(http.Header)
15629	}
15630	return c.header_
15631}
15632
15633func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
15634	reqHeaders := make(http.Header)
15635	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
15636	for k, v := range c.header_ {
15637		reqHeaders[k] = v
15638	}
15639	reqHeaders.Set("User-Agent", c.s.userAgent())
15640	var body io.Reader = nil
15641	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15642	if err != nil {
15643		return nil, err
15644	}
15645	reqHeaders.Set("Content-Type", "application/json")
15646	c.urlParams_.Set("alt", alt)
15647	c.urlParams_.Set("prettyPrint", "false")
15648	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15649	urls += "?" + c.urlParams_.Encode()
15650	req, err := http.NewRequest("POST", urls, body)
15651	if err != nil {
15652		return nil, err
15653	}
15654	req.Header = reqHeaders
15655	googleapi.Expand(req.URL, map[string]string{
15656		"profileId": strconv.FormatInt(c.profileId, 10),
15657	})
15658	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15659}
15660
15661// Do executes the "dfareporting.accountUserProfiles.insert" call.
15662// Exactly one of *AccountUserProfile or error will be non-nil. Any
15663// non-2xx status code is an error. Response headers are in either
15664// *AccountUserProfile.ServerResponse.Header or (if a response was
15665// returned at all) in error.(*googleapi.Error).Header. Use
15666// googleapi.IsNotModified to check whether the returned error was
15667// because http.StatusNotModified was returned.
15668func (c *AccountUserProfilesInsertCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15669	gensupport.SetOptions(c.urlParams_, opts...)
15670	res, err := c.doRequest("json")
15671	if res != nil && res.StatusCode == http.StatusNotModified {
15672		if res.Body != nil {
15673			res.Body.Close()
15674		}
15675		return nil, &googleapi.Error{
15676			Code:   res.StatusCode,
15677			Header: res.Header,
15678		}
15679	}
15680	if err != nil {
15681		return nil, err
15682	}
15683	defer googleapi.CloseBody(res)
15684	if err := googleapi.CheckResponse(res); err != nil {
15685		return nil, err
15686	}
15687	ret := &AccountUserProfile{
15688		ServerResponse: googleapi.ServerResponse{
15689			Header:         res.Header,
15690			HTTPStatusCode: res.StatusCode,
15691		},
15692	}
15693	target := &ret
15694	if err := gensupport.DecodeResponse(target, res); err != nil {
15695		return nil, err
15696	}
15697	return ret, nil
15698	// {
15699	//   "description": "Inserts a new account user profile.",
15700	//   "httpMethod": "POST",
15701	//   "id": "dfareporting.accountUserProfiles.insert",
15702	//   "parameterOrder": [
15703	//     "profileId"
15704	//   ],
15705	//   "parameters": {
15706	//     "profileId": {
15707	//       "description": "User profile ID associated with this request.",
15708	//       "format": "int64",
15709	//       "location": "path",
15710	//       "required": true,
15711	//       "type": "string"
15712	//     }
15713	//   },
15714	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15715	//   "request": {
15716	//     "$ref": "AccountUserProfile"
15717	//   },
15718	//   "response": {
15719	//     "$ref": "AccountUserProfile"
15720	//   },
15721	//   "scopes": [
15722	//     "https://www.googleapis.com/auth/dfatrafficking"
15723	//   ]
15724	// }
15725
15726}
15727
15728// method id "dfareporting.accountUserProfiles.list":
15729
15730type AccountUserProfilesListCall struct {
15731	s            *Service
15732	profileId    int64
15733	urlParams_   gensupport.URLParams
15734	ifNoneMatch_ string
15735	ctx_         context.Context
15736	header_      http.Header
15737}
15738
15739// List: Retrieves a list of account user profiles, possibly filtered.
15740// This method supports paging.
15741func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
15742	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15743	c.profileId = profileId
15744	return c
15745}
15746
15747// Active sets the optional parameter "active": Select only active user
15748// profiles.
15749func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
15750	c.urlParams_.Set("active", fmt.Sprint(active))
15751	return c
15752}
15753
15754// Ids sets the optional parameter "ids": Select only user profiles with
15755// these IDs.
15756func (c *AccountUserProfilesListCall) Ids(ids ...int64) *AccountUserProfilesListCall {
15757	var ids_ []string
15758	for _, v := range ids {
15759		ids_ = append(ids_, fmt.Sprint(v))
15760	}
15761	c.urlParams_.SetMulti("ids", ids_)
15762	return c
15763}
15764
15765// MaxResults sets the optional parameter "maxResults": Maximum number
15766// of results to return.
15767func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
15768	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
15769	return c
15770}
15771
15772// PageToken sets the optional parameter "pageToken": Value of the
15773// nextPageToken from the previous result page.
15774func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
15775	c.urlParams_.Set("pageToken", pageToken)
15776	return c
15777}
15778
15779// SearchString sets the optional parameter "searchString": Allows
15780// searching for objects by name, ID or email. Wildcards (*) are
15781// allowed. For example, "user profile*2015" will return objects with
15782// names like "user profile June 2015", "user profile April 2015", or
15783// simply "user profile 2015". Most of the searches also add wildcards
15784// implicitly at the start and the end of the search string. For
15785// example, a search string of "user profile" will match objects with
15786// name "my user profile", "user profile 2015", or simply "user
15787// profile".
15788func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
15789	c.urlParams_.Set("searchString", searchString)
15790	return c
15791}
15792
15793// SortField sets the optional parameter "sortField": Field by which to
15794// sort the list.
15795//
15796// Possible values:
15797//   "ID" (default)
15798//   "NAME"
15799func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
15800	c.urlParams_.Set("sortField", sortField)
15801	return c
15802}
15803
15804// SortOrder sets the optional parameter "sortOrder": Order of sorted
15805// results.
15806//
15807// Possible values:
15808//   "ASCENDING" (default)
15809//   "DESCENDING"
15810func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
15811	c.urlParams_.Set("sortOrder", sortOrder)
15812	return c
15813}
15814
15815// SubaccountId sets the optional parameter "subaccountId": Select only
15816// user profiles with the specified subaccount ID.
15817func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
15818	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
15819	return c
15820}
15821
15822// UserRoleId sets the optional parameter "userRoleId": Select only user
15823// profiles with the specified user role ID.
15824func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
15825	c.urlParams_.Set("userRoleId", fmt.Sprint(userRoleId))
15826	return c
15827}
15828
15829// Fields allows partial responses to be retrieved. See
15830// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15831// for more information.
15832func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
15833	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15834	return c
15835}
15836
15837// IfNoneMatch sets the optional parameter which makes the operation
15838// fail if the object's ETag matches the given value. This is useful for
15839// getting updates only after the object has changed since the last
15840// request. Use googleapi.IsNotModified to check whether the response
15841// error from Do is the result of In-None-Match.
15842func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
15843	c.ifNoneMatch_ = entityTag
15844	return c
15845}
15846
15847// Context sets the context to be used in this call's Do method. Any
15848// pending HTTP request will be aborted if the provided context is
15849// canceled.
15850func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
15851	c.ctx_ = ctx
15852	return c
15853}
15854
15855// Header returns an http.Header that can be modified by the caller to
15856// add HTTP headers to the request.
15857func (c *AccountUserProfilesListCall) Header() http.Header {
15858	if c.header_ == nil {
15859		c.header_ = make(http.Header)
15860	}
15861	return c.header_
15862}
15863
15864func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
15865	reqHeaders := make(http.Header)
15866	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
15867	for k, v := range c.header_ {
15868		reqHeaders[k] = v
15869	}
15870	reqHeaders.Set("User-Agent", c.s.userAgent())
15871	if c.ifNoneMatch_ != "" {
15872		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15873	}
15874	var body io.Reader = nil
15875	c.urlParams_.Set("alt", alt)
15876	c.urlParams_.Set("prettyPrint", "false")
15877	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15878	urls += "?" + c.urlParams_.Encode()
15879	req, err := http.NewRequest("GET", urls, body)
15880	if err != nil {
15881		return nil, err
15882	}
15883	req.Header = reqHeaders
15884	googleapi.Expand(req.URL, map[string]string{
15885		"profileId": strconv.FormatInt(c.profileId, 10),
15886	})
15887	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15888}
15889
15890// Do executes the "dfareporting.accountUserProfiles.list" call.
15891// Exactly one of *AccountUserProfilesListResponse or error will be
15892// non-nil. Any non-2xx status code is an error. Response headers are in
15893// either *AccountUserProfilesListResponse.ServerResponse.Header or (if
15894// a response was returned at all) in error.(*googleapi.Error).Header.
15895// Use googleapi.IsNotModified to check whether the returned error was
15896// because http.StatusNotModified was returned.
15897func (c *AccountUserProfilesListCall) Do(opts ...googleapi.CallOption) (*AccountUserProfilesListResponse, error) {
15898	gensupport.SetOptions(c.urlParams_, opts...)
15899	res, err := c.doRequest("json")
15900	if res != nil && res.StatusCode == http.StatusNotModified {
15901		if res.Body != nil {
15902			res.Body.Close()
15903		}
15904		return nil, &googleapi.Error{
15905			Code:   res.StatusCode,
15906			Header: res.Header,
15907		}
15908	}
15909	if err != nil {
15910		return nil, err
15911	}
15912	defer googleapi.CloseBody(res)
15913	if err := googleapi.CheckResponse(res); err != nil {
15914		return nil, err
15915	}
15916	ret := &AccountUserProfilesListResponse{
15917		ServerResponse: googleapi.ServerResponse{
15918			Header:         res.Header,
15919			HTTPStatusCode: res.StatusCode,
15920		},
15921	}
15922	target := &ret
15923	if err := gensupport.DecodeResponse(target, res); err != nil {
15924		return nil, err
15925	}
15926	return ret, nil
15927	// {
15928	//   "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
15929	//   "httpMethod": "GET",
15930	//   "id": "dfareporting.accountUserProfiles.list",
15931	//   "parameterOrder": [
15932	//     "profileId"
15933	//   ],
15934	//   "parameters": {
15935	//     "active": {
15936	//       "description": "Select only active user profiles.",
15937	//       "location": "query",
15938	//       "type": "boolean"
15939	//     },
15940	//     "ids": {
15941	//       "description": "Select only user profiles with these IDs.",
15942	//       "format": "int64",
15943	//       "location": "query",
15944	//       "repeated": true,
15945	//       "type": "string"
15946	//     },
15947	//     "maxResults": {
15948	//       "default": "1000",
15949	//       "description": "Maximum number of results to return.",
15950	//       "format": "int32",
15951	//       "location": "query",
15952	//       "maximum": "1000",
15953	//       "minimum": "0",
15954	//       "type": "integer"
15955	//     },
15956	//     "pageToken": {
15957	//       "description": "Value of the nextPageToken from the previous result page.",
15958	//       "location": "query",
15959	//       "type": "string"
15960	//     },
15961	//     "profileId": {
15962	//       "description": "User profile ID associated with this request.",
15963	//       "format": "int64",
15964	//       "location": "path",
15965	//       "required": true,
15966	//       "type": "string"
15967	//     },
15968	//     "searchString": {
15969	//       "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\".",
15970	//       "location": "query",
15971	//       "type": "string"
15972	//     },
15973	//     "sortField": {
15974	//       "default": "ID",
15975	//       "description": "Field by which to sort the list.",
15976	//       "enum": [
15977	//         "ID",
15978	//         "NAME"
15979	//       ],
15980	//       "enumDescriptions": [
15981	//         "",
15982	//         ""
15983	//       ],
15984	//       "location": "query",
15985	//       "type": "string"
15986	//     },
15987	//     "sortOrder": {
15988	//       "default": "ASCENDING",
15989	//       "description": "Order of sorted results.",
15990	//       "enum": [
15991	//         "ASCENDING",
15992	//         "DESCENDING"
15993	//       ],
15994	//       "enumDescriptions": [
15995	//         "",
15996	//         ""
15997	//       ],
15998	//       "location": "query",
15999	//       "type": "string"
16000	//     },
16001	//     "subaccountId": {
16002	//       "description": "Select only user profiles with the specified subaccount ID.",
16003	//       "format": "int64",
16004	//       "location": "query",
16005	//       "type": "string"
16006	//     },
16007	//     "userRoleId": {
16008	//       "description": "Select only user profiles with the specified user role ID.",
16009	//       "format": "int64",
16010	//       "location": "query",
16011	//       "type": "string"
16012	//     }
16013	//   },
16014	//   "path": "userprofiles/{profileId}/accountUserProfiles",
16015	//   "response": {
16016	//     "$ref": "AccountUserProfilesListResponse"
16017	//   },
16018	//   "scopes": [
16019	//     "https://www.googleapis.com/auth/dfatrafficking"
16020	//   ]
16021	// }
16022
16023}
16024
16025// Pages invokes f for each page of results.
16026// A non-nil error returned from f will halt the iteration.
16027// The provided context supersedes any context provided to the Context method.
16028func (c *AccountUserProfilesListCall) Pages(ctx context.Context, f func(*AccountUserProfilesListResponse) error) error {
16029	c.ctx_ = ctx
16030	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16031	for {
16032		x, err := c.Do()
16033		if err != nil {
16034			return err
16035		}
16036		if err := f(x); err != nil {
16037			return err
16038		}
16039		if x.NextPageToken == "" {
16040			return nil
16041		}
16042		c.PageToken(x.NextPageToken)
16043	}
16044}
16045
16046// method id "dfareporting.accountUserProfiles.patch":
16047
16048type AccountUserProfilesPatchCall struct {
16049	s                  *Service
16050	profileId          int64
16051	accountuserprofile *AccountUserProfile
16052	urlParams_         gensupport.URLParams
16053	ctx_               context.Context
16054	header_            http.Header
16055}
16056
16057// Patch: Updates an existing account user profile. This method supports
16058// patch semantics.
16059func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
16060	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16061	c.profileId = profileId
16062	c.urlParams_.Set("id", fmt.Sprint(id))
16063	c.accountuserprofile = accountuserprofile
16064	return c
16065}
16066
16067// Fields allows partial responses to be retrieved. See
16068// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16069// for more information.
16070func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
16071	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16072	return c
16073}
16074
16075// Context sets the context to be used in this call's Do method. Any
16076// pending HTTP request will be aborted if the provided context is
16077// canceled.
16078func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
16079	c.ctx_ = ctx
16080	return c
16081}
16082
16083// Header returns an http.Header that can be modified by the caller to
16084// add HTTP headers to the request.
16085func (c *AccountUserProfilesPatchCall) Header() http.Header {
16086	if c.header_ == nil {
16087		c.header_ = make(http.Header)
16088	}
16089	return c.header_
16090}
16091
16092func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
16093	reqHeaders := make(http.Header)
16094	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
16095	for k, v := range c.header_ {
16096		reqHeaders[k] = v
16097	}
16098	reqHeaders.Set("User-Agent", c.s.userAgent())
16099	var body io.Reader = nil
16100	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
16101	if err != nil {
16102		return nil, err
16103	}
16104	reqHeaders.Set("Content-Type", "application/json")
16105	c.urlParams_.Set("alt", alt)
16106	c.urlParams_.Set("prettyPrint", "false")
16107	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
16108	urls += "?" + c.urlParams_.Encode()
16109	req, err := http.NewRequest("PATCH", urls, body)
16110	if err != nil {
16111		return nil, err
16112	}
16113	req.Header = reqHeaders
16114	googleapi.Expand(req.URL, map[string]string{
16115		"profileId": strconv.FormatInt(c.profileId, 10),
16116	})
16117	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16118}
16119
16120// Do executes the "dfareporting.accountUserProfiles.patch" call.
16121// Exactly one of *AccountUserProfile or error will be non-nil. Any
16122// non-2xx status code is an error. Response headers are in either
16123// *AccountUserProfile.ServerResponse.Header or (if a response was
16124// returned at all) in error.(*googleapi.Error).Header. Use
16125// googleapi.IsNotModified to check whether the returned error was
16126// because http.StatusNotModified was returned.
16127func (c *AccountUserProfilesPatchCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
16128	gensupport.SetOptions(c.urlParams_, opts...)
16129	res, err := c.doRequest("json")
16130	if res != nil && res.StatusCode == http.StatusNotModified {
16131		if res.Body != nil {
16132			res.Body.Close()
16133		}
16134		return nil, &googleapi.Error{
16135			Code:   res.StatusCode,
16136			Header: res.Header,
16137		}
16138	}
16139	if err != nil {
16140		return nil, err
16141	}
16142	defer googleapi.CloseBody(res)
16143	if err := googleapi.CheckResponse(res); err != nil {
16144		return nil, err
16145	}
16146	ret := &AccountUserProfile{
16147		ServerResponse: googleapi.ServerResponse{
16148			Header:         res.Header,
16149			HTTPStatusCode: res.StatusCode,
16150		},
16151	}
16152	target := &ret
16153	if err := gensupport.DecodeResponse(target, res); err != nil {
16154		return nil, err
16155	}
16156	return ret, nil
16157	// {
16158	//   "description": "Updates an existing account user profile. This method supports patch semantics.",
16159	//   "httpMethod": "PATCH",
16160	//   "id": "dfareporting.accountUserProfiles.patch",
16161	//   "parameterOrder": [
16162	//     "profileId",
16163	//     "id"
16164	//   ],
16165	//   "parameters": {
16166	//     "id": {
16167	//       "description": "User profile ID.",
16168	//       "format": "int64",
16169	//       "location": "query",
16170	//       "required": true,
16171	//       "type": "string"
16172	//     },
16173	//     "profileId": {
16174	//       "description": "User profile ID associated with this request.",
16175	//       "format": "int64",
16176	//       "location": "path",
16177	//       "required": true,
16178	//       "type": "string"
16179	//     }
16180	//   },
16181	//   "path": "userprofiles/{profileId}/accountUserProfiles",
16182	//   "request": {
16183	//     "$ref": "AccountUserProfile"
16184	//   },
16185	//   "response": {
16186	//     "$ref": "AccountUserProfile"
16187	//   },
16188	//   "scopes": [
16189	//     "https://www.googleapis.com/auth/dfatrafficking"
16190	//   ]
16191	// }
16192
16193}
16194
16195// method id "dfareporting.accountUserProfiles.update":
16196
16197type AccountUserProfilesUpdateCall struct {
16198	s                  *Service
16199	profileId          int64
16200	accountuserprofile *AccountUserProfile
16201	urlParams_         gensupport.URLParams
16202	ctx_               context.Context
16203	header_            http.Header
16204}
16205
16206// Update: Updates an existing account user profile.
16207func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
16208	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16209	c.profileId = profileId
16210	c.accountuserprofile = accountuserprofile
16211	return c
16212}
16213
16214// Fields allows partial responses to be retrieved. See
16215// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16216// for more information.
16217func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
16218	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16219	return c
16220}
16221
16222// Context sets the context to be used in this call's Do method. Any
16223// pending HTTP request will be aborted if the provided context is
16224// canceled.
16225func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
16226	c.ctx_ = ctx
16227	return c
16228}
16229
16230// Header returns an http.Header that can be modified by the caller to
16231// add HTTP headers to the request.
16232func (c *AccountUserProfilesUpdateCall) Header() http.Header {
16233	if c.header_ == nil {
16234		c.header_ = make(http.Header)
16235	}
16236	return c.header_
16237}
16238
16239func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
16240	reqHeaders := make(http.Header)
16241	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
16242	for k, v := range c.header_ {
16243		reqHeaders[k] = v
16244	}
16245	reqHeaders.Set("User-Agent", c.s.userAgent())
16246	var body io.Reader = nil
16247	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
16248	if err != nil {
16249		return nil, err
16250	}
16251	reqHeaders.Set("Content-Type", "application/json")
16252	c.urlParams_.Set("alt", alt)
16253	c.urlParams_.Set("prettyPrint", "false")
16254	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
16255	urls += "?" + c.urlParams_.Encode()
16256	req, err := http.NewRequest("PUT", urls, body)
16257	if err != nil {
16258		return nil, err
16259	}
16260	req.Header = reqHeaders
16261	googleapi.Expand(req.URL, map[string]string{
16262		"profileId": strconv.FormatInt(c.profileId, 10),
16263	})
16264	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16265}
16266
16267// Do executes the "dfareporting.accountUserProfiles.update" call.
16268// Exactly one of *AccountUserProfile or error will be non-nil. Any
16269// non-2xx status code is an error. Response headers are in either
16270// *AccountUserProfile.ServerResponse.Header or (if a response was
16271// returned at all) in error.(*googleapi.Error).Header. Use
16272// googleapi.IsNotModified to check whether the returned error was
16273// because http.StatusNotModified was returned.
16274func (c *AccountUserProfilesUpdateCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
16275	gensupport.SetOptions(c.urlParams_, opts...)
16276	res, err := c.doRequest("json")
16277	if res != nil && res.StatusCode == http.StatusNotModified {
16278		if res.Body != nil {
16279			res.Body.Close()
16280		}
16281		return nil, &googleapi.Error{
16282			Code:   res.StatusCode,
16283			Header: res.Header,
16284		}
16285	}
16286	if err != nil {
16287		return nil, err
16288	}
16289	defer googleapi.CloseBody(res)
16290	if err := googleapi.CheckResponse(res); err != nil {
16291		return nil, err
16292	}
16293	ret := &AccountUserProfile{
16294		ServerResponse: googleapi.ServerResponse{
16295			Header:         res.Header,
16296			HTTPStatusCode: res.StatusCode,
16297		},
16298	}
16299	target := &ret
16300	if err := gensupport.DecodeResponse(target, res); err != nil {
16301		return nil, err
16302	}
16303	return ret, nil
16304	// {
16305	//   "description": "Updates an existing account user profile.",
16306	//   "httpMethod": "PUT",
16307	//   "id": "dfareporting.accountUserProfiles.update",
16308	//   "parameterOrder": [
16309	//     "profileId"
16310	//   ],
16311	//   "parameters": {
16312	//     "profileId": {
16313	//       "description": "User profile ID associated with this request.",
16314	//       "format": "int64",
16315	//       "location": "path",
16316	//       "required": true,
16317	//       "type": "string"
16318	//     }
16319	//   },
16320	//   "path": "userprofiles/{profileId}/accountUserProfiles",
16321	//   "request": {
16322	//     "$ref": "AccountUserProfile"
16323	//   },
16324	//   "response": {
16325	//     "$ref": "AccountUserProfile"
16326	//   },
16327	//   "scopes": [
16328	//     "https://www.googleapis.com/auth/dfatrafficking"
16329	//   ]
16330	// }
16331
16332}
16333
16334// method id "dfareporting.accounts.get":
16335
16336type AccountsGetCall struct {
16337	s            *Service
16338	profileId    int64
16339	id           int64
16340	urlParams_   gensupport.URLParams
16341	ifNoneMatch_ string
16342	ctx_         context.Context
16343	header_      http.Header
16344}
16345
16346// Get: Gets one account by ID.
16347func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
16348	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16349	c.profileId = profileId
16350	c.id = id
16351	return c
16352}
16353
16354// Fields allows partial responses to be retrieved. See
16355// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16356// for more information.
16357func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
16358	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16359	return c
16360}
16361
16362// IfNoneMatch sets the optional parameter which makes the operation
16363// fail if the object's ETag matches the given value. This is useful for
16364// getting updates only after the object has changed since the last
16365// request. Use googleapi.IsNotModified to check whether the response
16366// error from Do is the result of In-None-Match.
16367func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
16368	c.ifNoneMatch_ = entityTag
16369	return c
16370}
16371
16372// Context sets the context to be used in this call's Do method. Any
16373// pending HTTP request will be aborted if the provided context is
16374// canceled.
16375func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
16376	c.ctx_ = ctx
16377	return c
16378}
16379
16380// Header returns an http.Header that can be modified by the caller to
16381// add HTTP headers to the request.
16382func (c *AccountsGetCall) Header() http.Header {
16383	if c.header_ == nil {
16384		c.header_ = make(http.Header)
16385	}
16386	return c.header_
16387}
16388
16389func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
16390	reqHeaders := make(http.Header)
16391	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
16392	for k, v := range c.header_ {
16393		reqHeaders[k] = v
16394	}
16395	reqHeaders.Set("User-Agent", c.s.userAgent())
16396	if c.ifNoneMatch_ != "" {
16397		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16398	}
16399	var body io.Reader = nil
16400	c.urlParams_.Set("alt", alt)
16401	c.urlParams_.Set("prettyPrint", "false")
16402	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
16403	urls += "?" + c.urlParams_.Encode()
16404	req, err := http.NewRequest("GET", urls, body)
16405	if err != nil {
16406		return nil, err
16407	}
16408	req.Header = reqHeaders
16409	googleapi.Expand(req.URL, map[string]string{
16410		"profileId": strconv.FormatInt(c.profileId, 10),
16411		"id":        strconv.FormatInt(c.id, 10),
16412	})
16413	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16414}
16415
16416// Do executes the "dfareporting.accounts.get" call.
16417// Exactly one of *Account or error will be non-nil. Any non-2xx status
16418// code is an error. Response headers are in either
16419// *Account.ServerResponse.Header or (if a response was returned at all)
16420// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16421// check whether the returned error was because http.StatusNotModified
16422// was returned.
16423func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
16424	gensupport.SetOptions(c.urlParams_, opts...)
16425	res, err := c.doRequest("json")
16426	if res != nil && res.StatusCode == http.StatusNotModified {
16427		if res.Body != nil {
16428			res.Body.Close()
16429		}
16430		return nil, &googleapi.Error{
16431			Code:   res.StatusCode,
16432			Header: res.Header,
16433		}
16434	}
16435	if err != nil {
16436		return nil, err
16437	}
16438	defer googleapi.CloseBody(res)
16439	if err := googleapi.CheckResponse(res); err != nil {
16440		return nil, err
16441	}
16442	ret := &Account{
16443		ServerResponse: googleapi.ServerResponse{
16444			Header:         res.Header,
16445			HTTPStatusCode: res.StatusCode,
16446		},
16447	}
16448	target := &ret
16449	if err := gensupport.DecodeResponse(target, res); err != nil {
16450		return nil, err
16451	}
16452	return ret, nil
16453	// {
16454	//   "description": "Gets one account by ID.",
16455	//   "httpMethod": "GET",
16456	//   "id": "dfareporting.accounts.get",
16457	//   "parameterOrder": [
16458	//     "profileId",
16459	//     "id"
16460	//   ],
16461	//   "parameters": {
16462	//     "id": {
16463	//       "description": "Account ID.",
16464	//       "format": "int64",
16465	//       "location": "path",
16466	//       "required": true,
16467	//       "type": "string"
16468	//     },
16469	//     "profileId": {
16470	//       "description": "User profile ID associated with this request.",
16471	//       "format": "int64",
16472	//       "location": "path",
16473	//       "required": true,
16474	//       "type": "string"
16475	//     }
16476	//   },
16477	//   "path": "userprofiles/{profileId}/accounts/{id}",
16478	//   "response": {
16479	//     "$ref": "Account"
16480	//   },
16481	//   "scopes": [
16482	//     "https://www.googleapis.com/auth/dfatrafficking"
16483	//   ]
16484	// }
16485
16486}
16487
16488// method id "dfareporting.accounts.list":
16489
16490type AccountsListCall struct {
16491	s            *Service
16492	profileId    int64
16493	urlParams_   gensupport.URLParams
16494	ifNoneMatch_ string
16495	ctx_         context.Context
16496	header_      http.Header
16497}
16498
16499// List: Retrieves the list of accounts, possibly filtered. This method
16500// supports paging.
16501func (r *AccountsService) List(profileId int64) *AccountsListCall {
16502	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16503	c.profileId = profileId
16504	return c
16505}
16506
16507// Active sets the optional parameter "active": Select only active
16508// accounts. Don't set this field to select both active and non-active
16509// accounts.
16510func (c *AccountsListCall) Active(active bool) *AccountsListCall {
16511	c.urlParams_.Set("active", fmt.Sprint(active))
16512	return c
16513}
16514
16515// Ids sets the optional parameter "ids": Select only accounts with
16516// these IDs.
16517func (c *AccountsListCall) Ids(ids ...int64) *AccountsListCall {
16518	var ids_ []string
16519	for _, v := range ids {
16520		ids_ = append(ids_, fmt.Sprint(v))
16521	}
16522	c.urlParams_.SetMulti("ids", ids_)
16523	return c
16524}
16525
16526// MaxResults sets the optional parameter "maxResults": Maximum number
16527// of results to return.
16528func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
16529	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
16530	return c
16531}
16532
16533// PageToken sets the optional parameter "pageToken": Value of the
16534// nextPageToken from the previous result page.
16535func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
16536	c.urlParams_.Set("pageToken", pageToken)
16537	return c
16538}
16539
16540// SearchString sets the optional parameter "searchString": Allows
16541// searching for objects by name or ID. Wildcards (*) are allowed. For
16542// example, "account*2015" will return objects with names like "account
16543// June 2015", "account April 2015", or simply "account 2015". Most of
16544// the searches also add wildcards implicitly at the start and the end
16545// of the search string. For example, a search string of "account" will
16546// match objects with name "my account", "account 2015", or simply
16547// "account".
16548func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
16549	c.urlParams_.Set("searchString", searchString)
16550	return c
16551}
16552
16553// SortField sets the optional parameter "sortField": Field by which to
16554// sort the list.
16555//
16556// Possible values:
16557//   "ID" (default)
16558//   "NAME"
16559func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
16560	c.urlParams_.Set("sortField", sortField)
16561	return c
16562}
16563
16564// SortOrder sets the optional parameter "sortOrder": Order of sorted
16565// results.
16566//
16567// Possible values:
16568//   "ASCENDING" (default)
16569//   "DESCENDING"
16570func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
16571	c.urlParams_.Set("sortOrder", sortOrder)
16572	return c
16573}
16574
16575// Fields allows partial responses to be retrieved. See
16576// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16577// for more information.
16578func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
16579	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16580	return c
16581}
16582
16583// IfNoneMatch sets the optional parameter which makes the operation
16584// fail if the object's ETag matches the given value. This is useful for
16585// getting updates only after the object has changed since the last
16586// request. Use googleapi.IsNotModified to check whether the response
16587// error from Do is the result of In-None-Match.
16588func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
16589	c.ifNoneMatch_ = entityTag
16590	return c
16591}
16592
16593// Context sets the context to be used in this call's Do method. Any
16594// pending HTTP request will be aborted if the provided context is
16595// canceled.
16596func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
16597	c.ctx_ = ctx
16598	return c
16599}
16600
16601// Header returns an http.Header that can be modified by the caller to
16602// add HTTP headers to the request.
16603func (c *AccountsListCall) Header() http.Header {
16604	if c.header_ == nil {
16605		c.header_ = make(http.Header)
16606	}
16607	return c.header_
16608}
16609
16610func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
16611	reqHeaders := make(http.Header)
16612	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
16613	for k, v := range c.header_ {
16614		reqHeaders[k] = v
16615	}
16616	reqHeaders.Set("User-Agent", c.s.userAgent())
16617	if c.ifNoneMatch_ != "" {
16618		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16619	}
16620	var body io.Reader = nil
16621	c.urlParams_.Set("alt", alt)
16622	c.urlParams_.Set("prettyPrint", "false")
16623	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16624	urls += "?" + c.urlParams_.Encode()
16625	req, err := http.NewRequest("GET", urls, body)
16626	if err != nil {
16627		return nil, err
16628	}
16629	req.Header = reqHeaders
16630	googleapi.Expand(req.URL, map[string]string{
16631		"profileId": strconv.FormatInt(c.profileId, 10),
16632	})
16633	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16634}
16635
16636// Do executes the "dfareporting.accounts.list" call.
16637// Exactly one of *AccountsListResponse or error will be non-nil. Any
16638// non-2xx status code is an error. Response headers are in either
16639// *AccountsListResponse.ServerResponse.Header or (if a response was
16640// returned at all) in error.(*googleapi.Error).Header. Use
16641// googleapi.IsNotModified to check whether the returned error was
16642// because http.StatusNotModified was returned.
16643func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsListResponse, error) {
16644	gensupport.SetOptions(c.urlParams_, opts...)
16645	res, err := c.doRequest("json")
16646	if res != nil && res.StatusCode == http.StatusNotModified {
16647		if res.Body != nil {
16648			res.Body.Close()
16649		}
16650		return nil, &googleapi.Error{
16651			Code:   res.StatusCode,
16652			Header: res.Header,
16653		}
16654	}
16655	if err != nil {
16656		return nil, err
16657	}
16658	defer googleapi.CloseBody(res)
16659	if err := googleapi.CheckResponse(res); err != nil {
16660		return nil, err
16661	}
16662	ret := &AccountsListResponse{
16663		ServerResponse: googleapi.ServerResponse{
16664			Header:         res.Header,
16665			HTTPStatusCode: res.StatusCode,
16666		},
16667	}
16668	target := &ret
16669	if err := gensupport.DecodeResponse(target, res); err != nil {
16670		return nil, err
16671	}
16672	return ret, nil
16673	// {
16674	//   "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
16675	//   "httpMethod": "GET",
16676	//   "id": "dfareporting.accounts.list",
16677	//   "parameterOrder": [
16678	//     "profileId"
16679	//   ],
16680	//   "parameters": {
16681	//     "active": {
16682	//       "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.",
16683	//       "location": "query",
16684	//       "type": "boolean"
16685	//     },
16686	//     "ids": {
16687	//       "description": "Select only accounts with these IDs.",
16688	//       "format": "int64",
16689	//       "location": "query",
16690	//       "repeated": true,
16691	//       "type": "string"
16692	//     },
16693	//     "maxResults": {
16694	//       "default": "1000",
16695	//       "description": "Maximum number of results to return.",
16696	//       "format": "int32",
16697	//       "location": "query",
16698	//       "maximum": "1000",
16699	//       "minimum": "0",
16700	//       "type": "integer"
16701	//     },
16702	//     "pageToken": {
16703	//       "description": "Value of the nextPageToken from the previous result page.",
16704	//       "location": "query",
16705	//       "type": "string"
16706	//     },
16707	//     "profileId": {
16708	//       "description": "User profile ID associated with this request.",
16709	//       "format": "int64",
16710	//       "location": "path",
16711	//       "required": true,
16712	//       "type": "string"
16713	//     },
16714	//     "searchString": {
16715	//       "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\".",
16716	//       "location": "query",
16717	//       "type": "string"
16718	//     },
16719	//     "sortField": {
16720	//       "default": "ID",
16721	//       "description": "Field by which to sort the list.",
16722	//       "enum": [
16723	//         "ID",
16724	//         "NAME"
16725	//       ],
16726	//       "enumDescriptions": [
16727	//         "",
16728	//         ""
16729	//       ],
16730	//       "location": "query",
16731	//       "type": "string"
16732	//     },
16733	//     "sortOrder": {
16734	//       "default": "ASCENDING",
16735	//       "description": "Order of sorted results.",
16736	//       "enum": [
16737	//         "ASCENDING",
16738	//         "DESCENDING"
16739	//       ],
16740	//       "enumDescriptions": [
16741	//         "",
16742	//         ""
16743	//       ],
16744	//       "location": "query",
16745	//       "type": "string"
16746	//     }
16747	//   },
16748	//   "path": "userprofiles/{profileId}/accounts",
16749	//   "response": {
16750	//     "$ref": "AccountsListResponse"
16751	//   },
16752	//   "scopes": [
16753	//     "https://www.googleapis.com/auth/dfatrafficking"
16754	//   ]
16755	// }
16756
16757}
16758
16759// Pages invokes f for each page of results.
16760// A non-nil error returned from f will halt the iteration.
16761// The provided context supersedes any context provided to the Context method.
16762func (c *AccountsListCall) Pages(ctx context.Context, f func(*AccountsListResponse) error) error {
16763	c.ctx_ = ctx
16764	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16765	for {
16766		x, err := c.Do()
16767		if err != nil {
16768			return err
16769		}
16770		if err := f(x); err != nil {
16771			return err
16772		}
16773		if x.NextPageToken == "" {
16774			return nil
16775		}
16776		c.PageToken(x.NextPageToken)
16777	}
16778}
16779
16780// method id "dfareporting.accounts.patch":
16781
16782type AccountsPatchCall struct {
16783	s          *Service
16784	profileId  int64
16785	account    *Account
16786	urlParams_ gensupport.URLParams
16787	ctx_       context.Context
16788	header_    http.Header
16789}
16790
16791// Patch: Updates an existing account. This method supports patch
16792// semantics.
16793func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
16794	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16795	c.profileId = profileId
16796	c.urlParams_.Set("id", fmt.Sprint(id))
16797	c.account = account
16798	return c
16799}
16800
16801// Fields allows partial responses to be retrieved. See
16802// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16803// for more information.
16804func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
16805	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16806	return c
16807}
16808
16809// Context sets the context to be used in this call's Do method. Any
16810// pending HTTP request will be aborted if the provided context is
16811// canceled.
16812func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
16813	c.ctx_ = ctx
16814	return c
16815}
16816
16817// Header returns an http.Header that can be modified by the caller to
16818// add HTTP headers to the request.
16819func (c *AccountsPatchCall) Header() http.Header {
16820	if c.header_ == nil {
16821		c.header_ = make(http.Header)
16822	}
16823	return c.header_
16824}
16825
16826func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
16827	reqHeaders := make(http.Header)
16828	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
16829	for k, v := range c.header_ {
16830		reqHeaders[k] = v
16831	}
16832	reqHeaders.Set("User-Agent", c.s.userAgent())
16833	var body io.Reader = nil
16834	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
16835	if err != nil {
16836		return nil, err
16837	}
16838	reqHeaders.Set("Content-Type", "application/json")
16839	c.urlParams_.Set("alt", alt)
16840	c.urlParams_.Set("prettyPrint", "false")
16841	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16842	urls += "?" + c.urlParams_.Encode()
16843	req, err := http.NewRequest("PATCH", urls, body)
16844	if err != nil {
16845		return nil, err
16846	}
16847	req.Header = reqHeaders
16848	googleapi.Expand(req.URL, map[string]string{
16849		"profileId": strconv.FormatInt(c.profileId, 10),
16850	})
16851	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16852}
16853
16854// Do executes the "dfareporting.accounts.patch" call.
16855// Exactly one of *Account or error will be non-nil. Any non-2xx status
16856// code is an error. Response headers are in either
16857// *Account.ServerResponse.Header or (if a response was returned at all)
16858// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16859// check whether the returned error was because http.StatusNotModified
16860// was returned.
16861func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) {
16862	gensupport.SetOptions(c.urlParams_, opts...)
16863	res, err := c.doRequest("json")
16864	if res != nil && res.StatusCode == http.StatusNotModified {
16865		if res.Body != nil {
16866			res.Body.Close()
16867		}
16868		return nil, &googleapi.Error{
16869			Code:   res.StatusCode,
16870			Header: res.Header,
16871		}
16872	}
16873	if err != nil {
16874		return nil, err
16875	}
16876	defer googleapi.CloseBody(res)
16877	if err := googleapi.CheckResponse(res); err != nil {
16878		return nil, err
16879	}
16880	ret := &Account{
16881		ServerResponse: googleapi.ServerResponse{
16882			Header:         res.Header,
16883			HTTPStatusCode: res.StatusCode,
16884		},
16885	}
16886	target := &ret
16887	if err := gensupport.DecodeResponse(target, res); err != nil {
16888		return nil, err
16889	}
16890	return ret, nil
16891	// {
16892	//   "description": "Updates an existing account. This method supports patch semantics.",
16893	//   "httpMethod": "PATCH",
16894	//   "id": "dfareporting.accounts.patch",
16895	//   "parameterOrder": [
16896	//     "profileId",
16897	//     "id"
16898	//   ],
16899	//   "parameters": {
16900	//     "id": {
16901	//       "description": "Account ID.",
16902	//       "format": "int64",
16903	//       "location": "query",
16904	//       "required": true,
16905	//       "type": "string"
16906	//     },
16907	//     "profileId": {
16908	//       "description": "User profile ID associated with this request.",
16909	//       "format": "int64",
16910	//       "location": "path",
16911	//       "required": true,
16912	//       "type": "string"
16913	//     }
16914	//   },
16915	//   "path": "userprofiles/{profileId}/accounts",
16916	//   "request": {
16917	//     "$ref": "Account"
16918	//   },
16919	//   "response": {
16920	//     "$ref": "Account"
16921	//   },
16922	//   "scopes": [
16923	//     "https://www.googleapis.com/auth/dfatrafficking"
16924	//   ]
16925	// }
16926
16927}
16928
16929// method id "dfareporting.accounts.update":
16930
16931type AccountsUpdateCall struct {
16932	s          *Service
16933	profileId  int64
16934	account    *Account
16935	urlParams_ gensupport.URLParams
16936	ctx_       context.Context
16937	header_    http.Header
16938}
16939
16940// Update: Updates an existing account.
16941func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
16942	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16943	c.profileId = profileId
16944	c.account = account
16945	return c
16946}
16947
16948// Fields allows partial responses to be retrieved. See
16949// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16950// for more information.
16951func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
16952	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16953	return c
16954}
16955
16956// Context sets the context to be used in this call's Do method. Any
16957// pending HTTP request will be aborted if the provided context is
16958// canceled.
16959func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
16960	c.ctx_ = ctx
16961	return c
16962}
16963
16964// Header returns an http.Header that can be modified by the caller to
16965// add HTTP headers to the request.
16966func (c *AccountsUpdateCall) Header() http.Header {
16967	if c.header_ == nil {
16968		c.header_ = make(http.Header)
16969	}
16970	return c.header_
16971}
16972
16973func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
16974	reqHeaders := make(http.Header)
16975	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
16976	for k, v := range c.header_ {
16977		reqHeaders[k] = v
16978	}
16979	reqHeaders.Set("User-Agent", c.s.userAgent())
16980	var body io.Reader = nil
16981	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
16982	if err != nil {
16983		return nil, err
16984	}
16985	reqHeaders.Set("Content-Type", "application/json")
16986	c.urlParams_.Set("alt", alt)
16987	c.urlParams_.Set("prettyPrint", "false")
16988	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16989	urls += "?" + c.urlParams_.Encode()
16990	req, err := http.NewRequest("PUT", urls, body)
16991	if err != nil {
16992		return nil, err
16993	}
16994	req.Header = reqHeaders
16995	googleapi.Expand(req.URL, map[string]string{
16996		"profileId": strconv.FormatInt(c.profileId, 10),
16997	})
16998	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16999}
17000
17001// Do executes the "dfareporting.accounts.update" call.
17002// Exactly one of *Account or error will be non-nil. Any non-2xx status
17003// code is an error. Response headers are in either
17004// *Account.ServerResponse.Header or (if a response was returned at all)
17005// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
17006// check whether the returned error was because http.StatusNotModified
17007// was returned.
17008func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
17009	gensupport.SetOptions(c.urlParams_, opts...)
17010	res, err := c.doRequest("json")
17011	if res != nil && res.StatusCode == http.StatusNotModified {
17012		if res.Body != nil {
17013			res.Body.Close()
17014		}
17015		return nil, &googleapi.Error{
17016			Code:   res.StatusCode,
17017			Header: res.Header,
17018		}
17019	}
17020	if err != nil {
17021		return nil, err
17022	}
17023	defer googleapi.CloseBody(res)
17024	if err := googleapi.CheckResponse(res); err != nil {
17025		return nil, err
17026	}
17027	ret := &Account{
17028		ServerResponse: googleapi.ServerResponse{
17029			Header:         res.Header,
17030			HTTPStatusCode: res.StatusCode,
17031		},
17032	}
17033	target := &ret
17034	if err := gensupport.DecodeResponse(target, res); err != nil {
17035		return nil, err
17036	}
17037	return ret, nil
17038	// {
17039	//   "description": "Updates an existing account.",
17040	//   "httpMethod": "PUT",
17041	//   "id": "dfareporting.accounts.update",
17042	//   "parameterOrder": [
17043	//     "profileId"
17044	//   ],
17045	//   "parameters": {
17046	//     "profileId": {
17047	//       "description": "User profile ID associated with this request.",
17048	//       "format": "int64",
17049	//       "location": "path",
17050	//       "required": true,
17051	//       "type": "string"
17052	//     }
17053	//   },
17054	//   "path": "userprofiles/{profileId}/accounts",
17055	//   "request": {
17056	//     "$ref": "Account"
17057	//   },
17058	//   "response": {
17059	//     "$ref": "Account"
17060	//   },
17061	//   "scopes": [
17062	//     "https://www.googleapis.com/auth/dfatrafficking"
17063	//   ]
17064	// }
17065
17066}
17067
17068// method id "dfareporting.ads.get":
17069
17070type AdsGetCall struct {
17071	s            *Service
17072	profileId    int64
17073	id           int64
17074	urlParams_   gensupport.URLParams
17075	ifNoneMatch_ string
17076	ctx_         context.Context
17077	header_      http.Header
17078}
17079
17080// Get: Gets one ad by ID.
17081func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
17082	c := &AdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17083	c.profileId = profileId
17084	c.id = id
17085	return c
17086}
17087
17088// Fields allows partial responses to be retrieved. See
17089// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17090// for more information.
17091func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
17092	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17093	return c
17094}
17095
17096// IfNoneMatch sets the optional parameter which makes the operation
17097// fail if the object's ETag matches the given value. This is useful for
17098// getting updates only after the object has changed since the last
17099// request. Use googleapi.IsNotModified to check whether the response
17100// error from Do is the result of In-None-Match.
17101func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
17102	c.ifNoneMatch_ = entityTag
17103	return c
17104}
17105
17106// Context sets the context to be used in this call's Do method. Any
17107// pending HTTP request will be aborted if the provided context is
17108// canceled.
17109func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
17110	c.ctx_ = ctx
17111	return c
17112}
17113
17114// Header returns an http.Header that can be modified by the caller to
17115// add HTTP headers to the request.
17116func (c *AdsGetCall) Header() http.Header {
17117	if c.header_ == nil {
17118		c.header_ = make(http.Header)
17119	}
17120	return c.header_
17121}
17122
17123func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
17124	reqHeaders := make(http.Header)
17125	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
17126	for k, v := range c.header_ {
17127		reqHeaders[k] = v
17128	}
17129	reqHeaders.Set("User-Agent", c.s.userAgent())
17130	if c.ifNoneMatch_ != "" {
17131		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17132	}
17133	var body io.Reader = nil
17134	c.urlParams_.Set("alt", alt)
17135	c.urlParams_.Set("prettyPrint", "false")
17136	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
17137	urls += "?" + c.urlParams_.Encode()
17138	req, err := http.NewRequest("GET", urls, body)
17139	if err != nil {
17140		return nil, err
17141	}
17142	req.Header = reqHeaders
17143	googleapi.Expand(req.URL, map[string]string{
17144		"profileId": strconv.FormatInt(c.profileId, 10),
17145		"id":        strconv.FormatInt(c.id, 10),
17146	})
17147	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17148}
17149
17150// Do executes the "dfareporting.ads.get" call.
17151// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
17152// is an error. Response headers are in either *Ad.ServerResponse.Header
17153// or (if a response was returned at all) in
17154// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17155// whether the returned error was because http.StatusNotModified was
17156// returned.
17157func (c *AdsGetCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
17158	gensupport.SetOptions(c.urlParams_, opts...)
17159	res, err := c.doRequest("json")
17160	if res != nil && res.StatusCode == http.StatusNotModified {
17161		if res.Body != nil {
17162			res.Body.Close()
17163		}
17164		return nil, &googleapi.Error{
17165			Code:   res.StatusCode,
17166			Header: res.Header,
17167		}
17168	}
17169	if err != nil {
17170		return nil, err
17171	}
17172	defer googleapi.CloseBody(res)
17173	if err := googleapi.CheckResponse(res); err != nil {
17174		return nil, err
17175	}
17176	ret := &Ad{
17177		ServerResponse: googleapi.ServerResponse{
17178			Header:         res.Header,
17179			HTTPStatusCode: res.StatusCode,
17180		},
17181	}
17182	target := &ret
17183	if err := gensupport.DecodeResponse(target, res); err != nil {
17184		return nil, err
17185	}
17186	return ret, nil
17187	// {
17188	//   "description": "Gets one ad by ID.",
17189	//   "httpMethod": "GET",
17190	//   "id": "dfareporting.ads.get",
17191	//   "parameterOrder": [
17192	//     "profileId",
17193	//     "id"
17194	//   ],
17195	//   "parameters": {
17196	//     "id": {
17197	//       "description": "Ad ID.",
17198	//       "format": "int64",
17199	//       "location": "path",
17200	//       "required": true,
17201	//       "type": "string"
17202	//     },
17203	//     "profileId": {
17204	//       "description": "User profile ID associated with this request.",
17205	//       "format": "int64",
17206	//       "location": "path",
17207	//       "required": true,
17208	//       "type": "string"
17209	//     }
17210	//   },
17211	//   "path": "userprofiles/{profileId}/ads/{id}",
17212	//   "response": {
17213	//     "$ref": "Ad"
17214	//   },
17215	//   "scopes": [
17216	//     "https://www.googleapis.com/auth/dfatrafficking"
17217	//   ]
17218	// }
17219
17220}
17221
17222// method id "dfareporting.ads.insert":
17223
17224type AdsInsertCall struct {
17225	s          *Service
17226	profileId  int64
17227	ad         *Ad
17228	urlParams_ gensupport.URLParams
17229	ctx_       context.Context
17230	header_    http.Header
17231}
17232
17233// Insert: Inserts a new ad.
17234func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
17235	c := &AdsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17236	c.profileId = profileId
17237	c.ad = ad
17238	return c
17239}
17240
17241// Fields allows partial responses to be retrieved. See
17242// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17243// for more information.
17244func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
17245	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17246	return c
17247}
17248
17249// Context sets the context to be used in this call's Do method. Any
17250// pending HTTP request will be aborted if the provided context is
17251// canceled.
17252func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
17253	c.ctx_ = ctx
17254	return c
17255}
17256
17257// Header returns an http.Header that can be modified by the caller to
17258// add HTTP headers to the request.
17259func (c *AdsInsertCall) Header() http.Header {
17260	if c.header_ == nil {
17261		c.header_ = make(http.Header)
17262	}
17263	return c.header_
17264}
17265
17266func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
17267	reqHeaders := make(http.Header)
17268	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
17269	for k, v := range c.header_ {
17270		reqHeaders[k] = v
17271	}
17272	reqHeaders.Set("User-Agent", c.s.userAgent())
17273	var body io.Reader = nil
17274	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
17275	if err != nil {
17276		return nil, err
17277	}
17278	reqHeaders.Set("Content-Type", "application/json")
17279	c.urlParams_.Set("alt", alt)
17280	c.urlParams_.Set("prettyPrint", "false")
17281	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17282	urls += "?" + c.urlParams_.Encode()
17283	req, err := http.NewRequest("POST", urls, body)
17284	if err != nil {
17285		return nil, err
17286	}
17287	req.Header = reqHeaders
17288	googleapi.Expand(req.URL, map[string]string{
17289		"profileId": strconv.FormatInt(c.profileId, 10),
17290	})
17291	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17292}
17293
17294// Do executes the "dfareporting.ads.insert" call.
17295// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
17296// is an error. Response headers are in either *Ad.ServerResponse.Header
17297// or (if a response was returned at all) in
17298// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17299// whether the returned error was because http.StatusNotModified was
17300// returned.
17301func (c *AdsInsertCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
17302	gensupport.SetOptions(c.urlParams_, opts...)
17303	res, err := c.doRequest("json")
17304	if res != nil && res.StatusCode == http.StatusNotModified {
17305		if res.Body != nil {
17306			res.Body.Close()
17307		}
17308		return nil, &googleapi.Error{
17309			Code:   res.StatusCode,
17310			Header: res.Header,
17311		}
17312	}
17313	if err != nil {
17314		return nil, err
17315	}
17316	defer googleapi.CloseBody(res)
17317	if err := googleapi.CheckResponse(res); err != nil {
17318		return nil, err
17319	}
17320	ret := &Ad{
17321		ServerResponse: googleapi.ServerResponse{
17322			Header:         res.Header,
17323			HTTPStatusCode: res.StatusCode,
17324		},
17325	}
17326	target := &ret
17327	if err := gensupport.DecodeResponse(target, res); err != nil {
17328		return nil, err
17329	}
17330	return ret, nil
17331	// {
17332	//   "description": "Inserts a new ad.",
17333	//   "httpMethod": "POST",
17334	//   "id": "dfareporting.ads.insert",
17335	//   "parameterOrder": [
17336	//     "profileId"
17337	//   ],
17338	//   "parameters": {
17339	//     "profileId": {
17340	//       "description": "User profile ID associated with this request.",
17341	//       "format": "int64",
17342	//       "location": "path",
17343	//       "required": true,
17344	//       "type": "string"
17345	//     }
17346	//   },
17347	//   "path": "userprofiles/{profileId}/ads",
17348	//   "request": {
17349	//     "$ref": "Ad"
17350	//   },
17351	//   "response": {
17352	//     "$ref": "Ad"
17353	//   },
17354	//   "scopes": [
17355	//     "https://www.googleapis.com/auth/dfatrafficking"
17356	//   ]
17357	// }
17358
17359}
17360
17361// method id "dfareporting.ads.list":
17362
17363type AdsListCall struct {
17364	s            *Service
17365	profileId    int64
17366	urlParams_   gensupport.URLParams
17367	ifNoneMatch_ string
17368	ctx_         context.Context
17369	header_      http.Header
17370}
17371
17372// List: Retrieves a list of ads, possibly filtered. This method
17373// supports paging.
17374func (r *AdsService) List(profileId int64) *AdsListCall {
17375	c := &AdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17376	c.profileId = profileId
17377	return c
17378}
17379
17380// Active sets the optional parameter "active": Select only active ads.
17381func (c *AdsListCall) Active(active bool) *AdsListCall {
17382	c.urlParams_.Set("active", fmt.Sprint(active))
17383	return c
17384}
17385
17386// AdvertiserId sets the optional parameter "advertiserId": Select only
17387// ads with this advertiser ID.
17388func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
17389	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
17390	return c
17391}
17392
17393// Archived sets the optional parameter "archived": Select only archived
17394// ads.
17395func (c *AdsListCall) Archived(archived bool) *AdsListCall {
17396	c.urlParams_.Set("archived", fmt.Sprint(archived))
17397	return c
17398}
17399
17400// AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
17401// Select only ads with these audience segment IDs.
17402func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds ...int64) *AdsListCall {
17403	var audienceSegmentIds_ []string
17404	for _, v := range audienceSegmentIds {
17405		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprint(v))
17406	}
17407	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
17408	return c
17409}
17410
17411// CampaignIds sets the optional parameter "campaignIds": Select only
17412// ads with these campaign IDs.
17413func (c *AdsListCall) CampaignIds(campaignIds ...int64) *AdsListCall {
17414	var campaignIds_ []string
17415	for _, v := range campaignIds {
17416		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
17417	}
17418	c.urlParams_.SetMulti("campaignIds", campaignIds_)
17419	return c
17420}
17421
17422// Compatibility sets the optional parameter "compatibility": Select
17423// default ads with the specified compatibility. Applicable when type is
17424// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
17425// rendering either on desktop or on mobile devices for regular or
17426// interstitial ads, respectively. APP and APP_INTERSTITIAL are for
17427// rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
17428// in-stream video ads developed with the VAST standard.
17429//
17430// Possible values:
17431//   "APP"
17432//   "APP_INTERSTITIAL"
17433//   "DISPLAY"
17434//   "DISPLAY_INTERSTITIAL"
17435//   "IN_STREAM_AUDIO"
17436//   "IN_STREAM_VIDEO"
17437func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
17438	c.urlParams_.Set("compatibility", compatibility)
17439	return c
17440}
17441
17442// CreativeIds sets the optional parameter "creativeIds": Select only
17443// ads with these creative IDs assigned.
17444func (c *AdsListCall) CreativeIds(creativeIds ...int64) *AdsListCall {
17445	var creativeIds_ []string
17446	for _, v := range creativeIds {
17447		creativeIds_ = append(creativeIds_, fmt.Sprint(v))
17448	}
17449	c.urlParams_.SetMulti("creativeIds", creativeIds_)
17450	return c
17451}
17452
17453// CreativeOptimizationConfigurationIds sets the optional parameter
17454// "creativeOptimizationConfigurationIds": Select only ads with these
17455// creative optimization configuration IDs.
17456func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds ...int64) *AdsListCall {
17457	var creativeOptimizationConfigurationIds_ []string
17458	for _, v := range creativeOptimizationConfigurationIds {
17459		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprint(v))
17460	}
17461	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
17462	return c
17463}
17464
17465// DynamicClickTracker sets the optional parameter
17466// "dynamicClickTracker": Select only dynamic click trackers. Applicable
17467// when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click
17468// trackers. If false, select static click trackers. Leave unset to
17469// select both.
17470func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
17471	c.urlParams_.Set("dynamicClickTracker", fmt.Sprint(dynamicClickTracker))
17472	return c
17473}
17474
17475// Ids sets the optional parameter "ids": Select only ads with these
17476// IDs.
17477func (c *AdsListCall) Ids(ids ...int64) *AdsListCall {
17478	var ids_ []string
17479	for _, v := range ids {
17480		ids_ = append(ids_, fmt.Sprint(v))
17481	}
17482	c.urlParams_.SetMulti("ids", ids_)
17483	return c
17484}
17485
17486// LandingPageIds sets the optional parameter "landingPageIds": Select
17487// only ads with these landing page IDs.
17488func (c *AdsListCall) LandingPageIds(landingPageIds ...int64) *AdsListCall {
17489	var landingPageIds_ []string
17490	for _, v := range landingPageIds {
17491		landingPageIds_ = append(landingPageIds_, fmt.Sprint(v))
17492	}
17493	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
17494	return c
17495}
17496
17497// MaxResults sets the optional parameter "maxResults": Maximum number
17498// of results to return.
17499func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
17500	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
17501	return c
17502}
17503
17504// OverriddenEventTagId sets the optional parameter
17505// "overriddenEventTagId": Select only ads with this event tag override
17506// ID.
17507func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
17508	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
17509	return c
17510}
17511
17512// PageToken sets the optional parameter "pageToken": Value of the
17513// nextPageToken from the previous result page.
17514func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
17515	c.urlParams_.Set("pageToken", pageToken)
17516	return c
17517}
17518
17519// PlacementIds sets the optional parameter "placementIds": Select only
17520// ads with these placement IDs assigned.
17521func (c *AdsListCall) PlacementIds(placementIds ...int64) *AdsListCall {
17522	var placementIds_ []string
17523	for _, v := range placementIds {
17524		placementIds_ = append(placementIds_, fmt.Sprint(v))
17525	}
17526	c.urlParams_.SetMulti("placementIds", placementIds_)
17527	return c
17528}
17529
17530// RemarketingListIds sets the optional parameter "remarketingListIds":
17531// Select only ads whose list targeting expression use these remarketing
17532// list IDs.
17533func (c *AdsListCall) RemarketingListIds(remarketingListIds ...int64) *AdsListCall {
17534	var remarketingListIds_ []string
17535	for _, v := range remarketingListIds {
17536		remarketingListIds_ = append(remarketingListIds_, fmt.Sprint(v))
17537	}
17538	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
17539	return c
17540}
17541
17542// SearchString sets the optional parameter "searchString": Allows
17543// searching for objects by name or ID. Wildcards (*) are allowed. For
17544// example, "ad*2015" will return objects with names like "ad June
17545// 2015", "ad April 2015", or simply "ad 2015". Most of the searches
17546// also add wildcards implicitly at the start and the end of the search
17547// string. For example, a search string of "ad" will match objects with
17548// name "my ad", "ad 2015", or simply "ad".
17549func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
17550	c.urlParams_.Set("searchString", searchString)
17551	return c
17552}
17553
17554// SizeIds sets the optional parameter "sizeIds": Select only ads with
17555// these size IDs.
17556func (c *AdsListCall) SizeIds(sizeIds ...int64) *AdsListCall {
17557	var sizeIds_ []string
17558	for _, v := range sizeIds {
17559		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
17560	}
17561	c.urlParams_.SetMulti("sizeIds", sizeIds_)
17562	return c
17563}
17564
17565// SortField sets the optional parameter "sortField": Field by which to
17566// sort the list.
17567//
17568// Possible values:
17569//   "ID" (default)
17570//   "NAME"
17571func (c *AdsListCall) SortField(sortField string) *AdsListCall {
17572	c.urlParams_.Set("sortField", sortField)
17573	return c
17574}
17575
17576// SortOrder sets the optional parameter "sortOrder": Order of sorted
17577// results.
17578//
17579// Possible values:
17580//   "ASCENDING" (default)
17581//   "DESCENDING"
17582func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
17583	c.urlParams_.Set("sortOrder", sortOrder)
17584	return c
17585}
17586
17587// SslCompliant sets the optional parameter "sslCompliant": Select only
17588// ads that are SSL-compliant.
17589func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
17590	c.urlParams_.Set("sslCompliant", fmt.Sprint(sslCompliant))
17591	return c
17592}
17593
17594// SslRequired sets the optional parameter "sslRequired": Select only
17595// ads that require SSL.
17596func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
17597	c.urlParams_.Set("sslRequired", fmt.Sprint(sslRequired))
17598	return c
17599}
17600
17601// Type sets the optional parameter "type": Select only ads with these
17602// types.
17603//
17604// Possible values:
17605//   "AD_SERVING_CLICK_TRACKER"
17606//   "AD_SERVING_DEFAULT_AD"
17607//   "AD_SERVING_STANDARD_AD"
17608//   "AD_SERVING_TRACKING"
17609func (c *AdsListCall) Type(type_ ...string) *AdsListCall {
17610	c.urlParams_.SetMulti("type", append([]string{}, type_...))
17611	return c
17612}
17613
17614// Fields allows partial responses to be retrieved. See
17615// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17616// for more information.
17617func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
17618	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17619	return c
17620}
17621
17622// IfNoneMatch sets the optional parameter which makes the operation
17623// fail if the object's ETag matches the given value. This is useful for
17624// getting updates only after the object has changed since the last
17625// request. Use googleapi.IsNotModified to check whether the response
17626// error from Do is the result of In-None-Match.
17627func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
17628	c.ifNoneMatch_ = entityTag
17629	return c
17630}
17631
17632// Context sets the context to be used in this call's Do method. Any
17633// pending HTTP request will be aborted if the provided context is
17634// canceled.
17635func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
17636	c.ctx_ = ctx
17637	return c
17638}
17639
17640// Header returns an http.Header that can be modified by the caller to
17641// add HTTP headers to the request.
17642func (c *AdsListCall) Header() http.Header {
17643	if c.header_ == nil {
17644		c.header_ = make(http.Header)
17645	}
17646	return c.header_
17647}
17648
17649func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
17650	reqHeaders := make(http.Header)
17651	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
17652	for k, v := range c.header_ {
17653		reqHeaders[k] = v
17654	}
17655	reqHeaders.Set("User-Agent", c.s.userAgent())
17656	if c.ifNoneMatch_ != "" {
17657		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17658	}
17659	var body io.Reader = nil
17660	c.urlParams_.Set("alt", alt)
17661	c.urlParams_.Set("prettyPrint", "false")
17662	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17663	urls += "?" + c.urlParams_.Encode()
17664	req, err := http.NewRequest("GET", urls, body)
17665	if err != nil {
17666		return nil, err
17667	}
17668	req.Header = reqHeaders
17669	googleapi.Expand(req.URL, map[string]string{
17670		"profileId": strconv.FormatInt(c.profileId, 10),
17671	})
17672	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17673}
17674
17675// Do executes the "dfareporting.ads.list" call.
17676// Exactly one of *AdsListResponse or error will be non-nil. Any non-2xx
17677// status code is an error. Response headers are in either
17678// *AdsListResponse.ServerResponse.Header or (if a response was returned
17679// at all) in error.(*googleapi.Error).Header. Use
17680// googleapi.IsNotModified to check whether the returned error was
17681// because http.StatusNotModified was returned.
17682func (c *AdsListCall) Do(opts ...googleapi.CallOption) (*AdsListResponse, error) {
17683	gensupport.SetOptions(c.urlParams_, opts...)
17684	res, err := c.doRequest("json")
17685	if res != nil && res.StatusCode == http.StatusNotModified {
17686		if res.Body != nil {
17687			res.Body.Close()
17688		}
17689		return nil, &googleapi.Error{
17690			Code:   res.StatusCode,
17691			Header: res.Header,
17692		}
17693	}
17694	if err != nil {
17695		return nil, err
17696	}
17697	defer googleapi.CloseBody(res)
17698	if err := googleapi.CheckResponse(res); err != nil {
17699		return nil, err
17700	}
17701	ret := &AdsListResponse{
17702		ServerResponse: googleapi.ServerResponse{
17703			Header:         res.Header,
17704			HTTPStatusCode: res.StatusCode,
17705		},
17706	}
17707	target := &ret
17708	if err := gensupport.DecodeResponse(target, res); err != nil {
17709		return nil, err
17710	}
17711	return ret, nil
17712	// {
17713	//   "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
17714	//   "httpMethod": "GET",
17715	//   "id": "dfareporting.ads.list",
17716	//   "parameterOrder": [
17717	//     "profileId"
17718	//   ],
17719	//   "parameters": {
17720	//     "active": {
17721	//       "description": "Select only active ads.",
17722	//       "location": "query",
17723	//       "type": "boolean"
17724	//     },
17725	//     "advertiserId": {
17726	//       "description": "Select only ads with this advertiser ID.",
17727	//       "format": "int64",
17728	//       "location": "query",
17729	//       "type": "string"
17730	//     },
17731	//     "archived": {
17732	//       "description": "Select only archived ads.",
17733	//       "location": "query",
17734	//       "type": "boolean"
17735	//     },
17736	//     "audienceSegmentIds": {
17737	//       "description": "Select only ads with these audience segment IDs.",
17738	//       "format": "int64",
17739	//       "location": "query",
17740	//       "repeated": true,
17741	//       "type": "string"
17742	//     },
17743	//     "campaignIds": {
17744	//       "description": "Select only ads with these campaign IDs.",
17745	//       "format": "int64",
17746	//       "location": "query",
17747	//       "repeated": true,
17748	//       "type": "string"
17749	//     },
17750	//     "compatibility": {
17751	//       "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.",
17752	//       "enum": [
17753	//         "APP",
17754	//         "APP_INTERSTITIAL",
17755	//         "DISPLAY",
17756	//         "DISPLAY_INTERSTITIAL",
17757	//         "IN_STREAM_AUDIO",
17758	//         "IN_STREAM_VIDEO"
17759	//       ],
17760	//       "enumDescriptions": [
17761	//         "",
17762	//         "",
17763	//         "",
17764	//         "",
17765	//         "",
17766	//         ""
17767	//       ],
17768	//       "location": "query",
17769	//       "type": "string"
17770	//     },
17771	//     "creativeIds": {
17772	//       "description": "Select only ads with these creative IDs assigned.",
17773	//       "format": "int64",
17774	//       "location": "query",
17775	//       "repeated": true,
17776	//       "type": "string"
17777	//     },
17778	//     "creativeOptimizationConfigurationIds": {
17779	//       "description": "Select only ads with these creative optimization configuration IDs.",
17780	//       "format": "int64",
17781	//       "location": "query",
17782	//       "repeated": true,
17783	//       "type": "string"
17784	//     },
17785	//     "dynamicClickTracker": {
17786	//       "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.",
17787	//       "location": "query",
17788	//       "type": "boolean"
17789	//     },
17790	//     "ids": {
17791	//       "description": "Select only ads with these IDs.",
17792	//       "format": "int64",
17793	//       "location": "query",
17794	//       "repeated": true,
17795	//       "type": "string"
17796	//     },
17797	//     "landingPageIds": {
17798	//       "description": "Select only ads with these landing page IDs.",
17799	//       "format": "int64",
17800	//       "location": "query",
17801	//       "repeated": true,
17802	//       "type": "string"
17803	//     },
17804	//     "maxResults": {
17805	//       "default": "1000",
17806	//       "description": "Maximum number of results to return.",
17807	//       "format": "int32",
17808	//       "location": "query",
17809	//       "maximum": "1000",
17810	//       "minimum": "0",
17811	//       "type": "integer"
17812	//     },
17813	//     "overriddenEventTagId": {
17814	//       "description": "Select only ads with this event tag override ID.",
17815	//       "format": "int64",
17816	//       "location": "query",
17817	//       "type": "string"
17818	//     },
17819	//     "pageToken": {
17820	//       "description": "Value of the nextPageToken from the previous result page.",
17821	//       "location": "query",
17822	//       "type": "string"
17823	//     },
17824	//     "placementIds": {
17825	//       "description": "Select only ads with these placement IDs assigned.",
17826	//       "format": "int64",
17827	//       "location": "query",
17828	//       "repeated": true,
17829	//       "type": "string"
17830	//     },
17831	//     "profileId": {
17832	//       "description": "User profile ID associated with this request.",
17833	//       "format": "int64",
17834	//       "location": "path",
17835	//       "required": true,
17836	//       "type": "string"
17837	//     },
17838	//     "remarketingListIds": {
17839	//       "description": "Select only ads whose list targeting expression use these remarketing list IDs.",
17840	//       "format": "int64",
17841	//       "location": "query",
17842	//       "repeated": true,
17843	//       "type": "string"
17844	//     },
17845	//     "searchString": {
17846	//       "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\".",
17847	//       "location": "query",
17848	//       "type": "string"
17849	//     },
17850	//     "sizeIds": {
17851	//       "description": "Select only ads with these size IDs.",
17852	//       "format": "int64",
17853	//       "location": "query",
17854	//       "repeated": true,
17855	//       "type": "string"
17856	//     },
17857	//     "sortField": {
17858	//       "default": "ID",
17859	//       "description": "Field by which to sort the list.",
17860	//       "enum": [
17861	//         "ID",
17862	//         "NAME"
17863	//       ],
17864	//       "enumDescriptions": [
17865	//         "",
17866	//         ""
17867	//       ],
17868	//       "location": "query",
17869	//       "type": "string"
17870	//     },
17871	//     "sortOrder": {
17872	//       "default": "ASCENDING",
17873	//       "description": "Order of sorted results.",
17874	//       "enum": [
17875	//         "ASCENDING",
17876	//         "DESCENDING"
17877	//       ],
17878	//       "enumDescriptions": [
17879	//         "",
17880	//         ""
17881	//       ],
17882	//       "location": "query",
17883	//       "type": "string"
17884	//     },
17885	//     "sslCompliant": {
17886	//       "description": "Select only ads that are SSL-compliant.",
17887	//       "location": "query",
17888	//       "type": "boolean"
17889	//     },
17890	//     "sslRequired": {
17891	//       "description": "Select only ads that require SSL.",
17892	//       "location": "query",
17893	//       "type": "boolean"
17894	//     },
17895	//     "type": {
17896	//       "description": "Select only ads with these types.",
17897	//       "enum": [
17898	//         "AD_SERVING_CLICK_TRACKER",
17899	//         "AD_SERVING_DEFAULT_AD",
17900	//         "AD_SERVING_STANDARD_AD",
17901	//         "AD_SERVING_TRACKING"
17902	//       ],
17903	//       "enumDescriptions": [
17904	//         "",
17905	//         "",
17906	//         "",
17907	//         ""
17908	//       ],
17909	//       "location": "query",
17910	//       "repeated": true,
17911	//       "type": "string"
17912	//     }
17913	//   },
17914	//   "path": "userprofiles/{profileId}/ads",
17915	//   "response": {
17916	//     "$ref": "AdsListResponse"
17917	//   },
17918	//   "scopes": [
17919	//     "https://www.googleapis.com/auth/dfatrafficking"
17920	//   ]
17921	// }
17922
17923}
17924
17925// Pages invokes f for each page of results.
17926// A non-nil error returned from f will halt the iteration.
17927// The provided context supersedes any context provided to the Context method.
17928func (c *AdsListCall) Pages(ctx context.Context, f func(*AdsListResponse) error) error {
17929	c.ctx_ = ctx
17930	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17931	for {
17932		x, err := c.Do()
17933		if err != nil {
17934			return err
17935		}
17936		if err := f(x); err != nil {
17937			return err
17938		}
17939		if x.NextPageToken == "" {
17940			return nil
17941		}
17942		c.PageToken(x.NextPageToken)
17943	}
17944}
17945
17946// method id "dfareporting.ads.patch":
17947
17948type AdsPatchCall struct {
17949	s          *Service
17950	profileId  int64
17951	ad         *Ad
17952	urlParams_ gensupport.URLParams
17953	ctx_       context.Context
17954	header_    http.Header
17955}
17956
17957// Patch: Updates an existing ad. This method supports patch semantics.
17958func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
17959	c := &AdsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17960	c.profileId = profileId
17961	c.urlParams_.Set("id", fmt.Sprint(id))
17962	c.ad = ad
17963	return c
17964}
17965
17966// Fields allows partial responses to be retrieved. See
17967// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17968// for more information.
17969func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
17970	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17971	return c
17972}
17973
17974// Context sets the context to be used in this call's Do method. Any
17975// pending HTTP request will be aborted if the provided context is
17976// canceled.
17977func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
17978	c.ctx_ = ctx
17979	return c
17980}
17981
17982// Header returns an http.Header that can be modified by the caller to
17983// add HTTP headers to the request.
17984func (c *AdsPatchCall) Header() http.Header {
17985	if c.header_ == nil {
17986		c.header_ = make(http.Header)
17987	}
17988	return c.header_
17989}
17990
17991func (c *AdsPatchCall) doRequest(alt string) (*http.Response, error) {
17992	reqHeaders := make(http.Header)
17993	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
17994	for k, v := range c.header_ {
17995		reqHeaders[k] = v
17996	}
17997	reqHeaders.Set("User-Agent", c.s.userAgent())
17998	var body io.Reader = nil
17999	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
18000	if err != nil {
18001		return nil, err
18002	}
18003	reqHeaders.Set("Content-Type", "application/json")
18004	c.urlParams_.Set("alt", alt)
18005	c.urlParams_.Set("prettyPrint", "false")
18006	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
18007	urls += "?" + c.urlParams_.Encode()
18008	req, err := http.NewRequest("PATCH", urls, body)
18009	if err != nil {
18010		return nil, err
18011	}
18012	req.Header = reqHeaders
18013	googleapi.Expand(req.URL, map[string]string{
18014		"profileId": strconv.FormatInt(c.profileId, 10),
18015	})
18016	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18017}
18018
18019// Do executes the "dfareporting.ads.patch" call.
18020// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
18021// is an error. Response headers are in either *Ad.ServerResponse.Header
18022// or (if a response was returned at all) in
18023// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18024// whether the returned error was because http.StatusNotModified was
18025// returned.
18026func (c *AdsPatchCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
18027	gensupport.SetOptions(c.urlParams_, opts...)
18028	res, err := c.doRequest("json")
18029	if res != nil && res.StatusCode == http.StatusNotModified {
18030		if res.Body != nil {
18031			res.Body.Close()
18032		}
18033		return nil, &googleapi.Error{
18034			Code:   res.StatusCode,
18035			Header: res.Header,
18036		}
18037	}
18038	if err != nil {
18039		return nil, err
18040	}
18041	defer googleapi.CloseBody(res)
18042	if err := googleapi.CheckResponse(res); err != nil {
18043		return nil, err
18044	}
18045	ret := &Ad{
18046		ServerResponse: googleapi.ServerResponse{
18047			Header:         res.Header,
18048			HTTPStatusCode: res.StatusCode,
18049		},
18050	}
18051	target := &ret
18052	if err := gensupport.DecodeResponse(target, res); err != nil {
18053		return nil, err
18054	}
18055	return ret, nil
18056	// {
18057	//   "description": "Updates an existing ad. This method supports patch semantics.",
18058	//   "httpMethod": "PATCH",
18059	//   "id": "dfareporting.ads.patch",
18060	//   "parameterOrder": [
18061	//     "profileId",
18062	//     "id"
18063	//   ],
18064	//   "parameters": {
18065	//     "id": {
18066	//       "description": "Ad ID.",
18067	//       "format": "int64",
18068	//       "location": "query",
18069	//       "required": true,
18070	//       "type": "string"
18071	//     },
18072	//     "profileId": {
18073	//       "description": "User profile ID associated with this request.",
18074	//       "format": "int64",
18075	//       "location": "path",
18076	//       "required": true,
18077	//       "type": "string"
18078	//     }
18079	//   },
18080	//   "path": "userprofiles/{profileId}/ads",
18081	//   "request": {
18082	//     "$ref": "Ad"
18083	//   },
18084	//   "response": {
18085	//     "$ref": "Ad"
18086	//   },
18087	//   "scopes": [
18088	//     "https://www.googleapis.com/auth/dfatrafficking"
18089	//   ]
18090	// }
18091
18092}
18093
18094// method id "dfareporting.ads.update":
18095
18096type AdsUpdateCall struct {
18097	s          *Service
18098	profileId  int64
18099	ad         *Ad
18100	urlParams_ gensupport.URLParams
18101	ctx_       context.Context
18102	header_    http.Header
18103}
18104
18105// Update: Updates an existing ad.
18106func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
18107	c := &AdsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18108	c.profileId = profileId
18109	c.ad = ad
18110	return c
18111}
18112
18113// Fields allows partial responses to be retrieved. See
18114// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18115// for more information.
18116func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
18117	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18118	return c
18119}
18120
18121// Context sets the context to be used in this call's Do method. Any
18122// pending HTTP request will be aborted if the provided context is
18123// canceled.
18124func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
18125	c.ctx_ = ctx
18126	return c
18127}
18128
18129// Header returns an http.Header that can be modified by the caller to
18130// add HTTP headers to the request.
18131func (c *AdsUpdateCall) Header() http.Header {
18132	if c.header_ == nil {
18133		c.header_ = make(http.Header)
18134	}
18135	return c.header_
18136}
18137
18138func (c *AdsUpdateCall) doRequest(alt string) (*http.Response, error) {
18139	reqHeaders := make(http.Header)
18140	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
18141	for k, v := range c.header_ {
18142		reqHeaders[k] = v
18143	}
18144	reqHeaders.Set("User-Agent", c.s.userAgent())
18145	var body io.Reader = nil
18146	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
18147	if err != nil {
18148		return nil, err
18149	}
18150	reqHeaders.Set("Content-Type", "application/json")
18151	c.urlParams_.Set("alt", alt)
18152	c.urlParams_.Set("prettyPrint", "false")
18153	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
18154	urls += "?" + c.urlParams_.Encode()
18155	req, err := http.NewRequest("PUT", urls, body)
18156	if err != nil {
18157		return nil, err
18158	}
18159	req.Header = reqHeaders
18160	googleapi.Expand(req.URL, map[string]string{
18161		"profileId": strconv.FormatInt(c.profileId, 10),
18162	})
18163	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18164}
18165
18166// Do executes the "dfareporting.ads.update" call.
18167// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
18168// is an error. Response headers are in either *Ad.ServerResponse.Header
18169// or (if a response was returned at all) in
18170// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18171// whether the returned error was because http.StatusNotModified was
18172// returned.
18173func (c *AdsUpdateCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
18174	gensupport.SetOptions(c.urlParams_, opts...)
18175	res, err := c.doRequest("json")
18176	if res != nil && res.StatusCode == http.StatusNotModified {
18177		if res.Body != nil {
18178			res.Body.Close()
18179		}
18180		return nil, &googleapi.Error{
18181			Code:   res.StatusCode,
18182			Header: res.Header,
18183		}
18184	}
18185	if err != nil {
18186		return nil, err
18187	}
18188	defer googleapi.CloseBody(res)
18189	if err := googleapi.CheckResponse(res); err != nil {
18190		return nil, err
18191	}
18192	ret := &Ad{
18193		ServerResponse: googleapi.ServerResponse{
18194			Header:         res.Header,
18195			HTTPStatusCode: res.StatusCode,
18196		},
18197	}
18198	target := &ret
18199	if err := gensupport.DecodeResponse(target, res); err != nil {
18200		return nil, err
18201	}
18202	return ret, nil
18203	// {
18204	//   "description": "Updates an existing ad.",
18205	//   "httpMethod": "PUT",
18206	//   "id": "dfareporting.ads.update",
18207	//   "parameterOrder": [
18208	//     "profileId"
18209	//   ],
18210	//   "parameters": {
18211	//     "profileId": {
18212	//       "description": "User profile ID associated with this request.",
18213	//       "format": "int64",
18214	//       "location": "path",
18215	//       "required": true,
18216	//       "type": "string"
18217	//     }
18218	//   },
18219	//   "path": "userprofiles/{profileId}/ads",
18220	//   "request": {
18221	//     "$ref": "Ad"
18222	//   },
18223	//   "response": {
18224	//     "$ref": "Ad"
18225	//   },
18226	//   "scopes": [
18227	//     "https://www.googleapis.com/auth/dfatrafficking"
18228	//   ]
18229	// }
18230
18231}
18232
18233// method id "dfareporting.advertiserGroups.delete":
18234
18235type AdvertiserGroupsDeleteCall struct {
18236	s          *Service
18237	profileId  int64
18238	id         int64
18239	urlParams_ gensupport.URLParams
18240	ctx_       context.Context
18241	header_    http.Header
18242}
18243
18244// Delete: Deletes an existing advertiser group.
18245func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
18246	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18247	c.profileId = profileId
18248	c.id = id
18249	return c
18250}
18251
18252// Fields allows partial responses to be retrieved. See
18253// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18254// for more information.
18255func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
18256	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18257	return c
18258}
18259
18260// Context sets the context to be used in this call's Do method. Any
18261// pending HTTP request will be aborted if the provided context is
18262// canceled.
18263func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
18264	c.ctx_ = ctx
18265	return c
18266}
18267
18268// Header returns an http.Header that can be modified by the caller to
18269// add HTTP headers to the request.
18270func (c *AdvertiserGroupsDeleteCall) Header() http.Header {
18271	if c.header_ == nil {
18272		c.header_ = make(http.Header)
18273	}
18274	return c.header_
18275}
18276
18277func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
18278	reqHeaders := make(http.Header)
18279	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
18280	for k, v := range c.header_ {
18281		reqHeaders[k] = v
18282	}
18283	reqHeaders.Set("User-Agent", c.s.userAgent())
18284	var body io.Reader = nil
18285	c.urlParams_.Set("alt", alt)
18286	c.urlParams_.Set("prettyPrint", "false")
18287	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
18288	urls += "?" + c.urlParams_.Encode()
18289	req, err := http.NewRequest("DELETE", urls, body)
18290	if err != nil {
18291		return nil, err
18292	}
18293	req.Header = reqHeaders
18294	googleapi.Expand(req.URL, map[string]string{
18295		"profileId": strconv.FormatInt(c.profileId, 10),
18296		"id":        strconv.FormatInt(c.id, 10),
18297	})
18298	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18299}
18300
18301// Do executes the "dfareporting.advertiserGroups.delete" call.
18302func (c *AdvertiserGroupsDeleteCall) Do(opts ...googleapi.CallOption) error {
18303	gensupport.SetOptions(c.urlParams_, opts...)
18304	res, err := c.doRequest("json")
18305	if err != nil {
18306		return err
18307	}
18308	defer googleapi.CloseBody(res)
18309	if err := googleapi.CheckResponse(res); err != nil {
18310		return err
18311	}
18312	return nil
18313	// {
18314	//   "description": "Deletes an existing advertiser group.",
18315	//   "httpMethod": "DELETE",
18316	//   "id": "dfareporting.advertiserGroups.delete",
18317	//   "parameterOrder": [
18318	//     "profileId",
18319	//     "id"
18320	//   ],
18321	//   "parameters": {
18322	//     "id": {
18323	//       "description": "Advertiser group ID.",
18324	//       "format": "int64",
18325	//       "location": "path",
18326	//       "required": true,
18327	//       "type": "string"
18328	//     },
18329	//     "profileId": {
18330	//       "description": "User profile ID associated with this request.",
18331	//       "format": "int64",
18332	//       "location": "path",
18333	//       "required": true,
18334	//       "type": "string"
18335	//     }
18336	//   },
18337	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
18338	//   "scopes": [
18339	//     "https://www.googleapis.com/auth/dfatrafficking"
18340	//   ]
18341	// }
18342
18343}
18344
18345// method id "dfareporting.advertiserGroups.get":
18346
18347type AdvertiserGroupsGetCall struct {
18348	s            *Service
18349	profileId    int64
18350	id           int64
18351	urlParams_   gensupport.URLParams
18352	ifNoneMatch_ string
18353	ctx_         context.Context
18354	header_      http.Header
18355}
18356
18357// Get: Gets one advertiser group by ID.
18358func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
18359	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18360	c.profileId = profileId
18361	c.id = id
18362	return c
18363}
18364
18365// Fields allows partial responses to be retrieved. See
18366// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18367// for more information.
18368func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
18369	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18370	return c
18371}
18372
18373// IfNoneMatch sets the optional parameter which makes the operation
18374// fail if the object's ETag matches the given value. This is useful for
18375// getting updates only after the object has changed since the last
18376// request. Use googleapi.IsNotModified to check whether the response
18377// error from Do is the result of In-None-Match.
18378func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
18379	c.ifNoneMatch_ = entityTag
18380	return c
18381}
18382
18383// Context sets the context to be used in this call's Do method. Any
18384// pending HTTP request will be aborted if the provided context is
18385// canceled.
18386func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
18387	c.ctx_ = ctx
18388	return c
18389}
18390
18391// Header returns an http.Header that can be modified by the caller to
18392// add HTTP headers to the request.
18393func (c *AdvertiserGroupsGetCall) Header() http.Header {
18394	if c.header_ == nil {
18395		c.header_ = make(http.Header)
18396	}
18397	return c.header_
18398}
18399
18400func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
18401	reqHeaders := make(http.Header)
18402	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
18403	for k, v := range c.header_ {
18404		reqHeaders[k] = v
18405	}
18406	reqHeaders.Set("User-Agent", c.s.userAgent())
18407	if c.ifNoneMatch_ != "" {
18408		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18409	}
18410	var body io.Reader = nil
18411	c.urlParams_.Set("alt", alt)
18412	c.urlParams_.Set("prettyPrint", "false")
18413	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
18414	urls += "?" + c.urlParams_.Encode()
18415	req, err := http.NewRequest("GET", urls, body)
18416	if err != nil {
18417		return nil, err
18418	}
18419	req.Header = reqHeaders
18420	googleapi.Expand(req.URL, map[string]string{
18421		"profileId": strconv.FormatInt(c.profileId, 10),
18422		"id":        strconv.FormatInt(c.id, 10),
18423	})
18424	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18425}
18426
18427// Do executes the "dfareporting.advertiserGroups.get" call.
18428// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18429// status code is an error. Response headers are in either
18430// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18431// at all) in error.(*googleapi.Error).Header. Use
18432// googleapi.IsNotModified to check whether the returned error was
18433// because http.StatusNotModified was returned.
18434func (c *AdvertiserGroupsGetCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18435	gensupport.SetOptions(c.urlParams_, opts...)
18436	res, err := c.doRequest("json")
18437	if res != nil && res.StatusCode == http.StatusNotModified {
18438		if res.Body != nil {
18439			res.Body.Close()
18440		}
18441		return nil, &googleapi.Error{
18442			Code:   res.StatusCode,
18443			Header: res.Header,
18444		}
18445	}
18446	if err != nil {
18447		return nil, err
18448	}
18449	defer googleapi.CloseBody(res)
18450	if err := googleapi.CheckResponse(res); err != nil {
18451		return nil, err
18452	}
18453	ret := &AdvertiserGroup{
18454		ServerResponse: googleapi.ServerResponse{
18455			Header:         res.Header,
18456			HTTPStatusCode: res.StatusCode,
18457		},
18458	}
18459	target := &ret
18460	if err := gensupport.DecodeResponse(target, res); err != nil {
18461		return nil, err
18462	}
18463	return ret, nil
18464	// {
18465	//   "description": "Gets one advertiser group by ID.",
18466	//   "httpMethod": "GET",
18467	//   "id": "dfareporting.advertiserGroups.get",
18468	//   "parameterOrder": [
18469	//     "profileId",
18470	//     "id"
18471	//   ],
18472	//   "parameters": {
18473	//     "id": {
18474	//       "description": "Advertiser group ID.",
18475	//       "format": "int64",
18476	//       "location": "path",
18477	//       "required": true,
18478	//       "type": "string"
18479	//     },
18480	//     "profileId": {
18481	//       "description": "User profile ID associated with this request.",
18482	//       "format": "int64",
18483	//       "location": "path",
18484	//       "required": true,
18485	//       "type": "string"
18486	//     }
18487	//   },
18488	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
18489	//   "response": {
18490	//     "$ref": "AdvertiserGroup"
18491	//   },
18492	//   "scopes": [
18493	//     "https://www.googleapis.com/auth/dfatrafficking"
18494	//   ]
18495	// }
18496
18497}
18498
18499// method id "dfareporting.advertiserGroups.insert":
18500
18501type AdvertiserGroupsInsertCall struct {
18502	s               *Service
18503	profileId       int64
18504	advertisergroup *AdvertiserGroup
18505	urlParams_      gensupport.URLParams
18506	ctx_            context.Context
18507	header_         http.Header
18508}
18509
18510// Insert: Inserts a new advertiser group.
18511func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
18512	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18513	c.profileId = profileId
18514	c.advertisergroup = advertisergroup
18515	return c
18516}
18517
18518// Fields allows partial responses to be retrieved. See
18519// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18520// for more information.
18521func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
18522	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18523	return c
18524}
18525
18526// Context sets the context to be used in this call's Do method. Any
18527// pending HTTP request will be aborted if the provided context is
18528// canceled.
18529func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
18530	c.ctx_ = ctx
18531	return c
18532}
18533
18534// Header returns an http.Header that can be modified by the caller to
18535// add HTTP headers to the request.
18536func (c *AdvertiserGroupsInsertCall) Header() http.Header {
18537	if c.header_ == nil {
18538		c.header_ = make(http.Header)
18539	}
18540	return c.header_
18541}
18542
18543func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
18544	reqHeaders := make(http.Header)
18545	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
18546	for k, v := range c.header_ {
18547		reqHeaders[k] = v
18548	}
18549	reqHeaders.Set("User-Agent", c.s.userAgent())
18550	var body io.Reader = nil
18551	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
18552	if err != nil {
18553		return nil, err
18554	}
18555	reqHeaders.Set("Content-Type", "application/json")
18556	c.urlParams_.Set("alt", alt)
18557	c.urlParams_.Set("prettyPrint", "false")
18558	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18559	urls += "?" + c.urlParams_.Encode()
18560	req, err := http.NewRequest("POST", urls, body)
18561	if err != nil {
18562		return nil, err
18563	}
18564	req.Header = reqHeaders
18565	googleapi.Expand(req.URL, map[string]string{
18566		"profileId": strconv.FormatInt(c.profileId, 10),
18567	})
18568	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18569}
18570
18571// Do executes the "dfareporting.advertiserGroups.insert" call.
18572// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18573// status code is an error. Response headers are in either
18574// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18575// at all) in error.(*googleapi.Error).Header. Use
18576// googleapi.IsNotModified to check whether the returned error was
18577// because http.StatusNotModified was returned.
18578func (c *AdvertiserGroupsInsertCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18579	gensupport.SetOptions(c.urlParams_, opts...)
18580	res, err := c.doRequest("json")
18581	if res != nil && res.StatusCode == http.StatusNotModified {
18582		if res.Body != nil {
18583			res.Body.Close()
18584		}
18585		return nil, &googleapi.Error{
18586			Code:   res.StatusCode,
18587			Header: res.Header,
18588		}
18589	}
18590	if err != nil {
18591		return nil, err
18592	}
18593	defer googleapi.CloseBody(res)
18594	if err := googleapi.CheckResponse(res); err != nil {
18595		return nil, err
18596	}
18597	ret := &AdvertiserGroup{
18598		ServerResponse: googleapi.ServerResponse{
18599			Header:         res.Header,
18600			HTTPStatusCode: res.StatusCode,
18601		},
18602	}
18603	target := &ret
18604	if err := gensupport.DecodeResponse(target, res); err != nil {
18605		return nil, err
18606	}
18607	return ret, nil
18608	// {
18609	//   "description": "Inserts a new advertiser group.",
18610	//   "httpMethod": "POST",
18611	//   "id": "dfareporting.advertiserGroups.insert",
18612	//   "parameterOrder": [
18613	//     "profileId"
18614	//   ],
18615	//   "parameters": {
18616	//     "profileId": {
18617	//       "description": "User profile ID associated with this request.",
18618	//       "format": "int64",
18619	//       "location": "path",
18620	//       "required": true,
18621	//       "type": "string"
18622	//     }
18623	//   },
18624	//   "path": "userprofiles/{profileId}/advertiserGroups",
18625	//   "request": {
18626	//     "$ref": "AdvertiserGroup"
18627	//   },
18628	//   "response": {
18629	//     "$ref": "AdvertiserGroup"
18630	//   },
18631	//   "scopes": [
18632	//     "https://www.googleapis.com/auth/dfatrafficking"
18633	//   ]
18634	// }
18635
18636}
18637
18638// method id "dfareporting.advertiserGroups.list":
18639
18640type AdvertiserGroupsListCall struct {
18641	s            *Service
18642	profileId    int64
18643	urlParams_   gensupport.URLParams
18644	ifNoneMatch_ string
18645	ctx_         context.Context
18646	header_      http.Header
18647}
18648
18649// List: Retrieves a list of advertiser groups, possibly filtered. This
18650// method supports paging.
18651func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
18652	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18653	c.profileId = profileId
18654	return c
18655}
18656
18657// Ids sets the optional parameter "ids": Select only advertiser groups
18658// with these IDs.
18659func (c *AdvertiserGroupsListCall) Ids(ids ...int64) *AdvertiserGroupsListCall {
18660	var ids_ []string
18661	for _, v := range ids {
18662		ids_ = append(ids_, fmt.Sprint(v))
18663	}
18664	c.urlParams_.SetMulti("ids", ids_)
18665	return c
18666}
18667
18668// MaxResults sets the optional parameter "maxResults": Maximum number
18669// of results to return.
18670func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
18671	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
18672	return c
18673}
18674
18675// PageToken sets the optional parameter "pageToken": Value of the
18676// nextPageToken from the previous result page.
18677func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
18678	c.urlParams_.Set("pageToken", pageToken)
18679	return c
18680}
18681
18682// SearchString sets the optional parameter "searchString": Allows
18683// searching for objects by name or ID. Wildcards (*) are allowed. For
18684// example, "advertiser*2015" will return objects with names like
18685// "advertiser group June 2015", "advertiser group April 2015", or
18686// simply "advertiser group 2015". Most of the searches also add
18687// wildcards implicitly at the start and the end of the search string.
18688// For example, a search string of "advertisergroup" will match objects
18689// with name "my advertisergroup", "advertisergroup 2015", or simply
18690// "advertisergroup".
18691func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
18692	c.urlParams_.Set("searchString", searchString)
18693	return c
18694}
18695
18696// SortField sets the optional parameter "sortField": Field by which to
18697// sort the list.
18698//
18699// Possible values:
18700//   "ID" (default)
18701//   "NAME"
18702func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
18703	c.urlParams_.Set("sortField", sortField)
18704	return c
18705}
18706
18707// SortOrder sets the optional parameter "sortOrder": Order of sorted
18708// results.
18709//
18710// Possible values:
18711//   "ASCENDING" (default)
18712//   "DESCENDING"
18713func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
18714	c.urlParams_.Set("sortOrder", sortOrder)
18715	return c
18716}
18717
18718// Fields allows partial responses to be retrieved. See
18719// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18720// for more information.
18721func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
18722	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18723	return c
18724}
18725
18726// IfNoneMatch sets the optional parameter which makes the operation
18727// fail if the object's ETag matches the given value. This is useful for
18728// getting updates only after the object has changed since the last
18729// request. Use googleapi.IsNotModified to check whether the response
18730// error from Do is the result of In-None-Match.
18731func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
18732	c.ifNoneMatch_ = entityTag
18733	return c
18734}
18735
18736// Context sets the context to be used in this call's Do method. Any
18737// pending HTTP request will be aborted if the provided context is
18738// canceled.
18739func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
18740	c.ctx_ = ctx
18741	return c
18742}
18743
18744// Header returns an http.Header that can be modified by the caller to
18745// add HTTP headers to the request.
18746func (c *AdvertiserGroupsListCall) Header() http.Header {
18747	if c.header_ == nil {
18748		c.header_ = make(http.Header)
18749	}
18750	return c.header_
18751}
18752
18753func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
18754	reqHeaders := make(http.Header)
18755	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
18756	for k, v := range c.header_ {
18757		reqHeaders[k] = v
18758	}
18759	reqHeaders.Set("User-Agent", c.s.userAgent())
18760	if c.ifNoneMatch_ != "" {
18761		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18762	}
18763	var body io.Reader = nil
18764	c.urlParams_.Set("alt", alt)
18765	c.urlParams_.Set("prettyPrint", "false")
18766	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18767	urls += "?" + c.urlParams_.Encode()
18768	req, err := http.NewRequest("GET", urls, body)
18769	if err != nil {
18770		return nil, err
18771	}
18772	req.Header = reqHeaders
18773	googleapi.Expand(req.URL, map[string]string{
18774		"profileId": strconv.FormatInt(c.profileId, 10),
18775	})
18776	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18777}
18778
18779// Do executes the "dfareporting.advertiserGroups.list" call.
18780// Exactly one of *AdvertiserGroupsListResponse or error will be
18781// non-nil. Any non-2xx status code is an error. Response headers are in
18782// either *AdvertiserGroupsListResponse.ServerResponse.Header or (if a
18783// response was returned at all) in error.(*googleapi.Error).Header. Use
18784// googleapi.IsNotModified to check whether the returned error was
18785// because http.StatusNotModified was returned.
18786func (c *AdvertiserGroupsListCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroupsListResponse, error) {
18787	gensupport.SetOptions(c.urlParams_, opts...)
18788	res, err := c.doRequest("json")
18789	if res != nil && res.StatusCode == http.StatusNotModified {
18790		if res.Body != nil {
18791			res.Body.Close()
18792		}
18793		return nil, &googleapi.Error{
18794			Code:   res.StatusCode,
18795			Header: res.Header,
18796		}
18797	}
18798	if err != nil {
18799		return nil, err
18800	}
18801	defer googleapi.CloseBody(res)
18802	if err := googleapi.CheckResponse(res); err != nil {
18803		return nil, err
18804	}
18805	ret := &AdvertiserGroupsListResponse{
18806		ServerResponse: googleapi.ServerResponse{
18807			Header:         res.Header,
18808			HTTPStatusCode: res.StatusCode,
18809		},
18810	}
18811	target := &ret
18812	if err := gensupport.DecodeResponse(target, res); err != nil {
18813		return nil, err
18814	}
18815	return ret, nil
18816	// {
18817	//   "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
18818	//   "httpMethod": "GET",
18819	//   "id": "dfareporting.advertiserGroups.list",
18820	//   "parameterOrder": [
18821	//     "profileId"
18822	//   ],
18823	//   "parameters": {
18824	//     "ids": {
18825	//       "description": "Select only advertiser groups with these IDs.",
18826	//       "format": "int64",
18827	//       "location": "query",
18828	//       "repeated": true,
18829	//       "type": "string"
18830	//     },
18831	//     "maxResults": {
18832	//       "default": "1000",
18833	//       "description": "Maximum number of results to return.",
18834	//       "format": "int32",
18835	//       "location": "query",
18836	//       "maximum": "1000",
18837	//       "minimum": "0",
18838	//       "type": "integer"
18839	//     },
18840	//     "pageToken": {
18841	//       "description": "Value of the nextPageToken from the previous result page.",
18842	//       "location": "query",
18843	//       "type": "string"
18844	//     },
18845	//     "profileId": {
18846	//       "description": "User profile ID associated with this request.",
18847	//       "format": "int64",
18848	//       "location": "path",
18849	//       "required": true,
18850	//       "type": "string"
18851	//     },
18852	//     "searchString": {
18853	//       "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\".",
18854	//       "location": "query",
18855	//       "type": "string"
18856	//     },
18857	//     "sortField": {
18858	//       "default": "ID",
18859	//       "description": "Field by which to sort the list.",
18860	//       "enum": [
18861	//         "ID",
18862	//         "NAME"
18863	//       ],
18864	//       "enumDescriptions": [
18865	//         "",
18866	//         ""
18867	//       ],
18868	//       "location": "query",
18869	//       "type": "string"
18870	//     },
18871	//     "sortOrder": {
18872	//       "default": "ASCENDING",
18873	//       "description": "Order of sorted results.",
18874	//       "enum": [
18875	//         "ASCENDING",
18876	//         "DESCENDING"
18877	//       ],
18878	//       "enumDescriptions": [
18879	//         "",
18880	//         ""
18881	//       ],
18882	//       "location": "query",
18883	//       "type": "string"
18884	//     }
18885	//   },
18886	//   "path": "userprofiles/{profileId}/advertiserGroups",
18887	//   "response": {
18888	//     "$ref": "AdvertiserGroupsListResponse"
18889	//   },
18890	//   "scopes": [
18891	//     "https://www.googleapis.com/auth/dfatrafficking"
18892	//   ]
18893	// }
18894
18895}
18896
18897// Pages invokes f for each page of results.
18898// A non-nil error returned from f will halt the iteration.
18899// The provided context supersedes any context provided to the Context method.
18900func (c *AdvertiserGroupsListCall) Pages(ctx context.Context, f func(*AdvertiserGroupsListResponse) error) error {
18901	c.ctx_ = ctx
18902	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18903	for {
18904		x, err := c.Do()
18905		if err != nil {
18906			return err
18907		}
18908		if err := f(x); err != nil {
18909			return err
18910		}
18911		if x.NextPageToken == "" {
18912			return nil
18913		}
18914		c.PageToken(x.NextPageToken)
18915	}
18916}
18917
18918// method id "dfareporting.advertiserGroups.patch":
18919
18920type AdvertiserGroupsPatchCall struct {
18921	s               *Service
18922	profileId       int64
18923	advertisergroup *AdvertiserGroup
18924	urlParams_      gensupport.URLParams
18925	ctx_            context.Context
18926	header_         http.Header
18927}
18928
18929// Patch: Updates an existing advertiser group. This method supports
18930// patch semantics.
18931func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
18932	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18933	c.profileId = profileId
18934	c.urlParams_.Set("id", fmt.Sprint(id))
18935	c.advertisergroup = advertisergroup
18936	return c
18937}
18938
18939// Fields allows partial responses to be retrieved. See
18940// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18941// for more information.
18942func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
18943	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18944	return c
18945}
18946
18947// Context sets the context to be used in this call's Do method. Any
18948// pending HTTP request will be aborted if the provided context is
18949// canceled.
18950func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
18951	c.ctx_ = ctx
18952	return c
18953}
18954
18955// Header returns an http.Header that can be modified by the caller to
18956// add HTTP headers to the request.
18957func (c *AdvertiserGroupsPatchCall) Header() http.Header {
18958	if c.header_ == nil {
18959		c.header_ = make(http.Header)
18960	}
18961	return c.header_
18962}
18963
18964func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
18965	reqHeaders := make(http.Header)
18966	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
18967	for k, v := range c.header_ {
18968		reqHeaders[k] = v
18969	}
18970	reqHeaders.Set("User-Agent", c.s.userAgent())
18971	var body io.Reader = nil
18972	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
18973	if err != nil {
18974		return nil, err
18975	}
18976	reqHeaders.Set("Content-Type", "application/json")
18977	c.urlParams_.Set("alt", alt)
18978	c.urlParams_.Set("prettyPrint", "false")
18979	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18980	urls += "?" + c.urlParams_.Encode()
18981	req, err := http.NewRequest("PATCH", urls, body)
18982	if err != nil {
18983		return nil, err
18984	}
18985	req.Header = reqHeaders
18986	googleapi.Expand(req.URL, map[string]string{
18987		"profileId": strconv.FormatInt(c.profileId, 10),
18988	})
18989	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18990}
18991
18992// Do executes the "dfareporting.advertiserGroups.patch" call.
18993// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18994// status code is an error. Response headers are in either
18995// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18996// at all) in error.(*googleapi.Error).Header. Use
18997// googleapi.IsNotModified to check whether the returned error was
18998// because http.StatusNotModified was returned.
18999func (c *AdvertiserGroupsPatchCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
19000	gensupport.SetOptions(c.urlParams_, opts...)
19001	res, err := c.doRequest("json")
19002	if res != nil && res.StatusCode == http.StatusNotModified {
19003		if res.Body != nil {
19004			res.Body.Close()
19005		}
19006		return nil, &googleapi.Error{
19007			Code:   res.StatusCode,
19008			Header: res.Header,
19009		}
19010	}
19011	if err != nil {
19012		return nil, err
19013	}
19014	defer googleapi.CloseBody(res)
19015	if err := googleapi.CheckResponse(res); err != nil {
19016		return nil, err
19017	}
19018	ret := &AdvertiserGroup{
19019		ServerResponse: googleapi.ServerResponse{
19020			Header:         res.Header,
19021			HTTPStatusCode: res.StatusCode,
19022		},
19023	}
19024	target := &ret
19025	if err := gensupport.DecodeResponse(target, res); err != nil {
19026		return nil, err
19027	}
19028	return ret, nil
19029	// {
19030	//   "description": "Updates an existing advertiser group. This method supports patch semantics.",
19031	//   "httpMethod": "PATCH",
19032	//   "id": "dfareporting.advertiserGroups.patch",
19033	//   "parameterOrder": [
19034	//     "profileId",
19035	//     "id"
19036	//   ],
19037	//   "parameters": {
19038	//     "id": {
19039	//       "description": "Advertiser group ID.",
19040	//       "format": "int64",
19041	//       "location": "query",
19042	//       "required": true,
19043	//       "type": "string"
19044	//     },
19045	//     "profileId": {
19046	//       "description": "User profile ID associated with this request.",
19047	//       "format": "int64",
19048	//       "location": "path",
19049	//       "required": true,
19050	//       "type": "string"
19051	//     }
19052	//   },
19053	//   "path": "userprofiles/{profileId}/advertiserGroups",
19054	//   "request": {
19055	//     "$ref": "AdvertiserGroup"
19056	//   },
19057	//   "response": {
19058	//     "$ref": "AdvertiserGroup"
19059	//   },
19060	//   "scopes": [
19061	//     "https://www.googleapis.com/auth/dfatrafficking"
19062	//   ]
19063	// }
19064
19065}
19066
19067// method id "dfareporting.advertiserGroups.update":
19068
19069type AdvertiserGroupsUpdateCall struct {
19070	s               *Service
19071	profileId       int64
19072	advertisergroup *AdvertiserGroup
19073	urlParams_      gensupport.URLParams
19074	ctx_            context.Context
19075	header_         http.Header
19076}
19077
19078// Update: Updates an existing advertiser group.
19079func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
19080	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19081	c.profileId = profileId
19082	c.advertisergroup = advertisergroup
19083	return c
19084}
19085
19086// Fields allows partial responses to be retrieved. See
19087// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19088// for more information.
19089func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
19090	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19091	return c
19092}
19093
19094// Context sets the context to be used in this call's Do method. Any
19095// pending HTTP request will be aborted if the provided context is
19096// canceled.
19097func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
19098	c.ctx_ = ctx
19099	return c
19100}
19101
19102// Header returns an http.Header that can be modified by the caller to
19103// add HTTP headers to the request.
19104func (c *AdvertiserGroupsUpdateCall) Header() http.Header {
19105	if c.header_ == nil {
19106		c.header_ = make(http.Header)
19107	}
19108	return c.header_
19109}
19110
19111func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
19112	reqHeaders := make(http.Header)
19113	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
19114	for k, v := range c.header_ {
19115		reqHeaders[k] = v
19116	}
19117	reqHeaders.Set("User-Agent", c.s.userAgent())
19118	var body io.Reader = nil
19119	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
19120	if err != nil {
19121		return nil, err
19122	}
19123	reqHeaders.Set("Content-Type", "application/json")
19124	c.urlParams_.Set("alt", alt)
19125	c.urlParams_.Set("prettyPrint", "false")
19126	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
19127	urls += "?" + c.urlParams_.Encode()
19128	req, err := http.NewRequest("PUT", urls, body)
19129	if err != nil {
19130		return nil, err
19131	}
19132	req.Header = reqHeaders
19133	googleapi.Expand(req.URL, map[string]string{
19134		"profileId": strconv.FormatInt(c.profileId, 10),
19135	})
19136	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19137}
19138
19139// Do executes the "dfareporting.advertiserGroups.update" call.
19140// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
19141// status code is an error. Response headers are in either
19142// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
19143// at all) in error.(*googleapi.Error).Header. Use
19144// googleapi.IsNotModified to check whether the returned error was
19145// because http.StatusNotModified was returned.
19146func (c *AdvertiserGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
19147	gensupport.SetOptions(c.urlParams_, opts...)
19148	res, err := c.doRequest("json")
19149	if res != nil && res.StatusCode == http.StatusNotModified {
19150		if res.Body != nil {
19151			res.Body.Close()
19152		}
19153		return nil, &googleapi.Error{
19154			Code:   res.StatusCode,
19155			Header: res.Header,
19156		}
19157	}
19158	if err != nil {
19159		return nil, err
19160	}
19161	defer googleapi.CloseBody(res)
19162	if err := googleapi.CheckResponse(res); err != nil {
19163		return nil, err
19164	}
19165	ret := &AdvertiserGroup{
19166		ServerResponse: googleapi.ServerResponse{
19167			Header:         res.Header,
19168			HTTPStatusCode: res.StatusCode,
19169		},
19170	}
19171	target := &ret
19172	if err := gensupport.DecodeResponse(target, res); err != nil {
19173		return nil, err
19174	}
19175	return ret, nil
19176	// {
19177	//   "description": "Updates an existing advertiser group.",
19178	//   "httpMethod": "PUT",
19179	//   "id": "dfareporting.advertiserGroups.update",
19180	//   "parameterOrder": [
19181	//     "profileId"
19182	//   ],
19183	//   "parameters": {
19184	//     "profileId": {
19185	//       "description": "User profile ID associated with this request.",
19186	//       "format": "int64",
19187	//       "location": "path",
19188	//       "required": true,
19189	//       "type": "string"
19190	//     }
19191	//   },
19192	//   "path": "userprofiles/{profileId}/advertiserGroups",
19193	//   "request": {
19194	//     "$ref": "AdvertiserGroup"
19195	//   },
19196	//   "response": {
19197	//     "$ref": "AdvertiserGroup"
19198	//   },
19199	//   "scopes": [
19200	//     "https://www.googleapis.com/auth/dfatrafficking"
19201	//   ]
19202	// }
19203
19204}
19205
19206// method id "dfareporting.advertiserLandingPages.get":
19207
19208type AdvertiserLandingPagesGetCall struct {
19209	s            *Service
19210	profileId    int64
19211	id           int64
19212	urlParams_   gensupport.URLParams
19213	ifNoneMatch_ string
19214	ctx_         context.Context
19215	header_      http.Header
19216}
19217
19218// Get: Gets one landing page by ID.
19219func (r *AdvertiserLandingPagesService) Get(profileId int64, id int64) *AdvertiserLandingPagesGetCall {
19220	c := &AdvertiserLandingPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19221	c.profileId = profileId
19222	c.id = id
19223	return c
19224}
19225
19226// Fields allows partial responses to be retrieved. See
19227// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19228// for more information.
19229func (c *AdvertiserLandingPagesGetCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesGetCall {
19230	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19231	return c
19232}
19233
19234// IfNoneMatch sets the optional parameter which makes the operation
19235// fail if the object's ETag matches the given value. This is useful for
19236// getting updates only after the object has changed since the last
19237// request. Use googleapi.IsNotModified to check whether the response
19238// error from Do is the result of In-None-Match.
19239func (c *AdvertiserLandingPagesGetCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesGetCall {
19240	c.ifNoneMatch_ = entityTag
19241	return c
19242}
19243
19244// Context sets the context to be used in this call's Do method. Any
19245// pending HTTP request will be aborted if the provided context is
19246// canceled.
19247func (c *AdvertiserLandingPagesGetCall) Context(ctx context.Context) *AdvertiserLandingPagesGetCall {
19248	c.ctx_ = ctx
19249	return c
19250}
19251
19252// Header returns an http.Header that can be modified by the caller to
19253// add HTTP headers to the request.
19254func (c *AdvertiserLandingPagesGetCall) Header() http.Header {
19255	if c.header_ == nil {
19256		c.header_ = make(http.Header)
19257	}
19258	return c.header_
19259}
19260
19261func (c *AdvertiserLandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
19262	reqHeaders := make(http.Header)
19263	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
19264	for k, v := range c.header_ {
19265		reqHeaders[k] = v
19266	}
19267	reqHeaders.Set("User-Agent", c.s.userAgent())
19268	if c.ifNoneMatch_ != "" {
19269		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19270	}
19271	var body io.Reader = nil
19272	c.urlParams_.Set("alt", alt)
19273	c.urlParams_.Set("prettyPrint", "false")
19274	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages/{id}")
19275	urls += "?" + c.urlParams_.Encode()
19276	req, err := http.NewRequest("GET", 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		"id":        strconv.FormatInt(c.id, 10),
19284	})
19285	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19286}
19287
19288// Do executes the "dfareporting.advertiserLandingPages.get" call.
19289// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
19290// status code is an error. Response headers are in either
19291// *LandingPage.ServerResponse.Header or (if a response was returned at
19292// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19293// to check whether the returned error was because
19294// http.StatusNotModified was returned.
19295func (c *AdvertiserLandingPagesGetCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
19296	gensupport.SetOptions(c.urlParams_, opts...)
19297	res, err := c.doRequest("json")
19298	if res != nil && res.StatusCode == http.StatusNotModified {
19299		if res.Body != nil {
19300			res.Body.Close()
19301		}
19302		return nil, &googleapi.Error{
19303			Code:   res.StatusCode,
19304			Header: res.Header,
19305		}
19306	}
19307	if err != nil {
19308		return nil, err
19309	}
19310	defer googleapi.CloseBody(res)
19311	if err := googleapi.CheckResponse(res); err != nil {
19312		return nil, err
19313	}
19314	ret := &LandingPage{
19315		ServerResponse: googleapi.ServerResponse{
19316			Header:         res.Header,
19317			HTTPStatusCode: res.StatusCode,
19318		},
19319	}
19320	target := &ret
19321	if err := gensupport.DecodeResponse(target, res); err != nil {
19322		return nil, err
19323	}
19324	return ret, nil
19325	// {
19326	//   "description": "Gets one landing page by ID.",
19327	//   "httpMethod": "GET",
19328	//   "id": "dfareporting.advertiserLandingPages.get",
19329	//   "parameterOrder": [
19330	//     "profileId",
19331	//     "id"
19332	//   ],
19333	//   "parameters": {
19334	//     "id": {
19335	//       "description": "Landing page ID.",
19336	//       "format": "int64",
19337	//       "location": "path",
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/{id}",
19350	//   "response": {
19351	//     "$ref": "LandingPage"
19352	//   },
19353	//   "scopes": [
19354	//     "https://www.googleapis.com/auth/dfatrafficking"
19355	//   ]
19356	// }
19357
19358}
19359
19360// method id "dfareporting.advertiserLandingPages.insert":
19361
19362type AdvertiserLandingPagesInsertCall struct {
19363	s           *Service
19364	profileId   int64
19365	landingpage *LandingPage
19366	urlParams_  gensupport.URLParams
19367	ctx_        context.Context
19368	header_     http.Header
19369}
19370
19371// Insert: Inserts a new landing page.
19372func (r *AdvertiserLandingPagesService) Insert(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesInsertCall {
19373	c := &AdvertiserLandingPagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19374	c.profileId = profileId
19375	c.landingpage = landingpage
19376	return c
19377}
19378
19379// Fields allows partial responses to be retrieved. See
19380// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19381// for more information.
19382func (c *AdvertiserLandingPagesInsertCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesInsertCall {
19383	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19384	return c
19385}
19386
19387// Context sets the context to be used in this call's Do method. Any
19388// pending HTTP request will be aborted if the provided context is
19389// canceled.
19390func (c *AdvertiserLandingPagesInsertCall) Context(ctx context.Context) *AdvertiserLandingPagesInsertCall {
19391	c.ctx_ = ctx
19392	return c
19393}
19394
19395// Header returns an http.Header that can be modified by the caller to
19396// add HTTP headers to the request.
19397func (c *AdvertiserLandingPagesInsertCall) Header() http.Header {
19398	if c.header_ == nil {
19399		c.header_ = make(http.Header)
19400	}
19401	return c.header_
19402}
19403
19404func (c *AdvertiserLandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
19405	reqHeaders := make(http.Header)
19406	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
19407	for k, v := range c.header_ {
19408		reqHeaders[k] = v
19409	}
19410	reqHeaders.Set("User-Agent", c.s.userAgent())
19411	var body io.Reader = nil
19412	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
19413	if err != nil {
19414		return nil, err
19415	}
19416	reqHeaders.Set("Content-Type", "application/json")
19417	c.urlParams_.Set("alt", alt)
19418	c.urlParams_.Set("prettyPrint", "false")
19419	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19420	urls += "?" + c.urlParams_.Encode()
19421	req, err := http.NewRequest("POST", urls, body)
19422	if err != nil {
19423		return nil, err
19424	}
19425	req.Header = reqHeaders
19426	googleapi.Expand(req.URL, map[string]string{
19427		"profileId": strconv.FormatInt(c.profileId, 10),
19428	})
19429	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19430}
19431
19432// Do executes the "dfareporting.advertiserLandingPages.insert" call.
19433// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
19434// status code is an error. Response headers are in either
19435// *LandingPage.ServerResponse.Header or (if a response was returned at
19436// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19437// to check whether the returned error was because
19438// http.StatusNotModified was returned.
19439func (c *AdvertiserLandingPagesInsertCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
19440	gensupport.SetOptions(c.urlParams_, opts...)
19441	res, err := c.doRequest("json")
19442	if res != nil && res.StatusCode == http.StatusNotModified {
19443		if res.Body != nil {
19444			res.Body.Close()
19445		}
19446		return nil, &googleapi.Error{
19447			Code:   res.StatusCode,
19448			Header: res.Header,
19449		}
19450	}
19451	if err != nil {
19452		return nil, err
19453	}
19454	defer googleapi.CloseBody(res)
19455	if err := googleapi.CheckResponse(res); err != nil {
19456		return nil, err
19457	}
19458	ret := &LandingPage{
19459		ServerResponse: googleapi.ServerResponse{
19460			Header:         res.Header,
19461			HTTPStatusCode: res.StatusCode,
19462		},
19463	}
19464	target := &ret
19465	if err := gensupport.DecodeResponse(target, res); err != nil {
19466		return nil, err
19467	}
19468	return ret, nil
19469	// {
19470	//   "description": "Inserts a new landing page.",
19471	//   "httpMethod": "POST",
19472	//   "id": "dfareporting.advertiserLandingPages.insert",
19473	//   "parameterOrder": [
19474	//     "profileId"
19475	//   ],
19476	//   "parameters": {
19477	//     "profileId": {
19478	//       "description": "User profile ID associated with this request.",
19479	//       "format": "int64",
19480	//       "location": "path",
19481	//       "required": true,
19482	//       "type": "string"
19483	//     }
19484	//   },
19485	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19486	//   "request": {
19487	//     "$ref": "LandingPage"
19488	//   },
19489	//   "response": {
19490	//     "$ref": "LandingPage"
19491	//   },
19492	//   "scopes": [
19493	//     "https://www.googleapis.com/auth/dfatrafficking"
19494	//   ]
19495	// }
19496
19497}
19498
19499// method id "dfareporting.advertiserLandingPages.list":
19500
19501type AdvertiserLandingPagesListCall struct {
19502	s            *Service
19503	profileId    int64
19504	urlParams_   gensupport.URLParams
19505	ifNoneMatch_ string
19506	ctx_         context.Context
19507	header_      http.Header
19508}
19509
19510// List: Retrieves a list of landing pages.
19511func (r *AdvertiserLandingPagesService) List(profileId int64) *AdvertiserLandingPagesListCall {
19512	c := &AdvertiserLandingPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19513	c.profileId = profileId
19514	return c
19515}
19516
19517// AdvertiserIds sets the optional parameter "advertiserIds": Select
19518// only landing pages that belong to these advertisers.
19519func (c *AdvertiserLandingPagesListCall) AdvertiserIds(advertiserIds ...int64) *AdvertiserLandingPagesListCall {
19520	var advertiserIds_ []string
19521	for _, v := range advertiserIds {
19522		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
19523	}
19524	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
19525	return c
19526}
19527
19528// Archived sets the optional parameter "archived": Select only archived
19529// landing pages. Don't set this field to select both archived and
19530// non-archived landing pages.
19531func (c *AdvertiserLandingPagesListCall) Archived(archived bool) *AdvertiserLandingPagesListCall {
19532	c.urlParams_.Set("archived", fmt.Sprint(archived))
19533	return c
19534}
19535
19536// CampaignIds sets the optional parameter "campaignIds": Select only
19537// landing pages that are associated with these campaigns.
19538func (c *AdvertiserLandingPagesListCall) CampaignIds(campaignIds ...int64) *AdvertiserLandingPagesListCall {
19539	var campaignIds_ []string
19540	for _, v := range campaignIds {
19541		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
19542	}
19543	c.urlParams_.SetMulti("campaignIds", campaignIds_)
19544	return c
19545}
19546
19547// Ids sets the optional parameter "ids": Select only landing pages with
19548// these IDs.
19549func (c *AdvertiserLandingPagesListCall) Ids(ids ...int64) *AdvertiserLandingPagesListCall {
19550	var ids_ []string
19551	for _, v := range ids {
19552		ids_ = append(ids_, fmt.Sprint(v))
19553	}
19554	c.urlParams_.SetMulti("ids", ids_)
19555	return c
19556}
19557
19558// MaxResults sets the optional parameter "maxResults": Maximum number
19559// of results to return.
19560func (c *AdvertiserLandingPagesListCall) MaxResults(maxResults int64) *AdvertiserLandingPagesListCall {
19561	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
19562	return c
19563}
19564
19565// PageToken sets the optional parameter "pageToken": Value of the
19566// nextPageToken from the previous result page.
19567func (c *AdvertiserLandingPagesListCall) PageToken(pageToken string) *AdvertiserLandingPagesListCall {
19568	c.urlParams_.Set("pageToken", pageToken)
19569	return c
19570}
19571
19572// SearchString sets the optional parameter "searchString": Allows
19573// searching for landing pages by name or ID. Wildcards (*) are allowed.
19574// For example, "landingpage*2017" will return landing pages with names
19575// like "landingpage July 2017", "landingpage March 2017", or simply
19576// "landingpage 2017". Most of the searches also add wildcards
19577// implicitly at the start and the end of the search string. For
19578// example, a search string of "landingpage" will match campaigns with
19579// name "my landingpage", "landingpage 2015", or simply "landingpage".
19580func (c *AdvertiserLandingPagesListCall) SearchString(searchString string) *AdvertiserLandingPagesListCall {
19581	c.urlParams_.Set("searchString", searchString)
19582	return c
19583}
19584
19585// SortField sets the optional parameter "sortField": Field by which to
19586// sort the list.
19587//
19588// Possible values:
19589//   "ID" (default)
19590//   "NAME"
19591func (c *AdvertiserLandingPagesListCall) SortField(sortField string) *AdvertiserLandingPagesListCall {
19592	c.urlParams_.Set("sortField", sortField)
19593	return c
19594}
19595
19596// SortOrder sets the optional parameter "sortOrder": Order of sorted
19597// results.
19598//
19599// Possible values:
19600//   "ASCENDING" (default)
19601//   "DESCENDING"
19602func (c *AdvertiserLandingPagesListCall) SortOrder(sortOrder string) *AdvertiserLandingPagesListCall {
19603	c.urlParams_.Set("sortOrder", sortOrder)
19604	return c
19605}
19606
19607// SubaccountId sets the optional parameter "subaccountId": Select only
19608// landing pages that belong to this subaccount.
19609func (c *AdvertiserLandingPagesListCall) SubaccountId(subaccountId int64) *AdvertiserLandingPagesListCall {
19610	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
19611	return c
19612}
19613
19614// Fields allows partial responses to be retrieved. See
19615// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19616// for more information.
19617func (c *AdvertiserLandingPagesListCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesListCall {
19618	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19619	return c
19620}
19621
19622// IfNoneMatch sets the optional parameter which makes the operation
19623// fail if the object's ETag matches the given value. This is useful for
19624// getting updates only after the object has changed since the last
19625// request. Use googleapi.IsNotModified to check whether the response
19626// error from Do is the result of In-None-Match.
19627func (c *AdvertiserLandingPagesListCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesListCall {
19628	c.ifNoneMatch_ = entityTag
19629	return c
19630}
19631
19632// Context sets the context to be used in this call's Do method. Any
19633// pending HTTP request will be aborted if the provided context is
19634// canceled.
19635func (c *AdvertiserLandingPagesListCall) Context(ctx context.Context) *AdvertiserLandingPagesListCall {
19636	c.ctx_ = ctx
19637	return c
19638}
19639
19640// Header returns an http.Header that can be modified by the caller to
19641// add HTTP headers to the request.
19642func (c *AdvertiserLandingPagesListCall) Header() http.Header {
19643	if c.header_ == nil {
19644		c.header_ = make(http.Header)
19645	}
19646	return c.header_
19647}
19648
19649func (c *AdvertiserLandingPagesListCall) doRequest(alt string) (*http.Response, error) {
19650	reqHeaders := make(http.Header)
19651	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
19652	for k, v := range c.header_ {
19653		reqHeaders[k] = v
19654	}
19655	reqHeaders.Set("User-Agent", c.s.userAgent())
19656	if c.ifNoneMatch_ != "" {
19657		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19658	}
19659	var body io.Reader = nil
19660	c.urlParams_.Set("alt", alt)
19661	c.urlParams_.Set("prettyPrint", "false")
19662	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19663	urls += "?" + c.urlParams_.Encode()
19664	req, err := http.NewRequest("GET", urls, body)
19665	if err != nil {
19666		return nil, err
19667	}
19668	req.Header = reqHeaders
19669	googleapi.Expand(req.URL, map[string]string{
19670		"profileId": strconv.FormatInt(c.profileId, 10),
19671	})
19672	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19673}
19674
19675// Do executes the "dfareporting.advertiserLandingPages.list" call.
19676// Exactly one of *AdvertiserLandingPagesListResponse or error will be
19677// non-nil. Any non-2xx status code is an error. Response headers are in
19678// either *AdvertiserLandingPagesListResponse.ServerResponse.Header or
19679// (if a response was returned at all) in
19680// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19681// whether the returned error was because http.StatusNotModified was
19682// returned.
19683func (c *AdvertiserLandingPagesListCall) Do(opts ...googleapi.CallOption) (*AdvertiserLandingPagesListResponse, error) {
19684	gensupport.SetOptions(c.urlParams_, opts...)
19685	res, err := c.doRequest("json")
19686	if res != nil && res.StatusCode == http.StatusNotModified {
19687		if res.Body != nil {
19688			res.Body.Close()
19689		}
19690		return nil, &googleapi.Error{
19691			Code:   res.StatusCode,
19692			Header: res.Header,
19693		}
19694	}
19695	if err != nil {
19696		return nil, err
19697	}
19698	defer googleapi.CloseBody(res)
19699	if err := googleapi.CheckResponse(res); err != nil {
19700		return nil, err
19701	}
19702	ret := &AdvertiserLandingPagesListResponse{
19703		ServerResponse: googleapi.ServerResponse{
19704			Header:         res.Header,
19705			HTTPStatusCode: res.StatusCode,
19706		},
19707	}
19708	target := &ret
19709	if err := gensupport.DecodeResponse(target, res); err != nil {
19710		return nil, err
19711	}
19712	return ret, nil
19713	// {
19714	//   "description": "Retrieves a list of landing pages.",
19715	//   "httpMethod": "GET",
19716	//   "id": "dfareporting.advertiserLandingPages.list",
19717	//   "parameterOrder": [
19718	//     "profileId"
19719	//   ],
19720	//   "parameters": {
19721	//     "advertiserIds": {
19722	//       "description": "Select only landing pages that belong to these advertisers.",
19723	//       "format": "int64",
19724	//       "location": "query",
19725	//       "repeated": true,
19726	//       "type": "string"
19727	//     },
19728	//     "archived": {
19729	//       "description": "Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages.",
19730	//       "location": "query",
19731	//       "type": "boolean"
19732	//     },
19733	//     "campaignIds": {
19734	//       "description": "Select only landing pages that are associated with these campaigns.",
19735	//       "format": "int64",
19736	//       "location": "query",
19737	//       "repeated": true,
19738	//       "type": "string"
19739	//     },
19740	//     "ids": {
19741	//       "description": "Select only landing pages with these IDs.",
19742	//       "format": "int64",
19743	//       "location": "query",
19744	//       "repeated": true,
19745	//       "type": "string"
19746	//     },
19747	//     "maxResults": {
19748	//       "default": "1000",
19749	//       "description": "Maximum number of results to return.",
19750	//       "format": "int32",
19751	//       "location": "query",
19752	//       "maximum": "1000",
19753	//       "minimum": "0",
19754	//       "type": "integer"
19755	//     },
19756	//     "pageToken": {
19757	//       "description": "Value of the nextPageToken from the previous result page.",
19758	//       "location": "query",
19759	//       "type": "string"
19760	//     },
19761	//     "profileId": {
19762	//       "description": "User profile ID associated with this request.",
19763	//       "format": "int64",
19764	//       "location": "path",
19765	//       "required": true,
19766	//       "type": "string"
19767	//     },
19768	//     "searchString": {
19769	//       "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\".",
19770	//       "location": "query",
19771	//       "type": "string"
19772	//     },
19773	//     "sortField": {
19774	//       "default": "ID",
19775	//       "description": "Field by which to sort the list.",
19776	//       "enum": [
19777	//         "ID",
19778	//         "NAME"
19779	//       ],
19780	//       "enumDescriptions": [
19781	//         "",
19782	//         ""
19783	//       ],
19784	//       "location": "query",
19785	//       "type": "string"
19786	//     },
19787	//     "sortOrder": {
19788	//       "default": "ASCENDING",
19789	//       "description": "Order of sorted results.",
19790	//       "enum": [
19791	//         "ASCENDING",
19792	//         "DESCENDING"
19793	//       ],
19794	//       "enumDescriptions": [
19795	//         "",
19796	//         ""
19797	//       ],
19798	//       "location": "query",
19799	//       "type": "string"
19800	//     },
19801	//     "subaccountId": {
19802	//       "description": "Select only landing pages that belong to this subaccount.",
19803	//       "format": "int64",
19804	//       "location": "query",
19805	//       "type": "string"
19806	//     }
19807	//   },
19808	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19809	//   "response": {
19810	//     "$ref": "AdvertiserLandingPagesListResponse"
19811	//   },
19812	//   "scopes": [
19813	//     "https://www.googleapis.com/auth/dfatrafficking"
19814	//   ]
19815	// }
19816
19817}
19818
19819// Pages invokes f for each page of results.
19820// A non-nil error returned from f will halt the iteration.
19821// The provided context supersedes any context provided to the Context method.
19822func (c *AdvertiserLandingPagesListCall) Pages(ctx context.Context, f func(*AdvertiserLandingPagesListResponse) error) error {
19823	c.ctx_ = ctx
19824	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
19825	for {
19826		x, err := c.Do()
19827		if err != nil {
19828			return err
19829		}
19830		if err := f(x); err != nil {
19831			return err
19832		}
19833		if x.NextPageToken == "" {
19834			return nil
19835		}
19836		c.PageToken(x.NextPageToken)
19837	}
19838}
19839
19840// method id "dfareporting.advertiserLandingPages.patch":
19841
19842type AdvertiserLandingPagesPatchCall struct {
19843	s           *Service
19844	profileId   int64
19845	landingpage *LandingPage
19846	urlParams_  gensupport.URLParams
19847	ctx_        context.Context
19848	header_     http.Header
19849}
19850
19851// Patch: Updates an existing landing page. This method supports patch
19852// semantics.
19853func (r *AdvertiserLandingPagesService) Patch(profileId int64, id int64, landingpage *LandingPage) *AdvertiserLandingPagesPatchCall {
19854	c := &AdvertiserLandingPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19855	c.profileId = profileId
19856	c.urlParams_.Set("id", fmt.Sprint(id))
19857	c.landingpage = landingpage
19858	return c
19859}
19860
19861// Fields allows partial responses to be retrieved. See
19862// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19863// for more information.
19864func (c *AdvertiserLandingPagesPatchCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesPatchCall {
19865	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19866	return c
19867}
19868
19869// Context sets the context to be used in this call's Do method. Any
19870// pending HTTP request will be aborted if the provided context is
19871// canceled.
19872func (c *AdvertiserLandingPagesPatchCall) Context(ctx context.Context) *AdvertiserLandingPagesPatchCall {
19873	c.ctx_ = ctx
19874	return c
19875}
19876
19877// Header returns an http.Header that can be modified by the caller to
19878// add HTTP headers to the request.
19879func (c *AdvertiserLandingPagesPatchCall) Header() http.Header {
19880	if c.header_ == nil {
19881		c.header_ = make(http.Header)
19882	}
19883	return c.header_
19884}
19885
19886func (c *AdvertiserLandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
19887	reqHeaders := make(http.Header)
19888	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
19889	for k, v := range c.header_ {
19890		reqHeaders[k] = v
19891	}
19892	reqHeaders.Set("User-Agent", c.s.userAgent())
19893	var body io.Reader = nil
19894	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
19895	if err != nil {
19896		return nil, err
19897	}
19898	reqHeaders.Set("Content-Type", "application/json")
19899	c.urlParams_.Set("alt", alt)
19900	c.urlParams_.Set("prettyPrint", "false")
19901	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19902	urls += "?" + c.urlParams_.Encode()
19903	req, err := http.NewRequest("PATCH", urls, body)
19904	if err != nil {
19905		return nil, err
19906	}
19907	req.Header = reqHeaders
19908	googleapi.Expand(req.URL, map[string]string{
19909		"profileId": strconv.FormatInt(c.profileId, 10),
19910	})
19911	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19912}
19913
19914// Do executes the "dfareporting.advertiserLandingPages.patch" call.
19915// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
19916// status code is an error. Response headers are in either
19917// *LandingPage.ServerResponse.Header or (if a response was returned at
19918// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19919// to check whether the returned error was because
19920// http.StatusNotModified was returned.
19921func (c *AdvertiserLandingPagesPatchCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
19922	gensupport.SetOptions(c.urlParams_, opts...)
19923	res, err := c.doRequest("json")
19924	if res != nil && res.StatusCode == http.StatusNotModified {
19925		if res.Body != nil {
19926			res.Body.Close()
19927		}
19928		return nil, &googleapi.Error{
19929			Code:   res.StatusCode,
19930			Header: res.Header,
19931		}
19932	}
19933	if err != nil {
19934		return nil, err
19935	}
19936	defer googleapi.CloseBody(res)
19937	if err := googleapi.CheckResponse(res); err != nil {
19938		return nil, err
19939	}
19940	ret := &LandingPage{
19941		ServerResponse: googleapi.ServerResponse{
19942			Header:         res.Header,
19943			HTTPStatusCode: res.StatusCode,
19944		},
19945	}
19946	target := &ret
19947	if err := gensupport.DecodeResponse(target, res); err != nil {
19948		return nil, err
19949	}
19950	return ret, nil
19951	// {
19952	//   "description": "Updates an existing landing page. This method supports patch semantics.",
19953	//   "httpMethod": "PATCH",
19954	//   "id": "dfareporting.advertiserLandingPages.patch",
19955	//   "parameterOrder": [
19956	//     "profileId",
19957	//     "id"
19958	//   ],
19959	//   "parameters": {
19960	//     "id": {
19961	//       "description": "Landing page ID.",
19962	//       "format": "int64",
19963	//       "location": "query",
19964	//       "required": true,
19965	//       "type": "string"
19966	//     },
19967	//     "profileId": {
19968	//       "description": "User profile ID associated with this request.",
19969	//       "format": "int64",
19970	//       "location": "path",
19971	//       "required": true,
19972	//       "type": "string"
19973	//     }
19974	//   },
19975	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19976	//   "request": {
19977	//     "$ref": "LandingPage"
19978	//   },
19979	//   "response": {
19980	//     "$ref": "LandingPage"
19981	//   },
19982	//   "scopes": [
19983	//     "https://www.googleapis.com/auth/dfatrafficking"
19984	//   ]
19985	// }
19986
19987}
19988
19989// method id "dfareporting.advertiserLandingPages.update":
19990
19991type AdvertiserLandingPagesUpdateCall struct {
19992	s           *Service
19993	profileId   int64
19994	landingpage *LandingPage
19995	urlParams_  gensupport.URLParams
19996	ctx_        context.Context
19997	header_     http.Header
19998}
19999
20000// Update: Updates an existing landing page.
20001func (r *AdvertiserLandingPagesService) Update(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesUpdateCall {
20002	c := &AdvertiserLandingPagesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20003	c.profileId = profileId
20004	c.landingpage = landingpage
20005	return c
20006}
20007
20008// Fields allows partial responses to be retrieved. See
20009// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20010// for more information.
20011func (c *AdvertiserLandingPagesUpdateCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesUpdateCall {
20012	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20013	return c
20014}
20015
20016// Context sets the context to be used in this call's Do method. Any
20017// pending HTTP request will be aborted if the provided context is
20018// canceled.
20019func (c *AdvertiserLandingPagesUpdateCall) Context(ctx context.Context) *AdvertiserLandingPagesUpdateCall {
20020	c.ctx_ = ctx
20021	return c
20022}
20023
20024// Header returns an http.Header that can be modified by the caller to
20025// add HTTP headers to the request.
20026func (c *AdvertiserLandingPagesUpdateCall) Header() http.Header {
20027	if c.header_ == nil {
20028		c.header_ = make(http.Header)
20029	}
20030	return c.header_
20031}
20032
20033func (c *AdvertiserLandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
20034	reqHeaders := make(http.Header)
20035	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
20036	for k, v := range c.header_ {
20037		reqHeaders[k] = v
20038	}
20039	reqHeaders.Set("User-Agent", c.s.userAgent())
20040	var body io.Reader = nil
20041	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
20042	if err != nil {
20043		return nil, err
20044	}
20045	reqHeaders.Set("Content-Type", "application/json")
20046	c.urlParams_.Set("alt", alt)
20047	c.urlParams_.Set("prettyPrint", "false")
20048	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
20049	urls += "?" + c.urlParams_.Encode()
20050	req, err := http.NewRequest("PUT", urls, body)
20051	if err != nil {
20052		return nil, err
20053	}
20054	req.Header = reqHeaders
20055	googleapi.Expand(req.URL, map[string]string{
20056		"profileId": strconv.FormatInt(c.profileId, 10),
20057	})
20058	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20059}
20060
20061// Do executes the "dfareporting.advertiserLandingPages.update" call.
20062// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
20063// status code is an error. Response headers are in either
20064// *LandingPage.ServerResponse.Header or (if a response was returned at
20065// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20066// to check whether the returned error was because
20067// http.StatusNotModified was returned.
20068func (c *AdvertiserLandingPagesUpdateCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
20069	gensupport.SetOptions(c.urlParams_, opts...)
20070	res, err := c.doRequest("json")
20071	if res != nil && res.StatusCode == http.StatusNotModified {
20072		if res.Body != nil {
20073			res.Body.Close()
20074		}
20075		return nil, &googleapi.Error{
20076			Code:   res.StatusCode,
20077			Header: res.Header,
20078		}
20079	}
20080	if err != nil {
20081		return nil, err
20082	}
20083	defer googleapi.CloseBody(res)
20084	if err := googleapi.CheckResponse(res); err != nil {
20085		return nil, err
20086	}
20087	ret := &LandingPage{
20088		ServerResponse: googleapi.ServerResponse{
20089			Header:         res.Header,
20090			HTTPStatusCode: res.StatusCode,
20091		},
20092	}
20093	target := &ret
20094	if err := gensupport.DecodeResponse(target, res); err != nil {
20095		return nil, err
20096	}
20097	return ret, nil
20098	// {
20099	//   "description": "Updates an existing landing page.",
20100	//   "httpMethod": "PUT",
20101	//   "id": "dfareporting.advertiserLandingPages.update",
20102	//   "parameterOrder": [
20103	//     "profileId"
20104	//   ],
20105	//   "parameters": {
20106	//     "profileId": {
20107	//       "description": "User profile ID associated with this request.",
20108	//       "format": "int64",
20109	//       "location": "path",
20110	//       "required": true,
20111	//       "type": "string"
20112	//     }
20113	//   },
20114	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
20115	//   "request": {
20116	//     "$ref": "LandingPage"
20117	//   },
20118	//   "response": {
20119	//     "$ref": "LandingPage"
20120	//   },
20121	//   "scopes": [
20122	//     "https://www.googleapis.com/auth/dfatrafficking"
20123	//   ]
20124	// }
20125
20126}
20127
20128// method id "dfareporting.advertisers.get":
20129
20130type AdvertisersGetCall struct {
20131	s            *Service
20132	profileId    int64
20133	id           int64
20134	urlParams_   gensupport.URLParams
20135	ifNoneMatch_ string
20136	ctx_         context.Context
20137	header_      http.Header
20138}
20139
20140// Get: Gets one advertiser by ID.
20141func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
20142	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20143	c.profileId = profileId
20144	c.id = id
20145	return c
20146}
20147
20148// Fields allows partial responses to be retrieved. See
20149// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20150// for more information.
20151func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
20152	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20153	return c
20154}
20155
20156// IfNoneMatch sets the optional parameter which makes the operation
20157// fail if the object's ETag matches the given value. This is useful for
20158// getting updates only after the object has changed since the last
20159// request. Use googleapi.IsNotModified to check whether the response
20160// error from Do is the result of In-None-Match.
20161func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
20162	c.ifNoneMatch_ = entityTag
20163	return c
20164}
20165
20166// Context sets the context to be used in this call's Do method. Any
20167// pending HTTP request will be aborted if the provided context is
20168// canceled.
20169func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
20170	c.ctx_ = ctx
20171	return c
20172}
20173
20174// Header returns an http.Header that can be modified by the caller to
20175// add HTTP headers to the request.
20176func (c *AdvertisersGetCall) Header() http.Header {
20177	if c.header_ == nil {
20178		c.header_ = make(http.Header)
20179	}
20180	return c.header_
20181}
20182
20183func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
20184	reqHeaders := make(http.Header)
20185	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
20186	for k, v := range c.header_ {
20187		reqHeaders[k] = v
20188	}
20189	reqHeaders.Set("User-Agent", c.s.userAgent())
20190	if c.ifNoneMatch_ != "" {
20191		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20192	}
20193	var body io.Reader = nil
20194	c.urlParams_.Set("alt", alt)
20195	c.urlParams_.Set("prettyPrint", "false")
20196	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
20197	urls += "?" + c.urlParams_.Encode()
20198	req, err := http.NewRequest("GET", urls, body)
20199	if err != nil {
20200		return nil, err
20201	}
20202	req.Header = reqHeaders
20203	googleapi.Expand(req.URL, map[string]string{
20204		"profileId": strconv.FormatInt(c.profileId, 10),
20205		"id":        strconv.FormatInt(c.id, 10),
20206	})
20207	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20208}
20209
20210// Do executes the "dfareporting.advertisers.get" call.
20211// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
20212// status code is an error. Response headers are in either
20213// *Advertiser.ServerResponse.Header or (if a response was returned at
20214// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20215// to check whether the returned error was because
20216// http.StatusNotModified was returned.
20217func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
20218	gensupport.SetOptions(c.urlParams_, opts...)
20219	res, err := c.doRequest("json")
20220	if res != nil && res.StatusCode == http.StatusNotModified {
20221		if res.Body != nil {
20222			res.Body.Close()
20223		}
20224		return nil, &googleapi.Error{
20225			Code:   res.StatusCode,
20226			Header: res.Header,
20227		}
20228	}
20229	if err != nil {
20230		return nil, err
20231	}
20232	defer googleapi.CloseBody(res)
20233	if err := googleapi.CheckResponse(res); err != nil {
20234		return nil, err
20235	}
20236	ret := &Advertiser{
20237		ServerResponse: googleapi.ServerResponse{
20238			Header:         res.Header,
20239			HTTPStatusCode: res.StatusCode,
20240		},
20241	}
20242	target := &ret
20243	if err := gensupport.DecodeResponse(target, res); err != nil {
20244		return nil, err
20245	}
20246	return ret, nil
20247	// {
20248	//   "description": "Gets one advertiser by ID.",
20249	//   "httpMethod": "GET",
20250	//   "id": "dfareporting.advertisers.get",
20251	//   "parameterOrder": [
20252	//     "profileId",
20253	//     "id"
20254	//   ],
20255	//   "parameters": {
20256	//     "id": {
20257	//       "description": "Advertiser ID.",
20258	//       "format": "int64",
20259	//       "location": "path",
20260	//       "required": true,
20261	//       "type": "string"
20262	//     },
20263	//     "profileId": {
20264	//       "description": "User profile ID associated with this request.",
20265	//       "format": "int64",
20266	//       "location": "path",
20267	//       "required": true,
20268	//       "type": "string"
20269	//     }
20270	//   },
20271	//   "path": "userprofiles/{profileId}/advertisers/{id}",
20272	//   "response": {
20273	//     "$ref": "Advertiser"
20274	//   },
20275	//   "scopes": [
20276	//     "https://www.googleapis.com/auth/dfatrafficking"
20277	//   ]
20278	// }
20279
20280}
20281
20282// method id "dfareporting.advertisers.insert":
20283
20284type AdvertisersInsertCall struct {
20285	s          *Service
20286	profileId  int64
20287	advertiser *Advertiser
20288	urlParams_ gensupport.URLParams
20289	ctx_       context.Context
20290	header_    http.Header
20291}
20292
20293// Insert: Inserts a new advertiser.
20294func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
20295	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20296	c.profileId = profileId
20297	c.advertiser = advertiser
20298	return c
20299}
20300
20301// Fields allows partial responses to be retrieved. See
20302// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20303// for more information.
20304func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
20305	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20306	return c
20307}
20308
20309// Context sets the context to be used in this call's Do method. Any
20310// pending HTTP request will be aborted if the provided context is
20311// canceled.
20312func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
20313	c.ctx_ = ctx
20314	return c
20315}
20316
20317// Header returns an http.Header that can be modified by the caller to
20318// add HTTP headers to the request.
20319func (c *AdvertisersInsertCall) Header() http.Header {
20320	if c.header_ == nil {
20321		c.header_ = make(http.Header)
20322	}
20323	return c.header_
20324}
20325
20326func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
20327	reqHeaders := make(http.Header)
20328	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
20329	for k, v := range c.header_ {
20330		reqHeaders[k] = v
20331	}
20332	reqHeaders.Set("User-Agent", c.s.userAgent())
20333	var body io.Reader = nil
20334	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
20335	if err != nil {
20336		return nil, err
20337	}
20338	reqHeaders.Set("Content-Type", "application/json")
20339	c.urlParams_.Set("alt", alt)
20340	c.urlParams_.Set("prettyPrint", "false")
20341	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20342	urls += "?" + c.urlParams_.Encode()
20343	req, err := http.NewRequest("POST", urls, body)
20344	if err != nil {
20345		return nil, err
20346	}
20347	req.Header = reqHeaders
20348	googleapi.Expand(req.URL, map[string]string{
20349		"profileId": strconv.FormatInt(c.profileId, 10),
20350	})
20351	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20352}
20353
20354// Do executes the "dfareporting.advertisers.insert" call.
20355// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
20356// status code is an error. Response headers are in either
20357// *Advertiser.ServerResponse.Header or (if a response was returned at
20358// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20359// to check whether the returned error was because
20360// http.StatusNotModified was returned.
20361func (c *AdvertisersInsertCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
20362	gensupport.SetOptions(c.urlParams_, opts...)
20363	res, err := c.doRequest("json")
20364	if res != nil && res.StatusCode == http.StatusNotModified {
20365		if res.Body != nil {
20366			res.Body.Close()
20367		}
20368		return nil, &googleapi.Error{
20369			Code:   res.StatusCode,
20370			Header: res.Header,
20371		}
20372	}
20373	if err != nil {
20374		return nil, err
20375	}
20376	defer googleapi.CloseBody(res)
20377	if err := googleapi.CheckResponse(res); err != nil {
20378		return nil, err
20379	}
20380	ret := &Advertiser{
20381		ServerResponse: googleapi.ServerResponse{
20382			Header:         res.Header,
20383			HTTPStatusCode: res.StatusCode,
20384		},
20385	}
20386	target := &ret
20387	if err := gensupport.DecodeResponse(target, res); err != nil {
20388		return nil, err
20389	}
20390	return ret, nil
20391	// {
20392	//   "description": "Inserts a new advertiser.",
20393	//   "httpMethod": "POST",
20394	//   "id": "dfareporting.advertisers.insert",
20395	//   "parameterOrder": [
20396	//     "profileId"
20397	//   ],
20398	//   "parameters": {
20399	//     "profileId": {
20400	//       "description": "User profile ID associated with this request.",
20401	//       "format": "int64",
20402	//       "location": "path",
20403	//       "required": true,
20404	//       "type": "string"
20405	//     }
20406	//   },
20407	//   "path": "userprofiles/{profileId}/advertisers",
20408	//   "request": {
20409	//     "$ref": "Advertiser"
20410	//   },
20411	//   "response": {
20412	//     "$ref": "Advertiser"
20413	//   },
20414	//   "scopes": [
20415	//     "https://www.googleapis.com/auth/dfatrafficking"
20416	//   ]
20417	// }
20418
20419}
20420
20421// method id "dfareporting.advertisers.list":
20422
20423type AdvertisersListCall struct {
20424	s            *Service
20425	profileId    int64
20426	urlParams_   gensupport.URLParams
20427	ifNoneMatch_ string
20428	ctx_         context.Context
20429	header_      http.Header
20430}
20431
20432// List: Retrieves a list of advertisers, possibly filtered. This method
20433// supports paging.
20434func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
20435	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20436	c.profileId = profileId
20437	return c
20438}
20439
20440// AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
20441// Select only advertisers with these advertiser group IDs.
20442func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *AdvertisersListCall {
20443	var advertiserGroupIds_ []string
20444	for _, v := range advertiserGroupIds {
20445		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
20446	}
20447	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
20448	return c
20449}
20450
20451// FloodlightConfigurationIds sets the optional parameter
20452// "floodlightConfigurationIds": Select only advertisers with these
20453// floodlight configuration IDs.
20454func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds ...int64) *AdvertisersListCall {
20455	var floodlightConfigurationIds_ []string
20456	for _, v := range floodlightConfigurationIds {
20457		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprint(v))
20458	}
20459	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
20460	return c
20461}
20462
20463// Ids sets the optional parameter "ids": Select only advertisers with
20464// these IDs.
20465func (c *AdvertisersListCall) Ids(ids ...int64) *AdvertisersListCall {
20466	var ids_ []string
20467	for _, v := range ids {
20468		ids_ = append(ids_, fmt.Sprint(v))
20469	}
20470	c.urlParams_.SetMulti("ids", ids_)
20471	return c
20472}
20473
20474// IncludeAdvertisersWithoutGroupsOnly sets the optional parameter
20475// "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
20476// do not belong to any advertiser group.
20477func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
20478	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprint(includeAdvertisersWithoutGroupsOnly))
20479	return c
20480}
20481
20482// MaxResults sets the optional parameter "maxResults": Maximum number
20483// of results to return.
20484func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
20485	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
20486	return c
20487}
20488
20489// OnlyParent sets the optional parameter "onlyParent": Select only
20490// advertisers which use another advertiser's floodlight configuration.
20491func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
20492	c.urlParams_.Set("onlyParent", fmt.Sprint(onlyParent))
20493	return c
20494}
20495
20496// PageToken sets the optional parameter "pageToken": Value of the
20497// nextPageToken from the previous result page.
20498func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
20499	c.urlParams_.Set("pageToken", pageToken)
20500	return c
20501}
20502
20503// SearchString sets the optional parameter "searchString": Allows
20504// searching for objects by name or ID. Wildcards (*) are allowed. For
20505// example, "advertiser*2015" will return objects with names like
20506// "advertiser June 2015", "advertiser April 2015", or simply
20507// "advertiser 2015". Most of the searches also add wildcards implicitly
20508// at the start and the end of the search string. For example, a search
20509// string of "advertiser" will match objects with name "my advertiser",
20510// "advertiser 2015", or simply "advertiser".
20511func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
20512	c.urlParams_.Set("searchString", searchString)
20513	return c
20514}
20515
20516// SortField sets the optional parameter "sortField": Field by which to
20517// sort the list.
20518//
20519// Possible values:
20520//   "ID" (default)
20521//   "NAME"
20522func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
20523	c.urlParams_.Set("sortField", sortField)
20524	return c
20525}
20526
20527// SortOrder sets the optional parameter "sortOrder": Order of sorted
20528// results.
20529//
20530// Possible values:
20531//   "ASCENDING" (default)
20532//   "DESCENDING"
20533func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
20534	c.urlParams_.Set("sortOrder", sortOrder)
20535	return c
20536}
20537
20538// Status sets the optional parameter "status": Select only advertisers
20539// with the specified status.
20540//
20541// Possible values:
20542//   "APPROVED"
20543//   "ON_HOLD"
20544func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
20545	c.urlParams_.Set("status", status)
20546	return c
20547}
20548
20549// SubaccountId sets the optional parameter "subaccountId": Select only
20550// advertisers with these subaccount IDs.
20551func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
20552	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
20553	return c
20554}
20555
20556// Fields allows partial responses to be retrieved. See
20557// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20558// for more information.
20559func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
20560	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20561	return c
20562}
20563
20564// IfNoneMatch sets the optional parameter which makes the operation
20565// fail if the object's ETag matches the given value. This is useful for
20566// getting updates only after the object has changed since the last
20567// request. Use googleapi.IsNotModified to check whether the response
20568// error from Do is the result of In-None-Match.
20569func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
20570	c.ifNoneMatch_ = entityTag
20571	return c
20572}
20573
20574// Context sets the context to be used in this call's Do method. Any
20575// pending HTTP request will be aborted if the provided context is
20576// canceled.
20577func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
20578	c.ctx_ = ctx
20579	return c
20580}
20581
20582// Header returns an http.Header that can be modified by the caller to
20583// add HTTP headers to the request.
20584func (c *AdvertisersListCall) Header() http.Header {
20585	if c.header_ == nil {
20586		c.header_ = make(http.Header)
20587	}
20588	return c.header_
20589}
20590
20591func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
20592	reqHeaders := make(http.Header)
20593	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
20594	for k, v := range c.header_ {
20595		reqHeaders[k] = v
20596	}
20597	reqHeaders.Set("User-Agent", c.s.userAgent())
20598	if c.ifNoneMatch_ != "" {
20599		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20600	}
20601	var body io.Reader = nil
20602	c.urlParams_.Set("alt", alt)
20603	c.urlParams_.Set("prettyPrint", "false")
20604	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20605	urls += "?" + c.urlParams_.Encode()
20606	req, err := http.NewRequest("GET", urls, body)
20607	if err != nil {
20608		return nil, err
20609	}
20610	req.Header = reqHeaders
20611	googleapi.Expand(req.URL, map[string]string{
20612		"profileId": strconv.FormatInt(c.profileId, 10),
20613	})
20614	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20615}
20616
20617// Do executes the "dfareporting.advertisers.list" call.
20618// Exactly one of *AdvertisersListResponse or error will be non-nil. Any
20619// non-2xx status code is an error. Response headers are in either
20620// *AdvertisersListResponse.ServerResponse.Header or (if a response was
20621// returned at all) in error.(*googleapi.Error).Header. Use
20622// googleapi.IsNotModified to check whether the returned error was
20623// because http.StatusNotModified was returned.
20624func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*AdvertisersListResponse, error) {
20625	gensupport.SetOptions(c.urlParams_, opts...)
20626	res, err := c.doRequest("json")
20627	if res != nil && res.StatusCode == http.StatusNotModified {
20628		if res.Body != nil {
20629			res.Body.Close()
20630		}
20631		return nil, &googleapi.Error{
20632			Code:   res.StatusCode,
20633			Header: res.Header,
20634		}
20635	}
20636	if err != nil {
20637		return nil, err
20638	}
20639	defer googleapi.CloseBody(res)
20640	if err := googleapi.CheckResponse(res); err != nil {
20641		return nil, err
20642	}
20643	ret := &AdvertisersListResponse{
20644		ServerResponse: googleapi.ServerResponse{
20645			Header:         res.Header,
20646			HTTPStatusCode: res.StatusCode,
20647		},
20648	}
20649	target := &ret
20650	if err := gensupport.DecodeResponse(target, res); err != nil {
20651		return nil, err
20652	}
20653	return ret, nil
20654	// {
20655	//   "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
20656	//   "httpMethod": "GET",
20657	//   "id": "dfareporting.advertisers.list",
20658	//   "parameterOrder": [
20659	//     "profileId"
20660	//   ],
20661	//   "parameters": {
20662	//     "advertiserGroupIds": {
20663	//       "description": "Select only advertisers with these advertiser group IDs.",
20664	//       "format": "int64",
20665	//       "location": "query",
20666	//       "repeated": true,
20667	//       "type": "string"
20668	//     },
20669	//     "floodlightConfigurationIds": {
20670	//       "description": "Select only advertisers with these floodlight configuration IDs.",
20671	//       "format": "int64",
20672	//       "location": "query",
20673	//       "repeated": true,
20674	//       "type": "string"
20675	//     },
20676	//     "ids": {
20677	//       "description": "Select only advertisers with these IDs.",
20678	//       "format": "int64",
20679	//       "location": "query",
20680	//       "repeated": true,
20681	//       "type": "string"
20682	//     },
20683	//     "includeAdvertisersWithoutGroupsOnly": {
20684	//       "description": "Select only advertisers which do not belong to any advertiser group.",
20685	//       "location": "query",
20686	//       "type": "boolean"
20687	//     },
20688	//     "maxResults": {
20689	//       "default": "1000",
20690	//       "description": "Maximum number of results to return.",
20691	//       "format": "int32",
20692	//       "location": "query",
20693	//       "maximum": "1000",
20694	//       "minimum": "0",
20695	//       "type": "integer"
20696	//     },
20697	//     "onlyParent": {
20698	//       "description": "Select only advertisers which use another advertiser's floodlight configuration.",
20699	//       "location": "query",
20700	//       "type": "boolean"
20701	//     },
20702	//     "pageToken": {
20703	//       "description": "Value of the nextPageToken from the previous result page.",
20704	//       "location": "query",
20705	//       "type": "string"
20706	//     },
20707	//     "profileId": {
20708	//       "description": "User profile ID associated with this request.",
20709	//       "format": "int64",
20710	//       "location": "path",
20711	//       "required": true,
20712	//       "type": "string"
20713	//     },
20714	//     "searchString": {
20715	//       "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\".",
20716	//       "location": "query",
20717	//       "type": "string"
20718	//     },
20719	//     "sortField": {
20720	//       "default": "ID",
20721	//       "description": "Field by which to sort the list.",
20722	//       "enum": [
20723	//         "ID",
20724	//         "NAME"
20725	//       ],
20726	//       "enumDescriptions": [
20727	//         "",
20728	//         ""
20729	//       ],
20730	//       "location": "query",
20731	//       "type": "string"
20732	//     },
20733	//     "sortOrder": {
20734	//       "default": "ASCENDING",
20735	//       "description": "Order of sorted results.",
20736	//       "enum": [
20737	//         "ASCENDING",
20738	//         "DESCENDING"
20739	//       ],
20740	//       "enumDescriptions": [
20741	//         "",
20742	//         ""
20743	//       ],
20744	//       "location": "query",
20745	//       "type": "string"
20746	//     },
20747	//     "status": {
20748	//       "description": "Select only advertisers with the specified status.",
20749	//       "enum": [
20750	//         "APPROVED",
20751	//         "ON_HOLD"
20752	//       ],
20753	//       "enumDescriptions": [
20754	//         "",
20755	//         ""
20756	//       ],
20757	//       "location": "query",
20758	//       "type": "string"
20759	//     },
20760	//     "subaccountId": {
20761	//       "description": "Select only advertisers with these subaccount IDs.",
20762	//       "format": "int64",
20763	//       "location": "query",
20764	//       "type": "string"
20765	//     }
20766	//   },
20767	//   "path": "userprofiles/{profileId}/advertisers",
20768	//   "response": {
20769	//     "$ref": "AdvertisersListResponse"
20770	//   },
20771	//   "scopes": [
20772	//     "https://www.googleapis.com/auth/dfatrafficking"
20773	//   ]
20774	// }
20775
20776}
20777
20778// Pages invokes f for each page of results.
20779// A non-nil error returned from f will halt the iteration.
20780// The provided context supersedes any context provided to the Context method.
20781func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*AdvertisersListResponse) error) error {
20782	c.ctx_ = ctx
20783	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20784	for {
20785		x, err := c.Do()
20786		if err != nil {
20787			return err
20788		}
20789		if err := f(x); err != nil {
20790			return err
20791		}
20792		if x.NextPageToken == "" {
20793			return nil
20794		}
20795		c.PageToken(x.NextPageToken)
20796	}
20797}
20798
20799// method id "dfareporting.advertisers.patch":
20800
20801type AdvertisersPatchCall struct {
20802	s          *Service
20803	profileId  int64
20804	advertiser *Advertiser
20805	urlParams_ gensupport.URLParams
20806	ctx_       context.Context
20807	header_    http.Header
20808}
20809
20810// Patch: Updates an existing advertiser. This method supports patch
20811// semantics.
20812func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
20813	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20814	c.profileId = profileId
20815	c.urlParams_.Set("id", fmt.Sprint(id))
20816	c.advertiser = advertiser
20817	return c
20818}
20819
20820// Fields allows partial responses to be retrieved. See
20821// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20822// for more information.
20823func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
20824	c.urlParams_.Set("fields", googleapi.CombineFields(s))
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 *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
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 *AdvertisersPatchCall) Header() http.Header {
20839	if c.header_ == nil {
20840		c.header_ = make(http.Header)
20841	}
20842	return c.header_
20843}
20844
20845func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
20846	reqHeaders := make(http.Header)
20847	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
20848	for k, v := range c.header_ {
20849		reqHeaders[k] = v
20850	}
20851	reqHeaders.Set("User-Agent", c.s.userAgent())
20852	var body io.Reader = nil
20853	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
20854	if err != nil {
20855		return nil, err
20856	}
20857	reqHeaders.Set("Content-Type", "application/json")
20858	c.urlParams_.Set("alt", alt)
20859	c.urlParams_.Set("prettyPrint", "false")
20860	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20861	urls += "?" + c.urlParams_.Encode()
20862	req, err := http.NewRequest("PATCH", urls, body)
20863	if err != nil {
20864		return nil, err
20865	}
20866	req.Header = reqHeaders
20867	googleapi.Expand(req.URL, map[string]string{
20868		"profileId": strconv.FormatInt(c.profileId, 10),
20869	})
20870	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20871}
20872
20873// Do executes the "dfareporting.advertisers.patch" call.
20874// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
20875// status code is an error. Response headers are in either
20876// *Advertiser.ServerResponse.Header or (if a response was returned at
20877// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20878// to check whether the returned error was because
20879// http.StatusNotModified was returned.
20880func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
20881	gensupport.SetOptions(c.urlParams_, opts...)
20882	res, err := c.doRequest("json")
20883	if res != nil && res.StatusCode == http.StatusNotModified {
20884		if res.Body != nil {
20885			res.Body.Close()
20886		}
20887		return nil, &googleapi.Error{
20888			Code:   res.StatusCode,
20889			Header: res.Header,
20890		}
20891	}
20892	if err != nil {
20893		return nil, err
20894	}
20895	defer googleapi.CloseBody(res)
20896	if err := googleapi.CheckResponse(res); err != nil {
20897		return nil, err
20898	}
20899	ret := &Advertiser{
20900		ServerResponse: googleapi.ServerResponse{
20901			Header:         res.Header,
20902			HTTPStatusCode: res.StatusCode,
20903		},
20904	}
20905	target := &ret
20906	if err := gensupport.DecodeResponse(target, res); err != nil {
20907		return nil, err
20908	}
20909	return ret, nil
20910	// {
20911	//   "description": "Updates an existing advertiser. This method supports patch semantics.",
20912	//   "httpMethod": "PATCH",
20913	//   "id": "dfareporting.advertisers.patch",
20914	//   "parameterOrder": [
20915	//     "profileId",
20916	//     "id"
20917	//   ],
20918	//   "parameters": {
20919	//     "id": {
20920	//       "description": "Advertiser ID.",
20921	//       "format": "int64",
20922	//       "location": "query",
20923	//       "required": true,
20924	//       "type": "string"
20925	//     },
20926	//     "profileId": {
20927	//       "description": "User profile ID associated with this request.",
20928	//       "format": "int64",
20929	//       "location": "path",
20930	//       "required": true,
20931	//       "type": "string"
20932	//     }
20933	//   },
20934	//   "path": "userprofiles/{profileId}/advertisers",
20935	//   "request": {
20936	//     "$ref": "Advertiser"
20937	//   },
20938	//   "response": {
20939	//     "$ref": "Advertiser"
20940	//   },
20941	//   "scopes": [
20942	//     "https://www.googleapis.com/auth/dfatrafficking"
20943	//   ]
20944	// }
20945
20946}
20947
20948// method id "dfareporting.advertisers.update":
20949
20950type AdvertisersUpdateCall struct {
20951	s          *Service
20952	profileId  int64
20953	advertiser *Advertiser
20954	urlParams_ gensupport.URLParams
20955	ctx_       context.Context
20956	header_    http.Header
20957}
20958
20959// Update: Updates an existing advertiser.
20960func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
20961	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20962	c.profileId = profileId
20963	c.advertiser = advertiser
20964	return c
20965}
20966
20967// Fields allows partial responses to be retrieved. See
20968// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20969// for more information.
20970func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
20971	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20972	return c
20973}
20974
20975// Context sets the context to be used in this call's Do method. Any
20976// pending HTTP request will be aborted if the provided context is
20977// canceled.
20978func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
20979	c.ctx_ = ctx
20980	return c
20981}
20982
20983// Header returns an http.Header that can be modified by the caller to
20984// add HTTP headers to the request.
20985func (c *AdvertisersUpdateCall) Header() http.Header {
20986	if c.header_ == nil {
20987		c.header_ = make(http.Header)
20988	}
20989	return c.header_
20990}
20991
20992func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
20993	reqHeaders := make(http.Header)
20994	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
20995	for k, v := range c.header_ {
20996		reqHeaders[k] = v
20997	}
20998	reqHeaders.Set("User-Agent", c.s.userAgent())
20999	var body io.Reader = nil
21000	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
21001	if err != nil {
21002		return nil, err
21003	}
21004	reqHeaders.Set("Content-Type", "application/json")
21005	c.urlParams_.Set("alt", alt)
21006	c.urlParams_.Set("prettyPrint", "false")
21007	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
21008	urls += "?" + c.urlParams_.Encode()
21009	req, err := http.NewRequest("PUT", urls, body)
21010	if err != nil {
21011		return nil, err
21012	}
21013	req.Header = reqHeaders
21014	googleapi.Expand(req.URL, map[string]string{
21015		"profileId": strconv.FormatInt(c.profileId, 10),
21016	})
21017	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21018}
21019
21020// Do executes the "dfareporting.advertisers.update" call.
21021// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
21022// status code is an error. Response headers are in either
21023// *Advertiser.ServerResponse.Header or (if a response was returned at
21024// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21025// to check whether the returned error was because
21026// http.StatusNotModified was returned.
21027func (c *AdvertisersUpdateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
21028	gensupport.SetOptions(c.urlParams_, opts...)
21029	res, err := c.doRequest("json")
21030	if res != nil && res.StatusCode == http.StatusNotModified {
21031		if res.Body != nil {
21032			res.Body.Close()
21033		}
21034		return nil, &googleapi.Error{
21035			Code:   res.StatusCode,
21036			Header: res.Header,
21037		}
21038	}
21039	if err != nil {
21040		return nil, err
21041	}
21042	defer googleapi.CloseBody(res)
21043	if err := googleapi.CheckResponse(res); err != nil {
21044		return nil, err
21045	}
21046	ret := &Advertiser{
21047		ServerResponse: googleapi.ServerResponse{
21048			Header:         res.Header,
21049			HTTPStatusCode: res.StatusCode,
21050		},
21051	}
21052	target := &ret
21053	if err := gensupport.DecodeResponse(target, res); err != nil {
21054		return nil, err
21055	}
21056	return ret, nil
21057	// {
21058	//   "description": "Updates an existing advertiser.",
21059	//   "httpMethod": "PUT",
21060	//   "id": "dfareporting.advertisers.update",
21061	//   "parameterOrder": [
21062	//     "profileId"
21063	//   ],
21064	//   "parameters": {
21065	//     "profileId": {
21066	//       "description": "User profile ID associated with this request.",
21067	//       "format": "int64",
21068	//       "location": "path",
21069	//       "required": true,
21070	//       "type": "string"
21071	//     }
21072	//   },
21073	//   "path": "userprofiles/{profileId}/advertisers",
21074	//   "request": {
21075	//     "$ref": "Advertiser"
21076	//   },
21077	//   "response": {
21078	//     "$ref": "Advertiser"
21079	//   },
21080	//   "scopes": [
21081	//     "https://www.googleapis.com/auth/dfatrafficking"
21082	//   ]
21083	// }
21084
21085}
21086
21087// method id "dfareporting.browsers.list":
21088
21089type BrowsersListCall struct {
21090	s            *Service
21091	profileId    int64
21092	urlParams_   gensupport.URLParams
21093	ifNoneMatch_ string
21094	ctx_         context.Context
21095	header_      http.Header
21096}
21097
21098// List: Retrieves a list of browsers.
21099func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
21100	c := &BrowsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21101	c.profileId = profileId
21102	return c
21103}
21104
21105// Fields allows partial responses to be retrieved. See
21106// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21107// for more information.
21108func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
21109	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21110	return c
21111}
21112
21113// IfNoneMatch sets the optional parameter which makes the operation
21114// fail if the object's ETag matches the given value. This is useful for
21115// getting updates only after the object has changed since the last
21116// request. Use googleapi.IsNotModified to check whether the response
21117// error from Do is the result of In-None-Match.
21118func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
21119	c.ifNoneMatch_ = entityTag
21120	return c
21121}
21122
21123// Context sets the context to be used in this call's Do method. Any
21124// pending HTTP request will be aborted if the provided context is
21125// canceled.
21126func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
21127	c.ctx_ = ctx
21128	return c
21129}
21130
21131// Header returns an http.Header that can be modified by the caller to
21132// add HTTP headers to the request.
21133func (c *BrowsersListCall) Header() http.Header {
21134	if c.header_ == nil {
21135		c.header_ = make(http.Header)
21136	}
21137	return c.header_
21138}
21139
21140func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
21141	reqHeaders := make(http.Header)
21142	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
21143	for k, v := range c.header_ {
21144		reqHeaders[k] = v
21145	}
21146	reqHeaders.Set("User-Agent", c.s.userAgent())
21147	if c.ifNoneMatch_ != "" {
21148		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21149	}
21150	var body io.Reader = nil
21151	c.urlParams_.Set("alt", alt)
21152	c.urlParams_.Set("prettyPrint", "false")
21153	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
21154	urls += "?" + c.urlParams_.Encode()
21155	req, err := http.NewRequest("GET", urls, body)
21156	if err != nil {
21157		return nil, err
21158	}
21159	req.Header = reqHeaders
21160	googleapi.Expand(req.URL, map[string]string{
21161		"profileId": strconv.FormatInt(c.profileId, 10),
21162	})
21163	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21164}
21165
21166// Do executes the "dfareporting.browsers.list" call.
21167// Exactly one of *BrowsersListResponse or error will be non-nil. Any
21168// non-2xx status code is an error. Response headers are in either
21169// *BrowsersListResponse.ServerResponse.Header or (if a response was
21170// returned at all) in error.(*googleapi.Error).Header. Use
21171// googleapi.IsNotModified to check whether the returned error was
21172// because http.StatusNotModified was returned.
21173func (c *BrowsersListCall) Do(opts ...googleapi.CallOption) (*BrowsersListResponse, error) {
21174	gensupport.SetOptions(c.urlParams_, opts...)
21175	res, err := c.doRequest("json")
21176	if res != nil && res.StatusCode == http.StatusNotModified {
21177		if res.Body != nil {
21178			res.Body.Close()
21179		}
21180		return nil, &googleapi.Error{
21181			Code:   res.StatusCode,
21182			Header: res.Header,
21183		}
21184	}
21185	if err != nil {
21186		return nil, err
21187	}
21188	defer googleapi.CloseBody(res)
21189	if err := googleapi.CheckResponse(res); err != nil {
21190		return nil, err
21191	}
21192	ret := &BrowsersListResponse{
21193		ServerResponse: googleapi.ServerResponse{
21194			Header:         res.Header,
21195			HTTPStatusCode: res.StatusCode,
21196		},
21197	}
21198	target := &ret
21199	if err := gensupport.DecodeResponse(target, res); err != nil {
21200		return nil, err
21201	}
21202	return ret, nil
21203	// {
21204	//   "description": "Retrieves a list of browsers.",
21205	//   "httpMethod": "GET",
21206	//   "id": "dfareporting.browsers.list",
21207	//   "parameterOrder": [
21208	//     "profileId"
21209	//   ],
21210	//   "parameters": {
21211	//     "profileId": {
21212	//       "description": "User profile ID associated with this request.",
21213	//       "format": "int64",
21214	//       "location": "path",
21215	//       "required": true,
21216	//       "type": "string"
21217	//     }
21218	//   },
21219	//   "path": "userprofiles/{profileId}/browsers",
21220	//   "response": {
21221	//     "$ref": "BrowsersListResponse"
21222	//   },
21223	//   "scopes": [
21224	//     "https://www.googleapis.com/auth/dfatrafficking"
21225	//   ]
21226	// }
21227
21228}
21229
21230// method id "dfareporting.campaignCreativeAssociations.insert":
21231
21232type CampaignCreativeAssociationsInsertCall struct {
21233	s                           *Service
21234	profileId                   int64
21235	campaignId                  int64
21236	campaigncreativeassociation *CampaignCreativeAssociation
21237	urlParams_                  gensupport.URLParams
21238	ctx_                        context.Context
21239	header_                     http.Header
21240}
21241
21242// Insert: Associates a creative with the specified campaign. This
21243// method creates a default ad with dimensions matching the creative in
21244// the campaign if such a default ad does not exist already.
21245func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
21246	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21247	c.profileId = profileId
21248	c.campaignId = campaignId
21249	c.campaigncreativeassociation = campaigncreativeassociation
21250	return c
21251}
21252
21253// Fields allows partial responses to be retrieved. See
21254// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21255// for more information.
21256func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
21257	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21258	return c
21259}
21260
21261// Context sets the context to be used in this call's Do method. Any
21262// pending HTTP request will be aborted if the provided context is
21263// canceled.
21264func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
21265	c.ctx_ = ctx
21266	return c
21267}
21268
21269// Header returns an http.Header that can be modified by the caller to
21270// add HTTP headers to the request.
21271func (c *CampaignCreativeAssociationsInsertCall) Header() http.Header {
21272	if c.header_ == nil {
21273		c.header_ = make(http.Header)
21274	}
21275	return c.header_
21276}
21277
21278func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
21279	reqHeaders := make(http.Header)
21280	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
21281	for k, v := range c.header_ {
21282		reqHeaders[k] = v
21283	}
21284	reqHeaders.Set("User-Agent", c.s.userAgent())
21285	var body io.Reader = nil
21286	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaigncreativeassociation)
21287	if err != nil {
21288		return nil, err
21289	}
21290	reqHeaders.Set("Content-Type", "application/json")
21291	c.urlParams_.Set("alt", alt)
21292	c.urlParams_.Set("prettyPrint", "false")
21293	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
21294	urls += "?" + c.urlParams_.Encode()
21295	req, err := http.NewRequest("POST", urls, body)
21296	if err != nil {
21297		return nil, err
21298	}
21299	req.Header = reqHeaders
21300	googleapi.Expand(req.URL, map[string]string{
21301		"profileId":  strconv.FormatInt(c.profileId, 10),
21302		"campaignId": strconv.FormatInt(c.campaignId, 10),
21303	})
21304	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21305}
21306
21307// Do executes the "dfareporting.campaignCreativeAssociations.insert" call.
21308// Exactly one of *CampaignCreativeAssociation or error will be non-nil.
21309// Any non-2xx status code is an error. Response headers are in either
21310// *CampaignCreativeAssociation.ServerResponse.Header or (if a response
21311// was returned at all) in error.(*googleapi.Error).Header. Use
21312// googleapi.IsNotModified to check whether the returned error was
21313// because http.StatusNotModified was returned.
21314func (c *CampaignCreativeAssociationsInsertCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociation, error) {
21315	gensupport.SetOptions(c.urlParams_, opts...)
21316	res, err := c.doRequest("json")
21317	if res != nil && res.StatusCode == http.StatusNotModified {
21318		if res.Body != nil {
21319			res.Body.Close()
21320		}
21321		return nil, &googleapi.Error{
21322			Code:   res.StatusCode,
21323			Header: res.Header,
21324		}
21325	}
21326	if err != nil {
21327		return nil, err
21328	}
21329	defer googleapi.CloseBody(res)
21330	if err := googleapi.CheckResponse(res); err != nil {
21331		return nil, err
21332	}
21333	ret := &CampaignCreativeAssociation{
21334		ServerResponse: googleapi.ServerResponse{
21335			Header:         res.Header,
21336			HTTPStatusCode: res.StatusCode,
21337		},
21338	}
21339	target := &ret
21340	if err := gensupport.DecodeResponse(target, res); err != nil {
21341		return nil, err
21342	}
21343	return ret, nil
21344	// {
21345	//   "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.",
21346	//   "httpMethod": "POST",
21347	//   "id": "dfareporting.campaignCreativeAssociations.insert",
21348	//   "parameterOrder": [
21349	//     "profileId",
21350	//     "campaignId"
21351	//   ],
21352	//   "parameters": {
21353	//     "campaignId": {
21354	//       "description": "Campaign ID in this association.",
21355	//       "format": "int64",
21356	//       "location": "path",
21357	//       "required": true,
21358	//       "type": "string"
21359	//     },
21360	//     "profileId": {
21361	//       "description": "User profile ID associated with this request.",
21362	//       "format": "int64",
21363	//       "location": "path",
21364	//       "required": true,
21365	//       "type": "string"
21366	//     }
21367	//   },
21368	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
21369	//   "request": {
21370	//     "$ref": "CampaignCreativeAssociation"
21371	//   },
21372	//   "response": {
21373	//     "$ref": "CampaignCreativeAssociation"
21374	//   },
21375	//   "scopes": [
21376	//     "https://www.googleapis.com/auth/dfatrafficking"
21377	//   ]
21378	// }
21379
21380}
21381
21382// method id "dfareporting.campaignCreativeAssociations.list":
21383
21384type CampaignCreativeAssociationsListCall struct {
21385	s            *Service
21386	profileId    int64
21387	campaignId   int64
21388	urlParams_   gensupport.URLParams
21389	ifNoneMatch_ string
21390	ctx_         context.Context
21391	header_      http.Header
21392}
21393
21394// List: Retrieves the list of creative IDs associated with the
21395// specified campaign. This method supports paging.
21396func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
21397	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21398	c.profileId = profileId
21399	c.campaignId = campaignId
21400	return c
21401}
21402
21403// MaxResults sets the optional parameter "maxResults": Maximum number
21404// of results to return.
21405func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
21406	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
21407	return c
21408}
21409
21410// PageToken sets the optional parameter "pageToken": Value of the
21411// nextPageToken from the previous result page.
21412func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
21413	c.urlParams_.Set("pageToken", pageToken)
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 *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
21424	c.urlParams_.Set("sortOrder", sortOrder)
21425	return c
21426}
21427
21428// Fields allows partial responses to be retrieved. See
21429// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21430// for more information.
21431func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
21432	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21433	return c
21434}
21435
21436// IfNoneMatch sets the optional parameter which makes the operation
21437// fail if the object's ETag matches the given value. This is useful for
21438// getting updates only after the object has changed since the last
21439// request. Use googleapi.IsNotModified to check whether the response
21440// error from Do is the result of In-None-Match.
21441func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
21442	c.ifNoneMatch_ = entityTag
21443	return c
21444}
21445
21446// Context sets the context to be used in this call's Do method. Any
21447// pending HTTP request will be aborted if the provided context is
21448// canceled.
21449func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
21450	c.ctx_ = ctx
21451	return c
21452}
21453
21454// Header returns an http.Header that can be modified by the caller to
21455// add HTTP headers to the request.
21456func (c *CampaignCreativeAssociationsListCall) Header() http.Header {
21457	if c.header_ == nil {
21458		c.header_ = make(http.Header)
21459	}
21460	return c.header_
21461}
21462
21463func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
21464	reqHeaders := make(http.Header)
21465	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
21466	for k, v := range c.header_ {
21467		reqHeaders[k] = v
21468	}
21469	reqHeaders.Set("User-Agent", c.s.userAgent())
21470	if c.ifNoneMatch_ != "" {
21471		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21472	}
21473	var body io.Reader = nil
21474	c.urlParams_.Set("alt", alt)
21475	c.urlParams_.Set("prettyPrint", "false")
21476	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
21477	urls += "?" + c.urlParams_.Encode()
21478	req, err := http.NewRequest("GET", urls, body)
21479	if err != nil {
21480		return nil, err
21481	}
21482	req.Header = reqHeaders
21483	googleapi.Expand(req.URL, map[string]string{
21484		"profileId":  strconv.FormatInt(c.profileId, 10),
21485		"campaignId": strconv.FormatInt(c.campaignId, 10),
21486	})
21487	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21488}
21489
21490// Do executes the "dfareporting.campaignCreativeAssociations.list" call.
21491// Exactly one of *CampaignCreativeAssociationsListResponse or error
21492// will be non-nil. Any non-2xx status code is an error. Response
21493// headers are in either
21494// *CampaignCreativeAssociationsListResponse.ServerResponse.Header or
21495// (if a response was returned at all) in
21496// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21497// whether the returned error was because http.StatusNotModified was
21498// returned.
21499func (c *CampaignCreativeAssociationsListCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociationsListResponse, error) {
21500	gensupport.SetOptions(c.urlParams_, opts...)
21501	res, err := c.doRequest("json")
21502	if res != nil && res.StatusCode == http.StatusNotModified {
21503		if res.Body != nil {
21504			res.Body.Close()
21505		}
21506		return nil, &googleapi.Error{
21507			Code:   res.StatusCode,
21508			Header: res.Header,
21509		}
21510	}
21511	if err != nil {
21512		return nil, err
21513	}
21514	defer googleapi.CloseBody(res)
21515	if err := googleapi.CheckResponse(res); err != nil {
21516		return nil, err
21517	}
21518	ret := &CampaignCreativeAssociationsListResponse{
21519		ServerResponse: googleapi.ServerResponse{
21520			Header:         res.Header,
21521			HTTPStatusCode: res.StatusCode,
21522		},
21523	}
21524	target := &ret
21525	if err := gensupport.DecodeResponse(target, res); err != nil {
21526		return nil, err
21527	}
21528	return ret, nil
21529	// {
21530	//   "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
21531	//   "httpMethod": "GET",
21532	//   "id": "dfareporting.campaignCreativeAssociations.list",
21533	//   "parameterOrder": [
21534	//     "profileId",
21535	//     "campaignId"
21536	//   ],
21537	//   "parameters": {
21538	//     "campaignId": {
21539	//       "description": "Campaign ID in this association.",
21540	//       "format": "int64",
21541	//       "location": "path",
21542	//       "required": true,
21543	//       "type": "string"
21544	//     },
21545	//     "maxResults": {
21546	//       "default": "1000",
21547	//       "description": "Maximum number of results to return.",
21548	//       "format": "int32",
21549	//       "location": "query",
21550	//       "maximum": "1000",
21551	//       "minimum": "0",
21552	//       "type": "integer"
21553	//     },
21554	//     "pageToken": {
21555	//       "description": "Value of the nextPageToken from the previous result page.",
21556	//       "location": "query",
21557	//       "type": "string"
21558	//     },
21559	//     "profileId": {
21560	//       "description": "User profile ID associated with this request.",
21561	//       "format": "int64",
21562	//       "location": "path",
21563	//       "required": true,
21564	//       "type": "string"
21565	//     },
21566	//     "sortOrder": {
21567	//       "default": "ASCENDING",
21568	//       "description": "Order of sorted results.",
21569	//       "enum": [
21570	//         "ASCENDING",
21571	//         "DESCENDING"
21572	//       ],
21573	//       "enumDescriptions": [
21574	//         "",
21575	//         ""
21576	//       ],
21577	//       "location": "query",
21578	//       "type": "string"
21579	//     }
21580	//   },
21581	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
21582	//   "response": {
21583	//     "$ref": "CampaignCreativeAssociationsListResponse"
21584	//   },
21585	//   "scopes": [
21586	//     "https://www.googleapis.com/auth/dfatrafficking"
21587	//   ]
21588	// }
21589
21590}
21591
21592// Pages invokes f for each page of results.
21593// A non-nil error returned from f will halt the iteration.
21594// The provided context supersedes any context provided to the Context method.
21595func (c *CampaignCreativeAssociationsListCall) Pages(ctx context.Context, f func(*CampaignCreativeAssociationsListResponse) error) error {
21596	c.ctx_ = ctx
21597	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21598	for {
21599		x, err := c.Do()
21600		if err != nil {
21601			return err
21602		}
21603		if err := f(x); err != nil {
21604			return err
21605		}
21606		if x.NextPageToken == "" {
21607			return nil
21608		}
21609		c.PageToken(x.NextPageToken)
21610	}
21611}
21612
21613// method id "dfareporting.campaigns.get":
21614
21615type CampaignsGetCall struct {
21616	s            *Service
21617	profileId    int64
21618	id           int64
21619	urlParams_   gensupport.URLParams
21620	ifNoneMatch_ string
21621	ctx_         context.Context
21622	header_      http.Header
21623}
21624
21625// Get: Gets one campaign by ID.
21626func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
21627	c := &CampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21628	c.profileId = profileId
21629	c.id = id
21630	return c
21631}
21632
21633// Fields allows partial responses to be retrieved. See
21634// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21635// for more information.
21636func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
21637	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21638	return c
21639}
21640
21641// IfNoneMatch sets the optional parameter which makes the operation
21642// fail if the object's ETag matches the given value. This is useful for
21643// getting updates only after the object has changed since the last
21644// request. Use googleapi.IsNotModified to check whether the response
21645// error from Do is the result of In-None-Match.
21646func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
21647	c.ifNoneMatch_ = entityTag
21648	return c
21649}
21650
21651// Context sets the context to be used in this call's Do method. Any
21652// pending HTTP request will be aborted if the provided context is
21653// canceled.
21654func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
21655	c.ctx_ = ctx
21656	return c
21657}
21658
21659// Header returns an http.Header that can be modified by the caller to
21660// add HTTP headers to the request.
21661func (c *CampaignsGetCall) Header() http.Header {
21662	if c.header_ == nil {
21663		c.header_ = make(http.Header)
21664	}
21665	return c.header_
21666}
21667
21668func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
21669	reqHeaders := make(http.Header)
21670	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
21671	for k, v := range c.header_ {
21672		reqHeaders[k] = v
21673	}
21674	reqHeaders.Set("User-Agent", c.s.userAgent())
21675	if c.ifNoneMatch_ != "" {
21676		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21677	}
21678	var body io.Reader = nil
21679	c.urlParams_.Set("alt", alt)
21680	c.urlParams_.Set("prettyPrint", "false")
21681	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
21682	urls += "?" + c.urlParams_.Encode()
21683	req, err := http.NewRequest("GET", urls, body)
21684	if err != nil {
21685		return nil, err
21686	}
21687	req.Header = reqHeaders
21688	googleapi.Expand(req.URL, map[string]string{
21689		"profileId": strconv.FormatInt(c.profileId, 10),
21690		"id":        strconv.FormatInt(c.id, 10),
21691	})
21692	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21693}
21694
21695// Do executes the "dfareporting.campaigns.get" call.
21696// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21697// code is an error. Response headers are in either
21698// *Campaign.ServerResponse.Header or (if a response was returned at
21699// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21700// to check whether the returned error was because
21701// http.StatusNotModified was returned.
21702func (c *CampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21703	gensupport.SetOptions(c.urlParams_, opts...)
21704	res, err := c.doRequest("json")
21705	if res != nil && res.StatusCode == http.StatusNotModified {
21706		if res.Body != nil {
21707			res.Body.Close()
21708		}
21709		return nil, &googleapi.Error{
21710			Code:   res.StatusCode,
21711			Header: res.Header,
21712		}
21713	}
21714	if err != nil {
21715		return nil, err
21716	}
21717	defer googleapi.CloseBody(res)
21718	if err := googleapi.CheckResponse(res); err != nil {
21719		return nil, err
21720	}
21721	ret := &Campaign{
21722		ServerResponse: googleapi.ServerResponse{
21723			Header:         res.Header,
21724			HTTPStatusCode: res.StatusCode,
21725		},
21726	}
21727	target := &ret
21728	if err := gensupport.DecodeResponse(target, res); err != nil {
21729		return nil, err
21730	}
21731	return ret, nil
21732	// {
21733	//   "description": "Gets one campaign by ID.",
21734	//   "httpMethod": "GET",
21735	//   "id": "dfareporting.campaigns.get",
21736	//   "parameterOrder": [
21737	//     "profileId",
21738	//     "id"
21739	//   ],
21740	//   "parameters": {
21741	//     "id": {
21742	//       "description": "Campaign ID.",
21743	//       "format": "int64",
21744	//       "location": "path",
21745	//       "required": true,
21746	//       "type": "string"
21747	//     },
21748	//     "profileId": {
21749	//       "description": "User profile ID associated with this request.",
21750	//       "format": "int64",
21751	//       "location": "path",
21752	//       "required": true,
21753	//       "type": "string"
21754	//     }
21755	//   },
21756	//   "path": "userprofiles/{profileId}/campaigns/{id}",
21757	//   "response": {
21758	//     "$ref": "Campaign"
21759	//   },
21760	//   "scopes": [
21761	//     "https://www.googleapis.com/auth/dfatrafficking"
21762	//   ]
21763	// }
21764
21765}
21766
21767// method id "dfareporting.campaigns.insert":
21768
21769type CampaignsInsertCall struct {
21770	s          *Service
21771	profileId  int64
21772	campaign   *Campaign
21773	urlParams_ gensupport.URLParams
21774	ctx_       context.Context
21775	header_    http.Header
21776}
21777
21778// Insert: Inserts a new campaign.
21779func (r *CampaignsService) Insert(profileId int64, campaign *Campaign) *CampaignsInsertCall {
21780	c := &CampaignsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21781	c.profileId = profileId
21782	c.campaign = campaign
21783	return c
21784}
21785
21786// Fields allows partial responses to be retrieved. See
21787// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21788// for more information.
21789func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
21790	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21791	return c
21792}
21793
21794// Context sets the context to be used in this call's Do method. Any
21795// pending HTTP request will be aborted if the provided context is
21796// canceled.
21797func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
21798	c.ctx_ = ctx
21799	return c
21800}
21801
21802// Header returns an http.Header that can be modified by the caller to
21803// add HTTP headers to the request.
21804func (c *CampaignsInsertCall) Header() http.Header {
21805	if c.header_ == nil {
21806		c.header_ = make(http.Header)
21807	}
21808	return c.header_
21809}
21810
21811func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
21812	reqHeaders := make(http.Header)
21813	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
21814	for k, v := range c.header_ {
21815		reqHeaders[k] = v
21816	}
21817	reqHeaders.Set("User-Agent", c.s.userAgent())
21818	var body io.Reader = nil
21819	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21820	if err != nil {
21821		return nil, err
21822	}
21823	reqHeaders.Set("Content-Type", "application/json")
21824	c.urlParams_.Set("alt", alt)
21825	c.urlParams_.Set("prettyPrint", "false")
21826	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21827	urls += "?" + c.urlParams_.Encode()
21828	req, err := http.NewRequest("POST", urls, body)
21829	if err != nil {
21830		return nil, err
21831	}
21832	req.Header = reqHeaders
21833	googleapi.Expand(req.URL, map[string]string{
21834		"profileId": strconv.FormatInt(c.profileId, 10),
21835	})
21836	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21837}
21838
21839// Do executes the "dfareporting.campaigns.insert" call.
21840// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21841// code is an error. Response headers are in either
21842// *Campaign.ServerResponse.Header or (if a response was returned at
21843// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21844// to check whether the returned error was because
21845// http.StatusNotModified was returned.
21846func (c *CampaignsInsertCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21847	gensupport.SetOptions(c.urlParams_, opts...)
21848	res, err := c.doRequest("json")
21849	if res != nil && res.StatusCode == http.StatusNotModified {
21850		if res.Body != nil {
21851			res.Body.Close()
21852		}
21853		return nil, &googleapi.Error{
21854			Code:   res.StatusCode,
21855			Header: res.Header,
21856		}
21857	}
21858	if err != nil {
21859		return nil, err
21860	}
21861	defer googleapi.CloseBody(res)
21862	if err := googleapi.CheckResponse(res); err != nil {
21863		return nil, err
21864	}
21865	ret := &Campaign{
21866		ServerResponse: googleapi.ServerResponse{
21867			Header:         res.Header,
21868			HTTPStatusCode: res.StatusCode,
21869		},
21870	}
21871	target := &ret
21872	if err := gensupport.DecodeResponse(target, res); err != nil {
21873		return nil, err
21874	}
21875	return ret, nil
21876	// {
21877	//   "description": "Inserts a new campaign.",
21878	//   "httpMethod": "POST",
21879	//   "id": "dfareporting.campaigns.insert",
21880	//   "parameterOrder": [
21881	//     "profileId"
21882	//   ],
21883	//   "parameters": {
21884	//     "profileId": {
21885	//       "description": "User profile ID associated with this request.",
21886	//       "format": "int64",
21887	//       "location": "path",
21888	//       "required": true,
21889	//       "type": "string"
21890	//     }
21891	//   },
21892	//   "path": "userprofiles/{profileId}/campaigns",
21893	//   "request": {
21894	//     "$ref": "Campaign"
21895	//   },
21896	//   "response": {
21897	//     "$ref": "Campaign"
21898	//   },
21899	//   "scopes": [
21900	//     "https://www.googleapis.com/auth/dfatrafficking"
21901	//   ]
21902	// }
21903
21904}
21905
21906// method id "dfareporting.campaigns.list":
21907
21908type CampaignsListCall struct {
21909	s            *Service
21910	profileId    int64
21911	urlParams_   gensupport.URLParams
21912	ifNoneMatch_ string
21913	ctx_         context.Context
21914	header_      http.Header
21915}
21916
21917// List: Retrieves a list of campaigns, possibly filtered. This method
21918// supports paging.
21919func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
21920	c := &CampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21921	c.profileId = profileId
21922	return c
21923}
21924
21925// AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
21926// Select only campaigns whose advertisers belong to these advertiser
21927// groups.
21928func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *CampaignsListCall {
21929	var advertiserGroupIds_ []string
21930	for _, v := range advertiserGroupIds {
21931		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
21932	}
21933	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
21934	return c
21935}
21936
21937// AdvertiserIds sets the optional parameter "advertiserIds": Select
21938// only campaigns that belong to these advertisers.
21939func (c *CampaignsListCall) AdvertiserIds(advertiserIds ...int64) *CampaignsListCall {
21940	var advertiserIds_ []string
21941	for _, v := range advertiserIds {
21942		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
21943	}
21944	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
21945	return c
21946}
21947
21948// Archived sets the optional parameter "archived": Select only archived
21949// campaigns. Don't set this field to select both archived and
21950// non-archived campaigns.
21951func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
21952	c.urlParams_.Set("archived", fmt.Sprint(archived))
21953	return c
21954}
21955
21956// AtLeastOneOptimizationActivity sets the optional parameter
21957// "atLeastOneOptimizationActivity": Select only campaigns that have at
21958// least one optimization activity.
21959func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
21960	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprint(atLeastOneOptimizationActivity))
21961	return c
21962}
21963
21964// ExcludedIds sets the optional parameter "excludedIds": Exclude
21965// campaigns with these IDs.
21966func (c *CampaignsListCall) ExcludedIds(excludedIds ...int64) *CampaignsListCall {
21967	var excludedIds_ []string
21968	for _, v := range excludedIds {
21969		excludedIds_ = append(excludedIds_, fmt.Sprint(v))
21970	}
21971	c.urlParams_.SetMulti("excludedIds", excludedIds_)
21972	return c
21973}
21974
21975// Ids sets the optional parameter "ids": Select only campaigns with
21976// these IDs.
21977func (c *CampaignsListCall) Ids(ids ...int64) *CampaignsListCall {
21978	var ids_ []string
21979	for _, v := range ids {
21980		ids_ = append(ids_, fmt.Sprint(v))
21981	}
21982	c.urlParams_.SetMulti("ids", ids_)
21983	return c
21984}
21985
21986// MaxResults sets the optional parameter "maxResults": Maximum number
21987// of results to return.
21988func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
21989	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
21990	return c
21991}
21992
21993// OverriddenEventTagId sets the optional parameter
21994// "overriddenEventTagId": Select only campaigns that have overridden
21995// this event tag ID.
21996func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
21997	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
21998	return c
21999}
22000
22001// PageToken sets the optional parameter "pageToken": Value of the
22002// nextPageToken from the previous result page.
22003func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
22004	c.urlParams_.Set("pageToken", pageToken)
22005	return c
22006}
22007
22008// SearchString sets the optional parameter "searchString": Allows
22009// searching for campaigns by name or ID. Wildcards (*) are allowed. For
22010// example, "campaign*2015" will return campaigns with names like
22011// "campaign June 2015", "campaign April 2015", or simply "campaign
22012// 2015". Most of the searches also add wildcards implicitly at the
22013// start and the end of the search string. For example, a search string
22014// of "campaign" will match campaigns with name "my campaign", "campaign
22015// 2015", or simply "campaign".
22016func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
22017	c.urlParams_.Set("searchString", searchString)
22018	return c
22019}
22020
22021// SortField sets the optional parameter "sortField": Field by which to
22022// sort the list.
22023//
22024// Possible values:
22025//   "ID" (default)
22026//   "NAME"
22027func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
22028	c.urlParams_.Set("sortField", sortField)
22029	return c
22030}
22031
22032// SortOrder sets the optional parameter "sortOrder": Order of sorted
22033// results.
22034//
22035// Possible values:
22036//   "ASCENDING" (default)
22037//   "DESCENDING"
22038func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
22039	c.urlParams_.Set("sortOrder", sortOrder)
22040	return c
22041}
22042
22043// SubaccountId sets the optional parameter "subaccountId": Select only
22044// campaigns that belong to this subaccount.
22045func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
22046	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
22047	return c
22048}
22049
22050// Fields allows partial responses to be retrieved. See
22051// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22052// for more information.
22053func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
22054	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22055	return c
22056}
22057
22058// IfNoneMatch sets the optional parameter which makes the operation
22059// fail if the object's ETag matches the given value. This is useful for
22060// getting updates only after the object has changed since the last
22061// request. Use googleapi.IsNotModified to check whether the response
22062// error from Do is the result of In-None-Match.
22063func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
22064	c.ifNoneMatch_ = entityTag
22065	return c
22066}
22067
22068// Context sets the context to be used in this call's Do method. Any
22069// pending HTTP request will be aborted if the provided context is
22070// canceled.
22071func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
22072	c.ctx_ = ctx
22073	return c
22074}
22075
22076// Header returns an http.Header that can be modified by the caller to
22077// add HTTP headers to the request.
22078func (c *CampaignsListCall) Header() http.Header {
22079	if c.header_ == nil {
22080		c.header_ = make(http.Header)
22081	}
22082	return c.header_
22083}
22084
22085func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
22086	reqHeaders := make(http.Header)
22087	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
22088	for k, v := range c.header_ {
22089		reqHeaders[k] = v
22090	}
22091	reqHeaders.Set("User-Agent", c.s.userAgent())
22092	if c.ifNoneMatch_ != "" {
22093		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22094	}
22095	var body io.Reader = nil
22096	c.urlParams_.Set("alt", alt)
22097	c.urlParams_.Set("prettyPrint", "false")
22098	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
22099	urls += "?" + c.urlParams_.Encode()
22100	req, err := http.NewRequest("GET", urls, body)
22101	if err != nil {
22102		return nil, err
22103	}
22104	req.Header = reqHeaders
22105	googleapi.Expand(req.URL, map[string]string{
22106		"profileId": strconv.FormatInt(c.profileId, 10),
22107	})
22108	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22109}
22110
22111// Do executes the "dfareporting.campaigns.list" call.
22112// Exactly one of *CampaignsListResponse or error will be non-nil. Any
22113// non-2xx status code is an error. Response headers are in either
22114// *CampaignsListResponse.ServerResponse.Header or (if a response was
22115// returned at all) in error.(*googleapi.Error).Header. Use
22116// googleapi.IsNotModified to check whether the returned error was
22117// because http.StatusNotModified was returned.
22118func (c *CampaignsListCall) Do(opts ...googleapi.CallOption) (*CampaignsListResponse, error) {
22119	gensupport.SetOptions(c.urlParams_, opts...)
22120	res, err := c.doRequest("json")
22121	if res != nil && res.StatusCode == http.StatusNotModified {
22122		if res.Body != nil {
22123			res.Body.Close()
22124		}
22125		return nil, &googleapi.Error{
22126			Code:   res.StatusCode,
22127			Header: res.Header,
22128		}
22129	}
22130	if err != nil {
22131		return nil, err
22132	}
22133	defer googleapi.CloseBody(res)
22134	if err := googleapi.CheckResponse(res); err != nil {
22135		return nil, err
22136	}
22137	ret := &CampaignsListResponse{
22138		ServerResponse: googleapi.ServerResponse{
22139			Header:         res.Header,
22140			HTTPStatusCode: res.StatusCode,
22141		},
22142	}
22143	target := &ret
22144	if err := gensupport.DecodeResponse(target, res); err != nil {
22145		return nil, err
22146	}
22147	return ret, nil
22148	// {
22149	//   "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
22150	//   "httpMethod": "GET",
22151	//   "id": "dfareporting.campaigns.list",
22152	//   "parameterOrder": [
22153	//     "profileId"
22154	//   ],
22155	//   "parameters": {
22156	//     "advertiserGroupIds": {
22157	//       "description": "Select only campaigns whose advertisers belong to these advertiser groups.",
22158	//       "format": "int64",
22159	//       "location": "query",
22160	//       "repeated": true,
22161	//       "type": "string"
22162	//     },
22163	//     "advertiserIds": {
22164	//       "description": "Select only campaigns that belong to these advertisers.",
22165	//       "format": "int64",
22166	//       "location": "query",
22167	//       "repeated": true,
22168	//       "type": "string"
22169	//     },
22170	//     "archived": {
22171	//       "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.",
22172	//       "location": "query",
22173	//       "type": "boolean"
22174	//     },
22175	//     "atLeastOneOptimizationActivity": {
22176	//       "description": "Select only campaigns that have at least one optimization activity.",
22177	//       "location": "query",
22178	//       "type": "boolean"
22179	//     },
22180	//     "excludedIds": {
22181	//       "description": "Exclude campaigns with these IDs.",
22182	//       "format": "int64",
22183	//       "location": "query",
22184	//       "repeated": true,
22185	//       "type": "string"
22186	//     },
22187	//     "ids": {
22188	//       "description": "Select only campaigns with these IDs.",
22189	//       "format": "int64",
22190	//       "location": "query",
22191	//       "repeated": true,
22192	//       "type": "string"
22193	//     },
22194	//     "maxResults": {
22195	//       "default": "1000",
22196	//       "description": "Maximum number of results to return.",
22197	//       "format": "int32",
22198	//       "location": "query",
22199	//       "maximum": "1000",
22200	//       "minimum": "0",
22201	//       "type": "integer"
22202	//     },
22203	//     "overriddenEventTagId": {
22204	//       "description": "Select only campaigns that have overridden this event tag ID.",
22205	//       "format": "int64",
22206	//       "location": "query",
22207	//       "type": "string"
22208	//     },
22209	//     "pageToken": {
22210	//       "description": "Value of the nextPageToken from the previous result page.",
22211	//       "location": "query",
22212	//       "type": "string"
22213	//     },
22214	//     "profileId": {
22215	//       "description": "User profile ID associated with this request.",
22216	//       "format": "int64",
22217	//       "location": "path",
22218	//       "required": true,
22219	//       "type": "string"
22220	//     },
22221	//     "searchString": {
22222	//       "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\".",
22223	//       "location": "query",
22224	//       "type": "string"
22225	//     },
22226	//     "sortField": {
22227	//       "default": "ID",
22228	//       "description": "Field by which to sort the list.",
22229	//       "enum": [
22230	//         "ID",
22231	//         "NAME"
22232	//       ],
22233	//       "enumDescriptions": [
22234	//         "",
22235	//         ""
22236	//       ],
22237	//       "location": "query",
22238	//       "type": "string"
22239	//     },
22240	//     "sortOrder": {
22241	//       "default": "ASCENDING",
22242	//       "description": "Order of sorted results.",
22243	//       "enum": [
22244	//         "ASCENDING",
22245	//         "DESCENDING"
22246	//       ],
22247	//       "enumDescriptions": [
22248	//         "",
22249	//         ""
22250	//       ],
22251	//       "location": "query",
22252	//       "type": "string"
22253	//     },
22254	//     "subaccountId": {
22255	//       "description": "Select only campaigns that belong to this subaccount.",
22256	//       "format": "int64",
22257	//       "location": "query",
22258	//       "type": "string"
22259	//     }
22260	//   },
22261	//   "path": "userprofiles/{profileId}/campaigns",
22262	//   "response": {
22263	//     "$ref": "CampaignsListResponse"
22264	//   },
22265	//   "scopes": [
22266	//     "https://www.googleapis.com/auth/dfatrafficking"
22267	//   ]
22268	// }
22269
22270}
22271
22272// Pages invokes f for each page of results.
22273// A non-nil error returned from f will halt the iteration.
22274// The provided context supersedes any context provided to the Context method.
22275func (c *CampaignsListCall) Pages(ctx context.Context, f func(*CampaignsListResponse) error) error {
22276	c.ctx_ = ctx
22277	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22278	for {
22279		x, err := c.Do()
22280		if err != nil {
22281			return err
22282		}
22283		if err := f(x); err != nil {
22284			return err
22285		}
22286		if x.NextPageToken == "" {
22287			return nil
22288		}
22289		c.PageToken(x.NextPageToken)
22290	}
22291}
22292
22293// method id "dfareporting.campaigns.patch":
22294
22295type CampaignsPatchCall struct {
22296	s          *Service
22297	profileId  int64
22298	campaign   *Campaign
22299	urlParams_ gensupport.URLParams
22300	ctx_       context.Context
22301	header_    http.Header
22302}
22303
22304// Patch: Updates an existing campaign. This method supports patch
22305// semantics.
22306func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
22307	c := &CampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22308	c.profileId = profileId
22309	c.urlParams_.Set("id", fmt.Sprint(id))
22310	c.campaign = campaign
22311	return c
22312}
22313
22314// Fields allows partial responses to be retrieved. See
22315// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22316// for more information.
22317func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
22318	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22319	return c
22320}
22321
22322// Context sets the context to be used in this call's Do method. Any
22323// pending HTTP request will be aborted if the provided context is
22324// canceled.
22325func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
22326	c.ctx_ = ctx
22327	return c
22328}
22329
22330// Header returns an http.Header that can be modified by the caller to
22331// add HTTP headers to the request.
22332func (c *CampaignsPatchCall) Header() http.Header {
22333	if c.header_ == nil {
22334		c.header_ = make(http.Header)
22335	}
22336	return c.header_
22337}
22338
22339func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
22340	reqHeaders := make(http.Header)
22341	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
22342	for k, v := range c.header_ {
22343		reqHeaders[k] = v
22344	}
22345	reqHeaders.Set("User-Agent", c.s.userAgent())
22346	var body io.Reader = nil
22347	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
22348	if err != nil {
22349		return nil, err
22350	}
22351	reqHeaders.Set("Content-Type", "application/json")
22352	c.urlParams_.Set("alt", alt)
22353	c.urlParams_.Set("prettyPrint", "false")
22354	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
22355	urls += "?" + c.urlParams_.Encode()
22356	req, err := http.NewRequest("PATCH", urls, body)
22357	if err != nil {
22358		return nil, err
22359	}
22360	req.Header = reqHeaders
22361	googleapi.Expand(req.URL, map[string]string{
22362		"profileId": strconv.FormatInt(c.profileId, 10),
22363	})
22364	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22365}
22366
22367// Do executes the "dfareporting.campaigns.patch" call.
22368// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
22369// code is an error. Response headers are in either
22370// *Campaign.ServerResponse.Header or (if a response was returned at
22371// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22372// to check whether the returned error was because
22373// http.StatusNotModified was returned.
22374func (c *CampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
22375	gensupport.SetOptions(c.urlParams_, opts...)
22376	res, err := c.doRequest("json")
22377	if res != nil && res.StatusCode == http.StatusNotModified {
22378		if res.Body != nil {
22379			res.Body.Close()
22380		}
22381		return nil, &googleapi.Error{
22382			Code:   res.StatusCode,
22383			Header: res.Header,
22384		}
22385	}
22386	if err != nil {
22387		return nil, err
22388	}
22389	defer googleapi.CloseBody(res)
22390	if err := googleapi.CheckResponse(res); err != nil {
22391		return nil, err
22392	}
22393	ret := &Campaign{
22394		ServerResponse: googleapi.ServerResponse{
22395			Header:         res.Header,
22396			HTTPStatusCode: res.StatusCode,
22397		},
22398	}
22399	target := &ret
22400	if err := gensupport.DecodeResponse(target, res); err != nil {
22401		return nil, err
22402	}
22403	return ret, nil
22404	// {
22405	//   "description": "Updates an existing campaign. This method supports patch semantics.",
22406	//   "httpMethod": "PATCH",
22407	//   "id": "dfareporting.campaigns.patch",
22408	//   "parameterOrder": [
22409	//     "profileId",
22410	//     "id"
22411	//   ],
22412	//   "parameters": {
22413	//     "id": {
22414	//       "description": "Campaign ID.",
22415	//       "format": "int64",
22416	//       "location": "query",
22417	//       "required": true,
22418	//       "type": "string"
22419	//     },
22420	//     "profileId": {
22421	//       "description": "User profile ID associated with this request.",
22422	//       "format": "int64",
22423	//       "location": "path",
22424	//       "required": true,
22425	//       "type": "string"
22426	//     }
22427	//   },
22428	//   "path": "userprofiles/{profileId}/campaigns",
22429	//   "request": {
22430	//     "$ref": "Campaign"
22431	//   },
22432	//   "response": {
22433	//     "$ref": "Campaign"
22434	//   },
22435	//   "scopes": [
22436	//     "https://www.googleapis.com/auth/dfatrafficking"
22437	//   ]
22438	// }
22439
22440}
22441
22442// method id "dfareporting.campaigns.update":
22443
22444type CampaignsUpdateCall struct {
22445	s          *Service
22446	profileId  int64
22447	campaign   *Campaign
22448	urlParams_ gensupport.URLParams
22449	ctx_       context.Context
22450	header_    http.Header
22451}
22452
22453// Update: Updates an existing campaign.
22454func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
22455	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22456	c.profileId = profileId
22457	c.campaign = campaign
22458	return c
22459}
22460
22461// Fields allows partial responses to be retrieved. See
22462// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22463// for more information.
22464func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
22465	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22466	return c
22467}
22468
22469// Context sets the context to be used in this call's Do method. Any
22470// pending HTTP request will be aborted if the provided context is
22471// canceled.
22472func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
22473	c.ctx_ = ctx
22474	return c
22475}
22476
22477// Header returns an http.Header that can be modified by the caller to
22478// add HTTP headers to the request.
22479func (c *CampaignsUpdateCall) Header() http.Header {
22480	if c.header_ == nil {
22481		c.header_ = make(http.Header)
22482	}
22483	return c.header_
22484}
22485
22486func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
22487	reqHeaders := make(http.Header)
22488	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
22489	for k, v := range c.header_ {
22490		reqHeaders[k] = v
22491	}
22492	reqHeaders.Set("User-Agent", c.s.userAgent())
22493	var body io.Reader = nil
22494	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
22495	if err != nil {
22496		return nil, err
22497	}
22498	reqHeaders.Set("Content-Type", "application/json")
22499	c.urlParams_.Set("alt", alt)
22500	c.urlParams_.Set("prettyPrint", "false")
22501	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
22502	urls += "?" + c.urlParams_.Encode()
22503	req, err := http.NewRequest("PUT", urls, body)
22504	if err != nil {
22505		return nil, err
22506	}
22507	req.Header = reqHeaders
22508	googleapi.Expand(req.URL, map[string]string{
22509		"profileId": strconv.FormatInt(c.profileId, 10),
22510	})
22511	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22512}
22513
22514// Do executes the "dfareporting.campaigns.update" call.
22515// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
22516// code is an error. Response headers are in either
22517// *Campaign.ServerResponse.Header or (if a response was returned at
22518// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22519// to check whether the returned error was because
22520// http.StatusNotModified was returned.
22521func (c *CampaignsUpdateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
22522	gensupport.SetOptions(c.urlParams_, opts...)
22523	res, err := c.doRequest("json")
22524	if res != nil && res.StatusCode == http.StatusNotModified {
22525		if res.Body != nil {
22526			res.Body.Close()
22527		}
22528		return nil, &googleapi.Error{
22529			Code:   res.StatusCode,
22530			Header: res.Header,
22531		}
22532	}
22533	if err != nil {
22534		return nil, err
22535	}
22536	defer googleapi.CloseBody(res)
22537	if err := googleapi.CheckResponse(res); err != nil {
22538		return nil, err
22539	}
22540	ret := &Campaign{
22541		ServerResponse: googleapi.ServerResponse{
22542			Header:         res.Header,
22543			HTTPStatusCode: res.StatusCode,
22544		},
22545	}
22546	target := &ret
22547	if err := gensupport.DecodeResponse(target, res); err != nil {
22548		return nil, err
22549	}
22550	return ret, nil
22551	// {
22552	//   "description": "Updates an existing campaign.",
22553	//   "httpMethod": "PUT",
22554	//   "id": "dfareporting.campaigns.update",
22555	//   "parameterOrder": [
22556	//     "profileId"
22557	//   ],
22558	//   "parameters": {
22559	//     "profileId": {
22560	//       "description": "User profile ID associated with this request.",
22561	//       "format": "int64",
22562	//       "location": "path",
22563	//       "required": true,
22564	//       "type": "string"
22565	//     }
22566	//   },
22567	//   "path": "userprofiles/{profileId}/campaigns",
22568	//   "request": {
22569	//     "$ref": "Campaign"
22570	//   },
22571	//   "response": {
22572	//     "$ref": "Campaign"
22573	//   },
22574	//   "scopes": [
22575	//     "https://www.googleapis.com/auth/dfatrafficking"
22576	//   ]
22577	// }
22578
22579}
22580
22581// method id "dfareporting.changeLogs.get":
22582
22583type ChangeLogsGetCall struct {
22584	s            *Service
22585	profileId    int64
22586	id           int64
22587	urlParams_   gensupport.URLParams
22588	ifNoneMatch_ string
22589	ctx_         context.Context
22590	header_      http.Header
22591}
22592
22593// Get: Gets one change log by ID.
22594func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
22595	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22596	c.profileId = profileId
22597	c.id = id
22598	return c
22599}
22600
22601// Fields allows partial responses to be retrieved. See
22602// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22603// for more information.
22604func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
22605	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22606	return c
22607}
22608
22609// IfNoneMatch sets the optional parameter which makes the operation
22610// fail if the object's ETag matches the given value. This is useful for
22611// getting updates only after the object has changed since the last
22612// request. Use googleapi.IsNotModified to check whether the response
22613// error from Do is the result of In-None-Match.
22614func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
22615	c.ifNoneMatch_ = entityTag
22616	return c
22617}
22618
22619// Context sets the context to be used in this call's Do method. Any
22620// pending HTTP request will be aborted if the provided context is
22621// canceled.
22622func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
22623	c.ctx_ = ctx
22624	return c
22625}
22626
22627// Header returns an http.Header that can be modified by the caller to
22628// add HTTP headers to the request.
22629func (c *ChangeLogsGetCall) Header() http.Header {
22630	if c.header_ == nil {
22631		c.header_ = make(http.Header)
22632	}
22633	return c.header_
22634}
22635
22636func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
22637	reqHeaders := make(http.Header)
22638	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
22639	for k, v := range c.header_ {
22640		reqHeaders[k] = v
22641	}
22642	reqHeaders.Set("User-Agent", c.s.userAgent())
22643	if c.ifNoneMatch_ != "" {
22644		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22645	}
22646	var body io.Reader = nil
22647	c.urlParams_.Set("alt", alt)
22648	c.urlParams_.Set("prettyPrint", "false")
22649	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
22650	urls += "?" + c.urlParams_.Encode()
22651	req, err := http.NewRequest("GET", urls, body)
22652	if err != nil {
22653		return nil, err
22654	}
22655	req.Header = reqHeaders
22656	googleapi.Expand(req.URL, map[string]string{
22657		"profileId": strconv.FormatInt(c.profileId, 10),
22658		"id":        strconv.FormatInt(c.id, 10),
22659	})
22660	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22661}
22662
22663// Do executes the "dfareporting.changeLogs.get" call.
22664// Exactly one of *ChangeLog or error will be non-nil. Any non-2xx
22665// status code is an error. Response headers are in either
22666// *ChangeLog.ServerResponse.Header or (if a response was returned at
22667// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22668// to check whether the returned error was because
22669// http.StatusNotModified was returned.
22670func (c *ChangeLogsGetCall) Do(opts ...googleapi.CallOption) (*ChangeLog, error) {
22671	gensupport.SetOptions(c.urlParams_, opts...)
22672	res, err := c.doRequest("json")
22673	if res != nil && res.StatusCode == http.StatusNotModified {
22674		if res.Body != nil {
22675			res.Body.Close()
22676		}
22677		return nil, &googleapi.Error{
22678			Code:   res.StatusCode,
22679			Header: res.Header,
22680		}
22681	}
22682	if err != nil {
22683		return nil, err
22684	}
22685	defer googleapi.CloseBody(res)
22686	if err := googleapi.CheckResponse(res); err != nil {
22687		return nil, err
22688	}
22689	ret := &ChangeLog{
22690		ServerResponse: googleapi.ServerResponse{
22691			Header:         res.Header,
22692			HTTPStatusCode: res.StatusCode,
22693		},
22694	}
22695	target := &ret
22696	if err := gensupport.DecodeResponse(target, res); err != nil {
22697		return nil, err
22698	}
22699	return ret, nil
22700	// {
22701	//   "description": "Gets one change log by ID.",
22702	//   "httpMethod": "GET",
22703	//   "id": "dfareporting.changeLogs.get",
22704	//   "parameterOrder": [
22705	//     "profileId",
22706	//     "id"
22707	//   ],
22708	//   "parameters": {
22709	//     "id": {
22710	//       "description": "Change log ID.",
22711	//       "format": "int64",
22712	//       "location": "path",
22713	//       "required": true,
22714	//       "type": "string"
22715	//     },
22716	//     "profileId": {
22717	//       "description": "User profile ID associated with this request.",
22718	//       "format": "int64",
22719	//       "location": "path",
22720	//       "required": true,
22721	//       "type": "string"
22722	//     }
22723	//   },
22724	//   "path": "userprofiles/{profileId}/changeLogs/{id}",
22725	//   "response": {
22726	//     "$ref": "ChangeLog"
22727	//   },
22728	//   "scopes": [
22729	//     "https://www.googleapis.com/auth/dfatrafficking"
22730	//   ]
22731	// }
22732
22733}
22734
22735// method id "dfareporting.changeLogs.list":
22736
22737type ChangeLogsListCall struct {
22738	s            *Service
22739	profileId    int64
22740	urlParams_   gensupport.URLParams
22741	ifNoneMatch_ string
22742	ctx_         context.Context
22743	header_      http.Header
22744}
22745
22746// List: Retrieves a list of change logs. This method supports paging.
22747func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
22748	c := &ChangeLogsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22749	c.profileId = profileId
22750	return c
22751}
22752
22753// Action sets the optional parameter "action": Select only change logs
22754// with the specified action.
22755//
22756// Possible values:
22757//   "ACTION_ADD"
22758//   "ACTION_ASSIGN"
22759//   "ACTION_ASSOCIATE"
22760//   "ACTION_CREATE"
22761//   "ACTION_DELETE"
22762//   "ACTION_DISABLE"
22763//   "ACTION_EMAIL_TAGS"
22764//   "ACTION_ENABLE"
22765//   "ACTION_LINK"
22766//   "ACTION_MARK_AS_DEFAULT"
22767//   "ACTION_PUSH"
22768//   "ACTION_REMOVE"
22769//   "ACTION_SEND"
22770//   "ACTION_SHARE"
22771//   "ACTION_UNASSIGN"
22772//   "ACTION_UNLINK"
22773//   "ACTION_UPDATE"
22774func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
22775	c.urlParams_.Set("action", action)
22776	return c
22777}
22778
22779// Ids sets the optional parameter "ids": Select only change logs with
22780// these IDs.
22781func (c *ChangeLogsListCall) Ids(ids ...int64) *ChangeLogsListCall {
22782	var ids_ []string
22783	for _, v := range ids {
22784		ids_ = append(ids_, fmt.Sprint(v))
22785	}
22786	c.urlParams_.SetMulti("ids", ids_)
22787	return c
22788}
22789
22790// MaxChangeTime sets the optional parameter "maxChangeTime": Select
22791// only change logs whose change time is before the specified
22792// maxChangeTime.The time should be formatted as an RFC3339 date/time
22793// string. For example, for 10:54 PM on July 18th, 2015, in the
22794// America/New York time zone, the format is
22795// "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
22796// the letter T, the hour (24-hour clock system), minute, second, and
22797// then the time zone offset.
22798func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
22799	c.urlParams_.Set("maxChangeTime", maxChangeTime)
22800	return c
22801}
22802
22803// MaxResults sets the optional parameter "maxResults": Maximum number
22804// of results to return.
22805func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
22806	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
22807	return c
22808}
22809
22810// MinChangeTime sets the optional parameter "minChangeTime": Select
22811// only change logs whose change time is after the specified
22812// minChangeTime.The time should be formatted as an RFC3339 date/time
22813// string. For example, for 10:54 PM on July 18th, 2015, in the
22814// America/New York time zone, the format is
22815// "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
22816// the letter T, the hour (24-hour clock system), minute, second, and
22817// then the time zone offset.
22818func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
22819	c.urlParams_.Set("minChangeTime", minChangeTime)
22820	return c
22821}
22822
22823// ObjectIds sets the optional parameter "objectIds": Select only change
22824// logs with these object IDs.
22825func (c *ChangeLogsListCall) ObjectIds(objectIds ...int64) *ChangeLogsListCall {
22826	var objectIds_ []string
22827	for _, v := range objectIds {
22828		objectIds_ = append(objectIds_, fmt.Sprint(v))
22829	}
22830	c.urlParams_.SetMulti("objectIds", objectIds_)
22831	return c
22832}
22833
22834// ObjectType sets the optional parameter "objectType": Select only
22835// change logs with the specified object type.
22836//
22837// Possible values:
22838//   "OBJECT_ACCOUNT"
22839//   "OBJECT_ACCOUNT_BILLING_FEATURE"
22840//   "OBJECT_AD"
22841//   "OBJECT_ADVERTISER"
22842//   "OBJECT_ADVERTISER_GROUP"
22843//   "OBJECT_BILLING_ACCOUNT_GROUP"
22844//   "OBJECT_BILLING_FEATURE"
22845//   "OBJECT_BILLING_MINIMUM_FEE"
22846//   "OBJECT_BILLING_PROFILE"
22847//   "OBJECT_CAMPAIGN"
22848//   "OBJECT_CONTENT_CATEGORY"
22849//   "OBJECT_CREATIVE"
22850//   "OBJECT_CREATIVE_ASSET"
22851//   "OBJECT_CREATIVE_BUNDLE"
22852//   "OBJECT_CREATIVE_FIELD"
22853//   "OBJECT_CREATIVE_GROUP"
22854//   "OBJECT_DFA_SITE"
22855//   "OBJECT_EVENT_TAG"
22856//   "OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
22857//   "OBJECT_FLOODLIGHT_ACTVITY"
22858//   "OBJECT_FLOODLIGHT_CONFIGURATION"
22859//   "OBJECT_FLOODLIGHT_DV360_LINK"
22860//   "OBJECT_INSTREAM_CREATIVE"
22861//   "OBJECT_LANDING_PAGE"
22862//   "OBJECT_MEDIA_ORDER"
22863//   "OBJECT_PLACEMENT"
22864//   "OBJECT_PLACEMENT_STRATEGY"
22865//   "OBJECT_PLAYSTORE_LINK"
22866//   "OBJECT_PROVIDED_LIST_CLIENT"
22867//   "OBJECT_RATE_CARD"
22868//   "OBJECT_REMARKETING_LIST"
22869//   "OBJECT_RICHMEDIA_CREATIVE"
22870//   "OBJECT_SD_SITE"
22871//   "OBJECT_SEARCH_LIFT_STUDY"
22872//   "OBJECT_SIZE"
22873//   "OBJECT_SUBACCOUNT"
22874//   "OBJECT_TARGETING_TEMPLATE"
22875//   "OBJECT_USER_PROFILE"
22876//   "OBJECT_USER_PROFILE_FILTER"
22877//   "OBJECT_USER_ROLE"
22878func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
22879	c.urlParams_.Set("objectType", objectType)
22880	return c
22881}
22882
22883// PageToken sets the optional parameter "pageToken": Value of the
22884// nextPageToken from the previous result page.
22885func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
22886	c.urlParams_.Set("pageToken", pageToken)
22887	return c
22888}
22889
22890// SearchString sets the optional parameter "searchString": Select only
22891// change logs whose object ID, user name, old or new values match the
22892// search string.
22893func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
22894	c.urlParams_.Set("searchString", searchString)
22895	return c
22896}
22897
22898// UserProfileIds sets the optional parameter "userProfileIds": Select
22899// only change logs with these user profile IDs.
22900func (c *ChangeLogsListCall) UserProfileIds(userProfileIds ...int64) *ChangeLogsListCall {
22901	var userProfileIds_ []string
22902	for _, v := range userProfileIds {
22903		userProfileIds_ = append(userProfileIds_, fmt.Sprint(v))
22904	}
22905	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
22906	return c
22907}
22908
22909// Fields allows partial responses to be retrieved. See
22910// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22911// for more information.
22912func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
22913	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22914	return c
22915}
22916
22917// IfNoneMatch sets the optional parameter which makes the operation
22918// fail if the object's ETag matches the given value. This is useful for
22919// getting updates only after the object has changed since the last
22920// request. Use googleapi.IsNotModified to check whether the response
22921// error from Do is the result of In-None-Match.
22922func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
22923	c.ifNoneMatch_ = entityTag
22924	return c
22925}
22926
22927// Context sets the context to be used in this call's Do method. Any
22928// pending HTTP request will be aborted if the provided context is
22929// canceled.
22930func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
22931	c.ctx_ = ctx
22932	return c
22933}
22934
22935// Header returns an http.Header that can be modified by the caller to
22936// add HTTP headers to the request.
22937func (c *ChangeLogsListCall) Header() http.Header {
22938	if c.header_ == nil {
22939		c.header_ = make(http.Header)
22940	}
22941	return c.header_
22942}
22943
22944func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
22945	reqHeaders := make(http.Header)
22946	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
22947	for k, v := range c.header_ {
22948		reqHeaders[k] = v
22949	}
22950	reqHeaders.Set("User-Agent", c.s.userAgent())
22951	if c.ifNoneMatch_ != "" {
22952		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22953	}
22954	var body io.Reader = nil
22955	c.urlParams_.Set("alt", alt)
22956	c.urlParams_.Set("prettyPrint", "false")
22957	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
22958	urls += "?" + c.urlParams_.Encode()
22959	req, err := http.NewRequest("GET", urls, body)
22960	if err != nil {
22961		return nil, err
22962	}
22963	req.Header = reqHeaders
22964	googleapi.Expand(req.URL, map[string]string{
22965		"profileId": strconv.FormatInt(c.profileId, 10),
22966	})
22967	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22968}
22969
22970// Do executes the "dfareporting.changeLogs.list" call.
22971// Exactly one of *ChangeLogsListResponse or error will be non-nil. Any
22972// non-2xx status code is an error. Response headers are in either
22973// *ChangeLogsListResponse.ServerResponse.Header or (if a response was
22974// returned at all) in error.(*googleapi.Error).Header. Use
22975// googleapi.IsNotModified to check whether the returned error was
22976// because http.StatusNotModified was returned.
22977func (c *ChangeLogsListCall) Do(opts ...googleapi.CallOption) (*ChangeLogsListResponse, error) {
22978	gensupport.SetOptions(c.urlParams_, opts...)
22979	res, err := c.doRequest("json")
22980	if res != nil && res.StatusCode == http.StatusNotModified {
22981		if res.Body != nil {
22982			res.Body.Close()
22983		}
22984		return nil, &googleapi.Error{
22985			Code:   res.StatusCode,
22986			Header: res.Header,
22987		}
22988	}
22989	if err != nil {
22990		return nil, err
22991	}
22992	defer googleapi.CloseBody(res)
22993	if err := googleapi.CheckResponse(res); err != nil {
22994		return nil, err
22995	}
22996	ret := &ChangeLogsListResponse{
22997		ServerResponse: googleapi.ServerResponse{
22998			Header:         res.Header,
22999			HTTPStatusCode: res.StatusCode,
23000		},
23001	}
23002	target := &ret
23003	if err := gensupport.DecodeResponse(target, res); err != nil {
23004		return nil, err
23005	}
23006	return ret, nil
23007	// {
23008	//   "description": "Retrieves a list of change logs. This method supports paging.",
23009	//   "httpMethod": "GET",
23010	//   "id": "dfareporting.changeLogs.list",
23011	//   "parameterOrder": [
23012	//     "profileId"
23013	//   ],
23014	//   "parameters": {
23015	//     "action": {
23016	//       "description": "Select only change logs with the specified action.",
23017	//       "enum": [
23018	//         "ACTION_ADD",
23019	//         "ACTION_ASSIGN",
23020	//         "ACTION_ASSOCIATE",
23021	//         "ACTION_CREATE",
23022	//         "ACTION_DELETE",
23023	//         "ACTION_DISABLE",
23024	//         "ACTION_EMAIL_TAGS",
23025	//         "ACTION_ENABLE",
23026	//         "ACTION_LINK",
23027	//         "ACTION_MARK_AS_DEFAULT",
23028	//         "ACTION_PUSH",
23029	//         "ACTION_REMOVE",
23030	//         "ACTION_SEND",
23031	//         "ACTION_SHARE",
23032	//         "ACTION_UNASSIGN",
23033	//         "ACTION_UNLINK",
23034	//         "ACTION_UPDATE"
23035	//       ],
23036	//       "enumDescriptions": [
23037	//         "",
23038	//         "",
23039	//         "",
23040	//         "",
23041	//         "",
23042	//         "",
23043	//         "",
23044	//         "",
23045	//         "",
23046	//         "",
23047	//         "",
23048	//         "",
23049	//         "",
23050	//         "",
23051	//         "",
23052	//         "",
23053	//         ""
23054	//       ],
23055	//       "location": "query",
23056	//       "type": "string"
23057	//     },
23058	//     "ids": {
23059	//       "description": "Select only change logs with these IDs.",
23060	//       "format": "int64",
23061	//       "location": "query",
23062	//       "repeated": true,
23063	//       "type": "string"
23064	//     },
23065	//     "maxChangeTime": {
23066	//       "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.",
23067	//       "location": "query",
23068	//       "type": "string"
23069	//     },
23070	//     "maxResults": {
23071	//       "default": "1000",
23072	//       "description": "Maximum number of results to return.",
23073	//       "format": "int32",
23074	//       "location": "query",
23075	//       "maximum": "1000",
23076	//       "minimum": "0",
23077	//       "type": "integer"
23078	//     },
23079	//     "minChangeTime": {
23080	//       "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.",
23081	//       "location": "query",
23082	//       "type": "string"
23083	//     },
23084	//     "objectIds": {
23085	//       "description": "Select only change logs with these object IDs.",
23086	//       "format": "int64",
23087	//       "location": "query",
23088	//       "repeated": true,
23089	//       "type": "string"
23090	//     },
23091	//     "objectType": {
23092	//       "description": "Select only change logs with the specified object type.",
23093	//       "enum": [
23094	//         "OBJECT_ACCOUNT",
23095	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
23096	//         "OBJECT_AD",
23097	//         "OBJECT_ADVERTISER",
23098	//         "OBJECT_ADVERTISER_GROUP",
23099	//         "OBJECT_BILLING_ACCOUNT_GROUP",
23100	//         "OBJECT_BILLING_FEATURE",
23101	//         "OBJECT_BILLING_MINIMUM_FEE",
23102	//         "OBJECT_BILLING_PROFILE",
23103	//         "OBJECT_CAMPAIGN",
23104	//         "OBJECT_CONTENT_CATEGORY",
23105	//         "OBJECT_CREATIVE",
23106	//         "OBJECT_CREATIVE_ASSET",
23107	//         "OBJECT_CREATIVE_BUNDLE",
23108	//         "OBJECT_CREATIVE_FIELD",
23109	//         "OBJECT_CREATIVE_GROUP",
23110	//         "OBJECT_DFA_SITE",
23111	//         "OBJECT_EVENT_TAG",
23112	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
23113	//         "OBJECT_FLOODLIGHT_ACTVITY",
23114	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
23115	//         "OBJECT_FLOODLIGHT_DV360_LINK",
23116	//         "OBJECT_INSTREAM_CREATIVE",
23117	//         "OBJECT_LANDING_PAGE",
23118	//         "OBJECT_MEDIA_ORDER",
23119	//         "OBJECT_PLACEMENT",
23120	//         "OBJECT_PLACEMENT_STRATEGY",
23121	//         "OBJECT_PLAYSTORE_LINK",
23122	//         "OBJECT_PROVIDED_LIST_CLIENT",
23123	//         "OBJECT_RATE_CARD",
23124	//         "OBJECT_REMARKETING_LIST",
23125	//         "OBJECT_RICHMEDIA_CREATIVE",
23126	//         "OBJECT_SD_SITE",
23127	//         "OBJECT_SEARCH_LIFT_STUDY",
23128	//         "OBJECT_SIZE",
23129	//         "OBJECT_SUBACCOUNT",
23130	//         "OBJECT_TARGETING_TEMPLATE",
23131	//         "OBJECT_USER_PROFILE",
23132	//         "OBJECT_USER_PROFILE_FILTER",
23133	//         "OBJECT_USER_ROLE"
23134	//       ],
23135	//       "enumDescriptions": [
23136	//         "",
23137	//         "",
23138	//         "",
23139	//         "",
23140	//         "",
23141	//         "",
23142	//         "",
23143	//         "",
23144	//         "",
23145	//         "",
23146	//         "",
23147	//         "",
23148	//         "",
23149	//         "",
23150	//         "",
23151	//         "",
23152	//         "",
23153	//         "",
23154	//         "",
23155	//         "",
23156	//         "",
23157	//         "",
23158	//         "",
23159	//         "",
23160	//         "",
23161	//         "",
23162	//         "",
23163	//         "",
23164	//         "",
23165	//         "",
23166	//         "",
23167	//         "",
23168	//         "",
23169	//         "",
23170	//         "",
23171	//         "",
23172	//         "",
23173	//         "",
23174	//         "",
23175	//         ""
23176	//       ],
23177	//       "location": "query",
23178	//       "type": "string"
23179	//     },
23180	//     "pageToken": {
23181	//       "description": "Value of the nextPageToken from the previous result page.",
23182	//       "location": "query",
23183	//       "type": "string"
23184	//     },
23185	//     "profileId": {
23186	//       "description": "User profile ID associated with this request.",
23187	//       "format": "int64",
23188	//       "location": "path",
23189	//       "required": true,
23190	//       "type": "string"
23191	//     },
23192	//     "searchString": {
23193	//       "description": "Select only change logs whose object ID, user name, old or new values match the search string.",
23194	//       "location": "query",
23195	//       "type": "string"
23196	//     },
23197	//     "userProfileIds": {
23198	//       "description": "Select only change logs with these user profile IDs.",
23199	//       "format": "int64",
23200	//       "location": "query",
23201	//       "repeated": true,
23202	//       "type": "string"
23203	//     }
23204	//   },
23205	//   "path": "userprofiles/{profileId}/changeLogs",
23206	//   "response": {
23207	//     "$ref": "ChangeLogsListResponse"
23208	//   },
23209	//   "scopes": [
23210	//     "https://www.googleapis.com/auth/dfatrafficking"
23211	//   ]
23212	// }
23213
23214}
23215
23216// Pages invokes f for each page of results.
23217// A non-nil error returned from f will halt the iteration.
23218// The provided context supersedes any context provided to the Context method.
23219func (c *ChangeLogsListCall) Pages(ctx context.Context, f func(*ChangeLogsListResponse) error) error {
23220	c.ctx_ = ctx
23221	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
23222	for {
23223		x, err := c.Do()
23224		if err != nil {
23225			return err
23226		}
23227		if err := f(x); err != nil {
23228			return err
23229		}
23230		if x.NextPageToken == "" {
23231			return nil
23232		}
23233		c.PageToken(x.NextPageToken)
23234	}
23235}
23236
23237// method id "dfareporting.cities.list":
23238
23239type CitiesListCall struct {
23240	s            *Service
23241	profileId    int64
23242	urlParams_   gensupport.URLParams
23243	ifNoneMatch_ string
23244	ctx_         context.Context
23245	header_      http.Header
23246}
23247
23248// List: Retrieves a list of cities, possibly filtered.
23249func (r *CitiesService) List(profileId int64) *CitiesListCall {
23250	c := &CitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23251	c.profileId = profileId
23252	return c
23253}
23254
23255// CountryDartIds sets the optional parameter "countryDartIds": Select
23256// only cities from these countries.
23257func (c *CitiesListCall) CountryDartIds(countryDartIds ...int64) *CitiesListCall {
23258	var countryDartIds_ []string
23259	for _, v := range countryDartIds {
23260		countryDartIds_ = append(countryDartIds_, fmt.Sprint(v))
23261	}
23262	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
23263	return c
23264}
23265
23266// DartIds sets the optional parameter "dartIds": Select only cities
23267// with these DART IDs.
23268func (c *CitiesListCall) DartIds(dartIds ...int64) *CitiesListCall {
23269	var dartIds_ []string
23270	for _, v := range dartIds {
23271		dartIds_ = append(dartIds_, fmt.Sprint(v))
23272	}
23273	c.urlParams_.SetMulti("dartIds", dartIds_)
23274	return c
23275}
23276
23277// NamePrefix sets the optional parameter "namePrefix": Select only
23278// cities with names starting with this prefix.
23279func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
23280	c.urlParams_.Set("namePrefix", namePrefix)
23281	return c
23282}
23283
23284// RegionDartIds sets the optional parameter "regionDartIds": Select
23285// only cities from these regions.
23286func (c *CitiesListCall) RegionDartIds(regionDartIds ...int64) *CitiesListCall {
23287	var regionDartIds_ []string
23288	for _, v := range regionDartIds {
23289		regionDartIds_ = append(regionDartIds_, fmt.Sprint(v))
23290	}
23291	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
23292	return c
23293}
23294
23295// Fields allows partial responses to be retrieved. See
23296// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23297// for more information.
23298func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
23299	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23300	return c
23301}
23302
23303// IfNoneMatch sets the optional parameter which makes the operation
23304// fail if the object's ETag matches the given value. This is useful for
23305// getting updates only after the object has changed since the last
23306// request. Use googleapi.IsNotModified to check whether the response
23307// error from Do is the result of In-None-Match.
23308func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
23309	c.ifNoneMatch_ = entityTag
23310	return c
23311}
23312
23313// Context sets the context to be used in this call's Do method. Any
23314// pending HTTP request will be aborted if the provided context is
23315// canceled.
23316func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
23317	c.ctx_ = ctx
23318	return c
23319}
23320
23321// Header returns an http.Header that can be modified by the caller to
23322// add HTTP headers to the request.
23323func (c *CitiesListCall) Header() http.Header {
23324	if c.header_ == nil {
23325		c.header_ = make(http.Header)
23326	}
23327	return c.header_
23328}
23329
23330func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
23331	reqHeaders := make(http.Header)
23332	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
23333	for k, v := range c.header_ {
23334		reqHeaders[k] = v
23335	}
23336	reqHeaders.Set("User-Agent", c.s.userAgent())
23337	if c.ifNoneMatch_ != "" {
23338		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23339	}
23340	var body io.Reader = nil
23341	c.urlParams_.Set("alt", alt)
23342	c.urlParams_.Set("prettyPrint", "false")
23343	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
23344	urls += "?" + c.urlParams_.Encode()
23345	req, err := http.NewRequest("GET", urls, body)
23346	if err != nil {
23347		return nil, err
23348	}
23349	req.Header = reqHeaders
23350	googleapi.Expand(req.URL, map[string]string{
23351		"profileId": strconv.FormatInt(c.profileId, 10),
23352	})
23353	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23354}
23355
23356// Do executes the "dfareporting.cities.list" call.
23357// Exactly one of *CitiesListResponse or error will be non-nil. Any
23358// non-2xx status code is an error. Response headers are in either
23359// *CitiesListResponse.ServerResponse.Header or (if a response was
23360// returned at all) in error.(*googleapi.Error).Header. Use
23361// googleapi.IsNotModified to check whether the returned error was
23362// because http.StatusNotModified was returned.
23363func (c *CitiesListCall) Do(opts ...googleapi.CallOption) (*CitiesListResponse, error) {
23364	gensupport.SetOptions(c.urlParams_, opts...)
23365	res, err := c.doRequest("json")
23366	if res != nil && res.StatusCode == http.StatusNotModified {
23367		if res.Body != nil {
23368			res.Body.Close()
23369		}
23370		return nil, &googleapi.Error{
23371			Code:   res.StatusCode,
23372			Header: res.Header,
23373		}
23374	}
23375	if err != nil {
23376		return nil, err
23377	}
23378	defer googleapi.CloseBody(res)
23379	if err := googleapi.CheckResponse(res); err != nil {
23380		return nil, err
23381	}
23382	ret := &CitiesListResponse{
23383		ServerResponse: googleapi.ServerResponse{
23384			Header:         res.Header,
23385			HTTPStatusCode: res.StatusCode,
23386		},
23387	}
23388	target := &ret
23389	if err := gensupport.DecodeResponse(target, res); err != nil {
23390		return nil, err
23391	}
23392	return ret, nil
23393	// {
23394	//   "description": "Retrieves a list of cities, possibly filtered.",
23395	//   "httpMethod": "GET",
23396	//   "id": "dfareporting.cities.list",
23397	//   "parameterOrder": [
23398	//     "profileId"
23399	//   ],
23400	//   "parameters": {
23401	//     "countryDartIds": {
23402	//       "description": "Select only cities from these countries.",
23403	//       "format": "int64",
23404	//       "location": "query",
23405	//       "repeated": true,
23406	//       "type": "string"
23407	//     },
23408	//     "dartIds": {
23409	//       "description": "Select only cities with these DART IDs.",
23410	//       "format": "int64",
23411	//       "location": "query",
23412	//       "repeated": true,
23413	//       "type": "string"
23414	//     },
23415	//     "namePrefix": {
23416	//       "description": "Select only cities with names starting with this prefix.",
23417	//       "location": "query",
23418	//       "type": "string"
23419	//     },
23420	//     "profileId": {
23421	//       "description": "User profile ID associated with this request.",
23422	//       "format": "int64",
23423	//       "location": "path",
23424	//       "required": true,
23425	//       "type": "string"
23426	//     },
23427	//     "regionDartIds": {
23428	//       "description": "Select only cities from these regions.",
23429	//       "format": "int64",
23430	//       "location": "query",
23431	//       "repeated": true,
23432	//       "type": "string"
23433	//     }
23434	//   },
23435	//   "path": "userprofiles/{profileId}/cities",
23436	//   "response": {
23437	//     "$ref": "CitiesListResponse"
23438	//   },
23439	//   "scopes": [
23440	//     "https://www.googleapis.com/auth/dfatrafficking"
23441	//   ]
23442	// }
23443
23444}
23445
23446// method id "dfareporting.connectionTypes.get":
23447
23448type ConnectionTypesGetCall struct {
23449	s            *Service
23450	profileId    int64
23451	id           int64
23452	urlParams_   gensupport.URLParams
23453	ifNoneMatch_ string
23454	ctx_         context.Context
23455	header_      http.Header
23456}
23457
23458// Get: Gets one connection type by ID.
23459func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
23460	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23461	c.profileId = profileId
23462	c.id = id
23463	return c
23464}
23465
23466// Fields allows partial responses to be retrieved. See
23467// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23468// for more information.
23469func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
23470	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23471	return c
23472}
23473
23474// IfNoneMatch sets the optional parameter which makes the operation
23475// fail if the object's ETag matches the given value. This is useful for
23476// getting updates only after the object has changed since the last
23477// request. Use googleapi.IsNotModified to check whether the response
23478// error from Do is the result of In-None-Match.
23479func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
23480	c.ifNoneMatch_ = entityTag
23481	return c
23482}
23483
23484// Context sets the context to be used in this call's Do method. Any
23485// pending HTTP request will be aborted if the provided context is
23486// canceled.
23487func (c *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
23488	c.ctx_ = ctx
23489	return c
23490}
23491
23492// Header returns an http.Header that can be modified by the caller to
23493// add HTTP headers to the request.
23494func (c *ConnectionTypesGetCall) Header() http.Header {
23495	if c.header_ == nil {
23496		c.header_ = make(http.Header)
23497	}
23498	return c.header_
23499}
23500
23501func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
23502	reqHeaders := make(http.Header)
23503	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
23504	for k, v := range c.header_ {
23505		reqHeaders[k] = v
23506	}
23507	reqHeaders.Set("User-Agent", c.s.userAgent())
23508	if c.ifNoneMatch_ != "" {
23509		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23510	}
23511	var body io.Reader = nil
23512	c.urlParams_.Set("alt", alt)
23513	c.urlParams_.Set("prettyPrint", "false")
23514	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
23515	urls += "?" + c.urlParams_.Encode()
23516	req, err := http.NewRequest("GET", urls, body)
23517	if err != nil {
23518		return nil, err
23519	}
23520	req.Header = reqHeaders
23521	googleapi.Expand(req.URL, map[string]string{
23522		"profileId": strconv.FormatInt(c.profileId, 10),
23523		"id":        strconv.FormatInt(c.id, 10),
23524	})
23525	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23526}
23527
23528// Do executes the "dfareporting.connectionTypes.get" call.
23529// Exactly one of *ConnectionType or error will be non-nil. Any non-2xx
23530// status code is an error. Response headers are in either
23531// *ConnectionType.ServerResponse.Header or (if a response was returned
23532// at all) in error.(*googleapi.Error).Header. Use
23533// googleapi.IsNotModified to check whether the returned error was
23534// because http.StatusNotModified was returned.
23535func (c *ConnectionTypesGetCall) Do(opts ...googleapi.CallOption) (*ConnectionType, error) {
23536	gensupport.SetOptions(c.urlParams_, opts...)
23537	res, err := c.doRequest("json")
23538	if res != nil && res.StatusCode == http.StatusNotModified {
23539		if res.Body != nil {
23540			res.Body.Close()
23541		}
23542		return nil, &googleapi.Error{
23543			Code:   res.StatusCode,
23544			Header: res.Header,
23545		}
23546	}
23547	if err != nil {
23548		return nil, err
23549	}
23550	defer googleapi.CloseBody(res)
23551	if err := googleapi.CheckResponse(res); err != nil {
23552		return nil, err
23553	}
23554	ret := &ConnectionType{
23555		ServerResponse: googleapi.ServerResponse{
23556			Header:         res.Header,
23557			HTTPStatusCode: res.StatusCode,
23558		},
23559	}
23560	target := &ret
23561	if err := gensupport.DecodeResponse(target, res); err != nil {
23562		return nil, err
23563	}
23564	return ret, nil
23565	// {
23566	//   "description": "Gets one connection type by ID.",
23567	//   "httpMethod": "GET",
23568	//   "id": "dfareporting.connectionTypes.get",
23569	//   "parameterOrder": [
23570	//     "profileId",
23571	//     "id"
23572	//   ],
23573	//   "parameters": {
23574	//     "id": {
23575	//       "description": "Connection type ID.",
23576	//       "format": "int64",
23577	//       "location": "path",
23578	//       "required": true,
23579	//       "type": "string"
23580	//     },
23581	//     "profileId": {
23582	//       "description": "User profile ID associated with this request.",
23583	//       "format": "int64",
23584	//       "location": "path",
23585	//       "required": true,
23586	//       "type": "string"
23587	//     }
23588	//   },
23589	//   "path": "userprofiles/{profileId}/connectionTypes/{id}",
23590	//   "response": {
23591	//     "$ref": "ConnectionType"
23592	//   },
23593	//   "scopes": [
23594	//     "https://www.googleapis.com/auth/dfatrafficking"
23595	//   ]
23596	// }
23597
23598}
23599
23600// method id "dfareporting.connectionTypes.list":
23601
23602type ConnectionTypesListCall struct {
23603	s            *Service
23604	profileId    int64
23605	urlParams_   gensupport.URLParams
23606	ifNoneMatch_ string
23607	ctx_         context.Context
23608	header_      http.Header
23609}
23610
23611// List: Retrieves a list of connection types.
23612func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
23613	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23614	c.profileId = profileId
23615	return c
23616}
23617
23618// Fields allows partial responses to be retrieved. See
23619// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23620// for more information.
23621func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
23622	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23623	return c
23624}
23625
23626// IfNoneMatch sets the optional parameter which makes the operation
23627// fail if the object's ETag matches the given value. This is useful for
23628// getting updates only after the object has changed since the last
23629// request. Use googleapi.IsNotModified to check whether the response
23630// error from Do is the result of In-None-Match.
23631func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
23632	c.ifNoneMatch_ = entityTag
23633	return c
23634}
23635
23636// Context sets the context to be used in this call's Do method. Any
23637// pending HTTP request will be aborted if the provided context is
23638// canceled.
23639func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
23640	c.ctx_ = ctx
23641	return c
23642}
23643
23644// Header returns an http.Header that can be modified by the caller to
23645// add HTTP headers to the request.
23646func (c *ConnectionTypesListCall) Header() http.Header {
23647	if c.header_ == nil {
23648		c.header_ = make(http.Header)
23649	}
23650	return c.header_
23651}
23652
23653func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
23654	reqHeaders := make(http.Header)
23655	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
23656	for k, v := range c.header_ {
23657		reqHeaders[k] = v
23658	}
23659	reqHeaders.Set("User-Agent", c.s.userAgent())
23660	if c.ifNoneMatch_ != "" {
23661		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23662	}
23663	var body io.Reader = nil
23664	c.urlParams_.Set("alt", alt)
23665	c.urlParams_.Set("prettyPrint", "false")
23666	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
23667	urls += "?" + c.urlParams_.Encode()
23668	req, err := http.NewRequest("GET", urls, body)
23669	if err != nil {
23670		return nil, err
23671	}
23672	req.Header = reqHeaders
23673	googleapi.Expand(req.URL, map[string]string{
23674		"profileId": strconv.FormatInt(c.profileId, 10),
23675	})
23676	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23677}
23678
23679// Do executes the "dfareporting.connectionTypes.list" call.
23680// Exactly one of *ConnectionTypesListResponse or error will be non-nil.
23681// Any non-2xx status code is an error. Response headers are in either
23682// *ConnectionTypesListResponse.ServerResponse.Header or (if a response
23683// was returned at all) in error.(*googleapi.Error).Header. Use
23684// googleapi.IsNotModified to check whether the returned error was
23685// because http.StatusNotModified was returned.
23686func (c *ConnectionTypesListCall) Do(opts ...googleapi.CallOption) (*ConnectionTypesListResponse, error) {
23687	gensupport.SetOptions(c.urlParams_, opts...)
23688	res, err := c.doRequest("json")
23689	if res != nil && res.StatusCode == http.StatusNotModified {
23690		if res.Body != nil {
23691			res.Body.Close()
23692		}
23693		return nil, &googleapi.Error{
23694			Code:   res.StatusCode,
23695			Header: res.Header,
23696		}
23697	}
23698	if err != nil {
23699		return nil, err
23700	}
23701	defer googleapi.CloseBody(res)
23702	if err := googleapi.CheckResponse(res); err != nil {
23703		return nil, err
23704	}
23705	ret := &ConnectionTypesListResponse{
23706		ServerResponse: googleapi.ServerResponse{
23707			Header:         res.Header,
23708			HTTPStatusCode: res.StatusCode,
23709		},
23710	}
23711	target := &ret
23712	if err := gensupport.DecodeResponse(target, res); err != nil {
23713		return nil, err
23714	}
23715	return ret, nil
23716	// {
23717	//   "description": "Retrieves a list of connection types.",
23718	//   "httpMethod": "GET",
23719	//   "id": "dfareporting.connectionTypes.list",
23720	//   "parameterOrder": [
23721	//     "profileId"
23722	//   ],
23723	//   "parameters": {
23724	//     "profileId": {
23725	//       "description": "User profile ID associated with this request.",
23726	//       "format": "int64",
23727	//       "location": "path",
23728	//       "required": true,
23729	//       "type": "string"
23730	//     }
23731	//   },
23732	//   "path": "userprofiles/{profileId}/connectionTypes",
23733	//   "response": {
23734	//     "$ref": "ConnectionTypesListResponse"
23735	//   },
23736	//   "scopes": [
23737	//     "https://www.googleapis.com/auth/dfatrafficking"
23738	//   ]
23739	// }
23740
23741}
23742
23743// method id "dfareporting.contentCategories.delete":
23744
23745type ContentCategoriesDeleteCall struct {
23746	s          *Service
23747	profileId  int64
23748	id         int64
23749	urlParams_ gensupport.URLParams
23750	ctx_       context.Context
23751	header_    http.Header
23752}
23753
23754// Delete: Deletes an existing content category.
23755func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
23756	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23757	c.profileId = profileId
23758	c.id = id
23759	return c
23760}
23761
23762// Fields allows partial responses to be retrieved. See
23763// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23764// for more information.
23765func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
23766	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23767	return c
23768}
23769
23770// Context sets the context to be used in this call's Do method. Any
23771// pending HTTP request will be aborted if the provided context is
23772// canceled.
23773func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
23774	c.ctx_ = ctx
23775	return c
23776}
23777
23778// Header returns an http.Header that can be modified by the caller to
23779// add HTTP headers to the request.
23780func (c *ContentCategoriesDeleteCall) Header() http.Header {
23781	if c.header_ == nil {
23782		c.header_ = make(http.Header)
23783	}
23784	return c.header_
23785}
23786
23787func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
23788	reqHeaders := make(http.Header)
23789	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
23790	for k, v := range c.header_ {
23791		reqHeaders[k] = v
23792	}
23793	reqHeaders.Set("User-Agent", c.s.userAgent())
23794	var body io.Reader = nil
23795	c.urlParams_.Set("alt", alt)
23796	c.urlParams_.Set("prettyPrint", "false")
23797	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
23798	urls += "?" + c.urlParams_.Encode()
23799	req, err := http.NewRequest("DELETE", urls, body)
23800	if err != nil {
23801		return nil, err
23802	}
23803	req.Header = reqHeaders
23804	googleapi.Expand(req.URL, map[string]string{
23805		"profileId": strconv.FormatInt(c.profileId, 10),
23806		"id":        strconv.FormatInt(c.id, 10),
23807	})
23808	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23809}
23810
23811// Do executes the "dfareporting.contentCategories.delete" call.
23812func (c *ContentCategoriesDeleteCall) Do(opts ...googleapi.CallOption) error {
23813	gensupport.SetOptions(c.urlParams_, opts...)
23814	res, err := c.doRequest("json")
23815	if err != nil {
23816		return err
23817	}
23818	defer googleapi.CloseBody(res)
23819	if err := googleapi.CheckResponse(res); err != nil {
23820		return err
23821	}
23822	return nil
23823	// {
23824	//   "description": "Deletes an existing content category.",
23825	//   "httpMethod": "DELETE",
23826	//   "id": "dfareporting.contentCategories.delete",
23827	//   "parameterOrder": [
23828	//     "profileId",
23829	//     "id"
23830	//   ],
23831	//   "parameters": {
23832	//     "id": {
23833	//       "description": "Content category ID.",
23834	//       "format": "int64",
23835	//       "location": "path",
23836	//       "required": true,
23837	//       "type": "string"
23838	//     },
23839	//     "profileId": {
23840	//       "description": "User profile ID associated with this request.",
23841	//       "format": "int64",
23842	//       "location": "path",
23843	//       "required": true,
23844	//       "type": "string"
23845	//     }
23846	//   },
23847	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
23848	//   "scopes": [
23849	//     "https://www.googleapis.com/auth/dfatrafficking"
23850	//   ]
23851	// }
23852
23853}
23854
23855// method id "dfareporting.contentCategories.get":
23856
23857type ContentCategoriesGetCall struct {
23858	s            *Service
23859	profileId    int64
23860	id           int64
23861	urlParams_   gensupport.URLParams
23862	ifNoneMatch_ string
23863	ctx_         context.Context
23864	header_      http.Header
23865}
23866
23867// Get: Gets one content category by ID.
23868func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
23869	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23870	c.profileId = profileId
23871	c.id = id
23872	return c
23873}
23874
23875// Fields allows partial responses to be retrieved. See
23876// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23877// for more information.
23878func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
23879	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23880	return c
23881}
23882
23883// IfNoneMatch sets the optional parameter which makes the operation
23884// fail if the object's ETag matches the given value. This is useful for
23885// getting updates only after the object has changed since the last
23886// request. Use googleapi.IsNotModified to check whether the response
23887// error from Do is the result of In-None-Match.
23888func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
23889	c.ifNoneMatch_ = entityTag
23890	return c
23891}
23892
23893// Context sets the context to be used in this call's Do method. Any
23894// pending HTTP request will be aborted if the provided context is
23895// canceled.
23896func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
23897	c.ctx_ = ctx
23898	return c
23899}
23900
23901// Header returns an http.Header that can be modified by the caller to
23902// add HTTP headers to the request.
23903func (c *ContentCategoriesGetCall) Header() http.Header {
23904	if c.header_ == nil {
23905		c.header_ = make(http.Header)
23906	}
23907	return c.header_
23908}
23909
23910func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
23911	reqHeaders := make(http.Header)
23912	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
23913	for k, v := range c.header_ {
23914		reqHeaders[k] = v
23915	}
23916	reqHeaders.Set("User-Agent", c.s.userAgent())
23917	if c.ifNoneMatch_ != "" {
23918		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23919	}
23920	var body io.Reader = nil
23921	c.urlParams_.Set("alt", alt)
23922	c.urlParams_.Set("prettyPrint", "false")
23923	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
23924	urls += "?" + c.urlParams_.Encode()
23925	req, err := http.NewRequest("GET", urls, body)
23926	if err != nil {
23927		return nil, err
23928	}
23929	req.Header = reqHeaders
23930	googleapi.Expand(req.URL, map[string]string{
23931		"profileId": strconv.FormatInt(c.profileId, 10),
23932		"id":        strconv.FormatInt(c.id, 10),
23933	})
23934	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23935}
23936
23937// Do executes the "dfareporting.contentCategories.get" call.
23938// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
23939// status code is an error. Response headers are in either
23940// *ContentCategory.ServerResponse.Header or (if a response was returned
23941// at all) in error.(*googleapi.Error).Header. Use
23942// googleapi.IsNotModified to check whether the returned error was
23943// because http.StatusNotModified was returned.
23944func (c *ContentCategoriesGetCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
23945	gensupport.SetOptions(c.urlParams_, opts...)
23946	res, err := c.doRequest("json")
23947	if res != nil && res.StatusCode == http.StatusNotModified {
23948		if res.Body != nil {
23949			res.Body.Close()
23950		}
23951		return nil, &googleapi.Error{
23952			Code:   res.StatusCode,
23953			Header: res.Header,
23954		}
23955	}
23956	if err != nil {
23957		return nil, err
23958	}
23959	defer googleapi.CloseBody(res)
23960	if err := googleapi.CheckResponse(res); err != nil {
23961		return nil, err
23962	}
23963	ret := &ContentCategory{
23964		ServerResponse: googleapi.ServerResponse{
23965			Header:         res.Header,
23966			HTTPStatusCode: res.StatusCode,
23967		},
23968	}
23969	target := &ret
23970	if err := gensupport.DecodeResponse(target, res); err != nil {
23971		return nil, err
23972	}
23973	return ret, nil
23974	// {
23975	//   "description": "Gets one content category by ID.",
23976	//   "httpMethod": "GET",
23977	//   "id": "dfareporting.contentCategories.get",
23978	//   "parameterOrder": [
23979	//     "profileId",
23980	//     "id"
23981	//   ],
23982	//   "parameters": {
23983	//     "id": {
23984	//       "description": "Content category ID.",
23985	//       "format": "int64",
23986	//       "location": "path",
23987	//       "required": true,
23988	//       "type": "string"
23989	//     },
23990	//     "profileId": {
23991	//       "description": "User profile ID associated with this request.",
23992	//       "format": "int64",
23993	//       "location": "path",
23994	//       "required": true,
23995	//       "type": "string"
23996	//     }
23997	//   },
23998	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
23999	//   "response": {
24000	//     "$ref": "ContentCategory"
24001	//   },
24002	//   "scopes": [
24003	//     "https://www.googleapis.com/auth/dfatrafficking"
24004	//   ]
24005	// }
24006
24007}
24008
24009// method id "dfareporting.contentCategories.insert":
24010
24011type ContentCategoriesInsertCall struct {
24012	s               *Service
24013	profileId       int64
24014	contentcategory *ContentCategory
24015	urlParams_      gensupport.URLParams
24016	ctx_            context.Context
24017	header_         http.Header
24018}
24019
24020// Insert: Inserts a new content category.
24021func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
24022	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24023	c.profileId = profileId
24024	c.contentcategory = contentcategory
24025	return c
24026}
24027
24028// Fields allows partial responses to be retrieved. See
24029// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24030// for more information.
24031func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
24032	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24033	return c
24034}
24035
24036// Context sets the context to be used in this call's Do method. Any
24037// pending HTTP request will be aborted if the provided context is
24038// canceled.
24039func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
24040	c.ctx_ = ctx
24041	return c
24042}
24043
24044// Header returns an http.Header that can be modified by the caller to
24045// add HTTP headers to the request.
24046func (c *ContentCategoriesInsertCall) Header() http.Header {
24047	if c.header_ == nil {
24048		c.header_ = make(http.Header)
24049	}
24050	return c.header_
24051}
24052
24053func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
24054	reqHeaders := make(http.Header)
24055	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
24056	for k, v := range c.header_ {
24057		reqHeaders[k] = v
24058	}
24059	reqHeaders.Set("User-Agent", c.s.userAgent())
24060	var body io.Reader = nil
24061	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
24062	if err != nil {
24063		return nil, err
24064	}
24065	reqHeaders.Set("Content-Type", "application/json")
24066	c.urlParams_.Set("alt", alt)
24067	c.urlParams_.Set("prettyPrint", "false")
24068	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
24069	urls += "?" + c.urlParams_.Encode()
24070	req, err := http.NewRequest("POST", urls, body)
24071	if err != nil {
24072		return nil, err
24073	}
24074	req.Header = reqHeaders
24075	googleapi.Expand(req.URL, map[string]string{
24076		"profileId": strconv.FormatInt(c.profileId, 10),
24077	})
24078	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24079}
24080
24081// Do executes the "dfareporting.contentCategories.insert" call.
24082// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
24083// status code is an error. Response headers are in either
24084// *ContentCategory.ServerResponse.Header or (if a response was returned
24085// at all) in error.(*googleapi.Error).Header. Use
24086// googleapi.IsNotModified to check whether the returned error was
24087// because http.StatusNotModified was returned.
24088func (c *ContentCategoriesInsertCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
24089	gensupport.SetOptions(c.urlParams_, opts...)
24090	res, err := c.doRequest("json")
24091	if res != nil && res.StatusCode == http.StatusNotModified {
24092		if res.Body != nil {
24093			res.Body.Close()
24094		}
24095		return nil, &googleapi.Error{
24096			Code:   res.StatusCode,
24097			Header: res.Header,
24098		}
24099	}
24100	if err != nil {
24101		return nil, err
24102	}
24103	defer googleapi.CloseBody(res)
24104	if err := googleapi.CheckResponse(res); err != nil {
24105		return nil, err
24106	}
24107	ret := &ContentCategory{
24108		ServerResponse: googleapi.ServerResponse{
24109			Header:         res.Header,
24110			HTTPStatusCode: res.StatusCode,
24111		},
24112	}
24113	target := &ret
24114	if err := gensupport.DecodeResponse(target, res); err != nil {
24115		return nil, err
24116	}
24117	return ret, nil
24118	// {
24119	//   "description": "Inserts a new content category.",
24120	//   "httpMethod": "POST",
24121	//   "id": "dfareporting.contentCategories.insert",
24122	//   "parameterOrder": [
24123	//     "profileId"
24124	//   ],
24125	//   "parameters": {
24126	//     "profileId": {
24127	//       "description": "User profile ID associated with this request.",
24128	//       "format": "int64",
24129	//       "location": "path",
24130	//       "required": true,
24131	//       "type": "string"
24132	//     }
24133	//   },
24134	//   "path": "userprofiles/{profileId}/contentCategories",
24135	//   "request": {
24136	//     "$ref": "ContentCategory"
24137	//   },
24138	//   "response": {
24139	//     "$ref": "ContentCategory"
24140	//   },
24141	//   "scopes": [
24142	//     "https://www.googleapis.com/auth/dfatrafficking"
24143	//   ]
24144	// }
24145
24146}
24147
24148// method id "dfareporting.contentCategories.list":
24149
24150type ContentCategoriesListCall struct {
24151	s            *Service
24152	profileId    int64
24153	urlParams_   gensupport.URLParams
24154	ifNoneMatch_ string
24155	ctx_         context.Context
24156	header_      http.Header
24157}
24158
24159// List: Retrieves a list of content categories, possibly filtered. This
24160// method supports paging.
24161func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
24162	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24163	c.profileId = profileId
24164	return c
24165}
24166
24167// Ids sets the optional parameter "ids": Select only content categories
24168// with these IDs.
24169func (c *ContentCategoriesListCall) Ids(ids ...int64) *ContentCategoriesListCall {
24170	var ids_ []string
24171	for _, v := range ids {
24172		ids_ = append(ids_, fmt.Sprint(v))
24173	}
24174	c.urlParams_.SetMulti("ids", ids_)
24175	return c
24176}
24177
24178// MaxResults sets the optional parameter "maxResults": Maximum number
24179// of results to return.
24180func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
24181	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
24182	return c
24183}
24184
24185// PageToken sets the optional parameter "pageToken": Value of the
24186// nextPageToken from the previous result page.
24187func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
24188	c.urlParams_.Set("pageToken", pageToken)
24189	return c
24190}
24191
24192// SearchString sets the optional parameter "searchString": Allows
24193// searching for objects by name or ID. Wildcards (*) are allowed. For
24194// example, "contentcategory*2015" will return objects with names like
24195// "contentcategory June 2015", "contentcategory April 2015", or simply
24196// "contentcategory 2015". Most of the searches also add wildcards
24197// implicitly at the start and the end of the search string. For
24198// example, a search string of "contentcategory" will match objects with
24199// name "my contentcategory", "contentcategory 2015", or simply
24200// "contentcategory".
24201func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
24202	c.urlParams_.Set("searchString", searchString)
24203	return c
24204}
24205
24206// SortField sets the optional parameter "sortField": Field by which to
24207// sort the list.
24208//
24209// Possible values:
24210//   "ID" (default)
24211//   "NAME"
24212func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
24213	c.urlParams_.Set("sortField", sortField)
24214	return c
24215}
24216
24217// SortOrder sets the optional parameter "sortOrder": Order of sorted
24218// results.
24219//
24220// Possible values:
24221//   "ASCENDING" (default)
24222//   "DESCENDING"
24223func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
24224	c.urlParams_.Set("sortOrder", sortOrder)
24225	return c
24226}
24227
24228// Fields allows partial responses to be retrieved. See
24229// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24230// for more information.
24231func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
24232	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24233	return c
24234}
24235
24236// IfNoneMatch sets the optional parameter which makes the operation
24237// fail if the object's ETag matches the given value. This is useful for
24238// getting updates only after the object has changed since the last
24239// request. Use googleapi.IsNotModified to check whether the response
24240// error from Do is the result of In-None-Match.
24241func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
24242	c.ifNoneMatch_ = entityTag
24243	return c
24244}
24245
24246// Context sets the context to be used in this call's Do method. Any
24247// pending HTTP request will be aborted if the provided context is
24248// canceled.
24249func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
24250	c.ctx_ = ctx
24251	return c
24252}
24253
24254// Header returns an http.Header that can be modified by the caller to
24255// add HTTP headers to the request.
24256func (c *ContentCategoriesListCall) Header() http.Header {
24257	if c.header_ == nil {
24258		c.header_ = make(http.Header)
24259	}
24260	return c.header_
24261}
24262
24263func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
24264	reqHeaders := make(http.Header)
24265	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
24266	for k, v := range c.header_ {
24267		reqHeaders[k] = v
24268	}
24269	reqHeaders.Set("User-Agent", c.s.userAgent())
24270	if c.ifNoneMatch_ != "" {
24271		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24272	}
24273	var body io.Reader = nil
24274	c.urlParams_.Set("alt", alt)
24275	c.urlParams_.Set("prettyPrint", "false")
24276	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
24277	urls += "?" + c.urlParams_.Encode()
24278	req, err := http.NewRequest("GET", urls, body)
24279	if err != nil {
24280		return nil, err
24281	}
24282	req.Header = reqHeaders
24283	googleapi.Expand(req.URL, map[string]string{
24284		"profileId": strconv.FormatInt(c.profileId, 10),
24285	})
24286	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24287}
24288
24289// Do executes the "dfareporting.contentCategories.list" call.
24290// Exactly one of *ContentCategoriesListResponse or error will be
24291// non-nil. Any non-2xx status code is an error. Response headers are in
24292// either *ContentCategoriesListResponse.ServerResponse.Header or (if a
24293// response was returned at all) in error.(*googleapi.Error).Header. Use
24294// googleapi.IsNotModified to check whether the returned error was
24295// because http.StatusNotModified was returned.
24296func (c *ContentCategoriesListCall) Do(opts ...googleapi.CallOption) (*ContentCategoriesListResponse, error) {
24297	gensupport.SetOptions(c.urlParams_, opts...)
24298	res, err := c.doRequest("json")
24299	if res != nil && res.StatusCode == http.StatusNotModified {
24300		if res.Body != nil {
24301			res.Body.Close()
24302		}
24303		return nil, &googleapi.Error{
24304			Code:   res.StatusCode,
24305			Header: res.Header,
24306		}
24307	}
24308	if err != nil {
24309		return nil, err
24310	}
24311	defer googleapi.CloseBody(res)
24312	if err := googleapi.CheckResponse(res); err != nil {
24313		return nil, err
24314	}
24315	ret := &ContentCategoriesListResponse{
24316		ServerResponse: googleapi.ServerResponse{
24317			Header:         res.Header,
24318			HTTPStatusCode: res.StatusCode,
24319		},
24320	}
24321	target := &ret
24322	if err := gensupport.DecodeResponse(target, res); err != nil {
24323		return nil, err
24324	}
24325	return ret, nil
24326	// {
24327	//   "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
24328	//   "httpMethod": "GET",
24329	//   "id": "dfareporting.contentCategories.list",
24330	//   "parameterOrder": [
24331	//     "profileId"
24332	//   ],
24333	//   "parameters": {
24334	//     "ids": {
24335	//       "description": "Select only content categories with these IDs.",
24336	//       "format": "int64",
24337	//       "location": "query",
24338	//       "repeated": true,
24339	//       "type": "string"
24340	//     },
24341	//     "maxResults": {
24342	//       "default": "1000",
24343	//       "description": "Maximum number of results to return.",
24344	//       "format": "int32",
24345	//       "location": "query",
24346	//       "maximum": "1000",
24347	//       "minimum": "0",
24348	//       "type": "integer"
24349	//     },
24350	//     "pageToken": {
24351	//       "description": "Value of the nextPageToken from the previous result page.",
24352	//       "location": "query",
24353	//       "type": "string"
24354	//     },
24355	//     "profileId": {
24356	//       "description": "User profile ID associated with this request.",
24357	//       "format": "int64",
24358	//       "location": "path",
24359	//       "required": true,
24360	//       "type": "string"
24361	//     },
24362	//     "searchString": {
24363	//       "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\".",
24364	//       "location": "query",
24365	//       "type": "string"
24366	//     },
24367	//     "sortField": {
24368	//       "default": "ID",
24369	//       "description": "Field by which to sort the list.",
24370	//       "enum": [
24371	//         "ID",
24372	//         "NAME"
24373	//       ],
24374	//       "enumDescriptions": [
24375	//         "",
24376	//         ""
24377	//       ],
24378	//       "location": "query",
24379	//       "type": "string"
24380	//     },
24381	//     "sortOrder": {
24382	//       "default": "ASCENDING",
24383	//       "description": "Order of sorted results.",
24384	//       "enum": [
24385	//         "ASCENDING",
24386	//         "DESCENDING"
24387	//       ],
24388	//       "enumDescriptions": [
24389	//         "",
24390	//         ""
24391	//       ],
24392	//       "location": "query",
24393	//       "type": "string"
24394	//     }
24395	//   },
24396	//   "path": "userprofiles/{profileId}/contentCategories",
24397	//   "response": {
24398	//     "$ref": "ContentCategoriesListResponse"
24399	//   },
24400	//   "scopes": [
24401	//     "https://www.googleapis.com/auth/dfatrafficking"
24402	//   ]
24403	// }
24404
24405}
24406
24407// Pages invokes f for each page of results.
24408// A non-nil error returned from f will halt the iteration.
24409// The provided context supersedes any context provided to the Context method.
24410func (c *ContentCategoriesListCall) Pages(ctx context.Context, f func(*ContentCategoriesListResponse) error) error {
24411	c.ctx_ = ctx
24412	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
24413	for {
24414		x, err := c.Do()
24415		if err != nil {
24416			return err
24417		}
24418		if err := f(x); err != nil {
24419			return err
24420		}
24421		if x.NextPageToken == "" {
24422			return nil
24423		}
24424		c.PageToken(x.NextPageToken)
24425	}
24426}
24427
24428// method id "dfareporting.contentCategories.patch":
24429
24430type ContentCategoriesPatchCall struct {
24431	s               *Service
24432	profileId       int64
24433	contentcategory *ContentCategory
24434	urlParams_      gensupport.URLParams
24435	ctx_            context.Context
24436	header_         http.Header
24437}
24438
24439// Patch: Updates an existing content category. This method supports
24440// patch semantics.
24441func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
24442	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24443	c.profileId = profileId
24444	c.urlParams_.Set("id", fmt.Sprint(id))
24445	c.contentcategory = contentcategory
24446	return c
24447}
24448
24449// Fields allows partial responses to be retrieved. See
24450// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24451// for more information.
24452func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
24453	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24454	return c
24455}
24456
24457// Context sets the context to be used in this call's Do method. Any
24458// pending HTTP request will be aborted if the provided context is
24459// canceled.
24460func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
24461	c.ctx_ = ctx
24462	return c
24463}
24464
24465// Header returns an http.Header that can be modified by the caller to
24466// add HTTP headers to the request.
24467func (c *ContentCategoriesPatchCall) Header() http.Header {
24468	if c.header_ == nil {
24469		c.header_ = make(http.Header)
24470	}
24471	return c.header_
24472}
24473
24474func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
24475	reqHeaders := make(http.Header)
24476	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
24477	for k, v := range c.header_ {
24478		reqHeaders[k] = v
24479	}
24480	reqHeaders.Set("User-Agent", c.s.userAgent())
24481	var body io.Reader = nil
24482	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
24483	if err != nil {
24484		return nil, err
24485	}
24486	reqHeaders.Set("Content-Type", "application/json")
24487	c.urlParams_.Set("alt", alt)
24488	c.urlParams_.Set("prettyPrint", "false")
24489	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
24490	urls += "?" + c.urlParams_.Encode()
24491	req, err := http.NewRequest("PATCH", urls, body)
24492	if err != nil {
24493		return nil, err
24494	}
24495	req.Header = reqHeaders
24496	googleapi.Expand(req.URL, map[string]string{
24497		"profileId": strconv.FormatInt(c.profileId, 10),
24498	})
24499	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24500}
24501
24502// Do executes the "dfareporting.contentCategories.patch" call.
24503// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
24504// status code is an error. Response headers are in either
24505// *ContentCategory.ServerResponse.Header or (if a response was returned
24506// at all) in error.(*googleapi.Error).Header. Use
24507// googleapi.IsNotModified to check whether the returned error was
24508// because http.StatusNotModified was returned.
24509func (c *ContentCategoriesPatchCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
24510	gensupport.SetOptions(c.urlParams_, opts...)
24511	res, err := c.doRequest("json")
24512	if res != nil && res.StatusCode == http.StatusNotModified {
24513		if res.Body != nil {
24514			res.Body.Close()
24515		}
24516		return nil, &googleapi.Error{
24517			Code:   res.StatusCode,
24518			Header: res.Header,
24519		}
24520	}
24521	if err != nil {
24522		return nil, err
24523	}
24524	defer googleapi.CloseBody(res)
24525	if err := googleapi.CheckResponse(res); err != nil {
24526		return nil, err
24527	}
24528	ret := &ContentCategory{
24529		ServerResponse: googleapi.ServerResponse{
24530			Header:         res.Header,
24531			HTTPStatusCode: res.StatusCode,
24532		},
24533	}
24534	target := &ret
24535	if err := gensupport.DecodeResponse(target, res); err != nil {
24536		return nil, err
24537	}
24538	return ret, nil
24539	// {
24540	//   "description": "Updates an existing content category. This method supports patch semantics.",
24541	//   "httpMethod": "PATCH",
24542	//   "id": "dfareporting.contentCategories.patch",
24543	//   "parameterOrder": [
24544	//     "profileId",
24545	//     "id"
24546	//   ],
24547	//   "parameters": {
24548	//     "id": {
24549	//       "description": "Content category ID.",
24550	//       "format": "int64",
24551	//       "location": "query",
24552	//       "required": true,
24553	//       "type": "string"
24554	//     },
24555	//     "profileId": {
24556	//       "description": "User profile ID associated with this request.",
24557	//       "format": "int64",
24558	//       "location": "path",
24559	//       "required": true,
24560	//       "type": "string"
24561	//     }
24562	//   },
24563	//   "path": "userprofiles/{profileId}/contentCategories",
24564	//   "request": {
24565	//     "$ref": "ContentCategory"
24566	//   },
24567	//   "response": {
24568	//     "$ref": "ContentCategory"
24569	//   },
24570	//   "scopes": [
24571	//     "https://www.googleapis.com/auth/dfatrafficking"
24572	//   ]
24573	// }
24574
24575}
24576
24577// method id "dfareporting.contentCategories.update":
24578
24579type ContentCategoriesUpdateCall struct {
24580	s               *Service
24581	profileId       int64
24582	contentcategory *ContentCategory
24583	urlParams_      gensupport.URLParams
24584	ctx_            context.Context
24585	header_         http.Header
24586}
24587
24588// Update: Updates an existing content category.
24589func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
24590	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24591	c.profileId = profileId
24592	c.contentcategory = contentcategory
24593	return c
24594}
24595
24596// Fields allows partial responses to be retrieved. See
24597// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24598// for more information.
24599func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
24600	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24601	return c
24602}
24603
24604// Context sets the context to be used in this call's Do method. Any
24605// pending HTTP request will be aborted if the provided context is
24606// canceled.
24607func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
24608	c.ctx_ = ctx
24609	return c
24610}
24611
24612// Header returns an http.Header that can be modified by the caller to
24613// add HTTP headers to the request.
24614func (c *ContentCategoriesUpdateCall) Header() http.Header {
24615	if c.header_ == nil {
24616		c.header_ = make(http.Header)
24617	}
24618	return c.header_
24619}
24620
24621func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
24622	reqHeaders := make(http.Header)
24623	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
24624	for k, v := range c.header_ {
24625		reqHeaders[k] = v
24626	}
24627	reqHeaders.Set("User-Agent", c.s.userAgent())
24628	var body io.Reader = nil
24629	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
24630	if err != nil {
24631		return nil, err
24632	}
24633	reqHeaders.Set("Content-Type", "application/json")
24634	c.urlParams_.Set("alt", alt)
24635	c.urlParams_.Set("prettyPrint", "false")
24636	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
24637	urls += "?" + c.urlParams_.Encode()
24638	req, err := http.NewRequest("PUT", urls, body)
24639	if err != nil {
24640		return nil, err
24641	}
24642	req.Header = reqHeaders
24643	googleapi.Expand(req.URL, map[string]string{
24644		"profileId": strconv.FormatInt(c.profileId, 10),
24645	})
24646	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24647}
24648
24649// Do executes the "dfareporting.contentCategories.update" call.
24650// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
24651// status code is an error. Response headers are in either
24652// *ContentCategory.ServerResponse.Header or (if a response was returned
24653// at all) in error.(*googleapi.Error).Header. Use
24654// googleapi.IsNotModified to check whether the returned error was
24655// because http.StatusNotModified was returned.
24656func (c *ContentCategoriesUpdateCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
24657	gensupport.SetOptions(c.urlParams_, opts...)
24658	res, err := c.doRequest("json")
24659	if res != nil && res.StatusCode == http.StatusNotModified {
24660		if res.Body != nil {
24661			res.Body.Close()
24662		}
24663		return nil, &googleapi.Error{
24664			Code:   res.StatusCode,
24665			Header: res.Header,
24666		}
24667	}
24668	if err != nil {
24669		return nil, err
24670	}
24671	defer googleapi.CloseBody(res)
24672	if err := googleapi.CheckResponse(res); err != nil {
24673		return nil, err
24674	}
24675	ret := &ContentCategory{
24676		ServerResponse: googleapi.ServerResponse{
24677			Header:         res.Header,
24678			HTTPStatusCode: res.StatusCode,
24679		},
24680	}
24681	target := &ret
24682	if err := gensupport.DecodeResponse(target, res); err != nil {
24683		return nil, err
24684	}
24685	return ret, nil
24686	// {
24687	//   "description": "Updates an existing content category.",
24688	//   "httpMethod": "PUT",
24689	//   "id": "dfareporting.contentCategories.update",
24690	//   "parameterOrder": [
24691	//     "profileId"
24692	//   ],
24693	//   "parameters": {
24694	//     "profileId": {
24695	//       "description": "User profile ID associated with this request.",
24696	//       "format": "int64",
24697	//       "location": "path",
24698	//       "required": true,
24699	//       "type": "string"
24700	//     }
24701	//   },
24702	//   "path": "userprofiles/{profileId}/contentCategories",
24703	//   "request": {
24704	//     "$ref": "ContentCategory"
24705	//   },
24706	//   "response": {
24707	//     "$ref": "ContentCategory"
24708	//   },
24709	//   "scopes": [
24710	//     "https://www.googleapis.com/auth/dfatrafficking"
24711	//   ]
24712	// }
24713
24714}
24715
24716// method id "dfareporting.conversions.batchinsert":
24717
24718type ConversionsBatchinsertCall struct {
24719	s                             *Service
24720	profileId                     int64
24721	conversionsbatchinsertrequest *ConversionsBatchInsertRequest
24722	urlParams_                    gensupport.URLParams
24723	ctx_                          context.Context
24724	header_                       http.Header
24725}
24726
24727// Batchinsert: Inserts conversions.
24728func (r *ConversionsService) Batchinsert(profileId int64, conversionsbatchinsertrequest *ConversionsBatchInsertRequest) *ConversionsBatchinsertCall {
24729	c := &ConversionsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24730	c.profileId = profileId
24731	c.conversionsbatchinsertrequest = conversionsbatchinsertrequest
24732	return c
24733}
24734
24735// Fields allows partial responses to be retrieved. See
24736// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24737// for more information.
24738func (c *ConversionsBatchinsertCall) Fields(s ...googleapi.Field) *ConversionsBatchinsertCall {
24739	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24740	return c
24741}
24742
24743// Context sets the context to be used in this call's Do method. Any
24744// pending HTTP request will be aborted if the provided context is
24745// canceled.
24746func (c *ConversionsBatchinsertCall) Context(ctx context.Context) *ConversionsBatchinsertCall {
24747	c.ctx_ = ctx
24748	return c
24749}
24750
24751// Header returns an http.Header that can be modified by the caller to
24752// add HTTP headers to the request.
24753func (c *ConversionsBatchinsertCall) Header() http.Header {
24754	if c.header_ == nil {
24755		c.header_ = make(http.Header)
24756	}
24757	return c.header_
24758}
24759
24760func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
24761	reqHeaders := make(http.Header)
24762	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
24763	for k, v := range c.header_ {
24764		reqHeaders[k] = v
24765	}
24766	reqHeaders.Set("User-Agent", c.s.userAgent())
24767	var body io.Reader = nil
24768	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchinsertrequest)
24769	if err != nil {
24770		return nil, err
24771	}
24772	reqHeaders.Set("Content-Type", "application/json")
24773	c.urlParams_.Set("alt", alt)
24774	c.urlParams_.Set("prettyPrint", "false")
24775	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchinsert")
24776	urls += "?" + c.urlParams_.Encode()
24777	req, err := http.NewRequest("POST", urls, body)
24778	if err != nil {
24779		return nil, err
24780	}
24781	req.Header = reqHeaders
24782	googleapi.Expand(req.URL, map[string]string{
24783		"profileId": strconv.FormatInt(c.profileId, 10),
24784	})
24785	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24786}
24787
24788// Do executes the "dfareporting.conversions.batchinsert" call.
24789// Exactly one of *ConversionsBatchInsertResponse or error will be
24790// non-nil. Any non-2xx status code is an error. Response headers are in
24791// either *ConversionsBatchInsertResponse.ServerResponse.Header or (if a
24792// response was returned at all) in error.(*googleapi.Error).Header. Use
24793// googleapi.IsNotModified to check whether the returned error was
24794// because http.StatusNotModified was returned.
24795func (c *ConversionsBatchinsertCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchInsertResponse, error) {
24796	gensupport.SetOptions(c.urlParams_, opts...)
24797	res, err := c.doRequest("json")
24798	if res != nil && res.StatusCode == http.StatusNotModified {
24799		if res.Body != nil {
24800			res.Body.Close()
24801		}
24802		return nil, &googleapi.Error{
24803			Code:   res.StatusCode,
24804			Header: res.Header,
24805		}
24806	}
24807	if err != nil {
24808		return nil, err
24809	}
24810	defer googleapi.CloseBody(res)
24811	if err := googleapi.CheckResponse(res); err != nil {
24812		return nil, err
24813	}
24814	ret := &ConversionsBatchInsertResponse{
24815		ServerResponse: googleapi.ServerResponse{
24816			Header:         res.Header,
24817			HTTPStatusCode: res.StatusCode,
24818		},
24819	}
24820	target := &ret
24821	if err := gensupport.DecodeResponse(target, res); err != nil {
24822		return nil, err
24823	}
24824	return ret, nil
24825	// {
24826	//   "description": "Inserts conversions.",
24827	//   "httpMethod": "POST",
24828	//   "id": "dfareporting.conversions.batchinsert",
24829	//   "parameterOrder": [
24830	//     "profileId"
24831	//   ],
24832	//   "parameters": {
24833	//     "profileId": {
24834	//       "description": "User profile ID associated with this request.",
24835	//       "format": "int64",
24836	//       "location": "path",
24837	//       "required": true,
24838	//       "type": "string"
24839	//     }
24840	//   },
24841	//   "path": "userprofiles/{profileId}/conversions/batchinsert",
24842	//   "request": {
24843	//     "$ref": "ConversionsBatchInsertRequest"
24844	//   },
24845	//   "response": {
24846	//     "$ref": "ConversionsBatchInsertResponse"
24847	//   },
24848	//   "scopes": [
24849	//     "https://www.googleapis.com/auth/ddmconversions"
24850	//   ]
24851	// }
24852
24853}
24854
24855// method id "dfareporting.conversions.batchupdate":
24856
24857type ConversionsBatchupdateCall struct {
24858	s                             *Service
24859	profileId                     int64
24860	conversionsbatchupdaterequest *ConversionsBatchUpdateRequest
24861	urlParams_                    gensupport.URLParams
24862	ctx_                          context.Context
24863	header_                       http.Header
24864}
24865
24866// Batchupdate: Updates existing conversions.
24867func (r *ConversionsService) Batchupdate(profileId int64, conversionsbatchupdaterequest *ConversionsBatchUpdateRequest) *ConversionsBatchupdateCall {
24868	c := &ConversionsBatchupdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24869	c.profileId = profileId
24870	c.conversionsbatchupdaterequest = conversionsbatchupdaterequest
24871	return c
24872}
24873
24874// Fields allows partial responses to be retrieved. See
24875// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24876// for more information.
24877func (c *ConversionsBatchupdateCall) Fields(s ...googleapi.Field) *ConversionsBatchupdateCall {
24878	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24879	return c
24880}
24881
24882// Context sets the context to be used in this call's Do method. Any
24883// pending HTTP request will be aborted if the provided context is
24884// canceled.
24885func (c *ConversionsBatchupdateCall) Context(ctx context.Context) *ConversionsBatchupdateCall {
24886	c.ctx_ = ctx
24887	return c
24888}
24889
24890// Header returns an http.Header that can be modified by the caller to
24891// add HTTP headers to the request.
24892func (c *ConversionsBatchupdateCall) Header() http.Header {
24893	if c.header_ == nil {
24894		c.header_ = make(http.Header)
24895	}
24896	return c.header_
24897}
24898
24899func (c *ConversionsBatchupdateCall) doRequest(alt string) (*http.Response, error) {
24900	reqHeaders := make(http.Header)
24901	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
24902	for k, v := range c.header_ {
24903		reqHeaders[k] = v
24904	}
24905	reqHeaders.Set("User-Agent", c.s.userAgent())
24906	var body io.Reader = nil
24907	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchupdaterequest)
24908	if err != nil {
24909		return nil, err
24910	}
24911	reqHeaders.Set("Content-Type", "application/json")
24912	c.urlParams_.Set("alt", alt)
24913	c.urlParams_.Set("prettyPrint", "false")
24914	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchupdate")
24915	urls += "?" + c.urlParams_.Encode()
24916	req, err := http.NewRequest("POST", urls, body)
24917	if err != nil {
24918		return nil, err
24919	}
24920	req.Header = reqHeaders
24921	googleapi.Expand(req.URL, map[string]string{
24922		"profileId": strconv.FormatInt(c.profileId, 10),
24923	})
24924	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24925}
24926
24927// Do executes the "dfareporting.conversions.batchupdate" call.
24928// Exactly one of *ConversionsBatchUpdateResponse or error will be
24929// non-nil. Any non-2xx status code is an error. Response headers are in
24930// either *ConversionsBatchUpdateResponse.ServerResponse.Header or (if a
24931// response was returned at all) in error.(*googleapi.Error).Header. Use
24932// googleapi.IsNotModified to check whether the returned error was
24933// because http.StatusNotModified was returned.
24934func (c *ConversionsBatchupdateCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchUpdateResponse, error) {
24935	gensupport.SetOptions(c.urlParams_, opts...)
24936	res, err := c.doRequest("json")
24937	if res != nil && res.StatusCode == http.StatusNotModified {
24938		if res.Body != nil {
24939			res.Body.Close()
24940		}
24941		return nil, &googleapi.Error{
24942			Code:   res.StatusCode,
24943			Header: res.Header,
24944		}
24945	}
24946	if err != nil {
24947		return nil, err
24948	}
24949	defer googleapi.CloseBody(res)
24950	if err := googleapi.CheckResponse(res); err != nil {
24951		return nil, err
24952	}
24953	ret := &ConversionsBatchUpdateResponse{
24954		ServerResponse: googleapi.ServerResponse{
24955			Header:         res.Header,
24956			HTTPStatusCode: res.StatusCode,
24957		},
24958	}
24959	target := &ret
24960	if err := gensupport.DecodeResponse(target, res); err != nil {
24961		return nil, err
24962	}
24963	return ret, nil
24964	// {
24965	//   "description": "Updates existing conversions.",
24966	//   "httpMethod": "POST",
24967	//   "id": "dfareporting.conversions.batchupdate",
24968	//   "parameterOrder": [
24969	//     "profileId"
24970	//   ],
24971	//   "parameters": {
24972	//     "profileId": {
24973	//       "description": "User profile ID associated with this request.",
24974	//       "format": "int64",
24975	//       "location": "path",
24976	//       "required": true,
24977	//       "type": "string"
24978	//     }
24979	//   },
24980	//   "path": "userprofiles/{profileId}/conversions/batchupdate",
24981	//   "request": {
24982	//     "$ref": "ConversionsBatchUpdateRequest"
24983	//   },
24984	//   "response": {
24985	//     "$ref": "ConversionsBatchUpdateResponse"
24986	//   },
24987	//   "scopes": [
24988	//     "https://www.googleapis.com/auth/ddmconversions"
24989	//   ]
24990	// }
24991
24992}
24993
24994// method id "dfareporting.countries.get":
24995
24996type CountriesGetCall struct {
24997	s            *Service
24998	profileId    int64
24999	dartId       int64
25000	urlParams_   gensupport.URLParams
25001	ifNoneMatch_ string
25002	ctx_         context.Context
25003	header_      http.Header
25004}
25005
25006// Get: Gets one country by ID.
25007func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
25008	c := &CountriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25009	c.profileId = profileId
25010	c.dartId = dartId
25011	return c
25012}
25013
25014// Fields allows partial responses to be retrieved. See
25015// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25016// for more information.
25017func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
25018	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25019	return c
25020}
25021
25022// IfNoneMatch sets the optional parameter which makes the operation
25023// fail if the object's ETag matches the given value. This is useful for
25024// getting updates only after the object has changed since the last
25025// request. Use googleapi.IsNotModified to check whether the response
25026// error from Do is the result of In-None-Match.
25027func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
25028	c.ifNoneMatch_ = entityTag
25029	return c
25030}
25031
25032// Context sets the context to be used in this call's Do method. Any
25033// pending HTTP request will be aborted if the provided context is
25034// canceled.
25035func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
25036	c.ctx_ = ctx
25037	return c
25038}
25039
25040// Header returns an http.Header that can be modified by the caller to
25041// add HTTP headers to the request.
25042func (c *CountriesGetCall) Header() http.Header {
25043	if c.header_ == nil {
25044		c.header_ = make(http.Header)
25045	}
25046	return c.header_
25047}
25048
25049func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
25050	reqHeaders := make(http.Header)
25051	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
25052	for k, v := range c.header_ {
25053		reqHeaders[k] = v
25054	}
25055	reqHeaders.Set("User-Agent", c.s.userAgent())
25056	if c.ifNoneMatch_ != "" {
25057		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25058	}
25059	var body io.Reader = nil
25060	c.urlParams_.Set("alt", alt)
25061	c.urlParams_.Set("prettyPrint", "false")
25062	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
25063	urls += "?" + c.urlParams_.Encode()
25064	req, err := http.NewRequest("GET", urls, body)
25065	if err != nil {
25066		return nil, err
25067	}
25068	req.Header = reqHeaders
25069	googleapi.Expand(req.URL, map[string]string{
25070		"profileId": strconv.FormatInt(c.profileId, 10),
25071		"dartId":    strconv.FormatInt(c.dartId, 10),
25072	})
25073	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25074}
25075
25076// Do executes the "dfareporting.countries.get" call.
25077// Exactly one of *Country or error will be non-nil. Any non-2xx status
25078// code is an error. Response headers are in either
25079// *Country.ServerResponse.Header or (if a response was returned at all)
25080// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
25081// check whether the returned error was because http.StatusNotModified
25082// was returned.
25083func (c *CountriesGetCall) Do(opts ...googleapi.CallOption) (*Country, error) {
25084	gensupport.SetOptions(c.urlParams_, opts...)
25085	res, err := c.doRequest("json")
25086	if res != nil && res.StatusCode == http.StatusNotModified {
25087		if res.Body != nil {
25088			res.Body.Close()
25089		}
25090		return nil, &googleapi.Error{
25091			Code:   res.StatusCode,
25092			Header: res.Header,
25093		}
25094	}
25095	if err != nil {
25096		return nil, err
25097	}
25098	defer googleapi.CloseBody(res)
25099	if err := googleapi.CheckResponse(res); err != nil {
25100		return nil, err
25101	}
25102	ret := &Country{
25103		ServerResponse: googleapi.ServerResponse{
25104			Header:         res.Header,
25105			HTTPStatusCode: res.StatusCode,
25106		},
25107	}
25108	target := &ret
25109	if err := gensupport.DecodeResponse(target, res); err != nil {
25110		return nil, err
25111	}
25112	return ret, nil
25113	// {
25114	//   "description": "Gets one country by ID.",
25115	//   "httpMethod": "GET",
25116	//   "id": "dfareporting.countries.get",
25117	//   "parameterOrder": [
25118	//     "profileId",
25119	//     "dartId"
25120	//   ],
25121	//   "parameters": {
25122	//     "dartId": {
25123	//       "description": "Country DART ID.",
25124	//       "format": "int64",
25125	//       "location": "path",
25126	//       "required": true,
25127	//       "type": "string"
25128	//     },
25129	//     "profileId": {
25130	//       "description": "User profile ID associated with this request.",
25131	//       "format": "int64",
25132	//       "location": "path",
25133	//       "required": true,
25134	//       "type": "string"
25135	//     }
25136	//   },
25137	//   "path": "userprofiles/{profileId}/countries/{dartId}",
25138	//   "response": {
25139	//     "$ref": "Country"
25140	//   },
25141	//   "scopes": [
25142	//     "https://www.googleapis.com/auth/dfatrafficking"
25143	//   ]
25144	// }
25145
25146}
25147
25148// method id "dfareporting.countries.list":
25149
25150type CountriesListCall struct {
25151	s            *Service
25152	profileId    int64
25153	urlParams_   gensupport.URLParams
25154	ifNoneMatch_ string
25155	ctx_         context.Context
25156	header_      http.Header
25157}
25158
25159// List: Retrieves a list of countries.
25160func (r *CountriesService) List(profileId int64) *CountriesListCall {
25161	c := &CountriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25162	c.profileId = profileId
25163	return c
25164}
25165
25166// Fields allows partial responses to be retrieved. See
25167// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25168// for more information.
25169func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
25170	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25171	return c
25172}
25173
25174// IfNoneMatch sets the optional parameter which makes the operation
25175// fail if the object's ETag matches the given value. This is useful for
25176// getting updates only after the object has changed since the last
25177// request. Use googleapi.IsNotModified to check whether the response
25178// error from Do is the result of In-None-Match.
25179func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
25180	c.ifNoneMatch_ = entityTag
25181	return c
25182}
25183
25184// Context sets the context to be used in this call's Do method. Any
25185// pending HTTP request will be aborted if the provided context is
25186// canceled.
25187func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
25188	c.ctx_ = ctx
25189	return c
25190}
25191
25192// Header returns an http.Header that can be modified by the caller to
25193// add HTTP headers to the request.
25194func (c *CountriesListCall) Header() http.Header {
25195	if c.header_ == nil {
25196		c.header_ = make(http.Header)
25197	}
25198	return c.header_
25199}
25200
25201func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
25202	reqHeaders := make(http.Header)
25203	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
25204	for k, v := range c.header_ {
25205		reqHeaders[k] = v
25206	}
25207	reqHeaders.Set("User-Agent", c.s.userAgent())
25208	if c.ifNoneMatch_ != "" {
25209		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25210	}
25211	var body io.Reader = nil
25212	c.urlParams_.Set("alt", alt)
25213	c.urlParams_.Set("prettyPrint", "false")
25214	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
25215	urls += "?" + c.urlParams_.Encode()
25216	req, err := http.NewRequest("GET", urls, body)
25217	if err != nil {
25218		return nil, err
25219	}
25220	req.Header = reqHeaders
25221	googleapi.Expand(req.URL, map[string]string{
25222		"profileId": strconv.FormatInt(c.profileId, 10),
25223	})
25224	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25225}
25226
25227// Do executes the "dfareporting.countries.list" call.
25228// Exactly one of *CountriesListResponse or error will be non-nil. Any
25229// non-2xx status code is an error. Response headers are in either
25230// *CountriesListResponse.ServerResponse.Header or (if a response was
25231// returned at all) in error.(*googleapi.Error).Header. Use
25232// googleapi.IsNotModified to check whether the returned error was
25233// because http.StatusNotModified was returned.
25234func (c *CountriesListCall) Do(opts ...googleapi.CallOption) (*CountriesListResponse, error) {
25235	gensupport.SetOptions(c.urlParams_, opts...)
25236	res, err := c.doRequest("json")
25237	if res != nil && res.StatusCode == http.StatusNotModified {
25238		if res.Body != nil {
25239			res.Body.Close()
25240		}
25241		return nil, &googleapi.Error{
25242			Code:   res.StatusCode,
25243			Header: res.Header,
25244		}
25245	}
25246	if err != nil {
25247		return nil, err
25248	}
25249	defer googleapi.CloseBody(res)
25250	if err := googleapi.CheckResponse(res); err != nil {
25251		return nil, err
25252	}
25253	ret := &CountriesListResponse{
25254		ServerResponse: googleapi.ServerResponse{
25255			Header:         res.Header,
25256			HTTPStatusCode: res.StatusCode,
25257		},
25258	}
25259	target := &ret
25260	if err := gensupport.DecodeResponse(target, res); err != nil {
25261		return nil, err
25262	}
25263	return ret, nil
25264	// {
25265	//   "description": "Retrieves a list of countries.",
25266	//   "httpMethod": "GET",
25267	//   "id": "dfareporting.countries.list",
25268	//   "parameterOrder": [
25269	//     "profileId"
25270	//   ],
25271	//   "parameters": {
25272	//     "profileId": {
25273	//       "description": "User profile ID associated with this request.",
25274	//       "format": "int64",
25275	//       "location": "path",
25276	//       "required": true,
25277	//       "type": "string"
25278	//     }
25279	//   },
25280	//   "path": "userprofiles/{profileId}/countries",
25281	//   "response": {
25282	//     "$ref": "CountriesListResponse"
25283	//   },
25284	//   "scopes": [
25285	//     "https://www.googleapis.com/auth/dfatrafficking"
25286	//   ]
25287	// }
25288
25289}
25290
25291// method id "dfareporting.creativeAssets.insert":
25292
25293type CreativeAssetsInsertCall struct {
25294	s                     *Service
25295	profileId             int64
25296	advertiserId          int64
25297	creativeassetmetadata *CreativeAssetMetadata
25298	urlParams_            gensupport.URLParams
25299	mediaInfo_            *gensupport.MediaInfo
25300	ctx_                  context.Context
25301	header_               http.Header
25302}
25303
25304// Insert: Inserts a new creative asset.
25305func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
25306	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25307	c.profileId = profileId
25308	c.advertiserId = advertiserId
25309	c.creativeassetmetadata = creativeassetmetadata
25310	return c
25311}
25312
25313// Media specifies the media to upload in one or more chunks. The chunk
25314// size may be controlled by supplying a MediaOption generated by
25315// googleapi.ChunkSize. The chunk size defaults to
25316// googleapi.DefaultUploadChunkSize.The Content-Type header used in the
25317// upload request will be determined by sniffing the contents of r,
25318// unless a MediaOption generated by googleapi.ContentType is
25319// supplied.
25320// At most one of Media and ResumableMedia may be set.
25321func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall {
25322	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
25323	return c
25324}
25325
25326// ResumableMedia specifies the media to upload in chunks and can be
25327// canceled with ctx.
25328//
25329// Deprecated: use Media instead.
25330//
25331// At most one of Media and ResumableMedia may be set. mediaType
25332// identifies the MIME media type of the upload, such as "image/png". If
25333// mediaType is "", it will be auto-detected. The provided ctx will
25334// supersede any context previously provided to the Context method.
25335func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
25336	c.ctx_ = ctx
25337	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
25338	return c
25339}
25340
25341// ProgressUpdater provides a callback function that will be called
25342// after every chunk. It should be a low-latency function in order to
25343// not slow down the upload operation. This should only be called when
25344// using ResumableMedia (as opposed to Media).
25345func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
25346	c.mediaInfo_.SetProgressUpdater(pu)
25347	return c
25348}
25349
25350// Fields allows partial responses to be retrieved. See
25351// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25352// for more information.
25353func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
25354	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25355	return c
25356}
25357
25358// Context sets the context to be used in this call's Do method. Any
25359// pending HTTP request will be aborted if the provided context is
25360// canceled.
25361// This context will supersede any context previously provided to the
25362// ResumableMedia method.
25363func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
25364	c.ctx_ = ctx
25365	return c
25366}
25367
25368// Header returns an http.Header that can be modified by the caller to
25369// add HTTP headers to the request.
25370func (c *CreativeAssetsInsertCall) Header() http.Header {
25371	if c.header_ == nil {
25372		c.header_ = make(http.Header)
25373	}
25374	return c.header_
25375}
25376
25377func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
25378	reqHeaders := make(http.Header)
25379	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
25380	for k, v := range c.header_ {
25381		reqHeaders[k] = v
25382	}
25383	reqHeaders.Set("User-Agent", c.s.userAgent())
25384	var body io.Reader = nil
25385	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativeassetmetadata)
25386	if err != nil {
25387		return nil, err
25388	}
25389	reqHeaders.Set("Content-Type", "application/json")
25390	c.urlParams_.Set("alt", alt)
25391	c.urlParams_.Set("prettyPrint", "false")
25392	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
25393	if c.mediaInfo_ != nil {
25394		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/dfareporting/v3.4/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
25395		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
25396	}
25397	if body == nil {
25398		body = new(bytes.Buffer)
25399		reqHeaders.Set("Content-Type", "application/json")
25400	}
25401	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
25402	defer cleanup()
25403	urls += "?" + c.urlParams_.Encode()
25404	req, err := http.NewRequest("POST", urls, body)
25405	if err != nil {
25406		return nil, err
25407	}
25408	req.Header = reqHeaders
25409	req.GetBody = getBody
25410	googleapi.Expand(req.URL, map[string]string{
25411		"profileId":    strconv.FormatInt(c.profileId, 10),
25412		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
25413	})
25414	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25415}
25416
25417// Do executes the "dfareporting.creativeAssets.insert" call.
25418// Exactly one of *CreativeAssetMetadata or error will be non-nil. Any
25419// non-2xx status code is an error. Response headers are in either
25420// *CreativeAssetMetadata.ServerResponse.Header or (if a response was
25421// returned at all) in error.(*googleapi.Error).Header. Use
25422// googleapi.IsNotModified to check whether the returned error was
25423// because http.StatusNotModified was returned.
25424func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAssetMetadata, error) {
25425	gensupport.SetOptions(c.urlParams_, opts...)
25426	res, err := c.doRequest("json")
25427	if res != nil && res.StatusCode == http.StatusNotModified {
25428		if res.Body != nil {
25429			res.Body.Close()
25430		}
25431		return nil, &googleapi.Error{
25432			Code:   res.StatusCode,
25433			Header: res.Header,
25434		}
25435	}
25436	if err != nil {
25437		return nil, err
25438	}
25439	defer googleapi.CloseBody(res)
25440	if err := googleapi.CheckResponse(res); err != nil {
25441		return nil, err
25442	}
25443	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
25444	if rx != nil {
25445		rx.Client = c.s.client
25446		rx.UserAgent = c.s.userAgent()
25447		ctx := c.ctx_
25448		if ctx == nil {
25449			ctx = context.TODO()
25450		}
25451		res, err = rx.Upload(ctx)
25452		if err != nil {
25453			return nil, err
25454		}
25455		defer res.Body.Close()
25456		if err := googleapi.CheckResponse(res); err != nil {
25457			return nil, err
25458		}
25459	}
25460	ret := &CreativeAssetMetadata{
25461		ServerResponse: googleapi.ServerResponse{
25462			Header:         res.Header,
25463			HTTPStatusCode: res.StatusCode,
25464		},
25465	}
25466	target := &ret
25467	if err := gensupport.DecodeResponse(target, res); err != nil {
25468		return nil, err
25469	}
25470	return ret, nil
25471	// {
25472	//   "description": "Inserts a new creative asset.",
25473	//   "httpMethod": "POST",
25474	//   "id": "dfareporting.creativeAssets.insert",
25475	//   "mediaUpload": {
25476	//     "accept": [
25477	//       "*/*"
25478	//     ],
25479	//     "maxSize": "1024MB",
25480	//     "protocols": {
25481	//       "resumable": {
25482	//         "multipart": true,
25483	//         "path": "/resumable/upload/dfareporting/v3.4/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
25484	//       },
25485	//       "simple": {
25486	//         "multipart": true,
25487	//         "path": "/upload/dfareporting/v3.4/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
25488	//       }
25489	//     }
25490	//   },
25491	//   "parameterOrder": [
25492	//     "profileId",
25493	//     "advertiserId"
25494	//   ],
25495	//   "parameters": {
25496	//     "advertiserId": {
25497	//       "description": "Advertiser ID of this creative. This is a required field.",
25498	//       "format": "int64",
25499	//       "location": "path",
25500	//       "required": true,
25501	//       "type": "string"
25502	//     },
25503	//     "profileId": {
25504	//       "description": "User profile ID associated with this request.",
25505	//       "format": "int64",
25506	//       "location": "path",
25507	//       "required": true,
25508	//       "type": "string"
25509	//     }
25510	//   },
25511	//   "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
25512	//   "request": {
25513	//     "$ref": "CreativeAssetMetadata"
25514	//   },
25515	//   "response": {
25516	//     "$ref": "CreativeAssetMetadata"
25517	//   },
25518	//   "scopes": [
25519	//     "https://www.googleapis.com/auth/dfatrafficking"
25520	//   ],
25521	//   "supportsMediaUpload": true
25522	// }
25523
25524}
25525
25526// method id "dfareporting.creativeFieldValues.delete":
25527
25528type CreativeFieldValuesDeleteCall struct {
25529	s               *Service
25530	profileId       int64
25531	creativeFieldId int64
25532	id              int64
25533	urlParams_      gensupport.URLParams
25534	ctx_            context.Context
25535	header_         http.Header
25536}
25537
25538// Delete: Deletes an existing creative field value.
25539func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
25540	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25541	c.profileId = profileId
25542	c.creativeFieldId = creativeFieldId
25543	c.id = id
25544	return c
25545}
25546
25547// Fields allows partial responses to be retrieved. See
25548// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25549// for more information.
25550func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
25551	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25552	return c
25553}
25554
25555// Context sets the context to be used in this call's Do method. Any
25556// pending HTTP request will be aborted if the provided context is
25557// canceled.
25558func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
25559	c.ctx_ = ctx
25560	return c
25561}
25562
25563// Header returns an http.Header that can be modified by the caller to
25564// add HTTP headers to the request.
25565func (c *CreativeFieldValuesDeleteCall) Header() http.Header {
25566	if c.header_ == nil {
25567		c.header_ = make(http.Header)
25568	}
25569	return c.header_
25570}
25571
25572func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
25573	reqHeaders := make(http.Header)
25574	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
25575	for k, v := range c.header_ {
25576		reqHeaders[k] = v
25577	}
25578	reqHeaders.Set("User-Agent", c.s.userAgent())
25579	var body io.Reader = nil
25580	c.urlParams_.Set("alt", alt)
25581	c.urlParams_.Set("prettyPrint", "false")
25582	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
25583	urls += "?" + c.urlParams_.Encode()
25584	req, err := http.NewRequest("DELETE", urls, body)
25585	if err != nil {
25586		return nil, err
25587	}
25588	req.Header = reqHeaders
25589	googleapi.Expand(req.URL, map[string]string{
25590		"profileId":       strconv.FormatInt(c.profileId, 10),
25591		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25592		"id":              strconv.FormatInt(c.id, 10),
25593	})
25594	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25595}
25596
25597// Do executes the "dfareporting.creativeFieldValues.delete" call.
25598func (c *CreativeFieldValuesDeleteCall) Do(opts ...googleapi.CallOption) error {
25599	gensupport.SetOptions(c.urlParams_, opts...)
25600	res, err := c.doRequest("json")
25601	if err != nil {
25602		return err
25603	}
25604	defer googleapi.CloseBody(res)
25605	if err := googleapi.CheckResponse(res); err != nil {
25606		return err
25607	}
25608	return nil
25609	// {
25610	//   "description": "Deletes an existing creative field value.",
25611	//   "httpMethod": "DELETE",
25612	//   "id": "dfareporting.creativeFieldValues.delete",
25613	//   "parameterOrder": [
25614	//     "profileId",
25615	//     "creativeFieldId",
25616	//     "id"
25617	//   ],
25618	//   "parameters": {
25619	//     "creativeFieldId": {
25620	//       "description": "Creative field ID for this creative field value.",
25621	//       "format": "int64",
25622	//       "location": "path",
25623	//       "required": true,
25624	//       "type": "string"
25625	//     },
25626	//     "id": {
25627	//       "description": "Creative Field Value ID",
25628	//       "format": "int64",
25629	//       "location": "path",
25630	//       "required": true,
25631	//       "type": "string"
25632	//     },
25633	//     "profileId": {
25634	//       "description": "User profile ID associated with this request.",
25635	//       "format": "int64",
25636	//       "location": "path",
25637	//       "required": true,
25638	//       "type": "string"
25639	//     }
25640	//   },
25641	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25642	//   "scopes": [
25643	//     "https://www.googleapis.com/auth/dfatrafficking"
25644	//   ]
25645	// }
25646
25647}
25648
25649// method id "dfareporting.creativeFieldValues.get":
25650
25651type CreativeFieldValuesGetCall struct {
25652	s               *Service
25653	profileId       int64
25654	creativeFieldId int64
25655	id              int64
25656	urlParams_      gensupport.URLParams
25657	ifNoneMatch_    string
25658	ctx_            context.Context
25659	header_         http.Header
25660}
25661
25662// Get: Gets one creative field value by ID.
25663func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
25664	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25665	c.profileId = profileId
25666	c.creativeFieldId = creativeFieldId
25667	c.id = id
25668	return c
25669}
25670
25671// Fields allows partial responses to be retrieved. See
25672// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25673// for more information.
25674func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
25675	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25676	return c
25677}
25678
25679// IfNoneMatch sets the optional parameter which makes the operation
25680// fail if the object's ETag matches the given value. This is useful for
25681// getting updates only after the object has changed since the last
25682// request. Use googleapi.IsNotModified to check whether the response
25683// error from Do is the result of In-None-Match.
25684func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
25685	c.ifNoneMatch_ = entityTag
25686	return c
25687}
25688
25689// Context sets the context to be used in this call's Do method. Any
25690// pending HTTP request will be aborted if the provided context is
25691// canceled.
25692func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
25693	c.ctx_ = ctx
25694	return c
25695}
25696
25697// Header returns an http.Header that can be modified by the caller to
25698// add HTTP headers to the request.
25699func (c *CreativeFieldValuesGetCall) Header() http.Header {
25700	if c.header_ == nil {
25701		c.header_ = make(http.Header)
25702	}
25703	return c.header_
25704}
25705
25706func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
25707	reqHeaders := make(http.Header)
25708	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
25709	for k, v := range c.header_ {
25710		reqHeaders[k] = v
25711	}
25712	reqHeaders.Set("User-Agent", c.s.userAgent())
25713	if c.ifNoneMatch_ != "" {
25714		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25715	}
25716	var body io.Reader = nil
25717	c.urlParams_.Set("alt", alt)
25718	c.urlParams_.Set("prettyPrint", "false")
25719	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
25720	urls += "?" + c.urlParams_.Encode()
25721	req, err := http.NewRequest("GET", urls, body)
25722	if err != nil {
25723		return nil, err
25724	}
25725	req.Header = reqHeaders
25726	googleapi.Expand(req.URL, map[string]string{
25727		"profileId":       strconv.FormatInt(c.profileId, 10),
25728		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25729		"id":              strconv.FormatInt(c.id, 10),
25730	})
25731	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25732}
25733
25734// Do executes the "dfareporting.creativeFieldValues.get" call.
25735// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25736// non-2xx status code is an error. Response headers are in either
25737// *CreativeFieldValue.ServerResponse.Header or (if a response was
25738// returned at all) in error.(*googleapi.Error).Header. Use
25739// googleapi.IsNotModified to check whether the returned error was
25740// because http.StatusNotModified was returned.
25741func (c *CreativeFieldValuesGetCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25742	gensupport.SetOptions(c.urlParams_, opts...)
25743	res, err := c.doRequest("json")
25744	if res != nil && res.StatusCode == http.StatusNotModified {
25745		if res.Body != nil {
25746			res.Body.Close()
25747		}
25748		return nil, &googleapi.Error{
25749			Code:   res.StatusCode,
25750			Header: res.Header,
25751		}
25752	}
25753	if err != nil {
25754		return nil, err
25755	}
25756	defer googleapi.CloseBody(res)
25757	if err := googleapi.CheckResponse(res); err != nil {
25758		return nil, err
25759	}
25760	ret := &CreativeFieldValue{
25761		ServerResponse: googleapi.ServerResponse{
25762			Header:         res.Header,
25763			HTTPStatusCode: res.StatusCode,
25764		},
25765	}
25766	target := &ret
25767	if err := gensupport.DecodeResponse(target, res); err != nil {
25768		return nil, err
25769	}
25770	return ret, nil
25771	// {
25772	//   "description": "Gets one creative field value by ID.",
25773	//   "httpMethod": "GET",
25774	//   "id": "dfareporting.creativeFieldValues.get",
25775	//   "parameterOrder": [
25776	//     "profileId",
25777	//     "creativeFieldId",
25778	//     "id"
25779	//   ],
25780	//   "parameters": {
25781	//     "creativeFieldId": {
25782	//       "description": "Creative field ID for this creative field value.",
25783	//       "format": "int64",
25784	//       "location": "path",
25785	//       "required": true,
25786	//       "type": "string"
25787	//     },
25788	//     "id": {
25789	//       "description": "Creative Field Value ID",
25790	//       "format": "int64",
25791	//       "location": "path",
25792	//       "required": true,
25793	//       "type": "string"
25794	//     },
25795	//     "profileId": {
25796	//       "description": "User profile ID associated with this request.",
25797	//       "format": "int64",
25798	//       "location": "path",
25799	//       "required": true,
25800	//       "type": "string"
25801	//     }
25802	//   },
25803	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
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.insert":
25815
25816type CreativeFieldValuesInsertCall 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// Insert: Inserts a new creative field value.
25827func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
25828	c := &CreativeFieldValuesInsertCall{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 *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
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 *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
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 *CreativeFieldValuesInsertCall) Header() http.Header {
25854	if c.header_ == nil {
25855		c.header_ = make(http.Header)
25856	}
25857	return c.header_
25858}
25859
25860func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
25861	reqHeaders := make(http.Header)
25862	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
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("POST", 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.insert" 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 *CreativeFieldValuesInsertCall) 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": "Inserts a new creative field value.",
25928	//   "httpMethod": "POST",
25929	//   "id": "dfareporting.creativeFieldValues.insert",
25930	//   "parameterOrder": [
25931	//     "profileId",
25932	//     "creativeFieldId"
25933	//   ],
25934	//   "parameters": {
25935	//     "creativeFieldId": {
25936	//       "description": "Creative field ID for this creative field value.",
25937	//       "format": "int64",
25938	//       "location": "path",
25939	//       "required": true,
25940	//       "type": "string"
25941	//     },
25942	//     "profileId": {
25943	//       "description": "User profile ID associated with this request.",
25944	//       "format": "int64",
25945	//       "location": "path",
25946	//       "required": true,
25947	//       "type": "string"
25948	//     }
25949	//   },
25950	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25951	//   "request": {
25952	//     "$ref": "CreativeFieldValue"
25953	//   },
25954	//   "response": {
25955	//     "$ref": "CreativeFieldValue"
25956	//   },
25957	//   "scopes": [
25958	//     "https://www.googleapis.com/auth/dfatrafficking"
25959	//   ]
25960	// }
25961
25962}
25963
25964// method id "dfareporting.creativeFieldValues.list":
25965
25966type CreativeFieldValuesListCall struct {
25967	s               *Service
25968	profileId       int64
25969	creativeFieldId int64
25970	urlParams_      gensupport.URLParams
25971	ifNoneMatch_    string
25972	ctx_            context.Context
25973	header_         http.Header
25974}
25975
25976// List: Retrieves a list of creative field values, possibly filtered.
25977// This method supports paging.
25978func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
25979	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25980	c.profileId = profileId
25981	c.creativeFieldId = creativeFieldId
25982	return c
25983}
25984
25985// Ids sets the optional parameter "ids": Select only creative field
25986// values with these IDs.
25987func (c *CreativeFieldValuesListCall) Ids(ids ...int64) *CreativeFieldValuesListCall {
25988	var ids_ []string
25989	for _, v := range ids {
25990		ids_ = append(ids_, fmt.Sprint(v))
25991	}
25992	c.urlParams_.SetMulti("ids", ids_)
25993	return c
25994}
25995
25996// MaxResults sets the optional parameter "maxResults": Maximum number
25997// of results to return.
25998func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
25999	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
26000	return c
26001}
26002
26003// PageToken sets the optional parameter "pageToken": Value of the
26004// nextPageToken from the previous result page.
26005func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
26006	c.urlParams_.Set("pageToken", pageToken)
26007	return c
26008}
26009
26010// SearchString sets the optional parameter "searchString": Allows
26011// searching for creative field values by their values. Wildcards (e.g.
26012// *) are not allowed.
26013func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
26014	c.urlParams_.Set("searchString", searchString)
26015	return c
26016}
26017
26018// SortField sets the optional parameter "sortField": Field by which to
26019// sort the list.
26020//
26021// Possible values:
26022//   "ID" (default)
26023//   "VALUE"
26024func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
26025	c.urlParams_.Set("sortField", sortField)
26026	return c
26027}
26028
26029// SortOrder sets the optional parameter "sortOrder": Order of sorted
26030// results.
26031//
26032// Possible values:
26033//   "ASCENDING" (default)
26034//   "DESCENDING"
26035func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
26036	c.urlParams_.Set("sortOrder", sortOrder)
26037	return c
26038}
26039
26040// Fields allows partial responses to be retrieved. See
26041// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26042// for more information.
26043func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
26044	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26045	return c
26046}
26047
26048// IfNoneMatch sets the optional parameter which makes the operation
26049// fail if the object's ETag matches the given value. This is useful for
26050// getting updates only after the object has changed since the last
26051// request. Use googleapi.IsNotModified to check whether the response
26052// error from Do is the result of In-None-Match.
26053func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
26054	c.ifNoneMatch_ = entityTag
26055	return c
26056}
26057
26058// Context sets the context to be used in this call's Do method. Any
26059// pending HTTP request will be aborted if the provided context is
26060// canceled.
26061func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
26062	c.ctx_ = ctx
26063	return c
26064}
26065
26066// Header returns an http.Header that can be modified by the caller to
26067// add HTTP headers to the request.
26068func (c *CreativeFieldValuesListCall) Header() http.Header {
26069	if c.header_ == nil {
26070		c.header_ = make(http.Header)
26071	}
26072	return c.header_
26073}
26074
26075func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
26076	reqHeaders := make(http.Header)
26077	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
26078	for k, v := range c.header_ {
26079		reqHeaders[k] = v
26080	}
26081	reqHeaders.Set("User-Agent", c.s.userAgent())
26082	if c.ifNoneMatch_ != "" {
26083		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26084	}
26085	var body io.Reader = nil
26086	c.urlParams_.Set("alt", alt)
26087	c.urlParams_.Set("prettyPrint", "false")
26088	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
26089	urls += "?" + c.urlParams_.Encode()
26090	req, err := http.NewRequest("GET", urls, body)
26091	if err != nil {
26092		return nil, err
26093	}
26094	req.Header = reqHeaders
26095	googleapi.Expand(req.URL, map[string]string{
26096		"profileId":       strconv.FormatInt(c.profileId, 10),
26097		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
26098	})
26099	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26100}
26101
26102// Do executes the "dfareporting.creativeFieldValues.list" call.
26103// Exactly one of *CreativeFieldValuesListResponse or error will be
26104// non-nil. Any non-2xx status code is an error. Response headers are in
26105// either *CreativeFieldValuesListResponse.ServerResponse.Header or (if
26106// a response was returned at all) in error.(*googleapi.Error).Header.
26107// Use googleapi.IsNotModified to check whether the returned error was
26108// because http.StatusNotModified was returned.
26109func (c *CreativeFieldValuesListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValuesListResponse, error) {
26110	gensupport.SetOptions(c.urlParams_, opts...)
26111	res, err := c.doRequest("json")
26112	if res != nil && res.StatusCode == http.StatusNotModified {
26113		if res.Body != nil {
26114			res.Body.Close()
26115		}
26116		return nil, &googleapi.Error{
26117			Code:   res.StatusCode,
26118			Header: res.Header,
26119		}
26120	}
26121	if err != nil {
26122		return nil, err
26123	}
26124	defer googleapi.CloseBody(res)
26125	if err := googleapi.CheckResponse(res); err != nil {
26126		return nil, err
26127	}
26128	ret := &CreativeFieldValuesListResponse{
26129		ServerResponse: googleapi.ServerResponse{
26130			Header:         res.Header,
26131			HTTPStatusCode: res.StatusCode,
26132		},
26133	}
26134	target := &ret
26135	if err := gensupport.DecodeResponse(target, res); err != nil {
26136		return nil, err
26137	}
26138	return ret, nil
26139	// {
26140	//   "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
26141	//   "httpMethod": "GET",
26142	//   "id": "dfareporting.creativeFieldValues.list",
26143	//   "parameterOrder": [
26144	//     "profileId",
26145	//     "creativeFieldId"
26146	//   ],
26147	//   "parameters": {
26148	//     "creativeFieldId": {
26149	//       "description": "Creative field ID for this creative field value.",
26150	//       "format": "int64",
26151	//       "location": "path",
26152	//       "required": true,
26153	//       "type": "string"
26154	//     },
26155	//     "ids": {
26156	//       "description": "Select only creative field values with these IDs.",
26157	//       "format": "int64",
26158	//       "location": "query",
26159	//       "repeated": true,
26160	//       "type": "string"
26161	//     },
26162	//     "maxResults": {
26163	//       "default": "1000",
26164	//       "description": "Maximum number of results to return.",
26165	//       "format": "int32",
26166	//       "location": "query",
26167	//       "maximum": "1000",
26168	//       "minimum": "0",
26169	//       "type": "integer"
26170	//     },
26171	//     "pageToken": {
26172	//       "description": "Value of the nextPageToken from the previous result page.",
26173	//       "location": "query",
26174	//       "type": "string"
26175	//     },
26176	//     "profileId": {
26177	//       "description": "User profile ID associated with this request.",
26178	//       "format": "int64",
26179	//       "location": "path",
26180	//       "required": true,
26181	//       "type": "string"
26182	//     },
26183	//     "searchString": {
26184	//       "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.",
26185	//       "location": "query",
26186	//       "type": "string"
26187	//     },
26188	//     "sortField": {
26189	//       "default": "ID",
26190	//       "description": "Field by which to sort the list.",
26191	//       "enum": [
26192	//         "ID",
26193	//         "VALUE"
26194	//       ],
26195	//       "enumDescriptions": [
26196	//         "",
26197	//         ""
26198	//       ],
26199	//       "location": "query",
26200	//       "type": "string"
26201	//     },
26202	//     "sortOrder": {
26203	//       "default": "ASCENDING",
26204	//       "description": "Order of sorted results.",
26205	//       "enum": [
26206	//         "ASCENDING",
26207	//         "DESCENDING"
26208	//       ],
26209	//       "enumDescriptions": [
26210	//         "",
26211	//         ""
26212	//       ],
26213	//       "location": "query",
26214	//       "type": "string"
26215	//     }
26216	//   },
26217	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
26218	//   "response": {
26219	//     "$ref": "CreativeFieldValuesListResponse"
26220	//   },
26221	//   "scopes": [
26222	//     "https://www.googleapis.com/auth/dfatrafficking"
26223	//   ]
26224	// }
26225
26226}
26227
26228// Pages invokes f for each page of results.
26229// A non-nil error returned from f will halt the iteration.
26230// The provided context supersedes any context provided to the Context method.
26231func (c *CreativeFieldValuesListCall) Pages(ctx context.Context, f func(*CreativeFieldValuesListResponse) error) error {
26232	c.ctx_ = ctx
26233	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26234	for {
26235		x, err := c.Do()
26236		if err != nil {
26237			return err
26238		}
26239		if err := f(x); err != nil {
26240			return err
26241		}
26242		if x.NextPageToken == "" {
26243			return nil
26244		}
26245		c.PageToken(x.NextPageToken)
26246	}
26247}
26248
26249// method id "dfareporting.creativeFieldValues.patch":
26250
26251type CreativeFieldValuesPatchCall struct {
26252	s                  *Service
26253	profileId          int64
26254	creativeFieldId    int64
26255	creativefieldvalue *CreativeFieldValue
26256	urlParams_         gensupport.URLParams
26257	ctx_               context.Context
26258	header_            http.Header
26259}
26260
26261// Patch: Updates an existing creative field value. This method supports
26262// patch semantics.
26263func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
26264	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26265	c.profileId = profileId
26266	c.creativeFieldId = creativeFieldId
26267	c.urlParams_.Set("id", fmt.Sprint(id))
26268	c.creativefieldvalue = creativefieldvalue
26269	return c
26270}
26271
26272// Fields allows partial responses to be retrieved. See
26273// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26274// for more information.
26275func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
26276	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26277	return c
26278}
26279
26280// Context sets the context to be used in this call's Do method. Any
26281// pending HTTP request will be aborted if the provided context is
26282// canceled.
26283func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
26284	c.ctx_ = ctx
26285	return c
26286}
26287
26288// Header returns an http.Header that can be modified by the caller to
26289// add HTTP headers to the request.
26290func (c *CreativeFieldValuesPatchCall) Header() http.Header {
26291	if c.header_ == nil {
26292		c.header_ = make(http.Header)
26293	}
26294	return c.header_
26295}
26296
26297func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
26298	reqHeaders := make(http.Header)
26299	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
26300	for k, v := range c.header_ {
26301		reqHeaders[k] = v
26302	}
26303	reqHeaders.Set("User-Agent", c.s.userAgent())
26304	var body io.Reader = nil
26305	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
26306	if err != nil {
26307		return nil, err
26308	}
26309	reqHeaders.Set("Content-Type", "application/json")
26310	c.urlParams_.Set("alt", alt)
26311	c.urlParams_.Set("prettyPrint", "false")
26312	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
26313	urls += "?" + c.urlParams_.Encode()
26314	req, err := http.NewRequest("PATCH", urls, body)
26315	if err != nil {
26316		return nil, err
26317	}
26318	req.Header = reqHeaders
26319	googleapi.Expand(req.URL, map[string]string{
26320		"profileId":       strconv.FormatInt(c.profileId, 10),
26321		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
26322	})
26323	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26324}
26325
26326// Do executes the "dfareporting.creativeFieldValues.patch" call.
26327// Exactly one of *CreativeFieldValue or error will be non-nil. Any
26328// non-2xx status code is an error. Response headers are in either
26329// *CreativeFieldValue.ServerResponse.Header or (if a response was
26330// returned at all) in error.(*googleapi.Error).Header. Use
26331// googleapi.IsNotModified to check whether the returned error was
26332// because http.StatusNotModified was returned.
26333func (c *CreativeFieldValuesPatchCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
26334	gensupport.SetOptions(c.urlParams_, opts...)
26335	res, err := c.doRequest("json")
26336	if res != nil && res.StatusCode == http.StatusNotModified {
26337		if res.Body != nil {
26338			res.Body.Close()
26339		}
26340		return nil, &googleapi.Error{
26341			Code:   res.StatusCode,
26342			Header: res.Header,
26343		}
26344	}
26345	if err != nil {
26346		return nil, err
26347	}
26348	defer googleapi.CloseBody(res)
26349	if err := googleapi.CheckResponse(res); err != nil {
26350		return nil, err
26351	}
26352	ret := &CreativeFieldValue{
26353		ServerResponse: googleapi.ServerResponse{
26354			Header:         res.Header,
26355			HTTPStatusCode: res.StatusCode,
26356		},
26357	}
26358	target := &ret
26359	if err := gensupport.DecodeResponse(target, res); err != nil {
26360		return nil, err
26361	}
26362	return ret, nil
26363	// {
26364	//   "description": "Updates an existing creative field value. This method supports patch semantics.",
26365	//   "httpMethod": "PATCH",
26366	//   "id": "dfareporting.creativeFieldValues.patch",
26367	//   "parameterOrder": [
26368	//     "profileId",
26369	//     "creativeFieldId",
26370	//     "id"
26371	//   ],
26372	//   "parameters": {
26373	//     "creativeFieldId": {
26374	//       "description": "Creative field ID for this creative field value.",
26375	//       "format": "int64",
26376	//       "location": "path",
26377	//       "required": true,
26378	//       "type": "string"
26379	//     },
26380	//     "id": {
26381	//       "description": "Creative Field Value ID",
26382	//       "format": "int64",
26383	//       "location": "query",
26384	//       "required": true,
26385	//       "type": "string"
26386	//     },
26387	//     "profileId": {
26388	//       "description": "User profile ID associated with this request.",
26389	//       "format": "int64",
26390	//       "location": "path",
26391	//       "required": true,
26392	//       "type": "string"
26393	//     }
26394	//   },
26395	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
26396	//   "request": {
26397	//     "$ref": "CreativeFieldValue"
26398	//   },
26399	//   "response": {
26400	//     "$ref": "CreativeFieldValue"
26401	//   },
26402	//   "scopes": [
26403	//     "https://www.googleapis.com/auth/dfatrafficking"
26404	//   ]
26405	// }
26406
26407}
26408
26409// method id "dfareporting.creativeFieldValues.update":
26410
26411type CreativeFieldValuesUpdateCall struct {
26412	s                  *Service
26413	profileId          int64
26414	creativeFieldId    int64
26415	creativefieldvalue *CreativeFieldValue
26416	urlParams_         gensupport.URLParams
26417	ctx_               context.Context
26418	header_            http.Header
26419}
26420
26421// Update: Updates an existing creative field value.
26422func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
26423	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26424	c.profileId = profileId
26425	c.creativeFieldId = creativeFieldId
26426	c.creativefieldvalue = creativefieldvalue
26427	return c
26428}
26429
26430// Fields allows partial responses to be retrieved. See
26431// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26432// for more information.
26433func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
26434	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26435	return c
26436}
26437
26438// Context sets the context to be used in this call's Do method. Any
26439// pending HTTP request will be aborted if the provided context is
26440// canceled.
26441func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
26442	c.ctx_ = ctx
26443	return c
26444}
26445
26446// Header returns an http.Header that can be modified by the caller to
26447// add HTTP headers to the request.
26448func (c *CreativeFieldValuesUpdateCall) Header() http.Header {
26449	if c.header_ == nil {
26450		c.header_ = make(http.Header)
26451	}
26452	return c.header_
26453}
26454
26455func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
26456	reqHeaders := make(http.Header)
26457	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
26458	for k, v := range c.header_ {
26459		reqHeaders[k] = v
26460	}
26461	reqHeaders.Set("User-Agent", c.s.userAgent())
26462	var body io.Reader = nil
26463	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
26464	if err != nil {
26465		return nil, err
26466	}
26467	reqHeaders.Set("Content-Type", "application/json")
26468	c.urlParams_.Set("alt", alt)
26469	c.urlParams_.Set("prettyPrint", "false")
26470	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
26471	urls += "?" + c.urlParams_.Encode()
26472	req, err := http.NewRequest("PUT", urls, body)
26473	if err != nil {
26474		return nil, err
26475	}
26476	req.Header = reqHeaders
26477	googleapi.Expand(req.URL, map[string]string{
26478		"profileId":       strconv.FormatInt(c.profileId, 10),
26479		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
26480	})
26481	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26482}
26483
26484// Do executes the "dfareporting.creativeFieldValues.update" call.
26485// Exactly one of *CreativeFieldValue or error will be non-nil. Any
26486// non-2xx status code is an error. Response headers are in either
26487// *CreativeFieldValue.ServerResponse.Header or (if a response was
26488// returned at all) in error.(*googleapi.Error).Header. Use
26489// googleapi.IsNotModified to check whether the returned error was
26490// because http.StatusNotModified was returned.
26491func (c *CreativeFieldValuesUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
26492	gensupport.SetOptions(c.urlParams_, opts...)
26493	res, err := c.doRequest("json")
26494	if res != nil && res.StatusCode == http.StatusNotModified {
26495		if res.Body != nil {
26496			res.Body.Close()
26497		}
26498		return nil, &googleapi.Error{
26499			Code:   res.StatusCode,
26500			Header: res.Header,
26501		}
26502	}
26503	if err != nil {
26504		return nil, err
26505	}
26506	defer googleapi.CloseBody(res)
26507	if err := googleapi.CheckResponse(res); err != nil {
26508		return nil, err
26509	}
26510	ret := &CreativeFieldValue{
26511		ServerResponse: googleapi.ServerResponse{
26512			Header:         res.Header,
26513			HTTPStatusCode: res.StatusCode,
26514		},
26515	}
26516	target := &ret
26517	if err := gensupport.DecodeResponse(target, res); err != nil {
26518		return nil, err
26519	}
26520	return ret, nil
26521	// {
26522	//   "description": "Updates an existing creative field value.",
26523	//   "httpMethod": "PUT",
26524	//   "id": "dfareporting.creativeFieldValues.update",
26525	//   "parameterOrder": [
26526	//     "profileId",
26527	//     "creativeFieldId"
26528	//   ],
26529	//   "parameters": {
26530	//     "creativeFieldId": {
26531	//       "description": "Creative field ID for this creative field value.",
26532	//       "format": "int64",
26533	//       "location": "path",
26534	//       "required": true,
26535	//       "type": "string"
26536	//     },
26537	//     "profileId": {
26538	//       "description": "User profile ID associated with this request.",
26539	//       "format": "int64",
26540	//       "location": "path",
26541	//       "required": true,
26542	//       "type": "string"
26543	//     }
26544	//   },
26545	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
26546	//   "request": {
26547	//     "$ref": "CreativeFieldValue"
26548	//   },
26549	//   "response": {
26550	//     "$ref": "CreativeFieldValue"
26551	//   },
26552	//   "scopes": [
26553	//     "https://www.googleapis.com/auth/dfatrafficking"
26554	//   ]
26555	// }
26556
26557}
26558
26559// method id "dfareporting.creativeFields.delete":
26560
26561type CreativeFieldsDeleteCall struct {
26562	s          *Service
26563	profileId  int64
26564	id         int64
26565	urlParams_ gensupport.URLParams
26566	ctx_       context.Context
26567	header_    http.Header
26568}
26569
26570// Delete: Deletes an existing creative field.
26571func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
26572	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26573	c.profileId = profileId
26574	c.id = id
26575	return c
26576}
26577
26578// Fields allows partial responses to be retrieved. See
26579// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26580// for more information.
26581func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
26582	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26583	return c
26584}
26585
26586// Context sets the context to be used in this call's Do method. Any
26587// pending HTTP request will be aborted if the provided context is
26588// canceled.
26589func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
26590	c.ctx_ = ctx
26591	return c
26592}
26593
26594// Header returns an http.Header that can be modified by the caller to
26595// add HTTP headers to the request.
26596func (c *CreativeFieldsDeleteCall) Header() http.Header {
26597	if c.header_ == nil {
26598		c.header_ = make(http.Header)
26599	}
26600	return c.header_
26601}
26602
26603func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
26604	reqHeaders := make(http.Header)
26605	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
26606	for k, v := range c.header_ {
26607		reqHeaders[k] = v
26608	}
26609	reqHeaders.Set("User-Agent", c.s.userAgent())
26610	var body io.Reader = nil
26611	c.urlParams_.Set("alt", alt)
26612	c.urlParams_.Set("prettyPrint", "false")
26613	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
26614	urls += "?" + c.urlParams_.Encode()
26615	req, err := http.NewRequest("DELETE", urls, body)
26616	if err != nil {
26617		return nil, err
26618	}
26619	req.Header = reqHeaders
26620	googleapi.Expand(req.URL, map[string]string{
26621		"profileId": strconv.FormatInt(c.profileId, 10),
26622		"id":        strconv.FormatInt(c.id, 10),
26623	})
26624	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26625}
26626
26627// Do executes the "dfareporting.creativeFields.delete" call.
26628func (c *CreativeFieldsDeleteCall) Do(opts ...googleapi.CallOption) error {
26629	gensupport.SetOptions(c.urlParams_, opts...)
26630	res, err := c.doRequest("json")
26631	if err != nil {
26632		return err
26633	}
26634	defer googleapi.CloseBody(res)
26635	if err := googleapi.CheckResponse(res); err != nil {
26636		return err
26637	}
26638	return nil
26639	// {
26640	//   "description": "Deletes an existing creative field.",
26641	//   "httpMethod": "DELETE",
26642	//   "id": "dfareporting.creativeFields.delete",
26643	//   "parameterOrder": [
26644	//     "profileId",
26645	//     "id"
26646	//   ],
26647	//   "parameters": {
26648	//     "id": {
26649	//       "description": "Creative Field ID",
26650	//       "format": "int64",
26651	//       "location": "path",
26652	//       "required": true,
26653	//       "type": "string"
26654	//     },
26655	//     "profileId": {
26656	//       "description": "User profile ID associated with this request.",
26657	//       "format": "int64",
26658	//       "location": "path",
26659	//       "required": true,
26660	//       "type": "string"
26661	//     }
26662	//   },
26663	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
26664	//   "scopes": [
26665	//     "https://www.googleapis.com/auth/dfatrafficking"
26666	//   ]
26667	// }
26668
26669}
26670
26671// method id "dfareporting.creativeFields.get":
26672
26673type CreativeFieldsGetCall struct {
26674	s            *Service
26675	profileId    int64
26676	id           int64
26677	urlParams_   gensupport.URLParams
26678	ifNoneMatch_ string
26679	ctx_         context.Context
26680	header_      http.Header
26681}
26682
26683// Get: Gets one creative field by ID.
26684func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
26685	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26686	c.profileId = profileId
26687	c.id = id
26688	return c
26689}
26690
26691// Fields allows partial responses to be retrieved. See
26692// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26693// for more information.
26694func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
26695	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26696	return c
26697}
26698
26699// IfNoneMatch sets the optional parameter which makes the operation
26700// fail if the object's ETag matches the given value. This is useful for
26701// getting updates only after the object has changed since the last
26702// request. Use googleapi.IsNotModified to check whether the response
26703// error from Do is the result of In-None-Match.
26704func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
26705	c.ifNoneMatch_ = entityTag
26706	return c
26707}
26708
26709// Context sets the context to be used in this call's Do method. Any
26710// pending HTTP request will be aborted if the provided context is
26711// canceled.
26712func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
26713	c.ctx_ = ctx
26714	return c
26715}
26716
26717// Header returns an http.Header that can be modified by the caller to
26718// add HTTP headers to the request.
26719func (c *CreativeFieldsGetCall) Header() http.Header {
26720	if c.header_ == nil {
26721		c.header_ = make(http.Header)
26722	}
26723	return c.header_
26724}
26725
26726func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
26727	reqHeaders := make(http.Header)
26728	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
26729	for k, v := range c.header_ {
26730		reqHeaders[k] = v
26731	}
26732	reqHeaders.Set("User-Agent", c.s.userAgent())
26733	if c.ifNoneMatch_ != "" {
26734		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26735	}
26736	var body io.Reader = nil
26737	c.urlParams_.Set("alt", alt)
26738	c.urlParams_.Set("prettyPrint", "false")
26739	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
26740	urls += "?" + c.urlParams_.Encode()
26741	req, err := http.NewRequest("GET", urls, body)
26742	if err != nil {
26743		return nil, err
26744	}
26745	req.Header = reqHeaders
26746	googleapi.Expand(req.URL, map[string]string{
26747		"profileId": strconv.FormatInt(c.profileId, 10),
26748		"id":        strconv.FormatInt(c.id, 10),
26749	})
26750	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26751}
26752
26753// Do executes the "dfareporting.creativeFields.get" call.
26754// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26755// status code is an error. Response headers are in either
26756// *CreativeField.ServerResponse.Header or (if a response was returned
26757// at all) in error.(*googleapi.Error).Header. Use
26758// googleapi.IsNotModified to check whether the returned error was
26759// because http.StatusNotModified was returned.
26760func (c *CreativeFieldsGetCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26761	gensupport.SetOptions(c.urlParams_, opts...)
26762	res, err := c.doRequest("json")
26763	if res != nil && res.StatusCode == http.StatusNotModified {
26764		if res.Body != nil {
26765			res.Body.Close()
26766		}
26767		return nil, &googleapi.Error{
26768			Code:   res.StatusCode,
26769			Header: res.Header,
26770		}
26771	}
26772	if err != nil {
26773		return nil, err
26774	}
26775	defer googleapi.CloseBody(res)
26776	if err := googleapi.CheckResponse(res); err != nil {
26777		return nil, err
26778	}
26779	ret := &CreativeField{
26780		ServerResponse: googleapi.ServerResponse{
26781			Header:         res.Header,
26782			HTTPStatusCode: res.StatusCode,
26783		},
26784	}
26785	target := &ret
26786	if err := gensupport.DecodeResponse(target, res); err != nil {
26787		return nil, err
26788	}
26789	return ret, nil
26790	// {
26791	//   "description": "Gets one creative field by ID.",
26792	//   "httpMethod": "GET",
26793	//   "id": "dfareporting.creativeFields.get",
26794	//   "parameterOrder": [
26795	//     "profileId",
26796	//     "id"
26797	//   ],
26798	//   "parameters": {
26799	//     "id": {
26800	//       "description": "Creative Field ID",
26801	//       "format": "int64",
26802	//       "location": "path",
26803	//       "required": true,
26804	//       "type": "string"
26805	//     },
26806	//     "profileId": {
26807	//       "description": "User profile ID associated with this request.",
26808	//       "format": "int64",
26809	//       "location": "path",
26810	//       "required": true,
26811	//       "type": "string"
26812	//     }
26813	//   },
26814	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
26815	//   "response": {
26816	//     "$ref": "CreativeField"
26817	//   },
26818	//   "scopes": [
26819	//     "https://www.googleapis.com/auth/dfatrafficking"
26820	//   ]
26821	// }
26822
26823}
26824
26825// method id "dfareporting.creativeFields.insert":
26826
26827type CreativeFieldsInsertCall struct {
26828	s             *Service
26829	profileId     int64
26830	creativefield *CreativeField
26831	urlParams_    gensupport.URLParams
26832	ctx_          context.Context
26833	header_       http.Header
26834}
26835
26836// Insert: Inserts a new creative field.
26837func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
26838	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26839	c.profileId = profileId
26840	c.creativefield = creativefield
26841	return c
26842}
26843
26844// Fields allows partial responses to be retrieved. See
26845// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26846// for more information.
26847func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
26848	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26849	return c
26850}
26851
26852// Context sets the context to be used in this call's Do method. Any
26853// pending HTTP request will be aborted if the provided context is
26854// canceled.
26855func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
26856	c.ctx_ = ctx
26857	return c
26858}
26859
26860// Header returns an http.Header that can be modified by the caller to
26861// add HTTP headers to the request.
26862func (c *CreativeFieldsInsertCall) Header() http.Header {
26863	if c.header_ == nil {
26864		c.header_ = make(http.Header)
26865	}
26866	return c.header_
26867}
26868
26869func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
26870	reqHeaders := make(http.Header)
26871	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
26872	for k, v := range c.header_ {
26873		reqHeaders[k] = v
26874	}
26875	reqHeaders.Set("User-Agent", c.s.userAgent())
26876	var body io.Reader = nil
26877	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
26878	if err != nil {
26879		return nil, err
26880	}
26881	reqHeaders.Set("Content-Type", "application/json")
26882	c.urlParams_.Set("alt", alt)
26883	c.urlParams_.Set("prettyPrint", "false")
26884	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26885	urls += "?" + c.urlParams_.Encode()
26886	req, err := http.NewRequest("POST", urls, body)
26887	if err != nil {
26888		return nil, err
26889	}
26890	req.Header = reqHeaders
26891	googleapi.Expand(req.URL, map[string]string{
26892		"profileId": strconv.FormatInt(c.profileId, 10),
26893	})
26894	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26895}
26896
26897// Do executes the "dfareporting.creativeFields.insert" call.
26898// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26899// status code is an error. Response headers are in either
26900// *CreativeField.ServerResponse.Header or (if a response was returned
26901// at all) in error.(*googleapi.Error).Header. Use
26902// googleapi.IsNotModified to check whether the returned error was
26903// because http.StatusNotModified was returned.
26904func (c *CreativeFieldsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26905	gensupport.SetOptions(c.urlParams_, opts...)
26906	res, err := c.doRequest("json")
26907	if res != nil && res.StatusCode == http.StatusNotModified {
26908		if res.Body != nil {
26909			res.Body.Close()
26910		}
26911		return nil, &googleapi.Error{
26912			Code:   res.StatusCode,
26913			Header: res.Header,
26914		}
26915	}
26916	if err != nil {
26917		return nil, err
26918	}
26919	defer googleapi.CloseBody(res)
26920	if err := googleapi.CheckResponse(res); err != nil {
26921		return nil, err
26922	}
26923	ret := &CreativeField{
26924		ServerResponse: googleapi.ServerResponse{
26925			Header:         res.Header,
26926			HTTPStatusCode: res.StatusCode,
26927		},
26928	}
26929	target := &ret
26930	if err := gensupport.DecodeResponse(target, res); err != nil {
26931		return nil, err
26932	}
26933	return ret, nil
26934	// {
26935	//   "description": "Inserts a new creative field.",
26936	//   "httpMethod": "POST",
26937	//   "id": "dfareporting.creativeFields.insert",
26938	//   "parameterOrder": [
26939	//     "profileId"
26940	//   ],
26941	//   "parameters": {
26942	//     "profileId": {
26943	//       "description": "User profile ID associated with this request.",
26944	//       "format": "int64",
26945	//       "location": "path",
26946	//       "required": true,
26947	//       "type": "string"
26948	//     }
26949	//   },
26950	//   "path": "userprofiles/{profileId}/creativeFields",
26951	//   "request": {
26952	//     "$ref": "CreativeField"
26953	//   },
26954	//   "response": {
26955	//     "$ref": "CreativeField"
26956	//   },
26957	//   "scopes": [
26958	//     "https://www.googleapis.com/auth/dfatrafficking"
26959	//   ]
26960	// }
26961
26962}
26963
26964// method id "dfareporting.creativeFields.list":
26965
26966type CreativeFieldsListCall struct {
26967	s            *Service
26968	profileId    int64
26969	urlParams_   gensupport.URLParams
26970	ifNoneMatch_ string
26971	ctx_         context.Context
26972	header_      http.Header
26973}
26974
26975// List: Retrieves a list of creative fields, possibly filtered. This
26976// method supports paging.
26977func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
26978	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26979	c.profileId = profileId
26980	return c
26981}
26982
26983// AdvertiserIds sets the optional parameter "advertiserIds": Select
26984// only creative fields that belong to these advertisers.
26985func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeFieldsListCall {
26986	var advertiserIds_ []string
26987	for _, v := range advertiserIds {
26988		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
26989	}
26990	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
26991	return c
26992}
26993
26994// Ids sets the optional parameter "ids": Select only creative fields
26995// with these IDs.
26996func (c *CreativeFieldsListCall) Ids(ids ...int64) *CreativeFieldsListCall {
26997	var ids_ []string
26998	for _, v := range ids {
26999		ids_ = append(ids_, fmt.Sprint(v))
27000	}
27001	c.urlParams_.SetMulti("ids", ids_)
27002	return c
27003}
27004
27005// MaxResults sets the optional parameter "maxResults": Maximum number
27006// of results to return.
27007func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
27008	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
27009	return c
27010}
27011
27012// PageToken sets the optional parameter "pageToken": Value of the
27013// nextPageToken from the previous result page.
27014func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
27015	c.urlParams_.Set("pageToken", pageToken)
27016	return c
27017}
27018
27019// SearchString sets the optional parameter "searchString": Allows
27020// searching for creative fields by name or ID. Wildcards (*) are
27021// allowed. For example, "creativefield*2015" will return creative
27022// fields with names like "creativefield June 2015", "creativefield
27023// April 2015", or simply "creativefield 2015". Most of the searches
27024// also add wild-cards implicitly at the start and the end of the search
27025// string. For example, a search string of "creativefield" will match
27026// creative fields with the name "my creativefield", "creativefield
27027// 2015", or simply "creativefield".
27028func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
27029	c.urlParams_.Set("searchString", searchString)
27030	return c
27031}
27032
27033// SortField sets the optional parameter "sortField": Field by which to
27034// sort the list.
27035//
27036// Possible values:
27037//   "ID" (default)
27038//   "NAME"
27039func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
27040	c.urlParams_.Set("sortField", sortField)
27041	return c
27042}
27043
27044// SortOrder sets the optional parameter "sortOrder": Order of sorted
27045// results.
27046//
27047// Possible values:
27048//   "ASCENDING" (default)
27049//   "DESCENDING"
27050func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
27051	c.urlParams_.Set("sortOrder", sortOrder)
27052	return c
27053}
27054
27055// Fields allows partial responses to be retrieved. See
27056// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27057// for more information.
27058func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
27059	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27060	return c
27061}
27062
27063// IfNoneMatch sets the optional parameter which makes the operation
27064// fail if the object's ETag matches the given value. This is useful for
27065// getting updates only after the object has changed since the last
27066// request. Use googleapi.IsNotModified to check whether the response
27067// error from Do is the result of In-None-Match.
27068func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
27069	c.ifNoneMatch_ = entityTag
27070	return c
27071}
27072
27073// Context sets the context to be used in this call's Do method. Any
27074// pending HTTP request will be aborted if the provided context is
27075// canceled.
27076func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
27077	c.ctx_ = ctx
27078	return c
27079}
27080
27081// Header returns an http.Header that can be modified by the caller to
27082// add HTTP headers to the request.
27083func (c *CreativeFieldsListCall) Header() http.Header {
27084	if c.header_ == nil {
27085		c.header_ = make(http.Header)
27086	}
27087	return c.header_
27088}
27089
27090func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
27091	reqHeaders := make(http.Header)
27092	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
27093	for k, v := range c.header_ {
27094		reqHeaders[k] = v
27095	}
27096	reqHeaders.Set("User-Agent", c.s.userAgent())
27097	if c.ifNoneMatch_ != "" {
27098		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27099	}
27100	var body io.Reader = nil
27101	c.urlParams_.Set("alt", alt)
27102	c.urlParams_.Set("prettyPrint", "false")
27103	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
27104	urls += "?" + c.urlParams_.Encode()
27105	req, err := http.NewRequest("GET", urls, body)
27106	if err != nil {
27107		return nil, err
27108	}
27109	req.Header = reqHeaders
27110	googleapi.Expand(req.URL, map[string]string{
27111		"profileId": strconv.FormatInt(c.profileId, 10),
27112	})
27113	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27114}
27115
27116// Do executes the "dfareporting.creativeFields.list" call.
27117// Exactly one of *CreativeFieldsListResponse or error will be non-nil.
27118// Any non-2xx status code is an error. Response headers are in either
27119// *CreativeFieldsListResponse.ServerResponse.Header or (if a response
27120// was returned at all) in error.(*googleapi.Error).Header. Use
27121// googleapi.IsNotModified to check whether the returned error was
27122// because http.StatusNotModified was returned.
27123func (c *CreativeFieldsListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldsListResponse, error) {
27124	gensupport.SetOptions(c.urlParams_, opts...)
27125	res, err := c.doRequest("json")
27126	if res != nil && res.StatusCode == http.StatusNotModified {
27127		if res.Body != nil {
27128			res.Body.Close()
27129		}
27130		return nil, &googleapi.Error{
27131			Code:   res.StatusCode,
27132			Header: res.Header,
27133		}
27134	}
27135	if err != nil {
27136		return nil, err
27137	}
27138	defer googleapi.CloseBody(res)
27139	if err := googleapi.CheckResponse(res); err != nil {
27140		return nil, err
27141	}
27142	ret := &CreativeFieldsListResponse{
27143		ServerResponse: googleapi.ServerResponse{
27144			Header:         res.Header,
27145			HTTPStatusCode: res.StatusCode,
27146		},
27147	}
27148	target := &ret
27149	if err := gensupport.DecodeResponse(target, res); err != nil {
27150		return nil, err
27151	}
27152	return ret, nil
27153	// {
27154	//   "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
27155	//   "httpMethod": "GET",
27156	//   "id": "dfareporting.creativeFields.list",
27157	//   "parameterOrder": [
27158	//     "profileId"
27159	//   ],
27160	//   "parameters": {
27161	//     "advertiserIds": {
27162	//       "description": "Select only creative fields that belong to these advertisers.",
27163	//       "format": "int64",
27164	//       "location": "query",
27165	//       "repeated": true,
27166	//       "type": "string"
27167	//     },
27168	//     "ids": {
27169	//       "description": "Select only creative fields with these IDs.",
27170	//       "format": "int64",
27171	//       "location": "query",
27172	//       "repeated": true,
27173	//       "type": "string"
27174	//     },
27175	//     "maxResults": {
27176	//       "default": "1000",
27177	//       "description": "Maximum number of results to return.",
27178	//       "format": "int32",
27179	//       "location": "query",
27180	//       "maximum": "1000",
27181	//       "minimum": "0",
27182	//       "type": "integer"
27183	//     },
27184	//     "pageToken": {
27185	//       "description": "Value of the nextPageToken from the previous result page.",
27186	//       "location": "query",
27187	//       "type": "string"
27188	//     },
27189	//     "profileId": {
27190	//       "description": "User profile ID associated with this request.",
27191	//       "format": "int64",
27192	//       "location": "path",
27193	//       "required": true,
27194	//       "type": "string"
27195	//     },
27196	//     "searchString": {
27197	//       "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\".",
27198	//       "location": "query",
27199	//       "type": "string"
27200	//     },
27201	//     "sortField": {
27202	//       "default": "ID",
27203	//       "description": "Field by which to sort the list.",
27204	//       "enum": [
27205	//         "ID",
27206	//         "NAME"
27207	//       ],
27208	//       "enumDescriptions": [
27209	//         "",
27210	//         ""
27211	//       ],
27212	//       "location": "query",
27213	//       "type": "string"
27214	//     },
27215	//     "sortOrder": {
27216	//       "default": "ASCENDING",
27217	//       "description": "Order of sorted results.",
27218	//       "enum": [
27219	//         "ASCENDING",
27220	//         "DESCENDING"
27221	//       ],
27222	//       "enumDescriptions": [
27223	//         "",
27224	//         ""
27225	//       ],
27226	//       "location": "query",
27227	//       "type": "string"
27228	//     }
27229	//   },
27230	//   "path": "userprofiles/{profileId}/creativeFields",
27231	//   "response": {
27232	//     "$ref": "CreativeFieldsListResponse"
27233	//   },
27234	//   "scopes": [
27235	//     "https://www.googleapis.com/auth/dfatrafficking"
27236	//   ]
27237	// }
27238
27239}
27240
27241// Pages invokes f for each page of results.
27242// A non-nil error returned from f will halt the iteration.
27243// The provided context supersedes any context provided to the Context method.
27244func (c *CreativeFieldsListCall) Pages(ctx context.Context, f func(*CreativeFieldsListResponse) error) error {
27245	c.ctx_ = ctx
27246	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27247	for {
27248		x, err := c.Do()
27249		if err != nil {
27250			return err
27251		}
27252		if err := f(x); err != nil {
27253			return err
27254		}
27255		if x.NextPageToken == "" {
27256			return nil
27257		}
27258		c.PageToken(x.NextPageToken)
27259	}
27260}
27261
27262// method id "dfareporting.creativeFields.patch":
27263
27264type CreativeFieldsPatchCall struct {
27265	s             *Service
27266	profileId     int64
27267	creativefield *CreativeField
27268	urlParams_    gensupport.URLParams
27269	ctx_          context.Context
27270	header_       http.Header
27271}
27272
27273// Patch: Updates an existing creative field. This method supports patch
27274// semantics.
27275func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
27276	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27277	c.profileId = profileId
27278	c.urlParams_.Set("id", fmt.Sprint(id))
27279	c.creativefield = creativefield
27280	return c
27281}
27282
27283// Fields allows partial responses to be retrieved. See
27284// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27285// for more information.
27286func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
27287	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27288	return c
27289}
27290
27291// Context sets the context to be used in this call's Do method. Any
27292// pending HTTP request will be aborted if the provided context is
27293// canceled.
27294func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
27295	c.ctx_ = ctx
27296	return c
27297}
27298
27299// Header returns an http.Header that can be modified by the caller to
27300// add HTTP headers to the request.
27301func (c *CreativeFieldsPatchCall) Header() http.Header {
27302	if c.header_ == nil {
27303		c.header_ = make(http.Header)
27304	}
27305	return c.header_
27306}
27307
27308func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
27309	reqHeaders := make(http.Header)
27310	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
27311	for k, v := range c.header_ {
27312		reqHeaders[k] = v
27313	}
27314	reqHeaders.Set("User-Agent", c.s.userAgent())
27315	var body io.Reader = nil
27316	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
27317	if err != nil {
27318		return nil, err
27319	}
27320	reqHeaders.Set("Content-Type", "application/json")
27321	c.urlParams_.Set("alt", alt)
27322	c.urlParams_.Set("prettyPrint", "false")
27323	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
27324	urls += "?" + c.urlParams_.Encode()
27325	req, err := http.NewRequest("PATCH", urls, body)
27326	if err != nil {
27327		return nil, err
27328	}
27329	req.Header = reqHeaders
27330	googleapi.Expand(req.URL, map[string]string{
27331		"profileId": strconv.FormatInt(c.profileId, 10),
27332	})
27333	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27334}
27335
27336// Do executes the "dfareporting.creativeFields.patch" call.
27337// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
27338// status code is an error. Response headers are in either
27339// *CreativeField.ServerResponse.Header or (if a response was returned
27340// at all) in error.(*googleapi.Error).Header. Use
27341// googleapi.IsNotModified to check whether the returned error was
27342// because http.StatusNotModified was returned.
27343func (c *CreativeFieldsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
27344	gensupport.SetOptions(c.urlParams_, opts...)
27345	res, err := c.doRequest("json")
27346	if res != nil && res.StatusCode == http.StatusNotModified {
27347		if res.Body != nil {
27348			res.Body.Close()
27349		}
27350		return nil, &googleapi.Error{
27351			Code:   res.StatusCode,
27352			Header: res.Header,
27353		}
27354	}
27355	if err != nil {
27356		return nil, err
27357	}
27358	defer googleapi.CloseBody(res)
27359	if err := googleapi.CheckResponse(res); err != nil {
27360		return nil, err
27361	}
27362	ret := &CreativeField{
27363		ServerResponse: googleapi.ServerResponse{
27364			Header:         res.Header,
27365			HTTPStatusCode: res.StatusCode,
27366		},
27367	}
27368	target := &ret
27369	if err := gensupport.DecodeResponse(target, res); err != nil {
27370		return nil, err
27371	}
27372	return ret, nil
27373	// {
27374	//   "description": "Updates an existing creative field. This method supports patch semantics.",
27375	//   "httpMethod": "PATCH",
27376	//   "id": "dfareporting.creativeFields.patch",
27377	//   "parameterOrder": [
27378	//     "profileId",
27379	//     "id"
27380	//   ],
27381	//   "parameters": {
27382	//     "id": {
27383	//       "description": "Creative Field ID",
27384	//       "format": "int64",
27385	//       "location": "query",
27386	//       "required": true,
27387	//       "type": "string"
27388	//     },
27389	//     "profileId": {
27390	//       "description": "User profile ID associated with this request.",
27391	//       "format": "int64",
27392	//       "location": "path",
27393	//       "required": true,
27394	//       "type": "string"
27395	//     }
27396	//   },
27397	//   "path": "userprofiles/{profileId}/creativeFields",
27398	//   "request": {
27399	//     "$ref": "CreativeField"
27400	//   },
27401	//   "response": {
27402	//     "$ref": "CreativeField"
27403	//   },
27404	//   "scopes": [
27405	//     "https://www.googleapis.com/auth/dfatrafficking"
27406	//   ]
27407	// }
27408
27409}
27410
27411// method id "dfareporting.creativeFields.update":
27412
27413type CreativeFieldsUpdateCall struct {
27414	s             *Service
27415	profileId     int64
27416	creativefield *CreativeField
27417	urlParams_    gensupport.URLParams
27418	ctx_          context.Context
27419	header_       http.Header
27420}
27421
27422// Update: Updates an existing creative field.
27423func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
27424	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27425	c.profileId = profileId
27426	c.creativefield = creativefield
27427	return c
27428}
27429
27430// Fields allows partial responses to be retrieved. See
27431// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27432// for more information.
27433func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
27434	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27435	return c
27436}
27437
27438// Context sets the context to be used in this call's Do method. Any
27439// pending HTTP request will be aborted if the provided context is
27440// canceled.
27441func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
27442	c.ctx_ = ctx
27443	return c
27444}
27445
27446// Header returns an http.Header that can be modified by the caller to
27447// add HTTP headers to the request.
27448func (c *CreativeFieldsUpdateCall) Header() http.Header {
27449	if c.header_ == nil {
27450		c.header_ = make(http.Header)
27451	}
27452	return c.header_
27453}
27454
27455func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
27456	reqHeaders := make(http.Header)
27457	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
27458	for k, v := range c.header_ {
27459		reqHeaders[k] = v
27460	}
27461	reqHeaders.Set("User-Agent", c.s.userAgent())
27462	var body io.Reader = nil
27463	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
27464	if err != nil {
27465		return nil, err
27466	}
27467	reqHeaders.Set("Content-Type", "application/json")
27468	c.urlParams_.Set("alt", alt)
27469	c.urlParams_.Set("prettyPrint", "false")
27470	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
27471	urls += "?" + c.urlParams_.Encode()
27472	req, err := http.NewRequest("PUT", urls, body)
27473	if err != nil {
27474		return nil, err
27475	}
27476	req.Header = reqHeaders
27477	googleapi.Expand(req.URL, map[string]string{
27478		"profileId": strconv.FormatInt(c.profileId, 10),
27479	})
27480	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27481}
27482
27483// Do executes the "dfareporting.creativeFields.update" call.
27484// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
27485// status code is an error. Response headers are in either
27486// *CreativeField.ServerResponse.Header or (if a response was returned
27487// at all) in error.(*googleapi.Error).Header. Use
27488// googleapi.IsNotModified to check whether the returned error was
27489// because http.StatusNotModified was returned.
27490func (c *CreativeFieldsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
27491	gensupport.SetOptions(c.urlParams_, opts...)
27492	res, err := c.doRequest("json")
27493	if res != nil && res.StatusCode == http.StatusNotModified {
27494		if res.Body != nil {
27495			res.Body.Close()
27496		}
27497		return nil, &googleapi.Error{
27498			Code:   res.StatusCode,
27499			Header: res.Header,
27500		}
27501	}
27502	if err != nil {
27503		return nil, err
27504	}
27505	defer googleapi.CloseBody(res)
27506	if err := googleapi.CheckResponse(res); err != nil {
27507		return nil, err
27508	}
27509	ret := &CreativeField{
27510		ServerResponse: googleapi.ServerResponse{
27511			Header:         res.Header,
27512			HTTPStatusCode: res.StatusCode,
27513		},
27514	}
27515	target := &ret
27516	if err := gensupport.DecodeResponse(target, res); err != nil {
27517		return nil, err
27518	}
27519	return ret, nil
27520	// {
27521	//   "description": "Updates an existing creative field.",
27522	//   "httpMethod": "PUT",
27523	//   "id": "dfareporting.creativeFields.update",
27524	//   "parameterOrder": [
27525	//     "profileId"
27526	//   ],
27527	//   "parameters": {
27528	//     "profileId": {
27529	//       "description": "User profile ID associated with this request.",
27530	//       "format": "int64",
27531	//       "location": "path",
27532	//       "required": true,
27533	//       "type": "string"
27534	//     }
27535	//   },
27536	//   "path": "userprofiles/{profileId}/creativeFields",
27537	//   "request": {
27538	//     "$ref": "CreativeField"
27539	//   },
27540	//   "response": {
27541	//     "$ref": "CreativeField"
27542	//   },
27543	//   "scopes": [
27544	//     "https://www.googleapis.com/auth/dfatrafficking"
27545	//   ]
27546	// }
27547
27548}
27549
27550// method id "dfareporting.creativeGroups.get":
27551
27552type CreativeGroupsGetCall struct {
27553	s            *Service
27554	profileId    int64
27555	id           int64
27556	urlParams_   gensupport.URLParams
27557	ifNoneMatch_ string
27558	ctx_         context.Context
27559	header_      http.Header
27560}
27561
27562// Get: Gets one creative group by ID.
27563func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
27564	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27565	c.profileId = profileId
27566	c.id = id
27567	return c
27568}
27569
27570// Fields allows partial responses to be retrieved. See
27571// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27572// for more information.
27573func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
27574	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27575	return c
27576}
27577
27578// IfNoneMatch sets the optional parameter which makes the operation
27579// fail if the object's ETag matches the given value. This is useful for
27580// getting updates only after the object has changed since the last
27581// request. Use googleapi.IsNotModified to check whether the response
27582// error from Do is the result of In-None-Match.
27583func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
27584	c.ifNoneMatch_ = entityTag
27585	return c
27586}
27587
27588// Context sets the context to be used in this call's Do method. Any
27589// pending HTTP request will be aborted if the provided context is
27590// canceled.
27591func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
27592	c.ctx_ = ctx
27593	return c
27594}
27595
27596// Header returns an http.Header that can be modified by the caller to
27597// add HTTP headers to the request.
27598func (c *CreativeGroupsGetCall) Header() http.Header {
27599	if c.header_ == nil {
27600		c.header_ = make(http.Header)
27601	}
27602	return c.header_
27603}
27604
27605func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
27606	reqHeaders := make(http.Header)
27607	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
27608	for k, v := range c.header_ {
27609		reqHeaders[k] = v
27610	}
27611	reqHeaders.Set("User-Agent", c.s.userAgent())
27612	if c.ifNoneMatch_ != "" {
27613		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27614	}
27615	var body io.Reader = nil
27616	c.urlParams_.Set("alt", alt)
27617	c.urlParams_.Set("prettyPrint", "false")
27618	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
27619	urls += "?" + c.urlParams_.Encode()
27620	req, err := http.NewRequest("GET", urls, body)
27621	if err != nil {
27622		return nil, err
27623	}
27624	req.Header = reqHeaders
27625	googleapi.Expand(req.URL, map[string]string{
27626		"profileId": strconv.FormatInt(c.profileId, 10),
27627		"id":        strconv.FormatInt(c.id, 10),
27628	})
27629	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27630}
27631
27632// Do executes the "dfareporting.creativeGroups.get" call.
27633// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27634// status code is an error. Response headers are in either
27635// *CreativeGroup.ServerResponse.Header or (if a response was returned
27636// at all) in error.(*googleapi.Error).Header. Use
27637// googleapi.IsNotModified to check whether the returned error was
27638// because http.StatusNotModified was returned.
27639func (c *CreativeGroupsGetCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27640	gensupport.SetOptions(c.urlParams_, opts...)
27641	res, err := c.doRequest("json")
27642	if res != nil && res.StatusCode == http.StatusNotModified {
27643		if res.Body != nil {
27644			res.Body.Close()
27645		}
27646		return nil, &googleapi.Error{
27647			Code:   res.StatusCode,
27648			Header: res.Header,
27649		}
27650	}
27651	if err != nil {
27652		return nil, err
27653	}
27654	defer googleapi.CloseBody(res)
27655	if err := googleapi.CheckResponse(res); err != nil {
27656		return nil, err
27657	}
27658	ret := &CreativeGroup{
27659		ServerResponse: googleapi.ServerResponse{
27660			Header:         res.Header,
27661			HTTPStatusCode: res.StatusCode,
27662		},
27663	}
27664	target := &ret
27665	if err := gensupport.DecodeResponse(target, res); err != nil {
27666		return nil, err
27667	}
27668	return ret, nil
27669	// {
27670	//   "description": "Gets one creative group by ID.",
27671	//   "httpMethod": "GET",
27672	//   "id": "dfareporting.creativeGroups.get",
27673	//   "parameterOrder": [
27674	//     "profileId",
27675	//     "id"
27676	//   ],
27677	//   "parameters": {
27678	//     "id": {
27679	//       "description": "Creative group ID.",
27680	//       "format": "int64",
27681	//       "location": "path",
27682	//       "required": true,
27683	//       "type": "string"
27684	//     },
27685	//     "profileId": {
27686	//       "description": "User profile ID associated with this request.",
27687	//       "format": "int64",
27688	//       "location": "path",
27689	//       "required": true,
27690	//       "type": "string"
27691	//     }
27692	//   },
27693	//   "path": "userprofiles/{profileId}/creativeGroups/{id}",
27694	//   "response": {
27695	//     "$ref": "CreativeGroup"
27696	//   },
27697	//   "scopes": [
27698	//     "https://www.googleapis.com/auth/dfatrafficking"
27699	//   ]
27700	// }
27701
27702}
27703
27704// method id "dfareporting.creativeGroups.insert":
27705
27706type CreativeGroupsInsertCall struct {
27707	s             *Service
27708	profileId     int64
27709	creativegroup *CreativeGroup
27710	urlParams_    gensupport.URLParams
27711	ctx_          context.Context
27712	header_       http.Header
27713}
27714
27715// Insert: Inserts a new creative group.
27716func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
27717	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27718	c.profileId = profileId
27719	c.creativegroup = creativegroup
27720	return c
27721}
27722
27723// Fields allows partial responses to be retrieved. See
27724// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27725// for more information.
27726func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
27727	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27728	return c
27729}
27730
27731// Context sets the context to be used in this call's Do method. Any
27732// pending HTTP request will be aborted if the provided context is
27733// canceled.
27734func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
27735	c.ctx_ = ctx
27736	return c
27737}
27738
27739// Header returns an http.Header that can be modified by the caller to
27740// add HTTP headers to the request.
27741func (c *CreativeGroupsInsertCall) Header() http.Header {
27742	if c.header_ == nil {
27743		c.header_ = make(http.Header)
27744	}
27745	return c.header_
27746}
27747
27748func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
27749	reqHeaders := make(http.Header)
27750	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
27751	for k, v := range c.header_ {
27752		reqHeaders[k] = v
27753	}
27754	reqHeaders.Set("User-Agent", c.s.userAgent())
27755	var body io.Reader = nil
27756	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27757	if err != nil {
27758		return nil, err
27759	}
27760	reqHeaders.Set("Content-Type", "application/json")
27761	c.urlParams_.Set("alt", alt)
27762	c.urlParams_.Set("prettyPrint", "false")
27763	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27764	urls += "?" + c.urlParams_.Encode()
27765	req, err := http.NewRequest("POST", urls, body)
27766	if err != nil {
27767		return nil, err
27768	}
27769	req.Header = reqHeaders
27770	googleapi.Expand(req.URL, map[string]string{
27771		"profileId": strconv.FormatInt(c.profileId, 10),
27772	})
27773	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27774}
27775
27776// Do executes the "dfareporting.creativeGroups.insert" call.
27777// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27778// status code is an error. Response headers are in either
27779// *CreativeGroup.ServerResponse.Header or (if a response was returned
27780// at all) in error.(*googleapi.Error).Header. Use
27781// googleapi.IsNotModified to check whether the returned error was
27782// because http.StatusNotModified was returned.
27783func (c *CreativeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27784	gensupport.SetOptions(c.urlParams_, opts...)
27785	res, err := c.doRequest("json")
27786	if res != nil && res.StatusCode == http.StatusNotModified {
27787		if res.Body != nil {
27788			res.Body.Close()
27789		}
27790		return nil, &googleapi.Error{
27791			Code:   res.StatusCode,
27792			Header: res.Header,
27793		}
27794	}
27795	if err != nil {
27796		return nil, err
27797	}
27798	defer googleapi.CloseBody(res)
27799	if err := googleapi.CheckResponse(res); err != nil {
27800		return nil, err
27801	}
27802	ret := &CreativeGroup{
27803		ServerResponse: googleapi.ServerResponse{
27804			Header:         res.Header,
27805			HTTPStatusCode: res.StatusCode,
27806		},
27807	}
27808	target := &ret
27809	if err := gensupport.DecodeResponse(target, res); err != nil {
27810		return nil, err
27811	}
27812	return ret, nil
27813	// {
27814	//   "description": "Inserts a new creative group.",
27815	//   "httpMethod": "POST",
27816	//   "id": "dfareporting.creativeGroups.insert",
27817	//   "parameterOrder": [
27818	//     "profileId"
27819	//   ],
27820	//   "parameters": {
27821	//     "profileId": {
27822	//       "description": "User profile ID associated with this request.",
27823	//       "format": "int64",
27824	//       "location": "path",
27825	//       "required": true,
27826	//       "type": "string"
27827	//     }
27828	//   },
27829	//   "path": "userprofiles/{profileId}/creativeGroups",
27830	//   "request": {
27831	//     "$ref": "CreativeGroup"
27832	//   },
27833	//   "response": {
27834	//     "$ref": "CreativeGroup"
27835	//   },
27836	//   "scopes": [
27837	//     "https://www.googleapis.com/auth/dfatrafficking"
27838	//   ]
27839	// }
27840
27841}
27842
27843// method id "dfareporting.creativeGroups.list":
27844
27845type CreativeGroupsListCall struct {
27846	s            *Service
27847	profileId    int64
27848	urlParams_   gensupport.URLParams
27849	ifNoneMatch_ string
27850	ctx_         context.Context
27851	header_      http.Header
27852}
27853
27854// List: Retrieves a list of creative groups, possibly filtered. This
27855// method supports paging.
27856func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
27857	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27858	c.profileId = profileId
27859	return c
27860}
27861
27862// AdvertiserIds sets the optional parameter "advertiserIds": Select
27863// only creative groups that belong to these advertisers.
27864func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeGroupsListCall {
27865	var advertiserIds_ []string
27866	for _, v := range advertiserIds {
27867		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
27868	}
27869	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
27870	return c
27871}
27872
27873// GroupNumber sets the optional parameter "groupNumber": Select only
27874// creative groups that belong to this subgroup.
27875func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
27876	c.urlParams_.Set("groupNumber", fmt.Sprint(groupNumber))
27877	return c
27878}
27879
27880// Ids sets the optional parameter "ids": Select only creative groups
27881// with these IDs.
27882func (c *CreativeGroupsListCall) Ids(ids ...int64) *CreativeGroupsListCall {
27883	var ids_ []string
27884	for _, v := range ids {
27885		ids_ = append(ids_, fmt.Sprint(v))
27886	}
27887	c.urlParams_.SetMulti("ids", ids_)
27888	return c
27889}
27890
27891// MaxResults sets the optional parameter "maxResults": Maximum number
27892// of results to return.
27893func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
27894	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
27895	return c
27896}
27897
27898// PageToken sets the optional parameter "pageToken": Value of the
27899// nextPageToken from the previous result page.
27900func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
27901	c.urlParams_.Set("pageToken", pageToken)
27902	return c
27903}
27904
27905// SearchString sets the optional parameter "searchString": Allows
27906// searching for creative groups by name or ID. Wildcards (*) are
27907// allowed. For example, "creativegroup*2015" will return creative
27908// groups with names like "creativegroup June 2015", "creativegroup
27909// April 2015", or simply "creativegroup 2015". Most of the searches
27910// also add wild-cards implicitly at the start and the end of the search
27911// string. For example, a search string of "creativegroup" will match
27912// creative groups with the name "my creativegroup", "creativegroup
27913// 2015", or simply "creativegroup".
27914func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
27915	c.urlParams_.Set("searchString", searchString)
27916	return c
27917}
27918
27919// SortField sets the optional parameter "sortField": Field by which to
27920// sort the list.
27921//
27922// Possible values:
27923//   "ID" (default)
27924//   "NAME"
27925func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
27926	c.urlParams_.Set("sortField", sortField)
27927	return c
27928}
27929
27930// SortOrder sets the optional parameter "sortOrder": Order of sorted
27931// results.
27932//
27933// Possible values:
27934//   "ASCENDING" (default)
27935//   "DESCENDING"
27936func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
27937	c.urlParams_.Set("sortOrder", sortOrder)
27938	return c
27939}
27940
27941// Fields allows partial responses to be retrieved. See
27942// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27943// for more information.
27944func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
27945	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27946	return c
27947}
27948
27949// IfNoneMatch sets the optional parameter which makes the operation
27950// fail if the object's ETag matches the given value. This is useful for
27951// getting updates only after the object has changed since the last
27952// request. Use googleapi.IsNotModified to check whether the response
27953// error from Do is the result of In-None-Match.
27954func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
27955	c.ifNoneMatch_ = entityTag
27956	return c
27957}
27958
27959// Context sets the context to be used in this call's Do method. Any
27960// pending HTTP request will be aborted if the provided context is
27961// canceled.
27962func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
27963	c.ctx_ = ctx
27964	return c
27965}
27966
27967// Header returns an http.Header that can be modified by the caller to
27968// add HTTP headers to the request.
27969func (c *CreativeGroupsListCall) Header() http.Header {
27970	if c.header_ == nil {
27971		c.header_ = make(http.Header)
27972	}
27973	return c.header_
27974}
27975
27976func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
27977	reqHeaders := make(http.Header)
27978	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
27979	for k, v := range c.header_ {
27980		reqHeaders[k] = v
27981	}
27982	reqHeaders.Set("User-Agent", c.s.userAgent())
27983	if c.ifNoneMatch_ != "" {
27984		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27985	}
27986	var body io.Reader = nil
27987	c.urlParams_.Set("alt", alt)
27988	c.urlParams_.Set("prettyPrint", "false")
27989	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27990	urls += "?" + c.urlParams_.Encode()
27991	req, err := http.NewRequest("GET", urls, body)
27992	if err != nil {
27993		return nil, err
27994	}
27995	req.Header = reqHeaders
27996	googleapi.Expand(req.URL, map[string]string{
27997		"profileId": strconv.FormatInt(c.profileId, 10),
27998	})
27999	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28000}
28001
28002// Do executes the "dfareporting.creativeGroups.list" call.
28003// Exactly one of *CreativeGroupsListResponse or error will be non-nil.
28004// Any non-2xx status code is an error. Response headers are in either
28005// *CreativeGroupsListResponse.ServerResponse.Header or (if a response
28006// was returned at all) in error.(*googleapi.Error).Header. Use
28007// googleapi.IsNotModified to check whether the returned error was
28008// because http.StatusNotModified was returned.
28009func (c *CreativeGroupsListCall) Do(opts ...googleapi.CallOption) (*CreativeGroupsListResponse, error) {
28010	gensupport.SetOptions(c.urlParams_, opts...)
28011	res, err := c.doRequest("json")
28012	if res != nil && res.StatusCode == http.StatusNotModified {
28013		if res.Body != nil {
28014			res.Body.Close()
28015		}
28016		return nil, &googleapi.Error{
28017			Code:   res.StatusCode,
28018			Header: res.Header,
28019		}
28020	}
28021	if err != nil {
28022		return nil, err
28023	}
28024	defer googleapi.CloseBody(res)
28025	if err := googleapi.CheckResponse(res); err != nil {
28026		return nil, err
28027	}
28028	ret := &CreativeGroupsListResponse{
28029		ServerResponse: googleapi.ServerResponse{
28030			Header:         res.Header,
28031			HTTPStatusCode: res.StatusCode,
28032		},
28033	}
28034	target := &ret
28035	if err := gensupport.DecodeResponse(target, res); err != nil {
28036		return nil, err
28037	}
28038	return ret, nil
28039	// {
28040	//   "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
28041	//   "httpMethod": "GET",
28042	//   "id": "dfareporting.creativeGroups.list",
28043	//   "parameterOrder": [
28044	//     "profileId"
28045	//   ],
28046	//   "parameters": {
28047	//     "advertiserIds": {
28048	//       "description": "Select only creative groups that belong to these advertisers.",
28049	//       "format": "int64",
28050	//       "location": "query",
28051	//       "repeated": true,
28052	//       "type": "string"
28053	//     },
28054	//     "groupNumber": {
28055	//       "description": "Select only creative groups that belong to this subgroup.",
28056	//       "format": "int32",
28057	//       "location": "query",
28058	//       "maximum": "2",
28059	//       "minimum": "1",
28060	//       "type": "integer"
28061	//     },
28062	//     "ids": {
28063	//       "description": "Select only creative groups with these IDs.",
28064	//       "format": "int64",
28065	//       "location": "query",
28066	//       "repeated": true,
28067	//       "type": "string"
28068	//     },
28069	//     "maxResults": {
28070	//       "default": "1000",
28071	//       "description": "Maximum number of results to return.",
28072	//       "format": "int32",
28073	//       "location": "query",
28074	//       "maximum": "1000",
28075	//       "minimum": "0",
28076	//       "type": "integer"
28077	//     },
28078	//     "pageToken": {
28079	//       "description": "Value of the nextPageToken from the previous result page.",
28080	//       "location": "query",
28081	//       "type": "string"
28082	//     },
28083	//     "profileId": {
28084	//       "description": "User profile ID associated with this request.",
28085	//       "format": "int64",
28086	//       "location": "path",
28087	//       "required": true,
28088	//       "type": "string"
28089	//     },
28090	//     "searchString": {
28091	//       "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\".",
28092	//       "location": "query",
28093	//       "type": "string"
28094	//     },
28095	//     "sortField": {
28096	//       "default": "ID",
28097	//       "description": "Field by which to sort the list.",
28098	//       "enum": [
28099	//         "ID",
28100	//         "NAME"
28101	//       ],
28102	//       "enumDescriptions": [
28103	//         "",
28104	//         ""
28105	//       ],
28106	//       "location": "query",
28107	//       "type": "string"
28108	//     },
28109	//     "sortOrder": {
28110	//       "default": "ASCENDING",
28111	//       "description": "Order of sorted results.",
28112	//       "enum": [
28113	//         "ASCENDING",
28114	//         "DESCENDING"
28115	//       ],
28116	//       "enumDescriptions": [
28117	//         "",
28118	//         ""
28119	//       ],
28120	//       "location": "query",
28121	//       "type": "string"
28122	//     }
28123	//   },
28124	//   "path": "userprofiles/{profileId}/creativeGroups",
28125	//   "response": {
28126	//     "$ref": "CreativeGroupsListResponse"
28127	//   },
28128	//   "scopes": [
28129	//     "https://www.googleapis.com/auth/dfatrafficking"
28130	//   ]
28131	// }
28132
28133}
28134
28135// Pages invokes f for each page of results.
28136// A non-nil error returned from f will halt the iteration.
28137// The provided context supersedes any context provided to the Context method.
28138func (c *CreativeGroupsListCall) Pages(ctx context.Context, f func(*CreativeGroupsListResponse) error) error {
28139	c.ctx_ = ctx
28140	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
28141	for {
28142		x, err := c.Do()
28143		if err != nil {
28144			return err
28145		}
28146		if err := f(x); err != nil {
28147			return err
28148		}
28149		if x.NextPageToken == "" {
28150			return nil
28151		}
28152		c.PageToken(x.NextPageToken)
28153	}
28154}
28155
28156// method id "dfareporting.creativeGroups.patch":
28157
28158type CreativeGroupsPatchCall struct {
28159	s             *Service
28160	profileId     int64
28161	creativegroup *CreativeGroup
28162	urlParams_    gensupport.URLParams
28163	ctx_          context.Context
28164	header_       http.Header
28165}
28166
28167// Patch: Updates an existing creative group. This method supports patch
28168// semantics.
28169func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
28170	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28171	c.profileId = profileId
28172	c.urlParams_.Set("id", fmt.Sprint(id))
28173	c.creativegroup = creativegroup
28174	return c
28175}
28176
28177// Fields allows partial responses to be retrieved. See
28178// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28179// for more information.
28180func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
28181	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28182	return c
28183}
28184
28185// Context sets the context to be used in this call's Do method. Any
28186// pending HTTP request will be aborted if the provided context is
28187// canceled.
28188func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
28189	c.ctx_ = ctx
28190	return c
28191}
28192
28193// Header returns an http.Header that can be modified by the caller to
28194// add HTTP headers to the request.
28195func (c *CreativeGroupsPatchCall) Header() http.Header {
28196	if c.header_ == nil {
28197		c.header_ = make(http.Header)
28198	}
28199	return c.header_
28200}
28201
28202func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
28203	reqHeaders := make(http.Header)
28204	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
28205	for k, v := range c.header_ {
28206		reqHeaders[k] = v
28207	}
28208	reqHeaders.Set("User-Agent", c.s.userAgent())
28209	var body io.Reader = nil
28210	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
28211	if err != nil {
28212		return nil, err
28213	}
28214	reqHeaders.Set("Content-Type", "application/json")
28215	c.urlParams_.Set("alt", alt)
28216	c.urlParams_.Set("prettyPrint", "false")
28217	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
28218	urls += "?" + c.urlParams_.Encode()
28219	req, err := http.NewRequest("PATCH", urls, body)
28220	if err != nil {
28221		return nil, err
28222	}
28223	req.Header = reqHeaders
28224	googleapi.Expand(req.URL, map[string]string{
28225		"profileId": strconv.FormatInt(c.profileId, 10),
28226	})
28227	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28228}
28229
28230// Do executes the "dfareporting.creativeGroups.patch" call.
28231// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
28232// status code is an error. Response headers are in either
28233// *CreativeGroup.ServerResponse.Header or (if a response was returned
28234// at all) in error.(*googleapi.Error).Header. Use
28235// googleapi.IsNotModified to check whether the returned error was
28236// because http.StatusNotModified was returned.
28237func (c *CreativeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
28238	gensupport.SetOptions(c.urlParams_, opts...)
28239	res, err := c.doRequest("json")
28240	if res != nil && res.StatusCode == http.StatusNotModified {
28241		if res.Body != nil {
28242			res.Body.Close()
28243		}
28244		return nil, &googleapi.Error{
28245			Code:   res.StatusCode,
28246			Header: res.Header,
28247		}
28248	}
28249	if err != nil {
28250		return nil, err
28251	}
28252	defer googleapi.CloseBody(res)
28253	if err := googleapi.CheckResponse(res); err != nil {
28254		return nil, err
28255	}
28256	ret := &CreativeGroup{
28257		ServerResponse: googleapi.ServerResponse{
28258			Header:         res.Header,
28259			HTTPStatusCode: res.StatusCode,
28260		},
28261	}
28262	target := &ret
28263	if err := gensupport.DecodeResponse(target, res); err != nil {
28264		return nil, err
28265	}
28266	return ret, nil
28267	// {
28268	//   "description": "Updates an existing creative group. This method supports patch semantics.",
28269	//   "httpMethod": "PATCH",
28270	//   "id": "dfareporting.creativeGroups.patch",
28271	//   "parameterOrder": [
28272	//     "profileId",
28273	//     "id"
28274	//   ],
28275	//   "parameters": {
28276	//     "id": {
28277	//       "description": "Creative group ID.",
28278	//       "format": "int64",
28279	//       "location": "query",
28280	//       "required": true,
28281	//       "type": "string"
28282	//     },
28283	//     "profileId": {
28284	//       "description": "User profile ID associated with this request.",
28285	//       "format": "int64",
28286	//       "location": "path",
28287	//       "required": true,
28288	//       "type": "string"
28289	//     }
28290	//   },
28291	//   "path": "userprofiles/{profileId}/creativeGroups",
28292	//   "request": {
28293	//     "$ref": "CreativeGroup"
28294	//   },
28295	//   "response": {
28296	//     "$ref": "CreativeGroup"
28297	//   },
28298	//   "scopes": [
28299	//     "https://www.googleapis.com/auth/dfatrafficking"
28300	//   ]
28301	// }
28302
28303}
28304
28305// method id "dfareporting.creativeGroups.update":
28306
28307type CreativeGroupsUpdateCall struct {
28308	s             *Service
28309	profileId     int64
28310	creativegroup *CreativeGroup
28311	urlParams_    gensupport.URLParams
28312	ctx_          context.Context
28313	header_       http.Header
28314}
28315
28316// Update: Updates an existing creative group.
28317func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
28318	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28319	c.profileId = profileId
28320	c.creativegroup = creativegroup
28321	return c
28322}
28323
28324// Fields allows partial responses to be retrieved. See
28325// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28326// for more information.
28327func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
28328	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28329	return c
28330}
28331
28332// Context sets the context to be used in this call's Do method. Any
28333// pending HTTP request will be aborted if the provided context is
28334// canceled.
28335func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
28336	c.ctx_ = ctx
28337	return c
28338}
28339
28340// Header returns an http.Header that can be modified by the caller to
28341// add HTTP headers to the request.
28342func (c *CreativeGroupsUpdateCall) Header() http.Header {
28343	if c.header_ == nil {
28344		c.header_ = make(http.Header)
28345	}
28346	return c.header_
28347}
28348
28349func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
28350	reqHeaders := make(http.Header)
28351	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
28352	for k, v := range c.header_ {
28353		reqHeaders[k] = v
28354	}
28355	reqHeaders.Set("User-Agent", c.s.userAgent())
28356	var body io.Reader = nil
28357	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
28358	if err != nil {
28359		return nil, err
28360	}
28361	reqHeaders.Set("Content-Type", "application/json")
28362	c.urlParams_.Set("alt", alt)
28363	c.urlParams_.Set("prettyPrint", "false")
28364	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
28365	urls += "?" + c.urlParams_.Encode()
28366	req, err := http.NewRequest("PUT", urls, body)
28367	if err != nil {
28368		return nil, err
28369	}
28370	req.Header = reqHeaders
28371	googleapi.Expand(req.URL, map[string]string{
28372		"profileId": strconv.FormatInt(c.profileId, 10),
28373	})
28374	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28375}
28376
28377// Do executes the "dfareporting.creativeGroups.update" call.
28378// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
28379// status code is an error. Response headers are in either
28380// *CreativeGroup.ServerResponse.Header or (if a response was returned
28381// at all) in error.(*googleapi.Error).Header. Use
28382// googleapi.IsNotModified to check whether the returned error was
28383// because http.StatusNotModified was returned.
28384func (c *CreativeGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
28385	gensupport.SetOptions(c.urlParams_, opts...)
28386	res, err := c.doRequest("json")
28387	if res != nil && res.StatusCode == http.StatusNotModified {
28388		if res.Body != nil {
28389			res.Body.Close()
28390		}
28391		return nil, &googleapi.Error{
28392			Code:   res.StatusCode,
28393			Header: res.Header,
28394		}
28395	}
28396	if err != nil {
28397		return nil, err
28398	}
28399	defer googleapi.CloseBody(res)
28400	if err := googleapi.CheckResponse(res); err != nil {
28401		return nil, err
28402	}
28403	ret := &CreativeGroup{
28404		ServerResponse: googleapi.ServerResponse{
28405			Header:         res.Header,
28406			HTTPStatusCode: res.StatusCode,
28407		},
28408	}
28409	target := &ret
28410	if err := gensupport.DecodeResponse(target, res); err != nil {
28411		return nil, err
28412	}
28413	return ret, nil
28414	// {
28415	//   "description": "Updates an existing creative group.",
28416	//   "httpMethod": "PUT",
28417	//   "id": "dfareporting.creativeGroups.update",
28418	//   "parameterOrder": [
28419	//     "profileId"
28420	//   ],
28421	//   "parameters": {
28422	//     "profileId": {
28423	//       "description": "User profile ID associated with this request.",
28424	//       "format": "int64",
28425	//       "location": "path",
28426	//       "required": true,
28427	//       "type": "string"
28428	//     }
28429	//   },
28430	//   "path": "userprofiles/{profileId}/creativeGroups",
28431	//   "request": {
28432	//     "$ref": "CreativeGroup"
28433	//   },
28434	//   "response": {
28435	//     "$ref": "CreativeGroup"
28436	//   },
28437	//   "scopes": [
28438	//     "https://www.googleapis.com/auth/dfatrafficking"
28439	//   ]
28440	// }
28441
28442}
28443
28444// method id "dfareporting.creatives.get":
28445
28446type CreativesGetCall struct {
28447	s            *Service
28448	profileId    int64
28449	id           int64
28450	urlParams_   gensupport.URLParams
28451	ifNoneMatch_ string
28452	ctx_         context.Context
28453	header_      http.Header
28454}
28455
28456// Get: Gets one creative by ID.
28457func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
28458	c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28459	c.profileId = profileId
28460	c.id = id
28461	return c
28462}
28463
28464// Fields allows partial responses to be retrieved. See
28465// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28466// for more information.
28467func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
28468	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28469	return c
28470}
28471
28472// IfNoneMatch sets the optional parameter which makes the operation
28473// fail if the object's ETag matches the given value. This is useful for
28474// getting updates only after the object has changed since the last
28475// request. Use googleapi.IsNotModified to check whether the response
28476// error from Do is the result of In-None-Match.
28477func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
28478	c.ifNoneMatch_ = entityTag
28479	return c
28480}
28481
28482// Context sets the context to be used in this call's Do method. Any
28483// pending HTTP request will be aborted if the provided context is
28484// canceled.
28485func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
28486	c.ctx_ = ctx
28487	return c
28488}
28489
28490// Header returns an http.Header that can be modified by the caller to
28491// add HTTP headers to the request.
28492func (c *CreativesGetCall) Header() http.Header {
28493	if c.header_ == nil {
28494		c.header_ = make(http.Header)
28495	}
28496	return c.header_
28497}
28498
28499func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
28500	reqHeaders := make(http.Header)
28501	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
28502	for k, v := range c.header_ {
28503		reqHeaders[k] = v
28504	}
28505	reqHeaders.Set("User-Agent", c.s.userAgent())
28506	if c.ifNoneMatch_ != "" {
28507		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28508	}
28509	var body io.Reader = nil
28510	c.urlParams_.Set("alt", alt)
28511	c.urlParams_.Set("prettyPrint", "false")
28512	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
28513	urls += "?" + c.urlParams_.Encode()
28514	req, err := http.NewRequest("GET", urls, body)
28515	if err != nil {
28516		return nil, err
28517	}
28518	req.Header = reqHeaders
28519	googleapi.Expand(req.URL, map[string]string{
28520		"profileId": strconv.FormatInt(c.profileId, 10),
28521		"id":        strconv.FormatInt(c.id, 10),
28522	})
28523	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28524}
28525
28526// Do executes the "dfareporting.creatives.get" call.
28527// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28528// code is an error. Response headers are in either
28529// *Creative.ServerResponse.Header or (if a response was returned at
28530// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28531// to check whether the returned error was because
28532// http.StatusNotModified was returned.
28533func (c *CreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28534	gensupport.SetOptions(c.urlParams_, opts...)
28535	res, err := c.doRequest("json")
28536	if res != nil && res.StatusCode == http.StatusNotModified {
28537		if res.Body != nil {
28538			res.Body.Close()
28539		}
28540		return nil, &googleapi.Error{
28541			Code:   res.StatusCode,
28542			Header: res.Header,
28543		}
28544	}
28545	if err != nil {
28546		return nil, err
28547	}
28548	defer googleapi.CloseBody(res)
28549	if err := googleapi.CheckResponse(res); err != nil {
28550		return nil, err
28551	}
28552	ret := &Creative{
28553		ServerResponse: googleapi.ServerResponse{
28554			Header:         res.Header,
28555			HTTPStatusCode: res.StatusCode,
28556		},
28557	}
28558	target := &ret
28559	if err := gensupport.DecodeResponse(target, res); err != nil {
28560		return nil, err
28561	}
28562	return ret, nil
28563	// {
28564	//   "description": "Gets one creative by ID.",
28565	//   "httpMethod": "GET",
28566	//   "id": "dfareporting.creatives.get",
28567	//   "parameterOrder": [
28568	//     "profileId",
28569	//     "id"
28570	//   ],
28571	//   "parameters": {
28572	//     "id": {
28573	//       "description": "Creative ID.",
28574	//       "format": "int64",
28575	//       "location": "path",
28576	//       "required": true,
28577	//       "type": "string"
28578	//     },
28579	//     "profileId": {
28580	//       "description": "User profile ID associated with this request.",
28581	//       "format": "int64",
28582	//       "location": "path",
28583	//       "required": true,
28584	//       "type": "string"
28585	//     }
28586	//   },
28587	//   "path": "userprofiles/{profileId}/creatives/{id}",
28588	//   "response": {
28589	//     "$ref": "Creative"
28590	//   },
28591	//   "scopes": [
28592	//     "https://www.googleapis.com/auth/dfatrafficking"
28593	//   ]
28594	// }
28595
28596}
28597
28598// method id "dfareporting.creatives.insert":
28599
28600type CreativesInsertCall struct {
28601	s          *Service
28602	profileId  int64
28603	creative   *Creative
28604	urlParams_ gensupport.URLParams
28605	ctx_       context.Context
28606	header_    http.Header
28607}
28608
28609// Insert: Inserts a new creative.
28610func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
28611	c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28612	c.profileId = profileId
28613	c.creative = creative
28614	return c
28615}
28616
28617// Fields allows partial responses to be retrieved. See
28618// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28619// for more information.
28620func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
28621	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28622	return c
28623}
28624
28625// Context sets the context to be used in this call's Do method. Any
28626// pending HTTP request will be aborted if the provided context is
28627// canceled.
28628func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
28629	c.ctx_ = ctx
28630	return c
28631}
28632
28633// Header returns an http.Header that can be modified by the caller to
28634// add HTTP headers to the request.
28635func (c *CreativesInsertCall) Header() http.Header {
28636	if c.header_ == nil {
28637		c.header_ = make(http.Header)
28638	}
28639	return c.header_
28640}
28641
28642func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
28643	reqHeaders := make(http.Header)
28644	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
28645	for k, v := range c.header_ {
28646		reqHeaders[k] = v
28647	}
28648	reqHeaders.Set("User-Agent", c.s.userAgent())
28649	var body io.Reader = nil
28650	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
28651	if err != nil {
28652		return nil, err
28653	}
28654	reqHeaders.Set("Content-Type", "application/json")
28655	c.urlParams_.Set("alt", alt)
28656	c.urlParams_.Set("prettyPrint", "false")
28657	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28658	urls += "?" + c.urlParams_.Encode()
28659	req, err := http.NewRequest("POST", urls, body)
28660	if err != nil {
28661		return nil, err
28662	}
28663	req.Header = reqHeaders
28664	googleapi.Expand(req.URL, map[string]string{
28665		"profileId": strconv.FormatInt(c.profileId, 10),
28666	})
28667	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28668}
28669
28670// Do executes the "dfareporting.creatives.insert" call.
28671// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28672// code is an error. Response headers are in either
28673// *Creative.ServerResponse.Header or (if a response was returned at
28674// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28675// to check whether the returned error was because
28676// http.StatusNotModified was returned.
28677func (c *CreativesInsertCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28678	gensupport.SetOptions(c.urlParams_, opts...)
28679	res, err := c.doRequest("json")
28680	if res != nil && res.StatusCode == http.StatusNotModified {
28681		if res.Body != nil {
28682			res.Body.Close()
28683		}
28684		return nil, &googleapi.Error{
28685			Code:   res.StatusCode,
28686			Header: res.Header,
28687		}
28688	}
28689	if err != nil {
28690		return nil, err
28691	}
28692	defer googleapi.CloseBody(res)
28693	if err := googleapi.CheckResponse(res); err != nil {
28694		return nil, err
28695	}
28696	ret := &Creative{
28697		ServerResponse: googleapi.ServerResponse{
28698			Header:         res.Header,
28699			HTTPStatusCode: res.StatusCode,
28700		},
28701	}
28702	target := &ret
28703	if err := gensupport.DecodeResponse(target, res); err != nil {
28704		return nil, err
28705	}
28706	return ret, nil
28707	// {
28708	//   "description": "Inserts a new creative.",
28709	//   "httpMethod": "POST",
28710	//   "id": "dfareporting.creatives.insert",
28711	//   "parameterOrder": [
28712	//     "profileId"
28713	//   ],
28714	//   "parameters": {
28715	//     "profileId": {
28716	//       "description": "User profile ID associated with this request.",
28717	//       "format": "int64",
28718	//       "location": "path",
28719	//       "required": true,
28720	//       "type": "string"
28721	//     }
28722	//   },
28723	//   "path": "userprofiles/{profileId}/creatives",
28724	//   "request": {
28725	//     "$ref": "Creative"
28726	//   },
28727	//   "response": {
28728	//     "$ref": "Creative"
28729	//   },
28730	//   "scopes": [
28731	//     "https://www.googleapis.com/auth/dfatrafficking"
28732	//   ]
28733	// }
28734
28735}
28736
28737// method id "dfareporting.creatives.list":
28738
28739type CreativesListCall struct {
28740	s            *Service
28741	profileId    int64
28742	urlParams_   gensupport.URLParams
28743	ifNoneMatch_ string
28744	ctx_         context.Context
28745	header_      http.Header
28746}
28747
28748// List: Retrieves a list of creatives, possibly filtered. This method
28749// supports paging.
28750func (r *CreativesService) List(profileId int64) *CreativesListCall {
28751	c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28752	c.profileId = profileId
28753	return c
28754}
28755
28756// Active sets the optional parameter "active": Select only active
28757// creatives. Leave blank to select active and inactive creatives.
28758func (c *CreativesListCall) Active(active bool) *CreativesListCall {
28759	c.urlParams_.Set("active", fmt.Sprint(active))
28760	return c
28761}
28762
28763// AdvertiserId sets the optional parameter "advertiserId": Select only
28764// creatives with this advertiser ID.
28765func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
28766	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
28767	return c
28768}
28769
28770// Archived sets the optional parameter "archived": Select only archived
28771// creatives. Leave blank to select archived and unarchived creatives.
28772func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
28773	c.urlParams_.Set("archived", fmt.Sprint(archived))
28774	return c
28775}
28776
28777// CampaignId sets the optional parameter "campaignId": Select only
28778// creatives with this campaign ID.
28779func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
28780	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
28781	return c
28782}
28783
28784// CompanionCreativeIds sets the optional parameter
28785// "companionCreativeIds": Select only in-stream video creatives with
28786// these companion IDs.
28787func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds ...int64) *CreativesListCall {
28788	var companionCreativeIds_ []string
28789	for _, v := range companionCreativeIds {
28790		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprint(v))
28791	}
28792	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
28793	return c
28794}
28795
28796// CreativeFieldIds sets the optional parameter "creativeFieldIds":
28797// Select only creatives with these creative field IDs.
28798func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds ...int64) *CreativesListCall {
28799	var creativeFieldIds_ []string
28800	for _, v := range creativeFieldIds {
28801		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprint(v))
28802	}
28803	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
28804	return c
28805}
28806
28807// Ids sets the optional parameter "ids": Select only creatives with
28808// these IDs.
28809func (c *CreativesListCall) Ids(ids ...int64) *CreativesListCall {
28810	var ids_ []string
28811	for _, v := range ids {
28812		ids_ = append(ids_, fmt.Sprint(v))
28813	}
28814	c.urlParams_.SetMulti("ids", ids_)
28815	return c
28816}
28817
28818// MaxResults sets the optional parameter "maxResults": Maximum number
28819// of results to return.
28820func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
28821	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
28822	return c
28823}
28824
28825// PageToken sets the optional parameter "pageToken": Value of the
28826// nextPageToken from the previous result page.
28827func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
28828	c.urlParams_.Set("pageToken", pageToken)
28829	return c
28830}
28831
28832// RenderingIds sets the optional parameter "renderingIds": Select only
28833// creatives with these rendering IDs.
28834func (c *CreativesListCall) RenderingIds(renderingIds ...int64) *CreativesListCall {
28835	var renderingIds_ []string
28836	for _, v := range renderingIds {
28837		renderingIds_ = append(renderingIds_, fmt.Sprint(v))
28838	}
28839	c.urlParams_.SetMulti("renderingIds", renderingIds_)
28840	return c
28841}
28842
28843// SearchString sets the optional parameter "searchString": Allows
28844// searching for objects by name or ID. Wildcards (*) are allowed. For
28845// example, "creative*2015" will return objects with names like
28846// "creative June 2015", "creative April 2015", or simply "creative
28847// 2015". Most of the searches also add wildcards implicitly at the
28848// start and the end of the search string. For example, a search string
28849// of "creative" will match objects with name "my creative", "creative
28850// 2015", or simply "creative".
28851func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
28852	c.urlParams_.Set("searchString", searchString)
28853	return c
28854}
28855
28856// SizeIds sets the optional parameter "sizeIds": Select only creatives
28857// with these size IDs.
28858func (c *CreativesListCall) SizeIds(sizeIds ...int64) *CreativesListCall {
28859	var sizeIds_ []string
28860	for _, v := range sizeIds {
28861		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
28862	}
28863	c.urlParams_.SetMulti("sizeIds", sizeIds_)
28864	return c
28865}
28866
28867// SortField sets the optional parameter "sortField": Field by which to
28868// sort the list.
28869//
28870// Possible values:
28871//   "ID" (default)
28872//   "NAME"
28873func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
28874	c.urlParams_.Set("sortField", sortField)
28875	return c
28876}
28877
28878// SortOrder sets the optional parameter "sortOrder": Order of sorted
28879// results.
28880//
28881// Possible values:
28882//   "ASCENDING" (default)
28883//   "DESCENDING"
28884func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
28885	c.urlParams_.Set("sortOrder", sortOrder)
28886	return c
28887}
28888
28889// StudioCreativeId sets the optional parameter "studioCreativeId":
28890// Select only creatives corresponding to this Studio creative ID.
28891func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
28892	c.urlParams_.Set("studioCreativeId", fmt.Sprint(studioCreativeId))
28893	return c
28894}
28895
28896// Types sets the optional parameter "types": Select only creatives with
28897// these creative types.
28898//
28899// Possible values:
28900//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
28901//   "CUSTOM_DISPLAY"
28902//   "CUSTOM_DISPLAY_INTERSTITIAL"
28903//   "DISPLAY"
28904//   "DISPLAY_IMAGE_GALLERY"
28905//   "DISPLAY_REDIRECT"
28906//   "FLASH_INPAGE"
28907//   "HTML5_BANNER"
28908//   "IMAGE"
28909//   "INSTREAM_AUDIO"
28910//   "INSTREAM_VIDEO"
28911//   "INSTREAM_VIDEO_REDIRECT"
28912//   "INTERNAL_REDIRECT"
28913//   "INTERSTITIAL_INTERNAL_REDIRECT"
28914//   "RICH_MEDIA_DISPLAY_BANNER"
28915//   "RICH_MEDIA_DISPLAY_EXPANDING"
28916//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
28917//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
28918//   "RICH_MEDIA_IM_EXPAND"
28919//   "RICH_MEDIA_INPAGE_FLOATING"
28920//   "RICH_MEDIA_MOBILE_IN_APP"
28921//   "RICH_MEDIA_PEEL_DOWN"
28922//   "TRACKING_TEXT"
28923//   "VPAID_LINEAR_VIDEO"
28924//   "VPAID_NON_LINEAR_VIDEO"
28925func (c *CreativesListCall) Types(types ...string) *CreativesListCall {
28926	c.urlParams_.SetMulti("types", append([]string{}, types...))
28927	return c
28928}
28929
28930// Fields allows partial responses to be retrieved. See
28931// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28932// for more information.
28933func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
28934	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28935	return c
28936}
28937
28938// IfNoneMatch sets the optional parameter which makes the operation
28939// fail if the object's ETag matches the given value. This is useful for
28940// getting updates only after the object has changed since the last
28941// request. Use googleapi.IsNotModified to check whether the response
28942// error from Do is the result of In-None-Match.
28943func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
28944	c.ifNoneMatch_ = entityTag
28945	return c
28946}
28947
28948// Context sets the context to be used in this call's Do method. Any
28949// pending HTTP request will be aborted if the provided context is
28950// canceled.
28951func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
28952	c.ctx_ = ctx
28953	return c
28954}
28955
28956// Header returns an http.Header that can be modified by the caller to
28957// add HTTP headers to the request.
28958func (c *CreativesListCall) Header() http.Header {
28959	if c.header_ == nil {
28960		c.header_ = make(http.Header)
28961	}
28962	return c.header_
28963}
28964
28965func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
28966	reqHeaders := make(http.Header)
28967	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
28968	for k, v := range c.header_ {
28969		reqHeaders[k] = v
28970	}
28971	reqHeaders.Set("User-Agent", c.s.userAgent())
28972	if c.ifNoneMatch_ != "" {
28973		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28974	}
28975	var body io.Reader = nil
28976	c.urlParams_.Set("alt", alt)
28977	c.urlParams_.Set("prettyPrint", "false")
28978	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28979	urls += "?" + c.urlParams_.Encode()
28980	req, err := http.NewRequest("GET", urls, body)
28981	if err != nil {
28982		return nil, err
28983	}
28984	req.Header = reqHeaders
28985	googleapi.Expand(req.URL, map[string]string{
28986		"profileId": strconv.FormatInt(c.profileId, 10),
28987	})
28988	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28989}
28990
28991// Do executes the "dfareporting.creatives.list" call.
28992// Exactly one of *CreativesListResponse or error will be non-nil. Any
28993// non-2xx status code is an error. Response headers are in either
28994// *CreativesListResponse.ServerResponse.Header or (if a response was
28995// returned at all) in error.(*googleapi.Error).Header. Use
28996// googleapi.IsNotModified to check whether the returned error was
28997// because http.StatusNotModified was returned.
28998func (c *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesListResponse, error) {
28999	gensupport.SetOptions(c.urlParams_, opts...)
29000	res, err := c.doRequest("json")
29001	if res != nil && res.StatusCode == http.StatusNotModified {
29002		if res.Body != nil {
29003			res.Body.Close()
29004		}
29005		return nil, &googleapi.Error{
29006			Code:   res.StatusCode,
29007			Header: res.Header,
29008		}
29009	}
29010	if err != nil {
29011		return nil, err
29012	}
29013	defer googleapi.CloseBody(res)
29014	if err := googleapi.CheckResponse(res); err != nil {
29015		return nil, err
29016	}
29017	ret := &CreativesListResponse{
29018		ServerResponse: googleapi.ServerResponse{
29019			Header:         res.Header,
29020			HTTPStatusCode: res.StatusCode,
29021		},
29022	}
29023	target := &ret
29024	if err := gensupport.DecodeResponse(target, res); err != nil {
29025		return nil, err
29026	}
29027	return ret, nil
29028	// {
29029	//   "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
29030	//   "httpMethod": "GET",
29031	//   "id": "dfareporting.creatives.list",
29032	//   "parameterOrder": [
29033	//     "profileId"
29034	//   ],
29035	//   "parameters": {
29036	//     "active": {
29037	//       "description": "Select only active creatives. Leave blank to select active and inactive creatives.",
29038	//       "location": "query",
29039	//       "type": "boolean"
29040	//     },
29041	//     "advertiserId": {
29042	//       "description": "Select only creatives with this advertiser ID.",
29043	//       "format": "int64",
29044	//       "location": "query",
29045	//       "type": "string"
29046	//     },
29047	//     "archived": {
29048	//       "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.",
29049	//       "location": "query",
29050	//       "type": "boolean"
29051	//     },
29052	//     "campaignId": {
29053	//       "description": "Select only creatives with this campaign ID.",
29054	//       "format": "int64",
29055	//       "location": "query",
29056	//       "type": "string"
29057	//     },
29058	//     "companionCreativeIds": {
29059	//       "description": "Select only in-stream video creatives with these companion IDs.",
29060	//       "format": "int64",
29061	//       "location": "query",
29062	//       "repeated": true,
29063	//       "type": "string"
29064	//     },
29065	//     "creativeFieldIds": {
29066	//       "description": "Select only creatives with these creative field IDs.",
29067	//       "format": "int64",
29068	//       "location": "query",
29069	//       "repeated": true,
29070	//       "type": "string"
29071	//     },
29072	//     "ids": {
29073	//       "description": "Select only creatives with these IDs.",
29074	//       "format": "int64",
29075	//       "location": "query",
29076	//       "repeated": true,
29077	//       "type": "string"
29078	//     },
29079	//     "maxResults": {
29080	//       "default": "1000",
29081	//       "description": "Maximum number of results to return.",
29082	//       "format": "int32",
29083	//       "location": "query",
29084	//       "maximum": "1000",
29085	//       "minimum": "0",
29086	//       "type": "integer"
29087	//     },
29088	//     "pageToken": {
29089	//       "description": "Value of the nextPageToken from the previous result page.",
29090	//       "location": "query",
29091	//       "type": "string"
29092	//     },
29093	//     "profileId": {
29094	//       "description": "User profile ID associated with this request.",
29095	//       "format": "int64",
29096	//       "location": "path",
29097	//       "required": true,
29098	//       "type": "string"
29099	//     },
29100	//     "renderingIds": {
29101	//       "description": "Select only creatives with these rendering IDs.",
29102	//       "format": "int64",
29103	//       "location": "query",
29104	//       "repeated": true,
29105	//       "type": "string"
29106	//     },
29107	//     "searchString": {
29108	//       "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\".",
29109	//       "location": "query",
29110	//       "type": "string"
29111	//     },
29112	//     "sizeIds": {
29113	//       "description": "Select only creatives with these size IDs.",
29114	//       "format": "int64",
29115	//       "location": "query",
29116	//       "repeated": true,
29117	//       "type": "string"
29118	//     },
29119	//     "sortField": {
29120	//       "default": "ID",
29121	//       "description": "Field by which to sort the list.",
29122	//       "enum": [
29123	//         "ID",
29124	//         "NAME"
29125	//       ],
29126	//       "enumDescriptions": [
29127	//         "",
29128	//         ""
29129	//       ],
29130	//       "location": "query",
29131	//       "type": "string"
29132	//     },
29133	//     "sortOrder": {
29134	//       "default": "ASCENDING",
29135	//       "description": "Order of sorted results.",
29136	//       "enum": [
29137	//         "ASCENDING",
29138	//         "DESCENDING"
29139	//       ],
29140	//       "enumDescriptions": [
29141	//         "",
29142	//         ""
29143	//       ],
29144	//       "location": "query",
29145	//       "type": "string"
29146	//     },
29147	//     "studioCreativeId": {
29148	//       "description": "Select only creatives corresponding to this Studio creative ID.",
29149	//       "format": "int64",
29150	//       "location": "query",
29151	//       "type": "string"
29152	//     },
29153	//     "types": {
29154	//       "description": "Select only creatives with these creative types.",
29155	//       "enum": [
29156	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
29157	//         "CUSTOM_DISPLAY",
29158	//         "CUSTOM_DISPLAY_INTERSTITIAL",
29159	//         "DISPLAY",
29160	//         "DISPLAY_IMAGE_GALLERY",
29161	//         "DISPLAY_REDIRECT",
29162	//         "FLASH_INPAGE",
29163	//         "HTML5_BANNER",
29164	//         "IMAGE",
29165	//         "INSTREAM_AUDIO",
29166	//         "INSTREAM_VIDEO",
29167	//         "INSTREAM_VIDEO_REDIRECT",
29168	//         "INTERNAL_REDIRECT",
29169	//         "INTERSTITIAL_INTERNAL_REDIRECT",
29170	//         "RICH_MEDIA_DISPLAY_BANNER",
29171	//         "RICH_MEDIA_DISPLAY_EXPANDING",
29172	//         "RICH_MEDIA_DISPLAY_INTERSTITIAL",
29173	//         "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
29174	//         "RICH_MEDIA_IM_EXPAND",
29175	//         "RICH_MEDIA_INPAGE_FLOATING",
29176	//         "RICH_MEDIA_MOBILE_IN_APP",
29177	//         "RICH_MEDIA_PEEL_DOWN",
29178	//         "TRACKING_TEXT",
29179	//         "VPAID_LINEAR_VIDEO",
29180	//         "VPAID_NON_LINEAR_VIDEO"
29181	//       ],
29182	//       "enumDescriptions": [
29183	//         "",
29184	//         "",
29185	//         "",
29186	//         "",
29187	//         "",
29188	//         "",
29189	//         "",
29190	//         "",
29191	//         "",
29192	//         "",
29193	//         "",
29194	//         "",
29195	//         "",
29196	//         "",
29197	//         "",
29198	//         "",
29199	//         "",
29200	//         "",
29201	//         "",
29202	//         "",
29203	//         "",
29204	//         "",
29205	//         "",
29206	//         "",
29207	//         ""
29208	//       ],
29209	//       "location": "query",
29210	//       "repeated": true,
29211	//       "type": "string"
29212	//     }
29213	//   },
29214	//   "path": "userprofiles/{profileId}/creatives",
29215	//   "response": {
29216	//     "$ref": "CreativesListResponse"
29217	//   },
29218	//   "scopes": [
29219	//     "https://www.googleapis.com/auth/dfatrafficking"
29220	//   ]
29221	// }
29222
29223}
29224
29225// Pages invokes f for each page of results.
29226// A non-nil error returned from f will halt the iteration.
29227// The provided context supersedes any context provided to the Context method.
29228func (c *CreativesListCall) Pages(ctx context.Context, f func(*CreativesListResponse) error) error {
29229	c.ctx_ = ctx
29230	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29231	for {
29232		x, err := c.Do()
29233		if err != nil {
29234			return err
29235		}
29236		if err := f(x); err != nil {
29237			return err
29238		}
29239		if x.NextPageToken == "" {
29240			return nil
29241		}
29242		c.PageToken(x.NextPageToken)
29243	}
29244}
29245
29246// method id "dfareporting.creatives.patch":
29247
29248type CreativesPatchCall struct {
29249	s          *Service
29250	profileId  int64
29251	creative   *Creative
29252	urlParams_ gensupport.URLParams
29253	ctx_       context.Context
29254	header_    http.Header
29255}
29256
29257// Patch: Updates an existing creative. This method supports patch
29258// semantics.
29259func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
29260	c := &CreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29261	c.profileId = profileId
29262	c.urlParams_.Set("id", fmt.Sprint(id))
29263	c.creative = creative
29264	return c
29265}
29266
29267// Fields allows partial responses to be retrieved. See
29268// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29269// for more information.
29270func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
29271	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29272	return c
29273}
29274
29275// Context sets the context to be used in this call's Do method. Any
29276// pending HTTP request will be aborted if the provided context is
29277// canceled.
29278func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
29279	c.ctx_ = ctx
29280	return c
29281}
29282
29283// Header returns an http.Header that can be modified by the caller to
29284// add HTTP headers to the request.
29285func (c *CreativesPatchCall) Header() http.Header {
29286	if c.header_ == nil {
29287		c.header_ = make(http.Header)
29288	}
29289	return c.header_
29290}
29291
29292func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
29293	reqHeaders := make(http.Header)
29294	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
29295	for k, v := range c.header_ {
29296		reqHeaders[k] = v
29297	}
29298	reqHeaders.Set("User-Agent", c.s.userAgent())
29299	var body io.Reader = nil
29300	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
29301	if err != nil {
29302		return nil, err
29303	}
29304	reqHeaders.Set("Content-Type", "application/json")
29305	c.urlParams_.Set("alt", alt)
29306	c.urlParams_.Set("prettyPrint", "false")
29307	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
29308	urls += "?" + c.urlParams_.Encode()
29309	req, err := http.NewRequest("PATCH", urls, body)
29310	if err != nil {
29311		return nil, err
29312	}
29313	req.Header = reqHeaders
29314	googleapi.Expand(req.URL, map[string]string{
29315		"profileId": strconv.FormatInt(c.profileId, 10),
29316	})
29317	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29318}
29319
29320// Do executes the "dfareporting.creatives.patch" call.
29321// Exactly one of *Creative or error will be non-nil. Any non-2xx status
29322// code is an error. Response headers are in either
29323// *Creative.ServerResponse.Header or (if a response was returned at
29324// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
29325// to check whether the returned error was because
29326// http.StatusNotModified was returned.
29327func (c *CreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
29328	gensupport.SetOptions(c.urlParams_, opts...)
29329	res, err := c.doRequest("json")
29330	if res != nil && res.StatusCode == http.StatusNotModified {
29331		if res.Body != nil {
29332			res.Body.Close()
29333		}
29334		return nil, &googleapi.Error{
29335			Code:   res.StatusCode,
29336			Header: res.Header,
29337		}
29338	}
29339	if err != nil {
29340		return nil, err
29341	}
29342	defer googleapi.CloseBody(res)
29343	if err := googleapi.CheckResponse(res); err != nil {
29344		return nil, err
29345	}
29346	ret := &Creative{
29347		ServerResponse: googleapi.ServerResponse{
29348			Header:         res.Header,
29349			HTTPStatusCode: res.StatusCode,
29350		},
29351	}
29352	target := &ret
29353	if err := gensupport.DecodeResponse(target, res); err != nil {
29354		return nil, err
29355	}
29356	return ret, nil
29357	// {
29358	//   "description": "Updates an existing creative. This method supports patch semantics.",
29359	//   "httpMethod": "PATCH",
29360	//   "id": "dfareporting.creatives.patch",
29361	//   "parameterOrder": [
29362	//     "profileId",
29363	//     "id"
29364	//   ],
29365	//   "parameters": {
29366	//     "id": {
29367	//       "description": "Creative ID.",
29368	//       "format": "int64",
29369	//       "location": "query",
29370	//       "required": true,
29371	//       "type": "string"
29372	//     },
29373	//     "profileId": {
29374	//       "description": "User profile ID associated with this request.",
29375	//       "format": "int64",
29376	//       "location": "path",
29377	//       "required": true,
29378	//       "type": "string"
29379	//     }
29380	//   },
29381	//   "path": "userprofiles/{profileId}/creatives",
29382	//   "request": {
29383	//     "$ref": "Creative"
29384	//   },
29385	//   "response": {
29386	//     "$ref": "Creative"
29387	//   },
29388	//   "scopes": [
29389	//     "https://www.googleapis.com/auth/dfatrafficking"
29390	//   ]
29391	// }
29392
29393}
29394
29395// method id "dfareporting.creatives.update":
29396
29397type CreativesUpdateCall struct {
29398	s          *Service
29399	profileId  int64
29400	creative   *Creative
29401	urlParams_ gensupport.URLParams
29402	ctx_       context.Context
29403	header_    http.Header
29404}
29405
29406// Update: Updates an existing creative.
29407func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
29408	c := &CreativesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29409	c.profileId = profileId
29410	c.creative = creative
29411	return c
29412}
29413
29414// Fields allows partial responses to be retrieved. See
29415// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29416// for more information.
29417func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
29418	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29419	return c
29420}
29421
29422// Context sets the context to be used in this call's Do method. Any
29423// pending HTTP request will be aborted if the provided context is
29424// canceled.
29425func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
29426	c.ctx_ = ctx
29427	return c
29428}
29429
29430// Header returns an http.Header that can be modified by the caller to
29431// add HTTP headers to the request.
29432func (c *CreativesUpdateCall) Header() http.Header {
29433	if c.header_ == nil {
29434		c.header_ = make(http.Header)
29435	}
29436	return c.header_
29437}
29438
29439func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
29440	reqHeaders := make(http.Header)
29441	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
29442	for k, v := range c.header_ {
29443		reqHeaders[k] = v
29444	}
29445	reqHeaders.Set("User-Agent", c.s.userAgent())
29446	var body io.Reader = nil
29447	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
29448	if err != nil {
29449		return nil, err
29450	}
29451	reqHeaders.Set("Content-Type", "application/json")
29452	c.urlParams_.Set("alt", alt)
29453	c.urlParams_.Set("prettyPrint", "false")
29454	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
29455	urls += "?" + c.urlParams_.Encode()
29456	req, err := http.NewRequest("PUT", urls, body)
29457	if err != nil {
29458		return nil, err
29459	}
29460	req.Header = reqHeaders
29461	googleapi.Expand(req.URL, map[string]string{
29462		"profileId": strconv.FormatInt(c.profileId, 10),
29463	})
29464	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29465}
29466
29467// Do executes the "dfareporting.creatives.update" call.
29468// Exactly one of *Creative or error will be non-nil. Any non-2xx status
29469// code is an error. Response headers are in either
29470// *Creative.ServerResponse.Header or (if a response was returned at
29471// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
29472// to check whether the returned error was because
29473// http.StatusNotModified was returned.
29474func (c *CreativesUpdateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
29475	gensupport.SetOptions(c.urlParams_, opts...)
29476	res, err := c.doRequest("json")
29477	if res != nil && res.StatusCode == http.StatusNotModified {
29478		if res.Body != nil {
29479			res.Body.Close()
29480		}
29481		return nil, &googleapi.Error{
29482			Code:   res.StatusCode,
29483			Header: res.Header,
29484		}
29485	}
29486	if err != nil {
29487		return nil, err
29488	}
29489	defer googleapi.CloseBody(res)
29490	if err := googleapi.CheckResponse(res); err != nil {
29491		return nil, err
29492	}
29493	ret := &Creative{
29494		ServerResponse: googleapi.ServerResponse{
29495			Header:         res.Header,
29496			HTTPStatusCode: res.StatusCode,
29497		},
29498	}
29499	target := &ret
29500	if err := gensupport.DecodeResponse(target, res); err != nil {
29501		return nil, err
29502	}
29503	return ret, nil
29504	// {
29505	//   "description": "Updates an existing creative.",
29506	//   "httpMethod": "PUT",
29507	//   "id": "dfareporting.creatives.update",
29508	//   "parameterOrder": [
29509	//     "profileId"
29510	//   ],
29511	//   "parameters": {
29512	//     "profileId": {
29513	//       "description": "User profile ID associated with this request.",
29514	//       "format": "int64",
29515	//       "location": "path",
29516	//       "required": true,
29517	//       "type": "string"
29518	//     }
29519	//   },
29520	//   "path": "userprofiles/{profileId}/creatives",
29521	//   "request": {
29522	//     "$ref": "Creative"
29523	//   },
29524	//   "response": {
29525	//     "$ref": "Creative"
29526	//   },
29527	//   "scopes": [
29528	//     "https://www.googleapis.com/auth/dfatrafficking"
29529	//   ]
29530	// }
29531
29532}
29533
29534// method id "dfareporting.customEvents.batchinsert":
29535
29536type CustomEventsBatchinsertCall struct {
29537	s                              *Service
29538	profileId                      int64
29539	customeventsbatchinsertrequest *CustomEventsBatchInsertRequest
29540	urlParams_                     gensupport.URLParams
29541	ctx_                           context.Context
29542	header_                        http.Header
29543}
29544
29545// Batchinsert: Inserts custom events.
29546func (r *CustomEventsService) Batchinsert(profileId int64, customeventsbatchinsertrequest *CustomEventsBatchInsertRequest) *CustomEventsBatchinsertCall {
29547	c := &CustomEventsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29548	c.profileId = profileId
29549	c.customeventsbatchinsertrequest = customeventsbatchinsertrequest
29550	return c
29551}
29552
29553// Fields allows partial responses to be retrieved. See
29554// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29555// for more information.
29556func (c *CustomEventsBatchinsertCall) Fields(s ...googleapi.Field) *CustomEventsBatchinsertCall {
29557	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29558	return c
29559}
29560
29561// Context sets the context to be used in this call's Do method. Any
29562// pending HTTP request will be aborted if the provided context is
29563// canceled.
29564func (c *CustomEventsBatchinsertCall) Context(ctx context.Context) *CustomEventsBatchinsertCall {
29565	c.ctx_ = ctx
29566	return c
29567}
29568
29569// Header returns an http.Header that can be modified by the caller to
29570// add HTTP headers to the request.
29571func (c *CustomEventsBatchinsertCall) Header() http.Header {
29572	if c.header_ == nil {
29573		c.header_ = make(http.Header)
29574	}
29575	return c.header_
29576}
29577
29578func (c *CustomEventsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
29579	reqHeaders := make(http.Header)
29580	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
29581	for k, v := range c.header_ {
29582		reqHeaders[k] = v
29583	}
29584	reqHeaders.Set("User-Agent", c.s.userAgent())
29585	var body io.Reader = nil
29586	body, err := googleapi.WithoutDataWrapper.JSONReader(c.customeventsbatchinsertrequest)
29587	if err != nil {
29588		return nil, err
29589	}
29590	reqHeaders.Set("Content-Type", "application/json")
29591	c.urlParams_.Set("alt", alt)
29592	c.urlParams_.Set("prettyPrint", "false")
29593	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/customEvents/batchinsert")
29594	urls += "?" + c.urlParams_.Encode()
29595	req, err := http.NewRequest("POST", urls, body)
29596	if err != nil {
29597		return nil, err
29598	}
29599	req.Header = reqHeaders
29600	googleapi.Expand(req.URL, map[string]string{
29601		"profileId": strconv.FormatInt(c.profileId, 10),
29602	})
29603	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29604}
29605
29606// Do executes the "dfareporting.customEvents.batchinsert" call.
29607// Exactly one of *CustomEventsBatchInsertResponse or error will be
29608// non-nil. Any non-2xx status code is an error. Response headers are in
29609// either *CustomEventsBatchInsertResponse.ServerResponse.Header or (if
29610// a response was returned at all) in error.(*googleapi.Error).Header.
29611// Use googleapi.IsNotModified to check whether the returned error was
29612// because http.StatusNotModified was returned.
29613func (c *CustomEventsBatchinsertCall) Do(opts ...googleapi.CallOption) (*CustomEventsBatchInsertResponse, error) {
29614	gensupport.SetOptions(c.urlParams_, opts...)
29615	res, err := c.doRequest("json")
29616	if res != nil && res.StatusCode == http.StatusNotModified {
29617		if res.Body != nil {
29618			res.Body.Close()
29619		}
29620		return nil, &googleapi.Error{
29621			Code:   res.StatusCode,
29622			Header: res.Header,
29623		}
29624	}
29625	if err != nil {
29626		return nil, err
29627	}
29628	defer googleapi.CloseBody(res)
29629	if err := googleapi.CheckResponse(res); err != nil {
29630		return nil, err
29631	}
29632	ret := &CustomEventsBatchInsertResponse{
29633		ServerResponse: googleapi.ServerResponse{
29634			Header:         res.Header,
29635			HTTPStatusCode: res.StatusCode,
29636		},
29637	}
29638	target := &ret
29639	if err := gensupport.DecodeResponse(target, res); err != nil {
29640		return nil, err
29641	}
29642	return ret, nil
29643	// {
29644	//   "description": "Inserts custom events.",
29645	//   "httpMethod": "POST",
29646	//   "id": "dfareporting.customEvents.batchinsert",
29647	//   "parameterOrder": [
29648	//     "profileId"
29649	//   ],
29650	//   "parameters": {
29651	//     "profileId": {
29652	//       "description": "User profile ID associated with this request.",
29653	//       "format": "int64",
29654	//       "location": "path",
29655	//       "required": true,
29656	//       "type": "string"
29657	//     }
29658	//   },
29659	//   "path": "userprofiles/{profileId}/customEvents/batchinsert",
29660	//   "request": {
29661	//     "$ref": "CustomEventsBatchInsertRequest"
29662	//   },
29663	//   "response": {
29664	//     "$ref": "CustomEventsBatchInsertResponse"
29665	//   },
29666	//   "scopes": [
29667	//     "https://www.googleapis.com/auth/ddmconversions"
29668	//   ]
29669	// }
29670
29671}
29672
29673// method id "dfareporting.dimensionValues.query":
29674
29675type DimensionValuesQueryCall struct {
29676	s                     *Service
29677	profileId             int64
29678	dimensionvaluerequest *DimensionValueRequest
29679	urlParams_            gensupport.URLParams
29680	ctx_                  context.Context
29681	header_               http.Header
29682}
29683
29684// Query: Retrieves list of report dimension values for a list of
29685// filters.
29686func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
29687	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29688	c.profileId = profileId
29689	c.dimensionvaluerequest = dimensionvaluerequest
29690	return c
29691}
29692
29693// MaxResults sets the optional parameter "maxResults": Maximum number
29694// of results to return.
29695func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
29696	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
29697	return c
29698}
29699
29700// PageToken sets the optional parameter "pageToken": The value of the
29701// nextToken from the previous result page.
29702func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
29703	c.urlParams_.Set("pageToken", pageToken)
29704	return c
29705}
29706
29707// Fields allows partial responses to be retrieved. See
29708// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29709// for more information.
29710func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
29711	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29712	return c
29713}
29714
29715// Context sets the context to be used in this call's Do method. Any
29716// pending HTTP request will be aborted if the provided context is
29717// canceled.
29718func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
29719	c.ctx_ = ctx
29720	return c
29721}
29722
29723// Header returns an http.Header that can be modified by the caller to
29724// add HTTP headers to the request.
29725func (c *DimensionValuesQueryCall) Header() http.Header {
29726	if c.header_ == nil {
29727		c.header_ = make(http.Header)
29728	}
29729	return c.header_
29730}
29731
29732func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
29733	reqHeaders := make(http.Header)
29734	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
29735	for k, v := range c.header_ {
29736		reqHeaders[k] = v
29737	}
29738	reqHeaders.Set("User-Agent", c.s.userAgent())
29739	var body io.Reader = nil
29740	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dimensionvaluerequest)
29741	if err != nil {
29742		return nil, err
29743	}
29744	reqHeaders.Set("Content-Type", "application/json")
29745	c.urlParams_.Set("alt", alt)
29746	c.urlParams_.Set("prettyPrint", "false")
29747	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
29748	urls += "?" + c.urlParams_.Encode()
29749	req, err := http.NewRequest("POST", urls, body)
29750	if err != nil {
29751		return nil, err
29752	}
29753	req.Header = reqHeaders
29754	googleapi.Expand(req.URL, map[string]string{
29755		"profileId": strconv.FormatInt(c.profileId, 10),
29756	})
29757	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29758}
29759
29760// Do executes the "dfareporting.dimensionValues.query" call.
29761// Exactly one of *DimensionValueList or error will be non-nil. Any
29762// non-2xx status code is an error. Response headers are in either
29763// *DimensionValueList.ServerResponse.Header or (if a response was
29764// returned at all) in error.(*googleapi.Error).Header. Use
29765// googleapi.IsNotModified to check whether the returned error was
29766// because http.StatusNotModified was returned.
29767func (c *DimensionValuesQueryCall) Do(opts ...googleapi.CallOption) (*DimensionValueList, error) {
29768	gensupport.SetOptions(c.urlParams_, opts...)
29769	res, err := c.doRequest("json")
29770	if res != nil && res.StatusCode == http.StatusNotModified {
29771		if res.Body != nil {
29772			res.Body.Close()
29773		}
29774		return nil, &googleapi.Error{
29775			Code:   res.StatusCode,
29776			Header: res.Header,
29777		}
29778	}
29779	if err != nil {
29780		return nil, err
29781	}
29782	defer googleapi.CloseBody(res)
29783	if err := googleapi.CheckResponse(res); err != nil {
29784		return nil, err
29785	}
29786	ret := &DimensionValueList{
29787		ServerResponse: googleapi.ServerResponse{
29788			Header:         res.Header,
29789			HTTPStatusCode: res.StatusCode,
29790		},
29791	}
29792	target := &ret
29793	if err := gensupport.DecodeResponse(target, res); err != nil {
29794		return nil, err
29795	}
29796	return ret, nil
29797	// {
29798	//   "description": "Retrieves list of report dimension values for a list of filters.",
29799	//   "httpMethod": "POST",
29800	//   "id": "dfareporting.dimensionValues.query",
29801	//   "parameterOrder": [
29802	//     "profileId"
29803	//   ],
29804	//   "parameters": {
29805	//     "maxResults": {
29806	//       "default": "100",
29807	//       "description": "Maximum number of results to return.",
29808	//       "format": "int32",
29809	//       "location": "query",
29810	//       "maximum": "100",
29811	//       "minimum": "0",
29812	//       "type": "integer"
29813	//     },
29814	//     "pageToken": {
29815	//       "description": "The value of the nextToken from the previous result page.",
29816	//       "location": "query",
29817	//       "type": "string"
29818	//     },
29819	//     "profileId": {
29820	//       "description": "The DFA user profile ID.",
29821	//       "format": "int64",
29822	//       "location": "path",
29823	//       "required": true,
29824	//       "type": "string"
29825	//     }
29826	//   },
29827	//   "path": "userprofiles/{profileId}/dimensionvalues/query",
29828	//   "request": {
29829	//     "$ref": "DimensionValueRequest"
29830	//   },
29831	//   "response": {
29832	//     "$ref": "DimensionValueList"
29833	//   },
29834	//   "scopes": [
29835	//     "https://www.googleapis.com/auth/dfareporting"
29836	//   ]
29837	// }
29838
29839}
29840
29841// Pages invokes f for each page of results.
29842// A non-nil error returned from f will halt the iteration.
29843// The provided context supersedes any context provided to the Context method.
29844func (c *DimensionValuesQueryCall) Pages(ctx context.Context, f func(*DimensionValueList) error) error {
29845	c.ctx_ = ctx
29846	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29847	for {
29848		x, err := c.Do()
29849		if err != nil {
29850			return err
29851		}
29852		if err := f(x); err != nil {
29853			return err
29854		}
29855		if x.NextPageToken == "" {
29856			return nil
29857		}
29858		c.PageToken(x.NextPageToken)
29859	}
29860}
29861
29862// method id "dfareporting.directorySites.get":
29863
29864type DirectorySitesGetCall struct {
29865	s            *Service
29866	profileId    int64
29867	id           int64
29868	urlParams_   gensupport.URLParams
29869	ifNoneMatch_ string
29870	ctx_         context.Context
29871	header_      http.Header
29872}
29873
29874// Get: Gets one directory site by ID.
29875func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
29876	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29877	c.profileId = profileId
29878	c.id = id
29879	return c
29880}
29881
29882// Fields allows partial responses to be retrieved. See
29883// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29884// for more information.
29885func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
29886	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29887	return c
29888}
29889
29890// IfNoneMatch sets the optional parameter which makes the operation
29891// fail if the object's ETag matches the given value. This is useful for
29892// getting updates only after the object has changed since the last
29893// request. Use googleapi.IsNotModified to check whether the response
29894// error from Do is the result of In-None-Match.
29895func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
29896	c.ifNoneMatch_ = entityTag
29897	return c
29898}
29899
29900// Context sets the context to be used in this call's Do method. Any
29901// pending HTTP request will be aborted if the provided context is
29902// canceled.
29903func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
29904	c.ctx_ = ctx
29905	return c
29906}
29907
29908// Header returns an http.Header that can be modified by the caller to
29909// add HTTP headers to the request.
29910func (c *DirectorySitesGetCall) Header() http.Header {
29911	if c.header_ == nil {
29912		c.header_ = make(http.Header)
29913	}
29914	return c.header_
29915}
29916
29917func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
29918	reqHeaders := make(http.Header)
29919	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
29920	for k, v := range c.header_ {
29921		reqHeaders[k] = v
29922	}
29923	reqHeaders.Set("User-Agent", c.s.userAgent())
29924	if c.ifNoneMatch_ != "" {
29925		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29926	}
29927	var body io.Reader = nil
29928	c.urlParams_.Set("alt", alt)
29929	c.urlParams_.Set("prettyPrint", "false")
29930	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
29931	urls += "?" + c.urlParams_.Encode()
29932	req, err := http.NewRequest("GET", urls, body)
29933	if err != nil {
29934		return nil, err
29935	}
29936	req.Header = reqHeaders
29937	googleapi.Expand(req.URL, map[string]string{
29938		"profileId": strconv.FormatInt(c.profileId, 10),
29939		"id":        strconv.FormatInt(c.id, 10),
29940	})
29941	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29942}
29943
29944// Do executes the "dfareporting.directorySites.get" call.
29945// Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
29946// status code is an error. Response headers are in either
29947// *DirectorySite.ServerResponse.Header or (if a response was returned
29948// at all) in error.(*googleapi.Error).Header. Use
29949// googleapi.IsNotModified to check whether the returned error was
29950// because http.StatusNotModified was returned.
29951func (c *DirectorySitesGetCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
29952	gensupport.SetOptions(c.urlParams_, opts...)
29953	res, err := c.doRequest("json")
29954	if res != nil && res.StatusCode == http.StatusNotModified {
29955		if res.Body != nil {
29956			res.Body.Close()
29957		}
29958		return nil, &googleapi.Error{
29959			Code:   res.StatusCode,
29960			Header: res.Header,
29961		}
29962	}
29963	if err != nil {
29964		return nil, err
29965	}
29966	defer googleapi.CloseBody(res)
29967	if err := googleapi.CheckResponse(res); err != nil {
29968		return nil, err
29969	}
29970	ret := &DirectorySite{
29971		ServerResponse: googleapi.ServerResponse{
29972			Header:         res.Header,
29973			HTTPStatusCode: res.StatusCode,
29974		},
29975	}
29976	target := &ret
29977	if err := gensupport.DecodeResponse(target, res); err != nil {
29978		return nil, err
29979	}
29980	return ret, nil
29981	// {
29982	//   "description": "Gets one directory site by ID.",
29983	//   "httpMethod": "GET",
29984	//   "id": "dfareporting.directorySites.get",
29985	//   "parameterOrder": [
29986	//     "profileId",
29987	//     "id"
29988	//   ],
29989	//   "parameters": {
29990	//     "id": {
29991	//       "description": "Directory site ID.",
29992	//       "format": "int64",
29993	//       "location": "path",
29994	//       "required": true,
29995	//       "type": "string"
29996	//     },
29997	//     "profileId": {
29998	//       "description": "User profile ID associated with this request.",
29999	//       "format": "int64",
30000	//       "location": "path",
30001	//       "required": true,
30002	//       "type": "string"
30003	//     }
30004	//   },
30005	//   "path": "userprofiles/{profileId}/directorySites/{id}",
30006	//   "response": {
30007	//     "$ref": "DirectorySite"
30008	//   },
30009	//   "scopes": [
30010	//     "https://www.googleapis.com/auth/dfatrafficking"
30011	//   ]
30012	// }
30013
30014}
30015
30016// method id "dfareporting.directorySites.insert":
30017
30018type DirectorySitesInsertCall struct {
30019	s             *Service
30020	profileId     int64
30021	directorysite *DirectorySite
30022	urlParams_    gensupport.URLParams
30023	ctx_          context.Context
30024	header_       http.Header
30025}
30026
30027// Insert: Inserts a new directory site.
30028func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
30029	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30030	c.profileId = profileId
30031	c.directorysite = directorysite
30032	return c
30033}
30034
30035// Fields allows partial responses to be retrieved. See
30036// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30037// for more information.
30038func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
30039	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30040	return c
30041}
30042
30043// Context sets the context to be used in this call's Do method. Any
30044// pending HTTP request will be aborted if the provided context is
30045// canceled.
30046func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
30047	c.ctx_ = ctx
30048	return c
30049}
30050
30051// Header returns an http.Header that can be modified by the caller to
30052// add HTTP headers to the request.
30053func (c *DirectorySitesInsertCall) Header() http.Header {
30054	if c.header_ == nil {
30055		c.header_ = make(http.Header)
30056	}
30057	return c.header_
30058}
30059
30060func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
30061	reqHeaders := make(http.Header)
30062	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
30063	for k, v := range c.header_ {
30064		reqHeaders[k] = v
30065	}
30066	reqHeaders.Set("User-Agent", c.s.userAgent())
30067	var body io.Reader = nil
30068	body, err := googleapi.WithoutDataWrapper.JSONReader(c.directorysite)
30069	if err != nil {
30070		return nil, err
30071	}
30072	reqHeaders.Set("Content-Type", "application/json")
30073	c.urlParams_.Set("alt", alt)
30074	c.urlParams_.Set("prettyPrint", "false")
30075	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
30076	urls += "?" + c.urlParams_.Encode()
30077	req, err := http.NewRequest("POST", urls, body)
30078	if err != nil {
30079		return nil, err
30080	}
30081	req.Header = reqHeaders
30082	googleapi.Expand(req.URL, map[string]string{
30083		"profileId": strconv.FormatInt(c.profileId, 10),
30084	})
30085	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30086}
30087
30088// Do executes the "dfareporting.directorySites.insert" call.
30089// Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
30090// status code is an error. Response headers are in either
30091// *DirectorySite.ServerResponse.Header or (if a response was returned
30092// at all) in error.(*googleapi.Error).Header. Use
30093// googleapi.IsNotModified to check whether the returned error was
30094// because http.StatusNotModified was returned.
30095func (c *DirectorySitesInsertCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
30096	gensupport.SetOptions(c.urlParams_, opts...)
30097	res, err := c.doRequest("json")
30098	if res != nil && res.StatusCode == http.StatusNotModified {
30099		if res.Body != nil {
30100			res.Body.Close()
30101		}
30102		return nil, &googleapi.Error{
30103			Code:   res.StatusCode,
30104			Header: res.Header,
30105		}
30106	}
30107	if err != nil {
30108		return nil, err
30109	}
30110	defer googleapi.CloseBody(res)
30111	if err := googleapi.CheckResponse(res); err != nil {
30112		return nil, err
30113	}
30114	ret := &DirectorySite{
30115		ServerResponse: googleapi.ServerResponse{
30116			Header:         res.Header,
30117			HTTPStatusCode: res.StatusCode,
30118		},
30119	}
30120	target := &ret
30121	if err := gensupport.DecodeResponse(target, res); err != nil {
30122		return nil, err
30123	}
30124	return ret, nil
30125	// {
30126	//   "description": "Inserts a new directory site.",
30127	//   "httpMethod": "POST",
30128	//   "id": "dfareporting.directorySites.insert",
30129	//   "parameterOrder": [
30130	//     "profileId"
30131	//   ],
30132	//   "parameters": {
30133	//     "profileId": {
30134	//       "description": "User profile ID associated with this request.",
30135	//       "format": "int64",
30136	//       "location": "path",
30137	//       "required": true,
30138	//       "type": "string"
30139	//     }
30140	//   },
30141	//   "path": "userprofiles/{profileId}/directorySites",
30142	//   "request": {
30143	//     "$ref": "DirectorySite"
30144	//   },
30145	//   "response": {
30146	//     "$ref": "DirectorySite"
30147	//   },
30148	//   "scopes": [
30149	//     "https://www.googleapis.com/auth/dfatrafficking"
30150	//   ]
30151	// }
30152
30153}
30154
30155// method id "dfareporting.directorySites.list":
30156
30157type DirectorySitesListCall struct {
30158	s            *Service
30159	profileId    int64
30160	urlParams_   gensupport.URLParams
30161	ifNoneMatch_ string
30162	ctx_         context.Context
30163	header_      http.Header
30164}
30165
30166// List: Retrieves a list of directory sites, possibly filtered. This
30167// method supports paging.
30168func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
30169	c := &DirectorySitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30170	c.profileId = profileId
30171	return c
30172}
30173
30174// AcceptsInStreamVideoPlacements sets the optional parameter
30175// "acceptsInStreamVideoPlacements": This search filter is no longer
30176// supported and will have no effect on the results returned.
30177func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
30178	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
30179	return c
30180}
30181
30182// AcceptsInterstitialPlacements sets the optional parameter
30183// "acceptsInterstitialPlacements": This search filter is no longer
30184// supported and will have no effect on the results returned.
30185func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
30186	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
30187	return c
30188}
30189
30190// AcceptsPublisherPaidPlacements sets the optional parameter
30191// "acceptsPublisherPaidPlacements": Select only directory sites that
30192// accept publisher paid placements. This field can be left blank.
30193func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
30194	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
30195	return c
30196}
30197
30198// Active sets the optional parameter "active": Select only active
30199// directory sites. Leave blank to retrieve both active and inactive
30200// directory sites.
30201func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
30202	c.urlParams_.Set("active", fmt.Sprint(active))
30203	return c
30204}
30205
30206// DfpNetworkCode sets the optional parameter "dfpNetworkCode": Select
30207// only directory sites with this Ad Manager network code.
30208func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
30209	c.urlParams_.Set("dfpNetworkCode", dfpNetworkCode)
30210	return c
30211}
30212
30213// Ids sets the optional parameter "ids": Select only directory sites
30214// with these IDs.
30215func (c *DirectorySitesListCall) Ids(ids ...int64) *DirectorySitesListCall {
30216	var ids_ []string
30217	for _, v := range ids {
30218		ids_ = append(ids_, fmt.Sprint(v))
30219	}
30220	c.urlParams_.SetMulti("ids", ids_)
30221	return c
30222}
30223
30224// MaxResults sets the optional parameter "maxResults": Maximum number
30225// of results to return.
30226func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
30227	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
30228	return c
30229}
30230
30231// PageToken sets the optional parameter "pageToken": Value of the
30232// nextPageToken from the previous result page.
30233func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
30234	c.urlParams_.Set("pageToken", pageToken)
30235	return c
30236}
30237
30238// SearchString sets the optional parameter "searchString": Allows
30239// searching for objects by name, ID or URL. Wildcards (*) are allowed.
30240// For example, "directory site*2015" will return objects with names
30241// like "directory site June 2015", "directory site April 2015", or
30242// simply "directory site 2015". Most of the searches also add wildcards
30243// implicitly at the start and the end of the search string. For
30244// example, a search string of "directory site" will match objects with
30245// name "my directory site", "directory site 2015" or simply, "directory
30246// site".
30247func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
30248	c.urlParams_.Set("searchString", searchString)
30249	return c
30250}
30251
30252// SortField sets the optional parameter "sortField": Field by which to
30253// sort the list.
30254//
30255// Possible values:
30256//   "ID" (default)
30257//   "NAME"
30258func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
30259	c.urlParams_.Set("sortField", sortField)
30260	return c
30261}
30262
30263// SortOrder sets the optional parameter "sortOrder": Order of sorted
30264// results.
30265//
30266// Possible values:
30267//   "ASCENDING" (default)
30268//   "DESCENDING"
30269func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
30270	c.urlParams_.Set("sortOrder", sortOrder)
30271	return c
30272}
30273
30274// Fields allows partial responses to be retrieved. See
30275// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30276// for more information.
30277func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
30278	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30279	return c
30280}
30281
30282// IfNoneMatch sets the optional parameter which makes the operation
30283// fail if the object's ETag matches the given value. This is useful for
30284// getting updates only after the object has changed since the last
30285// request. Use googleapi.IsNotModified to check whether the response
30286// error from Do is the result of In-None-Match.
30287func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
30288	c.ifNoneMatch_ = entityTag
30289	return c
30290}
30291
30292// Context sets the context to be used in this call's Do method. Any
30293// pending HTTP request will be aborted if the provided context is
30294// canceled.
30295func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
30296	c.ctx_ = ctx
30297	return c
30298}
30299
30300// Header returns an http.Header that can be modified by the caller to
30301// add HTTP headers to the request.
30302func (c *DirectorySitesListCall) Header() http.Header {
30303	if c.header_ == nil {
30304		c.header_ = make(http.Header)
30305	}
30306	return c.header_
30307}
30308
30309func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
30310	reqHeaders := make(http.Header)
30311	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
30312	for k, v := range c.header_ {
30313		reqHeaders[k] = v
30314	}
30315	reqHeaders.Set("User-Agent", c.s.userAgent())
30316	if c.ifNoneMatch_ != "" {
30317		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30318	}
30319	var body io.Reader = nil
30320	c.urlParams_.Set("alt", alt)
30321	c.urlParams_.Set("prettyPrint", "false")
30322	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
30323	urls += "?" + c.urlParams_.Encode()
30324	req, err := http.NewRequest("GET", urls, body)
30325	if err != nil {
30326		return nil, err
30327	}
30328	req.Header = reqHeaders
30329	googleapi.Expand(req.URL, map[string]string{
30330		"profileId": strconv.FormatInt(c.profileId, 10),
30331	})
30332	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30333}
30334
30335// Do executes the "dfareporting.directorySites.list" call.
30336// Exactly one of *DirectorySitesListResponse or error will be non-nil.
30337// Any non-2xx status code is an error. Response headers are in either
30338// *DirectorySitesListResponse.ServerResponse.Header or (if a response
30339// was returned at all) in error.(*googleapi.Error).Header. Use
30340// googleapi.IsNotModified to check whether the returned error was
30341// because http.StatusNotModified was returned.
30342func (c *DirectorySitesListCall) Do(opts ...googleapi.CallOption) (*DirectorySitesListResponse, error) {
30343	gensupport.SetOptions(c.urlParams_, opts...)
30344	res, err := c.doRequest("json")
30345	if res != nil && res.StatusCode == http.StatusNotModified {
30346		if res.Body != nil {
30347			res.Body.Close()
30348		}
30349		return nil, &googleapi.Error{
30350			Code:   res.StatusCode,
30351			Header: res.Header,
30352		}
30353	}
30354	if err != nil {
30355		return nil, err
30356	}
30357	defer googleapi.CloseBody(res)
30358	if err := googleapi.CheckResponse(res); err != nil {
30359		return nil, err
30360	}
30361	ret := &DirectorySitesListResponse{
30362		ServerResponse: googleapi.ServerResponse{
30363			Header:         res.Header,
30364			HTTPStatusCode: res.StatusCode,
30365		},
30366	}
30367	target := &ret
30368	if err := gensupport.DecodeResponse(target, res); err != nil {
30369		return nil, err
30370	}
30371	return ret, nil
30372	// {
30373	//   "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
30374	//   "httpMethod": "GET",
30375	//   "id": "dfareporting.directorySites.list",
30376	//   "parameterOrder": [
30377	//     "profileId"
30378	//   ],
30379	//   "parameters": {
30380	//     "acceptsInStreamVideoPlacements": {
30381	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
30382	//       "location": "query",
30383	//       "type": "boolean"
30384	//     },
30385	//     "acceptsInterstitialPlacements": {
30386	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
30387	//       "location": "query",
30388	//       "type": "boolean"
30389	//     },
30390	//     "acceptsPublisherPaidPlacements": {
30391	//       "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.",
30392	//       "location": "query",
30393	//       "type": "boolean"
30394	//     },
30395	//     "active": {
30396	//       "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.",
30397	//       "location": "query",
30398	//       "type": "boolean"
30399	//     },
30400	//     "dfpNetworkCode": {
30401	//       "description": "Select only directory sites with this Ad Manager network code.",
30402	//       "location": "query",
30403	//       "type": "string"
30404	//     },
30405	//     "ids": {
30406	//       "description": "Select only directory sites with these IDs.",
30407	//       "format": "int64",
30408	//       "location": "query",
30409	//       "repeated": true,
30410	//       "type": "string"
30411	//     },
30412	//     "maxResults": {
30413	//       "default": "1000",
30414	//       "description": "Maximum number of results to return.",
30415	//       "format": "int32",
30416	//       "location": "query",
30417	//       "maximum": "1000",
30418	//       "minimum": "0",
30419	//       "type": "integer"
30420	//     },
30421	//     "pageToken": {
30422	//       "description": "Value of the nextPageToken from the previous result page.",
30423	//       "location": "query",
30424	//       "type": "string"
30425	//     },
30426	//     "profileId": {
30427	//       "description": "User profile ID associated with this request.",
30428	//       "format": "int64",
30429	//       "location": "path",
30430	//       "required": true,
30431	//       "type": "string"
30432	//     },
30433	//     "searchString": {
30434	//       "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\".",
30435	//       "location": "query",
30436	//       "type": "string"
30437	//     },
30438	//     "sortField": {
30439	//       "default": "ID",
30440	//       "description": "Field by which to sort the list.",
30441	//       "enum": [
30442	//         "ID",
30443	//         "NAME"
30444	//       ],
30445	//       "enumDescriptions": [
30446	//         "",
30447	//         ""
30448	//       ],
30449	//       "location": "query",
30450	//       "type": "string"
30451	//     },
30452	//     "sortOrder": {
30453	//       "default": "ASCENDING",
30454	//       "description": "Order of sorted results.",
30455	//       "enum": [
30456	//         "ASCENDING",
30457	//         "DESCENDING"
30458	//       ],
30459	//       "enumDescriptions": [
30460	//         "",
30461	//         ""
30462	//       ],
30463	//       "location": "query",
30464	//       "type": "string"
30465	//     }
30466	//   },
30467	//   "path": "userprofiles/{profileId}/directorySites",
30468	//   "response": {
30469	//     "$ref": "DirectorySitesListResponse"
30470	//   },
30471	//   "scopes": [
30472	//     "https://www.googleapis.com/auth/dfatrafficking"
30473	//   ]
30474	// }
30475
30476}
30477
30478// Pages invokes f for each page of results.
30479// A non-nil error returned from f will halt the iteration.
30480// The provided context supersedes any context provided to the Context method.
30481func (c *DirectorySitesListCall) Pages(ctx context.Context, f func(*DirectorySitesListResponse) error) error {
30482	c.ctx_ = ctx
30483	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
30484	for {
30485		x, err := c.Do()
30486		if err != nil {
30487			return err
30488		}
30489		if err := f(x); err != nil {
30490			return err
30491		}
30492		if x.NextPageToken == "" {
30493			return nil
30494		}
30495		c.PageToken(x.NextPageToken)
30496	}
30497}
30498
30499// method id "dfareporting.dynamicTargetingKeys.delete":
30500
30501type DynamicTargetingKeysDeleteCall struct {
30502	s          *Service
30503	profileId  int64
30504	objectId   int64
30505	urlParams_ gensupport.URLParams
30506	ctx_       context.Context
30507	header_    http.Header
30508}
30509
30510// Delete: Deletes an existing dynamic targeting key.
30511func (r *DynamicTargetingKeysService) Delete(profileId int64, objectId int64, name string, objectType string) *DynamicTargetingKeysDeleteCall {
30512	c := &DynamicTargetingKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30513	c.profileId = profileId
30514	c.objectId = objectId
30515	c.urlParams_.Set("name", name)
30516	c.urlParams_.Set("objectType", objectType)
30517	return c
30518}
30519
30520// Fields allows partial responses to be retrieved. See
30521// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30522// for more information.
30523func (c *DynamicTargetingKeysDeleteCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysDeleteCall {
30524	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30525	return c
30526}
30527
30528// Context sets the context to be used in this call's Do method. Any
30529// pending HTTP request will be aborted if the provided context is
30530// canceled.
30531func (c *DynamicTargetingKeysDeleteCall) Context(ctx context.Context) *DynamicTargetingKeysDeleteCall {
30532	c.ctx_ = ctx
30533	return c
30534}
30535
30536// Header returns an http.Header that can be modified by the caller to
30537// add HTTP headers to the request.
30538func (c *DynamicTargetingKeysDeleteCall) Header() http.Header {
30539	if c.header_ == nil {
30540		c.header_ = make(http.Header)
30541	}
30542	return c.header_
30543}
30544
30545func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
30546	reqHeaders := make(http.Header)
30547	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
30548	for k, v := range c.header_ {
30549		reqHeaders[k] = v
30550	}
30551	reqHeaders.Set("User-Agent", c.s.userAgent())
30552	var body io.Reader = nil
30553	c.urlParams_.Set("alt", alt)
30554	c.urlParams_.Set("prettyPrint", "false")
30555	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}")
30556	urls += "?" + c.urlParams_.Encode()
30557	req, err := http.NewRequest("DELETE", urls, body)
30558	if err != nil {
30559		return nil, err
30560	}
30561	req.Header = reqHeaders
30562	googleapi.Expand(req.URL, map[string]string{
30563		"profileId": strconv.FormatInt(c.profileId, 10),
30564		"objectId":  strconv.FormatInt(c.objectId, 10),
30565	})
30566	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30567}
30568
30569// Do executes the "dfareporting.dynamicTargetingKeys.delete" call.
30570func (c *DynamicTargetingKeysDeleteCall) Do(opts ...googleapi.CallOption) error {
30571	gensupport.SetOptions(c.urlParams_, opts...)
30572	res, err := c.doRequest("json")
30573	if err != nil {
30574		return err
30575	}
30576	defer googleapi.CloseBody(res)
30577	if err := googleapi.CheckResponse(res); err != nil {
30578		return err
30579	}
30580	return nil
30581	// {
30582	//   "description": "Deletes an existing dynamic targeting key.",
30583	//   "httpMethod": "DELETE",
30584	//   "id": "dfareporting.dynamicTargetingKeys.delete",
30585	//   "parameterOrder": [
30586	//     "profileId",
30587	//     "objectId",
30588	//     "name",
30589	//     "objectType"
30590	//   ],
30591	//   "parameters": {
30592	//     "name": {
30593	//       "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.",
30594	//       "location": "query",
30595	//       "required": true,
30596	//       "type": "string"
30597	//     },
30598	//     "objectId": {
30599	//       "description": "ID of the object of this dynamic targeting key. This is a required field.",
30600	//       "format": "int64",
30601	//       "location": "path",
30602	//       "required": true,
30603	//       "type": "string"
30604	//     },
30605	//     "objectType": {
30606	//       "description": "Type of the object of this dynamic targeting key. This is a required field.",
30607	//       "enum": [
30608	//         "OBJECT_AD",
30609	//         "OBJECT_ADVERTISER",
30610	//         "OBJECT_CREATIVE",
30611	//         "OBJECT_PLACEMENT"
30612	//       ],
30613	//       "enumDescriptions": [
30614	//         "",
30615	//         "",
30616	//         "",
30617	//         ""
30618	//       ],
30619	//       "location": "query",
30620	//       "required": true,
30621	//       "type": "string"
30622	//     },
30623	//     "profileId": {
30624	//       "description": "User profile ID associated with this request.",
30625	//       "format": "int64",
30626	//       "location": "path",
30627	//       "required": true,
30628	//       "type": "string"
30629	//     }
30630	//   },
30631	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
30632	//   "scopes": [
30633	//     "https://www.googleapis.com/auth/dfatrafficking"
30634	//   ]
30635	// }
30636
30637}
30638
30639// method id "dfareporting.dynamicTargetingKeys.insert":
30640
30641type DynamicTargetingKeysInsertCall struct {
30642	s                   *Service
30643	profileId           int64
30644	dynamictargetingkey *DynamicTargetingKey
30645	urlParams_          gensupport.URLParams
30646	ctx_                context.Context
30647	header_             http.Header
30648}
30649
30650// Insert: Inserts a new dynamic targeting key. Keys must be created at
30651// the advertiser level before being assigned to the advertiser's ads,
30652// creatives, or placements. There is a maximum of 1000 keys per
30653// advertiser, out of which a maximum of 20 keys can be assigned per ad,
30654// creative, or placement.
30655func (r *DynamicTargetingKeysService) Insert(profileId int64, dynamictargetingkey *DynamicTargetingKey) *DynamicTargetingKeysInsertCall {
30656	c := &DynamicTargetingKeysInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30657	c.profileId = profileId
30658	c.dynamictargetingkey = dynamictargetingkey
30659	return c
30660}
30661
30662// Fields allows partial responses to be retrieved. See
30663// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30664// for more information.
30665func (c *DynamicTargetingKeysInsertCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysInsertCall {
30666	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30667	return c
30668}
30669
30670// Context sets the context to be used in this call's Do method. Any
30671// pending HTTP request will be aborted if the provided context is
30672// canceled.
30673func (c *DynamicTargetingKeysInsertCall) Context(ctx context.Context) *DynamicTargetingKeysInsertCall {
30674	c.ctx_ = ctx
30675	return c
30676}
30677
30678// Header returns an http.Header that can be modified by the caller to
30679// add HTTP headers to the request.
30680func (c *DynamicTargetingKeysInsertCall) Header() http.Header {
30681	if c.header_ == nil {
30682		c.header_ = make(http.Header)
30683	}
30684	return c.header_
30685}
30686
30687func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
30688	reqHeaders := make(http.Header)
30689	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
30690	for k, v := range c.header_ {
30691		reqHeaders[k] = v
30692	}
30693	reqHeaders.Set("User-Agent", c.s.userAgent())
30694	var body io.Reader = nil
30695	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dynamictargetingkey)
30696	if err != nil {
30697		return nil, err
30698	}
30699	reqHeaders.Set("Content-Type", "application/json")
30700	c.urlParams_.Set("alt", alt)
30701	c.urlParams_.Set("prettyPrint", "false")
30702	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
30703	urls += "?" + c.urlParams_.Encode()
30704	req, err := http.NewRequest("POST", urls, body)
30705	if err != nil {
30706		return nil, err
30707	}
30708	req.Header = reqHeaders
30709	googleapi.Expand(req.URL, map[string]string{
30710		"profileId": strconv.FormatInt(c.profileId, 10),
30711	})
30712	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30713}
30714
30715// Do executes the "dfareporting.dynamicTargetingKeys.insert" call.
30716// Exactly one of *DynamicTargetingKey or error will be non-nil. Any
30717// non-2xx status code is an error. Response headers are in either
30718// *DynamicTargetingKey.ServerResponse.Header or (if a response was
30719// returned at all) in error.(*googleapi.Error).Header. Use
30720// googleapi.IsNotModified to check whether the returned error was
30721// because http.StatusNotModified was returned.
30722func (c *DynamicTargetingKeysInsertCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKey, error) {
30723	gensupport.SetOptions(c.urlParams_, opts...)
30724	res, err := c.doRequest("json")
30725	if res != nil && res.StatusCode == http.StatusNotModified {
30726		if res.Body != nil {
30727			res.Body.Close()
30728		}
30729		return nil, &googleapi.Error{
30730			Code:   res.StatusCode,
30731			Header: res.Header,
30732		}
30733	}
30734	if err != nil {
30735		return nil, err
30736	}
30737	defer googleapi.CloseBody(res)
30738	if err := googleapi.CheckResponse(res); err != nil {
30739		return nil, err
30740	}
30741	ret := &DynamicTargetingKey{
30742		ServerResponse: googleapi.ServerResponse{
30743			Header:         res.Header,
30744			HTTPStatusCode: res.StatusCode,
30745		},
30746	}
30747	target := &ret
30748	if err := gensupport.DecodeResponse(target, res); err != nil {
30749		return nil, err
30750	}
30751	return ret, nil
30752	// {
30753	//   "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.",
30754	//   "httpMethod": "POST",
30755	//   "id": "dfareporting.dynamicTargetingKeys.insert",
30756	//   "parameterOrder": [
30757	//     "profileId"
30758	//   ],
30759	//   "parameters": {
30760	//     "profileId": {
30761	//       "description": "User profile ID associated with this request.",
30762	//       "format": "int64",
30763	//       "location": "path",
30764	//       "required": true,
30765	//       "type": "string"
30766	//     }
30767	//   },
30768	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
30769	//   "request": {
30770	//     "$ref": "DynamicTargetingKey"
30771	//   },
30772	//   "response": {
30773	//     "$ref": "DynamicTargetingKey"
30774	//   },
30775	//   "scopes": [
30776	//     "https://www.googleapis.com/auth/dfatrafficking"
30777	//   ]
30778	// }
30779
30780}
30781
30782// method id "dfareporting.dynamicTargetingKeys.list":
30783
30784type DynamicTargetingKeysListCall struct {
30785	s            *Service
30786	profileId    int64
30787	urlParams_   gensupport.URLParams
30788	ifNoneMatch_ string
30789	ctx_         context.Context
30790	header_      http.Header
30791}
30792
30793// List: Retrieves a list of dynamic targeting keys.
30794func (r *DynamicTargetingKeysService) List(profileId int64) *DynamicTargetingKeysListCall {
30795	c := &DynamicTargetingKeysListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30796	c.profileId = profileId
30797	return c
30798}
30799
30800// AdvertiserId sets the optional parameter "advertiserId": Select only
30801// dynamic targeting keys whose object has this advertiser ID.
30802func (c *DynamicTargetingKeysListCall) AdvertiserId(advertiserId int64) *DynamicTargetingKeysListCall {
30803	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30804	return c
30805}
30806
30807// Names sets the optional parameter "names": Select only dynamic
30808// targeting keys exactly matching these names.
30809func (c *DynamicTargetingKeysListCall) Names(names ...string) *DynamicTargetingKeysListCall {
30810	c.urlParams_.SetMulti("names", append([]string{}, names...))
30811	return c
30812}
30813
30814// ObjectId sets the optional parameter "objectId": Select only dynamic
30815// targeting keys with this object ID.
30816func (c *DynamicTargetingKeysListCall) ObjectId(objectId int64) *DynamicTargetingKeysListCall {
30817	c.urlParams_.Set("objectId", fmt.Sprint(objectId))
30818	return c
30819}
30820
30821// ObjectType sets the optional parameter "objectType": Select only
30822// dynamic targeting keys with this object type.
30823//
30824// Possible values:
30825//   "OBJECT_AD"
30826//   "OBJECT_ADVERTISER"
30827//   "OBJECT_CREATIVE"
30828//   "OBJECT_PLACEMENT"
30829func (c *DynamicTargetingKeysListCall) ObjectType(objectType string) *DynamicTargetingKeysListCall {
30830	c.urlParams_.Set("objectType", objectType)
30831	return c
30832}
30833
30834// Fields allows partial responses to be retrieved. See
30835// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30836// for more information.
30837func (c *DynamicTargetingKeysListCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysListCall {
30838	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30839	return c
30840}
30841
30842// IfNoneMatch sets the optional parameter which makes the operation
30843// fail if the object's ETag matches the given value. This is useful for
30844// getting updates only after the object has changed since the last
30845// request. Use googleapi.IsNotModified to check whether the response
30846// error from Do is the result of In-None-Match.
30847func (c *DynamicTargetingKeysListCall) IfNoneMatch(entityTag string) *DynamicTargetingKeysListCall {
30848	c.ifNoneMatch_ = entityTag
30849	return c
30850}
30851
30852// Context sets the context to be used in this call's Do method. Any
30853// pending HTTP request will be aborted if the provided context is
30854// canceled.
30855func (c *DynamicTargetingKeysListCall) Context(ctx context.Context) *DynamicTargetingKeysListCall {
30856	c.ctx_ = ctx
30857	return c
30858}
30859
30860// Header returns an http.Header that can be modified by the caller to
30861// add HTTP headers to the request.
30862func (c *DynamicTargetingKeysListCall) Header() http.Header {
30863	if c.header_ == nil {
30864		c.header_ = make(http.Header)
30865	}
30866	return c.header_
30867}
30868
30869func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
30870	reqHeaders := make(http.Header)
30871	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
30872	for k, v := range c.header_ {
30873		reqHeaders[k] = v
30874	}
30875	reqHeaders.Set("User-Agent", c.s.userAgent())
30876	if c.ifNoneMatch_ != "" {
30877		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30878	}
30879	var body io.Reader = nil
30880	c.urlParams_.Set("alt", alt)
30881	c.urlParams_.Set("prettyPrint", "false")
30882	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
30883	urls += "?" + c.urlParams_.Encode()
30884	req, err := http.NewRequest("GET", urls, body)
30885	if err != nil {
30886		return nil, err
30887	}
30888	req.Header = reqHeaders
30889	googleapi.Expand(req.URL, map[string]string{
30890		"profileId": strconv.FormatInt(c.profileId, 10),
30891	})
30892	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30893}
30894
30895// Do executes the "dfareporting.dynamicTargetingKeys.list" call.
30896// Exactly one of *DynamicTargetingKeysListResponse or error will be
30897// non-nil. Any non-2xx status code is an error. Response headers are in
30898// either *DynamicTargetingKeysListResponse.ServerResponse.Header or (if
30899// a response was returned at all) in error.(*googleapi.Error).Header.
30900// Use googleapi.IsNotModified to check whether the returned error was
30901// because http.StatusNotModified was returned.
30902func (c *DynamicTargetingKeysListCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKeysListResponse, error) {
30903	gensupport.SetOptions(c.urlParams_, opts...)
30904	res, err := c.doRequest("json")
30905	if res != nil && res.StatusCode == http.StatusNotModified {
30906		if res.Body != nil {
30907			res.Body.Close()
30908		}
30909		return nil, &googleapi.Error{
30910			Code:   res.StatusCode,
30911			Header: res.Header,
30912		}
30913	}
30914	if err != nil {
30915		return nil, err
30916	}
30917	defer googleapi.CloseBody(res)
30918	if err := googleapi.CheckResponse(res); err != nil {
30919		return nil, err
30920	}
30921	ret := &DynamicTargetingKeysListResponse{
30922		ServerResponse: googleapi.ServerResponse{
30923			Header:         res.Header,
30924			HTTPStatusCode: res.StatusCode,
30925		},
30926	}
30927	target := &ret
30928	if err := gensupport.DecodeResponse(target, res); err != nil {
30929		return nil, err
30930	}
30931	return ret, nil
30932	// {
30933	//   "description": "Retrieves a list of dynamic targeting keys.",
30934	//   "httpMethod": "GET",
30935	//   "id": "dfareporting.dynamicTargetingKeys.list",
30936	//   "parameterOrder": [
30937	//     "profileId"
30938	//   ],
30939	//   "parameters": {
30940	//     "advertiserId": {
30941	//       "description": "Select only dynamic targeting keys whose object has this advertiser ID.",
30942	//       "format": "int64",
30943	//       "location": "query",
30944	//       "type": "string"
30945	//     },
30946	//     "names": {
30947	//       "description": "Select only dynamic targeting keys exactly matching these names.",
30948	//       "location": "query",
30949	//       "repeated": true,
30950	//       "type": "string"
30951	//     },
30952	//     "objectId": {
30953	//       "description": "Select only dynamic targeting keys with this object ID.",
30954	//       "format": "int64",
30955	//       "location": "query",
30956	//       "type": "string"
30957	//     },
30958	//     "objectType": {
30959	//       "description": "Select only dynamic targeting keys with this object type.",
30960	//       "enum": [
30961	//         "OBJECT_AD",
30962	//         "OBJECT_ADVERTISER",
30963	//         "OBJECT_CREATIVE",
30964	//         "OBJECT_PLACEMENT"
30965	//       ],
30966	//       "enumDescriptions": [
30967	//         "",
30968	//         "",
30969	//         "",
30970	//         ""
30971	//       ],
30972	//       "location": "query",
30973	//       "type": "string"
30974	//     },
30975	//     "profileId": {
30976	//       "description": "User profile ID associated with this request.",
30977	//       "format": "int64",
30978	//       "location": "path",
30979	//       "required": true,
30980	//       "type": "string"
30981	//     }
30982	//   },
30983	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
30984	//   "response": {
30985	//     "$ref": "DynamicTargetingKeysListResponse"
30986	//   },
30987	//   "scopes": [
30988	//     "https://www.googleapis.com/auth/dfatrafficking"
30989	//   ]
30990	// }
30991
30992}
30993
30994// method id "dfareporting.eventTags.delete":
30995
30996type EventTagsDeleteCall struct {
30997	s          *Service
30998	profileId  int64
30999	id         int64
31000	urlParams_ gensupport.URLParams
31001	ctx_       context.Context
31002	header_    http.Header
31003}
31004
31005// Delete: Deletes an existing event tag.
31006func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
31007	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31008	c.profileId = profileId
31009	c.id = id
31010	return c
31011}
31012
31013// Fields allows partial responses to be retrieved. See
31014// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31015// for more information.
31016func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
31017	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31018	return c
31019}
31020
31021// Context sets the context to be used in this call's Do method. Any
31022// pending HTTP request will be aborted if the provided context is
31023// canceled.
31024func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
31025	c.ctx_ = ctx
31026	return c
31027}
31028
31029// Header returns an http.Header that can be modified by the caller to
31030// add HTTP headers to the request.
31031func (c *EventTagsDeleteCall) Header() http.Header {
31032	if c.header_ == nil {
31033		c.header_ = make(http.Header)
31034	}
31035	return c.header_
31036}
31037
31038func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
31039	reqHeaders := make(http.Header)
31040	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
31041	for k, v := range c.header_ {
31042		reqHeaders[k] = v
31043	}
31044	reqHeaders.Set("User-Agent", c.s.userAgent())
31045	var body io.Reader = nil
31046	c.urlParams_.Set("alt", alt)
31047	c.urlParams_.Set("prettyPrint", "false")
31048	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
31049	urls += "?" + c.urlParams_.Encode()
31050	req, err := http.NewRequest("DELETE", urls, body)
31051	if err != nil {
31052		return nil, err
31053	}
31054	req.Header = reqHeaders
31055	googleapi.Expand(req.URL, map[string]string{
31056		"profileId": strconv.FormatInt(c.profileId, 10),
31057		"id":        strconv.FormatInt(c.id, 10),
31058	})
31059	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31060}
31061
31062// Do executes the "dfareporting.eventTags.delete" call.
31063func (c *EventTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
31064	gensupport.SetOptions(c.urlParams_, opts...)
31065	res, err := c.doRequest("json")
31066	if err != nil {
31067		return err
31068	}
31069	defer googleapi.CloseBody(res)
31070	if err := googleapi.CheckResponse(res); err != nil {
31071		return err
31072	}
31073	return nil
31074	// {
31075	//   "description": "Deletes an existing event tag.",
31076	//   "httpMethod": "DELETE",
31077	//   "id": "dfareporting.eventTags.delete",
31078	//   "parameterOrder": [
31079	//     "profileId",
31080	//     "id"
31081	//   ],
31082	//   "parameters": {
31083	//     "id": {
31084	//       "description": "Event tag ID.",
31085	//       "format": "int64",
31086	//       "location": "path",
31087	//       "required": true,
31088	//       "type": "string"
31089	//     },
31090	//     "profileId": {
31091	//       "description": "User profile ID associated with this request.",
31092	//       "format": "int64",
31093	//       "location": "path",
31094	//       "required": true,
31095	//       "type": "string"
31096	//     }
31097	//   },
31098	//   "path": "userprofiles/{profileId}/eventTags/{id}",
31099	//   "scopes": [
31100	//     "https://www.googleapis.com/auth/dfatrafficking"
31101	//   ]
31102	// }
31103
31104}
31105
31106// method id "dfareporting.eventTags.get":
31107
31108type EventTagsGetCall struct {
31109	s            *Service
31110	profileId    int64
31111	id           int64
31112	urlParams_   gensupport.URLParams
31113	ifNoneMatch_ string
31114	ctx_         context.Context
31115	header_      http.Header
31116}
31117
31118// Get: Gets one event tag by ID.
31119func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
31120	c := &EventTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31121	c.profileId = profileId
31122	c.id = id
31123	return c
31124}
31125
31126// Fields allows partial responses to be retrieved. See
31127// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31128// for more information.
31129func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
31130	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31131	return c
31132}
31133
31134// IfNoneMatch sets the optional parameter which makes the operation
31135// fail if the object's ETag matches the given value. This is useful for
31136// getting updates only after the object has changed since the last
31137// request. Use googleapi.IsNotModified to check whether the response
31138// error from Do is the result of In-None-Match.
31139func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
31140	c.ifNoneMatch_ = entityTag
31141	return c
31142}
31143
31144// Context sets the context to be used in this call's Do method. Any
31145// pending HTTP request will be aborted if the provided context is
31146// canceled.
31147func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
31148	c.ctx_ = ctx
31149	return c
31150}
31151
31152// Header returns an http.Header that can be modified by the caller to
31153// add HTTP headers to the request.
31154func (c *EventTagsGetCall) Header() http.Header {
31155	if c.header_ == nil {
31156		c.header_ = make(http.Header)
31157	}
31158	return c.header_
31159}
31160
31161func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
31162	reqHeaders := make(http.Header)
31163	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
31164	for k, v := range c.header_ {
31165		reqHeaders[k] = v
31166	}
31167	reqHeaders.Set("User-Agent", c.s.userAgent())
31168	if c.ifNoneMatch_ != "" {
31169		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31170	}
31171	var body io.Reader = nil
31172	c.urlParams_.Set("alt", alt)
31173	c.urlParams_.Set("prettyPrint", "false")
31174	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
31175	urls += "?" + c.urlParams_.Encode()
31176	req, err := http.NewRequest("GET", urls, body)
31177	if err != nil {
31178		return nil, err
31179	}
31180	req.Header = reqHeaders
31181	googleapi.Expand(req.URL, map[string]string{
31182		"profileId": strconv.FormatInt(c.profileId, 10),
31183		"id":        strconv.FormatInt(c.id, 10),
31184	})
31185	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31186}
31187
31188// Do executes the "dfareporting.eventTags.get" call.
31189// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31190// code is an error. Response headers are in either
31191// *EventTag.ServerResponse.Header or (if a response was returned at
31192// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31193// to check whether the returned error was because
31194// http.StatusNotModified was returned.
31195func (c *EventTagsGetCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31196	gensupport.SetOptions(c.urlParams_, opts...)
31197	res, err := c.doRequest("json")
31198	if res != nil && res.StatusCode == http.StatusNotModified {
31199		if res.Body != nil {
31200			res.Body.Close()
31201		}
31202		return nil, &googleapi.Error{
31203			Code:   res.StatusCode,
31204			Header: res.Header,
31205		}
31206	}
31207	if err != nil {
31208		return nil, err
31209	}
31210	defer googleapi.CloseBody(res)
31211	if err := googleapi.CheckResponse(res); err != nil {
31212		return nil, err
31213	}
31214	ret := &EventTag{
31215		ServerResponse: googleapi.ServerResponse{
31216			Header:         res.Header,
31217			HTTPStatusCode: res.StatusCode,
31218		},
31219	}
31220	target := &ret
31221	if err := gensupport.DecodeResponse(target, res); err != nil {
31222		return nil, err
31223	}
31224	return ret, nil
31225	// {
31226	//   "description": "Gets one event tag by ID.",
31227	//   "httpMethod": "GET",
31228	//   "id": "dfareporting.eventTags.get",
31229	//   "parameterOrder": [
31230	//     "profileId",
31231	//     "id"
31232	//   ],
31233	//   "parameters": {
31234	//     "id": {
31235	//       "description": "Event tag ID.",
31236	//       "format": "int64",
31237	//       "location": "path",
31238	//       "required": true,
31239	//       "type": "string"
31240	//     },
31241	//     "profileId": {
31242	//       "description": "User profile ID associated with this request.",
31243	//       "format": "int64",
31244	//       "location": "path",
31245	//       "required": true,
31246	//       "type": "string"
31247	//     }
31248	//   },
31249	//   "path": "userprofiles/{profileId}/eventTags/{id}",
31250	//   "response": {
31251	//     "$ref": "EventTag"
31252	//   },
31253	//   "scopes": [
31254	//     "https://www.googleapis.com/auth/dfatrafficking"
31255	//   ]
31256	// }
31257
31258}
31259
31260// method id "dfareporting.eventTags.insert":
31261
31262type EventTagsInsertCall struct {
31263	s          *Service
31264	profileId  int64
31265	eventtag   *EventTag
31266	urlParams_ gensupport.URLParams
31267	ctx_       context.Context
31268	header_    http.Header
31269}
31270
31271// Insert: Inserts a new event tag.
31272func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
31273	c := &EventTagsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31274	c.profileId = profileId
31275	c.eventtag = eventtag
31276	return c
31277}
31278
31279// Fields allows partial responses to be retrieved. See
31280// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31281// for more information.
31282func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
31283	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31284	return c
31285}
31286
31287// Context sets the context to be used in this call's Do method. Any
31288// pending HTTP request will be aborted if the provided context is
31289// canceled.
31290func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
31291	c.ctx_ = ctx
31292	return c
31293}
31294
31295// Header returns an http.Header that can be modified by the caller to
31296// add HTTP headers to the request.
31297func (c *EventTagsInsertCall) Header() http.Header {
31298	if c.header_ == nil {
31299		c.header_ = make(http.Header)
31300	}
31301	return c.header_
31302}
31303
31304func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
31305	reqHeaders := make(http.Header)
31306	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
31307	for k, v := range c.header_ {
31308		reqHeaders[k] = v
31309	}
31310	reqHeaders.Set("User-Agent", c.s.userAgent())
31311	var body io.Reader = nil
31312	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
31313	if err != nil {
31314		return nil, err
31315	}
31316	reqHeaders.Set("Content-Type", "application/json")
31317	c.urlParams_.Set("alt", alt)
31318	c.urlParams_.Set("prettyPrint", "false")
31319	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31320	urls += "?" + c.urlParams_.Encode()
31321	req, err := http.NewRequest("POST", urls, body)
31322	if err != nil {
31323		return nil, err
31324	}
31325	req.Header = reqHeaders
31326	googleapi.Expand(req.URL, map[string]string{
31327		"profileId": strconv.FormatInt(c.profileId, 10),
31328	})
31329	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31330}
31331
31332// Do executes the "dfareporting.eventTags.insert" call.
31333// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31334// code is an error. Response headers are in either
31335// *EventTag.ServerResponse.Header or (if a response was returned at
31336// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31337// to check whether the returned error was because
31338// http.StatusNotModified was returned.
31339func (c *EventTagsInsertCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31340	gensupport.SetOptions(c.urlParams_, opts...)
31341	res, err := c.doRequest("json")
31342	if res != nil && res.StatusCode == http.StatusNotModified {
31343		if res.Body != nil {
31344			res.Body.Close()
31345		}
31346		return nil, &googleapi.Error{
31347			Code:   res.StatusCode,
31348			Header: res.Header,
31349		}
31350	}
31351	if err != nil {
31352		return nil, err
31353	}
31354	defer googleapi.CloseBody(res)
31355	if err := googleapi.CheckResponse(res); err != nil {
31356		return nil, err
31357	}
31358	ret := &EventTag{
31359		ServerResponse: googleapi.ServerResponse{
31360			Header:         res.Header,
31361			HTTPStatusCode: res.StatusCode,
31362		},
31363	}
31364	target := &ret
31365	if err := gensupport.DecodeResponse(target, res); err != nil {
31366		return nil, err
31367	}
31368	return ret, nil
31369	// {
31370	//   "description": "Inserts a new event tag.",
31371	//   "httpMethod": "POST",
31372	//   "id": "dfareporting.eventTags.insert",
31373	//   "parameterOrder": [
31374	//     "profileId"
31375	//   ],
31376	//   "parameters": {
31377	//     "profileId": {
31378	//       "description": "User profile ID associated with this request.",
31379	//       "format": "int64",
31380	//       "location": "path",
31381	//       "required": true,
31382	//       "type": "string"
31383	//     }
31384	//   },
31385	//   "path": "userprofiles/{profileId}/eventTags",
31386	//   "request": {
31387	//     "$ref": "EventTag"
31388	//   },
31389	//   "response": {
31390	//     "$ref": "EventTag"
31391	//   },
31392	//   "scopes": [
31393	//     "https://www.googleapis.com/auth/dfatrafficking"
31394	//   ]
31395	// }
31396
31397}
31398
31399// method id "dfareporting.eventTags.list":
31400
31401type EventTagsListCall struct {
31402	s            *Service
31403	profileId    int64
31404	urlParams_   gensupport.URLParams
31405	ifNoneMatch_ string
31406	ctx_         context.Context
31407	header_      http.Header
31408}
31409
31410// List: Retrieves a list of event tags, possibly filtered.
31411func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
31412	c := &EventTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31413	c.profileId = profileId
31414	return c
31415}
31416
31417// AdId sets the optional parameter "adId": Select only event tags that
31418// belong to this ad.
31419func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
31420	c.urlParams_.Set("adId", fmt.Sprint(adId))
31421	return c
31422}
31423
31424// AdvertiserId sets the optional parameter "advertiserId": Select only
31425// event tags that belong to this advertiser.
31426func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
31427	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31428	return c
31429}
31430
31431// CampaignId sets the optional parameter "campaignId": Select only
31432// event tags that belong to this campaign.
31433func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
31434	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
31435	return c
31436}
31437
31438// DefinitionsOnly sets the optional parameter "definitionsOnly":
31439// Examine only the specified campaign or advertiser's event tags for
31440// matching selector criteria. When set to false, the parent advertiser
31441// and parent campaign of the specified ad or campaign is examined as
31442// well. In addition, when set to false, the status field is examined as
31443// well, along with the enabledByDefault field. This parameter can not
31444// be set to true when adId is specified as ads do not define their own
31445// even tags.
31446func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
31447	c.urlParams_.Set("definitionsOnly", fmt.Sprint(definitionsOnly))
31448	return c
31449}
31450
31451// Enabled sets the optional parameter "enabled": Select only enabled
31452// event tags. What is considered enabled or disabled depends on the
31453// definitionsOnly parameter. When definitionsOnly is set to true, only
31454// the specified advertiser or campaign's event tags' enabledByDefault
31455// field is examined. When definitionsOnly is set to false, the
31456// specified ad or specified campaign's parent advertiser's or parent
31457// campaign's event tags' enabledByDefault and status fields are
31458// examined as well.
31459func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
31460	c.urlParams_.Set("enabled", fmt.Sprint(enabled))
31461	return c
31462}
31463
31464// EventTagTypes sets the optional parameter "eventTagTypes": Select
31465// only event tags with the specified event tag types. Event tag types
31466// can be used to specify whether to use a third-party pixel, a
31467// third-party JavaScript URL, or a third-party click-through URL for
31468// either impression or click tracking.
31469//
31470// Possible values:
31471//   "CLICK_THROUGH_EVENT_TAG"
31472//   "IMPRESSION_IMAGE_EVENT_TAG"
31473//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
31474func (c *EventTagsListCall) EventTagTypes(eventTagTypes ...string) *EventTagsListCall {
31475	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
31476	return c
31477}
31478
31479// Ids sets the optional parameter "ids": Select only event tags with
31480// these IDs.
31481func (c *EventTagsListCall) Ids(ids ...int64) *EventTagsListCall {
31482	var ids_ []string
31483	for _, v := range ids {
31484		ids_ = append(ids_, fmt.Sprint(v))
31485	}
31486	c.urlParams_.SetMulti("ids", ids_)
31487	return c
31488}
31489
31490// SearchString sets the optional parameter "searchString": Allows
31491// searching for objects by name or ID. Wildcards (*) are allowed. For
31492// example, "eventtag*2015" will return objects with names like
31493// "eventtag June 2015", "eventtag April 2015", or simply "eventtag
31494// 2015". Most of the searches also add wildcards implicitly at the
31495// start and the end of the search string. For example, a search string
31496// of "eventtag" will match objects with name "my eventtag", "eventtag
31497// 2015", or simply "eventtag".
31498func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
31499	c.urlParams_.Set("searchString", searchString)
31500	return c
31501}
31502
31503// SortField sets the optional parameter "sortField": Field by which to
31504// sort the list.
31505//
31506// Possible values:
31507//   "ID" (default)
31508//   "NAME"
31509func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
31510	c.urlParams_.Set("sortField", sortField)
31511	return c
31512}
31513
31514// SortOrder sets the optional parameter "sortOrder": Order of sorted
31515// results.
31516//
31517// Possible values:
31518//   "ASCENDING" (default)
31519//   "DESCENDING"
31520func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
31521	c.urlParams_.Set("sortOrder", sortOrder)
31522	return c
31523}
31524
31525// Fields allows partial responses to be retrieved. See
31526// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31527// for more information.
31528func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
31529	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31530	return c
31531}
31532
31533// IfNoneMatch sets the optional parameter which makes the operation
31534// fail if the object's ETag matches the given value. This is useful for
31535// getting updates only after the object has changed since the last
31536// request. Use googleapi.IsNotModified to check whether the response
31537// error from Do is the result of In-None-Match.
31538func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
31539	c.ifNoneMatch_ = entityTag
31540	return c
31541}
31542
31543// Context sets the context to be used in this call's Do method. Any
31544// pending HTTP request will be aborted if the provided context is
31545// canceled.
31546func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
31547	c.ctx_ = ctx
31548	return c
31549}
31550
31551// Header returns an http.Header that can be modified by the caller to
31552// add HTTP headers to the request.
31553func (c *EventTagsListCall) Header() http.Header {
31554	if c.header_ == nil {
31555		c.header_ = make(http.Header)
31556	}
31557	return c.header_
31558}
31559
31560func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
31561	reqHeaders := make(http.Header)
31562	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
31563	for k, v := range c.header_ {
31564		reqHeaders[k] = v
31565	}
31566	reqHeaders.Set("User-Agent", c.s.userAgent())
31567	if c.ifNoneMatch_ != "" {
31568		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31569	}
31570	var body io.Reader = nil
31571	c.urlParams_.Set("alt", alt)
31572	c.urlParams_.Set("prettyPrint", "false")
31573	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31574	urls += "?" + c.urlParams_.Encode()
31575	req, err := http.NewRequest("GET", urls, body)
31576	if err != nil {
31577		return nil, err
31578	}
31579	req.Header = reqHeaders
31580	googleapi.Expand(req.URL, map[string]string{
31581		"profileId": strconv.FormatInt(c.profileId, 10),
31582	})
31583	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31584}
31585
31586// Do executes the "dfareporting.eventTags.list" call.
31587// Exactly one of *EventTagsListResponse or error will be non-nil. Any
31588// non-2xx status code is an error. Response headers are in either
31589// *EventTagsListResponse.ServerResponse.Header or (if a response was
31590// returned at all) in error.(*googleapi.Error).Header. Use
31591// googleapi.IsNotModified to check whether the returned error was
31592// because http.StatusNotModified was returned.
31593func (c *EventTagsListCall) Do(opts ...googleapi.CallOption) (*EventTagsListResponse, error) {
31594	gensupport.SetOptions(c.urlParams_, opts...)
31595	res, err := c.doRequest("json")
31596	if res != nil && res.StatusCode == http.StatusNotModified {
31597		if res.Body != nil {
31598			res.Body.Close()
31599		}
31600		return nil, &googleapi.Error{
31601			Code:   res.StatusCode,
31602			Header: res.Header,
31603		}
31604	}
31605	if err != nil {
31606		return nil, err
31607	}
31608	defer googleapi.CloseBody(res)
31609	if err := googleapi.CheckResponse(res); err != nil {
31610		return nil, err
31611	}
31612	ret := &EventTagsListResponse{
31613		ServerResponse: googleapi.ServerResponse{
31614			Header:         res.Header,
31615			HTTPStatusCode: res.StatusCode,
31616		},
31617	}
31618	target := &ret
31619	if err := gensupport.DecodeResponse(target, res); err != nil {
31620		return nil, err
31621	}
31622	return ret, nil
31623	// {
31624	//   "description": "Retrieves a list of event tags, possibly filtered.",
31625	//   "httpMethod": "GET",
31626	//   "id": "dfareporting.eventTags.list",
31627	//   "parameterOrder": [
31628	//     "profileId"
31629	//   ],
31630	//   "parameters": {
31631	//     "adId": {
31632	//       "description": "Select only event tags that belong to this ad.",
31633	//       "format": "int64",
31634	//       "location": "query",
31635	//       "type": "string"
31636	//     },
31637	//     "advertiserId": {
31638	//       "description": "Select only event tags that belong to this advertiser.",
31639	//       "format": "int64",
31640	//       "location": "query",
31641	//       "type": "string"
31642	//     },
31643	//     "campaignId": {
31644	//       "description": "Select only event tags that belong to this campaign.",
31645	//       "format": "int64",
31646	//       "location": "query",
31647	//       "type": "string"
31648	//     },
31649	//     "definitionsOnly": {
31650	//       "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.",
31651	//       "location": "query",
31652	//       "type": "boolean"
31653	//     },
31654	//     "enabled": {
31655	//       "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.",
31656	//       "location": "query",
31657	//       "type": "boolean"
31658	//     },
31659	//     "eventTagTypes": {
31660	//       "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.",
31661	//       "enum": [
31662	//         "CLICK_THROUGH_EVENT_TAG",
31663	//         "IMPRESSION_IMAGE_EVENT_TAG",
31664	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG"
31665	//       ],
31666	//       "enumDescriptions": [
31667	//         "",
31668	//         "",
31669	//         ""
31670	//       ],
31671	//       "location": "query",
31672	//       "repeated": true,
31673	//       "type": "string"
31674	//     },
31675	//     "ids": {
31676	//       "description": "Select only event tags with these IDs.",
31677	//       "format": "int64",
31678	//       "location": "query",
31679	//       "repeated": true,
31680	//       "type": "string"
31681	//     },
31682	//     "profileId": {
31683	//       "description": "User profile ID associated with this request.",
31684	//       "format": "int64",
31685	//       "location": "path",
31686	//       "required": true,
31687	//       "type": "string"
31688	//     },
31689	//     "searchString": {
31690	//       "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\".",
31691	//       "location": "query",
31692	//       "type": "string"
31693	//     },
31694	//     "sortField": {
31695	//       "default": "ID",
31696	//       "description": "Field by which to sort the list.",
31697	//       "enum": [
31698	//         "ID",
31699	//         "NAME"
31700	//       ],
31701	//       "enumDescriptions": [
31702	//         "",
31703	//         ""
31704	//       ],
31705	//       "location": "query",
31706	//       "type": "string"
31707	//     },
31708	//     "sortOrder": {
31709	//       "default": "ASCENDING",
31710	//       "description": "Order of sorted results.",
31711	//       "enum": [
31712	//         "ASCENDING",
31713	//         "DESCENDING"
31714	//       ],
31715	//       "enumDescriptions": [
31716	//         "",
31717	//         ""
31718	//       ],
31719	//       "location": "query",
31720	//       "type": "string"
31721	//     }
31722	//   },
31723	//   "path": "userprofiles/{profileId}/eventTags",
31724	//   "response": {
31725	//     "$ref": "EventTagsListResponse"
31726	//   },
31727	//   "scopes": [
31728	//     "https://www.googleapis.com/auth/dfatrafficking"
31729	//   ]
31730	// }
31731
31732}
31733
31734// method id "dfareporting.eventTags.patch":
31735
31736type EventTagsPatchCall struct {
31737	s          *Service
31738	profileId  int64
31739	eventtag   *EventTag
31740	urlParams_ gensupport.URLParams
31741	ctx_       context.Context
31742	header_    http.Header
31743}
31744
31745// Patch: Updates an existing event tag. This method supports patch
31746// semantics.
31747func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
31748	c := &EventTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31749	c.profileId = profileId
31750	c.urlParams_.Set("id", fmt.Sprint(id))
31751	c.eventtag = eventtag
31752	return c
31753}
31754
31755// Fields allows partial responses to be retrieved. See
31756// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31757// for more information.
31758func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
31759	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31760	return c
31761}
31762
31763// Context sets the context to be used in this call's Do method. Any
31764// pending HTTP request will be aborted if the provided context is
31765// canceled.
31766func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
31767	c.ctx_ = ctx
31768	return c
31769}
31770
31771// Header returns an http.Header that can be modified by the caller to
31772// add HTTP headers to the request.
31773func (c *EventTagsPatchCall) Header() http.Header {
31774	if c.header_ == nil {
31775		c.header_ = make(http.Header)
31776	}
31777	return c.header_
31778}
31779
31780func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
31781	reqHeaders := make(http.Header)
31782	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
31783	for k, v := range c.header_ {
31784		reqHeaders[k] = v
31785	}
31786	reqHeaders.Set("User-Agent", c.s.userAgent())
31787	var body io.Reader = nil
31788	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
31789	if err != nil {
31790		return nil, err
31791	}
31792	reqHeaders.Set("Content-Type", "application/json")
31793	c.urlParams_.Set("alt", alt)
31794	c.urlParams_.Set("prettyPrint", "false")
31795	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31796	urls += "?" + c.urlParams_.Encode()
31797	req, err := http.NewRequest("PATCH", urls, body)
31798	if err != nil {
31799		return nil, err
31800	}
31801	req.Header = reqHeaders
31802	googleapi.Expand(req.URL, map[string]string{
31803		"profileId": strconv.FormatInt(c.profileId, 10),
31804	})
31805	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31806}
31807
31808// Do executes the "dfareporting.eventTags.patch" call.
31809// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31810// code is an error. Response headers are in either
31811// *EventTag.ServerResponse.Header or (if a response was returned at
31812// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31813// to check whether the returned error was because
31814// http.StatusNotModified was returned.
31815func (c *EventTagsPatchCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31816	gensupport.SetOptions(c.urlParams_, opts...)
31817	res, err := c.doRequest("json")
31818	if res != nil && res.StatusCode == http.StatusNotModified {
31819		if res.Body != nil {
31820			res.Body.Close()
31821		}
31822		return nil, &googleapi.Error{
31823			Code:   res.StatusCode,
31824			Header: res.Header,
31825		}
31826	}
31827	if err != nil {
31828		return nil, err
31829	}
31830	defer googleapi.CloseBody(res)
31831	if err := googleapi.CheckResponse(res); err != nil {
31832		return nil, err
31833	}
31834	ret := &EventTag{
31835		ServerResponse: googleapi.ServerResponse{
31836			Header:         res.Header,
31837			HTTPStatusCode: res.StatusCode,
31838		},
31839	}
31840	target := &ret
31841	if err := gensupport.DecodeResponse(target, res); err != nil {
31842		return nil, err
31843	}
31844	return ret, nil
31845	// {
31846	//   "description": "Updates an existing event tag. This method supports patch semantics.",
31847	//   "httpMethod": "PATCH",
31848	//   "id": "dfareporting.eventTags.patch",
31849	//   "parameterOrder": [
31850	//     "profileId",
31851	//     "id"
31852	//   ],
31853	//   "parameters": {
31854	//     "id": {
31855	//       "description": "Event tag ID.",
31856	//       "format": "int64",
31857	//       "location": "query",
31858	//       "required": true,
31859	//       "type": "string"
31860	//     },
31861	//     "profileId": {
31862	//       "description": "User profile ID associated with this request.",
31863	//       "format": "int64",
31864	//       "location": "path",
31865	//       "required": true,
31866	//       "type": "string"
31867	//     }
31868	//   },
31869	//   "path": "userprofiles/{profileId}/eventTags",
31870	//   "request": {
31871	//     "$ref": "EventTag"
31872	//   },
31873	//   "response": {
31874	//     "$ref": "EventTag"
31875	//   },
31876	//   "scopes": [
31877	//     "https://www.googleapis.com/auth/dfatrafficking"
31878	//   ]
31879	// }
31880
31881}
31882
31883// method id "dfareporting.eventTags.update":
31884
31885type EventTagsUpdateCall struct {
31886	s          *Service
31887	profileId  int64
31888	eventtag   *EventTag
31889	urlParams_ gensupport.URLParams
31890	ctx_       context.Context
31891	header_    http.Header
31892}
31893
31894// Update: Updates an existing event tag.
31895func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
31896	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31897	c.profileId = profileId
31898	c.eventtag = eventtag
31899	return c
31900}
31901
31902// Fields allows partial responses to be retrieved. See
31903// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31904// for more information.
31905func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
31906	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31907	return c
31908}
31909
31910// Context sets the context to be used in this call's Do method. Any
31911// pending HTTP request will be aborted if the provided context is
31912// canceled.
31913func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
31914	c.ctx_ = ctx
31915	return c
31916}
31917
31918// Header returns an http.Header that can be modified by the caller to
31919// add HTTP headers to the request.
31920func (c *EventTagsUpdateCall) Header() http.Header {
31921	if c.header_ == nil {
31922		c.header_ = make(http.Header)
31923	}
31924	return c.header_
31925}
31926
31927func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
31928	reqHeaders := make(http.Header)
31929	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
31930	for k, v := range c.header_ {
31931		reqHeaders[k] = v
31932	}
31933	reqHeaders.Set("User-Agent", c.s.userAgent())
31934	var body io.Reader = nil
31935	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
31936	if err != nil {
31937		return nil, err
31938	}
31939	reqHeaders.Set("Content-Type", "application/json")
31940	c.urlParams_.Set("alt", alt)
31941	c.urlParams_.Set("prettyPrint", "false")
31942	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31943	urls += "?" + c.urlParams_.Encode()
31944	req, err := http.NewRequest("PUT", urls, body)
31945	if err != nil {
31946		return nil, err
31947	}
31948	req.Header = reqHeaders
31949	googleapi.Expand(req.URL, map[string]string{
31950		"profileId": strconv.FormatInt(c.profileId, 10),
31951	})
31952	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31953}
31954
31955// Do executes the "dfareporting.eventTags.update" call.
31956// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31957// code is an error. Response headers are in either
31958// *EventTag.ServerResponse.Header or (if a response was returned at
31959// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31960// to check whether the returned error was because
31961// http.StatusNotModified was returned.
31962func (c *EventTagsUpdateCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31963	gensupport.SetOptions(c.urlParams_, opts...)
31964	res, err := c.doRequest("json")
31965	if res != nil && res.StatusCode == http.StatusNotModified {
31966		if res.Body != nil {
31967			res.Body.Close()
31968		}
31969		return nil, &googleapi.Error{
31970			Code:   res.StatusCode,
31971			Header: res.Header,
31972		}
31973	}
31974	if err != nil {
31975		return nil, err
31976	}
31977	defer googleapi.CloseBody(res)
31978	if err := googleapi.CheckResponse(res); err != nil {
31979		return nil, err
31980	}
31981	ret := &EventTag{
31982		ServerResponse: googleapi.ServerResponse{
31983			Header:         res.Header,
31984			HTTPStatusCode: res.StatusCode,
31985		},
31986	}
31987	target := &ret
31988	if err := gensupport.DecodeResponse(target, res); err != nil {
31989		return nil, err
31990	}
31991	return ret, nil
31992	// {
31993	//   "description": "Updates an existing event tag.",
31994	//   "httpMethod": "PUT",
31995	//   "id": "dfareporting.eventTags.update",
31996	//   "parameterOrder": [
31997	//     "profileId"
31998	//   ],
31999	//   "parameters": {
32000	//     "profileId": {
32001	//       "description": "User profile ID associated with this request.",
32002	//       "format": "int64",
32003	//       "location": "path",
32004	//       "required": true,
32005	//       "type": "string"
32006	//     }
32007	//   },
32008	//   "path": "userprofiles/{profileId}/eventTags",
32009	//   "request": {
32010	//     "$ref": "EventTag"
32011	//   },
32012	//   "response": {
32013	//     "$ref": "EventTag"
32014	//   },
32015	//   "scopes": [
32016	//     "https://www.googleapis.com/auth/dfatrafficking"
32017	//   ]
32018	// }
32019
32020}
32021
32022// method id "dfareporting.files.get":
32023
32024type FilesGetCall struct {
32025	s            *Service
32026	reportId     int64
32027	fileId       int64
32028	urlParams_   gensupport.URLParams
32029	ifNoneMatch_ string
32030	ctx_         context.Context
32031	header_      http.Header
32032}
32033
32034// Get: Retrieves a report file by its report ID and file ID. This
32035// method supports media download.
32036func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
32037	c := &FilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32038	c.reportId = reportId
32039	c.fileId = fileId
32040	return c
32041}
32042
32043// Fields allows partial responses to be retrieved. See
32044// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32045// for more information.
32046func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
32047	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32048	return c
32049}
32050
32051// IfNoneMatch sets the optional parameter which makes the operation
32052// fail if the object's ETag matches the given value. This is useful for
32053// getting updates only after the object has changed since the last
32054// request. Use googleapi.IsNotModified to check whether the response
32055// error from Do is the result of In-None-Match.
32056func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
32057	c.ifNoneMatch_ = entityTag
32058	return c
32059}
32060
32061// Context sets the context to be used in this call's Do and Download
32062// methods. Any pending HTTP request will be aborted if the provided
32063// context is canceled.
32064func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
32065	c.ctx_ = ctx
32066	return c
32067}
32068
32069// Header returns an http.Header that can be modified by the caller to
32070// add HTTP headers to the request.
32071func (c *FilesGetCall) Header() http.Header {
32072	if c.header_ == nil {
32073		c.header_ = make(http.Header)
32074	}
32075	return c.header_
32076}
32077
32078func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
32079	reqHeaders := make(http.Header)
32080	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
32081	for k, v := range c.header_ {
32082		reqHeaders[k] = v
32083	}
32084	reqHeaders.Set("User-Agent", c.s.userAgent())
32085	if c.ifNoneMatch_ != "" {
32086		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32087	}
32088	var body io.Reader = nil
32089	c.urlParams_.Set("alt", alt)
32090	c.urlParams_.Set("prettyPrint", "false")
32091	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
32092	urls += "?" + c.urlParams_.Encode()
32093	req, err := http.NewRequest("GET", urls, body)
32094	if err != nil {
32095		return nil, err
32096	}
32097	req.Header = reqHeaders
32098	googleapi.Expand(req.URL, map[string]string{
32099		"reportId": strconv.FormatInt(c.reportId, 10),
32100		"fileId":   strconv.FormatInt(c.fileId, 10),
32101	})
32102	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32103}
32104
32105// Download fetches the API endpoint's "media" value, instead of the normal
32106// API response value. If the returned error is nil, the Response is guaranteed to
32107// have a 2xx status code. Callers must close the Response.Body as usual.
32108func (c *FilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
32109	gensupport.SetOptions(c.urlParams_, opts...)
32110	res, err := c.doRequest("media")
32111	if err != nil {
32112		return nil, err
32113	}
32114	if err := googleapi.CheckMediaResponse(res); err != nil {
32115		res.Body.Close()
32116		return nil, err
32117	}
32118	return res, nil
32119}
32120
32121// Do executes the "dfareporting.files.get" call.
32122// Exactly one of *File or error will be non-nil. Any non-2xx status
32123// code is an error. Response headers are in either
32124// *File.ServerResponse.Header or (if a response was returned at all) in
32125// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
32126// whether the returned error was because http.StatusNotModified was
32127// returned.
32128func (c *FilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
32129	gensupport.SetOptions(c.urlParams_, opts...)
32130	res, err := c.doRequest("json")
32131	if res != nil && res.StatusCode == http.StatusNotModified {
32132		if res.Body != nil {
32133			res.Body.Close()
32134		}
32135		return nil, &googleapi.Error{
32136			Code:   res.StatusCode,
32137			Header: res.Header,
32138		}
32139	}
32140	if err != nil {
32141		return nil, err
32142	}
32143	defer googleapi.CloseBody(res)
32144	if err := googleapi.CheckResponse(res); err != nil {
32145		return nil, err
32146	}
32147	ret := &File{
32148		ServerResponse: googleapi.ServerResponse{
32149			Header:         res.Header,
32150			HTTPStatusCode: res.StatusCode,
32151		},
32152	}
32153	target := &ret
32154	if err := gensupport.DecodeResponse(target, res); err != nil {
32155		return nil, err
32156	}
32157	return ret, nil
32158	// {
32159	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
32160	//   "httpMethod": "GET",
32161	//   "id": "dfareporting.files.get",
32162	//   "parameterOrder": [
32163	//     "reportId",
32164	//     "fileId"
32165	//   ],
32166	//   "parameters": {
32167	//     "fileId": {
32168	//       "description": "The ID of the report file.",
32169	//       "format": "int64",
32170	//       "location": "path",
32171	//       "required": true,
32172	//       "type": "string"
32173	//     },
32174	//     "reportId": {
32175	//       "description": "The ID of the report.",
32176	//       "format": "int64",
32177	//       "location": "path",
32178	//       "required": true,
32179	//       "type": "string"
32180	//     }
32181	//   },
32182	//   "path": "reports/{reportId}/files/{fileId}",
32183	//   "response": {
32184	//     "$ref": "File"
32185	//   },
32186	//   "scopes": [
32187	//     "https://www.googleapis.com/auth/dfareporting"
32188	//   ],
32189	//   "supportsMediaDownload": true
32190	// }
32191
32192}
32193
32194// method id "dfareporting.files.list":
32195
32196type FilesListCall struct {
32197	s            *Service
32198	profileId    int64
32199	urlParams_   gensupport.URLParams
32200	ifNoneMatch_ string
32201	ctx_         context.Context
32202	header_      http.Header
32203}
32204
32205// List: Lists files for a user profile.
32206func (r *FilesService) List(profileId int64) *FilesListCall {
32207	c := &FilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32208	c.profileId = profileId
32209	return c
32210}
32211
32212// MaxResults sets the optional parameter "maxResults": Maximum number
32213// of results to return.
32214func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
32215	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
32216	return c
32217}
32218
32219// PageToken sets the optional parameter "pageToken": The value of the
32220// nextToken from the previous result page.
32221func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
32222	c.urlParams_.Set("pageToken", pageToken)
32223	return c
32224}
32225
32226// Scope sets the optional parameter "scope": The scope that defines
32227// which results are returned.
32228//
32229// Possible values:
32230//   "ALL" - All files in account.
32231//   "MINE" (default) - My files.
32232//   "SHARED_WITH_ME" - Files shared with me.
32233func (c *FilesListCall) Scope(scope string) *FilesListCall {
32234	c.urlParams_.Set("scope", scope)
32235	return c
32236}
32237
32238// SortField sets the optional parameter "sortField": The field by which
32239// to sort the list.
32240//
32241// Possible values:
32242//   "ID" - Sort by file ID.
32243//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
32244func (c *FilesListCall) SortField(sortField string) *FilesListCall {
32245	c.urlParams_.Set("sortField", sortField)
32246	return c
32247}
32248
32249// SortOrder sets the optional parameter "sortOrder": Order of sorted
32250// results.
32251//
32252// Possible values:
32253//   "ASCENDING" - Ascending order.
32254//   "DESCENDING" (default) - Descending order.
32255func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
32256	c.urlParams_.Set("sortOrder", sortOrder)
32257	return c
32258}
32259
32260// Fields allows partial responses to be retrieved. See
32261// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32262// for more information.
32263func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
32264	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32265	return c
32266}
32267
32268// IfNoneMatch sets the optional parameter which makes the operation
32269// fail if the object's ETag matches the given value. This is useful for
32270// getting updates only after the object has changed since the last
32271// request. Use googleapi.IsNotModified to check whether the response
32272// error from Do is the result of In-None-Match.
32273func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
32274	c.ifNoneMatch_ = entityTag
32275	return c
32276}
32277
32278// Context sets the context to be used in this call's Do method. Any
32279// pending HTTP request will be aborted if the provided context is
32280// canceled.
32281func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
32282	c.ctx_ = ctx
32283	return c
32284}
32285
32286// Header returns an http.Header that can be modified by the caller to
32287// add HTTP headers to the request.
32288func (c *FilesListCall) Header() http.Header {
32289	if c.header_ == nil {
32290		c.header_ = make(http.Header)
32291	}
32292	return c.header_
32293}
32294
32295func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
32296	reqHeaders := make(http.Header)
32297	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
32298	for k, v := range c.header_ {
32299		reqHeaders[k] = v
32300	}
32301	reqHeaders.Set("User-Agent", c.s.userAgent())
32302	if c.ifNoneMatch_ != "" {
32303		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32304	}
32305	var body io.Reader = nil
32306	c.urlParams_.Set("alt", alt)
32307	c.urlParams_.Set("prettyPrint", "false")
32308	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
32309	urls += "?" + c.urlParams_.Encode()
32310	req, err := http.NewRequest("GET", urls, body)
32311	if err != nil {
32312		return nil, err
32313	}
32314	req.Header = reqHeaders
32315	googleapi.Expand(req.URL, map[string]string{
32316		"profileId": strconv.FormatInt(c.profileId, 10),
32317	})
32318	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32319}
32320
32321// Do executes the "dfareporting.files.list" call.
32322// Exactly one of *FileList or error will be non-nil. Any non-2xx status
32323// code is an error. Response headers are in either
32324// *FileList.ServerResponse.Header or (if a response was returned at
32325// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
32326// to check whether the returned error was because
32327// http.StatusNotModified was returned.
32328func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
32329	gensupport.SetOptions(c.urlParams_, opts...)
32330	res, err := c.doRequest("json")
32331	if res != nil && res.StatusCode == http.StatusNotModified {
32332		if res.Body != nil {
32333			res.Body.Close()
32334		}
32335		return nil, &googleapi.Error{
32336			Code:   res.StatusCode,
32337			Header: res.Header,
32338		}
32339	}
32340	if err != nil {
32341		return nil, err
32342	}
32343	defer googleapi.CloseBody(res)
32344	if err := googleapi.CheckResponse(res); err != nil {
32345		return nil, err
32346	}
32347	ret := &FileList{
32348		ServerResponse: googleapi.ServerResponse{
32349			Header:         res.Header,
32350			HTTPStatusCode: res.StatusCode,
32351		},
32352	}
32353	target := &ret
32354	if err := gensupport.DecodeResponse(target, res); err != nil {
32355		return nil, err
32356	}
32357	return ret, nil
32358	// {
32359	//   "description": "Lists files for a user profile.",
32360	//   "httpMethod": "GET",
32361	//   "id": "dfareporting.files.list",
32362	//   "parameterOrder": [
32363	//     "profileId"
32364	//   ],
32365	//   "parameters": {
32366	//     "maxResults": {
32367	//       "default": "10",
32368	//       "description": "Maximum number of results to return.",
32369	//       "format": "int32",
32370	//       "location": "query",
32371	//       "maximum": "10",
32372	//       "minimum": "0",
32373	//       "type": "integer"
32374	//     },
32375	//     "pageToken": {
32376	//       "description": "The value of the nextToken from the previous result page.",
32377	//       "location": "query",
32378	//       "type": "string"
32379	//     },
32380	//     "profileId": {
32381	//       "description": "The DFA profile ID.",
32382	//       "format": "int64",
32383	//       "location": "path",
32384	//       "required": true,
32385	//       "type": "string"
32386	//     },
32387	//     "scope": {
32388	//       "default": "MINE",
32389	//       "description": "The scope that defines which results are returned.",
32390	//       "enum": [
32391	//         "ALL",
32392	//         "MINE",
32393	//         "SHARED_WITH_ME"
32394	//       ],
32395	//       "enumDescriptions": [
32396	//         "All files in account.",
32397	//         "My files.",
32398	//         "Files shared with me."
32399	//       ],
32400	//       "location": "query",
32401	//       "type": "string"
32402	//     },
32403	//     "sortField": {
32404	//       "default": "LAST_MODIFIED_TIME",
32405	//       "description": "The field by which to sort the list.",
32406	//       "enum": [
32407	//         "ID",
32408	//         "LAST_MODIFIED_TIME"
32409	//       ],
32410	//       "enumDescriptions": [
32411	//         "Sort by file ID.",
32412	//         "Sort by 'lastmodifiedAt' field."
32413	//       ],
32414	//       "location": "query",
32415	//       "type": "string"
32416	//     },
32417	//     "sortOrder": {
32418	//       "default": "DESCENDING",
32419	//       "description": "Order of sorted results.",
32420	//       "enum": [
32421	//         "ASCENDING",
32422	//         "DESCENDING"
32423	//       ],
32424	//       "enumDescriptions": [
32425	//         "Ascending order.",
32426	//         "Descending order."
32427	//       ],
32428	//       "location": "query",
32429	//       "type": "string"
32430	//     }
32431	//   },
32432	//   "path": "userprofiles/{profileId}/files",
32433	//   "response": {
32434	//     "$ref": "FileList"
32435	//   },
32436	//   "scopes": [
32437	//     "https://www.googleapis.com/auth/dfareporting"
32438	//   ]
32439	// }
32440
32441}
32442
32443// Pages invokes f for each page of results.
32444// A non-nil error returned from f will halt the iteration.
32445// The provided context supersedes any context provided to the Context method.
32446func (c *FilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
32447	c.ctx_ = ctx
32448	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
32449	for {
32450		x, err := c.Do()
32451		if err != nil {
32452			return err
32453		}
32454		if err := f(x); err != nil {
32455			return err
32456		}
32457		if x.NextPageToken == "" {
32458			return nil
32459		}
32460		c.PageToken(x.NextPageToken)
32461	}
32462}
32463
32464// method id "dfareporting.floodlightActivities.delete":
32465
32466type FloodlightActivitiesDeleteCall struct {
32467	s          *Service
32468	profileId  int64
32469	id         int64
32470	urlParams_ gensupport.URLParams
32471	ctx_       context.Context
32472	header_    http.Header
32473}
32474
32475// Delete: Deletes an existing floodlight activity.
32476func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
32477	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32478	c.profileId = profileId
32479	c.id = id
32480	return c
32481}
32482
32483// Fields allows partial responses to be retrieved. See
32484// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32485// for more information.
32486func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
32487	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32488	return c
32489}
32490
32491// Context sets the context to be used in this call's Do method. Any
32492// pending HTTP request will be aborted if the provided context is
32493// canceled.
32494func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
32495	c.ctx_ = ctx
32496	return c
32497}
32498
32499// Header returns an http.Header that can be modified by the caller to
32500// add HTTP headers to the request.
32501func (c *FloodlightActivitiesDeleteCall) Header() http.Header {
32502	if c.header_ == nil {
32503		c.header_ = make(http.Header)
32504	}
32505	return c.header_
32506}
32507
32508func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
32509	reqHeaders := make(http.Header)
32510	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
32511	for k, v := range c.header_ {
32512		reqHeaders[k] = v
32513	}
32514	reqHeaders.Set("User-Agent", c.s.userAgent())
32515	var body io.Reader = nil
32516	c.urlParams_.Set("alt", alt)
32517	c.urlParams_.Set("prettyPrint", "false")
32518	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
32519	urls += "?" + c.urlParams_.Encode()
32520	req, err := http.NewRequest("DELETE", urls, body)
32521	if err != nil {
32522		return nil, err
32523	}
32524	req.Header = reqHeaders
32525	googleapi.Expand(req.URL, map[string]string{
32526		"profileId": strconv.FormatInt(c.profileId, 10),
32527		"id":        strconv.FormatInt(c.id, 10),
32528	})
32529	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32530}
32531
32532// Do executes the "dfareporting.floodlightActivities.delete" call.
32533func (c *FloodlightActivitiesDeleteCall) Do(opts ...googleapi.CallOption) error {
32534	gensupport.SetOptions(c.urlParams_, opts...)
32535	res, err := c.doRequest("json")
32536	if err != nil {
32537		return err
32538	}
32539	defer googleapi.CloseBody(res)
32540	if err := googleapi.CheckResponse(res); err != nil {
32541		return err
32542	}
32543	return nil
32544	// {
32545	//   "description": "Deletes an existing floodlight activity.",
32546	//   "httpMethod": "DELETE",
32547	//   "id": "dfareporting.floodlightActivities.delete",
32548	//   "parameterOrder": [
32549	//     "profileId",
32550	//     "id"
32551	//   ],
32552	//   "parameters": {
32553	//     "id": {
32554	//       "description": "Floodlight activity ID.",
32555	//       "format": "int64",
32556	//       "location": "path",
32557	//       "required": true,
32558	//       "type": "string"
32559	//     },
32560	//     "profileId": {
32561	//       "description": "User profile ID associated with this request.",
32562	//       "format": "int64",
32563	//       "location": "path",
32564	//       "required": true,
32565	//       "type": "string"
32566	//     }
32567	//   },
32568	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
32569	//   "scopes": [
32570	//     "https://www.googleapis.com/auth/dfatrafficking"
32571	//   ]
32572	// }
32573
32574}
32575
32576// method id "dfareporting.floodlightActivities.generatetag":
32577
32578type FloodlightActivitiesGeneratetagCall struct {
32579	s          *Service
32580	profileId  int64
32581	urlParams_ gensupport.URLParams
32582	ctx_       context.Context
32583	header_    http.Header
32584}
32585
32586// Generatetag: Generates a tag for a floodlight activity.
32587func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
32588	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32589	c.profileId = profileId
32590	return c
32591}
32592
32593// FloodlightActivityId sets the optional parameter
32594// "floodlightActivityId": Floodlight activity ID for which we want to
32595// generate a tag.
32596func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
32597	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
32598	return c
32599}
32600
32601// Fields allows partial responses to be retrieved. See
32602// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32603// for more information.
32604func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
32605	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32606	return c
32607}
32608
32609// Context sets the context to be used in this call's Do method. Any
32610// pending HTTP request will be aborted if the provided context is
32611// canceled.
32612func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
32613	c.ctx_ = ctx
32614	return c
32615}
32616
32617// Header returns an http.Header that can be modified by the caller to
32618// add HTTP headers to the request.
32619func (c *FloodlightActivitiesGeneratetagCall) Header() http.Header {
32620	if c.header_ == nil {
32621		c.header_ = make(http.Header)
32622	}
32623	return c.header_
32624}
32625
32626func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
32627	reqHeaders := make(http.Header)
32628	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
32629	for k, v := range c.header_ {
32630		reqHeaders[k] = v
32631	}
32632	reqHeaders.Set("User-Agent", c.s.userAgent())
32633	var body io.Reader = nil
32634	c.urlParams_.Set("alt", alt)
32635	c.urlParams_.Set("prettyPrint", "false")
32636	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
32637	urls += "?" + c.urlParams_.Encode()
32638	req, err := http.NewRequest("POST", urls, body)
32639	if err != nil {
32640		return nil, err
32641	}
32642	req.Header = reqHeaders
32643	googleapi.Expand(req.URL, map[string]string{
32644		"profileId": strconv.FormatInt(c.profileId, 10),
32645	})
32646	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32647}
32648
32649// Do executes the "dfareporting.floodlightActivities.generatetag" call.
32650// Exactly one of *FloodlightActivitiesGenerateTagResponse or error will
32651// be non-nil. Any non-2xx status code is an error. Response headers are
32652// in either
32653// *FloodlightActivitiesGenerateTagResponse.ServerResponse.Header or (if
32654// a response was returned at all) in error.(*googleapi.Error).Header.
32655// Use googleapi.IsNotModified to check whether the returned error was
32656// because http.StatusNotModified was returned.
32657func (c *FloodlightActivitiesGeneratetagCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesGenerateTagResponse, error) {
32658	gensupport.SetOptions(c.urlParams_, opts...)
32659	res, err := c.doRequest("json")
32660	if res != nil && res.StatusCode == http.StatusNotModified {
32661		if res.Body != nil {
32662			res.Body.Close()
32663		}
32664		return nil, &googleapi.Error{
32665			Code:   res.StatusCode,
32666			Header: res.Header,
32667		}
32668	}
32669	if err != nil {
32670		return nil, err
32671	}
32672	defer googleapi.CloseBody(res)
32673	if err := googleapi.CheckResponse(res); err != nil {
32674		return nil, err
32675	}
32676	ret := &FloodlightActivitiesGenerateTagResponse{
32677		ServerResponse: googleapi.ServerResponse{
32678			Header:         res.Header,
32679			HTTPStatusCode: res.StatusCode,
32680		},
32681	}
32682	target := &ret
32683	if err := gensupport.DecodeResponse(target, res); err != nil {
32684		return nil, err
32685	}
32686	return ret, nil
32687	// {
32688	//   "description": "Generates a tag for a floodlight activity.",
32689	//   "httpMethod": "POST",
32690	//   "id": "dfareporting.floodlightActivities.generatetag",
32691	//   "parameterOrder": [
32692	//     "profileId"
32693	//   ],
32694	//   "parameters": {
32695	//     "floodlightActivityId": {
32696	//       "description": "Floodlight activity ID for which we want to generate a tag.",
32697	//       "format": "int64",
32698	//       "location": "query",
32699	//       "type": "string"
32700	//     },
32701	//     "profileId": {
32702	//       "description": "User profile ID associated with this request.",
32703	//       "format": "int64",
32704	//       "location": "path",
32705	//       "required": true,
32706	//       "type": "string"
32707	//     }
32708	//   },
32709	//   "path": "userprofiles/{profileId}/floodlightActivities/generatetag",
32710	//   "response": {
32711	//     "$ref": "FloodlightActivitiesGenerateTagResponse"
32712	//   },
32713	//   "scopes": [
32714	//     "https://www.googleapis.com/auth/dfatrafficking"
32715	//   ]
32716	// }
32717
32718}
32719
32720// method id "dfareporting.floodlightActivities.get":
32721
32722type FloodlightActivitiesGetCall struct {
32723	s            *Service
32724	profileId    int64
32725	id           int64
32726	urlParams_   gensupport.URLParams
32727	ifNoneMatch_ string
32728	ctx_         context.Context
32729	header_      http.Header
32730}
32731
32732// Get: Gets one floodlight activity by ID.
32733func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
32734	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32735	c.profileId = profileId
32736	c.id = id
32737	return c
32738}
32739
32740// Fields allows partial responses to be retrieved. See
32741// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32742// for more information.
32743func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
32744	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32745	return c
32746}
32747
32748// IfNoneMatch sets the optional parameter which makes the operation
32749// fail if the object's ETag matches the given value. This is useful for
32750// getting updates only after the object has changed since the last
32751// request. Use googleapi.IsNotModified to check whether the response
32752// error from Do is the result of In-None-Match.
32753func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
32754	c.ifNoneMatch_ = entityTag
32755	return c
32756}
32757
32758// Context sets the context to be used in this call's Do method. Any
32759// pending HTTP request will be aborted if the provided context is
32760// canceled.
32761func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
32762	c.ctx_ = ctx
32763	return c
32764}
32765
32766// Header returns an http.Header that can be modified by the caller to
32767// add HTTP headers to the request.
32768func (c *FloodlightActivitiesGetCall) Header() http.Header {
32769	if c.header_ == nil {
32770		c.header_ = make(http.Header)
32771	}
32772	return c.header_
32773}
32774
32775func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
32776	reqHeaders := make(http.Header)
32777	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
32778	for k, v := range c.header_ {
32779		reqHeaders[k] = v
32780	}
32781	reqHeaders.Set("User-Agent", c.s.userAgent())
32782	if c.ifNoneMatch_ != "" {
32783		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32784	}
32785	var body io.Reader = nil
32786	c.urlParams_.Set("alt", alt)
32787	c.urlParams_.Set("prettyPrint", "false")
32788	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
32789	urls += "?" + c.urlParams_.Encode()
32790	req, err := http.NewRequest("GET", urls, body)
32791	if err != nil {
32792		return nil, err
32793	}
32794	req.Header = reqHeaders
32795	googleapi.Expand(req.URL, map[string]string{
32796		"profileId": strconv.FormatInt(c.profileId, 10),
32797		"id":        strconv.FormatInt(c.id, 10),
32798	})
32799	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32800}
32801
32802// Do executes the "dfareporting.floodlightActivities.get" call.
32803// Exactly one of *FloodlightActivity or error will be non-nil. Any
32804// non-2xx status code is an error. Response headers are in either
32805// *FloodlightActivity.ServerResponse.Header or (if a response was
32806// returned at all) in error.(*googleapi.Error).Header. Use
32807// googleapi.IsNotModified to check whether the returned error was
32808// because http.StatusNotModified was returned.
32809func (c *FloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32810	gensupport.SetOptions(c.urlParams_, opts...)
32811	res, err := c.doRequest("json")
32812	if res != nil && res.StatusCode == http.StatusNotModified {
32813		if res.Body != nil {
32814			res.Body.Close()
32815		}
32816		return nil, &googleapi.Error{
32817			Code:   res.StatusCode,
32818			Header: res.Header,
32819		}
32820	}
32821	if err != nil {
32822		return nil, err
32823	}
32824	defer googleapi.CloseBody(res)
32825	if err := googleapi.CheckResponse(res); err != nil {
32826		return nil, err
32827	}
32828	ret := &FloodlightActivity{
32829		ServerResponse: googleapi.ServerResponse{
32830			Header:         res.Header,
32831			HTTPStatusCode: res.StatusCode,
32832		},
32833	}
32834	target := &ret
32835	if err := gensupport.DecodeResponse(target, res); err != nil {
32836		return nil, err
32837	}
32838	return ret, nil
32839	// {
32840	//   "description": "Gets one floodlight activity by ID.",
32841	//   "httpMethod": "GET",
32842	//   "id": "dfareporting.floodlightActivities.get",
32843	//   "parameterOrder": [
32844	//     "profileId",
32845	//     "id"
32846	//   ],
32847	//   "parameters": {
32848	//     "id": {
32849	//       "description": "Floodlight activity ID.",
32850	//       "format": "int64",
32851	//       "location": "path",
32852	//       "required": true,
32853	//       "type": "string"
32854	//     },
32855	//     "profileId": {
32856	//       "description": "User profile ID associated with this request.",
32857	//       "format": "int64",
32858	//       "location": "path",
32859	//       "required": true,
32860	//       "type": "string"
32861	//     }
32862	//   },
32863	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
32864	//   "response": {
32865	//     "$ref": "FloodlightActivity"
32866	//   },
32867	//   "scopes": [
32868	//     "https://www.googleapis.com/auth/dfatrafficking"
32869	//   ]
32870	// }
32871
32872}
32873
32874// method id "dfareporting.floodlightActivities.insert":
32875
32876type FloodlightActivitiesInsertCall struct {
32877	s                  *Service
32878	profileId          int64
32879	floodlightactivity *FloodlightActivity
32880	urlParams_         gensupport.URLParams
32881	ctx_               context.Context
32882	header_            http.Header
32883}
32884
32885// Insert: Inserts a new floodlight activity.
32886func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
32887	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32888	c.profileId = profileId
32889	c.floodlightactivity = floodlightactivity
32890	return c
32891}
32892
32893// Fields allows partial responses to be retrieved. See
32894// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32895// for more information.
32896func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
32897	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32898	return c
32899}
32900
32901// Context sets the context to be used in this call's Do method. Any
32902// pending HTTP request will be aborted if the provided context is
32903// canceled.
32904func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
32905	c.ctx_ = ctx
32906	return c
32907}
32908
32909// Header returns an http.Header that can be modified by the caller to
32910// add HTTP headers to the request.
32911func (c *FloodlightActivitiesInsertCall) Header() http.Header {
32912	if c.header_ == nil {
32913		c.header_ = make(http.Header)
32914	}
32915	return c.header_
32916}
32917
32918func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
32919	reqHeaders := make(http.Header)
32920	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
32921	for k, v := range c.header_ {
32922		reqHeaders[k] = v
32923	}
32924	reqHeaders.Set("User-Agent", c.s.userAgent())
32925	var body io.Reader = nil
32926	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
32927	if err != nil {
32928		return nil, err
32929	}
32930	reqHeaders.Set("Content-Type", "application/json")
32931	c.urlParams_.Set("alt", alt)
32932	c.urlParams_.Set("prettyPrint", "false")
32933	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
32934	urls += "?" + c.urlParams_.Encode()
32935	req, err := http.NewRequest("POST", urls, body)
32936	if err != nil {
32937		return nil, err
32938	}
32939	req.Header = reqHeaders
32940	googleapi.Expand(req.URL, map[string]string{
32941		"profileId": strconv.FormatInt(c.profileId, 10),
32942	})
32943	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32944}
32945
32946// Do executes the "dfareporting.floodlightActivities.insert" call.
32947// Exactly one of *FloodlightActivity or error will be non-nil. Any
32948// non-2xx status code is an error. Response headers are in either
32949// *FloodlightActivity.ServerResponse.Header or (if a response was
32950// returned at all) in error.(*googleapi.Error).Header. Use
32951// googleapi.IsNotModified to check whether the returned error was
32952// because http.StatusNotModified was returned.
32953func (c *FloodlightActivitiesInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32954	gensupport.SetOptions(c.urlParams_, opts...)
32955	res, err := c.doRequest("json")
32956	if res != nil && res.StatusCode == http.StatusNotModified {
32957		if res.Body != nil {
32958			res.Body.Close()
32959		}
32960		return nil, &googleapi.Error{
32961			Code:   res.StatusCode,
32962			Header: res.Header,
32963		}
32964	}
32965	if err != nil {
32966		return nil, err
32967	}
32968	defer googleapi.CloseBody(res)
32969	if err := googleapi.CheckResponse(res); err != nil {
32970		return nil, err
32971	}
32972	ret := &FloodlightActivity{
32973		ServerResponse: googleapi.ServerResponse{
32974			Header:         res.Header,
32975			HTTPStatusCode: res.StatusCode,
32976		},
32977	}
32978	target := &ret
32979	if err := gensupport.DecodeResponse(target, res); err != nil {
32980		return nil, err
32981	}
32982	return ret, nil
32983	// {
32984	//   "description": "Inserts a new floodlight activity.",
32985	//   "httpMethod": "POST",
32986	//   "id": "dfareporting.floodlightActivities.insert",
32987	//   "parameterOrder": [
32988	//     "profileId"
32989	//   ],
32990	//   "parameters": {
32991	//     "profileId": {
32992	//       "description": "User profile ID associated with this request.",
32993	//       "format": "int64",
32994	//       "location": "path",
32995	//       "required": true,
32996	//       "type": "string"
32997	//     }
32998	//   },
32999	//   "path": "userprofiles/{profileId}/floodlightActivities",
33000	//   "request": {
33001	//     "$ref": "FloodlightActivity"
33002	//   },
33003	//   "response": {
33004	//     "$ref": "FloodlightActivity"
33005	//   },
33006	//   "scopes": [
33007	//     "https://www.googleapis.com/auth/dfatrafficking"
33008	//   ]
33009	// }
33010
33011}
33012
33013// method id "dfareporting.floodlightActivities.list":
33014
33015type FloodlightActivitiesListCall struct {
33016	s            *Service
33017	profileId    int64
33018	urlParams_   gensupport.URLParams
33019	ifNoneMatch_ string
33020	ctx_         context.Context
33021	header_      http.Header
33022}
33023
33024// List: Retrieves a list of floodlight activities, possibly filtered.
33025// This method supports paging.
33026func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
33027	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33028	c.profileId = profileId
33029	return c
33030}
33031
33032// AdvertiserId sets the optional parameter "advertiserId": Select only
33033// floodlight activities for the specified advertiser ID. Must specify
33034// either ids, advertiserId, or floodlightConfigurationId for a
33035// non-empty result.
33036func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
33037	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33038	return c
33039}
33040
33041// FloodlightActivityGroupIds sets the optional parameter
33042// "floodlightActivityGroupIds": Select only floodlight activities with
33043// the specified floodlight activity group IDs.
33044func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds ...int64) *FloodlightActivitiesListCall {
33045	var floodlightActivityGroupIds_ []string
33046	for _, v := range floodlightActivityGroupIds {
33047		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprint(v))
33048	}
33049	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
33050	return c
33051}
33052
33053// FloodlightActivityGroupName sets the optional parameter
33054// "floodlightActivityGroupName": Select only floodlight activities with
33055// the specified floodlight activity group name.
33056func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
33057	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
33058	return c
33059}
33060
33061// FloodlightActivityGroupTagString sets the optional parameter
33062// "floodlightActivityGroupTagString": Select only floodlight activities
33063// with the specified floodlight activity group tag string.
33064func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
33065	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
33066	return c
33067}
33068
33069// FloodlightActivityGroupType sets the optional parameter
33070// "floodlightActivityGroupType": Select only floodlight activities with
33071// the specified floodlight activity group type.
33072//
33073// Possible values:
33074//   "COUNTER"
33075//   "SALE"
33076func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
33077	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
33078	return c
33079}
33080
33081// FloodlightConfigurationId sets the optional parameter
33082// "floodlightConfigurationId": Select only floodlight activities for
33083// the specified floodlight configuration ID. Must specify either ids,
33084// advertiserId, or floodlightConfigurationId for a non-empty result.
33085func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
33086	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
33087	return c
33088}
33089
33090// Ids sets the optional parameter "ids": Select only floodlight
33091// activities with the specified IDs. Must specify either ids,
33092// advertiserId, or floodlightConfigurationId for a non-empty result.
33093func (c *FloodlightActivitiesListCall) Ids(ids ...int64) *FloodlightActivitiesListCall {
33094	var ids_ []string
33095	for _, v := range ids {
33096		ids_ = append(ids_, fmt.Sprint(v))
33097	}
33098	c.urlParams_.SetMulti("ids", ids_)
33099	return c
33100}
33101
33102// MaxResults sets the optional parameter "maxResults": Maximum number
33103// of results to return.
33104func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
33105	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
33106	return c
33107}
33108
33109// PageToken sets the optional parameter "pageToken": Value of the
33110// nextPageToken from the previous result page.
33111func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
33112	c.urlParams_.Set("pageToken", pageToken)
33113	return c
33114}
33115
33116// SearchString sets the optional parameter "searchString": Allows
33117// searching for objects by name or ID. Wildcards (*) are allowed. For
33118// example, "floodlightactivity*2015" will return objects with names
33119// like "floodlightactivity June 2015", "floodlightactivity April 2015",
33120// or simply "floodlightactivity 2015". Most of the searches also add
33121// wildcards implicitly at the start and the end of the search string.
33122// For example, a search string of "floodlightactivity" will match
33123// objects with name "my floodlightactivity activity",
33124// "floodlightactivity 2015", or simply "floodlightactivity".
33125func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
33126	c.urlParams_.Set("searchString", searchString)
33127	return c
33128}
33129
33130// SortField sets the optional parameter "sortField": Field by which to
33131// sort the list.
33132//
33133// Possible values:
33134//   "ID" (default)
33135//   "NAME"
33136func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
33137	c.urlParams_.Set("sortField", sortField)
33138	return c
33139}
33140
33141// SortOrder sets the optional parameter "sortOrder": Order of sorted
33142// results.
33143//
33144// Possible values:
33145//   "ASCENDING" (default)
33146//   "DESCENDING"
33147func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
33148	c.urlParams_.Set("sortOrder", sortOrder)
33149	return c
33150}
33151
33152// TagString sets the optional parameter "tagString": Select only
33153// floodlight activities with the specified tag string.
33154func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
33155	c.urlParams_.Set("tagString", tagString)
33156	return c
33157}
33158
33159// Fields allows partial responses to be retrieved. See
33160// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33161// for more information.
33162func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
33163	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33164	return c
33165}
33166
33167// IfNoneMatch sets the optional parameter which makes the operation
33168// fail if the object's ETag matches the given value. This is useful for
33169// getting updates only after the object has changed since the last
33170// request. Use googleapi.IsNotModified to check whether the response
33171// error from Do is the result of In-None-Match.
33172func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
33173	c.ifNoneMatch_ = entityTag
33174	return c
33175}
33176
33177// Context sets the context to be used in this call's Do method. Any
33178// pending HTTP request will be aborted if the provided context is
33179// canceled.
33180func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
33181	c.ctx_ = ctx
33182	return c
33183}
33184
33185// Header returns an http.Header that can be modified by the caller to
33186// add HTTP headers to the request.
33187func (c *FloodlightActivitiesListCall) Header() http.Header {
33188	if c.header_ == nil {
33189		c.header_ = make(http.Header)
33190	}
33191	return c.header_
33192}
33193
33194func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
33195	reqHeaders := make(http.Header)
33196	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
33197	for k, v := range c.header_ {
33198		reqHeaders[k] = v
33199	}
33200	reqHeaders.Set("User-Agent", c.s.userAgent())
33201	if c.ifNoneMatch_ != "" {
33202		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33203	}
33204	var body io.Reader = nil
33205	c.urlParams_.Set("alt", alt)
33206	c.urlParams_.Set("prettyPrint", "false")
33207	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
33208	urls += "?" + c.urlParams_.Encode()
33209	req, err := http.NewRequest("GET", urls, body)
33210	if err != nil {
33211		return nil, err
33212	}
33213	req.Header = reqHeaders
33214	googleapi.Expand(req.URL, map[string]string{
33215		"profileId": strconv.FormatInt(c.profileId, 10),
33216	})
33217	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33218}
33219
33220// Do executes the "dfareporting.floodlightActivities.list" call.
33221// Exactly one of *FloodlightActivitiesListResponse or error will be
33222// non-nil. Any non-2xx status code is an error. Response headers are in
33223// either *FloodlightActivitiesListResponse.ServerResponse.Header or (if
33224// a response was returned at all) in error.(*googleapi.Error).Header.
33225// Use googleapi.IsNotModified to check whether the returned error was
33226// because http.StatusNotModified was returned.
33227func (c *FloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesListResponse, error) {
33228	gensupport.SetOptions(c.urlParams_, opts...)
33229	res, err := c.doRequest("json")
33230	if res != nil && res.StatusCode == http.StatusNotModified {
33231		if res.Body != nil {
33232			res.Body.Close()
33233		}
33234		return nil, &googleapi.Error{
33235			Code:   res.StatusCode,
33236			Header: res.Header,
33237		}
33238	}
33239	if err != nil {
33240		return nil, err
33241	}
33242	defer googleapi.CloseBody(res)
33243	if err := googleapi.CheckResponse(res); err != nil {
33244		return nil, err
33245	}
33246	ret := &FloodlightActivitiesListResponse{
33247		ServerResponse: googleapi.ServerResponse{
33248			Header:         res.Header,
33249			HTTPStatusCode: res.StatusCode,
33250		},
33251	}
33252	target := &ret
33253	if err := gensupport.DecodeResponse(target, res); err != nil {
33254		return nil, err
33255	}
33256	return ret, nil
33257	// {
33258	//   "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
33259	//   "httpMethod": "GET",
33260	//   "id": "dfareporting.floodlightActivities.list",
33261	//   "parameterOrder": [
33262	//     "profileId"
33263	//   ],
33264	//   "parameters": {
33265	//     "advertiserId": {
33266	//       "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
33267	//       "format": "int64",
33268	//       "location": "query",
33269	//       "type": "string"
33270	//     },
33271	//     "floodlightActivityGroupIds": {
33272	//       "description": "Select only floodlight activities with the specified floodlight activity group IDs.",
33273	//       "format": "int64",
33274	//       "location": "query",
33275	//       "repeated": true,
33276	//       "type": "string"
33277	//     },
33278	//     "floodlightActivityGroupName": {
33279	//       "description": "Select only floodlight activities with the specified floodlight activity group name.",
33280	//       "location": "query",
33281	//       "type": "string"
33282	//     },
33283	//     "floodlightActivityGroupTagString": {
33284	//       "description": "Select only floodlight activities with the specified floodlight activity group tag string.",
33285	//       "location": "query",
33286	//       "type": "string"
33287	//     },
33288	//     "floodlightActivityGroupType": {
33289	//       "description": "Select only floodlight activities with the specified floodlight activity group type.",
33290	//       "enum": [
33291	//         "COUNTER",
33292	//         "SALE"
33293	//       ],
33294	//       "enumDescriptions": [
33295	//         "",
33296	//         ""
33297	//       ],
33298	//       "location": "query",
33299	//       "type": "string"
33300	//     },
33301	//     "floodlightConfigurationId": {
33302	//       "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
33303	//       "format": "int64",
33304	//       "location": "query",
33305	//       "type": "string"
33306	//     },
33307	//     "ids": {
33308	//       "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
33309	//       "format": "int64",
33310	//       "location": "query",
33311	//       "repeated": true,
33312	//       "type": "string"
33313	//     },
33314	//     "maxResults": {
33315	//       "default": "1000",
33316	//       "description": "Maximum number of results to return.",
33317	//       "format": "int32",
33318	//       "location": "query",
33319	//       "maximum": "1000",
33320	//       "minimum": "0",
33321	//       "type": "integer"
33322	//     },
33323	//     "pageToken": {
33324	//       "description": "Value of the nextPageToken from the previous result page.",
33325	//       "location": "query",
33326	//       "type": "string"
33327	//     },
33328	//     "profileId": {
33329	//       "description": "User profile ID associated with this request.",
33330	//       "format": "int64",
33331	//       "location": "path",
33332	//       "required": true,
33333	//       "type": "string"
33334	//     },
33335	//     "searchString": {
33336	//       "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\".",
33337	//       "location": "query",
33338	//       "type": "string"
33339	//     },
33340	//     "sortField": {
33341	//       "default": "ID",
33342	//       "description": "Field by which to sort the list.",
33343	//       "enum": [
33344	//         "ID",
33345	//         "NAME"
33346	//       ],
33347	//       "enumDescriptions": [
33348	//         "",
33349	//         ""
33350	//       ],
33351	//       "location": "query",
33352	//       "type": "string"
33353	//     },
33354	//     "sortOrder": {
33355	//       "default": "ASCENDING",
33356	//       "description": "Order of sorted results.",
33357	//       "enum": [
33358	//         "ASCENDING",
33359	//         "DESCENDING"
33360	//       ],
33361	//       "enumDescriptions": [
33362	//         "",
33363	//         ""
33364	//       ],
33365	//       "location": "query",
33366	//       "type": "string"
33367	//     },
33368	//     "tagString": {
33369	//       "description": "Select only floodlight activities with the specified tag string.",
33370	//       "location": "query",
33371	//       "type": "string"
33372	//     }
33373	//   },
33374	//   "path": "userprofiles/{profileId}/floodlightActivities",
33375	//   "response": {
33376	//     "$ref": "FloodlightActivitiesListResponse"
33377	//   },
33378	//   "scopes": [
33379	//     "https://www.googleapis.com/auth/dfatrafficking"
33380	//   ]
33381	// }
33382
33383}
33384
33385// Pages invokes f for each page of results.
33386// A non-nil error returned from f will halt the iteration.
33387// The provided context supersedes any context provided to the Context method.
33388func (c *FloodlightActivitiesListCall) Pages(ctx context.Context, f func(*FloodlightActivitiesListResponse) error) error {
33389	c.ctx_ = ctx
33390	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
33391	for {
33392		x, err := c.Do()
33393		if err != nil {
33394			return err
33395		}
33396		if err := f(x); err != nil {
33397			return err
33398		}
33399		if x.NextPageToken == "" {
33400			return nil
33401		}
33402		c.PageToken(x.NextPageToken)
33403	}
33404}
33405
33406// method id "dfareporting.floodlightActivities.patch":
33407
33408type FloodlightActivitiesPatchCall struct {
33409	s                  *Service
33410	profileId          int64
33411	floodlightactivity *FloodlightActivity
33412	urlParams_         gensupport.URLParams
33413	ctx_               context.Context
33414	header_            http.Header
33415}
33416
33417// Patch: Updates an existing floodlight activity. This method supports
33418// patch semantics.
33419func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
33420	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33421	c.profileId = profileId
33422	c.urlParams_.Set("id", fmt.Sprint(id))
33423	c.floodlightactivity = floodlightactivity
33424	return c
33425}
33426
33427// Fields allows partial responses to be retrieved. See
33428// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33429// for more information.
33430func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
33431	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33432	return c
33433}
33434
33435// Context sets the context to be used in this call's Do method. Any
33436// pending HTTP request will be aborted if the provided context is
33437// canceled.
33438func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
33439	c.ctx_ = ctx
33440	return c
33441}
33442
33443// Header returns an http.Header that can be modified by the caller to
33444// add HTTP headers to the request.
33445func (c *FloodlightActivitiesPatchCall) Header() http.Header {
33446	if c.header_ == nil {
33447		c.header_ = make(http.Header)
33448	}
33449	return c.header_
33450}
33451
33452func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
33453	reqHeaders := make(http.Header)
33454	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
33455	for k, v := range c.header_ {
33456		reqHeaders[k] = v
33457	}
33458	reqHeaders.Set("User-Agent", c.s.userAgent())
33459	var body io.Reader = nil
33460	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
33461	if err != nil {
33462		return nil, err
33463	}
33464	reqHeaders.Set("Content-Type", "application/json")
33465	c.urlParams_.Set("alt", alt)
33466	c.urlParams_.Set("prettyPrint", "false")
33467	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
33468	urls += "?" + c.urlParams_.Encode()
33469	req, err := http.NewRequest("PATCH", urls, body)
33470	if err != nil {
33471		return nil, err
33472	}
33473	req.Header = reqHeaders
33474	googleapi.Expand(req.URL, map[string]string{
33475		"profileId": strconv.FormatInt(c.profileId, 10),
33476	})
33477	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33478}
33479
33480// Do executes the "dfareporting.floodlightActivities.patch" call.
33481// Exactly one of *FloodlightActivity or error will be non-nil. Any
33482// non-2xx status code is an error. Response headers are in either
33483// *FloodlightActivity.ServerResponse.Header or (if a response was
33484// returned at all) in error.(*googleapi.Error).Header. Use
33485// googleapi.IsNotModified to check whether the returned error was
33486// because http.StatusNotModified was returned.
33487func (c *FloodlightActivitiesPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
33488	gensupport.SetOptions(c.urlParams_, opts...)
33489	res, err := c.doRequest("json")
33490	if res != nil && res.StatusCode == http.StatusNotModified {
33491		if res.Body != nil {
33492			res.Body.Close()
33493		}
33494		return nil, &googleapi.Error{
33495			Code:   res.StatusCode,
33496			Header: res.Header,
33497		}
33498	}
33499	if err != nil {
33500		return nil, err
33501	}
33502	defer googleapi.CloseBody(res)
33503	if err := googleapi.CheckResponse(res); err != nil {
33504		return nil, err
33505	}
33506	ret := &FloodlightActivity{
33507		ServerResponse: googleapi.ServerResponse{
33508			Header:         res.Header,
33509			HTTPStatusCode: res.StatusCode,
33510		},
33511	}
33512	target := &ret
33513	if err := gensupport.DecodeResponse(target, res); err != nil {
33514		return nil, err
33515	}
33516	return ret, nil
33517	// {
33518	//   "description": "Updates an existing floodlight activity. This method supports patch semantics.",
33519	//   "httpMethod": "PATCH",
33520	//   "id": "dfareporting.floodlightActivities.patch",
33521	//   "parameterOrder": [
33522	//     "profileId",
33523	//     "id"
33524	//   ],
33525	//   "parameters": {
33526	//     "id": {
33527	//       "description": "Floodlight activity ID.",
33528	//       "format": "int64",
33529	//       "location": "query",
33530	//       "required": true,
33531	//       "type": "string"
33532	//     },
33533	//     "profileId": {
33534	//       "description": "User profile ID associated with this request.",
33535	//       "format": "int64",
33536	//       "location": "path",
33537	//       "required": true,
33538	//       "type": "string"
33539	//     }
33540	//   },
33541	//   "path": "userprofiles/{profileId}/floodlightActivities",
33542	//   "request": {
33543	//     "$ref": "FloodlightActivity"
33544	//   },
33545	//   "response": {
33546	//     "$ref": "FloodlightActivity"
33547	//   },
33548	//   "scopes": [
33549	//     "https://www.googleapis.com/auth/dfatrafficking"
33550	//   ]
33551	// }
33552
33553}
33554
33555// method id "dfareporting.floodlightActivities.update":
33556
33557type FloodlightActivitiesUpdateCall struct {
33558	s                  *Service
33559	profileId          int64
33560	floodlightactivity *FloodlightActivity
33561	urlParams_         gensupport.URLParams
33562	ctx_               context.Context
33563	header_            http.Header
33564}
33565
33566// Update: Updates an existing floodlight activity.
33567func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
33568	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33569	c.profileId = profileId
33570	c.floodlightactivity = floodlightactivity
33571	return c
33572}
33573
33574// Fields allows partial responses to be retrieved. See
33575// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33576// for more information.
33577func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
33578	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33579	return c
33580}
33581
33582// Context sets the context to be used in this call's Do method. Any
33583// pending HTTP request will be aborted if the provided context is
33584// canceled.
33585func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
33586	c.ctx_ = ctx
33587	return c
33588}
33589
33590// Header returns an http.Header that can be modified by the caller to
33591// add HTTP headers to the request.
33592func (c *FloodlightActivitiesUpdateCall) Header() http.Header {
33593	if c.header_ == nil {
33594		c.header_ = make(http.Header)
33595	}
33596	return c.header_
33597}
33598
33599func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
33600	reqHeaders := make(http.Header)
33601	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
33602	for k, v := range c.header_ {
33603		reqHeaders[k] = v
33604	}
33605	reqHeaders.Set("User-Agent", c.s.userAgent())
33606	var body io.Reader = nil
33607	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
33608	if err != nil {
33609		return nil, err
33610	}
33611	reqHeaders.Set("Content-Type", "application/json")
33612	c.urlParams_.Set("alt", alt)
33613	c.urlParams_.Set("prettyPrint", "false")
33614	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
33615	urls += "?" + c.urlParams_.Encode()
33616	req, err := http.NewRequest("PUT", urls, body)
33617	if err != nil {
33618		return nil, err
33619	}
33620	req.Header = reqHeaders
33621	googleapi.Expand(req.URL, map[string]string{
33622		"profileId": strconv.FormatInt(c.profileId, 10),
33623	})
33624	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33625}
33626
33627// Do executes the "dfareporting.floodlightActivities.update" call.
33628// Exactly one of *FloodlightActivity or error will be non-nil. Any
33629// non-2xx status code is an error. Response headers are in either
33630// *FloodlightActivity.ServerResponse.Header or (if a response was
33631// returned at all) in error.(*googleapi.Error).Header. Use
33632// googleapi.IsNotModified to check whether the returned error was
33633// because http.StatusNotModified was returned.
33634func (c *FloodlightActivitiesUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
33635	gensupport.SetOptions(c.urlParams_, opts...)
33636	res, err := c.doRequest("json")
33637	if res != nil && res.StatusCode == http.StatusNotModified {
33638		if res.Body != nil {
33639			res.Body.Close()
33640		}
33641		return nil, &googleapi.Error{
33642			Code:   res.StatusCode,
33643			Header: res.Header,
33644		}
33645	}
33646	if err != nil {
33647		return nil, err
33648	}
33649	defer googleapi.CloseBody(res)
33650	if err := googleapi.CheckResponse(res); err != nil {
33651		return nil, err
33652	}
33653	ret := &FloodlightActivity{
33654		ServerResponse: googleapi.ServerResponse{
33655			Header:         res.Header,
33656			HTTPStatusCode: res.StatusCode,
33657		},
33658	}
33659	target := &ret
33660	if err := gensupport.DecodeResponse(target, res); err != nil {
33661		return nil, err
33662	}
33663	return ret, nil
33664	// {
33665	//   "description": "Updates an existing floodlight activity.",
33666	//   "httpMethod": "PUT",
33667	//   "id": "dfareporting.floodlightActivities.update",
33668	//   "parameterOrder": [
33669	//     "profileId"
33670	//   ],
33671	//   "parameters": {
33672	//     "profileId": {
33673	//       "description": "User profile ID associated with this request.",
33674	//       "format": "int64",
33675	//       "location": "path",
33676	//       "required": true,
33677	//       "type": "string"
33678	//     }
33679	//   },
33680	//   "path": "userprofiles/{profileId}/floodlightActivities",
33681	//   "request": {
33682	//     "$ref": "FloodlightActivity"
33683	//   },
33684	//   "response": {
33685	//     "$ref": "FloodlightActivity"
33686	//   },
33687	//   "scopes": [
33688	//     "https://www.googleapis.com/auth/dfatrafficking"
33689	//   ]
33690	// }
33691
33692}
33693
33694// method id "dfareporting.floodlightActivityGroups.get":
33695
33696type FloodlightActivityGroupsGetCall struct {
33697	s            *Service
33698	profileId    int64
33699	id           int64
33700	urlParams_   gensupport.URLParams
33701	ifNoneMatch_ string
33702	ctx_         context.Context
33703	header_      http.Header
33704}
33705
33706// Get: Gets one floodlight activity group by ID.
33707func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
33708	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33709	c.profileId = profileId
33710	c.id = id
33711	return c
33712}
33713
33714// Fields allows partial responses to be retrieved. See
33715// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33716// for more information.
33717func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
33718	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33719	return c
33720}
33721
33722// IfNoneMatch sets the optional parameter which makes the operation
33723// fail if the object's ETag matches the given value. This is useful for
33724// getting updates only after the object has changed since the last
33725// request. Use googleapi.IsNotModified to check whether the response
33726// error from Do is the result of In-None-Match.
33727func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
33728	c.ifNoneMatch_ = entityTag
33729	return c
33730}
33731
33732// Context sets the context to be used in this call's Do method. Any
33733// pending HTTP request will be aborted if the provided context is
33734// canceled.
33735func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
33736	c.ctx_ = ctx
33737	return c
33738}
33739
33740// Header returns an http.Header that can be modified by the caller to
33741// add HTTP headers to the request.
33742func (c *FloodlightActivityGroupsGetCall) Header() http.Header {
33743	if c.header_ == nil {
33744		c.header_ = make(http.Header)
33745	}
33746	return c.header_
33747}
33748
33749func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
33750	reqHeaders := make(http.Header)
33751	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
33752	for k, v := range c.header_ {
33753		reqHeaders[k] = v
33754	}
33755	reqHeaders.Set("User-Agent", c.s.userAgent())
33756	if c.ifNoneMatch_ != "" {
33757		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33758	}
33759	var body io.Reader = nil
33760	c.urlParams_.Set("alt", alt)
33761	c.urlParams_.Set("prettyPrint", "false")
33762	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
33763	urls += "?" + c.urlParams_.Encode()
33764	req, err := http.NewRequest("GET", urls, body)
33765	if err != nil {
33766		return nil, err
33767	}
33768	req.Header = reqHeaders
33769	googleapi.Expand(req.URL, map[string]string{
33770		"profileId": strconv.FormatInt(c.profileId, 10),
33771		"id":        strconv.FormatInt(c.id, 10),
33772	})
33773	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33774}
33775
33776// Do executes the "dfareporting.floodlightActivityGroups.get" call.
33777// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33778// non-2xx status code is an error. Response headers are in either
33779// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33780// returned at all) in error.(*googleapi.Error).Header. Use
33781// googleapi.IsNotModified to check whether the returned error was
33782// because http.StatusNotModified was returned.
33783func (c *FloodlightActivityGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33784	gensupport.SetOptions(c.urlParams_, opts...)
33785	res, err := c.doRequest("json")
33786	if res != nil && res.StatusCode == http.StatusNotModified {
33787		if res.Body != nil {
33788			res.Body.Close()
33789		}
33790		return nil, &googleapi.Error{
33791			Code:   res.StatusCode,
33792			Header: res.Header,
33793		}
33794	}
33795	if err != nil {
33796		return nil, err
33797	}
33798	defer googleapi.CloseBody(res)
33799	if err := googleapi.CheckResponse(res); err != nil {
33800		return nil, err
33801	}
33802	ret := &FloodlightActivityGroup{
33803		ServerResponse: googleapi.ServerResponse{
33804			Header:         res.Header,
33805			HTTPStatusCode: res.StatusCode,
33806		},
33807	}
33808	target := &ret
33809	if err := gensupport.DecodeResponse(target, res); err != nil {
33810		return nil, err
33811	}
33812	return ret, nil
33813	// {
33814	//   "description": "Gets one floodlight activity group by ID.",
33815	//   "httpMethod": "GET",
33816	//   "id": "dfareporting.floodlightActivityGroups.get",
33817	//   "parameterOrder": [
33818	//     "profileId",
33819	//     "id"
33820	//   ],
33821	//   "parameters": {
33822	//     "id": {
33823	//       "description": "Floodlight activity Group ID.",
33824	//       "format": "int64",
33825	//       "location": "path",
33826	//       "required": true,
33827	//       "type": "string"
33828	//     },
33829	//     "profileId": {
33830	//       "description": "User profile ID associated with this request.",
33831	//       "format": "int64",
33832	//       "location": "path",
33833	//       "required": true,
33834	//       "type": "string"
33835	//     }
33836	//   },
33837	//   "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
33838	//   "response": {
33839	//     "$ref": "FloodlightActivityGroup"
33840	//   },
33841	//   "scopes": [
33842	//     "https://www.googleapis.com/auth/dfatrafficking"
33843	//   ]
33844	// }
33845
33846}
33847
33848// method id "dfareporting.floodlightActivityGroups.insert":
33849
33850type FloodlightActivityGroupsInsertCall struct {
33851	s                       *Service
33852	profileId               int64
33853	floodlightactivitygroup *FloodlightActivityGroup
33854	urlParams_              gensupport.URLParams
33855	ctx_                    context.Context
33856	header_                 http.Header
33857}
33858
33859// Insert: Inserts a new floodlight activity group.
33860func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
33861	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33862	c.profileId = profileId
33863	c.floodlightactivitygroup = floodlightactivitygroup
33864	return c
33865}
33866
33867// Fields allows partial responses to be retrieved. See
33868// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33869// for more information.
33870func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
33871	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33872	return c
33873}
33874
33875// Context sets the context to be used in this call's Do method. Any
33876// pending HTTP request will be aborted if the provided context is
33877// canceled.
33878func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
33879	c.ctx_ = ctx
33880	return c
33881}
33882
33883// Header returns an http.Header that can be modified by the caller to
33884// add HTTP headers to the request.
33885func (c *FloodlightActivityGroupsInsertCall) Header() http.Header {
33886	if c.header_ == nil {
33887		c.header_ = make(http.Header)
33888	}
33889	return c.header_
33890}
33891
33892func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
33893	reqHeaders := make(http.Header)
33894	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
33895	for k, v := range c.header_ {
33896		reqHeaders[k] = v
33897	}
33898	reqHeaders.Set("User-Agent", c.s.userAgent())
33899	var body io.Reader = nil
33900	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
33901	if err != nil {
33902		return nil, err
33903	}
33904	reqHeaders.Set("Content-Type", "application/json")
33905	c.urlParams_.Set("alt", alt)
33906	c.urlParams_.Set("prettyPrint", "false")
33907	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33908	urls += "?" + c.urlParams_.Encode()
33909	req, err := http.NewRequest("POST", urls, body)
33910	if err != nil {
33911		return nil, err
33912	}
33913	req.Header = reqHeaders
33914	googleapi.Expand(req.URL, map[string]string{
33915		"profileId": strconv.FormatInt(c.profileId, 10),
33916	})
33917	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33918}
33919
33920// Do executes the "dfareporting.floodlightActivityGroups.insert" call.
33921// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33922// non-2xx status code is an error. Response headers are in either
33923// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33924// returned at all) in error.(*googleapi.Error).Header. Use
33925// googleapi.IsNotModified to check whether the returned error was
33926// because http.StatusNotModified was returned.
33927func (c *FloodlightActivityGroupsInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33928	gensupport.SetOptions(c.urlParams_, opts...)
33929	res, err := c.doRequest("json")
33930	if res != nil && res.StatusCode == http.StatusNotModified {
33931		if res.Body != nil {
33932			res.Body.Close()
33933		}
33934		return nil, &googleapi.Error{
33935			Code:   res.StatusCode,
33936			Header: res.Header,
33937		}
33938	}
33939	if err != nil {
33940		return nil, err
33941	}
33942	defer googleapi.CloseBody(res)
33943	if err := googleapi.CheckResponse(res); err != nil {
33944		return nil, err
33945	}
33946	ret := &FloodlightActivityGroup{
33947		ServerResponse: googleapi.ServerResponse{
33948			Header:         res.Header,
33949			HTTPStatusCode: res.StatusCode,
33950		},
33951	}
33952	target := &ret
33953	if err := gensupport.DecodeResponse(target, res); err != nil {
33954		return nil, err
33955	}
33956	return ret, nil
33957	// {
33958	//   "description": "Inserts a new floodlight activity group.",
33959	//   "httpMethod": "POST",
33960	//   "id": "dfareporting.floodlightActivityGroups.insert",
33961	//   "parameterOrder": [
33962	//     "profileId"
33963	//   ],
33964	//   "parameters": {
33965	//     "profileId": {
33966	//       "description": "User profile ID associated with this request.",
33967	//       "format": "int64",
33968	//       "location": "path",
33969	//       "required": true,
33970	//       "type": "string"
33971	//     }
33972	//   },
33973	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
33974	//   "request": {
33975	//     "$ref": "FloodlightActivityGroup"
33976	//   },
33977	//   "response": {
33978	//     "$ref": "FloodlightActivityGroup"
33979	//   },
33980	//   "scopes": [
33981	//     "https://www.googleapis.com/auth/dfatrafficking"
33982	//   ]
33983	// }
33984
33985}
33986
33987// method id "dfareporting.floodlightActivityGroups.list":
33988
33989type FloodlightActivityGroupsListCall struct {
33990	s            *Service
33991	profileId    int64
33992	urlParams_   gensupport.URLParams
33993	ifNoneMatch_ string
33994	ctx_         context.Context
33995	header_      http.Header
33996}
33997
33998// List: Retrieves a list of floodlight activity groups, possibly
33999// filtered. This method supports paging.
34000func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
34001	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34002	c.profileId = profileId
34003	return c
34004}
34005
34006// AdvertiserId sets the optional parameter "advertiserId": Select only
34007// floodlight activity groups with the specified advertiser ID. Must
34008// specify either advertiserId or floodlightConfigurationId for a
34009// non-empty result.
34010func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
34011	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
34012	return c
34013}
34014
34015// FloodlightConfigurationId sets the optional parameter
34016// "floodlightConfigurationId": Select only floodlight activity groups
34017// with the specified floodlight configuration ID. Must specify either
34018// advertiserId, or floodlightConfigurationId for a non-empty result.
34019func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
34020	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
34021	return c
34022}
34023
34024// Ids sets the optional parameter "ids": Select only floodlight
34025// activity groups with the specified IDs. Must specify either
34026// advertiserId or floodlightConfigurationId for a non-empty result.
34027func (c *FloodlightActivityGroupsListCall) Ids(ids ...int64) *FloodlightActivityGroupsListCall {
34028	var ids_ []string
34029	for _, v := range ids {
34030		ids_ = append(ids_, fmt.Sprint(v))
34031	}
34032	c.urlParams_.SetMulti("ids", ids_)
34033	return c
34034}
34035
34036// MaxResults sets the optional parameter "maxResults": Maximum number
34037// of results to return.
34038func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
34039	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
34040	return c
34041}
34042
34043// PageToken sets the optional parameter "pageToken": Value of the
34044// nextPageToken from the previous result page.
34045func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
34046	c.urlParams_.Set("pageToken", pageToken)
34047	return c
34048}
34049
34050// SearchString sets the optional parameter "searchString": Allows
34051// searching for objects by name or ID. Wildcards (*) are allowed. For
34052// example, "floodlightactivitygroup*2015" will return objects with
34053// names like "floodlightactivitygroup June 2015",
34054// "floodlightactivitygroup April 2015", or simply
34055// "floodlightactivitygroup 2015". Most of the searches also add
34056// wildcards implicitly at the start and the end of the search string.
34057// For example, a search string of "floodlightactivitygroup" will match
34058// objects with name "my floodlightactivitygroup activity",
34059// "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
34060func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
34061	c.urlParams_.Set("searchString", searchString)
34062	return c
34063}
34064
34065// SortField sets the optional parameter "sortField": Field by which to
34066// sort the list.
34067//
34068// Possible values:
34069//   "ID" (default)
34070//   "NAME"
34071func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
34072	c.urlParams_.Set("sortField", sortField)
34073	return c
34074}
34075
34076// SortOrder sets the optional parameter "sortOrder": Order of sorted
34077// results.
34078//
34079// Possible values:
34080//   "ASCENDING" (default)
34081//   "DESCENDING"
34082func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
34083	c.urlParams_.Set("sortOrder", sortOrder)
34084	return c
34085}
34086
34087// Type sets the optional parameter "type": Select only floodlight
34088// activity groups with the specified floodlight activity group type.
34089//
34090// Possible values:
34091//   "COUNTER"
34092//   "SALE"
34093func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
34094	c.urlParams_.Set("type", type_)
34095	return c
34096}
34097
34098// Fields allows partial responses to be retrieved. See
34099// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34100// for more information.
34101func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
34102	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34103	return c
34104}
34105
34106// IfNoneMatch sets the optional parameter which makes the operation
34107// fail if the object's ETag matches the given value. This is useful for
34108// getting updates only after the object has changed since the last
34109// request. Use googleapi.IsNotModified to check whether the response
34110// error from Do is the result of In-None-Match.
34111func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
34112	c.ifNoneMatch_ = entityTag
34113	return c
34114}
34115
34116// Context sets the context to be used in this call's Do method. Any
34117// pending HTTP request will be aborted if the provided context is
34118// canceled.
34119func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
34120	c.ctx_ = ctx
34121	return c
34122}
34123
34124// Header returns an http.Header that can be modified by the caller to
34125// add HTTP headers to the request.
34126func (c *FloodlightActivityGroupsListCall) Header() http.Header {
34127	if c.header_ == nil {
34128		c.header_ = make(http.Header)
34129	}
34130	return c.header_
34131}
34132
34133func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
34134	reqHeaders := make(http.Header)
34135	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
34136	for k, v := range c.header_ {
34137		reqHeaders[k] = v
34138	}
34139	reqHeaders.Set("User-Agent", c.s.userAgent())
34140	if c.ifNoneMatch_ != "" {
34141		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34142	}
34143	var body io.Reader = nil
34144	c.urlParams_.Set("alt", alt)
34145	c.urlParams_.Set("prettyPrint", "false")
34146	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
34147	urls += "?" + c.urlParams_.Encode()
34148	req, err := http.NewRequest("GET", urls, body)
34149	if err != nil {
34150		return nil, err
34151	}
34152	req.Header = reqHeaders
34153	googleapi.Expand(req.URL, map[string]string{
34154		"profileId": strconv.FormatInt(c.profileId, 10),
34155	})
34156	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34157}
34158
34159// Do executes the "dfareporting.floodlightActivityGroups.list" call.
34160// Exactly one of *FloodlightActivityGroupsListResponse or error will be
34161// non-nil. Any non-2xx status code is an error. Response headers are in
34162// either *FloodlightActivityGroupsListResponse.ServerResponse.Header or
34163// (if a response was returned at all) in
34164// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
34165// whether the returned error was because http.StatusNotModified was
34166// returned.
34167func (c *FloodlightActivityGroupsListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroupsListResponse, error) {
34168	gensupport.SetOptions(c.urlParams_, opts...)
34169	res, err := c.doRequest("json")
34170	if res != nil && res.StatusCode == http.StatusNotModified {
34171		if res.Body != nil {
34172			res.Body.Close()
34173		}
34174		return nil, &googleapi.Error{
34175			Code:   res.StatusCode,
34176			Header: res.Header,
34177		}
34178	}
34179	if err != nil {
34180		return nil, err
34181	}
34182	defer googleapi.CloseBody(res)
34183	if err := googleapi.CheckResponse(res); err != nil {
34184		return nil, err
34185	}
34186	ret := &FloodlightActivityGroupsListResponse{
34187		ServerResponse: googleapi.ServerResponse{
34188			Header:         res.Header,
34189			HTTPStatusCode: res.StatusCode,
34190		},
34191	}
34192	target := &ret
34193	if err := gensupport.DecodeResponse(target, res); err != nil {
34194		return nil, err
34195	}
34196	return ret, nil
34197	// {
34198	//   "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
34199	//   "httpMethod": "GET",
34200	//   "id": "dfareporting.floodlightActivityGroups.list",
34201	//   "parameterOrder": [
34202	//     "profileId"
34203	//   ],
34204	//   "parameters": {
34205	//     "advertiserId": {
34206	//       "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
34207	//       "format": "int64",
34208	//       "location": "query",
34209	//       "type": "string"
34210	//     },
34211	//     "floodlightConfigurationId": {
34212	//       "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.",
34213	//       "format": "int64",
34214	//       "location": "query",
34215	//       "type": "string"
34216	//     },
34217	//     "ids": {
34218	//       "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
34219	//       "format": "int64",
34220	//       "location": "query",
34221	//       "repeated": true,
34222	//       "type": "string"
34223	//     },
34224	//     "maxResults": {
34225	//       "default": "1000",
34226	//       "description": "Maximum number of results to return.",
34227	//       "format": "int32",
34228	//       "location": "query",
34229	//       "maximum": "1000",
34230	//       "minimum": "0",
34231	//       "type": "integer"
34232	//     },
34233	//     "pageToken": {
34234	//       "description": "Value of the nextPageToken from the previous result page.",
34235	//       "location": "query",
34236	//       "type": "string"
34237	//     },
34238	//     "profileId": {
34239	//       "description": "User profile ID associated with this request.",
34240	//       "format": "int64",
34241	//       "location": "path",
34242	//       "required": true,
34243	//       "type": "string"
34244	//     },
34245	//     "searchString": {
34246	//       "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\".",
34247	//       "location": "query",
34248	//       "type": "string"
34249	//     },
34250	//     "sortField": {
34251	//       "default": "ID",
34252	//       "description": "Field by which to sort the list.",
34253	//       "enum": [
34254	//         "ID",
34255	//         "NAME"
34256	//       ],
34257	//       "enumDescriptions": [
34258	//         "",
34259	//         ""
34260	//       ],
34261	//       "location": "query",
34262	//       "type": "string"
34263	//     },
34264	//     "sortOrder": {
34265	//       "default": "ASCENDING",
34266	//       "description": "Order of sorted results.",
34267	//       "enum": [
34268	//         "ASCENDING",
34269	//         "DESCENDING"
34270	//       ],
34271	//       "enumDescriptions": [
34272	//         "",
34273	//         ""
34274	//       ],
34275	//       "location": "query",
34276	//       "type": "string"
34277	//     },
34278	//     "type": {
34279	//       "description": "Select only floodlight activity groups with the specified floodlight activity group type.",
34280	//       "enum": [
34281	//         "COUNTER",
34282	//         "SALE"
34283	//       ],
34284	//       "enumDescriptions": [
34285	//         "",
34286	//         ""
34287	//       ],
34288	//       "location": "query",
34289	//       "type": "string"
34290	//     }
34291	//   },
34292	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
34293	//   "response": {
34294	//     "$ref": "FloodlightActivityGroupsListResponse"
34295	//   },
34296	//   "scopes": [
34297	//     "https://www.googleapis.com/auth/dfatrafficking"
34298	//   ]
34299	// }
34300
34301}
34302
34303// Pages invokes f for each page of results.
34304// A non-nil error returned from f will halt the iteration.
34305// The provided context supersedes any context provided to the Context method.
34306func (c *FloodlightActivityGroupsListCall) Pages(ctx context.Context, f func(*FloodlightActivityGroupsListResponse) error) error {
34307	c.ctx_ = ctx
34308	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
34309	for {
34310		x, err := c.Do()
34311		if err != nil {
34312			return err
34313		}
34314		if err := f(x); err != nil {
34315			return err
34316		}
34317		if x.NextPageToken == "" {
34318			return nil
34319		}
34320		c.PageToken(x.NextPageToken)
34321	}
34322}
34323
34324// method id "dfareporting.floodlightActivityGroups.patch":
34325
34326type FloodlightActivityGroupsPatchCall struct {
34327	s                       *Service
34328	profileId               int64
34329	floodlightactivitygroup *FloodlightActivityGroup
34330	urlParams_              gensupport.URLParams
34331	ctx_                    context.Context
34332	header_                 http.Header
34333}
34334
34335// Patch: Updates an existing floodlight activity group. This method
34336// supports patch semantics.
34337func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
34338	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34339	c.profileId = profileId
34340	c.urlParams_.Set("id", fmt.Sprint(id))
34341	c.floodlightactivitygroup = floodlightactivitygroup
34342	return c
34343}
34344
34345// Fields allows partial responses to be retrieved. See
34346// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34347// for more information.
34348func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
34349	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34350	return c
34351}
34352
34353// Context sets the context to be used in this call's Do method. Any
34354// pending HTTP request will be aborted if the provided context is
34355// canceled.
34356func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
34357	c.ctx_ = ctx
34358	return c
34359}
34360
34361// Header returns an http.Header that can be modified by the caller to
34362// add HTTP headers to the request.
34363func (c *FloodlightActivityGroupsPatchCall) Header() http.Header {
34364	if c.header_ == nil {
34365		c.header_ = make(http.Header)
34366	}
34367	return c.header_
34368}
34369
34370func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
34371	reqHeaders := make(http.Header)
34372	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
34373	for k, v := range c.header_ {
34374		reqHeaders[k] = v
34375	}
34376	reqHeaders.Set("User-Agent", c.s.userAgent())
34377	var body io.Reader = nil
34378	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
34379	if err != nil {
34380		return nil, err
34381	}
34382	reqHeaders.Set("Content-Type", "application/json")
34383	c.urlParams_.Set("alt", alt)
34384	c.urlParams_.Set("prettyPrint", "false")
34385	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
34386	urls += "?" + c.urlParams_.Encode()
34387	req, err := http.NewRequest("PATCH", urls, body)
34388	if err != nil {
34389		return nil, err
34390	}
34391	req.Header = reqHeaders
34392	googleapi.Expand(req.URL, map[string]string{
34393		"profileId": strconv.FormatInt(c.profileId, 10),
34394	})
34395	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34396}
34397
34398// Do executes the "dfareporting.floodlightActivityGroups.patch" call.
34399// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
34400// non-2xx status code is an error. Response headers are in either
34401// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
34402// returned at all) in error.(*googleapi.Error).Header. Use
34403// googleapi.IsNotModified to check whether the returned error was
34404// because http.StatusNotModified was returned.
34405func (c *FloodlightActivityGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
34406	gensupport.SetOptions(c.urlParams_, opts...)
34407	res, err := c.doRequest("json")
34408	if res != nil && res.StatusCode == http.StatusNotModified {
34409		if res.Body != nil {
34410			res.Body.Close()
34411		}
34412		return nil, &googleapi.Error{
34413			Code:   res.StatusCode,
34414			Header: res.Header,
34415		}
34416	}
34417	if err != nil {
34418		return nil, err
34419	}
34420	defer googleapi.CloseBody(res)
34421	if err := googleapi.CheckResponse(res); err != nil {
34422		return nil, err
34423	}
34424	ret := &FloodlightActivityGroup{
34425		ServerResponse: googleapi.ServerResponse{
34426			Header:         res.Header,
34427			HTTPStatusCode: res.StatusCode,
34428		},
34429	}
34430	target := &ret
34431	if err := gensupport.DecodeResponse(target, res); err != nil {
34432		return nil, err
34433	}
34434	return ret, nil
34435	// {
34436	//   "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
34437	//   "httpMethod": "PATCH",
34438	//   "id": "dfareporting.floodlightActivityGroups.patch",
34439	//   "parameterOrder": [
34440	//     "profileId",
34441	//     "id"
34442	//   ],
34443	//   "parameters": {
34444	//     "id": {
34445	//       "description": "Floodlight activity Group ID.",
34446	//       "format": "int64",
34447	//       "location": "query",
34448	//       "required": true,
34449	//       "type": "string"
34450	//     },
34451	//     "profileId": {
34452	//       "description": "User profile ID associated with this request.",
34453	//       "format": "int64",
34454	//       "location": "path",
34455	//       "required": true,
34456	//       "type": "string"
34457	//     }
34458	//   },
34459	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
34460	//   "request": {
34461	//     "$ref": "FloodlightActivityGroup"
34462	//   },
34463	//   "response": {
34464	//     "$ref": "FloodlightActivityGroup"
34465	//   },
34466	//   "scopes": [
34467	//     "https://www.googleapis.com/auth/dfatrafficking"
34468	//   ]
34469	// }
34470
34471}
34472
34473// method id "dfareporting.floodlightActivityGroups.update":
34474
34475type FloodlightActivityGroupsUpdateCall struct {
34476	s                       *Service
34477	profileId               int64
34478	floodlightactivitygroup *FloodlightActivityGroup
34479	urlParams_              gensupport.URLParams
34480	ctx_                    context.Context
34481	header_                 http.Header
34482}
34483
34484// Update: Updates an existing floodlight activity group.
34485func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
34486	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34487	c.profileId = profileId
34488	c.floodlightactivitygroup = floodlightactivitygroup
34489	return c
34490}
34491
34492// Fields allows partial responses to be retrieved. See
34493// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34494// for more information.
34495func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
34496	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34497	return c
34498}
34499
34500// Context sets the context to be used in this call's Do method. Any
34501// pending HTTP request will be aborted if the provided context is
34502// canceled.
34503func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
34504	c.ctx_ = ctx
34505	return c
34506}
34507
34508// Header returns an http.Header that can be modified by the caller to
34509// add HTTP headers to the request.
34510func (c *FloodlightActivityGroupsUpdateCall) Header() http.Header {
34511	if c.header_ == nil {
34512		c.header_ = make(http.Header)
34513	}
34514	return c.header_
34515}
34516
34517func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
34518	reqHeaders := make(http.Header)
34519	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
34520	for k, v := range c.header_ {
34521		reqHeaders[k] = v
34522	}
34523	reqHeaders.Set("User-Agent", c.s.userAgent())
34524	var body io.Reader = nil
34525	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
34526	if err != nil {
34527		return nil, err
34528	}
34529	reqHeaders.Set("Content-Type", "application/json")
34530	c.urlParams_.Set("alt", alt)
34531	c.urlParams_.Set("prettyPrint", "false")
34532	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
34533	urls += "?" + c.urlParams_.Encode()
34534	req, err := http.NewRequest("PUT", urls, body)
34535	if err != nil {
34536		return nil, err
34537	}
34538	req.Header = reqHeaders
34539	googleapi.Expand(req.URL, map[string]string{
34540		"profileId": strconv.FormatInt(c.profileId, 10),
34541	})
34542	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34543}
34544
34545// Do executes the "dfareporting.floodlightActivityGroups.update" call.
34546// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
34547// non-2xx status code is an error. Response headers are in either
34548// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
34549// returned at all) in error.(*googleapi.Error).Header. Use
34550// googleapi.IsNotModified to check whether the returned error was
34551// because http.StatusNotModified was returned.
34552func (c *FloodlightActivityGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
34553	gensupport.SetOptions(c.urlParams_, opts...)
34554	res, err := c.doRequest("json")
34555	if res != nil && res.StatusCode == http.StatusNotModified {
34556		if res.Body != nil {
34557			res.Body.Close()
34558		}
34559		return nil, &googleapi.Error{
34560			Code:   res.StatusCode,
34561			Header: res.Header,
34562		}
34563	}
34564	if err != nil {
34565		return nil, err
34566	}
34567	defer googleapi.CloseBody(res)
34568	if err := googleapi.CheckResponse(res); err != nil {
34569		return nil, err
34570	}
34571	ret := &FloodlightActivityGroup{
34572		ServerResponse: googleapi.ServerResponse{
34573			Header:         res.Header,
34574			HTTPStatusCode: res.StatusCode,
34575		},
34576	}
34577	target := &ret
34578	if err := gensupport.DecodeResponse(target, res); err != nil {
34579		return nil, err
34580	}
34581	return ret, nil
34582	// {
34583	//   "description": "Updates an existing floodlight activity group.",
34584	//   "httpMethod": "PUT",
34585	//   "id": "dfareporting.floodlightActivityGroups.update",
34586	//   "parameterOrder": [
34587	//     "profileId"
34588	//   ],
34589	//   "parameters": {
34590	//     "profileId": {
34591	//       "description": "User profile ID associated with this request.",
34592	//       "format": "int64",
34593	//       "location": "path",
34594	//       "required": true,
34595	//       "type": "string"
34596	//     }
34597	//   },
34598	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
34599	//   "request": {
34600	//     "$ref": "FloodlightActivityGroup"
34601	//   },
34602	//   "response": {
34603	//     "$ref": "FloodlightActivityGroup"
34604	//   },
34605	//   "scopes": [
34606	//     "https://www.googleapis.com/auth/dfatrafficking"
34607	//   ]
34608	// }
34609
34610}
34611
34612// method id "dfareporting.floodlightConfigurations.get":
34613
34614type FloodlightConfigurationsGetCall struct {
34615	s            *Service
34616	profileId    int64
34617	id           int64
34618	urlParams_   gensupport.URLParams
34619	ifNoneMatch_ string
34620	ctx_         context.Context
34621	header_      http.Header
34622}
34623
34624// Get: Gets one floodlight configuration by ID.
34625func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
34626	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34627	c.profileId = profileId
34628	c.id = id
34629	return c
34630}
34631
34632// Fields allows partial responses to be retrieved. See
34633// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34634// for more information.
34635func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
34636	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34637	return c
34638}
34639
34640// IfNoneMatch sets the optional parameter which makes the operation
34641// fail if the object's ETag matches the given value. This is useful for
34642// getting updates only after the object has changed since the last
34643// request. Use googleapi.IsNotModified to check whether the response
34644// error from Do is the result of In-None-Match.
34645func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
34646	c.ifNoneMatch_ = entityTag
34647	return c
34648}
34649
34650// Context sets the context to be used in this call's Do method. Any
34651// pending HTTP request will be aborted if the provided context is
34652// canceled.
34653func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
34654	c.ctx_ = ctx
34655	return c
34656}
34657
34658// Header returns an http.Header that can be modified by the caller to
34659// add HTTP headers to the request.
34660func (c *FloodlightConfigurationsGetCall) Header() http.Header {
34661	if c.header_ == nil {
34662		c.header_ = make(http.Header)
34663	}
34664	return c.header_
34665}
34666
34667func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
34668	reqHeaders := make(http.Header)
34669	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
34670	for k, v := range c.header_ {
34671		reqHeaders[k] = v
34672	}
34673	reqHeaders.Set("User-Agent", c.s.userAgent())
34674	if c.ifNoneMatch_ != "" {
34675		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34676	}
34677	var body io.Reader = nil
34678	c.urlParams_.Set("alt", alt)
34679	c.urlParams_.Set("prettyPrint", "false")
34680	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
34681	urls += "?" + c.urlParams_.Encode()
34682	req, err := http.NewRequest("GET", urls, body)
34683	if err != nil {
34684		return nil, err
34685	}
34686	req.Header = reqHeaders
34687	googleapi.Expand(req.URL, map[string]string{
34688		"profileId": strconv.FormatInt(c.profileId, 10),
34689		"id":        strconv.FormatInt(c.id, 10),
34690	})
34691	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34692}
34693
34694// Do executes the "dfareporting.floodlightConfigurations.get" call.
34695// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34696// non-2xx status code is an error. Response headers are in either
34697// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34698// returned at all) in error.(*googleapi.Error).Header. Use
34699// googleapi.IsNotModified to check whether the returned error was
34700// because http.StatusNotModified was returned.
34701func (c *FloodlightConfigurationsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34702	gensupport.SetOptions(c.urlParams_, opts...)
34703	res, err := c.doRequest("json")
34704	if res != nil && res.StatusCode == http.StatusNotModified {
34705		if res.Body != nil {
34706			res.Body.Close()
34707		}
34708		return nil, &googleapi.Error{
34709			Code:   res.StatusCode,
34710			Header: res.Header,
34711		}
34712	}
34713	if err != nil {
34714		return nil, err
34715	}
34716	defer googleapi.CloseBody(res)
34717	if err := googleapi.CheckResponse(res); err != nil {
34718		return nil, err
34719	}
34720	ret := &FloodlightConfiguration{
34721		ServerResponse: googleapi.ServerResponse{
34722			Header:         res.Header,
34723			HTTPStatusCode: res.StatusCode,
34724		},
34725	}
34726	target := &ret
34727	if err := gensupport.DecodeResponse(target, res); err != nil {
34728		return nil, err
34729	}
34730	return ret, nil
34731	// {
34732	//   "description": "Gets one floodlight configuration by ID.",
34733	//   "httpMethod": "GET",
34734	//   "id": "dfareporting.floodlightConfigurations.get",
34735	//   "parameterOrder": [
34736	//     "profileId",
34737	//     "id"
34738	//   ],
34739	//   "parameters": {
34740	//     "id": {
34741	//       "description": "Floodlight configuration ID.",
34742	//       "format": "int64",
34743	//       "location": "path",
34744	//       "required": true,
34745	//       "type": "string"
34746	//     },
34747	//     "profileId": {
34748	//       "description": "User profile ID associated with this request.",
34749	//       "format": "int64",
34750	//       "location": "path",
34751	//       "required": true,
34752	//       "type": "string"
34753	//     }
34754	//   },
34755	//   "path": "userprofiles/{profileId}/floodlightConfigurations/{id}",
34756	//   "response": {
34757	//     "$ref": "FloodlightConfiguration"
34758	//   },
34759	//   "scopes": [
34760	//     "https://www.googleapis.com/auth/dfatrafficking"
34761	//   ]
34762	// }
34763
34764}
34765
34766// method id "dfareporting.floodlightConfigurations.list":
34767
34768type FloodlightConfigurationsListCall struct {
34769	s            *Service
34770	profileId    int64
34771	urlParams_   gensupport.URLParams
34772	ifNoneMatch_ string
34773	ctx_         context.Context
34774	header_      http.Header
34775}
34776
34777// List: Retrieves a list of floodlight configurations, possibly
34778// filtered.
34779func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
34780	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34781	c.profileId = profileId
34782	return c
34783}
34784
34785// Ids sets the optional parameter "ids": Set of IDs of floodlight
34786// configurations to retrieve. Required field; otherwise an empty list
34787// will be returned.
34788func (c *FloodlightConfigurationsListCall) Ids(ids ...int64) *FloodlightConfigurationsListCall {
34789	var ids_ []string
34790	for _, v := range ids {
34791		ids_ = append(ids_, fmt.Sprint(v))
34792	}
34793	c.urlParams_.SetMulti("ids", ids_)
34794	return c
34795}
34796
34797// Fields allows partial responses to be retrieved. See
34798// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34799// for more information.
34800func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
34801	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34802	return c
34803}
34804
34805// IfNoneMatch sets the optional parameter which makes the operation
34806// fail if the object's ETag matches the given value. This is useful for
34807// getting updates only after the object has changed since the last
34808// request. Use googleapi.IsNotModified to check whether the response
34809// error from Do is the result of In-None-Match.
34810func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
34811	c.ifNoneMatch_ = entityTag
34812	return c
34813}
34814
34815// Context sets the context to be used in this call's Do method. Any
34816// pending HTTP request will be aborted if the provided context is
34817// canceled.
34818func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
34819	c.ctx_ = ctx
34820	return c
34821}
34822
34823// Header returns an http.Header that can be modified by the caller to
34824// add HTTP headers to the request.
34825func (c *FloodlightConfigurationsListCall) Header() http.Header {
34826	if c.header_ == nil {
34827		c.header_ = make(http.Header)
34828	}
34829	return c.header_
34830}
34831
34832func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
34833	reqHeaders := make(http.Header)
34834	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
34835	for k, v := range c.header_ {
34836		reqHeaders[k] = v
34837	}
34838	reqHeaders.Set("User-Agent", c.s.userAgent())
34839	if c.ifNoneMatch_ != "" {
34840		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34841	}
34842	var body io.Reader = nil
34843	c.urlParams_.Set("alt", alt)
34844	c.urlParams_.Set("prettyPrint", "false")
34845	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34846	urls += "?" + c.urlParams_.Encode()
34847	req, err := http.NewRequest("GET", urls, body)
34848	if err != nil {
34849		return nil, err
34850	}
34851	req.Header = reqHeaders
34852	googleapi.Expand(req.URL, map[string]string{
34853		"profileId": strconv.FormatInt(c.profileId, 10),
34854	})
34855	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34856}
34857
34858// Do executes the "dfareporting.floodlightConfigurations.list" call.
34859// Exactly one of *FloodlightConfigurationsListResponse or error will be
34860// non-nil. Any non-2xx status code is an error. Response headers are in
34861// either *FloodlightConfigurationsListResponse.ServerResponse.Header or
34862// (if a response was returned at all) in
34863// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
34864// whether the returned error was because http.StatusNotModified was
34865// returned.
34866func (c *FloodlightConfigurationsListCall) Do(opts ...googleapi.CallOption) (*FloodlightConfigurationsListResponse, error) {
34867	gensupport.SetOptions(c.urlParams_, opts...)
34868	res, err := c.doRequest("json")
34869	if res != nil && res.StatusCode == http.StatusNotModified {
34870		if res.Body != nil {
34871			res.Body.Close()
34872		}
34873		return nil, &googleapi.Error{
34874			Code:   res.StatusCode,
34875			Header: res.Header,
34876		}
34877	}
34878	if err != nil {
34879		return nil, err
34880	}
34881	defer googleapi.CloseBody(res)
34882	if err := googleapi.CheckResponse(res); err != nil {
34883		return nil, err
34884	}
34885	ret := &FloodlightConfigurationsListResponse{
34886		ServerResponse: googleapi.ServerResponse{
34887			Header:         res.Header,
34888			HTTPStatusCode: res.StatusCode,
34889		},
34890	}
34891	target := &ret
34892	if err := gensupport.DecodeResponse(target, res); err != nil {
34893		return nil, err
34894	}
34895	return ret, nil
34896	// {
34897	//   "description": "Retrieves a list of floodlight configurations, possibly filtered.",
34898	//   "httpMethod": "GET",
34899	//   "id": "dfareporting.floodlightConfigurations.list",
34900	//   "parameterOrder": [
34901	//     "profileId"
34902	//   ],
34903	//   "parameters": {
34904	//     "ids": {
34905	//       "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.",
34906	//       "format": "int64",
34907	//       "location": "query",
34908	//       "repeated": true,
34909	//       "type": "string"
34910	//     },
34911	//     "profileId": {
34912	//       "description": "User profile ID associated with this request.",
34913	//       "format": "int64",
34914	//       "location": "path",
34915	//       "required": true,
34916	//       "type": "string"
34917	//     }
34918	//   },
34919	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34920	//   "response": {
34921	//     "$ref": "FloodlightConfigurationsListResponse"
34922	//   },
34923	//   "scopes": [
34924	//     "https://www.googleapis.com/auth/dfatrafficking"
34925	//   ]
34926	// }
34927
34928}
34929
34930// method id "dfareporting.floodlightConfigurations.patch":
34931
34932type FloodlightConfigurationsPatchCall struct {
34933	s                       *Service
34934	profileId               int64
34935	floodlightconfiguration *FloodlightConfiguration
34936	urlParams_              gensupport.URLParams
34937	ctx_                    context.Context
34938	header_                 http.Header
34939}
34940
34941// Patch: Updates an existing floodlight configuration. This method
34942// supports patch semantics.
34943func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
34944	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34945	c.profileId = profileId
34946	c.urlParams_.Set("id", fmt.Sprint(id))
34947	c.floodlightconfiguration = floodlightconfiguration
34948	return c
34949}
34950
34951// Fields allows partial responses to be retrieved. See
34952// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34953// for more information.
34954func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
34955	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34956	return c
34957}
34958
34959// Context sets the context to be used in this call's Do method. Any
34960// pending HTTP request will be aborted if the provided context is
34961// canceled.
34962func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
34963	c.ctx_ = ctx
34964	return c
34965}
34966
34967// Header returns an http.Header that can be modified by the caller to
34968// add HTTP headers to the request.
34969func (c *FloodlightConfigurationsPatchCall) Header() http.Header {
34970	if c.header_ == nil {
34971		c.header_ = make(http.Header)
34972	}
34973	return c.header_
34974}
34975
34976func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
34977	reqHeaders := make(http.Header)
34978	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
34979	for k, v := range c.header_ {
34980		reqHeaders[k] = v
34981	}
34982	reqHeaders.Set("User-Agent", c.s.userAgent())
34983	var body io.Reader = nil
34984	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
34985	if err != nil {
34986		return nil, err
34987	}
34988	reqHeaders.Set("Content-Type", "application/json")
34989	c.urlParams_.Set("alt", alt)
34990	c.urlParams_.Set("prettyPrint", "false")
34991	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34992	urls += "?" + c.urlParams_.Encode()
34993	req, err := http.NewRequest("PATCH", urls, body)
34994	if err != nil {
34995		return nil, err
34996	}
34997	req.Header = reqHeaders
34998	googleapi.Expand(req.URL, map[string]string{
34999		"profileId": strconv.FormatInt(c.profileId, 10),
35000	})
35001	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35002}
35003
35004// Do executes the "dfareporting.floodlightConfigurations.patch" call.
35005// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
35006// non-2xx status code is an error. Response headers are in either
35007// *FloodlightConfiguration.ServerResponse.Header or (if a response was
35008// returned at all) in error.(*googleapi.Error).Header. Use
35009// googleapi.IsNotModified to check whether the returned error was
35010// because http.StatusNotModified was returned.
35011func (c *FloodlightConfigurationsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
35012	gensupport.SetOptions(c.urlParams_, opts...)
35013	res, err := c.doRequest("json")
35014	if res != nil && res.StatusCode == http.StatusNotModified {
35015		if res.Body != nil {
35016			res.Body.Close()
35017		}
35018		return nil, &googleapi.Error{
35019			Code:   res.StatusCode,
35020			Header: res.Header,
35021		}
35022	}
35023	if err != nil {
35024		return nil, err
35025	}
35026	defer googleapi.CloseBody(res)
35027	if err := googleapi.CheckResponse(res); err != nil {
35028		return nil, err
35029	}
35030	ret := &FloodlightConfiguration{
35031		ServerResponse: googleapi.ServerResponse{
35032			Header:         res.Header,
35033			HTTPStatusCode: res.StatusCode,
35034		},
35035	}
35036	target := &ret
35037	if err := gensupport.DecodeResponse(target, res); err != nil {
35038		return nil, err
35039	}
35040	return ret, nil
35041	// {
35042	//   "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
35043	//   "httpMethod": "PATCH",
35044	//   "id": "dfareporting.floodlightConfigurations.patch",
35045	//   "parameterOrder": [
35046	//     "profileId",
35047	//     "id"
35048	//   ],
35049	//   "parameters": {
35050	//     "id": {
35051	//       "description": "Floodlight configuration ID.",
35052	//       "format": "int64",
35053	//       "location": "query",
35054	//       "required": true,
35055	//       "type": "string"
35056	//     },
35057	//     "profileId": {
35058	//       "description": "User profile ID associated with this request.",
35059	//       "format": "int64",
35060	//       "location": "path",
35061	//       "required": true,
35062	//       "type": "string"
35063	//     }
35064	//   },
35065	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
35066	//   "request": {
35067	//     "$ref": "FloodlightConfiguration"
35068	//   },
35069	//   "response": {
35070	//     "$ref": "FloodlightConfiguration"
35071	//   },
35072	//   "scopes": [
35073	//     "https://www.googleapis.com/auth/dfatrafficking"
35074	//   ]
35075	// }
35076
35077}
35078
35079// method id "dfareporting.floodlightConfigurations.update":
35080
35081type FloodlightConfigurationsUpdateCall struct {
35082	s                       *Service
35083	profileId               int64
35084	floodlightconfiguration *FloodlightConfiguration
35085	urlParams_              gensupport.URLParams
35086	ctx_                    context.Context
35087	header_                 http.Header
35088}
35089
35090// Update: Updates an existing floodlight configuration.
35091func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
35092	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35093	c.profileId = profileId
35094	c.floodlightconfiguration = floodlightconfiguration
35095	return c
35096}
35097
35098// Fields allows partial responses to be retrieved. See
35099// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35100// for more information.
35101func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
35102	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35103	return c
35104}
35105
35106// Context sets the context to be used in this call's Do method. Any
35107// pending HTTP request will be aborted if the provided context is
35108// canceled.
35109func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
35110	c.ctx_ = ctx
35111	return c
35112}
35113
35114// Header returns an http.Header that can be modified by the caller to
35115// add HTTP headers to the request.
35116func (c *FloodlightConfigurationsUpdateCall) Header() http.Header {
35117	if c.header_ == nil {
35118		c.header_ = make(http.Header)
35119	}
35120	return c.header_
35121}
35122
35123func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
35124	reqHeaders := make(http.Header)
35125	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
35126	for k, v := range c.header_ {
35127		reqHeaders[k] = v
35128	}
35129	reqHeaders.Set("User-Agent", c.s.userAgent())
35130	var body io.Reader = nil
35131	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
35132	if err != nil {
35133		return nil, err
35134	}
35135	reqHeaders.Set("Content-Type", "application/json")
35136	c.urlParams_.Set("alt", alt)
35137	c.urlParams_.Set("prettyPrint", "false")
35138	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
35139	urls += "?" + c.urlParams_.Encode()
35140	req, err := http.NewRequest("PUT", urls, body)
35141	if err != nil {
35142		return nil, err
35143	}
35144	req.Header = reqHeaders
35145	googleapi.Expand(req.URL, map[string]string{
35146		"profileId": strconv.FormatInt(c.profileId, 10),
35147	})
35148	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35149}
35150
35151// Do executes the "dfareporting.floodlightConfigurations.update" call.
35152// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
35153// non-2xx status code is an error. Response headers are in either
35154// *FloodlightConfiguration.ServerResponse.Header or (if a response was
35155// returned at all) in error.(*googleapi.Error).Header. Use
35156// googleapi.IsNotModified to check whether the returned error was
35157// because http.StatusNotModified was returned.
35158func (c *FloodlightConfigurationsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
35159	gensupport.SetOptions(c.urlParams_, opts...)
35160	res, err := c.doRequest("json")
35161	if res != nil && res.StatusCode == http.StatusNotModified {
35162		if res.Body != nil {
35163			res.Body.Close()
35164		}
35165		return nil, &googleapi.Error{
35166			Code:   res.StatusCode,
35167			Header: res.Header,
35168		}
35169	}
35170	if err != nil {
35171		return nil, err
35172	}
35173	defer googleapi.CloseBody(res)
35174	if err := googleapi.CheckResponse(res); err != nil {
35175		return nil, err
35176	}
35177	ret := &FloodlightConfiguration{
35178		ServerResponse: googleapi.ServerResponse{
35179			Header:         res.Header,
35180			HTTPStatusCode: res.StatusCode,
35181		},
35182	}
35183	target := &ret
35184	if err := gensupport.DecodeResponse(target, res); err != nil {
35185		return nil, err
35186	}
35187	return ret, nil
35188	// {
35189	//   "description": "Updates an existing floodlight configuration.",
35190	//   "httpMethod": "PUT",
35191	//   "id": "dfareporting.floodlightConfigurations.update",
35192	//   "parameterOrder": [
35193	//     "profileId"
35194	//   ],
35195	//   "parameters": {
35196	//     "profileId": {
35197	//       "description": "User profile ID associated with this request.",
35198	//       "format": "int64",
35199	//       "location": "path",
35200	//       "required": true,
35201	//       "type": "string"
35202	//     }
35203	//   },
35204	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
35205	//   "request": {
35206	//     "$ref": "FloodlightConfiguration"
35207	//   },
35208	//   "response": {
35209	//     "$ref": "FloodlightConfiguration"
35210	//   },
35211	//   "scopes": [
35212	//     "https://www.googleapis.com/auth/dfatrafficking"
35213	//   ]
35214	// }
35215
35216}
35217
35218// method id "dfareporting.inventoryItems.get":
35219
35220type InventoryItemsGetCall struct {
35221	s            *Service
35222	profileId    int64
35223	projectId    int64
35224	id           int64
35225	urlParams_   gensupport.URLParams
35226	ifNoneMatch_ string
35227	ctx_         context.Context
35228	header_      http.Header
35229}
35230
35231// Get: Gets one inventory item by ID.
35232func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
35233	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35234	c.profileId = profileId
35235	c.projectId = projectId
35236	c.id = id
35237	return c
35238}
35239
35240// Fields allows partial responses to be retrieved. See
35241// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35242// for more information.
35243func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
35244	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35245	return c
35246}
35247
35248// IfNoneMatch sets the optional parameter which makes the operation
35249// fail if the object's ETag matches the given value. This is useful for
35250// getting updates only after the object has changed since the last
35251// request. Use googleapi.IsNotModified to check whether the response
35252// error from Do is the result of In-None-Match.
35253func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
35254	c.ifNoneMatch_ = entityTag
35255	return c
35256}
35257
35258// Context sets the context to be used in this call's Do method. Any
35259// pending HTTP request will be aborted if the provided context is
35260// canceled.
35261func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
35262	c.ctx_ = ctx
35263	return c
35264}
35265
35266// Header returns an http.Header that can be modified by the caller to
35267// add HTTP headers to the request.
35268func (c *InventoryItemsGetCall) Header() http.Header {
35269	if c.header_ == nil {
35270		c.header_ = make(http.Header)
35271	}
35272	return c.header_
35273}
35274
35275func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
35276	reqHeaders := make(http.Header)
35277	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
35278	for k, v := range c.header_ {
35279		reqHeaders[k] = v
35280	}
35281	reqHeaders.Set("User-Agent", c.s.userAgent())
35282	if c.ifNoneMatch_ != "" {
35283		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35284	}
35285	var body io.Reader = nil
35286	c.urlParams_.Set("alt", alt)
35287	c.urlParams_.Set("prettyPrint", "false")
35288	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
35289	urls += "?" + c.urlParams_.Encode()
35290	req, err := http.NewRequest("GET", urls, body)
35291	if err != nil {
35292		return nil, err
35293	}
35294	req.Header = reqHeaders
35295	googleapi.Expand(req.URL, map[string]string{
35296		"profileId": strconv.FormatInt(c.profileId, 10),
35297		"projectId": strconv.FormatInt(c.projectId, 10),
35298		"id":        strconv.FormatInt(c.id, 10),
35299	})
35300	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35301}
35302
35303// Do executes the "dfareporting.inventoryItems.get" call.
35304// Exactly one of *InventoryItem or error will be non-nil. Any non-2xx
35305// status code is an error. Response headers are in either
35306// *InventoryItem.ServerResponse.Header or (if a response was returned
35307// at all) in error.(*googleapi.Error).Header. Use
35308// googleapi.IsNotModified to check whether the returned error was
35309// because http.StatusNotModified was returned.
35310func (c *InventoryItemsGetCall) Do(opts ...googleapi.CallOption) (*InventoryItem, error) {
35311	gensupport.SetOptions(c.urlParams_, opts...)
35312	res, err := c.doRequest("json")
35313	if res != nil && res.StatusCode == http.StatusNotModified {
35314		if res.Body != nil {
35315			res.Body.Close()
35316		}
35317		return nil, &googleapi.Error{
35318			Code:   res.StatusCode,
35319			Header: res.Header,
35320		}
35321	}
35322	if err != nil {
35323		return nil, err
35324	}
35325	defer googleapi.CloseBody(res)
35326	if err := googleapi.CheckResponse(res); err != nil {
35327		return nil, err
35328	}
35329	ret := &InventoryItem{
35330		ServerResponse: googleapi.ServerResponse{
35331			Header:         res.Header,
35332			HTTPStatusCode: res.StatusCode,
35333		},
35334	}
35335	target := &ret
35336	if err := gensupport.DecodeResponse(target, res); err != nil {
35337		return nil, err
35338	}
35339	return ret, nil
35340	// {
35341	//   "description": "Gets one inventory item by ID.",
35342	//   "httpMethod": "GET",
35343	//   "id": "dfareporting.inventoryItems.get",
35344	//   "parameterOrder": [
35345	//     "profileId",
35346	//     "projectId",
35347	//     "id"
35348	//   ],
35349	//   "parameters": {
35350	//     "id": {
35351	//       "description": "Inventory item ID.",
35352	//       "format": "int64",
35353	//       "location": "path",
35354	//       "required": true,
35355	//       "type": "string"
35356	//     },
35357	//     "profileId": {
35358	//       "description": "User profile ID associated with this request.",
35359	//       "format": "int64",
35360	//       "location": "path",
35361	//       "required": true,
35362	//       "type": "string"
35363	//     },
35364	//     "projectId": {
35365	//       "description": "Project ID for order documents.",
35366	//       "format": "int64",
35367	//       "location": "path",
35368	//       "required": true,
35369	//       "type": "string"
35370	//     }
35371	//   },
35372	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
35373	//   "response": {
35374	//     "$ref": "InventoryItem"
35375	//   },
35376	//   "scopes": [
35377	//     "https://www.googleapis.com/auth/dfatrafficking"
35378	//   ]
35379	// }
35380
35381}
35382
35383// method id "dfareporting.inventoryItems.list":
35384
35385type InventoryItemsListCall struct {
35386	s            *Service
35387	profileId    int64
35388	projectId    int64
35389	urlParams_   gensupport.URLParams
35390	ifNoneMatch_ string
35391	ctx_         context.Context
35392	header_      http.Header
35393}
35394
35395// List: Retrieves a list of inventory items, possibly filtered. This
35396// method supports paging.
35397func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
35398	c := &InventoryItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35399	c.profileId = profileId
35400	c.projectId = projectId
35401	return c
35402}
35403
35404// Ids sets the optional parameter "ids": Select only inventory items
35405// with these IDs.
35406func (c *InventoryItemsListCall) Ids(ids ...int64) *InventoryItemsListCall {
35407	var ids_ []string
35408	for _, v := range ids {
35409		ids_ = append(ids_, fmt.Sprint(v))
35410	}
35411	c.urlParams_.SetMulti("ids", ids_)
35412	return c
35413}
35414
35415// InPlan sets the optional parameter "inPlan": Select only inventory
35416// items that are in plan.
35417func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
35418	c.urlParams_.Set("inPlan", fmt.Sprint(inPlan))
35419	return c
35420}
35421
35422// MaxResults sets the optional parameter "maxResults": Maximum number
35423// of results to return.
35424func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
35425	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
35426	return c
35427}
35428
35429// OrderId sets the optional parameter "orderId": Select only inventory
35430// items that belong to specified orders.
35431func (c *InventoryItemsListCall) OrderId(orderId ...int64) *InventoryItemsListCall {
35432	var orderId_ []string
35433	for _, v := range orderId {
35434		orderId_ = append(orderId_, fmt.Sprint(v))
35435	}
35436	c.urlParams_.SetMulti("orderId", orderId_)
35437	return c
35438}
35439
35440// PageToken sets the optional parameter "pageToken": Value of the
35441// nextPageToken from the previous result page.
35442func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
35443	c.urlParams_.Set("pageToken", pageToken)
35444	return c
35445}
35446
35447// SiteId sets the optional parameter "siteId": Select only inventory
35448// items that are associated with these sites.
35449func (c *InventoryItemsListCall) SiteId(siteId ...int64) *InventoryItemsListCall {
35450	var siteId_ []string
35451	for _, v := range siteId {
35452		siteId_ = append(siteId_, fmt.Sprint(v))
35453	}
35454	c.urlParams_.SetMulti("siteId", siteId_)
35455	return c
35456}
35457
35458// SortField sets the optional parameter "sortField": Field by which to
35459// sort the list.
35460//
35461// Possible values:
35462//   "ID" (default)
35463//   "NAME"
35464func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
35465	c.urlParams_.Set("sortField", sortField)
35466	return c
35467}
35468
35469// SortOrder sets the optional parameter "sortOrder": Order of sorted
35470// results.
35471//
35472// Possible values:
35473//   "ASCENDING" (default)
35474//   "DESCENDING"
35475func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
35476	c.urlParams_.Set("sortOrder", sortOrder)
35477	return c
35478}
35479
35480// Type sets the optional parameter "type": Select only inventory items
35481// with this type.
35482//
35483// Possible values:
35484//   "PLANNING_PLACEMENT_TYPE_CREDIT"
35485//   "PLANNING_PLACEMENT_TYPE_REGULAR"
35486func (c *InventoryItemsListCall) Type(type_ string) *InventoryItemsListCall {
35487	c.urlParams_.Set("type", type_)
35488	return c
35489}
35490
35491// Fields allows partial responses to be retrieved. See
35492// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35493// for more information.
35494func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
35495	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35496	return c
35497}
35498
35499// IfNoneMatch sets the optional parameter which makes the operation
35500// fail if the object's ETag matches the given value. This is useful for
35501// getting updates only after the object has changed since the last
35502// request. Use googleapi.IsNotModified to check whether the response
35503// error from Do is the result of In-None-Match.
35504func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
35505	c.ifNoneMatch_ = entityTag
35506	return c
35507}
35508
35509// Context sets the context to be used in this call's Do method. Any
35510// pending HTTP request will be aborted if the provided context is
35511// canceled.
35512func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
35513	c.ctx_ = ctx
35514	return c
35515}
35516
35517// Header returns an http.Header that can be modified by the caller to
35518// add HTTP headers to the request.
35519func (c *InventoryItemsListCall) Header() http.Header {
35520	if c.header_ == nil {
35521		c.header_ = make(http.Header)
35522	}
35523	return c.header_
35524}
35525
35526func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
35527	reqHeaders := make(http.Header)
35528	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
35529	for k, v := range c.header_ {
35530		reqHeaders[k] = v
35531	}
35532	reqHeaders.Set("User-Agent", c.s.userAgent())
35533	if c.ifNoneMatch_ != "" {
35534		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35535	}
35536	var body io.Reader = nil
35537	c.urlParams_.Set("alt", alt)
35538	c.urlParams_.Set("prettyPrint", "false")
35539	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
35540	urls += "?" + c.urlParams_.Encode()
35541	req, err := http.NewRequest("GET", urls, body)
35542	if err != nil {
35543		return nil, err
35544	}
35545	req.Header = reqHeaders
35546	googleapi.Expand(req.URL, map[string]string{
35547		"profileId": strconv.FormatInt(c.profileId, 10),
35548		"projectId": strconv.FormatInt(c.projectId, 10),
35549	})
35550	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35551}
35552
35553// Do executes the "dfareporting.inventoryItems.list" call.
35554// Exactly one of *InventoryItemsListResponse or error will be non-nil.
35555// Any non-2xx status code is an error. Response headers are in either
35556// *InventoryItemsListResponse.ServerResponse.Header or (if a response
35557// was returned at all) in error.(*googleapi.Error).Header. Use
35558// googleapi.IsNotModified to check whether the returned error was
35559// because http.StatusNotModified was returned.
35560func (c *InventoryItemsListCall) Do(opts ...googleapi.CallOption) (*InventoryItemsListResponse, error) {
35561	gensupport.SetOptions(c.urlParams_, opts...)
35562	res, err := c.doRequest("json")
35563	if res != nil && res.StatusCode == http.StatusNotModified {
35564		if res.Body != nil {
35565			res.Body.Close()
35566		}
35567		return nil, &googleapi.Error{
35568			Code:   res.StatusCode,
35569			Header: res.Header,
35570		}
35571	}
35572	if err != nil {
35573		return nil, err
35574	}
35575	defer googleapi.CloseBody(res)
35576	if err := googleapi.CheckResponse(res); err != nil {
35577		return nil, err
35578	}
35579	ret := &InventoryItemsListResponse{
35580		ServerResponse: googleapi.ServerResponse{
35581			Header:         res.Header,
35582			HTTPStatusCode: res.StatusCode,
35583		},
35584	}
35585	target := &ret
35586	if err := gensupport.DecodeResponse(target, res); err != nil {
35587		return nil, err
35588	}
35589	return ret, nil
35590	// {
35591	//   "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
35592	//   "httpMethod": "GET",
35593	//   "id": "dfareporting.inventoryItems.list",
35594	//   "parameterOrder": [
35595	//     "profileId",
35596	//     "projectId"
35597	//   ],
35598	//   "parameters": {
35599	//     "ids": {
35600	//       "description": "Select only inventory items with these IDs.",
35601	//       "format": "int64",
35602	//       "location": "query",
35603	//       "repeated": true,
35604	//       "type": "string"
35605	//     },
35606	//     "inPlan": {
35607	//       "description": "Select only inventory items that are in plan.",
35608	//       "location": "query",
35609	//       "type": "boolean"
35610	//     },
35611	//     "maxResults": {
35612	//       "default": "1000",
35613	//       "description": "Maximum number of results to return.",
35614	//       "format": "int32",
35615	//       "location": "query",
35616	//       "maximum": "1000",
35617	//       "minimum": "0",
35618	//       "type": "integer"
35619	//     },
35620	//     "orderId": {
35621	//       "description": "Select only inventory items that belong to specified orders.",
35622	//       "format": "int64",
35623	//       "location": "query",
35624	//       "repeated": true,
35625	//       "type": "string"
35626	//     },
35627	//     "pageToken": {
35628	//       "description": "Value of the nextPageToken from the previous result page.",
35629	//       "location": "query",
35630	//       "type": "string"
35631	//     },
35632	//     "profileId": {
35633	//       "description": "User profile ID associated with this request.",
35634	//       "format": "int64",
35635	//       "location": "path",
35636	//       "required": true,
35637	//       "type": "string"
35638	//     },
35639	//     "projectId": {
35640	//       "description": "Project ID for order documents.",
35641	//       "format": "int64",
35642	//       "location": "path",
35643	//       "required": true,
35644	//       "type": "string"
35645	//     },
35646	//     "siteId": {
35647	//       "description": "Select only inventory items that are associated with these sites.",
35648	//       "format": "int64",
35649	//       "location": "query",
35650	//       "repeated": true,
35651	//       "type": "string"
35652	//     },
35653	//     "sortField": {
35654	//       "default": "ID",
35655	//       "description": "Field by which to sort the list.",
35656	//       "enum": [
35657	//         "ID",
35658	//         "NAME"
35659	//       ],
35660	//       "enumDescriptions": [
35661	//         "",
35662	//         ""
35663	//       ],
35664	//       "location": "query",
35665	//       "type": "string"
35666	//     },
35667	//     "sortOrder": {
35668	//       "default": "ASCENDING",
35669	//       "description": "Order of sorted results.",
35670	//       "enum": [
35671	//         "ASCENDING",
35672	//         "DESCENDING"
35673	//       ],
35674	//       "enumDescriptions": [
35675	//         "",
35676	//         ""
35677	//       ],
35678	//       "location": "query",
35679	//       "type": "string"
35680	//     },
35681	//     "type": {
35682	//       "description": "Select only inventory items with this type.",
35683	//       "enum": [
35684	//         "PLANNING_PLACEMENT_TYPE_CREDIT",
35685	//         "PLANNING_PLACEMENT_TYPE_REGULAR"
35686	//       ],
35687	//       "enumDescriptions": [
35688	//         "",
35689	//         ""
35690	//       ],
35691	//       "location": "query",
35692	//       "type": "string"
35693	//     }
35694	//   },
35695	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
35696	//   "response": {
35697	//     "$ref": "InventoryItemsListResponse"
35698	//   },
35699	//   "scopes": [
35700	//     "https://www.googleapis.com/auth/dfatrafficking"
35701	//   ]
35702	// }
35703
35704}
35705
35706// Pages invokes f for each page of results.
35707// A non-nil error returned from f will halt the iteration.
35708// The provided context supersedes any context provided to the Context method.
35709func (c *InventoryItemsListCall) Pages(ctx context.Context, f func(*InventoryItemsListResponse) error) error {
35710	c.ctx_ = ctx
35711	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
35712	for {
35713		x, err := c.Do()
35714		if err != nil {
35715			return err
35716		}
35717		if err := f(x); err != nil {
35718			return err
35719		}
35720		if x.NextPageToken == "" {
35721			return nil
35722		}
35723		c.PageToken(x.NextPageToken)
35724	}
35725}
35726
35727// method id "dfareporting.languages.list":
35728
35729type LanguagesListCall struct {
35730	s            *Service
35731	profileId    int64
35732	urlParams_   gensupport.URLParams
35733	ifNoneMatch_ string
35734	ctx_         context.Context
35735	header_      http.Header
35736}
35737
35738// List: Retrieves a list of languages.
35739func (r *LanguagesService) List(profileId int64) *LanguagesListCall {
35740	c := &LanguagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35741	c.profileId = profileId
35742	return c
35743}
35744
35745// Fields allows partial responses to be retrieved. See
35746// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35747// for more information.
35748func (c *LanguagesListCall) Fields(s ...googleapi.Field) *LanguagesListCall {
35749	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35750	return c
35751}
35752
35753// IfNoneMatch sets the optional parameter which makes the operation
35754// fail if the object's ETag matches the given value. This is useful for
35755// getting updates only after the object has changed since the last
35756// request. Use googleapi.IsNotModified to check whether the response
35757// error from Do is the result of In-None-Match.
35758func (c *LanguagesListCall) IfNoneMatch(entityTag string) *LanguagesListCall {
35759	c.ifNoneMatch_ = entityTag
35760	return c
35761}
35762
35763// Context sets the context to be used in this call's Do method. Any
35764// pending HTTP request will be aborted if the provided context is
35765// canceled.
35766func (c *LanguagesListCall) Context(ctx context.Context) *LanguagesListCall {
35767	c.ctx_ = ctx
35768	return c
35769}
35770
35771// Header returns an http.Header that can be modified by the caller to
35772// add HTTP headers to the request.
35773func (c *LanguagesListCall) Header() http.Header {
35774	if c.header_ == nil {
35775		c.header_ = make(http.Header)
35776	}
35777	return c.header_
35778}
35779
35780func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
35781	reqHeaders := make(http.Header)
35782	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
35783	for k, v := range c.header_ {
35784		reqHeaders[k] = v
35785	}
35786	reqHeaders.Set("User-Agent", c.s.userAgent())
35787	if c.ifNoneMatch_ != "" {
35788		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35789	}
35790	var body io.Reader = nil
35791	c.urlParams_.Set("alt", alt)
35792	c.urlParams_.Set("prettyPrint", "false")
35793	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/languages")
35794	urls += "?" + c.urlParams_.Encode()
35795	req, err := http.NewRequest("GET", urls, body)
35796	if err != nil {
35797		return nil, err
35798	}
35799	req.Header = reqHeaders
35800	googleapi.Expand(req.URL, map[string]string{
35801		"profileId": strconv.FormatInt(c.profileId, 10),
35802	})
35803	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35804}
35805
35806// Do executes the "dfareporting.languages.list" call.
35807// Exactly one of *LanguagesListResponse or error will be non-nil. Any
35808// non-2xx status code is an error. Response headers are in either
35809// *LanguagesListResponse.ServerResponse.Header or (if a response was
35810// returned at all) in error.(*googleapi.Error).Header. Use
35811// googleapi.IsNotModified to check whether the returned error was
35812// because http.StatusNotModified was returned.
35813func (c *LanguagesListCall) Do(opts ...googleapi.CallOption) (*LanguagesListResponse, error) {
35814	gensupport.SetOptions(c.urlParams_, opts...)
35815	res, err := c.doRequest("json")
35816	if res != nil && res.StatusCode == http.StatusNotModified {
35817		if res.Body != nil {
35818			res.Body.Close()
35819		}
35820		return nil, &googleapi.Error{
35821			Code:   res.StatusCode,
35822			Header: res.Header,
35823		}
35824	}
35825	if err != nil {
35826		return nil, err
35827	}
35828	defer googleapi.CloseBody(res)
35829	if err := googleapi.CheckResponse(res); err != nil {
35830		return nil, err
35831	}
35832	ret := &LanguagesListResponse{
35833		ServerResponse: googleapi.ServerResponse{
35834			Header:         res.Header,
35835			HTTPStatusCode: res.StatusCode,
35836		},
35837	}
35838	target := &ret
35839	if err := gensupport.DecodeResponse(target, res); err != nil {
35840		return nil, err
35841	}
35842	return ret, nil
35843	// {
35844	//   "description": "Retrieves a list of languages.",
35845	//   "httpMethod": "GET",
35846	//   "id": "dfareporting.languages.list",
35847	//   "parameterOrder": [
35848	//     "profileId"
35849	//   ],
35850	//   "parameters": {
35851	//     "profileId": {
35852	//       "description": "User profile ID associated with this request.",
35853	//       "format": "int64",
35854	//       "location": "path",
35855	//       "required": true,
35856	//       "type": "string"
35857	//     }
35858	//   },
35859	//   "path": "userprofiles/{profileId}/languages",
35860	//   "response": {
35861	//     "$ref": "LanguagesListResponse"
35862	//   },
35863	//   "scopes": [
35864	//     "https://www.googleapis.com/auth/dfatrafficking"
35865	//   ]
35866	// }
35867
35868}
35869
35870// method id "dfareporting.metros.list":
35871
35872type MetrosListCall struct {
35873	s            *Service
35874	profileId    int64
35875	urlParams_   gensupport.URLParams
35876	ifNoneMatch_ string
35877	ctx_         context.Context
35878	header_      http.Header
35879}
35880
35881// List: Retrieves a list of metros.
35882func (r *MetrosService) List(profileId int64) *MetrosListCall {
35883	c := &MetrosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35884	c.profileId = profileId
35885	return c
35886}
35887
35888// Fields allows partial responses to be retrieved. See
35889// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35890// for more information.
35891func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
35892	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35893	return c
35894}
35895
35896// IfNoneMatch sets the optional parameter which makes the operation
35897// fail if the object's ETag matches the given value. This is useful for
35898// getting updates only after the object has changed since the last
35899// request. Use googleapi.IsNotModified to check whether the response
35900// error from Do is the result of In-None-Match.
35901func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
35902	c.ifNoneMatch_ = entityTag
35903	return c
35904}
35905
35906// Context sets the context to be used in this call's Do method. Any
35907// pending HTTP request will be aborted if the provided context is
35908// canceled.
35909func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
35910	c.ctx_ = ctx
35911	return c
35912}
35913
35914// Header returns an http.Header that can be modified by the caller to
35915// add HTTP headers to the request.
35916func (c *MetrosListCall) Header() http.Header {
35917	if c.header_ == nil {
35918		c.header_ = make(http.Header)
35919	}
35920	return c.header_
35921}
35922
35923func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
35924	reqHeaders := make(http.Header)
35925	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
35926	for k, v := range c.header_ {
35927		reqHeaders[k] = v
35928	}
35929	reqHeaders.Set("User-Agent", c.s.userAgent())
35930	if c.ifNoneMatch_ != "" {
35931		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35932	}
35933	var body io.Reader = nil
35934	c.urlParams_.Set("alt", alt)
35935	c.urlParams_.Set("prettyPrint", "false")
35936	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
35937	urls += "?" + c.urlParams_.Encode()
35938	req, err := http.NewRequest("GET", urls, body)
35939	if err != nil {
35940		return nil, err
35941	}
35942	req.Header = reqHeaders
35943	googleapi.Expand(req.URL, map[string]string{
35944		"profileId": strconv.FormatInt(c.profileId, 10),
35945	})
35946	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35947}
35948
35949// Do executes the "dfareporting.metros.list" call.
35950// Exactly one of *MetrosListResponse or error will be non-nil. Any
35951// non-2xx status code is an error. Response headers are in either
35952// *MetrosListResponse.ServerResponse.Header or (if a response was
35953// returned at all) in error.(*googleapi.Error).Header. Use
35954// googleapi.IsNotModified to check whether the returned error was
35955// because http.StatusNotModified was returned.
35956func (c *MetrosListCall) Do(opts ...googleapi.CallOption) (*MetrosListResponse, error) {
35957	gensupport.SetOptions(c.urlParams_, opts...)
35958	res, err := c.doRequest("json")
35959	if res != nil && res.StatusCode == http.StatusNotModified {
35960		if res.Body != nil {
35961			res.Body.Close()
35962		}
35963		return nil, &googleapi.Error{
35964			Code:   res.StatusCode,
35965			Header: res.Header,
35966		}
35967	}
35968	if err != nil {
35969		return nil, err
35970	}
35971	defer googleapi.CloseBody(res)
35972	if err := googleapi.CheckResponse(res); err != nil {
35973		return nil, err
35974	}
35975	ret := &MetrosListResponse{
35976		ServerResponse: googleapi.ServerResponse{
35977			Header:         res.Header,
35978			HTTPStatusCode: res.StatusCode,
35979		},
35980	}
35981	target := &ret
35982	if err := gensupport.DecodeResponse(target, res); err != nil {
35983		return nil, err
35984	}
35985	return ret, nil
35986	// {
35987	//   "description": "Retrieves a list of metros.",
35988	//   "httpMethod": "GET",
35989	//   "id": "dfareporting.metros.list",
35990	//   "parameterOrder": [
35991	//     "profileId"
35992	//   ],
35993	//   "parameters": {
35994	//     "profileId": {
35995	//       "description": "User profile ID associated with this request.",
35996	//       "format": "int64",
35997	//       "location": "path",
35998	//       "required": true,
35999	//       "type": "string"
36000	//     }
36001	//   },
36002	//   "path": "userprofiles/{profileId}/metros",
36003	//   "response": {
36004	//     "$ref": "MetrosListResponse"
36005	//   },
36006	//   "scopes": [
36007	//     "https://www.googleapis.com/auth/dfatrafficking"
36008	//   ]
36009	// }
36010
36011}
36012
36013// method id "dfareporting.mobileApps.get":
36014
36015type MobileAppsGetCall struct {
36016	s            *Service
36017	profileId    int64
36018	id           string
36019	urlParams_   gensupport.URLParams
36020	ifNoneMatch_ string
36021	ctx_         context.Context
36022	header_      http.Header
36023}
36024
36025// Get: Gets one mobile app by ID.
36026func (r *MobileAppsService) Get(profileId int64, id string) *MobileAppsGetCall {
36027	c := &MobileAppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36028	c.profileId = profileId
36029	c.id = id
36030	return c
36031}
36032
36033// Fields allows partial responses to be retrieved. See
36034// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36035// for more information.
36036func (c *MobileAppsGetCall) Fields(s ...googleapi.Field) *MobileAppsGetCall {
36037	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36038	return c
36039}
36040
36041// IfNoneMatch sets the optional parameter which makes the operation
36042// fail if the object's ETag matches the given value. This is useful for
36043// getting updates only after the object has changed since the last
36044// request. Use googleapi.IsNotModified to check whether the response
36045// error from Do is the result of In-None-Match.
36046func (c *MobileAppsGetCall) IfNoneMatch(entityTag string) *MobileAppsGetCall {
36047	c.ifNoneMatch_ = entityTag
36048	return c
36049}
36050
36051// Context sets the context to be used in this call's Do method. Any
36052// pending HTTP request will be aborted if the provided context is
36053// canceled.
36054func (c *MobileAppsGetCall) Context(ctx context.Context) *MobileAppsGetCall {
36055	c.ctx_ = ctx
36056	return c
36057}
36058
36059// Header returns an http.Header that can be modified by the caller to
36060// add HTTP headers to the request.
36061func (c *MobileAppsGetCall) Header() http.Header {
36062	if c.header_ == nil {
36063		c.header_ = make(http.Header)
36064	}
36065	return c.header_
36066}
36067
36068func (c *MobileAppsGetCall) doRequest(alt string) (*http.Response, error) {
36069	reqHeaders := make(http.Header)
36070	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
36071	for k, v := range c.header_ {
36072		reqHeaders[k] = v
36073	}
36074	reqHeaders.Set("User-Agent", c.s.userAgent())
36075	if c.ifNoneMatch_ != "" {
36076		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36077	}
36078	var body io.Reader = nil
36079	c.urlParams_.Set("alt", alt)
36080	c.urlParams_.Set("prettyPrint", "false")
36081	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps/{id}")
36082	urls += "?" + c.urlParams_.Encode()
36083	req, err := http.NewRequest("GET", urls, body)
36084	if err != nil {
36085		return nil, err
36086	}
36087	req.Header = reqHeaders
36088	googleapi.Expand(req.URL, map[string]string{
36089		"profileId": strconv.FormatInt(c.profileId, 10),
36090		"id":        c.id,
36091	})
36092	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36093}
36094
36095// Do executes the "dfareporting.mobileApps.get" call.
36096// Exactly one of *MobileApp or error will be non-nil. Any non-2xx
36097// status code is an error. Response headers are in either
36098// *MobileApp.ServerResponse.Header or (if a response was returned at
36099// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
36100// to check whether the returned error was because
36101// http.StatusNotModified was returned.
36102func (c *MobileAppsGetCall) Do(opts ...googleapi.CallOption) (*MobileApp, error) {
36103	gensupport.SetOptions(c.urlParams_, opts...)
36104	res, err := c.doRequest("json")
36105	if res != nil && res.StatusCode == http.StatusNotModified {
36106		if res.Body != nil {
36107			res.Body.Close()
36108		}
36109		return nil, &googleapi.Error{
36110			Code:   res.StatusCode,
36111			Header: res.Header,
36112		}
36113	}
36114	if err != nil {
36115		return nil, err
36116	}
36117	defer googleapi.CloseBody(res)
36118	if err := googleapi.CheckResponse(res); err != nil {
36119		return nil, err
36120	}
36121	ret := &MobileApp{
36122		ServerResponse: googleapi.ServerResponse{
36123			Header:         res.Header,
36124			HTTPStatusCode: res.StatusCode,
36125		},
36126	}
36127	target := &ret
36128	if err := gensupport.DecodeResponse(target, res); err != nil {
36129		return nil, err
36130	}
36131	return ret, nil
36132	// {
36133	//   "description": "Gets one mobile app by ID.",
36134	//   "httpMethod": "GET",
36135	//   "id": "dfareporting.mobileApps.get",
36136	//   "parameterOrder": [
36137	//     "profileId",
36138	//     "id"
36139	//   ],
36140	//   "parameters": {
36141	//     "id": {
36142	//       "description": "Mobile app ID.",
36143	//       "location": "path",
36144	//       "required": true,
36145	//       "type": "string"
36146	//     },
36147	//     "profileId": {
36148	//       "description": "User profile ID associated with this request.",
36149	//       "format": "int64",
36150	//       "location": "path",
36151	//       "required": true,
36152	//       "type": "string"
36153	//     }
36154	//   },
36155	//   "path": "userprofiles/{profileId}/mobileApps/{id}",
36156	//   "response": {
36157	//     "$ref": "MobileApp"
36158	//   },
36159	//   "scopes": [
36160	//     "https://www.googleapis.com/auth/dfatrafficking"
36161	//   ]
36162	// }
36163
36164}
36165
36166// method id "dfareporting.mobileApps.list":
36167
36168type MobileAppsListCall struct {
36169	s            *Service
36170	profileId    int64
36171	urlParams_   gensupport.URLParams
36172	ifNoneMatch_ string
36173	ctx_         context.Context
36174	header_      http.Header
36175}
36176
36177// List: Retrieves list of available mobile apps.
36178func (r *MobileAppsService) List(profileId int64) *MobileAppsListCall {
36179	c := &MobileAppsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36180	c.profileId = profileId
36181	return c
36182}
36183
36184// Directories sets the optional parameter "directories": Select only
36185// apps from these directories.
36186//
36187// Possible values:
36188//   "APPLE_APP_STORE"
36189//   "GOOGLE_PLAY_STORE"
36190//   "UNKNOWN"
36191func (c *MobileAppsListCall) Directories(directories ...string) *MobileAppsListCall {
36192	c.urlParams_.SetMulti("directories", append([]string{}, directories...))
36193	return c
36194}
36195
36196// Ids sets the optional parameter "ids": Select only apps with these
36197// IDs.
36198func (c *MobileAppsListCall) Ids(ids ...string) *MobileAppsListCall {
36199	c.urlParams_.SetMulti("ids", append([]string{}, ids...))
36200	return c
36201}
36202
36203// MaxResults sets the optional parameter "maxResults": Maximum number
36204// of results to return.
36205func (c *MobileAppsListCall) MaxResults(maxResults int64) *MobileAppsListCall {
36206	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
36207	return c
36208}
36209
36210// PageToken sets the optional parameter "pageToken": Value of the
36211// nextPageToken from the previous result page.
36212func (c *MobileAppsListCall) PageToken(pageToken string) *MobileAppsListCall {
36213	c.urlParams_.Set("pageToken", pageToken)
36214	return c
36215}
36216
36217// SearchString sets the optional parameter "searchString": Allows
36218// searching for objects by name or ID. Wildcards (*) are allowed. For
36219// example, "app*2015" will return objects with names like "app Jan
36220// 2018", "app Jan 2018", or simply "app 2018". Most of the searches
36221// also add wildcards implicitly at the start and the end of the search
36222// string. For example, a search string of "app" will match objects with
36223// name "my app", "app 2018", or simply "app".
36224func (c *MobileAppsListCall) SearchString(searchString string) *MobileAppsListCall {
36225	c.urlParams_.Set("searchString", searchString)
36226	return c
36227}
36228
36229// Fields allows partial responses to be retrieved. See
36230// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36231// for more information.
36232func (c *MobileAppsListCall) Fields(s ...googleapi.Field) *MobileAppsListCall {
36233	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36234	return c
36235}
36236
36237// IfNoneMatch sets the optional parameter which makes the operation
36238// fail if the object's ETag matches the given value. This is useful for
36239// getting updates only after the object has changed since the last
36240// request. Use googleapi.IsNotModified to check whether the response
36241// error from Do is the result of In-None-Match.
36242func (c *MobileAppsListCall) IfNoneMatch(entityTag string) *MobileAppsListCall {
36243	c.ifNoneMatch_ = entityTag
36244	return c
36245}
36246
36247// Context sets the context to be used in this call's Do method. Any
36248// pending HTTP request will be aborted if the provided context is
36249// canceled.
36250func (c *MobileAppsListCall) Context(ctx context.Context) *MobileAppsListCall {
36251	c.ctx_ = ctx
36252	return c
36253}
36254
36255// Header returns an http.Header that can be modified by the caller to
36256// add HTTP headers to the request.
36257func (c *MobileAppsListCall) Header() http.Header {
36258	if c.header_ == nil {
36259		c.header_ = make(http.Header)
36260	}
36261	return c.header_
36262}
36263
36264func (c *MobileAppsListCall) doRequest(alt string) (*http.Response, error) {
36265	reqHeaders := make(http.Header)
36266	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
36267	for k, v := range c.header_ {
36268		reqHeaders[k] = v
36269	}
36270	reqHeaders.Set("User-Agent", c.s.userAgent())
36271	if c.ifNoneMatch_ != "" {
36272		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36273	}
36274	var body io.Reader = nil
36275	c.urlParams_.Set("alt", alt)
36276	c.urlParams_.Set("prettyPrint", "false")
36277	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps")
36278	urls += "?" + c.urlParams_.Encode()
36279	req, err := http.NewRequest("GET", urls, body)
36280	if err != nil {
36281		return nil, err
36282	}
36283	req.Header = reqHeaders
36284	googleapi.Expand(req.URL, map[string]string{
36285		"profileId": strconv.FormatInt(c.profileId, 10),
36286	})
36287	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36288}
36289
36290// Do executes the "dfareporting.mobileApps.list" call.
36291// Exactly one of *MobileAppsListResponse or error will be non-nil. Any
36292// non-2xx status code is an error. Response headers are in either
36293// *MobileAppsListResponse.ServerResponse.Header or (if a response was
36294// returned at all) in error.(*googleapi.Error).Header. Use
36295// googleapi.IsNotModified to check whether the returned error was
36296// because http.StatusNotModified was returned.
36297func (c *MobileAppsListCall) Do(opts ...googleapi.CallOption) (*MobileAppsListResponse, error) {
36298	gensupport.SetOptions(c.urlParams_, opts...)
36299	res, err := c.doRequest("json")
36300	if res != nil && res.StatusCode == http.StatusNotModified {
36301		if res.Body != nil {
36302			res.Body.Close()
36303		}
36304		return nil, &googleapi.Error{
36305			Code:   res.StatusCode,
36306			Header: res.Header,
36307		}
36308	}
36309	if err != nil {
36310		return nil, err
36311	}
36312	defer googleapi.CloseBody(res)
36313	if err := googleapi.CheckResponse(res); err != nil {
36314		return nil, err
36315	}
36316	ret := &MobileAppsListResponse{
36317		ServerResponse: googleapi.ServerResponse{
36318			Header:         res.Header,
36319			HTTPStatusCode: res.StatusCode,
36320		},
36321	}
36322	target := &ret
36323	if err := gensupport.DecodeResponse(target, res); err != nil {
36324		return nil, err
36325	}
36326	return ret, nil
36327	// {
36328	//   "description": "Retrieves list of available mobile apps.",
36329	//   "httpMethod": "GET",
36330	//   "id": "dfareporting.mobileApps.list",
36331	//   "parameterOrder": [
36332	//     "profileId"
36333	//   ],
36334	//   "parameters": {
36335	//     "directories": {
36336	//       "description": "Select only apps from these directories.",
36337	//       "enum": [
36338	//         "APPLE_APP_STORE",
36339	//         "GOOGLE_PLAY_STORE",
36340	//         "UNKNOWN"
36341	//       ],
36342	//       "enumDescriptions": [
36343	//         "",
36344	//         "",
36345	//         ""
36346	//       ],
36347	//       "location": "query",
36348	//       "repeated": true,
36349	//       "type": "string"
36350	//     },
36351	//     "ids": {
36352	//       "description": "Select only apps with these IDs.",
36353	//       "location": "query",
36354	//       "repeated": true,
36355	//       "type": "string"
36356	//     },
36357	//     "maxResults": {
36358	//       "default": "1000",
36359	//       "description": "Maximum number of results to return.",
36360	//       "format": "int32",
36361	//       "location": "query",
36362	//       "maximum": "1000",
36363	//       "minimum": "0",
36364	//       "type": "integer"
36365	//     },
36366	//     "pageToken": {
36367	//       "description": "Value of the nextPageToken from the previous result page.",
36368	//       "location": "query",
36369	//       "type": "string"
36370	//     },
36371	//     "profileId": {
36372	//       "description": "User profile ID associated with this request.",
36373	//       "format": "int64",
36374	//       "location": "path",
36375	//       "required": true,
36376	//       "type": "string"
36377	//     },
36378	//     "searchString": {
36379	//       "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\".",
36380	//       "location": "query",
36381	//       "type": "string"
36382	//     }
36383	//   },
36384	//   "path": "userprofiles/{profileId}/mobileApps",
36385	//   "response": {
36386	//     "$ref": "MobileAppsListResponse"
36387	//   },
36388	//   "scopes": [
36389	//     "https://www.googleapis.com/auth/dfatrafficking"
36390	//   ]
36391	// }
36392
36393}
36394
36395// Pages invokes f for each page of results.
36396// A non-nil error returned from f will halt the iteration.
36397// The provided context supersedes any context provided to the Context method.
36398func (c *MobileAppsListCall) Pages(ctx context.Context, f func(*MobileAppsListResponse) error) error {
36399	c.ctx_ = ctx
36400	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
36401	for {
36402		x, err := c.Do()
36403		if err != nil {
36404			return err
36405		}
36406		if err := f(x); err != nil {
36407			return err
36408		}
36409		if x.NextPageToken == "" {
36410			return nil
36411		}
36412		c.PageToken(x.NextPageToken)
36413	}
36414}
36415
36416// method id "dfareporting.mobileCarriers.get":
36417
36418type MobileCarriersGetCall struct {
36419	s            *Service
36420	profileId    int64
36421	id           int64
36422	urlParams_   gensupport.URLParams
36423	ifNoneMatch_ string
36424	ctx_         context.Context
36425	header_      http.Header
36426}
36427
36428// Get: Gets one mobile carrier by ID.
36429func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
36430	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36431	c.profileId = profileId
36432	c.id = id
36433	return c
36434}
36435
36436// Fields allows partial responses to be retrieved. See
36437// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36438// for more information.
36439func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
36440	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36441	return c
36442}
36443
36444// IfNoneMatch sets the optional parameter which makes the operation
36445// fail if the object's ETag matches the given value. This is useful for
36446// getting updates only after the object has changed since the last
36447// request. Use googleapi.IsNotModified to check whether the response
36448// error from Do is the result of In-None-Match.
36449func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
36450	c.ifNoneMatch_ = entityTag
36451	return c
36452}
36453
36454// Context sets the context to be used in this call's Do method. Any
36455// pending HTTP request will be aborted if the provided context is
36456// canceled.
36457func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
36458	c.ctx_ = ctx
36459	return c
36460}
36461
36462// Header returns an http.Header that can be modified by the caller to
36463// add HTTP headers to the request.
36464func (c *MobileCarriersGetCall) Header() http.Header {
36465	if c.header_ == nil {
36466		c.header_ = make(http.Header)
36467	}
36468	return c.header_
36469}
36470
36471func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
36472	reqHeaders := make(http.Header)
36473	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
36474	for k, v := range c.header_ {
36475		reqHeaders[k] = v
36476	}
36477	reqHeaders.Set("User-Agent", c.s.userAgent())
36478	if c.ifNoneMatch_ != "" {
36479		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36480	}
36481	var body io.Reader = nil
36482	c.urlParams_.Set("alt", alt)
36483	c.urlParams_.Set("prettyPrint", "false")
36484	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
36485	urls += "?" + c.urlParams_.Encode()
36486	req, err := http.NewRequest("GET", urls, body)
36487	if err != nil {
36488		return nil, err
36489	}
36490	req.Header = reqHeaders
36491	googleapi.Expand(req.URL, map[string]string{
36492		"profileId": strconv.FormatInt(c.profileId, 10),
36493		"id":        strconv.FormatInt(c.id, 10),
36494	})
36495	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36496}
36497
36498// Do executes the "dfareporting.mobileCarriers.get" call.
36499// Exactly one of *MobileCarrier or error will be non-nil. Any non-2xx
36500// status code is an error. Response headers are in either
36501// *MobileCarrier.ServerResponse.Header or (if a response was returned
36502// at all) in error.(*googleapi.Error).Header. Use
36503// googleapi.IsNotModified to check whether the returned error was
36504// because http.StatusNotModified was returned.
36505func (c *MobileCarriersGetCall) Do(opts ...googleapi.CallOption) (*MobileCarrier, error) {
36506	gensupport.SetOptions(c.urlParams_, opts...)
36507	res, err := c.doRequest("json")
36508	if res != nil && res.StatusCode == http.StatusNotModified {
36509		if res.Body != nil {
36510			res.Body.Close()
36511		}
36512		return nil, &googleapi.Error{
36513			Code:   res.StatusCode,
36514			Header: res.Header,
36515		}
36516	}
36517	if err != nil {
36518		return nil, err
36519	}
36520	defer googleapi.CloseBody(res)
36521	if err := googleapi.CheckResponse(res); err != nil {
36522		return nil, err
36523	}
36524	ret := &MobileCarrier{
36525		ServerResponse: googleapi.ServerResponse{
36526			Header:         res.Header,
36527			HTTPStatusCode: res.StatusCode,
36528		},
36529	}
36530	target := &ret
36531	if err := gensupport.DecodeResponse(target, res); err != nil {
36532		return nil, err
36533	}
36534	return ret, nil
36535	// {
36536	//   "description": "Gets one mobile carrier by ID.",
36537	//   "httpMethod": "GET",
36538	//   "id": "dfareporting.mobileCarriers.get",
36539	//   "parameterOrder": [
36540	//     "profileId",
36541	//     "id"
36542	//   ],
36543	//   "parameters": {
36544	//     "id": {
36545	//       "description": "Mobile carrier ID.",
36546	//       "format": "int64",
36547	//       "location": "path",
36548	//       "required": true,
36549	//       "type": "string"
36550	//     },
36551	//     "profileId": {
36552	//       "description": "User profile ID associated with this request.",
36553	//       "format": "int64",
36554	//       "location": "path",
36555	//       "required": true,
36556	//       "type": "string"
36557	//     }
36558	//   },
36559	//   "path": "userprofiles/{profileId}/mobileCarriers/{id}",
36560	//   "response": {
36561	//     "$ref": "MobileCarrier"
36562	//   },
36563	//   "scopes": [
36564	//     "https://www.googleapis.com/auth/dfatrafficking"
36565	//   ]
36566	// }
36567
36568}
36569
36570// method id "dfareporting.mobileCarriers.list":
36571
36572type MobileCarriersListCall struct {
36573	s            *Service
36574	profileId    int64
36575	urlParams_   gensupport.URLParams
36576	ifNoneMatch_ string
36577	ctx_         context.Context
36578	header_      http.Header
36579}
36580
36581// List: Retrieves a list of mobile carriers.
36582func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
36583	c := &MobileCarriersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36584	c.profileId = profileId
36585	return c
36586}
36587
36588// Fields allows partial responses to be retrieved. See
36589// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36590// for more information.
36591func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
36592	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36593	return c
36594}
36595
36596// IfNoneMatch sets the optional parameter which makes the operation
36597// fail if the object's ETag matches the given value. This is useful for
36598// getting updates only after the object has changed since the last
36599// request. Use googleapi.IsNotModified to check whether the response
36600// error from Do is the result of In-None-Match.
36601func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
36602	c.ifNoneMatch_ = entityTag
36603	return c
36604}
36605
36606// Context sets the context to be used in this call's Do method. Any
36607// pending HTTP request will be aborted if the provided context is
36608// canceled.
36609func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
36610	c.ctx_ = ctx
36611	return c
36612}
36613
36614// Header returns an http.Header that can be modified by the caller to
36615// add HTTP headers to the request.
36616func (c *MobileCarriersListCall) Header() http.Header {
36617	if c.header_ == nil {
36618		c.header_ = make(http.Header)
36619	}
36620	return c.header_
36621}
36622
36623func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
36624	reqHeaders := make(http.Header)
36625	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
36626	for k, v := range c.header_ {
36627		reqHeaders[k] = v
36628	}
36629	reqHeaders.Set("User-Agent", c.s.userAgent())
36630	if c.ifNoneMatch_ != "" {
36631		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36632	}
36633	var body io.Reader = nil
36634	c.urlParams_.Set("alt", alt)
36635	c.urlParams_.Set("prettyPrint", "false")
36636	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
36637	urls += "?" + c.urlParams_.Encode()
36638	req, err := http.NewRequest("GET", urls, body)
36639	if err != nil {
36640		return nil, err
36641	}
36642	req.Header = reqHeaders
36643	googleapi.Expand(req.URL, map[string]string{
36644		"profileId": strconv.FormatInt(c.profileId, 10),
36645	})
36646	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36647}
36648
36649// Do executes the "dfareporting.mobileCarriers.list" call.
36650// Exactly one of *MobileCarriersListResponse or error will be non-nil.
36651// Any non-2xx status code is an error. Response headers are in either
36652// *MobileCarriersListResponse.ServerResponse.Header or (if a response
36653// was returned at all) in error.(*googleapi.Error).Header. Use
36654// googleapi.IsNotModified to check whether the returned error was
36655// because http.StatusNotModified was returned.
36656func (c *MobileCarriersListCall) Do(opts ...googleapi.CallOption) (*MobileCarriersListResponse, error) {
36657	gensupport.SetOptions(c.urlParams_, opts...)
36658	res, err := c.doRequest("json")
36659	if res != nil && res.StatusCode == http.StatusNotModified {
36660		if res.Body != nil {
36661			res.Body.Close()
36662		}
36663		return nil, &googleapi.Error{
36664			Code:   res.StatusCode,
36665			Header: res.Header,
36666		}
36667	}
36668	if err != nil {
36669		return nil, err
36670	}
36671	defer googleapi.CloseBody(res)
36672	if err := googleapi.CheckResponse(res); err != nil {
36673		return nil, err
36674	}
36675	ret := &MobileCarriersListResponse{
36676		ServerResponse: googleapi.ServerResponse{
36677			Header:         res.Header,
36678			HTTPStatusCode: res.StatusCode,
36679		},
36680	}
36681	target := &ret
36682	if err := gensupport.DecodeResponse(target, res); err != nil {
36683		return nil, err
36684	}
36685	return ret, nil
36686	// {
36687	//   "description": "Retrieves a list of mobile carriers.",
36688	//   "httpMethod": "GET",
36689	//   "id": "dfareporting.mobileCarriers.list",
36690	//   "parameterOrder": [
36691	//     "profileId"
36692	//   ],
36693	//   "parameters": {
36694	//     "profileId": {
36695	//       "description": "User profile ID associated with this request.",
36696	//       "format": "int64",
36697	//       "location": "path",
36698	//       "required": true,
36699	//       "type": "string"
36700	//     }
36701	//   },
36702	//   "path": "userprofiles/{profileId}/mobileCarriers",
36703	//   "response": {
36704	//     "$ref": "MobileCarriersListResponse"
36705	//   },
36706	//   "scopes": [
36707	//     "https://www.googleapis.com/auth/dfatrafficking"
36708	//   ]
36709	// }
36710
36711}
36712
36713// method id "dfareporting.operatingSystemVersions.get":
36714
36715type OperatingSystemVersionsGetCall struct {
36716	s            *Service
36717	profileId    int64
36718	id           int64
36719	urlParams_   gensupport.URLParams
36720	ifNoneMatch_ string
36721	ctx_         context.Context
36722	header_      http.Header
36723}
36724
36725// Get: Gets one operating system version by ID.
36726func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
36727	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36728	c.profileId = profileId
36729	c.id = id
36730	return c
36731}
36732
36733// Fields allows partial responses to be retrieved. See
36734// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36735// for more information.
36736func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
36737	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36738	return c
36739}
36740
36741// IfNoneMatch sets the optional parameter which makes the operation
36742// fail if the object's ETag matches the given value. This is useful for
36743// getting updates only after the object has changed since the last
36744// request. Use googleapi.IsNotModified to check whether the response
36745// error from Do is the result of In-None-Match.
36746func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
36747	c.ifNoneMatch_ = entityTag
36748	return c
36749}
36750
36751// Context sets the context to be used in this call's Do method. Any
36752// pending HTTP request will be aborted if the provided context is
36753// canceled.
36754func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
36755	c.ctx_ = ctx
36756	return c
36757}
36758
36759// Header returns an http.Header that can be modified by the caller to
36760// add HTTP headers to the request.
36761func (c *OperatingSystemVersionsGetCall) Header() http.Header {
36762	if c.header_ == nil {
36763		c.header_ = make(http.Header)
36764	}
36765	return c.header_
36766}
36767
36768func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
36769	reqHeaders := make(http.Header)
36770	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
36771	for k, v := range c.header_ {
36772		reqHeaders[k] = v
36773	}
36774	reqHeaders.Set("User-Agent", c.s.userAgent())
36775	if c.ifNoneMatch_ != "" {
36776		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36777	}
36778	var body io.Reader = nil
36779	c.urlParams_.Set("alt", alt)
36780	c.urlParams_.Set("prettyPrint", "false")
36781	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
36782	urls += "?" + c.urlParams_.Encode()
36783	req, err := http.NewRequest("GET", urls, body)
36784	if err != nil {
36785		return nil, err
36786	}
36787	req.Header = reqHeaders
36788	googleapi.Expand(req.URL, map[string]string{
36789		"profileId": strconv.FormatInt(c.profileId, 10),
36790		"id":        strconv.FormatInt(c.id, 10),
36791	})
36792	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36793}
36794
36795// Do executes the "dfareporting.operatingSystemVersions.get" call.
36796// Exactly one of *OperatingSystemVersion or error will be non-nil. Any
36797// non-2xx status code is an error. Response headers are in either
36798// *OperatingSystemVersion.ServerResponse.Header or (if a response was
36799// returned at all) in error.(*googleapi.Error).Header. Use
36800// googleapi.IsNotModified to check whether the returned error was
36801// because http.StatusNotModified was returned.
36802func (c *OperatingSystemVersionsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersion, error) {
36803	gensupport.SetOptions(c.urlParams_, opts...)
36804	res, err := c.doRequest("json")
36805	if res != nil && res.StatusCode == http.StatusNotModified {
36806		if res.Body != nil {
36807			res.Body.Close()
36808		}
36809		return nil, &googleapi.Error{
36810			Code:   res.StatusCode,
36811			Header: res.Header,
36812		}
36813	}
36814	if err != nil {
36815		return nil, err
36816	}
36817	defer googleapi.CloseBody(res)
36818	if err := googleapi.CheckResponse(res); err != nil {
36819		return nil, err
36820	}
36821	ret := &OperatingSystemVersion{
36822		ServerResponse: googleapi.ServerResponse{
36823			Header:         res.Header,
36824			HTTPStatusCode: res.StatusCode,
36825		},
36826	}
36827	target := &ret
36828	if err := gensupport.DecodeResponse(target, res); err != nil {
36829		return nil, err
36830	}
36831	return ret, nil
36832	// {
36833	//   "description": "Gets one operating system version by ID.",
36834	//   "httpMethod": "GET",
36835	//   "id": "dfareporting.operatingSystemVersions.get",
36836	//   "parameterOrder": [
36837	//     "profileId",
36838	//     "id"
36839	//   ],
36840	//   "parameters": {
36841	//     "id": {
36842	//       "description": "Operating system version ID.",
36843	//       "format": "int64",
36844	//       "location": "path",
36845	//       "required": true,
36846	//       "type": "string"
36847	//     },
36848	//     "profileId": {
36849	//       "description": "User profile ID associated with this request.",
36850	//       "format": "int64",
36851	//       "location": "path",
36852	//       "required": true,
36853	//       "type": "string"
36854	//     }
36855	//   },
36856	//   "path": "userprofiles/{profileId}/operatingSystemVersions/{id}",
36857	//   "response": {
36858	//     "$ref": "OperatingSystemVersion"
36859	//   },
36860	//   "scopes": [
36861	//     "https://www.googleapis.com/auth/dfatrafficking"
36862	//   ]
36863	// }
36864
36865}
36866
36867// method id "dfareporting.operatingSystemVersions.list":
36868
36869type OperatingSystemVersionsListCall struct {
36870	s            *Service
36871	profileId    int64
36872	urlParams_   gensupport.URLParams
36873	ifNoneMatch_ string
36874	ctx_         context.Context
36875	header_      http.Header
36876}
36877
36878// List: Retrieves a list of operating system versions.
36879func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
36880	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36881	c.profileId = profileId
36882	return c
36883}
36884
36885// Fields allows partial responses to be retrieved. See
36886// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36887// for more information.
36888func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
36889	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36890	return c
36891}
36892
36893// IfNoneMatch sets the optional parameter which makes the operation
36894// fail if the object's ETag matches the given value. This is useful for
36895// getting updates only after the object has changed since the last
36896// request. Use googleapi.IsNotModified to check whether the response
36897// error from Do is the result of In-None-Match.
36898func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
36899	c.ifNoneMatch_ = entityTag
36900	return c
36901}
36902
36903// Context sets the context to be used in this call's Do method. Any
36904// pending HTTP request will be aborted if the provided context is
36905// canceled.
36906func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
36907	c.ctx_ = ctx
36908	return c
36909}
36910
36911// Header returns an http.Header that can be modified by the caller to
36912// add HTTP headers to the request.
36913func (c *OperatingSystemVersionsListCall) Header() http.Header {
36914	if c.header_ == nil {
36915		c.header_ = make(http.Header)
36916	}
36917	return c.header_
36918}
36919
36920func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
36921	reqHeaders := make(http.Header)
36922	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
36923	for k, v := range c.header_ {
36924		reqHeaders[k] = v
36925	}
36926	reqHeaders.Set("User-Agent", c.s.userAgent())
36927	if c.ifNoneMatch_ != "" {
36928		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36929	}
36930	var body io.Reader = nil
36931	c.urlParams_.Set("alt", alt)
36932	c.urlParams_.Set("prettyPrint", "false")
36933	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
36934	urls += "?" + c.urlParams_.Encode()
36935	req, err := http.NewRequest("GET", urls, body)
36936	if err != nil {
36937		return nil, err
36938	}
36939	req.Header = reqHeaders
36940	googleapi.Expand(req.URL, map[string]string{
36941		"profileId": strconv.FormatInt(c.profileId, 10),
36942	})
36943	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36944}
36945
36946// Do executes the "dfareporting.operatingSystemVersions.list" call.
36947// Exactly one of *OperatingSystemVersionsListResponse or error will be
36948// non-nil. Any non-2xx status code is an error. Response headers are in
36949// either *OperatingSystemVersionsListResponse.ServerResponse.Header or
36950// (if a response was returned at all) in
36951// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
36952// whether the returned error was because http.StatusNotModified was
36953// returned.
36954func (c *OperatingSystemVersionsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersionsListResponse, error) {
36955	gensupport.SetOptions(c.urlParams_, opts...)
36956	res, err := c.doRequest("json")
36957	if res != nil && res.StatusCode == http.StatusNotModified {
36958		if res.Body != nil {
36959			res.Body.Close()
36960		}
36961		return nil, &googleapi.Error{
36962			Code:   res.StatusCode,
36963			Header: res.Header,
36964		}
36965	}
36966	if err != nil {
36967		return nil, err
36968	}
36969	defer googleapi.CloseBody(res)
36970	if err := googleapi.CheckResponse(res); err != nil {
36971		return nil, err
36972	}
36973	ret := &OperatingSystemVersionsListResponse{
36974		ServerResponse: googleapi.ServerResponse{
36975			Header:         res.Header,
36976			HTTPStatusCode: res.StatusCode,
36977		},
36978	}
36979	target := &ret
36980	if err := gensupport.DecodeResponse(target, res); err != nil {
36981		return nil, err
36982	}
36983	return ret, nil
36984	// {
36985	//   "description": "Retrieves a list of operating system versions.",
36986	//   "httpMethod": "GET",
36987	//   "id": "dfareporting.operatingSystemVersions.list",
36988	//   "parameterOrder": [
36989	//     "profileId"
36990	//   ],
36991	//   "parameters": {
36992	//     "profileId": {
36993	//       "description": "User profile ID associated with this request.",
36994	//       "format": "int64",
36995	//       "location": "path",
36996	//       "required": true,
36997	//       "type": "string"
36998	//     }
36999	//   },
37000	//   "path": "userprofiles/{profileId}/operatingSystemVersions",
37001	//   "response": {
37002	//     "$ref": "OperatingSystemVersionsListResponse"
37003	//   },
37004	//   "scopes": [
37005	//     "https://www.googleapis.com/auth/dfatrafficking"
37006	//   ]
37007	// }
37008
37009}
37010
37011// method id "dfareporting.operatingSystems.get":
37012
37013type OperatingSystemsGetCall struct {
37014	s            *Service
37015	profileId    int64
37016	dartId       int64
37017	urlParams_   gensupport.URLParams
37018	ifNoneMatch_ string
37019	ctx_         context.Context
37020	header_      http.Header
37021}
37022
37023// Get: Gets one operating system by DART ID.
37024func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
37025	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37026	c.profileId = profileId
37027	c.dartId = dartId
37028	return c
37029}
37030
37031// Fields allows partial responses to be retrieved. See
37032// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37033// for more information.
37034func (c *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
37035	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37036	return c
37037}
37038
37039// IfNoneMatch sets the optional parameter which makes the operation
37040// fail if the object's ETag matches the given value. This is useful for
37041// getting updates only after the object has changed since the last
37042// request. Use googleapi.IsNotModified to check whether the response
37043// error from Do is the result of In-None-Match.
37044func (c *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
37045	c.ifNoneMatch_ = entityTag
37046	return c
37047}
37048
37049// Context sets the context to be used in this call's Do method. Any
37050// pending HTTP request will be aborted if the provided context is
37051// canceled.
37052func (c *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
37053	c.ctx_ = ctx
37054	return c
37055}
37056
37057// Header returns an http.Header that can be modified by the caller to
37058// add HTTP headers to the request.
37059func (c *OperatingSystemsGetCall) Header() http.Header {
37060	if c.header_ == nil {
37061		c.header_ = make(http.Header)
37062	}
37063	return c.header_
37064}
37065
37066func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
37067	reqHeaders := make(http.Header)
37068	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
37069	for k, v := range c.header_ {
37070		reqHeaders[k] = v
37071	}
37072	reqHeaders.Set("User-Agent", c.s.userAgent())
37073	if c.ifNoneMatch_ != "" {
37074		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37075	}
37076	var body io.Reader = nil
37077	c.urlParams_.Set("alt", alt)
37078	c.urlParams_.Set("prettyPrint", "false")
37079	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems/{dartId}")
37080	urls += "?" + c.urlParams_.Encode()
37081	req, err := http.NewRequest("GET", urls, body)
37082	if err != nil {
37083		return nil, err
37084	}
37085	req.Header = reqHeaders
37086	googleapi.Expand(req.URL, map[string]string{
37087		"profileId": strconv.FormatInt(c.profileId, 10),
37088		"dartId":    strconv.FormatInt(c.dartId, 10),
37089	})
37090	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37091}
37092
37093// Do executes the "dfareporting.operatingSystems.get" call.
37094// Exactly one of *OperatingSystem or error will be non-nil. Any non-2xx
37095// status code is an error. Response headers are in either
37096// *OperatingSystem.ServerResponse.Header or (if a response was returned
37097// at all) in error.(*googleapi.Error).Header. Use
37098// googleapi.IsNotModified to check whether the returned error was
37099// because http.StatusNotModified was returned.
37100func (c *OperatingSystemsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystem, error) {
37101	gensupport.SetOptions(c.urlParams_, opts...)
37102	res, err := c.doRequest("json")
37103	if res != nil && res.StatusCode == http.StatusNotModified {
37104		if res.Body != nil {
37105			res.Body.Close()
37106		}
37107		return nil, &googleapi.Error{
37108			Code:   res.StatusCode,
37109			Header: res.Header,
37110		}
37111	}
37112	if err != nil {
37113		return nil, err
37114	}
37115	defer googleapi.CloseBody(res)
37116	if err := googleapi.CheckResponse(res); err != nil {
37117		return nil, err
37118	}
37119	ret := &OperatingSystem{
37120		ServerResponse: googleapi.ServerResponse{
37121			Header:         res.Header,
37122			HTTPStatusCode: res.StatusCode,
37123		},
37124	}
37125	target := &ret
37126	if err := gensupport.DecodeResponse(target, res); err != nil {
37127		return nil, err
37128	}
37129	return ret, nil
37130	// {
37131	//   "description": "Gets one operating system by DART ID.",
37132	//   "httpMethod": "GET",
37133	//   "id": "dfareporting.operatingSystems.get",
37134	//   "parameterOrder": [
37135	//     "profileId",
37136	//     "dartId"
37137	//   ],
37138	//   "parameters": {
37139	//     "dartId": {
37140	//       "description": "Operating system DART ID.",
37141	//       "format": "int64",
37142	//       "location": "path",
37143	//       "required": true,
37144	//       "type": "string"
37145	//     },
37146	//     "profileId": {
37147	//       "description": "User profile ID associated with this request.",
37148	//       "format": "int64",
37149	//       "location": "path",
37150	//       "required": true,
37151	//       "type": "string"
37152	//     }
37153	//   },
37154	//   "path": "userprofiles/{profileId}/operatingSystems/{dartId}",
37155	//   "response": {
37156	//     "$ref": "OperatingSystem"
37157	//   },
37158	//   "scopes": [
37159	//     "https://www.googleapis.com/auth/dfatrafficking"
37160	//   ]
37161	// }
37162
37163}
37164
37165// method id "dfareporting.operatingSystems.list":
37166
37167type OperatingSystemsListCall struct {
37168	s            *Service
37169	profileId    int64
37170	urlParams_   gensupport.URLParams
37171	ifNoneMatch_ string
37172	ctx_         context.Context
37173	header_      http.Header
37174}
37175
37176// List: Retrieves a list of operating systems.
37177func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
37178	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37179	c.profileId = profileId
37180	return c
37181}
37182
37183// Fields allows partial responses to be retrieved. See
37184// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37185// for more information.
37186func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
37187	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37188	return c
37189}
37190
37191// IfNoneMatch sets the optional parameter which makes the operation
37192// fail if the object's ETag matches the given value. This is useful for
37193// getting updates only after the object has changed since the last
37194// request. Use googleapi.IsNotModified to check whether the response
37195// error from Do is the result of In-None-Match.
37196func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
37197	c.ifNoneMatch_ = entityTag
37198	return c
37199}
37200
37201// Context sets the context to be used in this call's Do method. Any
37202// pending HTTP request will be aborted if the provided context is
37203// canceled.
37204func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
37205	c.ctx_ = ctx
37206	return c
37207}
37208
37209// Header returns an http.Header that can be modified by the caller to
37210// add HTTP headers to the request.
37211func (c *OperatingSystemsListCall) Header() http.Header {
37212	if c.header_ == nil {
37213		c.header_ = make(http.Header)
37214	}
37215	return c.header_
37216}
37217
37218func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
37219	reqHeaders := make(http.Header)
37220	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
37221	for k, v := range c.header_ {
37222		reqHeaders[k] = v
37223	}
37224	reqHeaders.Set("User-Agent", c.s.userAgent())
37225	if c.ifNoneMatch_ != "" {
37226		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37227	}
37228	var body io.Reader = nil
37229	c.urlParams_.Set("alt", alt)
37230	c.urlParams_.Set("prettyPrint", "false")
37231	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
37232	urls += "?" + c.urlParams_.Encode()
37233	req, err := http.NewRequest("GET", urls, body)
37234	if err != nil {
37235		return nil, err
37236	}
37237	req.Header = reqHeaders
37238	googleapi.Expand(req.URL, map[string]string{
37239		"profileId": strconv.FormatInt(c.profileId, 10),
37240	})
37241	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37242}
37243
37244// Do executes the "dfareporting.operatingSystems.list" call.
37245// Exactly one of *OperatingSystemsListResponse or error will be
37246// non-nil. Any non-2xx status code is an error. Response headers are in
37247// either *OperatingSystemsListResponse.ServerResponse.Header or (if a
37248// response was returned at all) in error.(*googleapi.Error).Header. Use
37249// googleapi.IsNotModified to check whether the returned error was
37250// because http.StatusNotModified was returned.
37251func (c *OperatingSystemsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemsListResponse, error) {
37252	gensupport.SetOptions(c.urlParams_, opts...)
37253	res, err := c.doRequest("json")
37254	if res != nil && res.StatusCode == http.StatusNotModified {
37255		if res.Body != nil {
37256			res.Body.Close()
37257		}
37258		return nil, &googleapi.Error{
37259			Code:   res.StatusCode,
37260			Header: res.Header,
37261		}
37262	}
37263	if err != nil {
37264		return nil, err
37265	}
37266	defer googleapi.CloseBody(res)
37267	if err := googleapi.CheckResponse(res); err != nil {
37268		return nil, err
37269	}
37270	ret := &OperatingSystemsListResponse{
37271		ServerResponse: googleapi.ServerResponse{
37272			Header:         res.Header,
37273			HTTPStatusCode: res.StatusCode,
37274		},
37275	}
37276	target := &ret
37277	if err := gensupport.DecodeResponse(target, res); err != nil {
37278		return nil, err
37279	}
37280	return ret, nil
37281	// {
37282	//   "description": "Retrieves a list of operating systems.",
37283	//   "httpMethod": "GET",
37284	//   "id": "dfareporting.operatingSystems.list",
37285	//   "parameterOrder": [
37286	//     "profileId"
37287	//   ],
37288	//   "parameters": {
37289	//     "profileId": {
37290	//       "description": "User profile ID associated with this request.",
37291	//       "format": "int64",
37292	//       "location": "path",
37293	//       "required": true,
37294	//       "type": "string"
37295	//     }
37296	//   },
37297	//   "path": "userprofiles/{profileId}/operatingSystems",
37298	//   "response": {
37299	//     "$ref": "OperatingSystemsListResponse"
37300	//   },
37301	//   "scopes": [
37302	//     "https://www.googleapis.com/auth/dfatrafficking"
37303	//   ]
37304	// }
37305
37306}
37307
37308// method id "dfareporting.orderDocuments.get":
37309
37310type OrderDocumentsGetCall struct {
37311	s            *Service
37312	profileId    int64
37313	projectId    int64
37314	id           int64
37315	urlParams_   gensupport.URLParams
37316	ifNoneMatch_ string
37317	ctx_         context.Context
37318	header_      http.Header
37319}
37320
37321// Get: Gets one order document by ID.
37322func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
37323	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37324	c.profileId = profileId
37325	c.projectId = projectId
37326	c.id = id
37327	return c
37328}
37329
37330// Fields allows partial responses to be retrieved. See
37331// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37332// for more information.
37333func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
37334	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37335	return c
37336}
37337
37338// IfNoneMatch sets the optional parameter which makes the operation
37339// fail if the object's ETag matches the given value. This is useful for
37340// getting updates only after the object has changed since the last
37341// request. Use googleapi.IsNotModified to check whether the response
37342// error from Do is the result of In-None-Match.
37343func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
37344	c.ifNoneMatch_ = entityTag
37345	return c
37346}
37347
37348// Context sets the context to be used in this call's Do method. Any
37349// pending HTTP request will be aborted if the provided context is
37350// canceled.
37351func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
37352	c.ctx_ = ctx
37353	return c
37354}
37355
37356// Header returns an http.Header that can be modified by the caller to
37357// add HTTP headers to the request.
37358func (c *OrderDocumentsGetCall) Header() http.Header {
37359	if c.header_ == nil {
37360		c.header_ = make(http.Header)
37361	}
37362	return c.header_
37363}
37364
37365func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
37366	reqHeaders := make(http.Header)
37367	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
37368	for k, v := range c.header_ {
37369		reqHeaders[k] = v
37370	}
37371	reqHeaders.Set("User-Agent", c.s.userAgent())
37372	if c.ifNoneMatch_ != "" {
37373		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37374	}
37375	var body io.Reader = nil
37376	c.urlParams_.Set("alt", alt)
37377	c.urlParams_.Set("prettyPrint", "false")
37378	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
37379	urls += "?" + c.urlParams_.Encode()
37380	req, err := http.NewRequest("GET", urls, body)
37381	if err != nil {
37382		return nil, err
37383	}
37384	req.Header = reqHeaders
37385	googleapi.Expand(req.URL, map[string]string{
37386		"profileId": strconv.FormatInt(c.profileId, 10),
37387		"projectId": strconv.FormatInt(c.projectId, 10),
37388		"id":        strconv.FormatInt(c.id, 10),
37389	})
37390	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37391}
37392
37393// Do executes the "dfareporting.orderDocuments.get" call.
37394// Exactly one of *OrderDocument or error will be non-nil. Any non-2xx
37395// status code is an error. Response headers are in either
37396// *OrderDocument.ServerResponse.Header or (if a response was returned
37397// at all) in error.(*googleapi.Error).Header. Use
37398// googleapi.IsNotModified to check whether the returned error was
37399// because http.StatusNotModified was returned.
37400func (c *OrderDocumentsGetCall) Do(opts ...googleapi.CallOption) (*OrderDocument, error) {
37401	gensupport.SetOptions(c.urlParams_, opts...)
37402	res, err := c.doRequest("json")
37403	if res != nil && res.StatusCode == http.StatusNotModified {
37404		if res.Body != nil {
37405			res.Body.Close()
37406		}
37407		return nil, &googleapi.Error{
37408			Code:   res.StatusCode,
37409			Header: res.Header,
37410		}
37411	}
37412	if err != nil {
37413		return nil, err
37414	}
37415	defer googleapi.CloseBody(res)
37416	if err := googleapi.CheckResponse(res); err != nil {
37417		return nil, err
37418	}
37419	ret := &OrderDocument{
37420		ServerResponse: googleapi.ServerResponse{
37421			Header:         res.Header,
37422			HTTPStatusCode: res.StatusCode,
37423		},
37424	}
37425	target := &ret
37426	if err := gensupport.DecodeResponse(target, res); err != nil {
37427		return nil, err
37428	}
37429	return ret, nil
37430	// {
37431	//   "description": "Gets one order document by ID.",
37432	//   "httpMethod": "GET",
37433	//   "id": "dfareporting.orderDocuments.get",
37434	//   "parameterOrder": [
37435	//     "profileId",
37436	//     "projectId",
37437	//     "id"
37438	//   ],
37439	//   "parameters": {
37440	//     "id": {
37441	//       "description": "Order document ID.",
37442	//       "format": "int64",
37443	//       "location": "path",
37444	//       "required": true,
37445	//       "type": "string"
37446	//     },
37447	//     "profileId": {
37448	//       "description": "User profile ID associated with this request.",
37449	//       "format": "int64",
37450	//       "location": "path",
37451	//       "required": true,
37452	//       "type": "string"
37453	//     },
37454	//     "projectId": {
37455	//       "description": "Project ID for order documents.",
37456	//       "format": "int64",
37457	//       "location": "path",
37458	//       "required": true,
37459	//       "type": "string"
37460	//     }
37461	//   },
37462	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
37463	//   "response": {
37464	//     "$ref": "OrderDocument"
37465	//   },
37466	//   "scopes": [
37467	//     "https://www.googleapis.com/auth/dfatrafficking"
37468	//   ]
37469	// }
37470
37471}
37472
37473// method id "dfareporting.orderDocuments.list":
37474
37475type OrderDocumentsListCall struct {
37476	s            *Service
37477	profileId    int64
37478	projectId    int64
37479	urlParams_   gensupport.URLParams
37480	ifNoneMatch_ string
37481	ctx_         context.Context
37482	header_      http.Header
37483}
37484
37485// List: Retrieves a list of order documents, possibly filtered. This
37486// method supports paging.
37487func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
37488	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37489	c.profileId = profileId
37490	c.projectId = projectId
37491	return c
37492}
37493
37494// Approved sets the optional parameter "approved": Select only order
37495// documents that have been approved by at least one user.
37496func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
37497	c.urlParams_.Set("approved", fmt.Sprint(approved))
37498	return c
37499}
37500
37501// Ids sets the optional parameter "ids": Select only order documents
37502// with these IDs.
37503func (c *OrderDocumentsListCall) Ids(ids ...int64) *OrderDocumentsListCall {
37504	var ids_ []string
37505	for _, v := range ids {
37506		ids_ = append(ids_, fmt.Sprint(v))
37507	}
37508	c.urlParams_.SetMulti("ids", ids_)
37509	return c
37510}
37511
37512// MaxResults sets the optional parameter "maxResults": Maximum number
37513// of results to return.
37514func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
37515	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
37516	return c
37517}
37518
37519// OrderId sets the optional parameter "orderId": Select only order
37520// documents for specified orders.
37521func (c *OrderDocumentsListCall) OrderId(orderId ...int64) *OrderDocumentsListCall {
37522	var orderId_ []string
37523	for _, v := range orderId {
37524		orderId_ = append(orderId_, fmt.Sprint(v))
37525	}
37526	c.urlParams_.SetMulti("orderId", orderId_)
37527	return c
37528}
37529
37530// PageToken sets the optional parameter "pageToken": Value of the
37531// nextPageToken from the previous result page.
37532func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
37533	c.urlParams_.Set("pageToken", pageToken)
37534	return c
37535}
37536
37537// SearchString sets the optional parameter "searchString": Allows
37538// searching for order documents by name or ID. Wildcards (*) are
37539// allowed. For example, "orderdocument*2015" will return order
37540// documents with names like "orderdocument June 2015", "orderdocument
37541// April 2015", or simply "orderdocument 2015". Most of the searches
37542// also add wildcards implicitly at the start and the end of the search
37543// string. For example, a search string of "orderdocument" will match
37544// order documents with name "my orderdocument", "orderdocument 2015",
37545// or simply "orderdocument".
37546func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
37547	c.urlParams_.Set("searchString", searchString)
37548	return c
37549}
37550
37551// SiteId sets the optional parameter "siteId": Select only order
37552// documents that are associated with these sites.
37553func (c *OrderDocumentsListCall) SiteId(siteId ...int64) *OrderDocumentsListCall {
37554	var siteId_ []string
37555	for _, v := range siteId {
37556		siteId_ = append(siteId_, fmt.Sprint(v))
37557	}
37558	c.urlParams_.SetMulti("siteId", siteId_)
37559	return c
37560}
37561
37562// SortField sets the optional parameter "sortField": Field by which to
37563// sort the list.
37564//
37565// Possible values:
37566//   "ID" (default)
37567//   "NAME"
37568func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
37569	c.urlParams_.Set("sortField", sortField)
37570	return c
37571}
37572
37573// SortOrder sets the optional parameter "sortOrder": Order of sorted
37574// results.
37575//
37576// Possible values:
37577//   "ASCENDING" (default)
37578//   "DESCENDING"
37579func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
37580	c.urlParams_.Set("sortOrder", sortOrder)
37581	return c
37582}
37583
37584// Fields allows partial responses to be retrieved. See
37585// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37586// for more information.
37587func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
37588	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37589	return c
37590}
37591
37592// IfNoneMatch sets the optional parameter which makes the operation
37593// fail if the object's ETag matches the given value. This is useful for
37594// getting updates only after the object has changed since the last
37595// request. Use googleapi.IsNotModified to check whether the response
37596// error from Do is the result of In-None-Match.
37597func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
37598	c.ifNoneMatch_ = entityTag
37599	return c
37600}
37601
37602// Context sets the context to be used in this call's Do method. Any
37603// pending HTTP request will be aborted if the provided context is
37604// canceled.
37605func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
37606	c.ctx_ = ctx
37607	return c
37608}
37609
37610// Header returns an http.Header that can be modified by the caller to
37611// add HTTP headers to the request.
37612func (c *OrderDocumentsListCall) Header() http.Header {
37613	if c.header_ == nil {
37614		c.header_ = make(http.Header)
37615	}
37616	return c.header_
37617}
37618
37619func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
37620	reqHeaders := make(http.Header)
37621	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
37622	for k, v := range c.header_ {
37623		reqHeaders[k] = v
37624	}
37625	reqHeaders.Set("User-Agent", c.s.userAgent())
37626	if c.ifNoneMatch_ != "" {
37627		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37628	}
37629	var body io.Reader = nil
37630	c.urlParams_.Set("alt", alt)
37631	c.urlParams_.Set("prettyPrint", "false")
37632	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
37633	urls += "?" + c.urlParams_.Encode()
37634	req, err := http.NewRequest("GET", urls, body)
37635	if err != nil {
37636		return nil, err
37637	}
37638	req.Header = reqHeaders
37639	googleapi.Expand(req.URL, map[string]string{
37640		"profileId": strconv.FormatInt(c.profileId, 10),
37641		"projectId": strconv.FormatInt(c.projectId, 10),
37642	})
37643	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37644}
37645
37646// Do executes the "dfareporting.orderDocuments.list" call.
37647// Exactly one of *OrderDocumentsListResponse or error will be non-nil.
37648// Any non-2xx status code is an error. Response headers are in either
37649// *OrderDocumentsListResponse.ServerResponse.Header or (if a response
37650// was returned at all) in error.(*googleapi.Error).Header. Use
37651// googleapi.IsNotModified to check whether the returned error was
37652// because http.StatusNotModified was returned.
37653func (c *OrderDocumentsListCall) Do(opts ...googleapi.CallOption) (*OrderDocumentsListResponse, error) {
37654	gensupport.SetOptions(c.urlParams_, opts...)
37655	res, err := c.doRequest("json")
37656	if res != nil && res.StatusCode == http.StatusNotModified {
37657		if res.Body != nil {
37658			res.Body.Close()
37659		}
37660		return nil, &googleapi.Error{
37661			Code:   res.StatusCode,
37662			Header: res.Header,
37663		}
37664	}
37665	if err != nil {
37666		return nil, err
37667	}
37668	defer googleapi.CloseBody(res)
37669	if err := googleapi.CheckResponse(res); err != nil {
37670		return nil, err
37671	}
37672	ret := &OrderDocumentsListResponse{
37673		ServerResponse: googleapi.ServerResponse{
37674			Header:         res.Header,
37675			HTTPStatusCode: res.StatusCode,
37676		},
37677	}
37678	target := &ret
37679	if err := gensupport.DecodeResponse(target, res); err != nil {
37680		return nil, err
37681	}
37682	return ret, nil
37683	// {
37684	//   "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
37685	//   "httpMethod": "GET",
37686	//   "id": "dfareporting.orderDocuments.list",
37687	//   "parameterOrder": [
37688	//     "profileId",
37689	//     "projectId"
37690	//   ],
37691	//   "parameters": {
37692	//     "approved": {
37693	//       "description": "Select only order documents that have been approved by at least one user.",
37694	//       "location": "query",
37695	//       "type": "boolean"
37696	//     },
37697	//     "ids": {
37698	//       "description": "Select only order documents with these IDs.",
37699	//       "format": "int64",
37700	//       "location": "query",
37701	//       "repeated": true,
37702	//       "type": "string"
37703	//     },
37704	//     "maxResults": {
37705	//       "default": "1000",
37706	//       "description": "Maximum number of results to return.",
37707	//       "format": "int32",
37708	//       "location": "query",
37709	//       "maximum": "1000",
37710	//       "minimum": "0",
37711	//       "type": "integer"
37712	//     },
37713	//     "orderId": {
37714	//       "description": "Select only order documents for specified orders.",
37715	//       "format": "int64",
37716	//       "location": "query",
37717	//       "repeated": true,
37718	//       "type": "string"
37719	//     },
37720	//     "pageToken": {
37721	//       "description": "Value of the nextPageToken from the previous result page.",
37722	//       "location": "query",
37723	//       "type": "string"
37724	//     },
37725	//     "profileId": {
37726	//       "description": "User profile ID associated with this request.",
37727	//       "format": "int64",
37728	//       "location": "path",
37729	//       "required": true,
37730	//       "type": "string"
37731	//     },
37732	//     "projectId": {
37733	//       "description": "Project ID for order documents.",
37734	//       "format": "int64",
37735	//       "location": "path",
37736	//       "required": true,
37737	//       "type": "string"
37738	//     },
37739	//     "searchString": {
37740	//       "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\".",
37741	//       "location": "query",
37742	//       "type": "string"
37743	//     },
37744	//     "siteId": {
37745	//       "description": "Select only order documents that are associated with these sites.",
37746	//       "format": "int64",
37747	//       "location": "query",
37748	//       "repeated": true,
37749	//       "type": "string"
37750	//     },
37751	//     "sortField": {
37752	//       "default": "ID",
37753	//       "description": "Field by which to sort the list.",
37754	//       "enum": [
37755	//         "ID",
37756	//         "NAME"
37757	//       ],
37758	//       "enumDescriptions": [
37759	//         "",
37760	//         ""
37761	//       ],
37762	//       "location": "query",
37763	//       "type": "string"
37764	//     },
37765	//     "sortOrder": {
37766	//       "default": "ASCENDING",
37767	//       "description": "Order of sorted results.",
37768	//       "enum": [
37769	//         "ASCENDING",
37770	//         "DESCENDING"
37771	//       ],
37772	//       "enumDescriptions": [
37773	//         "",
37774	//         ""
37775	//       ],
37776	//       "location": "query",
37777	//       "type": "string"
37778	//     }
37779	//   },
37780	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
37781	//   "response": {
37782	//     "$ref": "OrderDocumentsListResponse"
37783	//   },
37784	//   "scopes": [
37785	//     "https://www.googleapis.com/auth/dfatrafficking"
37786	//   ]
37787	// }
37788
37789}
37790
37791// Pages invokes f for each page of results.
37792// A non-nil error returned from f will halt the iteration.
37793// The provided context supersedes any context provided to the Context method.
37794func (c *OrderDocumentsListCall) Pages(ctx context.Context, f func(*OrderDocumentsListResponse) error) error {
37795	c.ctx_ = ctx
37796	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
37797	for {
37798		x, err := c.Do()
37799		if err != nil {
37800			return err
37801		}
37802		if err := f(x); err != nil {
37803			return err
37804		}
37805		if x.NextPageToken == "" {
37806			return nil
37807		}
37808		c.PageToken(x.NextPageToken)
37809	}
37810}
37811
37812// method id "dfareporting.orders.get":
37813
37814type OrdersGetCall struct {
37815	s            *Service
37816	profileId    int64
37817	projectId    int64
37818	id           int64
37819	urlParams_   gensupport.URLParams
37820	ifNoneMatch_ string
37821	ctx_         context.Context
37822	header_      http.Header
37823}
37824
37825// Get: Gets one order by ID.
37826func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
37827	c := &OrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37828	c.profileId = profileId
37829	c.projectId = projectId
37830	c.id = id
37831	return c
37832}
37833
37834// Fields allows partial responses to be retrieved. See
37835// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37836// for more information.
37837func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
37838	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37839	return c
37840}
37841
37842// IfNoneMatch sets the optional parameter which makes the operation
37843// fail if the object's ETag matches the given value. This is useful for
37844// getting updates only after the object has changed since the last
37845// request. Use googleapi.IsNotModified to check whether the response
37846// error from Do is the result of In-None-Match.
37847func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
37848	c.ifNoneMatch_ = entityTag
37849	return c
37850}
37851
37852// Context sets the context to be used in this call's Do method. Any
37853// pending HTTP request will be aborted if the provided context is
37854// canceled.
37855func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
37856	c.ctx_ = ctx
37857	return c
37858}
37859
37860// Header returns an http.Header that can be modified by the caller to
37861// add HTTP headers to the request.
37862func (c *OrdersGetCall) Header() http.Header {
37863	if c.header_ == nil {
37864		c.header_ = make(http.Header)
37865	}
37866	return c.header_
37867}
37868
37869func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
37870	reqHeaders := make(http.Header)
37871	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
37872	for k, v := range c.header_ {
37873		reqHeaders[k] = v
37874	}
37875	reqHeaders.Set("User-Agent", c.s.userAgent())
37876	if c.ifNoneMatch_ != "" {
37877		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37878	}
37879	var body io.Reader = nil
37880	c.urlParams_.Set("alt", alt)
37881	c.urlParams_.Set("prettyPrint", "false")
37882	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
37883	urls += "?" + c.urlParams_.Encode()
37884	req, err := http.NewRequest("GET", urls, body)
37885	if err != nil {
37886		return nil, err
37887	}
37888	req.Header = reqHeaders
37889	googleapi.Expand(req.URL, map[string]string{
37890		"profileId": strconv.FormatInt(c.profileId, 10),
37891		"projectId": strconv.FormatInt(c.projectId, 10),
37892		"id":        strconv.FormatInt(c.id, 10),
37893	})
37894	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37895}
37896
37897// Do executes the "dfareporting.orders.get" call.
37898// Exactly one of *Order or error will be non-nil. Any non-2xx status
37899// code is an error. Response headers are in either
37900// *Order.ServerResponse.Header or (if a response was returned at all)
37901// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
37902// check whether the returned error was because http.StatusNotModified
37903// was returned.
37904func (c *OrdersGetCall) Do(opts ...googleapi.CallOption) (*Order, error) {
37905	gensupport.SetOptions(c.urlParams_, opts...)
37906	res, err := c.doRequest("json")
37907	if res != nil && res.StatusCode == http.StatusNotModified {
37908		if res.Body != nil {
37909			res.Body.Close()
37910		}
37911		return nil, &googleapi.Error{
37912			Code:   res.StatusCode,
37913			Header: res.Header,
37914		}
37915	}
37916	if err != nil {
37917		return nil, err
37918	}
37919	defer googleapi.CloseBody(res)
37920	if err := googleapi.CheckResponse(res); err != nil {
37921		return nil, err
37922	}
37923	ret := &Order{
37924		ServerResponse: googleapi.ServerResponse{
37925			Header:         res.Header,
37926			HTTPStatusCode: res.StatusCode,
37927		},
37928	}
37929	target := &ret
37930	if err := gensupport.DecodeResponse(target, res); err != nil {
37931		return nil, err
37932	}
37933	return ret, nil
37934	// {
37935	//   "description": "Gets one order by ID.",
37936	//   "httpMethod": "GET",
37937	//   "id": "dfareporting.orders.get",
37938	//   "parameterOrder": [
37939	//     "profileId",
37940	//     "projectId",
37941	//     "id"
37942	//   ],
37943	//   "parameters": {
37944	//     "id": {
37945	//       "description": "Order ID.",
37946	//       "format": "int64",
37947	//       "location": "path",
37948	//       "required": true,
37949	//       "type": "string"
37950	//     },
37951	//     "profileId": {
37952	//       "description": "User profile ID associated with this request.",
37953	//       "format": "int64",
37954	//       "location": "path",
37955	//       "required": true,
37956	//       "type": "string"
37957	//     },
37958	//     "projectId": {
37959	//       "description": "Project ID for orders.",
37960	//       "format": "int64",
37961	//       "location": "path",
37962	//       "required": true,
37963	//       "type": "string"
37964	//     }
37965	//   },
37966	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
37967	//   "response": {
37968	//     "$ref": "Order"
37969	//   },
37970	//   "scopes": [
37971	//     "https://www.googleapis.com/auth/dfatrafficking"
37972	//   ]
37973	// }
37974
37975}
37976
37977// method id "dfareporting.orders.list":
37978
37979type OrdersListCall struct {
37980	s            *Service
37981	profileId    int64
37982	projectId    int64
37983	urlParams_   gensupport.URLParams
37984	ifNoneMatch_ string
37985	ctx_         context.Context
37986	header_      http.Header
37987}
37988
37989// List: Retrieves a list of orders, possibly filtered. This method
37990// supports paging.
37991func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
37992	c := &OrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37993	c.profileId = profileId
37994	c.projectId = projectId
37995	return c
37996}
37997
37998// Ids sets the optional parameter "ids": Select only orders with these
37999// IDs.
38000func (c *OrdersListCall) Ids(ids ...int64) *OrdersListCall {
38001	var ids_ []string
38002	for _, v := range ids {
38003		ids_ = append(ids_, fmt.Sprint(v))
38004	}
38005	c.urlParams_.SetMulti("ids", ids_)
38006	return c
38007}
38008
38009// MaxResults sets the optional parameter "maxResults": Maximum number
38010// of results to return.
38011func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
38012	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
38013	return c
38014}
38015
38016// PageToken sets the optional parameter "pageToken": Value of the
38017// nextPageToken from the previous result page.
38018func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
38019	c.urlParams_.Set("pageToken", pageToken)
38020	return c
38021}
38022
38023// SearchString sets the optional parameter "searchString": Allows
38024// searching for orders by name or ID. Wildcards (*) are allowed. For
38025// example, "order*2015" will return orders with names like "order June
38026// 2015", "order April 2015", or simply "order 2015". Most of the
38027// searches also add wildcards implicitly at the start and the end of
38028// the search string. For example, a search string of "order" will match
38029// orders with name "my order", "order 2015", or simply "order".
38030func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
38031	c.urlParams_.Set("searchString", searchString)
38032	return c
38033}
38034
38035// SiteId sets the optional parameter "siteId": Select only orders that
38036// are associated with these site IDs.
38037func (c *OrdersListCall) SiteId(siteId ...int64) *OrdersListCall {
38038	var siteId_ []string
38039	for _, v := range siteId {
38040		siteId_ = append(siteId_, fmt.Sprint(v))
38041	}
38042	c.urlParams_.SetMulti("siteId", siteId_)
38043	return c
38044}
38045
38046// SortField sets the optional parameter "sortField": Field by which to
38047// sort the list.
38048//
38049// Possible values:
38050//   "ID" (default)
38051//   "NAME"
38052func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
38053	c.urlParams_.Set("sortField", sortField)
38054	return c
38055}
38056
38057// SortOrder sets the optional parameter "sortOrder": Order of sorted
38058// results.
38059//
38060// Possible values:
38061//   "ASCENDING" (default)
38062//   "DESCENDING"
38063func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
38064	c.urlParams_.Set("sortOrder", sortOrder)
38065	return c
38066}
38067
38068// Fields allows partial responses to be retrieved. See
38069// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38070// for more information.
38071func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
38072	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38073	return c
38074}
38075
38076// IfNoneMatch sets the optional parameter which makes the operation
38077// fail if the object's ETag matches the given value. This is useful for
38078// getting updates only after the object has changed since the last
38079// request. Use googleapi.IsNotModified to check whether the response
38080// error from Do is the result of In-None-Match.
38081func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
38082	c.ifNoneMatch_ = entityTag
38083	return c
38084}
38085
38086// Context sets the context to be used in this call's Do method. Any
38087// pending HTTP request will be aborted if the provided context is
38088// canceled.
38089func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
38090	c.ctx_ = ctx
38091	return c
38092}
38093
38094// Header returns an http.Header that can be modified by the caller to
38095// add HTTP headers to the request.
38096func (c *OrdersListCall) Header() http.Header {
38097	if c.header_ == nil {
38098		c.header_ = make(http.Header)
38099	}
38100	return c.header_
38101}
38102
38103func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
38104	reqHeaders := make(http.Header)
38105	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
38106	for k, v := range c.header_ {
38107		reqHeaders[k] = v
38108	}
38109	reqHeaders.Set("User-Agent", c.s.userAgent())
38110	if c.ifNoneMatch_ != "" {
38111		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38112	}
38113	var body io.Reader = nil
38114	c.urlParams_.Set("alt", alt)
38115	c.urlParams_.Set("prettyPrint", "false")
38116	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
38117	urls += "?" + c.urlParams_.Encode()
38118	req, err := http.NewRequest("GET", urls, body)
38119	if err != nil {
38120		return nil, err
38121	}
38122	req.Header = reqHeaders
38123	googleapi.Expand(req.URL, map[string]string{
38124		"profileId": strconv.FormatInt(c.profileId, 10),
38125		"projectId": strconv.FormatInt(c.projectId, 10),
38126	})
38127	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38128}
38129
38130// Do executes the "dfareporting.orders.list" call.
38131// Exactly one of *OrdersListResponse or error will be non-nil. Any
38132// non-2xx status code is an error. Response headers are in either
38133// *OrdersListResponse.ServerResponse.Header or (if a response was
38134// returned at all) in error.(*googleapi.Error).Header. Use
38135// googleapi.IsNotModified to check whether the returned error was
38136// because http.StatusNotModified was returned.
38137func (c *OrdersListCall) Do(opts ...googleapi.CallOption) (*OrdersListResponse, error) {
38138	gensupport.SetOptions(c.urlParams_, opts...)
38139	res, err := c.doRequest("json")
38140	if res != nil && res.StatusCode == http.StatusNotModified {
38141		if res.Body != nil {
38142			res.Body.Close()
38143		}
38144		return nil, &googleapi.Error{
38145			Code:   res.StatusCode,
38146			Header: res.Header,
38147		}
38148	}
38149	if err != nil {
38150		return nil, err
38151	}
38152	defer googleapi.CloseBody(res)
38153	if err := googleapi.CheckResponse(res); err != nil {
38154		return nil, err
38155	}
38156	ret := &OrdersListResponse{
38157		ServerResponse: googleapi.ServerResponse{
38158			Header:         res.Header,
38159			HTTPStatusCode: res.StatusCode,
38160		},
38161	}
38162	target := &ret
38163	if err := gensupport.DecodeResponse(target, res); err != nil {
38164		return nil, err
38165	}
38166	return ret, nil
38167	// {
38168	//   "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
38169	//   "httpMethod": "GET",
38170	//   "id": "dfareporting.orders.list",
38171	//   "parameterOrder": [
38172	//     "profileId",
38173	//     "projectId"
38174	//   ],
38175	//   "parameters": {
38176	//     "ids": {
38177	//       "description": "Select only orders with these IDs.",
38178	//       "format": "int64",
38179	//       "location": "query",
38180	//       "repeated": true,
38181	//       "type": "string"
38182	//     },
38183	//     "maxResults": {
38184	//       "default": "1000",
38185	//       "description": "Maximum number of results to return.",
38186	//       "format": "int32",
38187	//       "location": "query",
38188	//       "maximum": "1000",
38189	//       "minimum": "0",
38190	//       "type": "integer"
38191	//     },
38192	//     "pageToken": {
38193	//       "description": "Value of the nextPageToken from the previous result page.",
38194	//       "location": "query",
38195	//       "type": "string"
38196	//     },
38197	//     "profileId": {
38198	//       "description": "User profile ID associated with this request.",
38199	//       "format": "int64",
38200	//       "location": "path",
38201	//       "required": true,
38202	//       "type": "string"
38203	//     },
38204	//     "projectId": {
38205	//       "description": "Project ID for orders.",
38206	//       "format": "int64",
38207	//       "location": "path",
38208	//       "required": true,
38209	//       "type": "string"
38210	//     },
38211	//     "searchString": {
38212	//       "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\".",
38213	//       "location": "query",
38214	//       "type": "string"
38215	//     },
38216	//     "siteId": {
38217	//       "description": "Select only orders that are associated with these site IDs.",
38218	//       "format": "int64",
38219	//       "location": "query",
38220	//       "repeated": true,
38221	//       "type": "string"
38222	//     },
38223	//     "sortField": {
38224	//       "default": "ID",
38225	//       "description": "Field by which to sort the list.",
38226	//       "enum": [
38227	//         "ID",
38228	//         "NAME"
38229	//       ],
38230	//       "enumDescriptions": [
38231	//         "",
38232	//         ""
38233	//       ],
38234	//       "location": "query",
38235	//       "type": "string"
38236	//     },
38237	//     "sortOrder": {
38238	//       "default": "ASCENDING",
38239	//       "description": "Order of sorted results.",
38240	//       "enum": [
38241	//         "ASCENDING",
38242	//         "DESCENDING"
38243	//       ],
38244	//       "enumDescriptions": [
38245	//         "",
38246	//         ""
38247	//       ],
38248	//       "location": "query",
38249	//       "type": "string"
38250	//     }
38251	//   },
38252	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders",
38253	//   "response": {
38254	//     "$ref": "OrdersListResponse"
38255	//   },
38256	//   "scopes": [
38257	//     "https://www.googleapis.com/auth/dfatrafficking"
38258	//   ]
38259	// }
38260
38261}
38262
38263// Pages invokes f for each page of results.
38264// A non-nil error returned from f will halt the iteration.
38265// The provided context supersedes any context provided to the Context method.
38266func (c *OrdersListCall) Pages(ctx context.Context, f func(*OrdersListResponse) error) error {
38267	c.ctx_ = ctx
38268	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
38269	for {
38270		x, err := c.Do()
38271		if err != nil {
38272			return err
38273		}
38274		if err := f(x); err != nil {
38275			return err
38276		}
38277		if x.NextPageToken == "" {
38278			return nil
38279		}
38280		c.PageToken(x.NextPageToken)
38281	}
38282}
38283
38284// method id "dfareporting.placementGroups.get":
38285
38286type PlacementGroupsGetCall struct {
38287	s            *Service
38288	profileId    int64
38289	id           int64
38290	urlParams_   gensupport.URLParams
38291	ifNoneMatch_ string
38292	ctx_         context.Context
38293	header_      http.Header
38294}
38295
38296// Get: Gets one placement group by ID.
38297func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
38298	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38299	c.profileId = profileId
38300	c.id = id
38301	return c
38302}
38303
38304// Fields allows partial responses to be retrieved. See
38305// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38306// for more information.
38307func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
38308	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38309	return c
38310}
38311
38312// IfNoneMatch sets the optional parameter which makes the operation
38313// fail if the object's ETag matches the given value. This is useful for
38314// getting updates only after the object has changed since the last
38315// request. Use googleapi.IsNotModified to check whether the response
38316// error from Do is the result of In-None-Match.
38317func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
38318	c.ifNoneMatch_ = entityTag
38319	return c
38320}
38321
38322// Context sets the context to be used in this call's Do method. Any
38323// pending HTTP request will be aborted if the provided context is
38324// canceled.
38325func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
38326	c.ctx_ = ctx
38327	return c
38328}
38329
38330// Header returns an http.Header that can be modified by the caller to
38331// add HTTP headers to the request.
38332func (c *PlacementGroupsGetCall) Header() http.Header {
38333	if c.header_ == nil {
38334		c.header_ = make(http.Header)
38335	}
38336	return c.header_
38337}
38338
38339func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
38340	reqHeaders := make(http.Header)
38341	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
38342	for k, v := range c.header_ {
38343		reqHeaders[k] = v
38344	}
38345	reqHeaders.Set("User-Agent", c.s.userAgent())
38346	if c.ifNoneMatch_ != "" {
38347		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38348	}
38349	var body io.Reader = nil
38350	c.urlParams_.Set("alt", alt)
38351	c.urlParams_.Set("prettyPrint", "false")
38352	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
38353	urls += "?" + c.urlParams_.Encode()
38354	req, err := http.NewRequest("GET", urls, body)
38355	if err != nil {
38356		return nil, err
38357	}
38358	req.Header = reqHeaders
38359	googleapi.Expand(req.URL, map[string]string{
38360		"profileId": strconv.FormatInt(c.profileId, 10),
38361		"id":        strconv.FormatInt(c.id, 10),
38362	})
38363	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38364}
38365
38366// Do executes the "dfareporting.placementGroups.get" call.
38367// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38368// status code is an error. Response headers are in either
38369// *PlacementGroup.ServerResponse.Header or (if a response was returned
38370// at all) in error.(*googleapi.Error).Header. Use
38371// googleapi.IsNotModified to check whether the returned error was
38372// because http.StatusNotModified was returned.
38373func (c *PlacementGroupsGetCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38374	gensupport.SetOptions(c.urlParams_, opts...)
38375	res, err := c.doRequest("json")
38376	if res != nil && res.StatusCode == http.StatusNotModified {
38377		if res.Body != nil {
38378			res.Body.Close()
38379		}
38380		return nil, &googleapi.Error{
38381			Code:   res.StatusCode,
38382			Header: res.Header,
38383		}
38384	}
38385	if err != nil {
38386		return nil, err
38387	}
38388	defer googleapi.CloseBody(res)
38389	if err := googleapi.CheckResponse(res); err != nil {
38390		return nil, err
38391	}
38392	ret := &PlacementGroup{
38393		ServerResponse: googleapi.ServerResponse{
38394			Header:         res.Header,
38395			HTTPStatusCode: res.StatusCode,
38396		},
38397	}
38398	target := &ret
38399	if err := gensupport.DecodeResponse(target, res); err != nil {
38400		return nil, err
38401	}
38402	return ret, nil
38403	// {
38404	//   "description": "Gets one placement group by ID.",
38405	//   "httpMethod": "GET",
38406	//   "id": "dfareporting.placementGroups.get",
38407	//   "parameterOrder": [
38408	//     "profileId",
38409	//     "id"
38410	//   ],
38411	//   "parameters": {
38412	//     "id": {
38413	//       "description": "Placement group ID.",
38414	//       "format": "int64",
38415	//       "location": "path",
38416	//       "required": true,
38417	//       "type": "string"
38418	//     },
38419	//     "profileId": {
38420	//       "description": "User profile ID associated with this request.",
38421	//       "format": "int64",
38422	//       "location": "path",
38423	//       "required": true,
38424	//       "type": "string"
38425	//     }
38426	//   },
38427	//   "path": "userprofiles/{profileId}/placementGroups/{id}",
38428	//   "response": {
38429	//     "$ref": "PlacementGroup"
38430	//   },
38431	//   "scopes": [
38432	//     "https://www.googleapis.com/auth/dfatrafficking"
38433	//   ]
38434	// }
38435
38436}
38437
38438// method id "dfareporting.placementGroups.insert":
38439
38440type PlacementGroupsInsertCall struct {
38441	s              *Service
38442	profileId      int64
38443	placementgroup *PlacementGroup
38444	urlParams_     gensupport.URLParams
38445	ctx_           context.Context
38446	header_        http.Header
38447}
38448
38449// Insert: Inserts a new placement group.
38450func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
38451	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38452	c.profileId = profileId
38453	c.placementgroup = placementgroup
38454	return c
38455}
38456
38457// Fields allows partial responses to be retrieved. See
38458// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38459// for more information.
38460func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
38461	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38462	return c
38463}
38464
38465// Context sets the context to be used in this call's Do method. Any
38466// pending HTTP request will be aborted if the provided context is
38467// canceled.
38468func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
38469	c.ctx_ = ctx
38470	return c
38471}
38472
38473// Header returns an http.Header that can be modified by the caller to
38474// add HTTP headers to the request.
38475func (c *PlacementGroupsInsertCall) Header() http.Header {
38476	if c.header_ == nil {
38477		c.header_ = make(http.Header)
38478	}
38479	return c.header_
38480}
38481
38482func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
38483	reqHeaders := make(http.Header)
38484	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
38485	for k, v := range c.header_ {
38486		reqHeaders[k] = v
38487	}
38488	reqHeaders.Set("User-Agent", c.s.userAgent())
38489	var body io.Reader = nil
38490	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
38491	if err != nil {
38492		return nil, err
38493	}
38494	reqHeaders.Set("Content-Type", "application/json")
38495	c.urlParams_.Set("alt", alt)
38496	c.urlParams_.Set("prettyPrint", "false")
38497	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38498	urls += "?" + c.urlParams_.Encode()
38499	req, err := http.NewRequest("POST", urls, body)
38500	if err != nil {
38501		return nil, err
38502	}
38503	req.Header = reqHeaders
38504	googleapi.Expand(req.URL, map[string]string{
38505		"profileId": strconv.FormatInt(c.profileId, 10),
38506	})
38507	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38508}
38509
38510// Do executes the "dfareporting.placementGroups.insert" call.
38511// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38512// status code is an error. Response headers are in either
38513// *PlacementGroup.ServerResponse.Header or (if a response was returned
38514// at all) in error.(*googleapi.Error).Header. Use
38515// googleapi.IsNotModified to check whether the returned error was
38516// because http.StatusNotModified was returned.
38517func (c *PlacementGroupsInsertCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38518	gensupport.SetOptions(c.urlParams_, opts...)
38519	res, err := c.doRequest("json")
38520	if res != nil && res.StatusCode == http.StatusNotModified {
38521		if res.Body != nil {
38522			res.Body.Close()
38523		}
38524		return nil, &googleapi.Error{
38525			Code:   res.StatusCode,
38526			Header: res.Header,
38527		}
38528	}
38529	if err != nil {
38530		return nil, err
38531	}
38532	defer googleapi.CloseBody(res)
38533	if err := googleapi.CheckResponse(res); err != nil {
38534		return nil, err
38535	}
38536	ret := &PlacementGroup{
38537		ServerResponse: googleapi.ServerResponse{
38538			Header:         res.Header,
38539			HTTPStatusCode: res.StatusCode,
38540		},
38541	}
38542	target := &ret
38543	if err := gensupport.DecodeResponse(target, res); err != nil {
38544		return nil, err
38545	}
38546	return ret, nil
38547	// {
38548	//   "description": "Inserts a new placement group.",
38549	//   "httpMethod": "POST",
38550	//   "id": "dfareporting.placementGroups.insert",
38551	//   "parameterOrder": [
38552	//     "profileId"
38553	//   ],
38554	//   "parameters": {
38555	//     "profileId": {
38556	//       "description": "User profile ID associated with this request.",
38557	//       "format": "int64",
38558	//       "location": "path",
38559	//       "required": true,
38560	//       "type": "string"
38561	//     }
38562	//   },
38563	//   "path": "userprofiles/{profileId}/placementGroups",
38564	//   "request": {
38565	//     "$ref": "PlacementGroup"
38566	//   },
38567	//   "response": {
38568	//     "$ref": "PlacementGroup"
38569	//   },
38570	//   "scopes": [
38571	//     "https://www.googleapis.com/auth/dfatrafficking"
38572	//   ]
38573	// }
38574
38575}
38576
38577// method id "dfareporting.placementGroups.list":
38578
38579type PlacementGroupsListCall struct {
38580	s            *Service
38581	profileId    int64
38582	urlParams_   gensupport.URLParams
38583	ifNoneMatch_ string
38584	ctx_         context.Context
38585	header_      http.Header
38586}
38587
38588// List: Retrieves a list of placement groups, possibly filtered. This
38589// method supports paging.
38590func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
38591	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38592	c.profileId = profileId
38593	return c
38594}
38595
38596// AdvertiserIds sets the optional parameter "advertiserIds": Select
38597// only placement groups that belong to these advertisers.
38598func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementGroupsListCall {
38599	var advertiserIds_ []string
38600	for _, v := range advertiserIds {
38601		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
38602	}
38603	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
38604	return c
38605}
38606
38607// Archived sets the optional parameter "archived": Select only archived
38608// placements. Don't set this field to select both archived and
38609// non-archived placements.
38610func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
38611	c.urlParams_.Set("archived", fmt.Sprint(archived))
38612	return c
38613}
38614
38615// CampaignIds sets the optional parameter "campaignIds": Select only
38616// placement groups that belong to these campaigns.
38617func (c *PlacementGroupsListCall) CampaignIds(campaignIds ...int64) *PlacementGroupsListCall {
38618	var campaignIds_ []string
38619	for _, v := range campaignIds {
38620		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
38621	}
38622	c.urlParams_.SetMulti("campaignIds", campaignIds_)
38623	return c
38624}
38625
38626// ContentCategoryIds sets the optional parameter "contentCategoryIds":
38627// Select only placement groups that are associated with these content
38628// categories.
38629func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementGroupsListCall {
38630	var contentCategoryIds_ []string
38631	for _, v := range contentCategoryIds {
38632		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
38633	}
38634	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
38635	return c
38636}
38637
38638// DirectorySiteIds sets the optional parameter "directorySiteIds":
38639// Select only placement groups that are associated with these directory
38640// sites.
38641func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementGroupsListCall {
38642	var directorySiteIds_ []string
38643	for _, v := range directorySiteIds {
38644		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
38645	}
38646	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
38647	return c
38648}
38649
38650// Ids sets the optional parameter "ids": Select only placement groups
38651// with these IDs.
38652func (c *PlacementGroupsListCall) Ids(ids ...int64) *PlacementGroupsListCall {
38653	var ids_ []string
38654	for _, v := range ids {
38655		ids_ = append(ids_, fmt.Sprint(v))
38656	}
38657	c.urlParams_.SetMulti("ids", ids_)
38658	return c
38659}
38660
38661// MaxEndDate sets the optional parameter "maxEndDate": Select only
38662// placements or placement groups whose end date is on or before the
38663// specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
38664func (c *PlacementGroupsListCall) MaxEndDate(maxEndDate string) *PlacementGroupsListCall {
38665	c.urlParams_.Set("maxEndDate", maxEndDate)
38666	return c
38667}
38668
38669// MaxResults sets the optional parameter "maxResults": Maximum number
38670// of results to return.
38671func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
38672	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
38673	return c
38674}
38675
38676// MaxStartDate sets the optional parameter "maxStartDate": Select only
38677// placements or placement groups whose start date is on or before the
38678// specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
38679func (c *PlacementGroupsListCall) MaxStartDate(maxStartDate string) *PlacementGroupsListCall {
38680	c.urlParams_.Set("maxStartDate", maxStartDate)
38681	return c
38682}
38683
38684// MinEndDate sets the optional parameter "minEndDate": Select only
38685// placements or placement groups whose end date is on or after the
38686// specified minEndDate. The date should be formatted as "yyyy-MM-dd".
38687func (c *PlacementGroupsListCall) MinEndDate(minEndDate string) *PlacementGroupsListCall {
38688	c.urlParams_.Set("minEndDate", minEndDate)
38689	return c
38690}
38691
38692// MinStartDate sets the optional parameter "minStartDate": Select only
38693// placements or placement groups whose start date is on or after the
38694// specified minStartDate. The date should be formatted as "yyyy-MM-dd".
38695func (c *PlacementGroupsListCall) MinStartDate(minStartDate string) *PlacementGroupsListCall {
38696	c.urlParams_.Set("minStartDate", minStartDate)
38697	return c
38698}
38699
38700// PageToken sets the optional parameter "pageToken": Value of the
38701// nextPageToken from the previous result page.
38702func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
38703	c.urlParams_.Set("pageToken", pageToken)
38704	return c
38705}
38706
38707// PlacementGroupType sets the optional parameter "placementGroupType":
38708// Select only placement groups belonging with this group type. A
38709// package is a simple group of placements that acts as a single pricing
38710// point for a group of tags. A roadblock is a group of placements that
38711// not only acts as a single pricing point but also assumes that all the
38712// tags in it will be served at the same time. A roadblock requires one
38713// of its assigned placements to be marked as primary for reporting.
38714//
38715// Possible values:
38716//   "PLACEMENT_PACKAGE"
38717//   "PLACEMENT_ROADBLOCK"
38718func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
38719	c.urlParams_.Set("placementGroupType", placementGroupType)
38720	return c
38721}
38722
38723// PlacementStrategyIds sets the optional parameter
38724// "placementStrategyIds": Select only placement groups that are
38725// associated with these placement strategies.
38726func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementGroupsListCall {
38727	var placementStrategyIds_ []string
38728	for _, v := range placementStrategyIds {
38729		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
38730	}
38731	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
38732	return c
38733}
38734
38735// PricingTypes sets the optional parameter "pricingTypes": Select only
38736// placement groups with these pricing types.
38737//
38738// Possible values:
38739//   "PRICING_TYPE_CPA"
38740//   "PRICING_TYPE_CPC"
38741//   "PRICING_TYPE_CPM"
38742//   "PRICING_TYPE_CPM_ACTIVEVIEW"
38743//   "PRICING_TYPE_FLAT_RATE_CLICKS"
38744//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
38745func (c *PlacementGroupsListCall) PricingTypes(pricingTypes ...string) *PlacementGroupsListCall {
38746	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
38747	return c
38748}
38749
38750// SearchString sets the optional parameter "searchString": Allows
38751// searching for placement groups by name or ID. Wildcards (*) are
38752// allowed. For example, "placement*2015" will return placement groups
38753// with names like "placement group June 2015", "placement group May
38754// 2015", or simply "placements 2015". Most of the searches also add
38755// wildcards implicitly at the start and the end of the search string.
38756// For example, a search string of "placementgroup" will match placement
38757// groups with name "my placementgroup", "placementgroup 2015", or
38758// simply "placementgroup".
38759func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
38760	c.urlParams_.Set("searchString", searchString)
38761	return c
38762}
38763
38764// SiteIds sets the optional parameter "siteIds": Select only placement
38765// groups that are associated with these sites.
38766func (c *PlacementGroupsListCall) SiteIds(siteIds ...int64) *PlacementGroupsListCall {
38767	var siteIds_ []string
38768	for _, v := range siteIds {
38769		siteIds_ = append(siteIds_, fmt.Sprint(v))
38770	}
38771	c.urlParams_.SetMulti("siteIds", siteIds_)
38772	return c
38773}
38774
38775// SortField sets the optional parameter "sortField": Field by which to
38776// sort the list.
38777//
38778// Possible values:
38779//   "ID" (default)
38780//   "NAME"
38781func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
38782	c.urlParams_.Set("sortField", sortField)
38783	return c
38784}
38785
38786// SortOrder sets the optional parameter "sortOrder": Order of sorted
38787// results.
38788//
38789// Possible values:
38790//   "ASCENDING" (default)
38791//   "DESCENDING"
38792func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
38793	c.urlParams_.Set("sortOrder", sortOrder)
38794	return c
38795}
38796
38797// Fields allows partial responses to be retrieved. See
38798// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38799// for more information.
38800func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
38801	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38802	return c
38803}
38804
38805// IfNoneMatch sets the optional parameter which makes the operation
38806// fail if the object's ETag matches the given value. This is useful for
38807// getting updates only after the object has changed since the last
38808// request. Use googleapi.IsNotModified to check whether the response
38809// error from Do is the result of In-None-Match.
38810func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
38811	c.ifNoneMatch_ = entityTag
38812	return c
38813}
38814
38815// Context sets the context to be used in this call's Do method. Any
38816// pending HTTP request will be aborted if the provided context is
38817// canceled.
38818func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
38819	c.ctx_ = ctx
38820	return c
38821}
38822
38823// Header returns an http.Header that can be modified by the caller to
38824// add HTTP headers to the request.
38825func (c *PlacementGroupsListCall) Header() http.Header {
38826	if c.header_ == nil {
38827		c.header_ = make(http.Header)
38828	}
38829	return c.header_
38830}
38831
38832func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
38833	reqHeaders := make(http.Header)
38834	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
38835	for k, v := range c.header_ {
38836		reqHeaders[k] = v
38837	}
38838	reqHeaders.Set("User-Agent", c.s.userAgent())
38839	if c.ifNoneMatch_ != "" {
38840		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38841	}
38842	var body io.Reader = nil
38843	c.urlParams_.Set("alt", alt)
38844	c.urlParams_.Set("prettyPrint", "false")
38845	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38846	urls += "?" + c.urlParams_.Encode()
38847	req, err := http.NewRequest("GET", urls, body)
38848	if err != nil {
38849		return nil, err
38850	}
38851	req.Header = reqHeaders
38852	googleapi.Expand(req.URL, map[string]string{
38853		"profileId": strconv.FormatInt(c.profileId, 10),
38854	})
38855	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38856}
38857
38858// Do executes the "dfareporting.placementGroups.list" call.
38859// Exactly one of *PlacementGroupsListResponse or error will be non-nil.
38860// Any non-2xx status code is an error. Response headers are in either
38861// *PlacementGroupsListResponse.ServerResponse.Header or (if a response
38862// was returned at all) in error.(*googleapi.Error).Header. Use
38863// googleapi.IsNotModified to check whether the returned error was
38864// because http.StatusNotModified was returned.
38865func (c *PlacementGroupsListCall) Do(opts ...googleapi.CallOption) (*PlacementGroupsListResponse, error) {
38866	gensupport.SetOptions(c.urlParams_, opts...)
38867	res, err := c.doRequest("json")
38868	if res != nil && res.StatusCode == http.StatusNotModified {
38869		if res.Body != nil {
38870			res.Body.Close()
38871		}
38872		return nil, &googleapi.Error{
38873			Code:   res.StatusCode,
38874			Header: res.Header,
38875		}
38876	}
38877	if err != nil {
38878		return nil, err
38879	}
38880	defer googleapi.CloseBody(res)
38881	if err := googleapi.CheckResponse(res); err != nil {
38882		return nil, err
38883	}
38884	ret := &PlacementGroupsListResponse{
38885		ServerResponse: googleapi.ServerResponse{
38886			Header:         res.Header,
38887			HTTPStatusCode: res.StatusCode,
38888		},
38889	}
38890	target := &ret
38891	if err := gensupport.DecodeResponse(target, res); err != nil {
38892		return nil, err
38893	}
38894	return ret, nil
38895	// {
38896	//   "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
38897	//   "httpMethod": "GET",
38898	//   "id": "dfareporting.placementGroups.list",
38899	//   "parameterOrder": [
38900	//     "profileId"
38901	//   ],
38902	//   "parameters": {
38903	//     "advertiserIds": {
38904	//       "description": "Select only placement groups that belong to these advertisers.",
38905	//       "format": "int64",
38906	//       "location": "query",
38907	//       "repeated": true,
38908	//       "type": "string"
38909	//     },
38910	//     "archived": {
38911	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
38912	//       "location": "query",
38913	//       "type": "boolean"
38914	//     },
38915	//     "campaignIds": {
38916	//       "description": "Select only placement groups that belong to these campaigns.",
38917	//       "format": "int64",
38918	//       "location": "query",
38919	//       "repeated": true,
38920	//       "type": "string"
38921	//     },
38922	//     "contentCategoryIds": {
38923	//       "description": "Select only placement groups that are associated with these content categories.",
38924	//       "format": "int64",
38925	//       "location": "query",
38926	//       "repeated": true,
38927	//       "type": "string"
38928	//     },
38929	//     "directorySiteIds": {
38930	//       "description": "Select only placement groups that are associated with these directory sites.",
38931	//       "format": "int64",
38932	//       "location": "query",
38933	//       "repeated": true,
38934	//       "type": "string"
38935	//     },
38936	//     "ids": {
38937	//       "description": "Select only placement groups with these IDs.",
38938	//       "format": "int64",
38939	//       "location": "query",
38940	//       "repeated": true,
38941	//       "type": "string"
38942	//     },
38943	//     "maxEndDate": {
38944	//       "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\".",
38945	//       "location": "query",
38946	//       "type": "string"
38947	//     },
38948	//     "maxResults": {
38949	//       "default": "800",
38950	//       "description": "Maximum number of results to return.",
38951	//       "format": "int32",
38952	//       "location": "query",
38953	//       "maximum": "800",
38954	//       "minimum": "0",
38955	//       "type": "integer"
38956	//     },
38957	//     "maxStartDate": {
38958	//       "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\".",
38959	//       "location": "query",
38960	//       "type": "string"
38961	//     },
38962	//     "minEndDate": {
38963	//       "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\".",
38964	//       "location": "query",
38965	//       "type": "string"
38966	//     },
38967	//     "minStartDate": {
38968	//       "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\".",
38969	//       "location": "query",
38970	//       "type": "string"
38971	//     },
38972	//     "pageToken": {
38973	//       "description": "Value of the nextPageToken from the previous result page.",
38974	//       "location": "query",
38975	//       "type": "string"
38976	//     },
38977	//     "placementGroupType": {
38978	//       "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.",
38979	//       "enum": [
38980	//         "PLACEMENT_PACKAGE",
38981	//         "PLACEMENT_ROADBLOCK"
38982	//       ],
38983	//       "enumDescriptions": [
38984	//         "",
38985	//         ""
38986	//       ],
38987	//       "location": "query",
38988	//       "type": "string"
38989	//     },
38990	//     "placementStrategyIds": {
38991	//       "description": "Select only placement groups that are associated with these placement strategies.",
38992	//       "format": "int64",
38993	//       "location": "query",
38994	//       "repeated": true,
38995	//       "type": "string"
38996	//     },
38997	//     "pricingTypes": {
38998	//       "description": "Select only placement groups with these pricing types.",
38999	//       "enum": [
39000	//         "PRICING_TYPE_CPA",
39001	//         "PRICING_TYPE_CPC",
39002	//         "PRICING_TYPE_CPM",
39003	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
39004	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
39005	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
39006	//       ],
39007	//       "enumDescriptions": [
39008	//         "",
39009	//         "",
39010	//         "",
39011	//         "",
39012	//         "",
39013	//         ""
39014	//       ],
39015	//       "location": "query",
39016	//       "repeated": true,
39017	//       "type": "string"
39018	//     },
39019	//     "profileId": {
39020	//       "description": "User profile ID associated with this request.",
39021	//       "format": "int64",
39022	//       "location": "path",
39023	//       "required": true,
39024	//       "type": "string"
39025	//     },
39026	//     "searchString": {
39027	//       "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\".",
39028	//       "location": "query",
39029	//       "type": "string"
39030	//     },
39031	//     "siteIds": {
39032	//       "description": "Select only placement groups that are associated with these sites.",
39033	//       "format": "int64",
39034	//       "location": "query",
39035	//       "repeated": true,
39036	//       "type": "string"
39037	//     },
39038	//     "sortField": {
39039	//       "default": "ID",
39040	//       "description": "Field by which to sort the list.",
39041	//       "enum": [
39042	//         "ID",
39043	//         "NAME"
39044	//       ],
39045	//       "enumDescriptions": [
39046	//         "",
39047	//         ""
39048	//       ],
39049	//       "location": "query",
39050	//       "type": "string"
39051	//     },
39052	//     "sortOrder": {
39053	//       "default": "ASCENDING",
39054	//       "description": "Order of sorted results.",
39055	//       "enum": [
39056	//         "ASCENDING",
39057	//         "DESCENDING"
39058	//       ],
39059	//       "enumDescriptions": [
39060	//         "",
39061	//         ""
39062	//       ],
39063	//       "location": "query",
39064	//       "type": "string"
39065	//     }
39066	//   },
39067	//   "path": "userprofiles/{profileId}/placementGroups",
39068	//   "response": {
39069	//     "$ref": "PlacementGroupsListResponse"
39070	//   },
39071	//   "scopes": [
39072	//     "https://www.googleapis.com/auth/dfatrafficking"
39073	//   ]
39074	// }
39075
39076}
39077
39078// Pages invokes f for each page of results.
39079// A non-nil error returned from f will halt the iteration.
39080// The provided context supersedes any context provided to the Context method.
39081func (c *PlacementGroupsListCall) Pages(ctx context.Context, f func(*PlacementGroupsListResponse) error) error {
39082	c.ctx_ = ctx
39083	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
39084	for {
39085		x, err := c.Do()
39086		if err != nil {
39087			return err
39088		}
39089		if err := f(x); err != nil {
39090			return err
39091		}
39092		if x.NextPageToken == "" {
39093			return nil
39094		}
39095		c.PageToken(x.NextPageToken)
39096	}
39097}
39098
39099// method id "dfareporting.placementGroups.patch":
39100
39101type PlacementGroupsPatchCall struct {
39102	s              *Service
39103	profileId      int64
39104	placementgroup *PlacementGroup
39105	urlParams_     gensupport.URLParams
39106	ctx_           context.Context
39107	header_        http.Header
39108}
39109
39110// Patch: Updates an existing placement group. This method supports
39111// patch semantics.
39112func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
39113	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39114	c.profileId = profileId
39115	c.urlParams_.Set("id", fmt.Sprint(id))
39116	c.placementgroup = placementgroup
39117	return c
39118}
39119
39120// Fields allows partial responses to be retrieved. See
39121// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39122// for more information.
39123func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
39124	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39125	return c
39126}
39127
39128// Context sets the context to be used in this call's Do method. Any
39129// pending HTTP request will be aborted if the provided context is
39130// canceled.
39131func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
39132	c.ctx_ = ctx
39133	return c
39134}
39135
39136// Header returns an http.Header that can be modified by the caller to
39137// add HTTP headers to the request.
39138func (c *PlacementGroupsPatchCall) Header() http.Header {
39139	if c.header_ == nil {
39140		c.header_ = make(http.Header)
39141	}
39142	return c.header_
39143}
39144
39145func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
39146	reqHeaders := make(http.Header)
39147	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
39148	for k, v := range c.header_ {
39149		reqHeaders[k] = v
39150	}
39151	reqHeaders.Set("User-Agent", c.s.userAgent())
39152	var body io.Reader = nil
39153	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
39154	if err != nil {
39155		return nil, err
39156	}
39157	reqHeaders.Set("Content-Type", "application/json")
39158	c.urlParams_.Set("alt", alt)
39159	c.urlParams_.Set("prettyPrint", "false")
39160	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
39161	urls += "?" + c.urlParams_.Encode()
39162	req, err := http.NewRequest("PATCH", urls, body)
39163	if err != nil {
39164		return nil, err
39165	}
39166	req.Header = reqHeaders
39167	googleapi.Expand(req.URL, map[string]string{
39168		"profileId": strconv.FormatInt(c.profileId, 10),
39169	})
39170	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39171}
39172
39173// Do executes the "dfareporting.placementGroups.patch" call.
39174// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
39175// status code is an error. Response headers are in either
39176// *PlacementGroup.ServerResponse.Header or (if a response was returned
39177// at all) in error.(*googleapi.Error).Header. Use
39178// googleapi.IsNotModified to check whether the returned error was
39179// because http.StatusNotModified was returned.
39180func (c *PlacementGroupsPatchCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
39181	gensupport.SetOptions(c.urlParams_, opts...)
39182	res, err := c.doRequest("json")
39183	if res != nil && res.StatusCode == http.StatusNotModified {
39184		if res.Body != nil {
39185			res.Body.Close()
39186		}
39187		return nil, &googleapi.Error{
39188			Code:   res.StatusCode,
39189			Header: res.Header,
39190		}
39191	}
39192	if err != nil {
39193		return nil, err
39194	}
39195	defer googleapi.CloseBody(res)
39196	if err := googleapi.CheckResponse(res); err != nil {
39197		return nil, err
39198	}
39199	ret := &PlacementGroup{
39200		ServerResponse: googleapi.ServerResponse{
39201			Header:         res.Header,
39202			HTTPStatusCode: res.StatusCode,
39203		},
39204	}
39205	target := &ret
39206	if err := gensupport.DecodeResponse(target, res); err != nil {
39207		return nil, err
39208	}
39209	return ret, nil
39210	// {
39211	//   "description": "Updates an existing placement group. This method supports patch semantics.",
39212	//   "httpMethod": "PATCH",
39213	//   "id": "dfareporting.placementGroups.patch",
39214	//   "parameterOrder": [
39215	//     "profileId",
39216	//     "id"
39217	//   ],
39218	//   "parameters": {
39219	//     "id": {
39220	//       "description": "Placement group ID.",
39221	//       "format": "int64",
39222	//       "location": "query",
39223	//       "required": true,
39224	//       "type": "string"
39225	//     },
39226	//     "profileId": {
39227	//       "description": "User profile ID associated with this request.",
39228	//       "format": "int64",
39229	//       "location": "path",
39230	//       "required": true,
39231	//       "type": "string"
39232	//     }
39233	//   },
39234	//   "path": "userprofiles/{profileId}/placementGroups",
39235	//   "request": {
39236	//     "$ref": "PlacementGroup"
39237	//   },
39238	//   "response": {
39239	//     "$ref": "PlacementGroup"
39240	//   },
39241	//   "scopes": [
39242	//     "https://www.googleapis.com/auth/dfatrafficking"
39243	//   ]
39244	// }
39245
39246}
39247
39248// method id "dfareporting.placementGroups.update":
39249
39250type PlacementGroupsUpdateCall struct {
39251	s              *Service
39252	profileId      int64
39253	placementgroup *PlacementGroup
39254	urlParams_     gensupport.URLParams
39255	ctx_           context.Context
39256	header_        http.Header
39257}
39258
39259// Update: Updates an existing placement group.
39260func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
39261	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39262	c.profileId = profileId
39263	c.placementgroup = placementgroup
39264	return c
39265}
39266
39267// Fields allows partial responses to be retrieved. See
39268// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39269// for more information.
39270func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
39271	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39272	return c
39273}
39274
39275// Context sets the context to be used in this call's Do method. Any
39276// pending HTTP request will be aborted if the provided context is
39277// canceled.
39278func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
39279	c.ctx_ = ctx
39280	return c
39281}
39282
39283// Header returns an http.Header that can be modified by the caller to
39284// add HTTP headers to the request.
39285func (c *PlacementGroupsUpdateCall) Header() http.Header {
39286	if c.header_ == nil {
39287		c.header_ = make(http.Header)
39288	}
39289	return c.header_
39290}
39291
39292func (c *PlacementGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
39293	reqHeaders := make(http.Header)
39294	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
39295	for k, v := range c.header_ {
39296		reqHeaders[k] = v
39297	}
39298	reqHeaders.Set("User-Agent", c.s.userAgent())
39299	var body io.Reader = nil
39300	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
39301	if err != nil {
39302		return nil, err
39303	}
39304	reqHeaders.Set("Content-Type", "application/json")
39305	c.urlParams_.Set("alt", alt)
39306	c.urlParams_.Set("prettyPrint", "false")
39307	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
39308	urls += "?" + c.urlParams_.Encode()
39309	req, err := http.NewRequest("PUT", urls, body)
39310	if err != nil {
39311		return nil, err
39312	}
39313	req.Header = reqHeaders
39314	googleapi.Expand(req.URL, map[string]string{
39315		"profileId": strconv.FormatInt(c.profileId, 10),
39316	})
39317	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39318}
39319
39320// Do executes the "dfareporting.placementGroups.update" call.
39321// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
39322// status code is an error. Response headers are in either
39323// *PlacementGroup.ServerResponse.Header or (if a response was returned
39324// at all) in error.(*googleapi.Error).Header. Use
39325// googleapi.IsNotModified to check whether the returned error was
39326// because http.StatusNotModified was returned.
39327func (c *PlacementGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
39328	gensupport.SetOptions(c.urlParams_, opts...)
39329	res, err := c.doRequest("json")
39330	if res != nil && res.StatusCode == http.StatusNotModified {
39331		if res.Body != nil {
39332			res.Body.Close()
39333		}
39334		return nil, &googleapi.Error{
39335			Code:   res.StatusCode,
39336			Header: res.Header,
39337		}
39338	}
39339	if err != nil {
39340		return nil, err
39341	}
39342	defer googleapi.CloseBody(res)
39343	if err := googleapi.CheckResponse(res); err != nil {
39344		return nil, err
39345	}
39346	ret := &PlacementGroup{
39347		ServerResponse: googleapi.ServerResponse{
39348			Header:         res.Header,
39349			HTTPStatusCode: res.StatusCode,
39350		},
39351	}
39352	target := &ret
39353	if err := gensupport.DecodeResponse(target, res); err != nil {
39354		return nil, err
39355	}
39356	return ret, nil
39357	// {
39358	//   "description": "Updates an existing placement group.",
39359	//   "httpMethod": "PUT",
39360	//   "id": "dfareporting.placementGroups.update",
39361	//   "parameterOrder": [
39362	//     "profileId"
39363	//   ],
39364	//   "parameters": {
39365	//     "profileId": {
39366	//       "description": "User profile ID associated with this request.",
39367	//       "format": "int64",
39368	//       "location": "path",
39369	//       "required": true,
39370	//       "type": "string"
39371	//     }
39372	//   },
39373	//   "path": "userprofiles/{profileId}/placementGroups",
39374	//   "request": {
39375	//     "$ref": "PlacementGroup"
39376	//   },
39377	//   "response": {
39378	//     "$ref": "PlacementGroup"
39379	//   },
39380	//   "scopes": [
39381	//     "https://www.googleapis.com/auth/dfatrafficking"
39382	//   ]
39383	// }
39384
39385}
39386
39387// method id "dfareporting.placementStrategies.delete":
39388
39389type PlacementStrategiesDeleteCall struct {
39390	s          *Service
39391	profileId  int64
39392	id         int64
39393	urlParams_ gensupport.URLParams
39394	ctx_       context.Context
39395	header_    http.Header
39396}
39397
39398// Delete: Deletes an existing placement strategy.
39399func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
39400	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39401	c.profileId = profileId
39402	c.id = id
39403	return c
39404}
39405
39406// Fields allows partial responses to be retrieved. See
39407// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39408// for more information.
39409func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
39410	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39411	return c
39412}
39413
39414// Context sets the context to be used in this call's Do method. Any
39415// pending HTTP request will be aborted if the provided context is
39416// canceled.
39417func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
39418	c.ctx_ = ctx
39419	return c
39420}
39421
39422// Header returns an http.Header that can be modified by the caller to
39423// add HTTP headers to the request.
39424func (c *PlacementStrategiesDeleteCall) Header() http.Header {
39425	if c.header_ == nil {
39426		c.header_ = make(http.Header)
39427	}
39428	return c.header_
39429}
39430
39431func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
39432	reqHeaders := make(http.Header)
39433	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
39434	for k, v := range c.header_ {
39435		reqHeaders[k] = v
39436	}
39437	reqHeaders.Set("User-Agent", c.s.userAgent())
39438	var body io.Reader = nil
39439	c.urlParams_.Set("alt", alt)
39440	c.urlParams_.Set("prettyPrint", "false")
39441	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
39442	urls += "?" + c.urlParams_.Encode()
39443	req, err := http.NewRequest("DELETE", urls, body)
39444	if err != nil {
39445		return nil, err
39446	}
39447	req.Header = reqHeaders
39448	googleapi.Expand(req.URL, map[string]string{
39449		"profileId": strconv.FormatInt(c.profileId, 10),
39450		"id":        strconv.FormatInt(c.id, 10),
39451	})
39452	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39453}
39454
39455// Do executes the "dfareporting.placementStrategies.delete" call.
39456func (c *PlacementStrategiesDeleteCall) Do(opts ...googleapi.CallOption) error {
39457	gensupport.SetOptions(c.urlParams_, opts...)
39458	res, err := c.doRequest("json")
39459	if err != nil {
39460		return err
39461	}
39462	defer googleapi.CloseBody(res)
39463	if err := googleapi.CheckResponse(res); err != nil {
39464		return err
39465	}
39466	return nil
39467	// {
39468	//   "description": "Deletes an existing placement strategy.",
39469	//   "httpMethod": "DELETE",
39470	//   "id": "dfareporting.placementStrategies.delete",
39471	//   "parameterOrder": [
39472	//     "profileId",
39473	//     "id"
39474	//   ],
39475	//   "parameters": {
39476	//     "id": {
39477	//       "description": "Placement strategy ID.",
39478	//       "format": "int64",
39479	//       "location": "path",
39480	//       "required": true,
39481	//       "type": "string"
39482	//     },
39483	//     "profileId": {
39484	//       "description": "User profile ID associated with this request.",
39485	//       "format": "int64",
39486	//       "location": "path",
39487	//       "required": true,
39488	//       "type": "string"
39489	//     }
39490	//   },
39491	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
39492	//   "scopes": [
39493	//     "https://www.googleapis.com/auth/dfatrafficking"
39494	//   ]
39495	// }
39496
39497}
39498
39499// method id "dfareporting.placementStrategies.get":
39500
39501type PlacementStrategiesGetCall struct {
39502	s            *Service
39503	profileId    int64
39504	id           int64
39505	urlParams_   gensupport.URLParams
39506	ifNoneMatch_ string
39507	ctx_         context.Context
39508	header_      http.Header
39509}
39510
39511// Get: Gets one placement strategy by ID.
39512func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
39513	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39514	c.profileId = profileId
39515	c.id = id
39516	return c
39517}
39518
39519// Fields allows partial responses to be retrieved. See
39520// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39521// for more information.
39522func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
39523	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39524	return c
39525}
39526
39527// IfNoneMatch sets the optional parameter which makes the operation
39528// fail if the object's ETag matches the given value. This is useful for
39529// getting updates only after the object has changed since the last
39530// request. Use googleapi.IsNotModified to check whether the response
39531// error from Do is the result of In-None-Match.
39532func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
39533	c.ifNoneMatch_ = entityTag
39534	return c
39535}
39536
39537// Context sets the context to be used in this call's Do method. Any
39538// pending HTTP request will be aborted if the provided context is
39539// canceled.
39540func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
39541	c.ctx_ = ctx
39542	return c
39543}
39544
39545// Header returns an http.Header that can be modified by the caller to
39546// add HTTP headers to the request.
39547func (c *PlacementStrategiesGetCall) Header() http.Header {
39548	if c.header_ == nil {
39549		c.header_ = make(http.Header)
39550	}
39551	return c.header_
39552}
39553
39554func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
39555	reqHeaders := make(http.Header)
39556	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
39557	for k, v := range c.header_ {
39558		reqHeaders[k] = v
39559	}
39560	reqHeaders.Set("User-Agent", c.s.userAgent())
39561	if c.ifNoneMatch_ != "" {
39562		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
39563	}
39564	var body io.Reader = nil
39565	c.urlParams_.Set("alt", alt)
39566	c.urlParams_.Set("prettyPrint", "false")
39567	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
39568	urls += "?" + c.urlParams_.Encode()
39569	req, err := http.NewRequest("GET", urls, body)
39570	if err != nil {
39571		return nil, err
39572	}
39573	req.Header = reqHeaders
39574	googleapi.Expand(req.URL, map[string]string{
39575		"profileId": strconv.FormatInt(c.profileId, 10),
39576		"id":        strconv.FormatInt(c.id, 10),
39577	})
39578	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39579}
39580
39581// Do executes the "dfareporting.placementStrategies.get" call.
39582// Exactly one of *PlacementStrategy or error will be non-nil. Any
39583// non-2xx status code is an error. Response headers are in either
39584// *PlacementStrategy.ServerResponse.Header or (if a response was
39585// returned at all) in error.(*googleapi.Error).Header. Use
39586// googleapi.IsNotModified to check whether the returned error was
39587// because http.StatusNotModified was returned.
39588func (c *PlacementStrategiesGetCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39589	gensupport.SetOptions(c.urlParams_, opts...)
39590	res, err := c.doRequest("json")
39591	if res != nil && res.StatusCode == http.StatusNotModified {
39592		if res.Body != nil {
39593			res.Body.Close()
39594		}
39595		return nil, &googleapi.Error{
39596			Code:   res.StatusCode,
39597			Header: res.Header,
39598		}
39599	}
39600	if err != nil {
39601		return nil, err
39602	}
39603	defer googleapi.CloseBody(res)
39604	if err := googleapi.CheckResponse(res); err != nil {
39605		return nil, err
39606	}
39607	ret := &PlacementStrategy{
39608		ServerResponse: googleapi.ServerResponse{
39609			Header:         res.Header,
39610			HTTPStatusCode: res.StatusCode,
39611		},
39612	}
39613	target := &ret
39614	if err := gensupport.DecodeResponse(target, res); err != nil {
39615		return nil, err
39616	}
39617	return ret, nil
39618	// {
39619	//   "description": "Gets one placement strategy by ID.",
39620	//   "httpMethod": "GET",
39621	//   "id": "dfareporting.placementStrategies.get",
39622	//   "parameterOrder": [
39623	//     "profileId",
39624	//     "id"
39625	//   ],
39626	//   "parameters": {
39627	//     "id": {
39628	//       "description": "Placement strategy ID.",
39629	//       "format": "int64",
39630	//       "location": "path",
39631	//       "required": true,
39632	//       "type": "string"
39633	//     },
39634	//     "profileId": {
39635	//       "description": "User profile ID associated with this request.",
39636	//       "format": "int64",
39637	//       "location": "path",
39638	//       "required": true,
39639	//       "type": "string"
39640	//     }
39641	//   },
39642	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
39643	//   "response": {
39644	//     "$ref": "PlacementStrategy"
39645	//   },
39646	//   "scopes": [
39647	//     "https://www.googleapis.com/auth/dfatrafficking"
39648	//   ]
39649	// }
39650
39651}
39652
39653// method id "dfareporting.placementStrategies.insert":
39654
39655type PlacementStrategiesInsertCall struct {
39656	s                 *Service
39657	profileId         int64
39658	placementstrategy *PlacementStrategy
39659	urlParams_        gensupport.URLParams
39660	ctx_              context.Context
39661	header_           http.Header
39662}
39663
39664// Insert: Inserts a new placement strategy.
39665func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
39666	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39667	c.profileId = profileId
39668	c.placementstrategy = placementstrategy
39669	return c
39670}
39671
39672// Fields allows partial responses to be retrieved. See
39673// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39674// for more information.
39675func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
39676	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39677	return c
39678}
39679
39680// Context sets the context to be used in this call's Do method. Any
39681// pending HTTP request will be aborted if the provided context is
39682// canceled.
39683func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
39684	c.ctx_ = ctx
39685	return c
39686}
39687
39688// Header returns an http.Header that can be modified by the caller to
39689// add HTTP headers to the request.
39690func (c *PlacementStrategiesInsertCall) Header() http.Header {
39691	if c.header_ == nil {
39692		c.header_ = make(http.Header)
39693	}
39694	return c.header_
39695}
39696
39697func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
39698	reqHeaders := make(http.Header)
39699	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
39700	for k, v := range c.header_ {
39701		reqHeaders[k] = v
39702	}
39703	reqHeaders.Set("User-Agent", c.s.userAgent())
39704	var body io.Reader = nil
39705	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39706	if err != nil {
39707		return nil, err
39708	}
39709	reqHeaders.Set("Content-Type", "application/json")
39710	c.urlParams_.Set("alt", alt)
39711	c.urlParams_.Set("prettyPrint", "false")
39712	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39713	urls += "?" + c.urlParams_.Encode()
39714	req, err := http.NewRequest("POST", urls, body)
39715	if err != nil {
39716		return nil, err
39717	}
39718	req.Header = reqHeaders
39719	googleapi.Expand(req.URL, map[string]string{
39720		"profileId": strconv.FormatInt(c.profileId, 10),
39721	})
39722	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39723}
39724
39725// Do executes the "dfareporting.placementStrategies.insert" call.
39726// Exactly one of *PlacementStrategy or error will be non-nil. Any
39727// non-2xx status code is an error. Response headers are in either
39728// *PlacementStrategy.ServerResponse.Header or (if a response was
39729// returned at all) in error.(*googleapi.Error).Header. Use
39730// googleapi.IsNotModified to check whether the returned error was
39731// because http.StatusNotModified was returned.
39732func (c *PlacementStrategiesInsertCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39733	gensupport.SetOptions(c.urlParams_, opts...)
39734	res, err := c.doRequest("json")
39735	if res != nil && res.StatusCode == http.StatusNotModified {
39736		if res.Body != nil {
39737			res.Body.Close()
39738		}
39739		return nil, &googleapi.Error{
39740			Code:   res.StatusCode,
39741			Header: res.Header,
39742		}
39743	}
39744	if err != nil {
39745		return nil, err
39746	}
39747	defer googleapi.CloseBody(res)
39748	if err := googleapi.CheckResponse(res); err != nil {
39749		return nil, err
39750	}
39751	ret := &PlacementStrategy{
39752		ServerResponse: googleapi.ServerResponse{
39753			Header:         res.Header,
39754			HTTPStatusCode: res.StatusCode,
39755		},
39756	}
39757	target := &ret
39758	if err := gensupport.DecodeResponse(target, res); err != nil {
39759		return nil, err
39760	}
39761	return ret, nil
39762	// {
39763	//   "description": "Inserts a new placement strategy.",
39764	//   "httpMethod": "POST",
39765	//   "id": "dfareporting.placementStrategies.insert",
39766	//   "parameterOrder": [
39767	//     "profileId"
39768	//   ],
39769	//   "parameters": {
39770	//     "profileId": {
39771	//       "description": "User profile ID associated with this request.",
39772	//       "format": "int64",
39773	//       "location": "path",
39774	//       "required": true,
39775	//       "type": "string"
39776	//     }
39777	//   },
39778	//   "path": "userprofiles/{profileId}/placementStrategies",
39779	//   "request": {
39780	//     "$ref": "PlacementStrategy"
39781	//   },
39782	//   "response": {
39783	//     "$ref": "PlacementStrategy"
39784	//   },
39785	//   "scopes": [
39786	//     "https://www.googleapis.com/auth/dfatrafficking"
39787	//   ]
39788	// }
39789
39790}
39791
39792// method id "dfareporting.placementStrategies.list":
39793
39794type PlacementStrategiesListCall struct {
39795	s            *Service
39796	profileId    int64
39797	urlParams_   gensupport.URLParams
39798	ifNoneMatch_ string
39799	ctx_         context.Context
39800	header_      http.Header
39801}
39802
39803// List: Retrieves a list of placement strategies, possibly filtered.
39804// This method supports paging.
39805func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
39806	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39807	c.profileId = profileId
39808	return c
39809}
39810
39811// Ids sets the optional parameter "ids": Select only placement
39812// strategies with these IDs.
39813func (c *PlacementStrategiesListCall) Ids(ids ...int64) *PlacementStrategiesListCall {
39814	var ids_ []string
39815	for _, v := range ids {
39816		ids_ = append(ids_, fmt.Sprint(v))
39817	}
39818	c.urlParams_.SetMulti("ids", ids_)
39819	return c
39820}
39821
39822// MaxResults sets the optional parameter "maxResults": Maximum number
39823// of results to return.
39824func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
39825	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
39826	return c
39827}
39828
39829// PageToken sets the optional parameter "pageToken": Value of the
39830// nextPageToken from the previous result page.
39831func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
39832	c.urlParams_.Set("pageToken", pageToken)
39833	return c
39834}
39835
39836// SearchString sets the optional parameter "searchString": Allows
39837// searching for objects by name or ID. Wildcards (*) are allowed. For
39838// example, "placementstrategy*2015" will return objects with names like
39839// "placementstrategy June 2015", "placementstrategy April 2015", or
39840// simply "placementstrategy 2015". Most of the searches also add
39841// wildcards implicitly at the start and the end of the search string.
39842// For example, a search string of "placementstrategy" will match
39843// objects with name "my placementstrategy", "placementstrategy 2015",
39844// or simply "placementstrategy".
39845func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
39846	c.urlParams_.Set("searchString", searchString)
39847	return c
39848}
39849
39850// SortField sets the optional parameter "sortField": Field by which to
39851// sort the list.
39852//
39853// Possible values:
39854//   "ID" (default)
39855//   "NAME"
39856func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
39857	c.urlParams_.Set("sortField", sortField)
39858	return c
39859}
39860
39861// SortOrder sets the optional parameter "sortOrder": Order of sorted
39862// results.
39863//
39864// Possible values:
39865//   "ASCENDING" (default)
39866//   "DESCENDING"
39867func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
39868	c.urlParams_.Set("sortOrder", sortOrder)
39869	return c
39870}
39871
39872// Fields allows partial responses to be retrieved. See
39873// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39874// for more information.
39875func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
39876	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39877	return c
39878}
39879
39880// IfNoneMatch sets the optional parameter which makes the operation
39881// fail if the object's ETag matches the given value. This is useful for
39882// getting updates only after the object has changed since the last
39883// request. Use googleapi.IsNotModified to check whether the response
39884// error from Do is the result of In-None-Match.
39885func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
39886	c.ifNoneMatch_ = entityTag
39887	return c
39888}
39889
39890// Context sets the context to be used in this call's Do method. Any
39891// pending HTTP request will be aborted if the provided context is
39892// canceled.
39893func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
39894	c.ctx_ = ctx
39895	return c
39896}
39897
39898// Header returns an http.Header that can be modified by the caller to
39899// add HTTP headers to the request.
39900func (c *PlacementStrategiesListCall) Header() http.Header {
39901	if c.header_ == nil {
39902		c.header_ = make(http.Header)
39903	}
39904	return c.header_
39905}
39906
39907func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
39908	reqHeaders := make(http.Header)
39909	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
39910	for k, v := range c.header_ {
39911		reqHeaders[k] = v
39912	}
39913	reqHeaders.Set("User-Agent", c.s.userAgent())
39914	if c.ifNoneMatch_ != "" {
39915		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
39916	}
39917	var body io.Reader = nil
39918	c.urlParams_.Set("alt", alt)
39919	c.urlParams_.Set("prettyPrint", "false")
39920	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39921	urls += "?" + c.urlParams_.Encode()
39922	req, err := http.NewRequest("GET", urls, body)
39923	if err != nil {
39924		return nil, err
39925	}
39926	req.Header = reqHeaders
39927	googleapi.Expand(req.URL, map[string]string{
39928		"profileId": strconv.FormatInt(c.profileId, 10),
39929	})
39930	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39931}
39932
39933// Do executes the "dfareporting.placementStrategies.list" call.
39934// Exactly one of *PlacementStrategiesListResponse or error will be
39935// non-nil. Any non-2xx status code is an error. Response headers are in
39936// either *PlacementStrategiesListResponse.ServerResponse.Header or (if
39937// a response was returned at all) in error.(*googleapi.Error).Header.
39938// Use googleapi.IsNotModified to check whether the returned error was
39939// because http.StatusNotModified was returned.
39940func (c *PlacementStrategiesListCall) Do(opts ...googleapi.CallOption) (*PlacementStrategiesListResponse, error) {
39941	gensupport.SetOptions(c.urlParams_, opts...)
39942	res, err := c.doRequest("json")
39943	if res != nil && res.StatusCode == http.StatusNotModified {
39944		if res.Body != nil {
39945			res.Body.Close()
39946		}
39947		return nil, &googleapi.Error{
39948			Code:   res.StatusCode,
39949			Header: res.Header,
39950		}
39951	}
39952	if err != nil {
39953		return nil, err
39954	}
39955	defer googleapi.CloseBody(res)
39956	if err := googleapi.CheckResponse(res); err != nil {
39957		return nil, err
39958	}
39959	ret := &PlacementStrategiesListResponse{
39960		ServerResponse: googleapi.ServerResponse{
39961			Header:         res.Header,
39962			HTTPStatusCode: res.StatusCode,
39963		},
39964	}
39965	target := &ret
39966	if err := gensupport.DecodeResponse(target, res); err != nil {
39967		return nil, err
39968	}
39969	return ret, nil
39970	// {
39971	//   "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
39972	//   "httpMethod": "GET",
39973	//   "id": "dfareporting.placementStrategies.list",
39974	//   "parameterOrder": [
39975	//     "profileId"
39976	//   ],
39977	//   "parameters": {
39978	//     "ids": {
39979	//       "description": "Select only placement strategies with these IDs.",
39980	//       "format": "int64",
39981	//       "location": "query",
39982	//       "repeated": true,
39983	//       "type": "string"
39984	//     },
39985	//     "maxResults": {
39986	//       "default": "1000",
39987	//       "description": "Maximum number of results to return.",
39988	//       "format": "int32",
39989	//       "location": "query",
39990	//       "maximum": "1000",
39991	//       "minimum": "0",
39992	//       "type": "integer"
39993	//     },
39994	//     "pageToken": {
39995	//       "description": "Value of the nextPageToken from the previous result page.",
39996	//       "location": "query",
39997	//       "type": "string"
39998	//     },
39999	//     "profileId": {
40000	//       "description": "User profile ID associated with this request.",
40001	//       "format": "int64",
40002	//       "location": "path",
40003	//       "required": true,
40004	//       "type": "string"
40005	//     },
40006	//     "searchString": {
40007	//       "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\".",
40008	//       "location": "query",
40009	//       "type": "string"
40010	//     },
40011	//     "sortField": {
40012	//       "default": "ID",
40013	//       "description": "Field by which to sort the list.",
40014	//       "enum": [
40015	//         "ID",
40016	//         "NAME"
40017	//       ],
40018	//       "enumDescriptions": [
40019	//         "",
40020	//         ""
40021	//       ],
40022	//       "location": "query",
40023	//       "type": "string"
40024	//     },
40025	//     "sortOrder": {
40026	//       "default": "ASCENDING",
40027	//       "description": "Order of sorted results.",
40028	//       "enum": [
40029	//         "ASCENDING",
40030	//         "DESCENDING"
40031	//       ],
40032	//       "enumDescriptions": [
40033	//         "",
40034	//         ""
40035	//       ],
40036	//       "location": "query",
40037	//       "type": "string"
40038	//     }
40039	//   },
40040	//   "path": "userprofiles/{profileId}/placementStrategies",
40041	//   "response": {
40042	//     "$ref": "PlacementStrategiesListResponse"
40043	//   },
40044	//   "scopes": [
40045	//     "https://www.googleapis.com/auth/dfatrafficking"
40046	//   ]
40047	// }
40048
40049}
40050
40051// Pages invokes f for each page of results.
40052// A non-nil error returned from f will halt the iteration.
40053// The provided context supersedes any context provided to the Context method.
40054func (c *PlacementStrategiesListCall) Pages(ctx context.Context, f func(*PlacementStrategiesListResponse) error) error {
40055	c.ctx_ = ctx
40056	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
40057	for {
40058		x, err := c.Do()
40059		if err != nil {
40060			return err
40061		}
40062		if err := f(x); err != nil {
40063			return err
40064		}
40065		if x.NextPageToken == "" {
40066			return nil
40067		}
40068		c.PageToken(x.NextPageToken)
40069	}
40070}
40071
40072// method id "dfareporting.placementStrategies.patch":
40073
40074type PlacementStrategiesPatchCall struct {
40075	s                 *Service
40076	profileId         int64
40077	placementstrategy *PlacementStrategy
40078	urlParams_        gensupport.URLParams
40079	ctx_              context.Context
40080	header_           http.Header
40081}
40082
40083// Patch: Updates an existing placement strategy. This method supports
40084// patch semantics.
40085func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
40086	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40087	c.profileId = profileId
40088	c.urlParams_.Set("id", fmt.Sprint(id))
40089	c.placementstrategy = placementstrategy
40090	return c
40091}
40092
40093// Fields allows partial responses to be retrieved. See
40094// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40095// for more information.
40096func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
40097	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40098	return c
40099}
40100
40101// Context sets the context to be used in this call's Do method. Any
40102// pending HTTP request will be aborted if the provided context is
40103// canceled.
40104func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
40105	c.ctx_ = ctx
40106	return c
40107}
40108
40109// Header returns an http.Header that can be modified by the caller to
40110// add HTTP headers to the request.
40111func (c *PlacementStrategiesPatchCall) Header() http.Header {
40112	if c.header_ == nil {
40113		c.header_ = make(http.Header)
40114	}
40115	return c.header_
40116}
40117
40118func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
40119	reqHeaders := make(http.Header)
40120	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
40121	for k, v := range c.header_ {
40122		reqHeaders[k] = v
40123	}
40124	reqHeaders.Set("User-Agent", c.s.userAgent())
40125	var body io.Reader = nil
40126	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
40127	if err != nil {
40128		return nil, err
40129	}
40130	reqHeaders.Set("Content-Type", "application/json")
40131	c.urlParams_.Set("alt", alt)
40132	c.urlParams_.Set("prettyPrint", "false")
40133	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
40134	urls += "?" + c.urlParams_.Encode()
40135	req, err := http.NewRequest("PATCH", urls, body)
40136	if err != nil {
40137		return nil, err
40138	}
40139	req.Header = reqHeaders
40140	googleapi.Expand(req.URL, map[string]string{
40141		"profileId": strconv.FormatInt(c.profileId, 10),
40142	})
40143	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40144}
40145
40146// Do executes the "dfareporting.placementStrategies.patch" call.
40147// Exactly one of *PlacementStrategy or error will be non-nil. Any
40148// non-2xx status code is an error. Response headers are in either
40149// *PlacementStrategy.ServerResponse.Header or (if a response was
40150// returned at all) in error.(*googleapi.Error).Header. Use
40151// googleapi.IsNotModified to check whether the returned error was
40152// because http.StatusNotModified was returned.
40153func (c *PlacementStrategiesPatchCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
40154	gensupport.SetOptions(c.urlParams_, opts...)
40155	res, err := c.doRequest("json")
40156	if res != nil && res.StatusCode == http.StatusNotModified {
40157		if res.Body != nil {
40158			res.Body.Close()
40159		}
40160		return nil, &googleapi.Error{
40161			Code:   res.StatusCode,
40162			Header: res.Header,
40163		}
40164	}
40165	if err != nil {
40166		return nil, err
40167	}
40168	defer googleapi.CloseBody(res)
40169	if err := googleapi.CheckResponse(res); err != nil {
40170		return nil, err
40171	}
40172	ret := &PlacementStrategy{
40173		ServerResponse: googleapi.ServerResponse{
40174			Header:         res.Header,
40175			HTTPStatusCode: res.StatusCode,
40176		},
40177	}
40178	target := &ret
40179	if err := gensupport.DecodeResponse(target, res); err != nil {
40180		return nil, err
40181	}
40182	return ret, nil
40183	// {
40184	//   "description": "Updates an existing placement strategy. This method supports patch semantics.",
40185	//   "httpMethod": "PATCH",
40186	//   "id": "dfareporting.placementStrategies.patch",
40187	//   "parameterOrder": [
40188	//     "profileId",
40189	//     "id"
40190	//   ],
40191	//   "parameters": {
40192	//     "id": {
40193	//       "description": "Placement strategy ID.",
40194	//       "format": "int64",
40195	//       "location": "query",
40196	//       "required": true,
40197	//       "type": "string"
40198	//     },
40199	//     "profileId": {
40200	//       "description": "User profile ID associated with this request.",
40201	//       "format": "int64",
40202	//       "location": "path",
40203	//       "required": true,
40204	//       "type": "string"
40205	//     }
40206	//   },
40207	//   "path": "userprofiles/{profileId}/placementStrategies",
40208	//   "request": {
40209	//     "$ref": "PlacementStrategy"
40210	//   },
40211	//   "response": {
40212	//     "$ref": "PlacementStrategy"
40213	//   },
40214	//   "scopes": [
40215	//     "https://www.googleapis.com/auth/dfatrafficking"
40216	//   ]
40217	// }
40218
40219}
40220
40221// method id "dfareporting.placementStrategies.update":
40222
40223type PlacementStrategiesUpdateCall struct {
40224	s                 *Service
40225	profileId         int64
40226	placementstrategy *PlacementStrategy
40227	urlParams_        gensupport.URLParams
40228	ctx_              context.Context
40229	header_           http.Header
40230}
40231
40232// Update: Updates an existing placement strategy.
40233func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
40234	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40235	c.profileId = profileId
40236	c.placementstrategy = placementstrategy
40237	return c
40238}
40239
40240// Fields allows partial responses to be retrieved. See
40241// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40242// for more information.
40243func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
40244	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40245	return c
40246}
40247
40248// Context sets the context to be used in this call's Do method. Any
40249// pending HTTP request will be aborted if the provided context is
40250// canceled.
40251func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
40252	c.ctx_ = ctx
40253	return c
40254}
40255
40256// Header returns an http.Header that can be modified by the caller to
40257// add HTTP headers to the request.
40258func (c *PlacementStrategiesUpdateCall) Header() http.Header {
40259	if c.header_ == nil {
40260		c.header_ = make(http.Header)
40261	}
40262	return c.header_
40263}
40264
40265func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
40266	reqHeaders := make(http.Header)
40267	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
40268	for k, v := range c.header_ {
40269		reqHeaders[k] = v
40270	}
40271	reqHeaders.Set("User-Agent", c.s.userAgent())
40272	var body io.Reader = nil
40273	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
40274	if err != nil {
40275		return nil, err
40276	}
40277	reqHeaders.Set("Content-Type", "application/json")
40278	c.urlParams_.Set("alt", alt)
40279	c.urlParams_.Set("prettyPrint", "false")
40280	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
40281	urls += "?" + c.urlParams_.Encode()
40282	req, err := http.NewRequest("PUT", urls, body)
40283	if err != nil {
40284		return nil, err
40285	}
40286	req.Header = reqHeaders
40287	googleapi.Expand(req.URL, map[string]string{
40288		"profileId": strconv.FormatInt(c.profileId, 10),
40289	})
40290	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40291}
40292
40293// Do executes the "dfareporting.placementStrategies.update" call.
40294// Exactly one of *PlacementStrategy or error will be non-nil. Any
40295// non-2xx status code is an error. Response headers are in either
40296// *PlacementStrategy.ServerResponse.Header or (if a response was
40297// returned at all) in error.(*googleapi.Error).Header. Use
40298// googleapi.IsNotModified to check whether the returned error was
40299// because http.StatusNotModified was returned.
40300func (c *PlacementStrategiesUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
40301	gensupport.SetOptions(c.urlParams_, opts...)
40302	res, err := c.doRequest("json")
40303	if res != nil && res.StatusCode == http.StatusNotModified {
40304		if res.Body != nil {
40305			res.Body.Close()
40306		}
40307		return nil, &googleapi.Error{
40308			Code:   res.StatusCode,
40309			Header: res.Header,
40310		}
40311	}
40312	if err != nil {
40313		return nil, err
40314	}
40315	defer googleapi.CloseBody(res)
40316	if err := googleapi.CheckResponse(res); err != nil {
40317		return nil, err
40318	}
40319	ret := &PlacementStrategy{
40320		ServerResponse: googleapi.ServerResponse{
40321			Header:         res.Header,
40322			HTTPStatusCode: res.StatusCode,
40323		},
40324	}
40325	target := &ret
40326	if err := gensupport.DecodeResponse(target, res); err != nil {
40327		return nil, err
40328	}
40329	return ret, nil
40330	// {
40331	//   "description": "Updates an existing placement strategy.",
40332	//   "httpMethod": "PUT",
40333	//   "id": "dfareporting.placementStrategies.update",
40334	//   "parameterOrder": [
40335	//     "profileId"
40336	//   ],
40337	//   "parameters": {
40338	//     "profileId": {
40339	//       "description": "User profile ID associated with this request.",
40340	//       "format": "int64",
40341	//       "location": "path",
40342	//       "required": true,
40343	//       "type": "string"
40344	//     }
40345	//   },
40346	//   "path": "userprofiles/{profileId}/placementStrategies",
40347	//   "request": {
40348	//     "$ref": "PlacementStrategy"
40349	//   },
40350	//   "response": {
40351	//     "$ref": "PlacementStrategy"
40352	//   },
40353	//   "scopes": [
40354	//     "https://www.googleapis.com/auth/dfatrafficking"
40355	//   ]
40356	// }
40357
40358}
40359
40360// method id "dfareporting.placements.generatetags":
40361
40362type PlacementsGeneratetagsCall struct {
40363	s          *Service
40364	profileId  int64
40365	urlParams_ gensupport.URLParams
40366	ctx_       context.Context
40367	header_    http.Header
40368}
40369
40370// Generatetags: Generates tags for a placement.
40371func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
40372	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40373	c.profileId = profileId
40374	return c
40375}
40376
40377// CampaignId sets the optional parameter "campaignId": Generate
40378// placements belonging to this campaign. This is a required field.
40379func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
40380	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
40381	return c
40382}
40383
40384// PlacementIds sets the optional parameter "placementIds": Generate
40385// tags for these placements.
40386func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *PlacementsGeneratetagsCall {
40387	var placementIds_ []string
40388	for _, v := range placementIds {
40389		placementIds_ = append(placementIds_, fmt.Sprint(v))
40390	}
40391	c.urlParams_.SetMulti("placementIds", placementIds_)
40392	return c
40393}
40394
40395// TagFormats sets the optional parameter "tagFormats": Tag formats to
40396// generate for these placements.
40397//
40398// Note: PLACEMENT_TAG_STANDARD can only be generated for 1x1
40399// placements.
40400//
40401// Possible values:
40402//   "PLACEMENT_TAG_CLICK_COMMANDS"
40403//   "PLACEMENT_TAG_IFRAME_ILAYER"
40404//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
40405//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
40406//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
40407//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
40408//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
40409//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
40410//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
40411//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
40412//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
40413//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
40414//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
40415//   "PLACEMENT_TAG_JAVASCRIPT"
40416//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
40417//   "PLACEMENT_TAG_STANDARD"
40418//   "PLACEMENT_TAG_TRACKING"
40419//   "PLACEMENT_TAG_TRACKING_IFRAME"
40420//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
40421func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats ...string) *PlacementsGeneratetagsCall {
40422	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
40423	return c
40424}
40425
40426// Fields allows partial responses to be retrieved. See
40427// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40428// for more information.
40429func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
40430	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40431	return c
40432}
40433
40434// Context sets the context to be used in this call's Do method. Any
40435// pending HTTP request will be aborted if the provided context is
40436// canceled.
40437func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
40438	c.ctx_ = ctx
40439	return c
40440}
40441
40442// Header returns an http.Header that can be modified by the caller to
40443// add HTTP headers to the request.
40444func (c *PlacementsGeneratetagsCall) Header() http.Header {
40445	if c.header_ == nil {
40446		c.header_ = make(http.Header)
40447	}
40448	return c.header_
40449}
40450
40451func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
40452	reqHeaders := make(http.Header)
40453	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
40454	for k, v := range c.header_ {
40455		reqHeaders[k] = v
40456	}
40457	reqHeaders.Set("User-Agent", c.s.userAgent())
40458	var body io.Reader = nil
40459	c.urlParams_.Set("alt", alt)
40460	c.urlParams_.Set("prettyPrint", "false")
40461	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
40462	urls += "?" + c.urlParams_.Encode()
40463	req, err := http.NewRequest("POST", urls, body)
40464	if err != nil {
40465		return nil, err
40466	}
40467	req.Header = reqHeaders
40468	googleapi.Expand(req.URL, map[string]string{
40469		"profileId": strconv.FormatInt(c.profileId, 10),
40470	})
40471	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40472}
40473
40474// Do executes the "dfareporting.placements.generatetags" call.
40475// Exactly one of *PlacementsGenerateTagsResponse or error will be
40476// non-nil. Any non-2xx status code is an error. Response headers are in
40477// either *PlacementsGenerateTagsResponse.ServerResponse.Header or (if a
40478// response was returned at all) in error.(*googleapi.Error).Header. Use
40479// googleapi.IsNotModified to check whether the returned error was
40480// because http.StatusNotModified was returned.
40481func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*PlacementsGenerateTagsResponse, error) {
40482	gensupport.SetOptions(c.urlParams_, opts...)
40483	res, err := c.doRequest("json")
40484	if res != nil && res.StatusCode == http.StatusNotModified {
40485		if res.Body != nil {
40486			res.Body.Close()
40487		}
40488		return nil, &googleapi.Error{
40489			Code:   res.StatusCode,
40490			Header: res.Header,
40491		}
40492	}
40493	if err != nil {
40494		return nil, err
40495	}
40496	defer googleapi.CloseBody(res)
40497	if err := googleapi.CheckResponse(res); err != nil {
40498		return nil, err
40499	}
40500	ret := &PlacementsGenerateTagsResponse{
40501		ServerResponse: googleapi.ServerResponse{
40502			Header:         res.Header,
40503			HTTPStatusCode: res.StatusCode,
40504		},
40505	}
40506	target := &ret
40507	if err := gensupport.DecodeResponse(target, res); err != nil {
40508		return nil, err
40509	}
40510	return ret, nil
40511	// {
40512	//   "description": "Generates tags for a placement.",
40513	//   "httpMethod": "POST",
40514	//   "id": "dfareporting.placements.generatetags",
40515	//   "parameterOrder": [
40516	//     "profileId"
40517	//   ],
40518	//   "parameters": {
40519	//     "campaignId": {
40520	//       "description": "Generate placements belonging to this campaign. This is a required field.",
40521	//       "format": "int64",
40522	//       "location": "query",
40523	//       "type": "string"
40524	//     },
40525	//     "placementIds": {
40526	//       "description": "Generate tags for these placements.",
40527	//       "format": "int64",
40528	//       "location": "query",
40529	//       "repeated": true,
40530	//       "type": "string"
40531	//     },
40532	//     "profileId": {
40533	//       "description": "User profile ID associated with this request.",
40534	//       "format": "int64",
40535	//       "location": "path",
40536	//       "required": true,
40537	//       "type": "string"
40538	//     },
40539	//     "tagFormats": {
40540	//       "description": "Tag formats to generate for these placements.\n\nNote: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
40541	//       "enum": [
40542	//         "PLACEMENT_TAG_CLICK_COMMANDS",
40543	//         "PLACEMENT_TAG_IFRAME_ILAYER",
40544	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
40545	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
40546	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
40547	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
40548	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
40549	//         "PLACEMENT_TAG_INTERNAL_REDIRECT",
40550	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
40551	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
40552	//         "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
40553	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
40554	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
40555	//         "PLACEMENT_TAG_JAVASCRIPT",
40556	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
40557	//         "PLACEMENT_TAG_STANDARD",
40558	//         "PLACEMENT_TAG_TRACKING",
40559	//         "PLACEMENT_TAG_TRACKING_IFRAME",
40560	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
40561	//       ],
40562	//       "enumDescriptions": [
40563	//         "",
40564	//         "",
40565	//         "",
40566	//         "",
40567	//         "",
40568	//         "",
40569	//         "",
40570	//         "",
40571	//         "",
40572	//         "",
40573	//         "",
40574	//         "",
40575	//         "",
40576	//         "",
40577	//         "",
40578	//         "",
40579	//         "",
40580	//         "",
40581	//         ""
40582	//       ],
40583	//       "location": "query",
40584	//       "repeated": true,
40585	//       "type": "string"
40586	//     }
40587	//   },
40588	//   "path": "userprofiles/{profileId}/placements/generatetags",
40589	//   "response": {
40590	//     "$ref": "PlacementsGenerateTagsResponse"
40591	//   },
40592	//   "scopes": [
40593	//     "https://www.googleapis.com/auth/dfatrafficking"
40594	//   ]
40595	// }
40596
40597}
40598
40599// method id "dfareporting.placements.get":
40600
40601type PlacementsGetCall struct {
40602	s            *Service
40603	profileId    int64
40604	id           int64
40605	urlParams_   gensupport.URLParams
40606	ifNoneMatch_ string
40607	ctx_         context.Context
40608	header_      http.Header
40609}
40610
40611// Get: Gets one placement by ID.
40612func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
40613	c := &PlacementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40614	c.profileId = profileId
40615	c.id = id
40616	return c
40617}
40618
40619// Fields allows partial responses to be retrieved. See
40620// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40621// for more information.
40622func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
40623	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40624	return c
40625}
40626
40627// IfNoneMatch sets the optional parameter which makes the operation
40628// fail if the object's ETag matches the given value. This is useful for
40629// getting updates only after the object has changed since the last
40630// request. Use googleapi.IsNotModified to check whether the response
40631// error from Do is the result of In-None-Match.
40632func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
40633	c.ifNoneMatch_ = entityTag
40634	return c
40635}
40636
40637// Context sets the context to be used in this call's Do method. Any
40638// pending HTTP request will be aborted if the provided context is
40639// canceled.
40640func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
40641	c.ctx_ = ctx
40642	return c
40643}
40644
40645// Header returns an http.Header that can be modified by the caller to
40646// add HTTP headers to the request.
40647func (c *PlacementsGetCall) Header() http.Header {
40648	if c.header_ == nil {
40649		c.header_ = make(http.Header)
40650	}
40651	return c.header_
40652}
40653
40654func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
40655	reqHeaders := make(http.Header)
40656	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
40657	for k, v := range c.header_ {
40658		reqHeaders[k] = v
40659	}
40660	reqHeaders.Set("User-Agent", c.s.userAgent())
40661	if c.ifNoneMatch_ != "" {
40662		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40663	}
40664	var body io.Reader = nil
40665	c.urlParams_.Set("alt", alt)
40666	c.urlParams_.Set("prettyPrint", "false")
40667	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
40668	urls += "?" + c.urlParams_.Encode()
40669	req, err := http.NewRequest("GET", urls, body)
40670	if err != nil {
40671		return nil, err
40672	}
40673	req.Header = reqHeaders
40674	googleapi.Expand(req.URL, map[string]string{
40675		"profileId": strconv.FormatInt(c.profileId, 10),
40676		"id":        strconv.FormatInt(c.id, 10),
40677	})
40678	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40679}
40680
40681// Do executes the "dfareporting.placements.get" call.
40682// Exactly one of *Placement or error will be non-nil. Any non-2xx
40683// status code is an error. Response headers are in either
40684// *Placement.ServerResponse.Header or (if a response was returned at
40685// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40686// to check whether the returned error was because
40687// http.StatusNotModified was returned.
40688func (c *PlacementsGetCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40689	gensupport.SetOptions(c.urlParams_, opts...)
40690	res, err := c.doRequest("json")
40691	if res != nil && res.StatusCode == http.StatusNotModified {
40692		if res.Body != nil {
40693			res.Body.Close()
40694		}
40695		return nil, &googleapi.Error{
40696			Code:   res.StatusCode,
40697			Header: res.Header,
40698		}
40699	}
40700	if err != nil {
40701		return nil, err
40702	}
40703	defer googleapi.CloseBody(res)
40704	if err := googleapi.CheckResponse(res); err != nil {
40705		return nil, err
40706	}
40707	ret := &Placement{
40708		ServerResponse: googleapi.ServerResponse{
40709			Header:         res.Header,
40710			HTTPStatusCode: res.StatusCode,
40711		},
40712	}
40713	target := &ret
40714	if err := gensupport.DecodeResponse(target, res); err != nil {
40715		return nil, err
40716	}
40717	return ret, nil
40718	// {
40719	//   "description": "Gets one placement by ID.",
40720	//   "httpMethod": "GET",
40721	//   "id": "dfareporting.placements.get",
40722	//   "parameterOrder": [
40723	//     "profileId",
40724	//     "id"
40725	//   ],
40726	//   "parameters": {
40727	//     "id": {
40728	//       "description": "Placement ID.",
40729	//       "format": "int64",
40730	//       "location": "path",
40731	//       "required": true,
40732	//       "type": "string"
40733	//     },
40734	//     "profileId": {
40735	//       "description": "User profile ID associated with this request.",
40736	//       "format": "int64",
40737	//       "location": "path",
40738	//       "required": true,
40739	//       "type": "string"
40740	//     }
40741	//   },
40742	//   "path": "userprofiles/{profileId}/placements/{id}",
40743	//   "response": {
40744	//     "$ref": "Placement"
40745	//   },
40746	//   "scopes": [
40747	//     "https://www.googleapis.com/auth/dfatrafficking"
40748	//   ]
40749	// }
40750
40751}
40752
40753// method id "dfareporting.placements.insert":
40754
40755type PlacementsInsertCall struct {
40756	s          *Service
40757	profileId  int64
40758	placement  *Placement
40759	urlParams_ gensupport.URLParams
40760	ctx_       context.Context
40761	header_    http.Header
40762}
40763
40764// Insert: Inserts a new placement.
40765func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
40766	c := &PlacementsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40767	c.profileId = profileId
40768	c.placement = placement
40769	return c
40770}
40771
40772// Fields allows partial responses to be retrieved. See
40773// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40774// for more information.
40775func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
40776	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40777	return c
40778}
40779
40780// Context sets the context to be used in this call's Do method. Any
40781// pending HTTP request will be aborted if the provided context is
40782// canceled.
40783func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
40784	c.ctx_ = ctx
40785	return c
40786}
40787
40788// Header returns an http.Header that can be modified by the caller to
40789// add HTTP headers to the request.
40790func (c *PlacementsInsertCall) Header() http.Header {
40791	if c.header_ == nil {
40792		c.header_ = make(http.Header)
40793	}
40794	return c.header_
40795}
40796
40797func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
40798	reqHeaders := make(http.Header)
40799	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
40800	for k, v := range c.header_ {
40801		reqHeaders[k] = v
40802	}
40803	reqHeaders.Set("User-Agent", c.s.userAgent())
40804	var body io.Reader = nil
40805	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
40806	if err != nil {
40807		return nil, err
40808	}
40809	reqHeaders.Set("Content-Type", "application/json")
40810	c.urlParams_.Set("alt", alt)
40811	c.urlParams_.Set("prettyPrint", "false")
40812	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40813	urls += "?" + c.urlParams_.Encode()
40814	req, err := http.NewRequest("POST", urls, body)
40815	if err != nil {
40816		return nil, err
40817	}
40818	req.Header = reqHeaders
40819	googleapi.Expand(req.URL, map[string]string{
40820		"profileId": strconv.FormatInt(c.profileId, 10),
40821	})
40822	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40823}
40824
40825// Do executes the "dfareporting.placements.insert" call.
40826// Exactly one of *Placement or error will be non-nil. Any non-2xx
40827// status code is an error. Response headers are in either
40828// *Placement.ServerResponse.Header or (if a response was returned at
40829// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40830// to check whether the returned error was because
40831// http.StatusNotModified was returned.
40832func (c *PlacementsInsertCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40833	gensupport.SetOptions(c.urlParams_, opts...)
40834	res, err := c.doRequest("json")
40835	if res != nil && res.StatusCode == http.StatusNotModified {
40836		if res.Body != nil {
40837			res.Body.Close()
40838		}
40839		return nil, &googleapi.Error{
40840			Code:   res.StatusCode,
40841			Header: res.Header,
40842		}
40843	}
40844	if err != nil {
40845		return nil, err
40846	}
40847	defer googleapi.CloseBody(res)
40848	if err := googleapi.CheckResponse(res); err != nil {
40849		return nil, err
40850	}
40851	ret := &Placement{
40852		ServerResponse: googleapi.ServerResponse{
40853			Header:         res.Header,
40854			HTTPStatusCode: res.StatusCode,
40855		},
40856	}
40857	target := &ret
40858	if err := gensupport.DecodeResponse(target, res); err != nil {
40859		return nil, err
40860	}
40861	return ret, nil
40862	// {
40863	//   "description": "Inserts a new placement.",
40864	//   "httpMethod": "POST",
40865	//   "id": "dfareporting.placements.insert",
40866	//   "parameterOrder": [
40867	//     "profileId"
40868	//   ],
40869	//   "parameters": {
40870	//     "profileId": {
40871	//       "description": "User profile ID associated with this request.",
40872	//       "format": "int64",
40873	//       "location": "path",
40874	//       "required": true,
40875	//       "type": "string"
40876	//     }
40877	//   },
40878	//   "path": "userprofiles/{profileId}/placements",
40879	//   "request": {
40880	//     "$ref": "Placement"
40881	//   },
40882	//   "response": {
40883	//     "$ref": "Placement"
40884	//   },
40885	//   "scopes": [
40886	//     "https://www.googleapis.com/auth/dfatrafficking"
40887	//   ]
40888	// }
40889
40890}
40891
40892// method id "dfareporting.placements.list":
40893
40894type PlacementsListCall struct {
40895	s            *Service
40896	profileId    int64
40897	urlParams_   gensupport.URLParams
40898	ifNoneMatch_ string
40899	ctx_         context.Context
40900	header_      http.Header
40901}
40902
40903// List: Retrieves a list of placements, possibly filtered. This method
40904// supports paging.
40905func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
40906	c := &PlacementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40907	c.profileId = profileId
40908	return c
40909}
40910
40911// AdvertiserIds sets the optional parameter "advertiserIds": Select
40912// only placements that belong to these advertisers.
40913func (c *PlacementsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementsListCall {
40914	var advertiserIds_ []string
40915	for _, v := range advertiserIds {
40916		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
40917	}
40918	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
40919	return c
40920}
40921
40922// Archived sets the optional parameter "archived": Select only archived
40923// placements. Don't set this field to select both archived and
40924// non-archived placements.
40925func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
40926	c.urlParams_.Set("archived", fmt.Sprint(archived))
40927	return c
40928}
40929
40930// CampaignIds sets the optional parameter "campaignIds": Select only
40931// placements that belong to these campaigns.
40932func (c *PlacementsListCall) CampaignIds(campaignIds ...int64) *PlacementsListCall {
40933	var campaignIds_ []string
40934	for _, v := range campaignIds {
40935		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
40936	}
40937	c.urlParams_.SetMulti("campaignIds", campaignIds_)
40938	return c
40939}
40940
40941// Compatibilities sets the optional parameter "compatibilities": Select
40942// only placements that are associated with these compatibilities.
40943// DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
40944// or on mobile devices for regular or interstitial ads respectively.
40945// APP and APP_INTERSTITIAL are for rendering in mobile apps.
40946// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
40947// with the VAST standard.
40948//
40949// Possible values:
40950//   "APP"
40951//   "APP_INTERSTITIAL"
40952//   "DISPLAY"
40953//   "DISPLAY_INTERSTITIAL"
40954//   "IN_STREAM_AUDIO"
40955//   "IN_STREAM_VIDEO"
40956func (c *PlacementsListCall) Compatibilities(compatibilities ...string) *PlacementsListCall {
40957	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
40958	return c
40959}
40960
40961// ContentCategoryIds sets the optional parameter "contentCategoryIds":
40962// Select only placements that are associated with these content
40963// categories.
40964func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementsListCall {
40965	var contentCategoryIds_ []string
40966	for _, v := range contentCategoryIds {
40967		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
40968	}
40969	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
40970	return c
40971}
40972
40973// DirectorySiteIds sets the optional parameter "directorySiteIds":
40974// Select only placements that are associated with these directory
40975// sites.
40976func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementsListCall {
40977	var directorySiteIds_ []string
40978	for _, v := range directorySiteIds {
40979		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
40980	}
40981	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
40982	return c
40983}
40984
40985// GroupIds sets the optional parameter "groupIds": Select only
40986// placements that belong to these placement groups.
40987func (c *PlacementsListCall) GroupIds(groupIds ...int64) *PlacementsListCall {
40988	var groupIds_ []string
40989	for _, v := range groupIds {
40990		groupIds_ = append(groupIds_, fmt.Sprint(v))
40991	}
40992	c.urlParams_.SetMulti("groupIds", groupIds_)
40993	return c
40994}
40995
40996// Ids sets the optional parameter "ids": Select only placements with
40997// these IDs.
40998func (c *PlacementsListCall) Ids(ids ...int64) *PlacementsListCall {
40999	var ids_ []string
41000	for _, v := range ids {
41001		ids_ = append(ids_, fmt.Sprint(v))
41002	}
41003	c.urlParams_.SetMulti("ids", ids_)
41004	return c
41005}
41006
41007// MaxEndDate sets the optional parameter "maxEndDate": Select only
41008// placements or placement groups whose end date is on or before the
41009// specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
41010func (c *PlacementsListCall) MaxEndDate(maxEndDate string) *PlacementsListCall {
41011	c.urlParams_.Set("maxEndDate", maxEndDate)
41012	return c
41013}
41014
41015// MaxResults sets the optional parameter "maxResults": Maximum number
41016// of results to return.
41017func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
41018	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
41019	return c
41020}
41021
41022// MaxStartDate sets the optional parameter "maxStartDate": Select only
41023// placements or placement groups whose start date is on or before the
41024// specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
41025func (c *PlacementsListCall) MaxStartDate(maxStartDate string) *PlacementsListCall {
41026	c.urlParams_.Set("maxStartDate", maxStartDate)
41027	return c
41028}
41029
41030// MinEndDate sets the optional parameter "minEndDate": Select only
41031// placements or placement groups whose end date is on or after the
41032// specified minEndDate. The date should be formatted as "yyyy-MM-dd".
41033func (c *PlacementsListCall) MinEndDate(minEndDate string) *PlacementsListCall {
41034	c.urlParams_.Set("minEndDate", minEndDate)
41035	return c
41036}
41037
41038// MinStartDate sets the optional parameter "minStartDate": Select only
41039// placements or placement groups whose start date is on or after the
41040// specified minStartDate. The date should be formatted as "yyyy-MM-dd".
41041func (c *PlacementsListCall) MinStartDate(minStartDate string) *PlacementsListCall {
41042	c.urlParams_.Set("minStartDate", minStartDate)
41043	return c
41044}
41045
41046// PageToken sets the optional parameter "pageToken": Value of the
41047// nextPageToken from the previous result page.
41048func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
41049	c.urlParams_.Set("pageToken", pageToken)
41050	return c
41051}
41052
41053// PaymentSource sets the optional parameter "paymentSource": Select
41054// only placements with this payment source.
41055//
41056// Possible values:
41057//   "PLACEMENT_AGENCY_PAID"
41058//   "PLACEMENT_PUBLISHER_PAID"
41059func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
41060	c.urlParams_.Set("paymentSource", paymentSource)
41061	return c
41062}
41063
41064// PlacementStrategyIds sets the optional parameter
41065// "placementStrategyIds": Select only placements that are associated
41066// with these placement strategies.
41067func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementsListCall {
41068	var placementStrategyIds_ []string
41069	for _, v := range placementStrategyIds {
41070		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
41071	}
41072	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
41073	return c
41074}
41075
41076// PricingTypes sets the optional parameter "pricingTypes": Select only
41077// placements with these pricing types.
41078//
41079// Possible values:
41080//   "PRICING_TYPE_CPA"
41081//   "PRICING_TYPE_CPC"
41082//   "PRICING_TYPE_CPM"
41083//   "PRICING_TYPE_CPM_ACTIVEVIEW"
41084//   "PRICING_TYPE_FLAT_RATE_CLICKS"
41085//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
41086func (c *PlacementsListCall) PricingTypes(pricingTypes ...string) *PlacementsListCall {
41087	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
41088	return c
41089}
41090
41091// SearchString sets the optional parameter "searchString": Allows
41092// searching for placements by name or ID. Wildcards (*) are allowed.
41093// For example, "placement*2015" will return placements with names like
41094// "placement June 2015", "placement May 2015", or simply "placements
41095// 2015". Most of the searches also add wildcards implicitly at the
41096// start and the end of the search string. For example, a search string
41097// of "placement" will match placements with name "my placement",
41098// "placement 2015", or simply "placement".
41099func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
41100	c.urlParams_.Set("searchString", searchString)
41101	return c
41102}
41103
41104// SiteIds sets the optional parameter "siteIds": Select only placements
41105// that are associated with these sites.
41106func (c *PlacementsListCall) SiteIds(siteIds ...int64) *PlacementsListCall {
41107	var siteIds_ []string
41108	for _, v := range siteIds {
41109		siteIds_ = append(siteIds_, fmt.Sprint(v))
41110	}
41111	c.urlParams_.SetMulti("siteIds", siteIds_)
41112	return c
41113}
41114
41115// SizeIds sets the optional parameter "sizeIds": Select only placements
41116// that are associated with these sizes.
41117func (c *PlacementsListCall) SizeIds(sizeIds ...int64) *PlacementsListCall {
41118	var sizeIds_ []string
41119	for _, v := range sizeIds {
41120		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
41121	}
41122	c.urlParams_.SetMulti("sizeIds", sizeIds_)
41123	return c
41124}
41125
41126// SortField sets the optional parameter "sortField": Field by which to
41127// sort the list.
41128//
41129// Possible values:
41130//   "ID" (default)
41131//   "NAME"
41132func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
41133	c.urlParams_.Set("sortField", sortField)
41134	return c
41135}
41136
41137// SortOrder sets the optional parameter "sortOrder": Order of sorted
41138// results.
41139//
41140// Possible values:
41141//   "ASCENDING" (default)
41142//   "DESCENDING"
41143func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
41144	c.urlParams_.Set("sortOrder", sortOrder)
41145	return c
41146}
41147
41148// Fields allows partial responses to be retrieved. See
41149// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41150// for more information.
41151func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
41152	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41153	return c
41154}
41155
41156// IfNoneMatch sets the optional parameter which makes the operation
41157// fail if the object's ETag matches the given value. This is useful for
41158// getting updates only after the object has changed since the last
41159// request. Use googleapi.IsNotModified to check whether the response
41160// error from Do is the result of In-None-Match.
41161func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
41162	c.ifNoneMatch_ = entityTag
41163	return c
41164}
41165
41166// Context sets the context to be used in this call's Do method. Any
41167// pending HTTP request will be aborted if the provided context is
41168// canceled.
41169func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
41170	c.ctx_ = ctx
41171	return c
41172}
41173
41174// Header returns an http.Header that can be modified by the caller to
41175// add HTTP headers to the request.
41176func (c *PlacementsListCall) Header() http.Header {
41177	if c.header_ == nil {
41178		c.header_ = make(http.Header)
41179	}
41180	return c.header_
41181}
41182
41183func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
41184	reqHeaders := make(http.Header)
41185	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
41186	for k, v := range c.header_ {
41187		reqHeaders[k] = v
41188	}
41189	reqHeaders.Set("User-Agent", c.s.userAgent())
41190	if c.ifNoneMatch_ != "" {
41191		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41192	}
41193	var body io.Reader = nil
41194	c.urlParams_.Set("alt", alt)
41195	c.urlParams_.Set("prettyPrint", "false")
41196	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
41197	urls += "?" + c.urlParams_.Encode()
41198	req, err := http.NewRequest("GET", urls, body)
41199	if err != nil {
41200		return nil, err
41201	}
41202	req.Header = reqHeaders
41203	googleapi.Expand(req.URL, map[string]string{
41204		"profileId": strconv.FormatInt(c.profileId, 10),
41205	})
41206	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41207}
41208
41209// Do executes the "dfareporting.placements.list" call.
41210// Exactly one of *PlacementsListResponse or error will be non-nil. Any
41211// non-2xx status code is an error. Response headers are in either
41212// *PlacementsListResponse.ServerResponse.Header or (if a response was
41213// returned at all) in error.(*googleapi.Error).Header. Use
41214// googleapi.IsNotModified to check whether the returned error was
41215// because http.StatusNotModified was returned.
41216func (c *PlacementsListCall) Do(opts ...googleapi.CallOption) (*PlacementsListResponse, error) {
41217	gensupport.SetOptions(c.urlParams_, opts...)
41218	res, err := c.doRequest("json")
41219	if res != nil && res.StatusCode == http.StatusNotModified {
41220		if res.Body != nil {
41221			res.Body.Close()
41222		}
41223		return nil, &googleapi.Error{
41224			Code:   res.StatusCode,
41225			Header: res.Header,
41226		}
41227	}
41228	if err != nil {
41229		return nil, err
41230	}
41231	defer googleapi.CloseBody(res)
41232	if err := googleapi.CheckResponse(res); err != nil {
41233		return nil, err
41234	}
41235	ret := &PlacementsListResponse{
41236		ServerResponse: googleapi.ServerResponse{
41237			Header:         res.Header,
41238			HTTPStatusCode: res.StatusCode,
41239		},
41240	}
41241	target := &ret
41242	if err := gensupport.DecodeResponse(target, res); err != nil {
41243		return nil, err
41244	}
41245	return ret, nil
41246	// {
41247	//   "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
41248	//   "httpMethod": "GET",
41249	//   "id": "dfareporting.placements.list",
41250	//   "parameterOrder": [
41251	//     "profileId"
41252	//   ],
41253	//   "parameters": {
41254	//     "advertiserIds": {
41255	//       "description": "Select only placements that belong to these advertisers.",
41256	//       "format": "int64",
41257	//       "location": "query",
41258	//       "repeated": true,
41259	//       "type": "string"
41260	//     },
41261	//     "archived": {
41262	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
41263	//       "location": "query",
41264	//       "type": "boolean"
41265	//     },
41266	//     "campaignIds": {
41267	//       "description": "Select only placements that belong to these campaigns.",
41268	//       "format": "int64",
41269	//       "location": "query",
41270	//       "repeated": true,
41271	//       "type": "string"
41272	//     },
41273	//     "compatibilities": {
41274	//       "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.",
41275	//       "enum": [
41276	//         "APP",
41277	//         "APP_INTERSTITIAL",
41278	//         "DISPLAY",
41279	//         "DISPLAY_INTERSTITIAL",
41280	//         "IN_STREAM_AUDIO",
41281	//         "IN_STREAM_VIDEO"
41282	//       ],
41283	//       "enumDescriptions": [
41284	//         "",
41285	//         "",
41286	//         "",
41287	//         "",
41288	//         "",
41289	//         ""
41290	//       ],
41291	//       "location": "query",
41292	//       "repeated": true,
41293	//       "type": "string"
41294	//     },
41295	//     "contentCategoryIds": {
41296	//       "description": "Select only placements that are associated with these content categories.",
41297	//       "format": "int64",
41298	//       "location": "query",
41299	//       "repeated": true,
41300	//       "type": "string"
41301	//     },
41302	//     "directorySiteIds": {
41303	//       "description": "Select only placements that are associated with these directory sites.",
41304	//       "format": "int64",
41305	//       "location": "query",
41306	//       "repeated": true,
41307	//       "type": "string"
41308	//     },
41309	//     "groupIds": {
41310	//       "description": "Select only placements that belong to these placement groups.",
41311	//       "format": "int64",
41312	//       "location": "query",
41313	//       "repeated": true,
41314	//       "type": "string"
41315	//     },
41316	//     "ids": {
41317	//       "description": "Select only placements with these IDs.",
41318	//       "format": "int64",
41319	//       "location": "query",
41320	//       "repeated": true,
41321	//       "type": "string"
41322	//     },
41323	//     "maxEndDate": {
41324	//       "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\".",
41325	//       "location": "query",
41326	//       "type": "string"
41327	//     },
41328	//     "maxResults": {
41329	//       "default": "1000",
41330	//       "description": "Maximum number of results to return.",
41331	//       "format": "int32",
41332	//       "location": "query",
41333	//       "maximum": "1000",
41334	//       "minimum": "0",
41335	//       "type": "integer"
41336	//     },
41337	//     "maxStartDate": {
41338	//       "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\".",
41339	//       "location": "query",
41340	//       "type": "string"
41341	//     },
41342	//     "minEndDate": {
41343	//       "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\".",
41344	//       "location": "query",
41345	//       "type": "string"
41346	//     },
41347	//     "minStartDate": {
41348	//       "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\".",
41349	//       "location": "query",
41350	//       "type": "string"
41351	//     },
41352	//     "pageToken": {
41353	//       "description": "Value of the nextPageToken from the previous result page.",
41354	//       "location": "query",
41355	//       "type": "string"
41356	//     },
41357	//     "paymentSource": {
41358	//       "description": "Select only placements with this payment source.",
41359	//       "enum": [
41360	//         "PLACEMENT_AGENCY_PAID",
41361	//         "PLACEMENT_PUBLISHER_PAID"
41362	//       ],
41363	//       "enumDescriptions": [
41364	//         "",
41365	//         ""
41366	//       ],
41367	//       "location": "query",
41368	//       "type": "string"
41369	//     },
41370	//     "placementStrategyIds": {
41371	//       "description": "Select only placements that are associated with these placement strategies.",
41372	//       "format": "int64",
41373	//       "location": "query",
41374	//       "repeated": true,
41375	//       "type": "string"
41376	//     },
41377	//     "pricingTypes": {
41378	//       "description": "Select only placements with these pricing types.",
41379	//       "enum": [
41380	//         "PRICING_TYPE_CPA",
41381	//         "PRICING_TYPE_CPC",
41382	//         "PRICING_TYPE_CPM",
41383	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
41384	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
41385	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
41386	//       ],
41387	//       "enumDescriptions": [
41388	//         "",
41389	//         "",
41390	//         "",
41391	//         "",
41392	//         "",
41393	//         ""
41394	//       ],
41395	//       "location": "query",
41396	//       "repeated": true,
41397	//       "type": "string"
41398	//     },
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	//     "searchString": {
41407	//       "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\".",
41408	//       "location": "query",
41409	//       "type": "string"
41410	//     },
41411	//     "siteIds": {
41412	//       "description": "Select only placements that are associated with these sites.",
41413	//       "format": "int64",
41414	//       "location": "query",
41415	//       "repeated": true,
41416	//       "type": "string"
41417	//     },
41418	//     "sizeIds": {
41419	//       "description": "Select only placements that are associated with these sizes.",
41420	//       "format": "int64",
41421	//       "location": "query",
41422	//       "repeated": true,
41423	//       "type": "string"
41424	//     },
41425	//     "sortField": {
41426	//       "default": "ID",
41427	//       "description": "Field by which to sort the list.",
41428	//       "enum": [
41429	//         "ID",
41430	//         "NAME"
41431	//       ],
41432	//       "enumDescriptions": [
41433	//         "",
41434	//         ""
41435	//       ],
41436	//       "location": "query",
41437	//       "type": "string"
41438	//     },
41439	//     "sortOrder": {
41440	//       "default": "ASCENDING",
41441	//       "description": "Order of sorted results.",
41442	//       "enum": [
41443	//         "ASCENDING",
41444	//         "DESCENDING"
41445	//       ],
41446	//       "enumDescriptions": [
41447	//         "",
41448	//         ""
41449	//       ],
41450	//       "location": "query",
41451	//       "type": "string"
41452	//     }
41453	//   },
41454	//   "path": "userprofiles/{profileId}/placements",
41455	//   "response": {
41456	//     "$ref": "PlacementsListResponse"
41457	//   },
41458	//   "scopes": [
41459	//     "https://www.googleapis.com/auth/dfatrafficking"
41460	//   ]
41461	// }
41462
41463}
41464
41465// Pages invokes f for each page of results.
41466// A non-nil error returned from f will halt the iteration.
41467// The provided context supersedes any context provided to the Context method.
41468func (c *PlacementsListCall) Pages(ctx context.Context, f func(*PlacementsListResponse) error) error {
41469	c.ctx_ = ctx
41470	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
41471	for {
41472		x, err := c.Do()
41473		if err != nil {
41474			return err
41475		}
41476		if err := f(x); err != nil {
41477			return err
41478		}
41479		if x.NextPageToken == "" {
41480			return nil
41481		}
41482		c.PageToken(x.NextPageToken)
41483	}
41484}
41485
41486// method id "dfareporting.placements.patch":
41487
41488type PlacementsPatchCall struct {
41489	s          *Service
41490	profileId  int64
41491	placement  *Placement
41492	urlParams_ gensupport.URLParams
41493	ctx_       context.Context
41494	header_    http.Header
41495}
41496
41497// Patch: Updates an existing placement. This method supports patch
41498// semantics.
41499func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
41500	c := &PlacementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41501	c.profileId = profileId
41502	c.urlParams_.Set("id", fmt.Sprint(id))
41503	c.placement = placement
41504	return c
41505}
41506
41507// Fields allows partial responses to be retrieved. See
41508// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41509// for more information.
41510func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
41511	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41512	return c
41513}
41514
41515// Context sets the context to be used in this call's Do method. Any
41516// pending HTTP request will be aborted if the provided context is
41517// canceled.
41518func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
41519	c.ctx_ = ctx
41520	return c
41521}
41522
41523// Header returns an http.Header that can be modified by the caller to
41524// add HTTP headers to the request.
41525func (c *PlacementsPatchCall) Header() http.Header {
41526	if c.header_ == nil {
41527		c.header_ = make(http.Header)
41528	}
41529	return c.header_
41530}
41531
41532func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
41533	reqHeaders := make(http.Header)
41534	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
41535	for k, v := range c.header_ {
41536		reqHeaders[k] = v
41537	}
41538	reqHeaders.Set("User-Agent", c.s.userAgent())
41539	var body io.Reader = nil
41540	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
41541	if err != nil {
41542		return nil, err
41543	}
41544	reqHeaders.Set("Content-Type", "application/json")
41545	c.urlParams_.Set("alt", alt)
41546	c.urlParams_.Set("prettyPrint", "false")
41547	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
41548	urls += "?" + c.urlParams_.Encode()
41549	req, err := http.NewRequest("PATCH", urls, body)
41550	if err != nil {
41551		return nil, err
41552	}
41553	req.Header = reqHeaders
41554	googleapi.Expand(req.URL, map[string]string{
41555		"profileId": strconv.FormatInt(c.profileId, 10),
41556	})
41557	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41558}
41559
41560// Do executes the "dfareporting.placements.patch" call.
41561// Exactly one of *Placement or error will be non-nil. Any non-2xx
41562// status code is an error. Response headers are in either
41563// *Placement.ServerResponse.Header or (if a response was returned at
41564// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41565// to check whether the returned error was because
41566// http.StatusNotModified was returned.
41567func (c *PlacementsPatchCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
41568	gensupport.SetOptions(c.urlParams_, opts...)
41569	res, err := c.doRequest("json")
41570	if res != nil && res.StatusCode == http.StatusNotModified {
41571		if res.Body != nil {
41572			res.Body.Close()
41573		}
41574		return nil, &googleapi.Error{
41575			Code:   res.StatusCode,
41576			Header: res.Header,
41577		}
41578	}
41579	if err != nil {
41580		return nil, err
41581	}
41582	defer googleapi.CloseBody(res)
41583	if err := googleapi.CheckResponse(res); err != nil {
41584		return nil, err
41585	}
41586	ret := &Placement{
41587		ServerResponse: googleapi.ServerResponse{
41588			Header:         res.Header,
41589			HTTPStatusCode: res.StatusCode,
41590		},
41591	}
41592	target := &ret
41593	if err := gensupport.DecodeResponse(target, res); err != nil {
41594		return nil, err
41595	}
41596	return ret, nil
41597	// {
41598	//   "description": "Updates an existing placement. This method supports patch semantics.",
41599	//   "httpMethod": "PATCH",
41600	//   "id": "dfareporting.placements.patch",
41601	//   "parameterOrder": [
41602	//     "profileId",
41603	//     "id"
41604	//   ],
41605	//   "parameters": {
41606	//     "id": {
41607	//       "description": "Placement ID.",
41608	//       "format": "int64",
41609	//       "location": "query",
41610	//       "required": true,
41611	//       "type": "string"
41612	//     },
41613	//     "profileId": {
41614	//       "description": "User profile ID associated with this request.",
41615	//       "format": "int64",
41616	//       "location": "path",
41617	//       "required": true,
41618	//       "type": "string"
41619	//     }
41620	//   },
41621	//   "path": "userprofiles/{profileId}/placements",
41622	//   "request": {
41623	//     "$ref": "Placement"
41624	//   },
41625	//   "response": {
41626	//     "$ref": "Placement"
41627	//   },
41628	//   "scopes": [
41629	//     "https://www.googleapis.com/auth/dfatrafficking"
41630	//   ]
41631	// }
41632
41633}
41634
41635// method id "dfareporting.placements.update":
41636
41637type PlacementsUpdateCall struct {
41638	s          *Service
41639	profileId  int64
41640	placement  *Placement
41641	urlParams_ gensupport.URLParams
41642	ctx_       context.Context
41643	header_    http.Header
41644}
41645
41646// Update: Updates an existing placement.
41647func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
41648	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41649	c.profileId = profileId
41650	c.placement = placement
41651	return c
41652}
41653
41654// Fields allows partial responses to be retrieved. See
41655// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41656// for more information.
41657func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
41658	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41659	return c
41660}
41661
41662// Context sets the context to be used in this call's Do method. Any
41663// pending HTTP request will be aborted if the provided context is
41664// canceled.
41665func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
41666	c.ctx_ = ctx
41667	return c
41668}
41669
41670// Header returns an http.Header that can be modified by the caller to
41671// add HTTP headers to the request.
41672func (c *PlacementsUpdateCall) Header() http.Header {
41673	if c.header_ == nil {
41674		c.header_ = make(http.Header)
41675	}
41676	return c.header_
41677}
41678
41679func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
41680	reqHeaders := make(http.Header)
41681	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
41682	for k, v := range c.header_ {
41683		reqHeaders[k] = v
41684	}
41685	reqHeaders.Set("User-Agent", c.s.userAgent())
41686	var body io.Reader = nil
41687	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
41688	if err != nil {
41689		return nil, err
41690	}
41691	reqHeaders.Set("Content-Type", "application/json")
41692	c.urlParams_.Set("alt", alt)
41693	c.urlParams_.Set("prettyPrint", "false")
41694	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
41695	urls += "?" + c.urlParams_.Encode()
41696	req, err := http.NewRequest("PUT", urls, body)
41697	if err != nil {
41698		return nil, err
41699	}
41700	req.Header = reqHeaders
41701	googleapi.Expand(req.URL, map[string]string{
41702		"profileId": strconv.FormatInt(c.profileId, 10),
41703	})
41704	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41705}
41706
41707// Do executes the "dfareporting.placements.update" call.
41708// Exactly one of *Placement or error will be non-nil. Any non-2xx
41709// status code is an error. Response headers are in either
41710// *Placement.ServerResponse.Header or (if a response was returned at
41711// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41712// to check whether the returned error was because
41713// http.StatusNotModified was returned.
41714func (c *PlacementsUpdateCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
41715	gensupport.SetOptions(c.urlParams_, opts...)
41716	res, err := c.doRequest("json")
41717	if res != nil && res.StatusCode == http.StatusNotModified {
41718		if res.Body != nil {
41719			res.Body.Close()
41720		}
41721		return nil, &googleapi.Error{
41722			Code:   res.StatusCode,
41723			Header: res.Header,
41724		}
41725	}
41726	if err != nil {
41727		return nil, err
41728	}
41729	defer googleapi.CloseBody(res)
41730	if err := googleapi.CheckResponse(res); err != nil {
41731		return nil, err
41732	}
41733	ret := &Placement{
41734		ServerResponse: googleapi.ServerResponse{
41735			Header:         res.Header,
41736			HTTPStatusCode: res.StatusCode,
41737		},
41738	}
41739	target := &ret
41740	if err := gensupport.DecodeResponse(target, res); err != nil {
41741		return nil, err
41742	}
41743	return ret, nil
41744	// {
41745	//   "description": "Updates an existing placement.",
41746	//   "httpMethod": "PUT",
41747	//   "id": "dfareporting.placements.update",
41748	//   "parameterOrder": [
41749	//     "profileId"
41750	//   ],
41751	//   "parameters": {
41752	//     "profileId": {
41753	//       "description": "User profile ID associated with this request.",
41754	//       "format": "int64",
41755	//       "location": "path",
41756	//       "required": true,
41757	//       "type": "string"
41758	//     }
41759	//   },
41760	//   "path": "userprofiles/{profileId}/placements",
41761	//   "request": {
41762	//     "$ref": "Placement"
41763	//   },
41764	//   "response": {
41765	//     "$ref": "Placement"
41766	//   },
41767	//   "scopes": [
41768	//     "https://www.googleapis.com/auth/dfatrafficking"
41769	//   ]
41770	// }
41771
41772}
41773
41774// method id "dfareporting.platformTypes.get":
41775
41776type PlatformTypesGetCall struct {
41777	s            *Service
41778	profileId    int64
41779	id           int64
41780	urlParams_   gensupport.URLParams
41781	ifNoneMatch_ string
41782	ctx_         context.Context
41783	header_      http.Header
41784}
41785
41786// Get: Gets one platform type by ID.
41787func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
41788	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41789	c.profileId = profileId
41790	c.id = id
41791	return c
41792}
41793
41794// Fields allows partial responses to be retrieved. See
41795// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41796// for more information.
41797func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
41798	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41799	return c
41800}
41801
41802// IfNoneMatch sets the optional parameter which makes the operation
41803// fail if the object's ETag matches the given value. This is useful for
41804// getting updates only after the object has changed since the last
41805// request. Use googleapi.IsNotModified to check whether the response
41806// error from Do is the result of In-None-Match.
41807func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
41808	c.ifNoneMatch_ = entityTag
41809	return c
41810}
41811
41812// Context sets the context to be used in this call's Do method. Any
41813// pending HTTP request will be aborted if the provided context is
41814// canceled.
41815func (c *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
41816	c.ctx_ = ctx
41817	return c
41818}
41819
41820// Header returns an http.Header that can be modified by the caller to
41821// add HTTP headers to the request.
41822func (c *PlatformTypesGetCall) Header() http.Header {
41823	if c.header_ == nil {
41824		c.header_ = make(http.Header)
41825	}
41826	return c.header_
41827}
41828
41829func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
41830	reqHeaders := make(http.Header)
41831	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
41832	for k, v := range c.header_ {
41833		reqHeaders[k] = v
41834	}
41835	reqHeaders.Set("User-Agent", c.s.userAgent())
41836	if c.ifNoneMatch_ != "" {
41837		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41838	}
41839	var body io.Reader = nil
41840	c.urlParams_.Set("alt", alt)
41841	c.urlParams_.Set("prettyPrint", "false")
41842	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
41843	urls += "?" + c.urlParams_.Encode()
41844	req, err := http.NewRequest("GET", urls, body)
41845	if err != nil {
41846		return nil, err
41847	}
41848	req.Header = reqHeaders
41849	googleapi.Expand(req.URL, map[string]string{
41850		"profileId": strconv.FormatInt(c.profileId, 10),
41851		"id":        strconv.FormatInt(c.id, 10),
41852	})
41853	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41854}
41855
41856// Do executes the "dfareporting.platformTypes.get" call.
41857// Exactly one of *PlatformType or error will be non-nil. Any non-2xx
41858// status code is an error. Response headers are in either
41859// *PlatformType.ServerResponse.Header or (if a response was returned at
41860// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41861// to check whether the returned error was because
41862// http.StatusNotModified was returned.
41863func (c *PlatformTypesGetCall) Do(opts ...googleapi.CallOption) (*PlatformType, error) {
41864	gensupport.SetOptions(c.urlParams_, opts...)
41865	res, err := c.doRequest("json")
41866	if res != nil && res.StatusCode == http.StatusNotModified {
41867		if res.Body != nil {
41868			res.Body.Close()
41869		}
41870		return nil, &googleapi.Error{
41871			Code:   res.StatusCode,
41872			Header: res.Header,
41873		}
41874	}
41875	if err != nil {
41876		return nil, err
41877	}
41878	defer googleapi.CloseBody(res)
41879	if err := googleapi.CheckResponse(res); err != nil {
41880		return nil, err
41881	}
41882	ret := &PlatformType{
41883		ServerResponse: googleapi.ServerResponse{
41884			Header:         res.Header,
41885			HTTPStatusCode: res.StatusCode,
41886		},
41887	}
41888	target := &ret
41889	if err := gensupport.DecodeResponse(target, res); err != nil {
41890		return nil, err
41891	}
41892	return ret, nil
41893	// {
41894	//   "description": "Gets one platform type by ID.",
41895	//   "httpMethod": "GET",
41896	//   "id": "dfareporting.platformTypes.get",
41897	//   "parameterOrder": [
41898	//     "profileId",
41899	//     "id"
41900	//   ],
41901	//   "parameters": {
41902	//     "id": {
41903	//       "description": "Platform type ID.",
41904	//       "format": "int64",
41905	//       "location": "path",
41906	//       "required": true,
41907	//       "type": "string"
41908	//     },
41909	//     "profileId": {
41910	//       "description": "User profile ID associated with this request.",
41911	//       "format": "int64",
41912	//       "location": "path",
41913	//       "required": true,
41914	//       "type": "string"
41915	//     }
41916	//   },
41917	//   "path": "userprofiles/{profileId}/platformTypes/{id}",
41918	//   "response": {
41919	//     "$ref": "PlatformType"
41920	//   },
41921	//   "scopes": [
41922	//     "https://www.googleapis.com/auth/dfatrafficking"
41923	//   ]
41924	// }
41925
41926}
41927
41928// method id "dfareporting.platformTypes.list":
41929
41930type PlatformTypesListCall struct {
41931	s            *Service
41932	profileId    int64
41933	urlParams_   gensupport.URLParams
41934	ifNoneMatch_ string
41935	ctx_         context.Context
41936	header_      http.Header
41937}
41938
41939// List: Retrieves a list of platform types.
41940func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
41941	c := &PlatformTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41942	c.profileId = profileId
41943	return c
41944}
41945
41946// Fields allows partial responses to be retrieved. See
41947// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41948// for more information.
41949func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
41950	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41951	return c
41952}
41953
41954// IfNoneMatch sets the optional parameter which makes the operation
41955// fail if the object's ETag matches the given value. This is useful for
41956// getting updates only after the object has changed since the last
41957// request. Use googleapi.IsNotModified to check whether the response
41958// error from Do is the result of In-None-Match.
41959func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
41960	c.ifNoneMatch_ = entityTag
41961	return c
41962}
41963
41964// Context sets the context to be used in this call's Do method. Any
41965// pending HTTP request will be aborted if the provided context is
41966// canceled.
41967func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
41968	c.ctx_ = ctx
41969	return c
41970}
41971
41972// Header returns an http.Header that can be modified by the caller to
41973// add HTTP headers to the request.
41974func (c *PlatformTypesListCall) Header() http.Header {
41975	if c.header_ == nil {
41976		c.header_ = make(http.Header)
41977	}
41978	return c.header_
41979}
41980
41981func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
41982	reqHeaders := make(http.Header)
41983	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
41984	for k, v := range c.header_ {
41985		reqHeaders[k] = v
41986	}
41987	reqHeaders.Set("User-Agent", c.s.userAgent())
41988	if c.ifNoneMatch_ != "" {
41989		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41990	}
41991	var body io.Reader = nil
41992	c.urlParams_.Set("alt", alt)
41993	c.urlParams_.Set("prettyPrint", "false")
41994	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
41995	urls += "?" + c.urlParams_.Encode()
41996	req, err := http.NewRequest("GET", urls, body)
41997	if err != nil {
41998		return nil, err
41999	}
42000	req.Header = reqHeaders
42001	googleapi.Expand(req.URL, map[string]string{
42002		"profileId": strconv.FormatInt(c.profileId, 10),
42003	})
42004	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42005}
42006
42007// Do executes the "dfareporting.platformTypes.list" call.
42008// Exactly one of *PlatformTypesListResponse or error will be non-nil.
42009// Any non-2xx status code is an error. Response headers are in either
42010// *PlatformTypesListResponse.ServerResponse.Header or (if a response
42011// was returned at all) in error.(*googleapi.Error).Header. Use
42012// googleapi.IsNotModified to check whether the returned error was
42013// because http.StatusNotModified was returned.
42014func (c *PlatformTypesListCall) Do(opts ...googleapi.CallOption) (*PlatformTypesListResponse, error) {
42015	gensupport.SetOptions(c.urlParams_, opts...)
42016	res, err := c.doRequest("json")
42017	if res != nil && res.StatusCode == http.StatusNotModified {
42018		if res.Body != nil {
42019			res.Body.Close()
42020		}
42021		return nil, &googleapi.Error{
42022			Code:   res.StatusCode,
42023			Header: res.Header,
42024		}
42025	}
42026	if err != nil {
42027		return nil, err
42028	}
42029	defer googleapi.CloseBody(res)
42030	if err := googleapi.CheckResponse(res); err != nil {
42031		return nil, err
42032	}
42033	ret := &PlatformTypesListResponse{
42034		ServerResponse: googleapi.ServerResponse{
42035			Header:         res.Header,
42036			HTTPStatusCode: res.StatusCode,
42037		},
42038	}
42039	target := &ret
42040	if err := gensupport.DecodeResponse(target, res); err != nil {
42041		return nil, err
42042	}
42043	return ret, nil
42044	// {
42045	//   "description": "Retrieves a list of platform types.",
42046	//   "httpMethod": "GET",
42047	//   "id": "dfareporting.platformTypes.list",
42048	//   "parameterOrder": [
42049	//     "profileId"
42050	//   ],
42051	//   "parameters": {
42052	//     "profileId": {
42053	//       "description": "User profile ID associated with this request.",
42054	//       "format": "int64",
42055	//       "location": "path",
42056	//       "required": true,
42057	//       "type": "string"
42058	//     }
42059	//   },
42060	//   "path": "userprofiles/{profileId}/platformTypes",
42061	//   "response": {
42062	//     "$ref": "PlatformTypesListResponse"
42063	//   },
42064	//   "scopes": [
42065	//     "https://www.googleapis.com/auth/dfatrafficking"
42066	//   ]
42067	// }
42068
42069}
42070
42071// method id "dfareporting.postalCodes.get":
42072
42073type PostalCodesGetCall struct {
42074	s            *Service
42075	profileId    int64
42076	code         string
42077	urlParams_   gensupport.URLParams
42078	ifNoneMatch_ string
42079	ctx_         context.Context
42080	header_      http.Header
42081}
42082
42083// Get: Gets one postal code by ID.
42084func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
42085	c := &PostalCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42086	c.profileId = profileId
42087	c.code = code
42088	return c
42089}
42090
42091// Fields allows partial responses to be retrieved. See
42092// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42093// for more information.
42094func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
42095	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42096	return c
42097}
42098
42099// IfNoneMatch sets the optional parameter which makes the operation
42100// fail if the object's ETag matches the given value. This is useful for
42101// getting updates only after the object has changed since the last
42102// request. Use googleapi.IsNotModified to check whether the response
42103// error from Do is the result of In-None-Match.
42104func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
42105	c.ifNoneMatch_ = entityTag
42106	return c
42107}
42108
42109// Context sets the context to be used in this call's Do method. Any
42110// pending HTTP request will be aborted if the provided context is
42111// canceled.
42112func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
42113	c.ctx_ = ctx
42114	return c
42115}
42116
42117// Header returns an http.Header that can be modified by the caller to
42118// add HTTP headers to the request.
42119func (c *PostalCodesGetCall) Header() http.Header {
42120	if c.header_ == nil {
42121		c.header_ = make(http.Header)
42122	}
42123	return c.header_
42124}
42125
42126func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
42127	reqHeaders := make(http.Header)
42128	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
42129	for k, v := range c.header_ {
42130		reqHeaders[k] = v
42131	}
42132	reqHeaders.Set("User-Agent", c.s.userAgent())
42133	if c.ifNoneMatch_ != "" {
42134		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42135	}
42136	var body io.Reader = nil
42137	c.urlParams_.Set("alt", alt)
42138	c.urlParams_.Set("prettyPrint", "false")
42139	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
42140	urls += "?" + c.urlParams_.Encode()
42141	req, err := http.NewRequest("GET", urls, body)
42142	if err != nil {
42143		return nil, err
42144	}
42145	req.Header = reqHeaders
42146	googleapi.Expand(req.URL, map[string]string{
42147		"profileId": strconv.FormatInt(c.profileId, 10),
42148		"code":      c.code,
42149	})
42150	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42151}
42152
42153// Do executes the "dfareporting.postalCodes.get" call.
42154// Exactly one of *PostalCode or error will be non-nil. Any non-2xx
42155// status code is an error. Response headers are in either
42156// *PostalCode.ServerResponse.Header or (if a response was returned at
42157// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
42158// to check whether the returned error was because
42159// http.StatusNotModified was returned.
42160func (c *PostalCodesGetCall) Do(opts ...googleapi.CallOption) (*PostalCode, error) {
42161	gensupport.SetOptions(c.urlParams_, opts...)
42162	res, err := c.doRequest("json")
42163	if res != nil && res.StatusCode == http.StatusNotModified {
42164		if res.Body != nil {
42165			res.Body.Close()
42166		}
42167		return nil, &googleapi.Error{
42168			Code:   res.StatusCode,
42169			Header: res.Header,
42170		}
42171	}
42172	if err != nil {
42173		return nil, err
42174	}
42175	defer googleapi.CloseBody(res)
42176	if err := googleapi.CheckResponse(res); err != nil {
42177		return nil, err
42178	}
42179	ret := &PostalCode{
42180		ServerResponse: googleapi.ServerResponse{
42181			Header:         res.Header,
42182			HTTPStatusCode: res.StatusCode,
42183		},
42184	}
42185	target := &ret
42186	if err := gensupport.DecodeResponse(target, res); err != nil {
42187		return nil, err
42188	}
42189	return ret, nil
42190	// {
42191	//   "description": "Gets one postal code by ID.",
42192	//   "httpMethod": "GET",
42193	//   "id": "dfareporting.postalCodes.get",
42194	//   "parameterOrder": [
42195	//     "profileId",
42196	//     "code"
42197	//   ],
42198	//   "parameters": {
42199	//     "code": {
42200	//       "description": "Postal code ID.",
42201	//       "location": "path",
42202	//       "required": true,
42203	//       "type": "string"
42204	//     },
42205	//     "profileId": {
42206	//       "description": "User profile ID associated with this request.",
42207	//       "format": "int64",
42208	//       "location": "path",
42209	//       "required": true,
42210	//       "type": "string"
42211	//     }
42212	//   },
42213	//   "path": "userprofiles/{profileId}/postalCodes/{code}",
42214	//   "response": {
42215	//     "$ref": "PostalCode"
42216	//   },
42217	//   "scopes": [
42218	//     "https://www.googleapis.com/auth/dfatrafficking"
42219	//   ]
42220	// }
42221
42222}
42223
42224// method id "dfareporting.postalCodes.list":
42225
42226type PostalCodesListCall struct {
42227	s            *Service
42228	profileId    int64
42229	urlParams_   gensupport.URLParams
42230	ifNoneMatch_ string
42231	ctx_         context.Context
42232	header_      http.Header
42233}
42234
42235// List: Retrieves a list of postal codes.
42236func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
42237	c := &PostalCodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42238	c.profileId = profileId
42239	return c
42240}
42241
42242// Fields allows partial responses to be retrieved. See
42243// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42244// for more information.
42245func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
42246	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42247	return c
42248}
42249
42250// IfNoneMatch sets the optional parameter which makes the operation
42251// fail if the object's ETag matches the given value. This is useful for
42252// getting updates only after the object has changed since the last
42253// request. Use googleapi.IsNotModified to check whether the response
42254// error from Do is the result of In-None-Match.
42255func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
42256	c.ifNoneMatch_ = entityTag
42257	return c
42258}
42259
42260// Context sets the context to be used in this call's Do method. Any
42261// pending HTTP request will be aborted if the provided context is
42262// canceled.
42263func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
42264	c.ctx_ = ctx
42265	return c
42266}
42267
42268// Header returns an http.Header that can be modified by the caller to
42269// add HTTP headers to the request.
42270func (c *PostalCodesListCall) Header() http.Header {
42271	if c.header_ == nil {
42272		c.header_ = make(http.Header)
42273	}
42274	return c.header_
42275}
42276
42277func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
42278	reqHeaders := make(http.Header)
42279	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
42280	for k, v := range c.header_ {
42281		reqHeaders[k] = v
42282	}
42283	reqHeaders.Set("User-Agent", c.s.userAgent())
42284	if c.ifNoneMatch_ != "" {
42285		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42286	}
42287	var body io.Reader = nil
42288	c.urlParams_.Set("alt", alt)
42289	c.urlParams_.Set("prettyPrint", "false")
42290	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
42291	urls += "?" + c.urlParams_.Encode()
42292	req, err := http.NewRequest("GET", urls, body)
42293	if err != nil {
42294		return nil, err
42295	}
42296	req.Header = reqHeaders
42297	googleapi.Expand(req.URL, map[string]string{
42298		"profileId": strconv.FormatInt(c.profileId, 10),
42299	})
42300	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42301}
42302
42303// Do executes the "dfareporting.postalCodes.list" call.
42304// Exactly one of *PostalCodesListResponse or error will be non-nil. Any
42305// non-2xx status code is an error. Response headers are in either
42306// *PostalCodesListResponse.ServerResponse.Header or (if a response was
42307// returned at all) in error.(*googleapi.Error).Header. Use
42308// googleapi.IsNotModified to check whether the returned error was
42309// because http.StatusNotModified was returned.
42310func (c *PostalCodesListCall) Do(opts ...googleapi.CallOption) (*PostalCodesListResponse, error) {
42311	gensupport.SetOptions(c.urlParams_, opts...)
42312	res, err := c.doRequest("json")
42313	if res != nil && res.StatusCode == http.StatusNotModified {
42314		if res.Body != nil {
42315			res.Body.Close()
42316		}
42317		return nil, &googleapi.Error{
42318			Code:   res.StatusCode,
42319			Header: res.Header,
42320		}
42321	}
42322	if err != nil {
42323		return nil, err
42324	}
42325	defer googleapi.CloseBody(res)
42326	if err := googleapi.CheckResponse(res); err != nil {
42327		return nil, err
42328	}
42329	ret := &PostalCodesListResponse{
42330		ServerResponse: googleapi.ServerResponse{
42331			Header:         res.Header,
42332			HTTPStatusCode: res.StatusCode,
42333		},
42334	}
42335	target := &ret
42336	if err := gensupport.DecodeResponse(target, res); err != nil {
42337		return nil, err
42338	}
42339	return ret, nil
42340	// {
42341	//   "description": "Retrieves a list of postal codes.",
42342	//   "httpMethod": "GET",
42343	//   "id": "dfareporting.postalCodes.list",
42344	//   "parameterOrder": [
42345	//     "profileId"
42346	//   ],
42347	//   "parameters": {
42348	//     "profileId": {
42349	//       "description": "User profile ID associated with this request.",
42350	//       "format": "int64",
42351	//       "location": "path",
42352	//       "required": true,
42353	//       "type": "string"
42354	//     }
42355	//   },
42356	//   "path": "userprofiles/{profileId}/postalCodes",
42357	//   "response": {
42358	//     "$ref": "PostalCodesListResponse"
42359	//   },
42360	//   "scopes": [
42361	//     "https://www.googleapis.com/auth/dfatrafficking"
42362	//   ]
42363	// }
42364
42365}
42366
42367// method id "dfareporting.projects.get":
42368
42369type ProjectsGetCall struct {
42370	s            *Service
42371	profileId    int64
42372	id           int64
42373	urlParams_   gensupport.URLParams
42374	ifNoneMatch_ string
42375	ctx_         context.Context
42376	header_      http.Header
42377}
42378
42379// Get: Gets one project by ID.
42380func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
42381	c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42382	c.profileId = profileId
42383	c.id = id
42384	return c
42385}
42386
42387// Fields allows partial responses to be retrieved. See
42388// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42389// for more information.
42390func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
42391	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42392	return c
42393}
42394
42395// IfNoneMatch sets the optional parameter which makes the operation
42396// fail if the object's ETag matches the given value. This is useful for
42397// getting updates only after the object has changed since the last
42398// request. Use googleapi.IsNotModified to check whether the response
42399// error from Do is the result of In-None-Match.
42400func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
42401	c.ifNoneMatch_ = entityTag
42402	return c
42403}
42404
42405// Context sets the context to be used in this call's Do method. Any
42406// pending HTTP request will be aborted if the provided context is
42407// canceled.
42408func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
42409	c.ctx_ = ctx
42410	return c
42411}
42412
42413// Header returns an http.Header that can be modified by the caller to
42414// add HTTP headers to the request.
42415func (c *ProjectsGetCall) Header() http.Header {
42416	if c.header_ == nil {
42417		c.header_ = make(http.Header)
42418	}
42419	return c.header_
42420}
42421
42422func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
42423	reqHeaders := make(http.Header)
42424	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
42425	for k, v := range c.header_ {
42426		reqHeaders[k] = v
42427	}
42428	reqHeaders.Set("User-Agent", c.s.userAgent())
42429	if c.ifNoneMatch_ != "" {
42430		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42431	}
42432	var body io.Reader = nil
42433	c.urlParams_.Set("alt", alt)
42434	c.urlParams_.Set("prettyPrint", "false")
42435	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
42436	urls += "?" + c.urlParams_.Encode()
42437	req, err := http.NewRequest("GET", urls, body)
42438	if err != nil {
42439		return nil, err
42440	}
42441	req.Header = reqHeaders
42442	googleapi.Expand(req.URL, map[string]string{
42443		"profileId": strconv.FormatInt(c.profileId, 10),
42444		"id":        strconv.FormatInt(c.id, 10),
42445	})
42446	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42447}
42448
42449// Do executes the "dfareporting.projects.get" call.
42450// Exactly one of *Project or error will be non-nil. Any non-2xx status
42451// code is an error. Response headers are in either
42452// *Project.ServerResponse.Header or (if a response was returned at all)
42453// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
42454// check whether the returned error was because http.StatusNotModified
42455// was returned.
42456func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
42457	gensupport.SetOptions(c.urlParams_, opts...)
42458	res, err := c.doRequest("json")
42459	if res != nil && res.StatusCode == http.StatusNotModified {
42460		if res.Body != nil {
42461			res.Body.Close()
42462		}
42463		return nil, &googleapi.Error{
42464			Code:   res.StatusCode,
42465			Header: res.Header,
42466		}
42467	}
42468	if err != nil {
42469		return nil, err
42470	}
42471	defer googleapi.CloseBody(res)
42472	if err := googleapi.CheckResponse(res); err != nil {
42473		return nil, err
42474	}
42475	ret := &Project{
42476		ServerResponse: googleapi.ServerResponse{
42477			Header:         res.Header,
42478			HTTPStatusCode: res.StatusCode,
42479		},
42480	}
42481	target := &ret
42482	if err := gensupport.DecodeResponse(target, res); err != nil {
42483		return nil, err
42484	}
42485	return ret, nil
42486	// {
42487	//   "description": "Gets one project by ID.",
42488	//   "httpMethod": "GET",
42489	//   "id": "dfareporting.projects.get",
42490	//   "parameterOrder": [
42491	//     "profileId",
42492	//     "id"
42493	//   ],
42494	//   "parameters": {
42495	//     "id": {
42496	//       "description": "Project ID.",
42497	//       "format": "int64",
42498	//       "location": "path",
42499	//       "required": true,
42500	//       "type": "string"
42501	//     },
42502	//     "profileId": {
42503	//       "description": "User profile ID associated with this request.",
42504	//       "format": "int64",
42505	//       "location": "path",
42506	//       "required": true,
42507	//       "type": "string"
42508	//     }
42509	//   },
42510	//   "path": "userprofiles/{profileId}/projects/{id}",
42511	//   "response": {
42512	//     "$ref": "Project"
42513	//   },
42514	//   "scopes": [
42515	//     "https://www.googleapis.com/auth/dfatrafficking"
42516	//   ]
42517	// }
42518
42519}
42520
42521// method id "dfareporting.projects.list":
42522
42523type ProjectsListCall struct {
42524	s            *Service
42525	profileId    int64
42526	urlParams_   gensupport.URLParams
42527	ifNoneMatch_ string
42528	ctx_         context.Context
42529	header_      http.Header
42530}
42531
42532// List: Retrieves a list of projects, possibly filtered. This method
42533// supports paging.
42534func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
42535	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42536	c.profileId = profileId
42537	return c
42538}
42539
42540// AdvertiserIds sets the optional parameter "advertiserIds": Select
42541// only projects with these advertiser IDs.
42542func (c *ProjectsListCall) AdvertiserIds(advertiserIds ...int64) *ProjectsListCall {
42543	var advertiserIds_ []string
42544	for _, v := range advertiserIds {
42545		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
42546	}
42547	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
42548	return c
42549}
42550
42551// Ids sets the optional parameter "ids": Select only projects with
42552// these IDs.
42553func (c *ProjectsListCall) Ids(ids ...int64) *ProjectsListCall {
42554	var ids_ []string
42555	for _, v := range ids {
42556		ids_ = append(ids_, fmt.Sprint(v))
42557	}
42558	c.urlParams_.SetMulti("ids", ids_)
42559	return c
42560}
42561
42562// MaxResults sets the optional parameter "maxResults": Maximum number
42563// of results to return.
42564func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
42565	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
42566	return c
42567}
42568
42569// PageToken sets the optional parameter "pageToken": Value of the
42570// nextPageToken from the previous result page.
42571func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
42572	c.urlParams_.Set("pageToken", pageToken)
42573	return c
42574}
42575
42576// SearchString sets the optional parameter "searchString": Allows
42577// searching for projects by name or ID. Wildcards (*) are allowed. For
42578// example, "project*2015" will return projects with names like "project
42579// June 2015", "project April 2015", or simply "project 2015". Most of
42580// the searches also add wildcards implicitly at the start and the end
42581// of the search string. For example, a search string of "project" will
42582// match projects with name "my project", "project 2015", or simply
42583// "project".
42584func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
42585	c.urlParams_.Set("searchString", searchString)
42586	return c
42587}
42588
42589// SortField sets the optional parameter "sortField": Field by which to
42590// sort the list.
42591//
42592// Possible values:
42593//   "ID" (default)
42594//   "NAME"
42595func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
42596	c.urlParams_.Set("sortField", sortField)
42597	return c
42598}
42599
42600// SortOrder sets the optional parameter "sortOrder": Order of sorted
42601// results.
42602//
42603// Possible values:
42604//   "ASCENDING" (default)
42605//   "DESCENDING"
42606func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
42607	c.urlParams_.Set("sortOrder", sortOrder)
42608	return c
42609}
42610
42611// Fields allows partial responses to be retrieved. See
42612// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42613// for more information.
42614func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
42615	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42616	return c
42617}
42618
42619// IfNoneMatch sets the optional parameter which makes the operation
42620// fail if the object's ETag matches the given value. This is useful for
42621// getting updates only after the object has changed since the last
42622// request. Use googleapi.IsNotModified to check whether the response
42623// error from Do is the result of In-None-Match.
42624func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
42625	c.ifNoneMatch_ = entityTag
42626	return c
42627}
42628
42629// Context sets the context to be used in this call's Do method. Any
42630// pending HTTP request will be aborted if the provided context is
42631// canceled.
42632func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
42633	c.ctx_ = ctx
42634	return c
42635}
42636
42637// Header returns an http.Header that can be modified by the caller to
42638// add HTTP headers to the request.
42639func (c *ProjectsListCall) Header() http.Header {
42640	if c.header_ == nil {
42641		c.header_ = make(http.Header)
42642	}
42643	return c.header_
42644}
42645
42646func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
42647	reqHeaders := make(http.Header)
42648	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
42649	for k, v := range c.header_ {
42650		reqHeaders[k] = v
42651	}
42652	reqHeaders.Set("User-Agent", c.s.userAgent())
42653	if c.ifNoneMatch_ != "" {
42654		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42655	}
42656	var body io.Reader = nil
42657	c.urlParams_.Set("alt", alt)
42658	c.urlParams_.Set("prettyPrint", "false")
42659	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
42660	urls += "?" + c.urlParams_.Encode()
42661	req, err := http.NewRequest("GET", urls, body)
42662	if err != nil {
42663		return nil, err
42664	}
42665	req.Header = reqHeaders
42666	googleapi.Expand(req.URL, map[string]string{
42667		"profileId": strconv.FormatInt(c.profileId, 10),
42668	})
42669	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42670}
42671
42672// Do executes the "dfareporting.projects.list" call.
42673// Exactly one of *ProjectsListResponse or error will be non-nil. Any
42674// non-2xx status code is an error. Response headers are in either
42675// *ProjectsListResponse.ServerResponse.Header or (if a response was
42676// returned at all) in error.(*googleapi.Error).Header. Use
42677// googleapi.IsNotModified to check whether the returned error was
42678// because http.StatusNotModified was returned.
42679func (c *ProjectsListCall) Do(opts ...googleapi.CallOption) (*ProjectsListResponse, error) {
42680	gensupport.SetOptions(c.urlParams_, opts...)
42681	res, err := c.doRequest("json")
42682	if res != nil && res.StatusCode == http.StatusNotModified {
42683		if res.Body != nil {
42684			res.Body.Close()
42685		}
42686		return nil, &googleapi.Error{
42687			Code:   res.StatusCode,
42688			Header: res.Header,
42689		}
42690	}
42691	if err != nil {
42692		return nil, err
42693	}
42694	defer googleapi.CloseBody(res)
42695	if err := googleapi.CheckResponse(res); err != nil {
42696		return nil, err
42697	}
42698	ret := &ProjectsListResponse{
42699		ServerResponse: googleapi.ServerResponse{
42700			Header:         res.Header,
42701			HTTPStatusCode: res.StatusCode,
42702		},
42703	}
42704	target := &ret
42705	if err := gensupport.DecodeResponse(target, res); err != nil {
42706		return nil, err
42707	}
42708	return ret, nil
42709	// {
42710	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging.",
42711	//   "httpMethod": "GET",
42712	//   "id": "dfareporting.projects.list",
42713	//   "parameterOrder": [
42714	//     "profileId"
42715	//   ],
42716	//   "parameters": {
42717	//     "advertiserIds": {
42718	//       "description": "Select only projects with these advertiser IDs.",
42719	//       "format": "int64",
42720	//       "location": "query",
42721	//       "repeated": true,
42722	//       "type": "string"
42723	//     },
42724	//     "ids": {
42725	//       "description": "Select only projects with these IDs.",
42726	//       "format": "int64",
42727	//       "location": "query",
42728	//       "repeated": true,
42729	//       "type": "string"
42730	//     },
42731	//     "maxResults": {
42732	//       "default": "1000",
42733	//       "description": "Maximum number of results to return.",
42734	//       "format": "int32",
42735	//       "location": "query",
42736	//       "maximum": "1000",
42737	//       "minimum": "0",
42738	//       "type": "integer"
42739	//     },
42740	//     "pageToken": {
42741	//       "description": "Value of the nextPageToken from the previous result page.",
42742	//       "location": "query",
42743	//       "type": "string"
42744	//     },
42745	//     "profileId": {
42746	//       "description": "User profile ID associated with this request.",
42747	//       "format": "int64",
42748	//       "location": "path",
42749	//       "required": true,
42750	//       "type": "string"
42751	//     },
42752	//     "searchString": {
42753	//       "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\".",
42754	//       "location": "query",
42755	//       "type": "string"
42756	//     },
42757	//     "sortField": {
42758	//       "default": "ID",
42759	//       "description": "Field by which to sort the list.",
42760	//       "enum": [
42761	//         "ID",
42762	//         "NAME"
42763	//       ],
42764	//       "enumDescriptions": [
42765	//         "",
42766	//         ""
42767	//       ],
42768	//       "location": "query",
42769	//       "type": "string"
42770	//     },
42771	//     "sortOrder": {
42772	//       "default": "ASCENDING",
42773	//       "description": "Order of sorted results.",
42774	//       "enum": [
42775	//         "ASCENDING",
42776	//         "DESCENDING"
42777	//       ],
42778	//       "enumDescriptions": [
42779	//         "",
42780	//         ""
42781	//       ],
42782	//       "location": "query",
42783	//       "type": "string"
42784	//     }
42785	//   },
42786	//   "path": "userprofiles/{profileId}/projects",
42787	//   "response": {
42788	//     "$ref": "ProjectsListResponse"
42789	//   },
42790	//   "scopes": [
42791	//     "https://www.googleapis.com/auth/dfatrafficking"
42792	//   ]
42793	// }
42794
42795}
42796
42797// Pages invokes f for each page of results.
42798// A non-nil error returned from f will halt the iteration.
42799// The provided context supersedes any context provided to the Context method.
42800func (c *ProjectsListCall) Pages(ctx context.Context, f func(*ProjectsListResponse) error) error {
42801	c.ctx_ = ctx
42802	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
42803	for {
42804		x, err := c.Do()
42805		if err != nil {
42806			return err
42807		}
42808		if err := f(x); err != nil {
42809			return err
42810		}
42811		if x.NextPageToken == "" {
42812			return nil
42813		}
42814		c.PageToken(x.NextPageToken)
42815	}
42816}
42817
42818// method id "dfareporting.regions.list":
42819
42820type RegionsListCall struct {
42821	s            *Service
42822	profileId    int64
42823	urlParams_   gensupport.URLParams
42824	ifNoneMatch_ string
42825	ctx_         context.Context
42826	header_      http.Header
42827}
42828
42829// List: Retrieves a list of regions.
42830func (r *RegionsService) List(profileId int64) *RegionsListCall {
42831	c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42832	c.profileId = profileId
42833	return c
42834}
42835
42836// Fields allows partial responses to be retrieved. See
42837// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42838// for more information.
42839func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
42840	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42841	return c
42842}
42843
42844// IfNoneMatch sets the optional parameter which makes the operation
42845// fail if the object's ETag matches the given value. This is useful for
42846// getting updates only after the object has changed since the last
42847// request. Use googleapi.IsNotModified to check whether the response
42848// error from Do is the result of In-None-Match.
42849func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
42850	c.ifNoneMatch_ = entityTag
42851	return c
42852}
42853
42854// Context sets the context to be used in this call's Do method. Any
42855// pending HTTP request will be aborted if the provided context is
42856// canceled.
42857func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
42858	c.ctx_ = ctx
42859	return c
42860}
42861
42862// Header returns an http.Header that can be modified by the caller to
42863// add HTTP headers to the request.
42864func (c *RegionsListCall) Header() http.Header {
42865	if c.header_ == nil {
42866		c.header_ = make(http.Header)
42867	}
42868	return c.header_
42869}
42870
42871func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
42872	reqHeaders := make(http.Header)
42873	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
42874	for k, v := range c.header_ {
42875		reqHeaders[k] = v
42876	}
42877	reqHeaders.Set("User-Agent", c.s.userAgent())
42878	if c.ifNoneMatch_ != "" {
42879		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42880	}
42881	var body io.Reader = nil
42882	c.urlParams_.Set("alt", alt)
42883	c.urlParams_.Set("prettyPrint", "false")
42884	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
42885	urls += "?" + c.urlParams_.Encode()
42886	req, err := http.NewRequest("GET", urls, body)
42887	if err != nil {
42888		return nil, err
42889	}
42890	req.Header = reqHeaders
42891	googleapi.Expand(req.URL, map[string]string{
42892		"profileId": strconv.FormatInt(c.profileId, 10),
42893	})
42894	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42895}
42896
42897// Do executes the "dfareporting.regions.list" call.
42898// Exactly one of *RegionsListResponse or error will be non-nil. Any
42899// non-2xx status code is an error. Response headers are in either
42900// *RegionsListResponse.ServerResponse.Header or (if a response was
42901// returned at all) in error.(*googleapi.Error).Header. Use
42902// googleapi.IsNotModified to check whether the returned error was
42903// because http.StatusNotModified was returned.
42904func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionsListResponse, error) {
42905	gensupport.SetOptions(c.urlParams_, opts...)
42906	res, err := c.doRequest("json")
42907	if res != nil && res.StatusCode == http.StatusNotModified {
42908		if res.Body != nil {
42909			res.Body.Close()
42910		}
42911		return nil, &googleapi.Error{
42912			Code:   res.StatusCode,
42913			Header: res.Header,
42914		}
42915	}
42916	if err != nil {
42917		return nil, err
42918	}
42919	defer googleapi.CloseBody(res)
42920	if err := googleapi.CheckResponse(res); err != nil {
42921		return nil, err
42922	}
42923	ret := &RegionsListResponse{
42924		ServerResponse: googleapi.ServerResponse{
42925			Header:         res.Header,
42926			HTTPStatusCode: res.StatusCode,
42927		},
42928	}
42929	target := &ret
42930	if err := gensupport.DecodeResponse(target, res); err != nil {
42931		return nil, err
42932	}
42933	return ret, nil
42934	// {
42935	//   "description": "Retrieves a list of regions.",
42936	//   "httpMethod": "GET",
42937	//   "id": "dfareporting.regions.list",
42938	//   "parameterOrder": [
42939	//     "profileId"
42940	//   ],
42941	//   "parameters": {
42942	//     "profileId": {
42943	//       "description": "User profile ID associated with this request.",
42944	//       "format": "int64",
42945	//       "location": "path",
42946	//       "required": true,
42947	//       "type": "string"
42948	//     }
42949	//   },
42950	//   "path": "userprofiles/{profileId}/regions",
42951	//   "response": {
42952	//     "$ref": "RegionsListResponse"
42953	//   },
42954	//   "scopes": [
42955	//     "https://www.googleapis.com/auth/dfatrafficking"
42956	//   ]
42957	// }
42958
42959}
42960
42961// method id "dfareporting.remarketingListShares.get":
42962
42963type RemarketingListSharesGetCall struct {
42964	s                 *Service
42965	profileId         int64
42966	remarketingListId int64
42967	urlParams_        gensupport.URLParams
42968	ifNoneMatch_      string
42969	ctx_              context.Context
42970	header_           http.Header
42971}
42972
42973// Get: Gets one remarketing list share by remarketing list ID.
42974func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
42975	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42976	c.profileId = profileId
42977	c.remarketingListId = remarketingListId
42978	return c
42979}
42980
42981// Fields allows partial responses to be retrieved. See
42982// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42983// for more information.
42984func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
42985	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42986	return c
42987}
42988
42989// IfNoneMatch sets the optional parameter which makes the operation
42990// fail if the object's ETag matches the given value. This is useful for
42991// getting updates only after the object has changed since the last
42992// request. Use googleapi.IsNotModified to check whether the response
42993// error from Do is the result of In-None-Match.
42994func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
42995	c.ifNoneMatch_ = entityTag
42996	return c
42997}
42998
42999// Context sets the context to be used in this call's Do method. Any
43000// pending HTTP request will be aborted if the provided context is
43001// canceled.
43002func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
43003	c.ctx_ = ctx
43004	return c
43005}
43006
43007// Header returns an http.Header that can be modified by the caller to
43008// add HTTP headers to the request.
43009func (c *RemarketingListSharesGetCall) Header() http.Header {
43010	if c.header_ == nil {
43011		c.header_ = make(http.Header)
43012	}
43013	return c.header_
43014}
43015
43016func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
43017	reqHeaders := make(http.Header)
43018	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
43019	for k, v := range c.header_ {
43020		reqHeaders[k] = v
43021	}
43022	reqHeaders.Set("User-Agent", c.s.userAgent())
43023	if c.ifNoneMatch_ != "" {
43024		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43025	}
43026	var body io.Reader = nil
43027	c.urlParams_.Set("alt", alt)
43028	c.urlParams_.Set("prettyPrint", "false")
43029	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
43030	urls += "?" + c.urlParams_.Encode()
43031	req, err := http.NewRequest("GET", urls, body)
43032	if err != nil {
43033		return nil, err
43034	}
43035	req.Header = reqHeaders
43036	googleapi.Expand(req.URL, map[string]string{
43037		"profileId":         strconv.FormatInt(c.profileId, 10),
43038		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
43039	})
43040	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43041}
43042
43043// Do executes the "dfareporting.remarketingListShares.get" call.
43044// Exactly one of *RemarketingListShare or error will be non-nil. Any
43045// non-2xx status code is an error. Response headers are in either
43046// *RemarketingListShare.ServerResponse.Header or (if a response was
43047// returned at all) in error.(*googleapi.Error).Header. Use
43048// googleapi.IsNotModified to check whether the returned error was
43049// because http.StatusNotModified was returned.
43050func (c *RemarketingListSharesGetCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
43051	gensupport.SetOptions(c.urlParams_, opts...)
43052	res, err := c.doRequest("json")
43053	if res != nil && res.StatusCode == http.StatusNotModified {
43054		if res.Body != nil {
43055			res.Body.Close()
43056		}
43057		return nil, &googleapi.Error{
43058			Code:   res.StatusCode,
43059			Header: res.Header,
43060		}
43061	}
43062	if err != nil {
43063		return nil, err
43064	}
43065	defer googleapi.CloseBody(res)
43066	if err := googleapi.CheckResponse(res); err != nil {
43067		return nil, err
43068	}
43069	ret := &RemarketingListShare{
43070		ServerResponse: googleapi.ServerResponse{
43071			Header:         res.Header,
43072			HTTPStatusCode: res.StatusCode,
43073		},
43074	}
43075	target := &ret
43076	if err := gensupport.DecodeResponse(target, res); err != nil {
43077		return nil, err
43078	}
43079	return ret, nil
43080	// {
43081	//   "description": "Gets one remarketing list share by remarketing list ID.",
43082	//   "httpMethod": "GET",
43083	//   "id": "dfareporting.remarketingListShares.get",
43084	//   "parameterOrder": [
43085	//     "profileId",
43086	//     "remarketingListId"
43087	//   ],
43088	//   "parameters": {
43089	//     "profileId": {
43090	//       "description": "User profile ID associated with this request.",
43091	//       "format": "int64",
43092	//       "location": "path",
43093	//       "required": true,
43094	//       "type": "string"
43095	//     },
43096	//     "remarketingListId": {
43097	//       "description": "Remarketing list ID.",
43098	//       "format": "int64",
43099	//       "location": "path",
43100	//       "required": true,
43101	//       "type": "string"
43102	//     }
43103	//   },
43104	//   "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
43105	//   "response": {
43106	//     "$ref": "RemarketingListShare"
43107	//   },
43108	//   "scopes": [
43109	//     "https://www.googleapis.com/auth/dfatrafficking"
43110	//   ]
43111	// }
43112
43113}
43114
43115// method id "dfareporting.remarketingListShares.patch":
43116
43117type RemarketingListSharesPatchCall struct {
43118	s                    *Service
43119	profileId            int64
43120	remarketinglistshare *RemarketingListShare
43121	urlParams_           gensupport.URLParams
43122	ctx_                 context.Context
43123	header_              http.Header
43124}
43125
43126// Patch: Updates an existing remarketing list share. This method
43127// supports patch semantics.
43128func (r *RemarketingListSharesService) Patch(profileId int64, remarketingListId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
43129	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43130	c.profileId = profileId
43131	c.urlParams_.Set("remarketingListId", fmt.Sprint(remarketingListId))
43132	c.remarketinglistshare = remarketinglistshare
43133	return c
43134}
43135
43136// Fields allows partial responses to be retrieved. See
43137// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43138// for more information.
43139func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
43140	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43141	return c
43142}
43143
43144// Context sets the context to be used in this call's Do method. Any
43145// pending HTTP request will be aborted if the provided context is
43146// canceled.
43147func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
43148	c.ctx_ = ctx
43149	return c
43150}
43151
43152// Header returns an http.Header that can be modified by the caller to
43153// add HTTP headers to the request.
43154func (c *RemarketingListSharesPatchCall) Header() http.Header {
43155	if c.header_ == nil {
43156		c.header_ = make(http.Header)
43157	}
43158	return c.header_
43159}
43160
43161func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
43162	reqHeaders := make(http.Header)
43163	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
43164	for k, v := range c.header_ {
43165		reqHeaders[k] = v
43166	}
43167	reqHeaders.Set("User-Agent", c.s.userAgent())
43168	var body io.Reader = nil
43169	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
43170	if err != nil {
43171		return nil, err
43172	}
43173	reqHeaders.Set("Content-Type", "application/json")
43174	c.urlParams_.Set("alt", alt)
43175	c.urlParams_.Set("prettyPrint", "false")
43176	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
43177	urls += "?" + c.urlParams_.Encode()
43178	req, err := http.NewRequest("PATCH", urls, body)
43179	if err != nil {
43180		return nil, err
43181	}
43182	req.Header = reqHeaders
43183	googleapi.Expand(req.URL, map[string]string{
43184		"profileId": strconv.FormatInt(c.profileId, 10),
43185	})
43186	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43187}
43188
43189// Do executes the "dfareporting.remarketingListShares.patch" call.
43190// Exactly one of *RemarketingListShare or error will be non-nil. Any
43191// non-2xx status code is an error. Response headers are in either
43192// *RemarketingListShare.ServerResponse.Header or (if a response was
43193// returned at all) in error.(*googleapi.Error).Header. Use
43194// googleapi.IsNotModified to check whether the returned error was
43195// because http.StatusNotModified was returned.
43196func (c *RemarketingListSharesPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
43197	gensupport.SetOptions(c.urlParams_, opts...)
43198	res, err := c.doRequest("json")
43199	if res != nil && res.StatusCode == http.StatusNotModified {
43200		if res.Body != nil {
43201			res.Body.Close()
43202		}
43203		return nil, &googleapi.Error{
43204			Code:   res.StatusCode,
43205			Header: res.Header,
43206		}
43207	}
43208	if err != nil {
43209		return nil, err
43210	}
43211	defer googleapi.CloseBody(res)
43212	if err := googleapi.CheckResponse(res); err != nil {
43213		return nil, err
43214	}
43215	ret := &RemarketingListShare{
43216		ServerResponse: googleapi.ServerResponse{
43217			Header:         res.Header,
43218			HTTPStatusCode: res.StatusCode,
43219		},
43220	}
43221	target := &ret
43222	if err := gensupport.DecodeResponse(target, res); err != nil {
43223		return nil, err
43224	}
43225	return ret, nil
43226	// {
43227	//   "description": "Updates an existing remarketing list share. This method supports patch semantics.",
43228	//   "httpMethod": "PATCH",
43229	//   "id": "dfareporting.remarketingListShares.patch",
43230	//   "parameterOrder": [
43231	//     "profileId",
43232	//     "remarketingListId"
43233	//   ],
43234	//   "parameters": {
43235	//     "profileId": {
43236	//       "description": "User profile ID associated with this request.",
43237	//       "format": "int64",
43238	//       "location": "path",
43239	//       "required": true,
43240	//       "type": "string"
43241	//     },
43242	//     "remarketingListId": {
43243	//       "description": "Remarketing list ID.",
43244	//       "format": "int64",
43245	//       "location": "query",
43246	//       "required": true,
43247	//       "type": "string"
43248	//     }
43249	//   },
43250	//   "path": "userprofiles/{profileId}/remarketingListShares",
43251	//   "request": {
43252	//     "$ref": "RemarketingListShare"
43253	//   },
43254	//   "response": {
43255	//     "$ref": "RemarketingListShare"
43256	//   },
43257	//   "scopes": [
43258	//     "https://www.googleapis.com/auth/dfatrafficking"
43259	//   ]
43260	// }
43261
43262}
43263
43264// method id "dfareporting.remarketingListShares.update":
43265
43266type RemarketingListSharesUpdateCall struct {
43267	s                    *Service
43268	profileId            int64
43269	remarketinglistshare *RemarketingListShare
43270	urlParams_           gensupport.URLParams
43271	ctx_                 context.Context
43272	header_              http.Header
43273}
43274
43275// Update: Updates an existing remarketing list share.
43276func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
43277	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43278	c.profileId = profileId
43279	c.remarketinglistshare = remarketinglistshare
43280	return c
43281}
43282
43283// Fields allows partial responses to be retrieved. See
43284// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43285// for more information.
43286func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
43287	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43288	return c
43289}
43290
43291// Context sets the context to be used in this call's Do method. Any
43292// pending HTTP request will be aborted if the provided context is
43293// canceled.
43294func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
43295	c.ctx_ = ctx
43296	return c
43297}
43298
43299// Header returns an http.Header that can be modified by the caller to
43300// add HTTP headers to the request.
43301func (c *RemarketingListSharesUpdateCall) Header() http.Header {
43302	if c.header_ == nil {
43303		c.header_ = make(http.Header)
43304	}
43305	return c.header_
43306}
43307
43308func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
43309	reqHeaders := make(http.Header)
43310	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
43311	for k, v := range c.header_ {
43312		reqHeaders[k] = v
43313	}
43314	reqHeaders.Set("User-Agent", c.s.userAgent())
43315	var body io.Reader = nil
43316	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
43317	if err != nil {
43318		return nil, err
43319	}
43320	reqHeaders.Set("Content-Type", "application/json")
43321	c.urlParams_.Set("alt", alt)
43322	c.urlParams_.Set("prettyPrint", "false")
43323	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
43324	urls += "?" + c.urlParams_.Encode()
43325	req, err := http.NewRequest("PUT", urls, body)
43326	if err != nil {
43327		return nil, err
43328	}
43329	req.Header = reqHeaders
43330	googleapi.Expand(req.URL, map[string]string{
43331		"profileId": strconv.FormatInt(c.profileId, 10),
43332	})
43333	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43334}
43335
43336// Do executes the "dfareporting.remarketingListShares.update" call.
43337// Exactly one of *RemarketingListShare or error will be non-nil. Any
43338// non-2xx status code is an error. Response headers are in either
43339// *RemarketingListShare.ServerResponse.Header or (if a response was
43340// returned at all) in error.(*googleapi.Error).Header. Use
43341// googleapi.IsNotModified to check whether the returned error was
43342// because http.StatusNotModified was returned.
43343func (c *RemarketingListSharesUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
43344	gensupport.SetOptions(c.urlParams_, opts...)
43345	res, err := c.doRequest("json")
43346	if res != nil && res.StatusCode == http.StatusNotModified {
43347		if res.Body != nil {
43348			res.Body.Close()
43349		}
43350		return nil, &googleapi.Error{
43351			Code:   res.StatusCode,
43352			Header: res.Header,
43353		}
43354	}
43355	if err != nil {
43356		return nil, err
43357	}
43358	defer googleapi.CloseBody(res)
43359	if err := googleapi.CheckResponse(res); err != nil {
43360		return nil, err
43361	}
43362	ret := &RemarketingListShare{
43363		ServerResponse: googleapi.ServerResponse{
43364			Header:         res.Header,
43365			HTTPStatusCode: res.StatusCode,
43366		},
43367	}
43368	target := &ret
43369	if err := gensupport.DecodeResponse(target, res); err != nil {
43370		return nil, err
43371	}
43372	return ret, nil
43373	// {
43374	//   "description": "Updates an existing remarketing list share.",
43375	//   "httpMethod": "PUT",
43376	//   "id": "dfareporting.remarketingListShares.update",
43377	//   "parameterOrder": [
43378	//     "profileId"
43379	//   ],
43380	//   "parameters": {
43381	//     "profileId": {
43382	//       "description": "User profile ID associated with this request.",
43383	//       "format": "int64",
43384	//       "location": "path",
43385	//       "required": true,
43386	//       "type": "string"
43387	//     }
43388	//   },
43389	//   "path": "userprofiles/{profileId}/remarketingListShares",
43390	//   "request": {
43391	//     "$ref": "RemarketingListShare"
43392	//   },
43393	//   "response": {
43394	//     "$ref": "RemarketingListShare"
43395	//   },
43396	//   "scopes": [
43397	//     "https://www.googleapis.com/auth/dfatrafficking"
43398	//   ]
43399	// }
43400
43401}
43402
43403// method id "dfareporting.remarketingLists.get":
43404
43405type RemarketingListsGetCall struct {
43406	s            *Service
43407	profileId    int64
43408	id           int64
43409	urlParams_   gensupport.URLParams
43410	ifNoneMatch_ string
43411	ctx_         context.Context
43412	header_      http.Header
43413}
43414
43415// Get: Gets one remarketing list by ID.
43416func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
43417	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43418	c.profileId = profileId
43419	c.id = id
43420	return c
43421}
43422
43423// Fields allows partial responses to be retrieved. See
43424// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43425// for more information.
43426func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
43427	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43428	return c
43429}
43430
43431// IfNoneMatch sets the optional parameter which makes the operation
43432// fail if the object's ETag matches the given value. This is useful for
43433// getting updates only after the object has changed since the last
43434// request. Use googleapi.IsNotModified to check whether the response
43435// error from Do is the result of In-None-Match.
43436func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
43437	c.ifNoneMatch_ = entityTag
43438	return c
43439}
43440
43441// Context sets the context to be used in this call's Do method. Any
43442// pending HTTP request will be aborted if the provided context is
43443// canceled.
43444func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
43445	c.ctx_ = ctx
43446	return c
43447}
43448
43449// Header returns an http.Header that can be modified by the caller to
43450// add HTTP headers to the request.
43451func (c *RemarketingListsGetCall) Header() http.Header {
43452	if c.header_ == nil {
43453		c.header_ = make(http.Header)
43454	}
43455	return c.header_
43456}
43457
43458func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
43459	reqHeaders := make(http.Header)
43460	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
43461	for k, v := range c.header_ {
43462		reqHeaders[k] = v
43463	}
43464	reqHeaders.Set("User-Agent", c.s.userAgent())
43465	if c.ifNoneMatch_ != "" {
43466		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43467	}
43468	var body io.Reader = nil
43469	c.urlParams_.Set("alt", alt)
43470	c.urlParams_.Set("prettyPrint", "false")
43471	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
43472	urls += "?" + c.urlParams_.Encode()
43473	req, err := http.NewRequest("GET", urls, body)
43474	if err != nil {
43475		return nil, err
43476	}
43477	req.Header = reqHeaders
43478	googleapi.Expand(req.URL, map[string]string{
43479		"profileId": strconv.FormatInt(c.profileId, 10),
43480		"id":        strconv.FormatInt(c.id, 10),
43481	})
43482	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43483}
43484
43485// Do executes the "dfareporting.remarketingLists.get" call.
43486// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43487// status code is an error. Response headers are in either
43488// *RemarketingList.ServerResponse.Header or (if a response was returned
43489// at all) in error.(*googleapi.Error).Header. Use
43490// googleapi.IsNotModified to check whether the returned error was
43491// because http.StatusNotModified was returned.
43492func (c *RemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43493	gensupport.SetOptions(c.urlParams_, opts...)
43494	res, err := c.doRequest("json")
43495	if res != nil && res.StatusCode == http.StatusNotModified {
43496		if res.Body != nil {
43497			res.Body.Close()
43498		}
43499		return nil, &googleapi.Error{
43500			Code:   res.StatusCode,
43501			Header: res.Header,
43502		}
43503	}
43504	if err != nil {
43505		return nil, err
43506	}
43507	defer googleapi.CloseBody(res)
43508	if err := googleapi.CheckResponse(res); err != nil {
43509		return nil, err
43510	}
43511	ret := &RemarketingList{
43512		ServerResponse: googleapi.ServerResponse{
43513			Header:         res.Header,
43514			HTTPStatusCode: res.StatusCode,
43515		},
43516	}
43517	target := &ret
43518	if err := gensupport.DecodeResponse(target, res); err != nil {
43519		return nil, err
43520	}
43521	return ret, nil
43522	// {
43523	//   "description": "Gets one remarketing list by ID.",
43524	//   "httpMethod": "GET",
43525	//   "id": "dfareporting.remarketingLists.get",
43526	//   "parameterOrder": [
43527	//     "profileId",
43528	//     "id"
43529	//   ],
43530	//   "parameters": {
43531	//     "id": {
43532	//       "description": "Remarketing list ID.",
43533	//       "format": "int64",
43534	//       "location": "path",
43535	//       "required": true,
43536	//       "type": "string"
43537	//     },
43538	//     "profileId": {
43539	//       "description": "User profile ID associated with this request.",
43540	//       "format": "int64",
43541	//       "location": "path",
43542	//       "required": true,
43543	//       "type": "string"
43544	//     }
43545	//   },
43546	//   "path": "userprofiles/{profileId}/remarketingLists/{id}",
43547	//   "response": {
43548	//     "$ref": "RemarketingList"
43549	//   },
43550	//   "scopes": [
43551	//     "https://www.googleapis.com/auth/dfatrafficking"
43552	//   ]
43553	// }
43554
43555}
43556
43557// method id "dfareporting.remarketingLists.insert":
43558
43559type RemarketingListsInsertCall struct {
43560	s               *Service
43561	profileId       int64
43562	remarketinglist *RemarketingList
43563	urlParams_      gensupport.URLParams
43564	ctx_            context.Context
43565	header_         http.Header
43566}
43567
43568// Insert: Inserts a new remarketing list.
43569func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
43570	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43571	c.profileId = profileId
43572	c.remarketinglist = remarketinglist
43573	return c
43574}
43575
43576// Fields allows partial responses to be retrieved. See
43577// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43578// for more information.
43579func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
43580	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43581	return c
43582}
43583
43584// Context sets the context to be used in this call's Do method. Any
43585// pending HTTP request will be aborted if the provided context is
43586// canceled.
43587func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
43588	c.ctx_ = ctx
43589	return c
43590}
43591
43592// Header returns an http.Header that can be modified by the caller to
43593// add HTTP headers to the request.
43594func (c *RemarketingListsInsertCall) Header() http.Header {
43595	if c.header_ == nil {
43596		c.header_ = make(http.Header)
43597	}
43598	return c.header_
43599}
43600
43601func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
43602	reqHeaders := make(http.Header)
43603	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
43604	for k, v := range c.header_ {
43605		reqHeaders[k] = v
43606	}
43607	reqHeaders.Set("User-Agent", c.s.userAgent())
43608	var body io.Reader = nil
43609	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
43610	if err != nil {
43611		return nil, err
43612	}
43613	reqHeaders.Set("Content-Type", "application/json")
43614	c.urlParams_.Set("alt", alt)
43615	c.urlParams_.Set("prettyPrint", "false")
43616	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43617	urls += "?" + c.urlParams_.Encode()
43618	req, err := http.NewRequest("POST", urls, body)
43619	if err != nil {
43620		return nil, err
43621	}
43622	req.Header = reqHeaders
43623	googleapi.Expand(req.URL, map[string]string{
43624		"profileId": strconv.FormatInt(c.profileId, 10),
43625	})
43626	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43627}
43628
43629// Do executes the "dfareporting.remarketingLists.insert" call.
43630// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43631// status code is an error. Response headers are in either
43632// *RemarketingList.ServerResponse.Header or (if a response was returned
43633// at all) in error.(*googleapi.Error).Header. Use
43634// googleapi.IsNotModified to check whether the returned error was
43635// because http.StatusNotModified was returned.
43636func (c *RemarketingListsInsertCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43637	gensupport.SetOptions(c.urlParams_, opts...)
43638	res, err := c.doRequest("json")
43639	if res != nil && res.StatusCode == http.StatusNotModified {
43640		if res.Body != nil {
43641			res.Body.Close()
43642		}
43643		return nil, &googleapi.Error{
43644			Code:   res.StatusCode,
43645			Header: res.Header,
43646		}
43647	}
43648	if err != nil {
43649		return nil, err
43650	}
43651	defer googleapi.CloseBody(res)
43652	if err := googleapi.CheckResponse(res); err != nil {
43653		return nil, err
43654	}
43655	ret := &RemarketingList{
43656		ServerResponse: googleapi.ServerResponse{
43657			Header:         res.Header,
43658			HTTPStatusCode: res.StatusCode,
43659		},
43660	}
43661	target := &ret
43662	if err := gensupport.DecodeResponse(target, res); err != nil {
43663		return nil, err
43664	}
43665	return ret, nil
43666	// {
43667	//   "description": "Inserts a new remarketing list.",
43668	//   "httpMethod": "POST",
43669	//   "id": "dfareporting.remarketingLists.insert",
43670	//   "parameterOrder": [
43671	//     "profileId"
43672	//   ],
43673	//   "parameters": {
43674	//     "profileId": {
43675	//       "description": "User profile ID associated with this request.",
43676	//       "format": "int64",
43677	//       "location": "path",
43678	//       "required": true,
43679	//       "type": "string"
43680	//     }
43681	//   },
43682	//   "path": "userprofiles/{profileId}/remarketingLists",
43683	//   "request": {
43684	//     "$ref": "RemarketingList"
43685	//   },
43686	//   "response": {
43687	//     "$ref": "RemarketingList"
43688	//   },
43689	//   "scopes": [
43690	//     "https://www.googleapis.com/auth/dfatrafficking"
43691	//   ]
43692	// }
43693
43694}
43695
43696// method id "dfareporting.remarketingLists.list":
43697
43698type RemarketingListsListCall struct {
43699	s            *Service
43700	profileId    int64
43701	urlParams_   gensupport.URLParams
43702	ifNoneMatch_ string
43703	ctx_         context.Context
43704	header_      http.Header
43705}
43706
43707// List: Retrieves a list of remarketing lists, possibly filtered. This
43708// method supports paging.
43709func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
43710	c := &RemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43711	c.profileId = profileId
43712	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
43713	return c
43714}
43715
43716// Active sets the optional parameter "active": Select only active or
43717// only inactive remarketing lists.
43718func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
43719	c.urlParams_.Set("active", fmt.Sprint(active))
43720	return c
43721}
43722
43723// FloodlightActivityId sets the optional parameter
43724// "floodlightActivityId": Select only remarketing lists that have this
43725// floodlight activity ID.
43726func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
43727	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
43728	return c
43729}
43730
43731// MaxResults sets the optional parameter "maxResults": Maximum number
43732// of results to return.
43733func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
43734	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
43735	return c
43736}
43737
43738// Name sets the optional parameter "name": Allows searching for objects
43739// by name or ID. Wildcards (*) are allowed. For example, "remarketing
43740// list*2015" will return objects with names like "remarketing list June
43741// 2015", "remarketing list April 2015", or simply "remarketing list
43742// 2015". Most of the searches also add wildcards implicitly at the
43743// start and the end of the search string. For example, a search string
43744// of "remarketing list" will match objects with name "my remarketing
43745// list", "remarketing list 2015", or simply "remarketing list".
43746func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
43747	c.urlParams_.Set("name", name)
43748	return c
43749}
43750
43751// PageToken sets the optional parameter "pageToken": Value of the
43752// nextPageToken from the previous result page.
43753func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
43754	c.urlParams_.Set("pageToken", pageToken)
43755	return c
43756}
43757
43758// SortField sets the optional parameter "sortField": Field by which to
43759// sort the list.
43760//
43761// Possible values:
43762//   "ID" (default)
43763//   "NAME"
43764func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
43765	c.urlParams_.Set("sortField", sortField)
43766	return c
43767}
43768
43769// SortOrder sets the optional parameter "sortOrder": Order of sorted
43770// results.
43771//
43772// Possible values:
43773//   "ASCENDING" (default)
43774//   "DESCENDING"
43775func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
43776	c.urlParams_.Set("sortOrder", sortOrder)
43777	return c
43778}
43779
43780// Fields allows partial responses to be retrieved. See
43781// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43782// for more information.
43783func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
43784	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43785	return c
43786}
43787
43788// IfNoneMatch sets the optional parameter which makes the operation
43789// fail if the object's ETag matches the given value. This is useful for
43790// getting updates only after the object has changed since the last
43791// request. Use googleapi.IsNotModified to check whether the response
43792// error from Do is the result of In-None-Match.
43793func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
43794	c.ifNoneMatch_ = entityTag
43795	return c
43796}
43797
43798// Context sets the context to be used in this call's Do method. Any
43799// pending HTTP request will be aborted if the provided context is
43800// canceled.
43801func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
43802	c.ctx_ = ctx
43803	return c
43804}
43805
43806// Header returns an http.Header that can be modified by the caller to
43807// add HTTP headers to the request.
43808func (c *RemarketingListsListCall) Header() http.Header {
43809	if c.header_ == nil {
43810		c.header_ = make(http.Header)
43811	}
43812	return c.header_
43813}
43814
43815func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
43816	reqHeaders := make(http.Header)
43817	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
43818	for k, v := range c.header_ {
43819		reqHeaders[k] = v
43820	}
43821	reqHeaders.Set("User-Agent", c.s.userAgent())
43822	if c.ifNoneMatch_ != "" {
43823		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43824	}
43825	var body io.Reader = nil
43826	c.urlParams_.Set("alt", alt)
43827	c.urlParams_.Set("prettyPrint", "false")
43828	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43829	urls += "?" + c.urlParams_.Encode()
43830	req, err := http.NewRequest("GET", urls, body)
43831	if err != nil {
43832		return nil, err
43833	}
43834	req.Header = reqHeaders
43835	googleapi.Expand(req.URL, map[string]string{
43836		"profileId": strconv.FormatInt(c.profileId, 10),
43837	})
43838	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43839}
43840
43841// Do executes the "dfareporting.remarketingLists.list" call.
43842// Exactly one of *RemarketingListsListResponse or error will be
43843// non-nil. Any non-2xx status code is an error. Response headers are in
43844// either *RemarketingListsListResponse.ServerResponse.Header or (if a
43845// response was returned at all) in error.(*googleapi.Error).Header. Use
43846// googleapi.IsNotModified to check whether the returned error was
43847// because http.StatusNotModified was returned.
43848func (c *RemarketingListsListCall) Do(opts ...googleapi.CallOption) (*RemarketingListsListResponse, error) {
43849	gensupport.SetOptions(c.urlParams_, opts...)
43850	res, err := c.doRequest("json")
43851	if res != nil && res.StatusCode == http.StatusNotModified {
43852		if res.Body != nil {
43853			res.Body.Close()
43854		}
43855		return nil, &googleapi.Error{
43856			Code:   res.StatusCode,
43857			Header: res.Header,
43858		}
43859	}
43860	if err != nil {
43861		return nil, err
43862	}
43863	defer googleapi.CloseBody(res)
43864	if err := googleapi.CheckResponse(res); err != nil {
43865		return nil, err
43866	}
43867	ret := &RemarketingListsListResponse{
43868		ServerResponse: googleapi.ServerResponse{
43869			Header:         res.Header,
43870			HTTPStatusCode: res.StatusCode,
43871		},
43872	}
43873	target := &ret
43874	if err := gensupport.DecodeResponse(target, res); err != nil {
43875		return nil, err
43876	}
43877	return ret, nil
43878	// {
43879	//   "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
43880	//   "httpMethod": "GET",
43881	//   "id": "dfareporting.remarketingLists.list",
43882	//   "parameterOrder": [
43883	//     "profileId",
43884	//     "advertiserId"
43885	//   ],
43886	//   "parameters": {
43887	//     "active": {
43888	//       "description": "Select only active or only inactive remarketing lists.",
43889	//       "location": "query",
43890	//       "type": "boolean"
43891	//     },
43892	//     "advertiserId": {
43893	//       "description": "Select only remarketing lists owned by this advertiser.",
43894	//       "format": "int64",
43895	//       "location": "query",
43896	//       "required": true,
43897	//       "type": "string"
43898	//     },
43899	//     "floodlightActivityId": {
43900	//       "description": "Select only remarketing lists that have this floodlight activity ID.",
43901	//       "format": "int64",
43902	//       "location": "query",
43903	//       "type": "string"
43904	//     },
43905	//     "maxResults": {
43906	//       "default": "1000",
43907	//       "description": "Maximum number of results to return.",
43908	//       "format": "int32",
43909	//       "location": "query",
43910	//       "maximum": "1000",
43911	//       "minimum": "0",
43912	//       "type": "integer"
43913	//     },
43914	//     "name": {
43915	//       "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\".",
43916	//       "location": "query",
43917	//       "type": "string"
43918	//     },
43919	//     "pageToken": {
43920	//       "description": "Value of the nextPageToken from the previous result page.",
43921	//       "location": "query",
43922	//       "type": "string"
43923	//     },
43924	//     "profileId": {
43925	//       "description": "User profile ID associated with this request.",
43926	//       "format": "int64",
43927	//       "location": "path",
43928	//       "required": true,
43929	//       "type": "string"
43930	//     },
43931	//     "sortField": {
43932	//       "default": "ID",
43933	//       "description": "Field by which to sort the list.",
43934	//       "enum": [
43935	//         "ID",
43936	//         "NAME"
43937	//       ],
43938	//       "enumDescriptions": [
43939	//         "",
43940	//         ""
43941	//       ],
43942	//       "location": "query",
43943	//       "type": "string"
43944	//     },
43945	//     "sortOrder": {
43946	//       "default": "ASCENDING",
43947	//       "description": "Order of sorted results.",
43948	//       "enum": [
43949	//         "ASCENDING",
43950	//         "DESCENDING"
43951	//       ],
43952	//       "enumDescriptions": [
43953	//         "",
43954	//         ""
43955	//       ],
43956	//       "location": "query",
43957	//       "type": "string"
43958	//     }
43959	//   },
43960	//   "path": "userprofiles/{profileId}/remarketingLists",
43961	//   "response": {
43962	//     "$ref": "RemarketingListsListResponse"
43963	//   },
43964	//   "scopes": [
43965	//     "https://www.googleapis.com/auth/dfatrafficking"
43966	//   ]
43967	// }
43968
43969}
43970
43971// Pages invokes f for each page of results.
43972// A non-nil error returned from f will halt the iteration.
43973// The provided context supersedes any context provided to the Context method.
43974func (c *RemarketingListsListCall) Pages(ctx context.Context, f func(*RemarketingListsListResponse) error) error {
43975	c.ctx_ = ctx
43976	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
43977	for {
43978		x, err := c.Do()
43979		if err != nil {
43980			return err
43981		}
43982		if err := f(x); err != nil {
43983			return err
43984		}
43985		if x.NextPageToken == "" {
43986			return nil
43987		}
43988		c.PageToken(x.NextPageToken)
43989	}
43990}
43991
43992// method id "dfareporting.remarketingLists.patch":
43993
43994type RemarketingListsPatchCall struct {
43995	s               *Service
43996	profileId       int64
43997	remarketinglist *RemarketingList
43998	urlParams_      gensupport.URLParams
43999	ctx_            context.Context
44000	header_         http.Header
44001}
44002
44003// Patch: Updates an existing remarketing list. This method supports
44004// patch semantics.
44005func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
44006	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44007	c.profileId = profileId
44008	c.urlParams_.Set("id", fmt.Sprint(id))
44009	c.remarketinglist = remarketinglist
44010	return c
44011}
44012
44013// Fields allows partial responses to be retrieved. See
44014// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44015// for more information.
44016func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
44017	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44018	return c
44019}
44020
44021// Context sets the context to be used in this call's Do method. Any
44022// pending HTTP request will be aborted if the provided context is
44023// canceled.
44024func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
44025	c.ctx_ = ctx
44026	return c
44027}
44028
44029// Header returns an http.Header that can be modified by the caller to
44030// add HTTP headers to the request.
44031func (c *RemarketingListsPatchCall) Header() http.Header {
44032	if c.header_ == nil {
44033		c.header_ = make(http.Header)
44034	}
44035	return c.header_
44036}
44037
44038func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
44039	reqHeaders := make(http.Header)
44040	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
44041	for k, v := range c.header_ {
44042		reqHeaders[k] = v
44043	}
44044	reqHeaders.Set("User-Agent", c.s.userAgent())
44045	var body io.Reader = nil
44046	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
44047	if err != nil {
44048		return nil, err
44049	}
44050	reqHeaders.Set("Content-Type", "application/json")
44051	c.urlParams_.Set("alt", alt)
44052	c.urlParams_.Set("prettyPrint", "false")
44053	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
44054	urls += "?" + c.urlParams_.Encode()
44055	req, err := http.NewRequest("PATCH", urls, body)
44056	if err != nil {
44057		return nil, err
44058	}
44059	req.Header = reqHeaders
44060	googleapi.Expand(req.URL, map[string]string{
44061		"profileId": strconv.FormatInt(c.profileId, 10),
44062	})
44063	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44064}
44065
44066// Do executes the "dfareporting.remarketingLists.patch" call.
44067// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
44068// status code is an error. Response headers are in either
44069// *RemarketingList.ServerResponse.Header or (if a response was returned
44070// at all) in error.(*googleapi.Error).Header. Use
44071// googleapi.IsNotModified to check whether the returned error was
44072// because http.StatusNotModified was returned.
44073func (c *RemarketingListsPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
44074	gensupport.SetOptions(c.urlParams_, opts...)
44075	res, err := c.doRequest("json")
44076	if res != nil && res.StatusCode == http.StatusNotModified {
44077		if res.Body != nil {
44078			res.Body.Close()
44079		}
44080		return nil, &googleapi.Error{
44081			Code:   res.StatusCode,
44082			Header: res.Header,
44083		}
44084	}
44085	if err != nil {
44086		return nil, err
44087	}
44088	defer googleapi.CloseBody(res)
44089	if err := googleapi.CheckResponse(res); err != nil {
44090		return nil, err
44091	}
44092	ret := &RemarketingList{
44093		ServerResponse: googleapi.ServerResponse{
44094			Header:         res.Header,
44095			HTTPStatusCode: res.StatusCode,
44096		},
44097	}
44098	target := &ret
44099	if err := gensupport.DecodeResponse(target, res); err != nil {
44100		return nil, err
44101	}
44102	return ret, nil
44103	// {
44104	//   "description": "Updates an existing remarketing list. This method supports patch semantics.",
44105	//   "httpMethod": "PATCH",
44106	//   "id": "dfareporting.remarketingLists.patch",
44107	//   "parameterOrder": [
44108	//     "profileId",
44109	//     "id"
44110	//   ],
44111	//   "parameters": {
44112	//     "id": {
44113	//       "description": "Remarketing list ID.",
44114	//       "format": "int64",
44115	//       "location": "query",
44116	//       "required": true,
44117	//       "type": "string"
44118	//     },
44119	//     "profileId": {
44120	//       "description": "User profile ID associated with this request.",
44121	//       "format": "int64",
44122	//       "location": "path",
44123	//       "required": true,
44124	//       "type": "string"
44125	//     }
44126	//   },
44127	//   "path": "userprofiles/{profileId}/remarketingLists",
44128	//   "request": {
44129	//     "$ref": "RemarketingList"
44130	//   },
44131	//   "response": {
44132	//     "$ref": "RemarketingList"
44133	//   },
44134	//   "scopes": [
44135	//     "https://www.googleapis.com/auth/dfatrafficking"
44136	//   ]
44137	// }
44138
44139}
44140
44141// method id "dfareporting.remarketingLists.update":
44142
44143type RemarketingListsUpdateCall struct {
44144	s               *Service
44145	profileId       int64
44146	remarketinglist *RemarketingList
44147	urlParams_      gensupport.URLParams
44148	ctx_            context.Context
44149	header_         http.Header
44150}
44151
44152// Update: Updates an existing remarketing list.
44153func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
44154	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44155	c.profileId = profileId
44156	c.remarketinglist = remarketinglist
44157	return c
44158}
44159
44160// Fields allows partial responses to be retrieved. See
44161// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44162// for more information.
44163func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
44164	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44165	return c
44166}
44167
44168// Context sets the context to be used in this call's Do method. Any
44169// pending HTTP request will be aborted if the provided context is
44170// canceled.
44171func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
44172	c.ctx_ = ctx
44173	return c
44174}
44175
44176// Header returns an http.Header that can be modified by the caller to
44177// add HTTP headers to the request.
44178func (c *RemarketingListsUpdateCall) Header() http.Header {
44179	if c.header_ == nil {
44180		c.header_ = make(http.Header)
44181	}
44182	return c.header_
44183}
44184
44185func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
44186	reqHeaders := make(http.Header)
44187	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
44188	for k, v := range c.header_ {
44189		reqHeaders[k] = v
44190	}
44191	reqHeaders.Set("User-Agent", c.s.userAgent())
44192	var body io.Reader = nil
44193	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
44194	if err != nil {
44195		return nil, err
44196	}
44197	reqHeaders.Set("Content-Type", "application/json")
44198	c.urlParams_.Set("alt", alt)
44199	c.urlParams_.Set("prettyPrint", "false")
44200	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
44201	urls += "?" + c.urlParams_.Encode()
44202	req, err := http.NewRequest("PUT", urls, body)
44203	if err != nil {
44204		return nil, err
44205	}
44206	req.Header = reqHeaders
44207	googleapi.Expand(req.URL, map[string]string{
44208		"profileId": strconv.FormatInt(c.profileId, 10),
44209	})
44210	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44211}
44212
44213// Do executes the "dfareporting.remarketingLists.update" call.
44214// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
44215// status code is an error. Response headers are in either
44216// *RemarketingList.ServerResponse.Header or (if a response was returned
44217// at all) in error.(*googleapi.Error).Header. Use
44218// googleapi.IsNotModified to check whether the returned error was
44219// because http.StatusNotModified was returned.
44220func (c *RemarketingListsUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
44221	gensupport.SetOptions(c.urlParams_, opts...)
44222	res, err := c.doRequest("json")
44223	if res != nil && res.StatusCode == http.StatusNotModified {
44224		if res.Body != nil {
44225			res.Body.Close()
44226		}
44227		return nil, &googleapi.Error{
44228			Code:   res.StatusCode,
44229			Header: res.Header,
44230		}
44231	}
44232	if err != nil {
44233		return nil, err
44234	}
44235	defer googleapi.CloseBody(res)
44236	if err := googleapi.CheckResponse(res); err != nil {
44237		return nil, err
44238	}
44239	ret := &RemarketingList{
44240		ServerResponse: googleapi.ServerResponse{
44241			Header:         res.Header,
44242			HTTPStatusCode: res.StatusCode,
44243		},
44244	}
44245	target := &ret
44246	if err := gensupport.DecodeResponse(target, res); err != nil {
44247		return nil, err
44248	}
44249	return ret, nil
44250	// {
44251	//   "description": "Updates an existing remarketing list.",
44252	//   "httpMethod": "PUT",
44253	//   "id": "dfareporting.remarketingLists.update",
44254	//   "parameterOrder": [
44255	//     "profileId"
44256	//   ],
44257	//   "parameters": {
44258	//     "profileId": {
44259	//       "description": "User profile ID associated with this request.",
44260	//       "format": "int64",
44261	//       "location": "path",
44262	//       "required": true,
44263	//       "type": "string"
44264	//     }
44265	//   },
44266	//   "path": "userprofiles/{profileId}/remarketingLists",
44267	//   "request": {
44268	//     "$ref": "RemarketingList"
44269	//   },
44270	//   "response": {
44271	//     "$ref": "RemarketingList"
44272	//   },
44273	//   "scopes": [
44274	//     "https://www.googleapis.com/auth/dfatrafficking"
44275	//   ]
44276	// }
44277
44278}
44279
44280// method id "dfareporting.reports.delete":
44281
44282type ReportsDeleteCall struct {
44283	s          *Service
44284	profileId  int64
44285	reportId   int64
44286	urlParams_ gensupport.URLParams
44287	ctx_       context.Context
44288	header_    http.Header
44289}
44290
44291// Delete: Deletes a report by its ID.
44292func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
44293	c := &ReportsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44294	c.profileId = profileId
44295	c.reportId = reportId
44296	return c
44297}
44298
44299// Fields allows partial responses to be retrieved. See
44300// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44301// for more information.
44302func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
44303	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44304	return c
44305}
44306
44307// Context sets the context to be used in this call's Do method. Any
44308// pending HTTP request will be aborted if the provided context is
44309// canceled.
44310func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
44311	c.ctx_ = ctx
44312	return c
44313}
44314
44315// Header returns an http.Header that can be modified by the caller to
44316// add HTTP headers to the request.
44317func (c *ReportsDeleteCall) Header() http.Header {
44318	if c.header_ == nil {
44319		c.header_ = make(http.Header)
44320	}
44321	return c.header_
44322}
44323
44324func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
44325	reqHeaders := make(http.Header)
44326	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
44327	for k, v := range c.header_ {
44328		reqHeaders[k] = v
44329	}
44330	reqHeaders.Set("User-Agent", c.s.userAgent())
44331	var body io.Reader = nil
44332	c.urlParams_.Set("alt", alt)
44333	c.urlParams_.Set("prettyPrint", "false")
44334	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44335	urls += "?" + c.urlParams_.Encode()
44336	req, err := http.NewRequest("DELETE", urls, body)
44337	if err != nil {
44338		return nil, err
44339	}
44340	req.Header = reqHeaders
44341	googleapi.Expand(req.URL, map[string]string{
44342		"profileId": strconv.FormatInt(c.profileId, 10),
44343		"reportId":  strconv.FormatInt(c.reportId, 10),
44344	})
44345	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44346}
44347
44348// Do executes the "dfareporting.reports.delete" call.
44349func (c *ReportsDeleteCall) Do(opts ...googleapi.CallOption) error {
44350	gensupport.SetOptions(c.urlParams_, opts...)
44351	res, err := c.doRequest("json")
44352	if err != nil {
44353		return err
44354	}
44355	defer googleapi.CloseBody(res)
44356	if err := googleapi.CheckResponse(res); err != nil {
44357		return err
44358	}
44359	return nil
44360	// {
44361	//   "description": "Deletes a report by its ID.",
44362	//   "httpMethod": "DELETE",
44363	//   "id": "dfareporting.reports.delete",
44364	//   "parameterOrder": [
44365	//     "profileId",
44366	//     "reportId"
44367	//   ],
44368	//   "parameters": {
44369	//     "profileId": {
44370	//       "description": "The DFA user profile ID.",
44371	//       "format": "int64",
44372	//       "location": "path",
44373	//       "required": true,
44374	//       "type": "string"
44375	//     },
44376	//     "reportId": {
44377	//       "description": "The ID of the report.",
44378	//       "format": "int64",
44379	//       "location": "path",
44380	//       "required": true,
44381	//       "type": "string"
44382	//     }
44383	//   },
44384	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44385	//   "scopes": [
44386	//     "https://www.googleapis.com/auth/dfareporting"
44387	//   ]
44388	// }
44389
44390}
44391
44392// method id "dfareporting.reports.get":
44393
44394type ReportsGetCall struct {
44395	s            *Service
44396	profileId    int64
44397	reportId     int64
44398	urlParams_   gensupport.URLParams
44399	ifNoneMatch_ string
44400	ctx_         context.Context
44401	header_      http.Header
44402}
44403
44404// Get: Retrieves a report by its ID.
44405func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
44406	c := &ReportsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44407	c.profileId = profileId
44408	c.reportId = reportId
44409	return c
44410}
44411
44412// Fields allows partial responses to be retrieved. See
44413// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44414// for more information.
44415func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
44416	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44417	return c
44418}
44419
44420// IfNoneMatch sets the optional parameter which makes the operation
44421// fail if the object's ETag matches the given value. This is useful for
44422// getting updates only after the object has changed since the last
44423// request. Use googleapi.IsNotModified to check whether the response
44424// error from Do is the result of In-None-Match.
44425func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
44426	c.ifNoneMatch_ = entityTag
44427	return c
44428}
44429
44430// Context sets the context to be used in this call's Do method. Any
44431// pending HTTP request will be aborted if the provided context is
44432// canceled.
44433func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
44434	c.ctx_ = ctx
44435	return c
44436}
44437
44438// Header returns an http.Header that can be modified by the caller to
44439// add HTTP headers to the request.
44440func (c *ReportsGetCall) Header() http.Header {
44441	if c.header_ == nil {
44442		c.header_ = make(http.Header)
44443	}
44444	return c.header_
44445}
44446
44447func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
44448	reqHeaders := make(http.Header)
44449	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
44450	for k, v := range c.header_ {
44451		reqHeaders[k] = v
44452	}
44453	reqHeaders.Set("User-Agent", c.s.userAgent())
44454	if c.ifNoneMatch_ != "" {
44455		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44456	}
44457	var body io.Reader = nil
44458	c.urlParams_.Set("alt", alt)
44459	c.urlParams_.Set("prettyPrint", "false")
44460	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44461	urls += "?" + c.urlParams_.Encode()
44462	req, err := http.NewRequest("GET", urls, body)
44463	if err != nil {
44464		return nil, err
44465	}
44466	req.Header = reqHeaders
44467	googleapi.Expand(req.URL, map[string]string{
44468		"profileId": strconv.FormatInt(c.profileId, 10),
44469		"reportId":  strconv.FormatInt(c.reportId, 10),
44470	})
44471	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44472}
44473
44474// Do executes the "dfareporting.reports.get" call.
44475// Exactly one of *Report or error will be non-nil. Any non-2xx status
44476// code is an error. Response headers are in either
44477// *Report.ServerResponse.Header or (if a response was returned at all)
44478// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44479// check whether the returned error was because http.StatusNotModified
44480// was returned.
44481func (c *ReportsGetCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44482	gensupport.SetOptions(c.urlParams_, opts...)
44483	res, err := c.doRequest("json")
44484	if res != nil && res.StatusCode == http.StatusNotModified {
44485		if res.Body != nil {
44486			res.Body.Close()
44487		}
44488		return nil, &googleapi.Error{
44489			Code:   res.StatusCode,
44490			Header: res.Header,
44491		}
44492	}
44493	if err != nil {
44494		return nil, err
44495	}
44496	defer googleapi.CloseBody(res)
44497	if err := googleapi.CheckResponse(res); err != nil {
44498		return nil, err
44499	}
44500	ret := &Report{
44501		ServerResponse: googleapi.ServerResponse{
44502			Header:         res.Header,
44503			HTTPStatusCode: res.StatusCode,
44504		},
44505	}
44506	target := &ret
44507	if err := gensupport.DecodeResponse(target, res); err != nil {
44508		return nil, err
44509	}
44510	return ret, nil
44511	// {
44512	//   "description": "Retrieves a report by its ID.",
44513	//   "httpMethod": "GET",
44514	//   "id": "dfareporting.reports.get",
44515	//   "parameterOrder": [
44516	//     "profileId",
44517	//     "reportId"
44518	//   ],
44519	//   "parameters": {
44520	//     "profileId": {
44521	//       "description": "The DFA user profile ID.",
44522	//       "format": "int64",
44523	//       "location": "path",
44524	//       "required": true,
44525	//       "type": "string"
44526	//     },
44527	//     "reportId": {
44528	//       "description": "The ID of the report.",
44529	//       "format": "int64",
44530	//       "location": "path",
44531	//       "required": true,
44532	//       "type": "string"
44533	//     }
44534	//   },
44535	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44536	//   "response": {
44537	//     "$ref": "Report"
44538	//   },
44539	//   "scopes": [
44540	//     "https://www.googleapis.com/auth/dfareporting"
44541	//   ]
44542	// }
44543
44544}
44545
44546// method id "dfareporting.reports.insert":
44547
44548type ReportsInsertCall struct {
44549	s          *Service
44550	profileId  int64
44551	report     *Report
44552	urlParams_ gensupport.URLParams
44553	ctx_       context.Context
44554	header_    http.Header
44555}
44556
44557// Insert: Creates a report.
44558func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
44559	c := &ReportsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44560	c.profileId = profileId
44561	c.report = report
44562	return c
44563}
44564
44565// Fields allows partial responses to be retrieved. See
44566// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44567// for more information.
44568func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
44569	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44570	return c
44571}
44572
44573// Context sets the context to be used in this call's Do method. Any
44574// pending HTTP request will be aborted if the provided context is
44575// canceled.
44576func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
44577	c.ctx_ = ctx
44578	return c
44579}
44580
44581// Header returns an http.Header that can be modified by the caller to
44582// add HTTP headers to the request.
44583func (c *ReportsInsertCall) Header() http.Header {
44584	if c.header_ == nil {
44585		c.header_ = make(http.Header)
44586	}
44587	return c.header_
44588}
44589
44590func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
44591	reqHeaders := make(http.Header)
44592	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
44593	for k, v := range c.header_ {
44594		reqHeaders[k] = v
44595	}
44596	reqHeaders.Set("User-Agent", c.s.userAgent())
44597	var body io.Reader = nil
44598	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44599	if err != nil {
44600		return nil, err
44601	}
44602	reqHeaders.Set("Content-Type", "application/json")
44603	c.urlParams_.Set("alt", alt)
44604	c.urlParams_.Set("prettyPrint", "false")
44605	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
44606	urls += "?" + c.urlParams_.Encode()
44607	req, err := http.NewRequest("POST", urls, body)
44608	if err != nil {
44609		return nil, err
44610	}
44611	req.Header = reqHeaders
44612	googleapi.Expand(req.URL, map[string]string{
44613		"profileId": strconv.FormatInt(c.profileId, 10),
44614	})
44615	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44616}
44617
44618// Do executes the "dfareporting.reports.insert" call.
44619// Exactly one of *Report or error will be non-nil. Any non-2xx status
44620// code is an error. Response headers are in either
44621// *Report.ServerResponse.Header or (if a response was returned at all)
44622// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44623// check whether the returned error was because http.StatusNotModified
44624// was returned.
44625func (c *ReportsInsertCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44626	gensupport.SetOptions(c.urlParams_, opts...)
44627	res, err := c.doRequest("json")
44628	if res != nil && res.StatusCode == http.StatusNotModified {
44629		if res.Body != nil {
44630			res.Body.Close()
44631		}
44632		return nil, &googleapi.Error{
44633			Code:   res.StatusCode,
44634			Header: res.Header,
44635		}
44636	}
44637	if err != nil {
44638		return nil, err
44639	}
44640	defer googleapi.CloseBody(res)
44641	if err := googleapi.CheckResponse(res); err != nil {
44642		return nil, err
44643	}
44644	ret := &Report{
44645		ServerResponse: googleapi.ServerResponse{
44646			Header:         res.Header,
44647			HTTPStatusCode: res.StatusCode,
44648		},
44649	}
44650	target := &ret
44651	if err := gensupport.DecodeResponse(target, res); err != nil {
44652		return nil, err
44653	}
44654	return ret, nil
44655	// {
44656	//   "description": "Creates a report.",
44657	//   "httpMethod": "POST",
44658	//   "id": "dfareporting.reports.insert",
44659	//   "parameterOrder": [
44660	//     "profileId"
44661	//   ],
44662	//   "parameters": {
44663	//     "profileId": {
44664	//       "description": "The DFA user profile ID.",
44665	//       "format": "int64",
44666	//       "location": "path",
44667	//       "required": true,
44668	//       "type": "string"
44669	//     }
44670	//   },
44671	//   "path": "userprofiles/{profileId}/reports",
44672	//   "request": {
44673	//     "$ref": "Report"
44674	//   },
44675	//   "response": {
44676	//     "$ref": "Report"
44677	//   },
44678	//   "scopes": [
44679	//     "https://www.googleapis.com/auth/dfareporting"
44680	//   ]
44681	// }
44682
44683}
44684
44685// method id "dfareporting.reports.list":
44686
44687type ReportsListCall struct {
44688	s            *Service
44689	profileId    int64
44690	urlParams_   gensupport.URLParams
44691	ifNoneMatch_ string
44692	ctx_         context.Context
44693	header_      http.Header
44694}
44695
44696// List: Retrieves list of reports.
44697func (r *ReportsService) List(profileId int64) *ReportsListCall {
44698	c := &ReportsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44699	c.profileId = profileId
44700	return c
44701}
44702
44703// MaxResults sets the optional parameter "maxResults": Maximum number
44704// of results to return.
44705func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
44706	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
44707	return c
44708}
44709
44710// PageToken sets the optional parameter "pageToken": The value of the
44711// nextToken from the previous result page.
44712func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
44713	c.urlParams_.Set("pageToken", pageToken)
44714	return c
44715}
44716
44717// Scope sets the optional parameter "scope": The scope that defines
44718// which results are returned.
44719//
44720// Possible values:
44721//   "ALL" - All reports in account.
44722//   "MINE" (default) - My reports.
44723func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
44724	c.urlParams_.Set("scope", scope)
44725	return c
44726}
44727
44728// SortField sets the optional parameter "sortField": The field by which
44729// to sort the list.
44730//
44731// Possible values:
44732//   "ID" - Sort by report ID.
44733//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
44734//   "NAME" - Sort by name of reports.
44735func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
44736	c.urlParams_.Set("sortField", sortField)
44737	return c
44738}
44739
44740// SortOrder sets the optional parameter "sortOrder": Order of sorted
44741// results.
44742//
44743// Possible values:
44744//   "ASCENDING" - Ascending order.
44745//   "DESCENDING" (default) - Descending order.
44746func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
44747	c.urlParams_.Set("sortOrder", sortOrder)
44748	return c
44749}
44750
44751// Fields allows partial responses to be retrieved. See
44752// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44753// for more information.
44754func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
44755	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44756	return c
44757}
44758
44759// IfNoneMatch sets the optional parameter which makes the operation
44760// fail if the object's ETag matches the given value. This is useful for
44761// getting updates only after the object has changed since the last
44762// request. Use googleapi.IsNotModified to check whether the response
44763// error from Do is the result of In-None-Match.
44764func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
44765	c.ifNoneMatch_ = entityTag
44766	return c
44767}
44768
44769// Context sets the context to be used in this call's Do method. Any
44770// pending HTTP request will be aborted if the provided context is
44771// canceled.
44772func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
44773	c.ctx_ = ctx
44774	return c
44775}
44776
44777// Header returns an http.Header that can be modified by the caller to
44778// add HTTP headers to the request.
44779func (c *ReportsListCall) Header() http.Header {
44780	if c.header_ == nil {
44781		c.header_ = make(http.Header)
44782	}
44783	return c.header_
44784}
44785
44786func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
44787	reqHeaders := make(http.Header)
44788	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
44789	for k, v := range c.header_ {
44790		reqHeaders[k] = v
44791	}
44792	reqHeaders.Set("User-Agent", c.s.userAgent())
44793	if c.ifNoneMatch_ != "" {
44794		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44795	}
44796	var body io.Reader = nil
44797	c.urlParams_.Set("alt", alt)
44798	c.urlParams_.Set("prettyPrint", "false")
44799	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
44800	urls += "?" + c.urlParams_.Encode()
44801	req, err := http.NewRequest("GET", urls, body)
44802	if err != nil {
44803		return nil, err
44804	}
44805	req.Header = reqHeaders
44806	googleapi.Expand(req.URL, map[string]string{
44807		"profileId": strconv.FormatInt(c.profileId, 10),
44808	})
44809	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44810}
44811
44812// Do executes the "dfareporting.reports.list" call.
44813// Exactly one of *ReportList or error will be non-nil. Any non-2xx
44814// status code is an error. Response headers are in either
44815// *ReportList.ServerResponse.Header or (if a response was returned at
44816// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
44817// to check whether the returned error was because
44818// http.StatusNotModified was returned.
44819func (c *ReportsListCall) Do(opts ...googleapi.CallOption) (*ReportList, error) {
44820	gensupport.SetOptions(c.urlParams_, opts...)
44821	res, err := c.doRequest("json")
44822	if res != nil && res.StatusCode == http.StatusNotModified {
44823		if res.Body != nil {
44824			res.Body.Close()
44825		}
44826		return nil, &googleapi.Error{
44827			Code:   res.StatusCode,
44828			Header: res.Header,
44829		}
44830	}
44831	if err != nil {
44832		return nil, err
44833	}
44834	defer googleapi.CloseBody(res)
44835	if err := googleapi.CheckResponse(res); err != nil {
44836		return nil, err
44837	}
44838	ret := &ReportList{
44839		ServerResponse: googleapi.ServerResponse{
44840			Header:         res.Header,
44841			HTTPStatusCode: res.StatusCode,
44842		},
44843	}
44844	target := &ret
44845	if err := gensupport.DecodeResponse(target, res); err != nil {
44846		return nil, err
44847	}
44848	return ret, nil
44849	// {
44850	//   "description": "Retrieves list of reports.",
44851	//   "httpMethod": "GET",
44852	//   "id": "dfareporting.reports.list",
44853	//   "parameterOrder": [
44854	//     "profileId"
44855	//   ],
44856	//   "parameters": {
44857	//     "maxResults": {
44858	//       "default": "10",
44859	//       "description": "Maximum number of results to return.",
44860	//       "format": "int32",
44861	//       "location": "query",
44862	//       "maximum": "10",
44863	//       "minimum": "0",
44864	//       "type": "integer"
44865	//     },
44866	//     "pageToken": {
44867	//       "description": "The value of the nextToken from the previous result page.",
44868	//       "location": "query",
44869	//       "type": "string"
44870	//     },
44871	//     "profileId": {
44872	//       "description": "The DFA user profile ID.",
44873	//       "format": "int64",
44874	//       "location": "path",
44875	//       "required": true,
44876	//       "type": "string"
44877	//     },
44878	//     "scope": {
44879	//       "default": "MINE",
44880	//       "description": "The scope that defines which results are returned.",
44881	//       "enum": [
44882	//         "ALL",
44883	//         "MINE"
44884	//       ],
44885	//       "enumDescriptions": [
44886	//         "All reports in account.",
44887	//         "My reports."
44888	//       ],
44889	//       "location": "query",
44890	//       "type": "string"
44891	//     },
44892	//     "sortField": {
44893	//       "default": "LAST_MODIFIED_TIME",
44894	//       "description": "The field by which to sort the list.",
44895	//       "enum": [
44896	//         "ID",
44897	//         "LAST_MODIFIED_TIME",
44898	//         "NAME"
44899	//       ],
44900	//       "enumDescriptions": [
44901	//         "Sort by report ID.",
44902	//         "Sort by 'lastModifiedTime' field.",
44903	//         "Sort by name of reports."
44904	//       ],
44905	//       "location": "query",
44906	//       "type": "string"
44907	//     },
44908	//     "sortOrder": {
44909	//       "default": "DESCENDING",
44910	//       "description": "Order of sorted results.",
44911	//       "enum": [
44912	//         "ASCENDING",
44913	//         "DESCENDING"
44914	//       ],
44915	//       "enumDescriptions": [
44916	//         "Ascending order.",
44917	//         "Descending order."
44918	//       ],
44919	//       "location": "query",
44920	//       "type": "string"
44921	//     }
44922	//   },
44923	//   "path": "userprofiles/{profileId}/reports",
44924	//   "response": {
44925	//     "$ref": "ReportList"
44926	//   },
44927	//   "scopes": [
44928	//     "https://www.googleapis.com/auth/dfareporting"
44929	//   ]
44930	// }
44931
44932}
44933
44934// Pages invokes f for each page of results.
44935// A non-nil error returned from f will halt the iteration.
44936// The provided context supersedes any context provided to the Context method.
44937func (c *ReportsListCall) Pages(ctx context.Context, f func(*ReportList) error) error {
44938	c.ctx_ = ctx
44939	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
44940	for {
44941		x, err := c.Do()
44942		if err != nil {
44943			return err
44944		}
44945		if err := f(x); err != nil {
44946			return err
44947		}
44948		if x.NextPageToken == "" {
44949			return nil
44950		}
44951		c.PageToken(x.NextPageToken)
44952	}
44953}
44954
44955// method id "dfareporting.reports.run":
44956
44957type ReportsRunCall struct {
44958	s          *Service
44959	profileId  int64
44960	reportId   int64
44961	urlParams_ gensupport.URLParams
44962	ctx_       context.Context
44963	header_    http.Header
44964}
44965
44966// Run: Runs a report.
44967func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
44968	c := &ReportsRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44969	c.profileId = profileId
44970	c.reportId = reportId
44971	return c
44972}
44973
44974// Synchronous sets the optional parameter "synchronous": If set and
44975// true, tries to run the report synchronously.
44976func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
44977	c.urlParams_.Set("synchronous", fmt.Sprint(synchronous))
44978	return c
44979}
44980
44981// Fields allows partial responses to be retrieved. See
44982// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44983// for more information.
44984func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
44985	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44986	return c
44987}
44988
44989// Context sets the context to be used in this call's Do method. Any
44990// pending HTTP request will be aborted if the provided context is
44991// canceled.
44992func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
44993	c.ctx_ = ctx
44994	return c
44995}
44996
44997// Header returns an http.Header that can be modified by the caller to
44998// add HTTP headers to the request.
44999func (c *ReportsRunCall) Header() http.Header {
45000	if c.header_ == nil {
45001		c.header_ = make(http.Header)
45002	}
45003	return c.header_
45004}
45005
45006func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
45007	reqHeaders := make(http.Header)
45008	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
45009	for k, v := range c.header_ {
45010		reqHeaders[k] = v
45011	}
45012	reqHeaders.Set("User-Agent", c.s.userAgent())
45013	var body io.Reader = nil
45014	c.urlParams_.Set("alt", alt)
45015	c.urlParams_.Set("prettyPrint", "false")
45016	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
45017	urls += "?" + c.urlParams_.Encode()
45018	req, err := http.NewRequest("POST", urls, body)
45019	if err != nil {
45020		return nil, err
45021	}
45022	req.Header = reqHeaders
45023	googleapi.Expand(req.URL, map[string]string{
45024		"profileId": strconv.FormatInt(c.profileId, 10),
45025		"reportId":  strconv.FormatInt(c.reportId, 10),
45026	})
45027	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45028}
45029
45030// Do executes the "dfareporting.reports.run" call.
45031// Exactly one of *File or error will be non-nil. Any non-2xx status
45032// code is an error. Response headers are in either
45033// *File.ServerResponse.Header or (if a response was returned at all) in
45034// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45035// whether the returned error was because http.StatusNotModified was
45036// returned.
45037func (c *ReportsRunCall) Do(opts ...googleapi.CallOption) (*File, error) {
45038	gensupport.SetOptions(c.urlParams_, opts...)
45039	res, err := c.doRequest("json")
45040	if res != nil && res.StatusCode == http.StatusNotModified {
45041		if res.Body != nil {
45042			res.Body.Close()
45043		}
45044		return nil, &googleapi.Error{
45045			Code:   res.StatusCode,
45046			Header: res.Header,
45047		}
45048	}
45049	if err != nil {
45050		return nil, err
45051	}
45052	defer googleapi.CloseBody(res)
45053	if err := googleapi.CheckResponse(res); err != nil {
45054		return nil, err
45055	}
45056	ret := &File{
45057		ServerResponse: googleapi.ServerResponse{
45058			Header:         res.Header,
45059			HTTPStatusCode: res.StatusCode,
45060		},
45061	}
45062	target := &ret
45063	if err := gensupport.DecodeResponse(target, res); err != nil {
45064		return nil, err
45065	}
45066	return ret, nil
45067	// {
45068	//   "description": "Runs a report.",
45069	//   "httpMethod": "POST",
45070	//   "id": "dfareporting.reports.run",
45071	//   "parameterOrder": [
45072	//     "profileId",
45073	//     "reportId"
45074	//   ],
45075	//   "parameters": {
45076	//     "profileId": {
45077	//       "description": "The DFA profile ID.",
45078	//       "format": "int64",
45079	//       "location": "path",
45080	//       "required": true,
45081	//       "type": "string"
45082	//     },
45083	//     "reportId": {
45084	//       "description": "The ID of the report.",
45085	//       "format": "int64",
45086	//       "location": "path",
45087	//       "required": true,
45088	//       "type": "string"
45089	//     },
45090	//     "synchronous": {
45091	//       "default": "false",
45092	//       "description": "If set and true, tries to run the report synchronously.",
45093	//       "location": "query",
45094	//       "type": "boolean"
45095	//     }
45096	//   },
45097	//   "path": "userprofiles/{profileId}/reports/{reportId}/run",
45098	//   "response": {
45099	//     "$ref": "File"
45100	//   },
45101	//   "scopes": [
45102	//     "https://www.googleapis.com/auth/dfareporting"
45103	//   ]
45104	// }
45105
45106}
45107
45108// method id "dfareporting.reports.update":
45109
45110type ReportsUpdateCall struct {
45111	s          *Service
45112	profileId  int64
45113	reportId   int64
45114	report     *Report
45115	urlParams_ gensupport.URLParams
45116	ctx_       context.Context
45117	header_    http.Header
45118}
45119
45120// Update: Updates a report.
45121func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
45122	c := &ReportsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45123	c.profileId = profileId
45124	c.reportId = reportId
45125	c.report = report
45126	return c
45127}
45128
45129// Fields allows partial responses to be retrieved. See
45130// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45131// for more information.
45132func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
45133	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45134	return c
45135}
45136
45137// Context sets the context to be used in this call's Do method. Any
45138// pending HTTP request will be aborted if the provided context is
45139// canceled.
45140func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
45141	c.ctx_ = ctx
45142	return c
45143}
45144
45145// Header returns an http.Header that can be modified by the caller to
45146// add HTTP headers to the request.
45147func (c *ReportsUpdateCall) Header() http.Header {
45148	if c.header_ == nil {
45149		c.header_ = make(http.Header)
45150	}
45151	return c.header_
45152}
45153
45154func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
45155	reqHeaders := make(http.Header)
45156	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
45157	for k, v := range c.header_ {
45158		reqHeaders[k] = v
45159	}
45160	reqHeaders.Set("User-Agent", c.s.userAgent())
45161	var body io.Reader = nil
45162	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
45163	if err != nil {
45164		return nil, err
45165	}
45166	reqHeaders.Set("Content-Type", "application/json")
45167	c.urlParams_.Set("alt", alt)
45168	c.urlParams_.Set("prettyPrint", "false")
45169	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
45170	urls += "?" + c.urlParams_.Encode()
45171	req, err := http.NewRequest("PUT", urls, body)
45172	if err != nil {
45173		return nil, err
45174	}
45175	req.Header = reqHeaders
45176	googleapi.Expand(req.URL, map[string]string{
45177		"profileId": strconv.FormatInt(c.profileId, 10),
45178		"reportId":  strconv.FormatInt(c.reportId, 10),
45179	})
45180	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45181}
45182
45183// Do executes the "dfareporting.reports.update" call.
45184// Exactly one of *Report or error will be non-nil. Any non-2xx status
45185// code is an error. Response headers are in either
45186// *Report.ServerResponse.Header or (if a response was returned at all)
45187// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
45188// check whether the returned error was because http.StatusNotModified
45189// was returned.
45190func (c *ReportsUpdateCall) Do(opts ...googleapi.CallOption) (*Report, error) {
45191	gensupport.SetOptions(c.urlParams_, opts...)
45192	res, err := c.doRequest("json")
45193	if res != nil && res.StatusCode == http.StatusNotModified {
45194		if res.Body != nil {
45195			res.Body.Close()
45196		}
45197		return nil, &googleapi.Error{
45198			Code:   res.StatusCode,
45199			Header: res.Header,
45200		}
45201	}
45202	if err != nil {
45203		return nil, err
45204	}
45205	defer googleapi.CloseBody(res)
45206	if err := googleapi.CheckResponse(res); err != nil {
45207		return nil, err
45208	}
45209	ret := &Report{
45210		ServerResponse: googleapi.ServerResponse{
45211			Header:         res.Header,
45212			HTTPStatusCode: res.StatusCode,
45213		},
45214	}
45215	target := &ret
45216	if err := gensupport.DecodeResponse(target, res); err != nil {
45217		return nil, err
45218	}
45219	return ret, nil
45220	// {
45221	//   "description": "Updates a report.",
45222	//   "httpMethod": "PUT",
45223	//   "id": "dfareporting.reports.update",
45224	//   "parameterOrder": [
45225	//     "profileId",
45226	//     "reportId"
45227	//   ],
45228	//   "parameters": {
45229	//     "profileId": {
45230	//       "description": "The DFA user profile ID.",
45231	//       "format": "int64",
45232	//       "location": "path",
45233	//       "required": true,
45234	//       "type": "string"
45235	//     },
45236	//     "reportId": {
45237	//       "description": "The ID of the report.",
45238	//       "format": "int64",
45239	//       "location": "path",
45240	//       "required": true,
45241	//       "type": "string"
45242	//     }
45243	//   },
45244	//   "path": "userprofiles/{profileId}/reports/{reportId}",
45245	//   "request": {
45246	//     "$ref": "Report"
45247	//   },
45248	//   "response": {
45249	//     "$ref": "Report"
45250	//   },
45251	//   "scopes": [
45252	//     "https://www.googleapis.com/auth/dfareporting"
45253	//   ]
45254	// }
45255
45256}
45257
45258// method id "dfareporting.reports.compatibleFields.query":
45259
45260type ReportsCompatibleFieldsQueryCall struct {
45261	s          *Service
45262	profileId  int64
45263	report     *Report
45264	urlParams_ gensupport.URLParams
45265	ctx_       context.Context
45266	header_    http.Header
45267}
45268
45269// Query: Returns the fields that are compatible to be selected in the
45270// respective sections of a report criteria, given the fields already
45271// selected in the input report and user permissions.
45272func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
45273	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45274	c.profileId = profileId
45275	c.report = report
45276	return c
45277}
45278
45279// Fields allows partial responses to be retrieved. See
45280// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45281// for more information.
45282func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
45283	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45284	return c
45285}
45286
45287// Context sets the context to be used in this call's Do method. Any
45288// pending HTTP request will be aborted if the provided context is
45289// canceled.
45290func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
45291	c.ctx_ = ctx
45292	return c
45293}
45294
45295// Header returns an http.Header that can be modified by the caller to
45296// add HTTP headers to the request.
45297func (c *ReportsCompatibleFieldsQueryCall) Header() http.Header {
45298	if c.header_ == nil {
45299		c.header_ = make(http.Header)
45300	}
45301	return c.header_
45302}
45303
45304func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
45305	reqHeaders := make(http.Header)
45306	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
45307	for k, v := range c.header_ {
45308		reqHeaders[k] = v
45309	}
45310	reqHeaders.Set("User-Agent", c.s.userAgent())
45311	var body io.Reader = nil
45312	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
45313	if err != nil {
45314		return nil, err
45315	}
45316	reqHeaders.Set("Content-Type", "application/json")
45317	c.urlParams_.Set("alt", alt)
45318	c.urlParams_.Set("prettyPrint", "false")
45319	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
45320	urls += "?" + c.urlParams_.Encode()
45321	req, err := http.NewRequest("POST", urls, body)
45322	if err != nil {
45323		return nil, err
45324	}
45325	req.Header = reqHeaders
45326	googleapi.Expand(req.URL, map[string]string{
45327		"profileId": strconv.FormatInt(c.profileId, 10),
45328	})
45329	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45330}
45331
45332// Do executes the "dfareporting.reports.compatibleFields.query" call.
45333// Exactly one of *CompatibleFields or error will be non-nil. Any
45334// non-2xx status code is an error. Response headers are in either
45335// *CompatibleFields.ServerResponse.Header or (if a response was
45336// returned at all) in error.(*googleapi.Error).Header. Use
45337// googleapi.IsNotModified to check whether the returned error was
45338// because http.StatusNotModified was returned.
45339func (c *ReportsCompatibleFieldsQueryCall) Do(opts ...googleapi.CallOption) (*CompatibleFields, error) {
45340	gensupport.SetOptions(c.urlParams_, opts...)
45341	res, err := c.doRequest("json")
45342	if res != nil && res.StatusCode == http.StatusNotModified {
45343		if res.Body != nil {
45344			res.Body.Close()
45345		}
45346		return nil, &googleapi.Error{
45347			Code:   res.StatusCode,
45348			Header: res.Header,
45349		}
45350	}
45351	if err != nil {
45352		return nil, err
45353	}
45354	defer googleapi.CloseBody(res)
45355	if err := googleapi.CheckResponse(res); err != nil {
45356		return nil, err
45357	}
45358	ret := &CompatibleFields{
45359		ServerResponse: googleapi.ServerResponse{
45360			Header:         res.Header,
45361			HTTPStatusCode: res.StatusCode,
45362		},
45363	}
45364	target := &ret
45365	if err := gensupport.DecodeResponse(target, res); err != nil {
45366		return nil, err
45367	}
45368	return ret, nil
45369	// {
45370	//   "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.",
45371	//   "httpMethod": "POST",
45372	//   "id": "dfareporting.reports.compatibleFields.query",
45373	//   "parameterOrder": [
45374	//     "profileId"
45375	//   ],
45376	//   "parameters": {
45377	//     "profileId": {
45378	//       "description": "The DFA user profile ID.",
45379	//       "format": "int64",
45380	//       "location": "path",
45381	//       "required": true,
45382	//       "type": "string"
45383	//     }
45384	//   },
45385	//   "path": "userprofiles/{profileId}/reports/compatiblefields/query",
45386	//   "request": {
45387	//     "$ref": "Report"
45388	//   },
45389	//   "response": {
45390	//     "$ref": "CompatibleFields"
45391	//   },
45392	//   "scopes": [
45393	//     "https://www.googleapis.com/auth/dfareporting"
45394	//   ]
45395	// }
45396
45397}
45398
45399// method id "dfareporting.reports.files.get":
45400
45401type ReportsFilesGetCall struct {
45402	s            *Service
45403	profileId    int64
45404	reportId     int64
45405	fileId       int64
45406	urlParams_   gensupport.URLParams
45407	ifNoneMatch_ string
45408	ctx_         context.Context
45409	header_      http.Header
45410}
45411
45412// Get: Retrieves a report file. This method supports media download.
45413func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
45414	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45415	c.profileId = profileId
45416	c.reportId = reportId
45417	c.fileId = fileId
45418	return c
45419}
45420
45421// Fields allows partial responses to be retrieved. See
45422// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45423// for more information.
45424func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
45425	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45426	return c
45427}
45428
45429// IfNoneMatch sets the optional parameter which makes the operation
45430// fail if the object's ETag matches the given value. This is useful for
45431// getting updates only after the object has changed since the last
45432// request. Use googleapi.IsNotModified to check whether the response
45433// error from Do is the result of In-None-Match.
45434func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
45435	c.ifNoneMatch_ = entityTag
45436	return c
45437}
45438
45439// Context sets the context to be used in this call's Do and Download
45440// methods. Any pending HTTP request will be aborted if the provided
45441// context is canceled.
45442func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
45443	c.ctx_ = ctx
45444	return c
45445}
45446
45447// Header returns an http.Header that can be modified by the caller to
45448// add HTTP headers to the request.
45449func (c *ReportsFilesGetCall) Header() http.Header {
45450	if c.header_ == nil {
45451		c.header_ = make(http.Header)
45452	}
45453	return c.header_
45454}
45455
45456func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
45457	reqHeaders := make(http.Header)
45458	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
45459	for k, v := range c.header_ {
45460		reqHeaders[k] = v
45461	}
45462	reqHeaders.Set("User-Agent", c.s.userAgent())
45463	if c.ifNoneMatch_ != "" {
45464		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45465	}
45466	var body io.Reader = nil
45467	c.urlParams_.Set("alt", alt)
45468	c.urlParams_.Set("prettyPrint", "false")
45469	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
45470	urls += "?" + c.urlParams_.Encode()
45471	req, err := http.NewRequest("GET", urls, body)
45472	if err != nil {
45473		return nil, err
45474	}
45475	req.Header = reqHeaders
45476	googleapi.Expand(req.URL, map[string]string{
45477		"profileId": strconv.FormatInt(c.profileId, 10),
45478		"reportId":  strconv.FormatInt(c.reportId, 10),
45479		"fileId":    strconv.FormatInt(c.fileId, 10),
45480	})
45481	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45482}
45483
45484// Download fetches the API endpoint's "media" value, instead of the normal
45485// API response value. If the returned error is nil, the Response is guaranteed to
45486// have a 2xx status code. Callers must close the Response.Body as usual.
45487func (c *ReportsFilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
45488	gensupport.SetOptions(c.urlParams_, opts...)
45489	res, err := c.doRequest("media")
45490	if err != nil {
45491		return nil, err
45492	}
45493	if err := googleapi.CheckMediaResponse(res); err != nil {
45494		res.Body.Close()
45495		return nil, err
45496	}
45497	return res, nil
45498}
45499
45500// Do executes the "dfareporting.reports.files.get" call.
45501// Exactly one of *File or error will be non-nil. Any non-2xx status
45502// code is an error. Response headers are in either
45503// *File.ServerResponse.Header or (if a response was returned at all) in
45504// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45505// whether the returned error was because http.StatusNotModified was
45506// returned.
45507func (c *ReportsFilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
45508	gensupport.SetOptions(c.urlParams_, opts...)
45509	res, err := c.doRequest("json")
45510	if res != nil && res.StatusCode == http.StatusNotModified {
45511		if res.Body != nil {
45512			res.Body.Close()
45513		}
45514		return nil, &googleapi.Error{
45515			Code:   res.StatusCode,
45516			Header: res.Header,
45517		}
45518	}
45519	if err != nil {
45520		return nil, err
45521	}
45522	defer googleapi.CloseBody(res)
45523	if err := googleapi.CheckResponse(res); err != nil {
45524		return nil, err
45525	}
45526	ret := &File{
45527		ServerResponse: googleapi.ServerResponse{
45528			Header:         res.Header,
45529			HTTPStatusCode: res.StatusCode,
45530		},
45531	}
45532	target := &ret
45533	if err := gensupport.DecodeResponse(target, res); err != nil {
45534		return nil, err
45535	}
45536	return ret, nil
45537	// {
45538	//   "description": "Retrieves a report file. This method supports media download.",
45539	//   "httpMethod": "GET",
45540	//   "id": "dfareporting.reports.files.get",
45541	//   "parameterOrder": [
45542	//     "profileId",
45543	//     "reportId",
45544	//     "fileId"
45545	//   ],
45546	//   "parameters": {
45547	//     "fileId": {
45548	//       "description": "The ID of the report file.",
45549	//       "format": "int64",
45550	//       "location": "path",
45551	//       "required": true,
45552	//       "type": "string"
45553	//     },
45554	//     "profileId": {
45555	//       "description": "The DFA profile ID.",
45556	//       "format": "int64",
45557	//       "location": "path",
45558	//       "required": true,
45559	//       "type": "string"
45560	//     },
45561	//     "reportId": {
45562	//       "description": "The ID of the report.",
45563	//       "format": "int64",
45564	//       "location": "path",
45565	//       "required": true,
45566	//       "type": "string"
45567	//     }
45568	//   },
45569	//   "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
45570	//   "response": {
45571	//     "$ref": "File"
45572	//   },
45573	//   "scopes": [
45574	//     "https://www.googleapis.com/auth/dfareporting"
45575	//   ],
45576	//   "supportsMediaDownload": true
45577	// }
45578
45579}
45580
45581// method id "dfareporting.reports.files.list":
45582
45583type ReportsFilesListCall struct {
45584	s            *Service
45585	profileId    int64
45586	reportId     int64
45587	urlParams_   gensupport.URLParams
45588	ifNoneMatch_ string
45589	ctx_         context.Context
45590	header_      http.Header
45591}
45592
45593// List: Lists files for a report.
45594func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
45595	c := &ReportsFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45596	c.profileId = profileId
45597	c.reportId = reportId
45598	return c
45599}
45600
45601// MaxResults sets the optional parameter "maxResults": Maximum number
45602// of results to return.
45603func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
45604	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
45605	return c
45606}
45607
45608// PageToken sets the optional parameter "pageToken": The value of the
45609// nextToken from the previous result page.
45610func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
45611	c.urlParams_.Set("pageToken", pageToken)
45612	return c
45613}
45614
45615// SortField sets the optional parameter "sortField": The field by which
45616// to sort the list.
45617//
45618// Possible values:
45619//   "ID" - Sort by file ID.
45620//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
45621func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
45622	c.urlParams_.Set("sortField", sortField)
45623	return c
45624}
45625
45626// SortOrder sets the optional parameter "sortOrder": Order of sorted
45627// results.
45628//
45629// Possible values:
45630//   "ASCENDING" - Ascending order.
45631//   "DESCENDING" (default) - Descending order.
45632func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
45633	c.urlParams_.Set("sortOrder", sortOrder)
45634	return c
45635}
45636
45637// Fields allows partial responses to be retrieved. See
45638// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45639// for more information.
45640func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
45641	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45642	return c
45643}
45644
45645// IfNoneMatch sets the optional parameter which makes the operation
45646// fail if the object's ETag matches the given value. This is useful for
45647// getting updates only after the object has changed since the last
45648// request. Use googleapi.IsNotModified to check whether the response
45649// error from Do is the result of In-None-Match.
45650func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
45651	c.ifNoneMatch_ = entityTag
45652	return c
45653}
45654
45655// Context sets the context to be used in this call's Do method. Any
45656// pending HTTP request will be aborted if the provided context is
45657// canceled.
45658func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
45659	c.ctx_ = ctx
45660	return c
45661}
45662
45663// Header returns an http.Header that can be modified by the caller to
45664// add HTTP headers to the request.
45665func (c *ReportsFilesListCall) Header() http.Header {
45666	if c.header_ == nil {
45667		c.header_ = make(http.Header)
45668	}
45669	return c.header_
45670}
45671
45672func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
45673	reqHeaders := make(http.Header)
45674	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
45675	for k, v := range c.header_ {
45676		reqHeaders[k] = v
45677	}
45678	reqHeaders.Set("User-Agent", c.s.userAgent())
45679	if c.ifNoneMatch_ != "" {
45680		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45681	}
45682	var body io.Reader = nil
45683	c.urlParams_.Set("alt", alt)
45684	c.urlParams_.Set("prettyPrint", "false")
45685	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
45686	urls += "?" + c.urlParams_.Encode()
45687	req, err := http.NewRequest("GET", urls, body)
45688	if err != nil {
45689		return nil, err
45690	}
45691	req.Header = reqHeaders
45692	googleapi.Expand(req.URL, map[string]string{
45693		"profileId": strconv.FormatInt(c.profileId, 10),
45694		"reportId":  strconv.FormatInt(c.reportId, 10),
45695	})
45696	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45697}
45698
45699// Do executes the "dfareporting.reports.files.list" call.
45700// Exactly one of *FileList or error will be non-nil. Any non-2xx status
45701// code is an error. Response headers are in either
45702// *FileList.ServerResponse.Header or (if a response was returned at
45703// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
45704// to check whether the returned error was because
45705// http.StatusNotModified was returned.
45706func (c *ReportsFilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
45707	gensupport.SetOptions(c.urlParams_, opts...)
45708	res, err := c.doRequest("json")
45709	if res != nil && res.StatusCode == http.StatusNotModified {
45710		if res.Body != nil {
45711			res.Body.Close()
45712		}
45713		return nil, &googleapi.Error{
45714			Code:   res.StatusCode,
45715			Header: res.Header,
45716		}
45717	}
45718	if err != nil {
45719		return nil, err
45720	}
45721	defer googleapi.CloseBody(res)
45722	if err := googleapi.CheckResponse(res); err != nil {
45723		return nil, err
45724	}
45725	ret := &FileList{
45726		ServerResponse: googleapi.ServerResponse{
45727			Header:         res.Header,
45728			HTTPStatusCode: res.StatusCode,
45729		},
45730	}
45731	target := &ret
45732	if err := gensupport.DecodeResponse(target, res); err != nil {
45733		return nil, err
45734	}
45735	return ret, nil
45736	// {
45737	//   "description": "Lists files for a report.",
45738	//   "httpMethod": "GET",
45739	//   "id": "dfareporting.reports.files.list",
45740	//   "parameterOrder": [
45741	//     "profileId",
45742	//     "reportId"
45743	//   ],
45744	//   "parameters": {
45745	//     "maxResults": {
45746	//       "default": "10",
45747	//       "description": "Maximum number of results to return.",
45748	//       "format": "int32",
45749	//       "location": "query",
45750	//       "maximum": "10",
45751	//       "minimum": "0",
45752	//       "type": "integer"
45753	//     },
45754	//     "pageToken": {
45755	//       "description": "The value of the nextToken from the previous result page.",
45756	//       "location": "query",
45757	//       "type": "string"
45758	//     },
45759	//     "profileId": {
45760	//       "description": "The DFA profile ID.",
45761	//       "format": "int64",
45762	//       "location": "path",
45763	//       "required": true,
45764	//       "type": "string"
45765	//     },
45766	//     "reportId": {
45767	//       "description": "The ID of the parent report.",
45768	//       "format": "int64",
45769	//       "location": "path",
45770	//       "required": true,
45771	//       "type": "string"
45772	//     },
45773	//     "sortField": {
45774	//       "default": "LAST_MODIFIED_TIME",
45775	//       "description": "The field by which to sort the list.",
45776	//       "enum": [
45777	//         "ID",
45778	//         "LAST_MODIFIED_TIME"
45779	//       ],
45780	//       "enumDescriptions": [
45781	//         "Sort by file ID.",
45782	//         "Sort by 'lastmodifiedAt' field."
45783	//       ],
45784	//       "location": "query",
45785	//       "type": "string"
45786	//     },
45787	//     "sortOrder": {
45788	//       "default": "DESCENDING",
45789	//       "description": "Order of sorted results.",
45790	//       "enum": [
45791	//         "ASCENDING",
45792	//         "DESCENDING"
45793	//       ],
45794	//       "enumDescriptions": [
45795	//         "Ascending order.",
45796	//         "Descending order."
45797	//       ],
45798	//       "location": "query",
45799	//       "type": "string"
45800	//     }
45801	//   },
45802	//   "path": "userprofiles/{profileId}/reports/{reportId}/files",
45803	//   "response": {
45804	//     "$ref": "FileList"
45805	//   },
45806	//   "scopes": [
45807	//     "https://www.googleapis.com/auth/dfareporting"
45808	//   ]
45809	// }
45810
45811}
45812
45813// Pages invokes f for each page of results.
45814// A non-nil error returned from f will halt the iteration.
45815// The provided context supersedes any context provided to the Context method.
45816func (c *ReportsFilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
45817	c.ctx_ = ctx
45818	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
45819	for {
45820		x, err := c.Do()
45821		if err != nil {
45822			return err
45823		}
45824		if err := f(x); err != nil {
45825			return err
45826		}
45827		if x.NextPageToken == "" {
45828			return nil
45829		}
45830		c.PageToken(x.NextPageToken)
45831	}
45832}
45833
45834// method id "dfareporting.sites.get":
45835
45836type SitesGetCall struct {
45837	s            *Service
45838	profileId    int64
45839	id           int64
45840	urlParams_   gensupport.URLParams
45841	ifNoneMatch_ string
45842	ctx_         context.Context
45843	header_      http.Header
45844}
45845
45846// Get: Gets one site by ID.
45847func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
45848	c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45849	c.profileId = profileId
45850	c.id = id
45851	return c
45852}
45853
45854// Fields allows partial responses to be retrieved. See
45855// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45856// for more information.
45857func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
45858	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45859	return c
45860}
45861
45862// IfNoneMatch sets the optional parameter which makes the operation
45863// fail if the object's ETag matches the given value. This is useful for
45864// getting updates only after the object has changed since the last
45865// request. Use googleapi.IsNotModified to check whether the response
45866// error from Do is the result of In-None-Match.
45867func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
45868	c.ifNoneMatch_ = entityTag
45869	return c
45870}
45871
45872// Context sets the context to be used in this call's Do method. Any
45873// pending HTTP request will be aborted if the provided context is
45874// canceled.
45875func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
45876	c.ctx_ = ctx
45877	return c
45878}
45879
45880// Header returns an http.Header that can be modified by the caller to
45881// add HTTP headers to the request.
45882func (c *SitesGetCall) Header() http.Header {
45883	if c.header_ == nil {
45884		c.header_ = make(http.Header)
45885	}
45886	return c.header_
45887}
45888
45889func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
45890	reqHeaders := make(http.Header)
45891	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
45892	for k, v := range c.header_ {
45893		reqHeaders[k] = v
45894	}
45895	reqHeaders.Set("User-Agent", c.s.userAgent())
45896	if c.ifNoneMatch_ != "" {
45897		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45898	}
45899	var body io.Reader = nil
45900	c.urlParams_.Set("alt", alt)
45901	c.urlParams_.Set("prettyPrint", "false")
45902	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
45903	urls += "?" + c.urlParams_.Encode()
45904	req, err := http.NewRequest("GET", urls, body)
45905	if err != nil {
45906		return nil, err
45907	}
45908	req.Header = reqHeaders
45909	googleapi.Expand(req.URL, map[string]string{
45910		"profileId": strconv.FormatInt(c.profileId, 10),
45911		"id":        strconv.FormatInt(c.id, 10),
45912	})
45913	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45914}
45915
45916// Do executes the "dfareporting.sites.get" call.
45917// Exactly one of *Site or error will be non-nil. Any non-2xx status
45918// code is an error. Response headers are in either
45919// *Site.ServerResponse.Header or (if a response was returned at all) in
45920// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45921// whether the returned error was because http.StatusNotModified was
45922// returned.
45923func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*Site, error) {
45924	gensupport.SetOptions(c.urlParams_, opts...)
45925	res, err := c.doRequest("json")
45926	if res != nil && res.StatusCode == http.StatusNotModified {
45927		if res.Body != nil {
45928			res.Body.Close()
45929		}
45930		return nil, &googleapi.Error{
45931			Code:   res.StatusCode,
45932			Header: res.Header,
45933		}
45934	}
45935	if err != nil {
45936		return nil, err
45937	}
45938	defer googleapi.CloseBody(res)
45939	if err := googleapi.CheckResponse(res); err != nil {
45940		return nil, err
45941	}
45942	ret := &Site{
45943		ServerResponse: googleapi.ServerResponse{
45944			Header:         res.Header,
45945			HTTPStatusCode: res.StatusCode,
45946		},
45947	}
45948	target := &ret
45949	if err := gensupport.DecodeResponse(target, res); err != nil {
45950		return nil, err
45951	}
45952	return ret, nil
45953	// {
45954	//   "description": "Gets one site by ID.",
45955	//   "httpMethod": "GET",
45956	//   "id": "dfareporting.sites.get",
45957	//   "parameterOrder": [
45958	//     "profileId",
45959	//     "id"
45960	//   ],
45961	//   "parameters": {
45962	//     "id": {
45963	//       "description": "Site ID.",
45964	//       "format": "int64",
45965	//       "location": "path",
45966	//       "required": true,
45967	//       "type": "string"
45968	//     },
45969	//     "profileId": {
45970	//       "description": "User profile ID associated with this request.",
45971	//       "format": "int64",
45972	//       "location": "path",
45973	//       "required": true,
45974	//       "type": "string"
45975	//     }
45976	//   },
45977	//   "path": "userprofiles/{profileId}/sites/{id}",
45978	//   "response": {
45979	//     "$ref": "Site"
45980	//   },
45981	//   "scopes": [
45982	//     "https://www.googleapis.com/auth/dfatrafficking"
45983	//   ]
45984	// }
45985
45986}
45987
45988// method id "dfareporting.sites.insert":
45989
45990type SitesInsertCall struct {
45991	s          *Service
45992	profileId  int64
45993	site       *Site
45994	urlParams_ gensupport.URLParams
45995	ctx_       context.Context
45996	header_    http.Header
45997}
45998
45999// Insert: Inserts a new site.
46000func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
46001	c := &SitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46002	c.profileId = profileId
46003	c.site = site
46004	return c
46005}
46006
46007// Fields allows partial responses to be retrieved. See
46008// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46009// for more information.
46010func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
46011	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46012	return c
46013}
46014
46015// Context sets the context to be used in this call's Do method. Any
46016// pending HTTP request will be aborted if the provided context is
46017// canceled.
46018func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
46019	c.ctx_ = ctx
46020	return c
46021}
46022
46023// Header returns an http.Header that can be modified by the caller to
46024// add HTTP headers to the request.
46025func (c *SitesInsertCall) Header() http.Header {
46026	if c.header_ == nil {
46027		c.header_ = make(http.Header)
46028	}
46029	return c.header_
46030}
46031
46032func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
46033	reqHeaders := make(http.Header)
46034	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
46035	for k, v := range c.header_ {
46036		reqHeaders[k] = v
46037	}
46038	reqHeaders.Set("User-Agent", c.s.userAgent())
46039	var body io.Reader = nil
46040	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46041	if err != nil {
46042		return nil, err
46043	}
46044	reqHeaders.Set("Content-Type", "application/json")
46045	c.urlParams_.Set("alt", alt)
46046	c.urlParams_.Set("prettyPrint", "false")
46047	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46048	urls += "?" + c.urlParams_.Encode()
46049	req, err := http.NewRequest("POST", urls, body)
46050	if err != nil {
46051		return nil, err
46052	}
46053	req.Header = reqHeaders
46054	googleapi.Expand(req.URL, map[string]string{
46055		"profileId": strconv.FormatInt(c.profileId, 10),
46056	})
46057	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46058}
46059
46060// Do executes the "dfareporting.sites.insert" call.
46061// Exactly one of *Site or error will be non-nil. Any non-2xx status
46062// code is an error. Response headers are in either
46063// *Site.ServerResponse.Header or (if a response was returned at all) in
46064// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46065// whether the returned error was because http.StatusNotModified was
46066// returned.
46067func (c *SitesInsertCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46068	gensupport.SetOptions(c.urlParams_, opts...)
46069	res, err := c.doRequest("json")
46070	if res != nil && res.StatusCode == http.StatusNotModified {
46071		if res.Body != nil {
46072			res.Body.Close()
46073		}
46074		return nil, &googleapi.Error{
46075			Code:   res.StatusCode,
46076			Header: res.Header,
46077		}
46078	}
46079	if err != nil {
46080		return nil, err
46081	}
46082	defer googleapi.CloseBody(res)
46083	if err := googleapi.CheckResponse(res); err != nil {
46084		return nil, err
46085	}
46086	ret := &Site{
46087		ServerResponse: googleapi.ServerResponse{
46088			Header:         res.Header,
46089			HTTPStatusCode: res.StatusCode,
46090		},
46091	}
46092	target := &ret
46093	if err := gensupport.DecodeResponse(target, res); err != nil {
46094		return nil, err
46095	}
46096	return ret, nil
46097	// {
46098	//   "description": "Inserts a new site.",
46099	//   "httpMethod": "POST",
46100	//   "id": "dfareporting.sites.insert",
46101	//   "parameterOrder": [
46102	//     "profileId"
46103	//   ],
46104	//   "parameters": {
46105	//     "profileId": {
46106	//       "description": "User profile ID associated with this request.",
46107	//       "format": "int64",
46108	//       "location": "path",
46109	//       "required": true,
46110	//       "type": "string"
46111	//     }
46112	//   },
46113	//   "path": "userprofiles/{profileId}/sites",
46114	//   "request": {
46115	//     "$ref": "Site"
46116	//   },
46117	//   "response": {
46118	//     "$ref": "Site"
46119	//   },
46120	//   "scopes": [
46121	//     "https://www.googleapis.com/auth/dfatrafficking"
46122	//   ]
46123	// }
46124
46125}
46126
46127// method id "dfareporting.sites.list":
46128
46129type SitesListCall struct {
46130	s            *Service
46131	profileId    int64
46132	urlParams_   gensupport.URLParams
46133	ifNoneMatch_ string
46134	ctx_         context.Context
46135	header_      http.Header
46136}
46137
46138// List: Retrieves a list of sites, possibly filtered. This method
46139// supports paging.
46140func (r *SitesService) List(profileId int64) *SitesListCall {
46141	c := &SitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46142	c.profileId = profileId
46143	return c
46144}
46145
46146// AcceptsInStreamVideoPlacements sets the optional parameter
46147// "acceptsInStreamVideoPlacements": This search filter is no longer
46148// supported and will have no effect on the results returned.
46149func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
46150	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
46151	return c
46152}
46153
46154// AcceptsInterstitialPlacements sets the optional parameter
46155// "acceptsInterstitialPlacements": This search filter is no longer
46156// supported and will have no effect on the results returned.
46157func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
46158	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
46159	return c
46160}
46161
46162// AcceptsPublisherPaidPlacements sets the optional parameter
46163// "acceptsPublisherPaidPlacements": Select only sites that accept
46164// publisher paid placements.
46165func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
46166	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
46167	return c
46168}
46169
46170// AdWordsSite sets the optional parameter "adWordsSite": Select only
46171// AdWords sites.
46172func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
46173	c.urlParams_.Set("adWordsSite", fmt.Sprint(adWordsSite))
46174	return c
46175}
46176
46177// Approved sets the optional parameter "approved": Select only approved
46178// sites.
46179func (c *SitesListCall) Approved(approved bool) *SitesListCall {
46180	c.urlParams_.Set("approved", fmt.Sprint(approved))
46181	return c
46182}
46183
46184// CampaignIds sets the optional parameter "campaignIds": Select only
46185// sites with these campaign IDs.
46186func (c *SitesListCall) CampaignIds(campaignIds ...int64) *SitesListCall {
46187	var campaignIds_ []string
46188	for _, v := range campaignIds {
46189		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
46190	}
46191	c.urlParams_.SetMulti("campaignIds", campaignIds_)
46192	return c
46193}
46194
46195// DirectorySiteIds sets the optional parameter "directorySiteIds":
46196// Select only sites with these directory site IDs.
46197func (c *SitesListCall) DirectorySiteIds(directorySiteIds ...int64) *SitesListCall {
46198	var directorySiteIds_ []string
46199	for _, v := range directorySiteIds {
46200		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
46201	}
46202	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
46203	return c
46204}
46205
46206// Ids sets the optional parameter "ids": Select only sites with these
46207// IDs.
46208func (c *SitesListCall) Ids(ids ...int64) *SitesListCall {
46209	var ids_ []string
46210	for _, v := range ids {
46211		ids_ = append(ids_, fmt.Sprint(v))
46212	}
46213	c.urlParams_.SetMulti("ids", ids_)
46214	return c
46215}
46216
46217// MaxResults sets the optional parameter "maxResults": Maximum number
46218// of results to return.
46219func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
46220	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
46221	return c
46222}
46223
46224// PageToken sets the optional parameter "pageToken": Value of the
46225// nextPageToken from the previous result page.
46226func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
46227	c.urlParams_.Set("pageToken", pageToken)
46228	return c
46229}
46230
46231// SearchString sets the optional parameter "searchString": Allows
46232// searching for objects by name, ID or keyName. Wildcards (*) are
46233// allowed. For example, "site*2015" will return objects with names like
46234// "site June 2015", "site April 2015", or simply "site 2015". Most of
46235// the searches also add wildcards implicitly at the start and the end
46236// of the search string. For example, a search string of "site" will
46237// match objects with name "my site", "site 2015", or simply "site".
46238func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
46239	c.urlParams_.Set("searchString", searchString)
46240	return c
46241}
46242
46243// SortField sets the optional parameter "sortField": Field by which to
46244// sort the list.
46245//
46246// Possible values:
46247//   "ID" (default)
46248//   "NAME"
46249func (c *SitesListCall) SortField(sortField string) *SitesListCall {
46250	c.urlParams_.Set("sortField", sortField)
46251	return c
46252}
46253
46254// SortOrder sets the optional parameter "sortOrder": Order of sorted
46255// results.
46256//
46257// Possible values:
46258//   "ASCENDING" (default)
46259//   "DESCENDING"
46260func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
46261	c.urlParams_.Set("sortOrder", sortOrder)
46262	return c
46263}
46264
46265// SubaccountId sets the optional parameter "subaccountId": Select only
46266// sites with this subaccount ID.
46267func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
46268	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
46269	return c
46270}
46271
46272// UnmappedSite sets the optional parameter "unmappedSite": Select only
46273// sites that have not been mapped to a directory site.
46274func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
46275	c.urlParams_.Set("unmappedSite", fmt.Sprint(unmappedSite))
46276	return c
46277}
46278
46279// Fields allows partial responses to be retrieved. See
46280// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46281// for more information.
46282func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
46283	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46284	return c
46285}
46286
46287// IfNoneMatch sets the optional parameter which makes the operation
46288// fail if the object's ETag matches the given value. This is useful for
46289// getting updates only after the object has changed since the last
46290// request. Use googleapi.IsNotModified to check whether the response
46291// error from Do is the result of In-None-Match.
46292func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
46293	c.ifNoneMatch_ = entityTag
46294	return c
46295}
46296
46297// Context sets the context to be used in this call's Do method. Any
46298// pending HTTP request will be aborted if the provided context is
46299// canceled.
46300func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
46301	c.ctx_ = ctx
46302	return c
46303}
46304
46305// Header returns an http.Header that can be modified by the caller to
46306// add HTTP headers to the request.
46307func (c *SitesListCall) Header() http.Header {
46308	if c.header_ == nil {
46309		c.header_ = make(http.Header)
46310	}
46311	return c.header_
46312}
46313
46314func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
46315	reqHeaders := make(http.Header)
46316	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
46317	for k, v := range c.header_ {
46318		reqHeaders[k] = v
46319	}
46320	reqHeaders.Set("User-Agent", c.s.userAgent())
46321	if c.ifNoneMatch_ != "" {
46322		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46323	}
46324	var body io.Reader = nil
46325	c.urlParams_.Set("alt", alt)
46326	c.urlParams_.Set("prettyPrint", "false")
46327	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46328	urls += "?" + c.urlParams_.Encode()
46329	req, err := http.NewRequest("GET", urls, body)
46330	if err != nil {
46331		return nil, err
46332	}
46333	req.Header = reqHeaders
46334	googleapi.Expand(req.URL, map[string]string{
46335		"profileId": strconv.FormatInt(c.profileId, 10),
46336	})
46337	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46338}
46339
46340// Do executes the "dfareporting.sites.list" call.
46341// Exactly one of *SitesListResponse or error will be non-nil. Any
46342// non-2xx status code is an error. Response headers are in either
46343// *SitesListResponse.ServerResponse.Header or (if a response was
46344// returned at all) in error.(*googleapi.Error).Header. Use
46345// googleapi.IsNotModified to check whether the returned error was
46346// because http.StatusNotModified was returned.
46347func (c *SitesListCall) Do(opts ...googleapi.CallOption) (*SitesListResponse, error) {
46348	gensupport.SetOptions(c.urlParams_, opts...)
46349	res, err := c.doRequest("json")
46350	if res != nil && res.StatusCode == http.StatusNotModified {
46351		if res.Body != nil {
46352			res.Body.Close()
46353		}
46354		return nil, &googleapi.Error{
46355			Code:   res.StatusCode,
46356			Header: res.Header,
46357		}
46358	}
46359	if err != nil {
46360		return nil, err
46361	}
46362	defer googleapi.CloseBody(res)
46363	if err := googleapi.CheckResponse(res); err != nil {
46364		return nil, err
46365	}
46366	ret := &SitesListResponse{
46367		ServerResponse: googleapi.ServerResponse{
46368			Header:         res.Header,
46369			HTTPStatusCode: res.StatusCode,
46370		},
46371	}
46372	target := &ret
46373	if err := gensupport.DecodeResponse(target, res); err != nil {
46374		return nil, err
46375	}
46376	return ret, nil
46377	// {
46378	//   "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
46379	//   "httpMethod": "GET",
46380	//   "id": "dfareporting.sites.list",
46381	//   "parameterOrder": [
46382	//     "profileId"
46383	//   ],
46384	//   "parameters": {
46385	//     "acceptsInStreamVideoPlacements": {
46386	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
46387	//       "location": "query",
46388	//       "type": "boolean"
46389	//     },
46390	//     "acceptsInterstitialPlacements": {
46391	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
46392	//       "location": "query",
46393	//       "type": "boolean"
46394	//     },
46395	//     "acceptsPublisherPaidPlacements": {
46396	//       "description": "Select only sites that accept publisher paid placements.",
46397	//       "location": "query",
46398	//       "type": "boolean"
46399	//     },
46400	//     "adWordsSite": {
46401	//       "description": "Select only AdWords sites.",
46402	//       "location": "query",
46403	//       "type": "boolean"
46404	//     },
46405	//     "approved": {
46406	//       "description": "Select only approved sites.",
46407	//       "location": "query",
46408	//       "type": "boolean"
46409	//     },
46410	//     "campaignIds": {
46411	//       "description": "Select only sites with these campaign IDs.",
46412	//       "format": "int64",
46413	//       "location": "query",
46414	//       "repeated": true,
46415	//       "type": "string"
46416	//     },
46417	//     "directorySiteIds": {
46418	//       "description": "Select only sites with these directory site IDs.",
46419	//       "format": "int64",
46420	//       "location": "query",
46421	//       "repeated": true,
46422	//       "type": "string"
46423	//     },
46424	//     "ids": {
46425	//       "description": "Select only sites with these IDs.",
46426	//       "format": "int64",
46427	//       "location": "query",
46428	//       "repeated": true,
46429	//       "type": "string"
46430	//     },
46431	//     "maxResults": {
46432	//       "default": "1000",
46433	//       "description": "Maximum number of results to return.",
46434	//       "format": "int32",
46435	//       "location": "query",
46436	//       "maximum": "1000",
46437	//       "minimum": "0",
46438	//       "type": "integer"
46439	//     },
46440	//     "pageToken": {
46441	//       "description": "Value of the nextPageToken from the previous result page.",
46442	//       "location": "query",
46443	//       "type": "string"
46444	//     },
46445	//     "profileId": {
46446	//       "description": "User profile ID associated with this request.",
46447	//       "format": "int64",
46448	//       "location": "path",
46449	//       "required": true,
46450	//       "type": "string"
46451	//     },
46452	//     "searchString": {
46453	//       "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\".",
46454	//       "location": "query",
46455	//       "type": "string"
46456	//     },
46457	//     "sortField": {
46458	//       "default": "ID",
46459	//       "description": "Field by which to sort the list.",
46460	//       "enum": [
46461	//         "ID",
46462	//         "NAME"
46463	//       ],
46464	//       "enumDescriptions": [
46465	//         "",
46466	//         ""
46467	//       ],
46468	//       "location": "query",
46469	//       "type": "string"
46470	//     },
46471	//     "sortOrder": {
46472	//       "default": "ASCENDING",
46473	//       "description": "Order of sorted results.",
46474	//       "enum": [
46475	//         "ASCENDING",
46476	//         "DESCENDING"
46477	//       ],
46478	//       "enumDescriptions": [
46479	//         "",
46480	//         ""
46481	//       ],
46482	//       "location": "query",
46483	//       "type": "string"
46484	//     },
46485	//     "subaccountId": {
46486	//       "description": "Select only sites with this subaccount ID.",
46487	//       "format": "int64",
46488	//       "location": "query",
46489	//       "type": "string"
46490	//     },
46491	//     "unmappedSite": {
46492	//       "description": "Select only sites that have not been mapped to a directory site.",
46493	//       "location": "query",
46494	//       "type": "boolean"
46495	//     }
46496	//   },
46497	//   "path": "userprofiles/{profileId}/sites",
46498	//   "response": {
46499	//     "$ref": "SitesListResponse"
46500	//   },
46501	//   "scopes": [
46502	//     "https://www.googleapis.com/auth/dfatrafficking"
46503	//   ]
46504	// }
46505
46506}
46507
46508// Pages invokes f for each page of results.
46509// A non-nil error returned from f will halt the iteration.
46510// The provided context supersedes any context provided to the Context method.
46511func (c *SitesListCall) Pages(ctx context.Context, f func(*SitesListResponse) error) error {
46512	c.ctx_ = ctx
46513	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
46514	for {
46515		x, err := c.Do()
46516		if err != nil {
46517			return err
46518		}
46519		if err := f(x); err != nil {
46520			return err
46521		}
46522		if x.NextPageToken == "" {
46523			return nil
46524		}
46525		c.PageToken(x.NextPageToken)
46526	}
46527}
46528
46529// method id "dfareporting.sites.patch":
46530
46531type SitesPatchCall struct {
46532	s          *Service
46533	profileId  int64
46534	site       *Site
46535	urlParams_ gensupport.URLParams
46536	ctx_       context.Context
46537	header_    http.Header
46538}
46539
46540// Patch: Updates an existing site. This method supports patch
46541// semantics.
46542func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
46543	c := &SitesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46544	c.profileId = profileId
46545	c.urlParams_.Set("id", fmt.Sprint(id))
46546	c.site = site
46547	return c
46548}
46549
46550// Fields allows partial responses to be retrieved. See
46551// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46552// for more information.
46553func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
46554	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46555	return c
46556}
46557
46558// Context sets the context to be used in this call's Do method. Any
46559// pending HTTP request will be aborted if the provided context is
46560// canceled.
46561func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
46562	c.ctx_ = ctx
46563	return c
46564}
46565
46566// Header returns an http.Header that can be modified by the caller to
46567// add HTTP headers to the request.
46568func (c *SitesPatchCall) Header() http.Header {
46569	if c.header_ == nil {
46570		c.header_ = make(http.Header)
46571	}
46572	return c.header_
46573}
46574
46575func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
46576	reqHeaders := make(http.Header)
46577	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
46578	for k, v := range c.header_ {
46579		reqHeaders[k] = v
46580	}
46581	reqHeaders.Set("User-Agent", c.s.userAgent())
46582	var body io.Reader = nil
46583	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46584	if err != nil {
46585		return nil, err
46586	}
46587	reqHeaders.Set("Content-Type", "application/json")
46588	c.urlParams_.Set("alt", alt)
46589	c.urlParams_.Set("prettyPrint", "false")
46590	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46591	urls += "?" + c.urlParams_.Encode()
46592	req, err := http.NewRequest("PATCH", urls, body)
46593	if err != nil {
46594		return nil, err
46595	}
46596	req.Header = reqHeaders
46597	googleapi.Expand(req.URL, map[string]string{
46598		"profileId": strconv.FormatInt(c.profileId, 10),
46599	})
46600	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46601}
46602
46603// Do executes the "dfareporting.sites.patch" call.
46604// Exactly one of *Site or error will be non-nil. Any non-2xx status
46605// code is an error. Response headers are in either
46606// *Site.ServerResponse.Header or (if a response was returned at all) in
46607// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46608// whether the returned error was because http.StatusNotModified was
46609// returned.
46610func (c *SitesPatchCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46611	gensupport.SetOptions(c.urlParams_, opts...)
46612	res, err := c.doRequest("json")
46613	if res != nil && res.StatusCode == http.StatusNotModified {
46614		if res.Body != nil {
46615			res.Body.Close()
46616		}
46617		return nil, &googleapi.Error{
46618			Code:   res.StatusCode,
46619			Header: res.Header,
46620		}
46621	}
46622	if err != nil {
46623		return nil, err
46624	}
46625	defer googleapi.CloseBody(res)
46626	if err := googleapi.CheckResponse(res); err != nil {
46627		return nil, err
46628	}
46629	ret := &Site{
46630		ServerResponse: googleapi.ServerResponse{
46631			Header:         res.Header,
46632			HTTPStatusCode: res.StatusCode,
46633		},
46634	}
46635	target := &ret
46636	if err := gensupport.DecodeResponse(target, res); err != nil {
46637		return nil, err
46638	}
46639	return ret, nil
46640	// {
46641	//   "description": "Updates an existing site. This method supports patch semantics.",
46642	//   "httpMethod": "PATCH",
46643	//   "id": "dfareporting.sites.patch",
46644	//   "parameterOrder": [
46645	//     "profileId",
46646	//     "id"
46647	//   ],
46648	//   "parameters": {
46649	//     "id": {
46650	//       "description": "Site ID.",
46651	//       "format": "int64",
46652	//       "location": "query",
46653	//       "required": true,
46654	//       "type": "string"
46655	//     },
46656	//     "profileId": {
46657	//       "description": "User profile ID associated with this request.",
46658	//       "format": "int64",
46659	//       "location": "path",
46660	//       "required": true,
46661	//       "type": "string"
46662	//     }
46663	//   },
46664	//   "path": "userprofiles/{profileId}/sites",
46665	//   "request": {
46666	//     "$ref": "Site"
46667	//   },
46668	//   "response": {
46669	//     "$ref": "Site"
46670	//   },
46671	//   "scopes": [
46672	//     "https://www.googleapis.com/auth/dfatrafficking"
46673	//   ]
46674	// }
46675
46676}
46677
46678// method id "dfareporting.sites.update":
46679
46680type SitesUpdateCall struct {
46681	s          *Service
46682	profileId  int64
46683	site       *Site
46684	urlParams_ gensupport.URLParams
46685	ctx_       context.Context
46686	header_    http.Header
46687}
46688
46689// Update: Updates an existing site.
46690func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
46691	c := &SitesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46692	c.profileId = profileId
46693	c.site = site
46694	return c
46695}
46696
46697// Fields allows partial responses to be retrieved. See
46698// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46699// for more information.
46700func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
46701	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46702	return c
46703}
46704
46705// Context sets the context to be used in this call's Do method. Any
46706// pending HTTP request will be aborted if the provided context is
46707// canceled.
46708func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
46709	c.ctx_ = ctx
46710	return c
46711}
46712
46713// Header returns an http.Header that can be modified by the caller to
46714// add HTTP headers to the request.
46715func (c *SitesUpdateCall) Header() http.Header {
46716	if c.header_ == nil {
46717		c.header_ = make(http.Header)
46718	}
46719	return c.header_
46720}
46721
46722func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
46723	reqHeaders := make(http.Header)
46724	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
46725	for k, v := range c.header_ {
46726		reqHeaders[k] = v
46727	}
46728	reqHeaders.Set("User-Agent", c.s.userAgent())
46729	var body io.Reader = nil
46730	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46731	if err != nil {
46732		return nil, err
46733	}
46734	reqHeaders.Set("Content-Type", "application/json")
46735	c.urlParams_.Set("alt", alt)
46736	c.urlParams_.Set("prettyPrint", "false")
46737	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46738	urls += "?" + c.urlParams_.Encode()
46739	req, err := http.NewRequest("PUT", urls, body)
46740	if err != nil {
46741		return nil, err
46742	}
46743	req.Header = reqHeaders
46744	googleapi.Expand(req.URL, map[string]string{
46745		"profileId": strconv.FormatInt(c.profileId, 10),
46746	})
46747	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46748}
46749
46750// Do executes the "dfareporting.sites.update" call.
46751// Exactly one of *Site or error will be non-nil. Any non-2xx status
46752// code is an error. Response headers are in either
46753// *Site.ServerResponse.Header or (if a response was returned at all) in
46754// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46755// whether the returned error was because http.StatusNotModified was
46756// returned.
46757func (c *SitesUpdateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46758	gensupport.SetOptions(c.urlParams_, opts...)
46759	res, err := c.doRequest("json")
46760	if res != nil && res.StatusCode == http.StatusNotModified {
46761		if res.Body != nil {
46762			res.Body.Close()
46763		}
46764		return nil, &googleapi.Error{
46765			Code:   res.StatusCode,
46766			Header: res.Header,
46767		}
46768	}
46769	if err != nil {
46770		return nil, err
46771	}
46772	defer googleapi.CloseBody(res)
46773	if err := googleapi.CheckResponse(res); err != nil {
46774		return nil, err
46775	}
46776	ret := &Site{
46777		ServerResponse: googleapi.ServerResponse{
46778			Header:         res.Header,
46779			HTTPStatusCode: res.StatusCode,
46780		},
46781	}
46782	target := &ret
46783	if err := gensupport.DecodeResponse(target, res); err != nil {
46784		return nil, err
46785	}
46786	return ret, nil
46787	// {
46788	//   "description": "Updates an existing site.",
46789	//   "httpMethod": "PUT",
46790	//   "id": "dfareporting.sites.update",
46791	//   "parameterOrder": [
46792	//     "profileId"
46793	//   ],
46794	//   "parameters": {
46795	//     "profileId": {
46796	//       "description": "User profile ID associated with this request.",
46797	//       "format": "int64",
46798	//       "location": "path",
46799	//       "required": true,
46800	//       "type": "string"
46801	//     }
46802	//   },
46803	//   "path": "userprofiles/{profileId}/sites",
46804	//   "request": {
46805	//     "$ref": "Site"
46806	//   },
46807	//   "response": {
46808	//     "$ref": "Site"
46809	//   },
46810	//   "scopes": [
46811	//     "https://www.googleapis.com/auth/dfatrafficking"
46812	//   ]
46813	// }
46814
46815}
46816
46817// method id "dfareporting.sizes.get":
46818
46819type SizesGetCall struct {
46820	s            *Service
46821	profileId    int64
46822	id           int64
46823	urlParams_   gensupport.URLParams
46824	ifNoneMatch_ string
46825	ctx_         context.Context
46826	header_      http.Header
46827}
46828
46829// Get: Gets one size by ID.
46830func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
46831	c := &SizesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46832	c.profileId = profileId
46833	c.id = id
46834	return c
46835}
46836
46837// Fields allows partial responses to be retrieved. See
46838// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46839// for more information.
46840func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
46841	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46842	return c
46843}
46844
46845// IfNoneMatch sets the optional parameter which makes the operation
46846// fail if the object's ETag matches the given value. This is useful for
46847// getting updates only after the object has changed since the last
46848// request. Use googleapi.IsNotModified to check whether the response
46849// error from Do is the result of In-None-Match.
46850func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
46851	c.ifNoneMatch_ = entityTag
46852	return c
46853}
46854
46855// Context sets the context to be used in this call's Do method. Any
46856// pending HTTP request will be aborted if the provided context is
46857// canceled.
46858func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
46859	c.ctx_ = ctx
46860	return c
46861}
46862
46863// Header returns an http.Header that can be modified by the caller to
46864// add HTTP headers to the request.
46865func (c *SizesGetCall) Header() http.Header {
46866	if c.header_ == nil {
46867		c.header_ = make(http.Header)
46868	}
46869	return c.header_
46870}
46871
46872func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
46873	reqHeaders := make(http.Header)
46874	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
46875	for k, v := range c.header_ {
46876		reqHeaders[k] = v
46877	}
46878	reqHeaders.Set("User-Agent", c.s.userAgent())
46879	if c.ifNoneMatch_ != "" {
46880		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46881	}
46882	var body io.Reader = nil
46883	c.urlParams_.Set("alt", alt)
46884	c.urlParams_.Set("prettyPrint", "false")
46885	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
46886	urls += "?" + c.urlParams_.Encode()
46887	req, err := http.NewRequest("GET", urls, body)
46888	if err != nil {
46889		return nil, err
46890	}
46891	req.Header = reqHeaders
46892	googleapi.Expand(req.URL, map[string]string{
46893		"profileId": strconv.FormatInt(c.profileId, 10),
46894		"id":        strconv.FormatInt(c.id, 10),
46895	})
46896	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46897}
46898
46899// Do executes the "dfareporting.sizes.get" call.
46900// Exactly one of *Size or error will be non-nil. Any non-2xx status
46901// code is an error. Response headers are in either
46902// *Size.ServerResponse.Header or (if a response was returned at all) in
46903// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46904// whether the returned error was because http.StatusNotModified was
46905// returned.
46906func (c *SizesGetCall) Do(opts ...googleapi.CallOption) (*Size, error) {
46907	gensupport.SetOptions(c.urlParams_, opts...)
46908	res, err := c.doRequest("json")
46909	if res != nil && res.StatusCode == http.StatusNotModified {
46910		if res.Body != nil {
46911			res.Body.Close()
46912		}
46913		return nil, &googleapi.Error{
46914			Code:   res.StatusCode,
46915			Header: res.Header,
46916		}
46917	}
46918	if err != nil {
46919		return nil, err
46920	}
46921	defer googleapi.CloseBody(res)
46922	if err := googleapi.CheckResponse(res); err != nil {
46923		return nil, err
46924	}
46925	ret := &Size{
46926		ServerResponse: googleapi.ServerResponse{
46927			Header:         res.Header,
46928			HTTPStatusCode: res.StatusCode,
46929		},
46930	}
46931	target := &ret
46932	if err := gensupport.DecodeResponse(target, res); err != nil {
46933		return nil, err
46934	}
46935	return ret, nil
46936	// {
46937	//   "description": "Gets one size by ID.",
46938	//   "httpMethod": "GET",
46939	//   "id": "dfareporting.sizes.get",
46940	//   "parameterOrder": [
46941	//     "profileId",
46942	//     "id"
46943	//   ],
46944	//   "parameters": {
46945	//     "id": {
46946	//       "description": "Size ID.",
46947	//       "format": "int64",
46948	//       "location": "path",
46949	//       "required": true,
46950	//       "type": "string"
46951	//     },
46952	//     "profileId": {
46953	//       "description": "User profile ID associated with this request.",
46954	//       "format": "int64",
46955	//       "location": "path",
46956	//       "required": true,
46957	//       "type": "string"
46958	//     }
46959	//   },
46960	//   "path": "userprofiles/{profileId}/sizes/{id}",
46961	//   "response": {
46962	//     "$ref": "Size"
46963	//   },
46964	//   "scopes": [
46965	//     "https://www.googleapis.com/auth/dfatrafficking"
46966	//   ]
46967	// }
46968
46969}
46970
46971// method id "dfareporting.sizes.insert":
46972
46973type SizesInsertCall struct {
46974	s          *Service
46975	profileId  int64
46976	size       *Size
46977	urlParams_ gensupport.URLParams
46978	ctx_       context.Context
46979	header_    http.Header
46980}
46981
46982// Insert: Inserts a new size.
46983func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
46984	c := &SizesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46985	c.profileId = profileId
46986	c.size = size
46987	return c
46988}
46989
46990// Fields allows partial responses to be retrieved. See
46991// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46992// for more information.
46993func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
46994	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46995	return c
46996}
46997
46998// Context sets the context to be used in this call's Do method. Any
46999// pending HTTP request will be aborted if the provided context is
47000// canceled.
47001func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
47002	c.ctx_ = ctx
47003	return c
47004}
47005
47006// Header returns an http.Header that can be modified by the caller to
47007// add HTTP headers to the request.
47008func (c *SizesInsertCall) Header() http.Header {
47009	if c.header_ == nil {
47010		c.header_ = make(http.Header)
47011	}
47012	return c.header_
47013}
47014
47015func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
47016	reqHeaders := make(http.Header)
47017	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
47018	for k, v := range c.header_ {
47019		reqHeaders[k] = v
47020	}
47021	reqHeaders.Set("User-Agent", c.s.userAgent())
47022	var body io.Reader = nil
47023	body, err := googleapi.WithoutDataWrapper.JSONReader(c.size)
47024	if err != nil {
47025		return nil, err
47026	}
47027	reqHeaders.Set("Content-Type", "application/json")
47028	c.urlParams_.Set("alt", alt)
47029	c.urlParams_.Set("prettyPrint", "false")
47030	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
47031	urls += "?" + c.urlParams_.Encode()
47032	req, err := http.NewRequest("POST", urls, body)
47033	if err != nil {
47034		return nil, err
47035	}
47036	req.Header = reqHeaders
47037	googleapi.Expand(req.URL, map[string]string{
47038		"profileId": strconv.FormatInt(c.profileId, 10),
47039	})
47040	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47041}
47042
47043// Do executes the "dfareporting.sizes.insert" call.
47044// Exactly one of *Size or error will be non-nil. Any non-2xx status
47045// code is an error. Response headers are in either
47046// *Size.ServerResponse.Header or (if a response was returned at all) in
47047// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
47048// whether the returned error was because http.StatusNotModified was
47049// returned.
47050func (c *SizesInsertCall) Do(opts ...googleapi.CallOption) (*Size, error) {
47051	gensupport.SetOptions(c.urlParams_, opts...)
47052	res, err := c.doRequest("json")
47053	if res != nil && res.StatusCode == http.StatusNotModified {
47054		if res.Body != nil {
47055			res.Body.Close()
47056		}
47057		return nil, &googleapi.Error{
47058			Code:   res.StatusCode,
47059			Header: res.Header,
47060		}
47061	}
47062	if err != nil {
47063		return nil, err
47064	}
47065	defer googleapi.CloseBody(res)
47066	if err := googleapi.CheckResponse(res); err != nil {
47067		return nil, err
47068	}
47069	ret := &Size{
47070		ServerResponse: googleapi.ServerResponse{
47071			Header:         res.Header,
47072			HTTPStatusCode: res.StatusCode,
47073		},
47074	}
47075	target := &ret
47076	if err := gensupport.DecodeResponse(target, res); err != nil {
47077		return nil, err
47078	}
47079	return ret, nil
47080	// {
47081	//   "description": "Inserts a new size.",
47082	//   "httpMethod": "POST",
47083	//   "id": "dfareporting.sizes.insert",
47084	//   "parameterOrder": [
47085	//     "profileId"
47086	//   ],
47087	//   "parameters": {
47088	//     "profileId": {
47089	//       "description": "User profile ID associated with this request.",
47090	//       "format": "int64",
47091	//       "location": "path",
47092	//       "required": true,
47093	//       "type": "string"
47094	//     }
47095	//   },
47096	//   "path": "userprofiles/{profileId}/sizes",
47097	//   "request": {
47098	//     "$ref": "Size"
47099	//   },
47100	//   "response": {
47101	//     "$ref": "Size"
47102	//   },
47103	//   "scopes": [
47104	//     "https://www.googleapis.com/auth/dfatrafficking"
47105	//   ]
47106	// }
47107
47108}
47109
47110// method id "dfareporting.sizes.list":
47111
47112type SizesListCall struct {
47113	s            *Service
47114	profileId    int64
47115	urlParams_   gensupport.URLParams
47116	ifNoneMatch_ string
47117	ctx_         context.Context
47118	header_      http.Header
47119}
47120
47121// List: Retrieves a list of sizes, possibly filtered. Retrieved sizes
47122// are globally unique and may include values not currently in use by
47123// your account. Due to this, the list of sizes returned by this method
47124// may differ from the list seen in the Trafficking UI.
47125func (r *SizesService) List(profileId int64) *SizesListCall {
47126	c := &SizesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47127	c.profileId = profileId
47128	return c
47129}
47130
47131// Height sets the optional parameter "height": Select only sizes with
47132// this height.
47133func (c *SizesListCall) Height(height int64) *SizesListCall {
47134	c.urlParams_.Set("height", fmt.Sprint(height))
47135	return c
47136}
47137
47138// IabStandard sets the optional parameter "iabStandard": Select only
47139// IAB standard sizes.
47140func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
47141	c.urlParams_.Set("iabStandard", fmt.Sprint(iabStandard))
47142	return c
47143}
47144
47145// Ids sets the optional parameter "ids": Select only sizes with these
47146// IDs.
47147func (c *SizesListCall) Ids(ids ...int64) *SizesListCall {
47148	var ids_ []string
47149	for _, v := range ids {
47150		ids_ = append(ids_, fmt.Sprint(v))
47151	}
47152	c.urlParams_.SetMulti("ids", ids_)
47153	return c
47154}
47155
47156// Width sets the optional parameter "width": Select only sizes with
47157// this width.
47158func (c *SizesListCall) Width(width int64) *SizesListCall {
47159	c.urlParams_.Set("width", fmt.Sprint(width))
47160	return c
47161}
47162
47163// Fields allows partial responses to be retrieved. See
47164// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47165// for more information.
47166func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
47167	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47168	return c
47169}
47170
47171// IfNoneMatch sets the optional parameter which makes the operation
47172// fail if the object's ETag matches the given value. This is useful for
47173// getting updates only after the object has changed since the last
47174// request. Use googleapi.IsNotModified to check whether the response
47175// error from Do is the result of In-None-Match.
47176func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
47177	c.ifNoneMatch_ = entityTag
47178	return c
47179}
47180
47181// Context sets the context to be used in this call's Do method. Any
47182// pending HTTP request will be aborted if the provided context is
47183// canceled.
47184func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
47185	c.ctx_ = ctx
47186	return c
47187}
47188
47189// Header returns an http.Header that can be modified by the caller to
47190// add HTTP headers to the request.
47191func (c *SizesListCall) Header() http.Header {
47192	if c.header_ == nil {
47193		c.header_ = make(http.Header)
47194	}
47195	return c.header_
47196}
47197
47198func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
47199	reqHeaders := make(http.Header)
47200	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
47201	for k, v := range c.header_ {
47202		reqHeaders[k] = v
47203	}
47204	reqHeaders.Set("User-Agent", c.s.userAgent())
47205	if c.ifNoneMatch_ != "" {
47206		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47207	}
47208	var body io.Reader = nil
47209	c.urlParams_.Set("alt", alt)
47210	c.urlParams_.Set("prettyPrint", "false")
47211	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
47212	urls += "?" + c.urlParams_.Encode()
47213	req, err := http.NewRequest("GET", urls, body)
47214	if err != nil {
47215		return nil, err
47216	}
47217	req.Header = reqHeaders
47218	googleapi.Expand(req.URL, map[string]string{
47219		"profileId": strconv.FormatInt(c.profileId, 10),
47220	})
47221	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47222}
47223
47224// Do executes the "dfareporting.sizes.list" call.
47225// Exactly one of *SizesListResponse or error will be non-nil. Any
47226// non-2xx status code is an error. Response headers are in either
47227// *SizesListResponse.ServerResponse.Header or (if a response was
47228// returned at all) in error.(*googleapi.Error).Header. Use
47229// googleapi.IsNotModified to check whether the returned error was
47230// because http.StatusNotModified was returned.
47231func (c *SizesListCall) Do(opts ...googleapi.CallOption) (*SizesListResponse, error) {
47232	gensupport.SetOptions(c.urlParams_, opts...)
47233	res, err := c.doRequest("json")
47234	if res != nil && res.StatusCode == http.StatusNotModified {
47235		if res.Body != nil {
47236			res.Body.Close()
47237		}
47238		return nil, &googleapi.Error{
47239			Code:   res.StatusCode,
47240			Header: res.Header,
47241		}
47242	}
47243	if err != nil {
47244		return nil, err
47245	}
47246	defer googleapi.CloseBody(res)
47247	if err := googleapi.CheckResponse(res); err != nil {
47248		return nil, err
47249	}
47250	ret := &SizesListResponse{
47251		ServerResponse: googleapi.ServerResponse{
47252			Header:         res.Header,
47253			HTTPStatusCode: res.StatusCode,
47254		},
47255	}
47256	target := &ret
47257	if err := gensupport.DecodeResponse(target, res); err != nil {
47258		return nil, err
47259	}
47260	return ret, nil
47261	// {
47262	//   "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.",
47263	//   "httpMethod": "GET",
47264	//   "id": "dfareporting.sizes.list",
47265	//   "parameterOrder": [
47266	//     "profileId"
47267	//   ],
47268	//   "parameters": {
47269	//     "height": {
47270	//       "description": "Select only sizes with this height.",
47271	//       "format": "int32",
47272	//       "location": "query",
47273	//       "maximum": "32767",
47274	//       "minimum": "0",
47275	//       "type": "integer"
47276	//     },
47277	//     "iabStandard": {
47278	//       "description": "Select only IAB standard sizes.",
47279	//       "location": "query",
47280	//       "type": "boolean"
47281	//     },
47282	//     "ids": {
47283	//       "description": "Select only sizes with these IDs.",
47284	//       "format": "int64",
47285	//       "location": "query",
47286	//       "repeated": true,
47287	//       "type": "string"
47288	//     },
47289	//     "profileId": {
47290	//       "description": "User profile ID associated with this request.",
47291	//       "format": "int64",
47292	//       "location": "path",
47293	//       "required": true,
47294	//       "type": "string"
47295	//     },
47296	//     "width": {
47297	//       "description": "Select only sizes with this width.",
47298	//       "format": "int32",
47299	//       "location": "query",
47300	//       "maximum": "32767",
47301	//       "minimum": "0",
47302	//       "type": "integer"
47303	//     }
47304	//   },
47305	//   "path": "userprofiles/{profileId}/sizes",
47306	//   "response": {
47307	//     "$ref": "SizesListResponse"
47308	//   },
47309	//   "scopes": [
47310	//     "https://www.googleapis.com/auth/dfatrafficking"
47311	//   ]
47312	// }
47313
47314}
47315
47316// method id "dfareporting.subaccounts.get":
47317
47318type SubaccountsGetCall struct {
47319	s            *Service
47320	profileId    int64
47321	id           int64
47322	urlParams_   gensupport.URLParams
47323	ifNoneMatch_ string
47324	ctx_         context.Context
47325	header_      http.Header
47326}
47327
47328// Get: Gets one subaccount by ID.
47329func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
47330	c := &SubaccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47331	c.profileId = profileId
47332	c.id = id
47333	return c
47334}
47335
47336// Fields allows partial responses to be retrieved. See
47337// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47338// for more information.
47339func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
47340	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47341	return c
47342}
47343
47344// IfNoneMatch sets the optional parameter which makes the operation
47345// fail if the object's ETag matches the given value. This is useful for
47346// getting updates only after the object has changed since the last
47347// request. Use googleapi.IsNotModified to check whether the response
47348// error from Do is the result of In-None-Match.
47349func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
47350	c.ifNoneMatch_ = entityTag
47351	return c
47352}
47353
47354// Context sets the context to be used in this call's Do method. Any
47355// pending HTTP request will be aborted if the provided context is
47356// canceled.
47357func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
47358	c.ctx_ = ctx
47359	return c
47360}
47361
47362// Header returns an http.Header that can be modified by the caller to
47363// add HTTP headers to the request.
47364func (c *SubaccountsGetCall) Header() http.Header {
47365	if c.header_ == nil {
47366		c.header_ = make(http.Header)
47367	}
47368	return c.header_
47369}
47370
47371func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
47372	reqHeaders := make(http.Header)
47373	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
47374	for k, v := range c.header_ {
47375		reqHeaders[k] = v
47376	}
47377	reqHeaders.Set("User-Agent", c.s.userAgent())
47378	if c.ifNoneMatch_ != "" {
47379		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47380	}
47381	var body io.Reader = nil
47382	c.urlParams_.Set("alt", alt)
47383	c.urlParams_.Set("prettyPrint", "false")
47384	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
47385	urls += "?" + c.urlParams_.Encode()
47386	req, err := http.NewRequest("GET", urls, body)
47387	if err != nil {
47388		return nil, err
47389	}
47390	req.Header = reqHeaders
47391	googleapi.Expand(req.URL, map[string]string{
47392		"profileId": strconv.FormatInt(c.profileId, 10),
47393		"id":        strconv.FormatInt(c.id, 10),
47394	})
47395	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47396}
47397
47398// Do executes the "dfareporting.subaccounts.get" call.
47399// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47400// status code is an error. Response headers are in either
47401// *Subaccount.ServerResponse.Header or (if a response was returned at
47402// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47403// to check whether the returned error was because
47404// http.StatusNotModified was returned.
47405func (c *SubaccountsGetCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47406	gensupport.SetOptions(c.urlParams_, opts...)
47407	res, err := c.doRequest("json")
47408	if res != nil && res.StatusCode == http.StatusNotModified {
47409		if res.Body != nil {
47410			res.Body.Close()
47411		}
47412		return nil, &googleapi.Error{
47413			Code:   res.StatusCode,
47414			Header: res.Header,
47415		}
47416	}
47417	if err != nil {
47418		return nil, err
47419	}
47420	defer googleapi.CloseBody(res)
47421	if err := googleapi.CheckResponse(res); err != nil {
47422		return nil, err
47423	}
47424	ret := &Subaccount{
47425		ServerResponse: googleapi.ServerResponse{
47426			Header:         res.Header,
47427			HTTPStatusCode: res.StatusCode,
47428		},
47429	}
47430	target := &ret
47431	if err := gensupport.DecodeResponse(target, res); err != nil {
47432		return nil, err
47433	}
47434	return ret, nil
47435	// {
47436	//   "description": "Gets one subaccount by ID.",
47437	//   "httpMethod": "GET",
47438	//   "id": "dfareporting.subaccounts.get",
47439	//   "parameterOrder": [
47440	//     "profileId",
47441	//     "id"
47442	//   ],
47443	//   "parameters": {
47444	//     "id": {
47445	//       "description": "Subaccount ID.",
47446	//       "format": "int64",
47447	//       "location": "path",
47448	//       "required": true,
47449	//       "type": "string"
47450	//     },
47451	//     "profileId": {
47452	//       "description": "User profile ID associated with this request.",
47453	//       "format": "int64",
47454	//       "location": "path",
47455	//       "required": true,
47456	//       "type": "string"
47457	//     }
47458	//   },
47459	//   "path": "userprofiles/{profileId}/subaccounts/{id}",
47460	//   "response": {
47461	//     "$ref": "Subaccount"
47462	//   },
47463	//   "scopes": [
47464	//     "https://www.googleapis.com/auth/dfatrafficking"
47465	//   ]
47466	// }
47467
47468}
47469
47470// method id "dfareporting.subaccounts.insert":
47471
47472type SubaccountsInsertCall struct {
47473	s          *Service
47474	profileId  int64
47475	subaccount *Subaccount
47476	urlParams_ gensupport.URLParams
47477	ctx_       context.Context
47478	header_    http.Header
47479}
47480
47481// Insert: Inserts a new subaccount.
47482func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
47483	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47484	c.profileId = profileId
47485	c.subaccount = subaccount
47486	return c
47487}
47488
47489// Fields allows partial responses to be retrieved. See
47490// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47491// for more information.
47492func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
47493	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47494	return c
47495}
47496
47497// Context sets the context to be used in this call's Do method. Any
47498// pending HTTP request will be aborted if the provided context is
47499// canceled.
47500func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
47501	c.ctx_ = ctx
47502	return c
47503}
47504
47505// Header returns an http.Header that can be modified by the caller to
47506// add HTTP headers to the request.
47507func (c *SubaccountsInsertCall) Header() http.Header {
47508	if c.header_ == nil {
47509		c.header_ = make(http.Header)
47510	}
47511	return c.header_
47512}
47513
47514func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
47515	reqHeaders := make(http.Header)
47516	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
47517	for k, v := range c.header_ {
47518		reqHeaders[k] = v
47519	}
47520	reqHeaders.Set("User-Agent", c.s.userAgent())
47521	var body io.Reader = nil
47522	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47523	if err != nil {
47524		return nil, err
47525	}
47526	reqHeaders.Set("Content-Type", "application/json")
47527	c.urlParams_.Set("alt", alt)
47528	c.urlParams_.Set("prettyPrint", "false")
47529	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47530	urls += "?" + c.urlParams_.Encode()
47531	req, err := http.NewRequest("POST", urls, body)
47532	if err != nil {
47533		return nil, err
47534	}
47535	req.Header = reqHeaders
47536	googleapi.Expand(req.URL, map[string]string{
47537		"profileId": strconv.FormatInt(c.profileId, 10),
47538	})
47539	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47540}
47541
47542// Do executes the "dfareporting.subaccounts.insert" call.
47543// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47544// status code is an error. Response headers are in either
47545// *Subaccount.ServerResponse.Header or (if a response was returned at
47546// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47547// to check whether the returned error was because
47548// http.StatusNotModified was returned.
47549func (c *SubaccountsInsertCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47550	gensupport.SetOptions(c.urlParams_, opts...)
47551	res, err := c.doRequest("json")
47552	if res != nil && res.StatusCode == http.StatusNotModified {
47553		if res.Body != nil {
47554			res.Body.Close()
47555		}
47556		return nil, &googleapi.Error{
47557			Code:   res.StatusCode,
47558			Header: res.Header,
47559		}
47560	}
47561	if err != nil {
47562		return nil, err
47563	}
47564	defer googleapi.CloseBody(res)
47565	if err := googleapi.CheckResponse(res); err != nil {
47566		return nil, err
47567	}
47568	ret := &Subaccount{
47569		ServerResponse: googleapi.ServerResponse{
47570			Header:         res.Header,
47571			HTTPStatusCode: res.StatusCode,
47572		},
47573	}
47574	target := &ret
47575	if err := gensupport.DecodeResponse(target, res); err != nil {
47576		return nil, err
47577	}
47578	return ret, nil
47579	// {
47580	//   "description": "Inserts a new subaccount.",
47581	//   "httpMethod": "POST",
47582	//   "id": "dfareporting.subaccounts.insert",
47583	//   "parameterOrder": [
47584	//     "profileId"
47585	//   ],
47586	//   "parameters": {
47587	//     "profileId": {
47588	//       "description": "User profile ID associated with this request.",
47589	//       "format": "int64",
47590	//       "location": "path",
47591	//       "required": true,
47592	//       "type": "string"
47593	//     }
47594	//   },
47595	//   "path": "userprofiles/{profileId}/subaccounts",
47596	//   "request": {
47597	//     "$ref": "Subaccount"
47598	//   },
47599	//   "response": {
47600	//     "$ref": "Subaccount"
47601	//   },
47602	//   "scopes": [
47603	//     "https://www.googleapis.com/auth/dfatrafficking"
47604	//   ]
47605	// }
47606
47607}
47608
47609// method id "dfareporting.subaccounts.list":
47610
47611type SubaccountsListCall struct {
47612	s            *Service
47613	profileId    int64
47614	urlParams_   gensupport.URLParams
47615	ifNoneMatch_ string
47616	ctx_         context.Context
47617	header_      http.Header
47618}
47619
47620// List: Gets a list of subaccounts, possibly filtered. This method
47621// supports paging.
47622func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
47623	c := &SubaccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47624	c.profileId = profileId
47625	return c
47626}
47627
47628// Ids sets the optional parameter "ids": Select only subaccounts with
47629// these IDs.
47630func (c *SubaccountsListCall) Ids(ids ...int64) *SubaccountsListCall {
47631	var ids_ []string
47632	for _, v := range ids {
47633		ids_ = append(ids_, fmt.Sprint(v))
47634	}
47635	c.urlParams_.SetMulti("ids", ids_)
47636	return c
47637}
47638
47639// MaxResults sets the optional parameter "maxResults": Maximum number
47640// of results to return.
47641func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
47642	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
47643	return c
47644}
47645
47646// PageToken sets the optional parameter "pageToken": Value of the
47647// nextPageToken from the previous result page.
47648func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
47649	c.urlParams_.Set("pageToken", pageToken)
47650	return c
47651}
47652
47653// SearchString sets the optional parameter "searchString": Allows
47654// searching for objects by name or ID. Wildcards (*) are allowed. For
47655// example, "subaccount*2015" will return objects with names like
47656// "subaccount June 2015", "subaccount April 2015", or simply
47657// "subaccount 2015". Most of the searches also add wildcards implicitly
47658// at the start and the end of the search string. For example, a search
47659// string of "subaccount" will match objects with name "my subaccount",
47660// "subaccount 2015", or simply "subaccount".
47661func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
47662	c.urlParams_.Set("searchString", searchString)
47663	return c
47664}
47665
47666// SortField sets the optional parameter "sortField": Field by which to
47667// sort the list.
47668//
47669// Possible values:
47670//   "ID" (default)
47671//   "NAME"
47672func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
47673	c.urlParams_.Set("sortField", sortField)
47674	return c
47675}
47676
47677// SortOrder sets the optional parameter "sortOrder": Order of sorted
47678// results.
47679//
47680// Possible values:
47681//   "ASCENDING" (default)
47682//   "DESCENDING"
47683func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
47684	c.urlParams_.Set("sortOrder", sortOrder)
47685	return c
47686}
47687
47688// Fields allows partial responses to be retrieved. See
47689// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47690// for more information.
47691func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
47692	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47693	return c
47694}
47695
47696// IfNoneMatch sets the optional parameter which makes the operation
47697// fail if the object's ETag matches the given value. This is useful for
47698// getting updates only after the object has changed since the last
47699// request. Use googleapi.IsNotModified to check whether the response
47700// error from Do is the result of In-None-Match.
47701func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
47702	c.ifNoneMatch_ = entityTag
47703	return c
47704}
47705
47706// Context sets the context to be used in this call's Do method. Any
47707// pending HTTP request will be aborted if the provided context is
47708// canceled.
47709func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
47710	c.ctx_ = ctx
47711	return c
47712}
47713
47714// Header returns an http.Header that can be modified by the caller to
47715// add HTTP headers to the request.
47716func (c *SubaccountsListCall) Header() http.Header {
47717	if c.header_ == nil {
47718		c.header_ = make(http.Header)
47719	}
47720	return c.header_
47721}
47722
47723func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
47724	reqHeaders := make(http.Header)
47725	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
47726	for k, v := range c.header_ {
47727		reqHeaders[k] = v
47728	}
47729	reqHeaders.Set("User-Agent", c.s.userAgent())
47730	if c.ifNoneMatch_ != "" {
47731		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47732	}
47733	var body io.Reader = nil
47734	c.urlParams_.Set("alt", alt)
47735	c.urlParams_.Set("prettyPrint", "false")
47736	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47737	urls += "?" + c.urlParams_.Encode()
47738	req, err := http.NewRequest("GET", urls, body)
47739	if err != nil {
47740		return nil, err
47741	}
47742	req.Header = reqHeaders
47743	googleapi.Expand(req.URL, map[string]string{
47744		"profileId": strconv.FormatInt(c.profileId, 10),
47745	})
47746	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47747}
47748
47749// Do executes the "dfareporting.subaccounts.list" call.
47750// Exactly one of *SubaccountsListResponse or error will be non-nil. Any
47751// non-2xx status code is an error. Response headers are in either
47752// *SubaccountsListResponse.ServerResponse.Header or (if a response was
47753// returned at all) in error.(*googleapi.Error).Header. Use
47754// googleapi.IsNotModified to check whether the returned error was
47755// because http.StatusNotModified was returned.
47756func (c *SubaccountsListCall) Do(opts ...googleapi.CallOption) (*SubaccountsListResponse, error) {
47757	gensupport.SetOptions(c.urlParams_, opts...)
47758	res, err := c.doRequest("json")
47759	if res != nil && res.StatusCode == http.StatusNotModified {
47760		if res.Body != nil {
47761			res.Body.Close()
47762		}
47763		return nil, &googleapi.Error{
47764			Code:   res.StatusCode,
47765			Header: res.Header,
47766		}
47767	}
47768	if err != nil {
47769		return nil, err
47770	}
47771	defer googleapi.CloseBody(res)
47772	if err := googleapi.CheckResponse(res); err != nil {
47773		return nil, err
47774	}
47775	ret := &SubaccountsListResponse{
47776		ServerResponse: googleapi.ServerResponse{
47777			Header:         res.Header,
47778			HTTPStatusCode: res.StatusCode,
47779		},
47780	}
47781	target := &ret
47782	if err := gensupport.DecodeResponse(target, res); err != nil {
47783		return nil, err
47784	}
47785	return ret, nil
47786	// {
47787	//   "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
47788	//   "httpMethod": "GET",
47789	//   "id": "dfareporting.subaccounts.list",
47790	//   "parameterOrder": [
47791	//     "profileId"
47792	//   ],
47793	//   "parameters": {
47794	//     "ids": {
47795	//       "description": "Select only subaccounts with these IDs.",
47796	//       "format": "int64",
47797	//       "location": "query",
47798	//       "repeated": true,
47799	//       "type": "string"
47800	//     },
47801	//     "maxResults": {
47802	//       "default": "1000",
47803	//       "description": "Maximum number of results to return.",
47804	//       "format": "int32",
47805	//       "location": "query",
47806	//       "maximum": "1000",
47807	//       "minimum": "0",
47808	//       "type": "integer"
47809	//     },
47810	//     "pageToken": {
47811	//       "description": "Value of the nextPageToken from the previous result page.",
47812	//       "location": "query",
47813	//       "type": "string"
47814	//     },
47815	//     "profileId": {
47816	//       "description": "User profile ID associated with this request.",
47817	//       "format": "int64",
47818	//       "location": "path",
47819	//       "required": true,
47820	//       "type": "string"
47821	//     },
47822	//     "searchString": {
47823	//       "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\".",
47824	//       "location": "query",
47825	//       "type": "string"
47826	//     },
47827	//     "sortField": {
47828	//       "default": "ID",
47829	//       "description": "Field by which to sort the list.",
47830	//       "enum": [
47831	//         "ID",
47832	//         "NAME"
47833	//       ],
47834	//       "enumDescriptions": [
47835	//         "",
47836	//         ""
47837	//       ],
47838	//       "location": "query",
47839	//       "type": "string"
47840	//     },
47841	//     "sortOrder": {
47842	//       "default": "ASCENDING",
47843	//       "description": "Order of sorted results.",
47844	//       "enum": [
47845	//         "ASCENDING",
47846	//         "DESCENDING"
47847	//       ],
47848	//       "enumDescriptions": [
47849	//         "",
47850	//         ""
47851	//       ],
47852	//       "location": "query",
47853	//       "type": "string"
47854	//     }
47855	//   },
47856	//   "path": "userprofiles/{profileId}/subaccounts",
47857	//   "response": {
47858	//     "$ref": "SubaccountsListResponse"
47859	//   },
47860	//   "scopes": [
47861	//     "https://www.googleapis.com/auth/dfatrafficking"
47862	//   ]
47863	// }
47864
47865}
47866
47867// Pages invokes f for each page of results.
47868// A non-nil error returned from f will halt the iteration.
47869// The provided context supersedes any context provided to the Context method.
47870func (c *SubaccountsListCall) Pages(ctx context.Context, f func(*SubaccountsListResponse) error) error {
47871	c.ctx_ = ctx
47872	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
47873	for {
47874		x, err := c.Do()
47875		if err != nil {
47876			return err
47877		}
47878		if err := f(x); err != nil {
47879			return err
47880		}
47881		if x.NextPageToken == "" {
47882			return nil
47883		}
47884		c.PageToken(x.NextPageToken)
47885	}
47886}
47887
47888// method id "dfareporting.subaccounts.patch":
47889
47890type SubaccountsPatchCall struct {
47891	s          *Service
47892	profileId  int64
47893	subaccount *Subaccount
47894	urlParams_ gensupport.URLParams
47895	ctx_       context.Context
47896	header_    http.Header
47897}
47898
47899// Patch: Updates an existing subaccount. This method supports patch
47900// semantics.
47901func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
47902	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47903	c.profileId = profileId
47904	c.urlParams_.Set("id", fmt.Sprint(id))
47905	c.subaccount = subaccount
47906	return c
47907}
47908
47909// Fields allows partial responses to be retrieved. See
47910// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47911// for more information.
47912func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
47913	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47914	return c
47915}
47916
47917// Context sets the context to be used in this call's Do method. Any
47918// pending HTTP request will be aborted if the provided context is
47919// canceled.
47920func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
47921	c.ctx_ = ctx
47922	return c
47923}
47924
47925// Header returns an http.Header that can be modified by the caller to
47926// add HTTP headers to the request.
47927func (c *SubaccountsPatchCall) Header() http.Header {
47928	if c.header_ == nil {
47929		c.header_ = make(http.Header)
47930	}
47931	return c.header_
47932}
47933
47934func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
47935	reqHeaders := make(http.Header)
47936	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
47937	for k, v := range c.header_ {
47938		reqHeaders[k] = v
47939	}
47940	reqHeaders.Set("User-Agent", c.s.userAgent())
47941	var body io.Reader = nil
47942	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47943	if err != nil {
47944		return nil, err
47945	}
47946	reqHeaders.Set("Content-Type", "application/json")
47947	c.urlParams_.Set("alt", alt)
47948	c.urlParams_.Set("prettyPrint", "false")
47949	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47950	urls += "?" + c.urlParams_.Encode()
47951	req, err := http.NewRequest("PATCH", urls, body)
47952	if err != nil {
47953		return nil, err
47954	}
47955	req.Header = reqHeaders
47956	googleapi.Expand(req.URL, map[string]string{
47957		"profileId": strconv.FormatInt(c.profileId, 10),
47958	})
47959	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47960}
47961
47962// Do executes the "dfareporting.subaccounts.patch" call.
47963// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47964// status code is an error. Response headers are in either
47965// *Subaccount.ServerResponse.Header or (if a response was returned at
47966// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47967// to check whether the returned error was because
47968// http.StatusNotModified was returned.
47969func (c *SubaccountsPatchCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47970	gensupport.SetOptions(c.urlParams_, opts...)
47971	res, err := c.doRequest("json")
47972	if res != nil && res.StatusCode == http.StatusNotModified {
47973		if res.Body != nil {
47974			res.Body.Close()
47975		}
47976		return nil, &googleapi.Error{
47977			Code:   res.StatusCode,
47978			Header: res.Header,
47979		}
47980	}
47981	if err != nil {
47982		return nil, err
47983	}
47984	defer googleapi.CloseBody(res)
47985	if err := googleapi.CheckResponse(res); err != nil {
47986		return nil, err
47987	}
47988	ret := &Subaccount{
47989		ServerResponse: googleapi.ServerResponse{
47990			Header:         res.Header,
47991			HTTPStatusCode: res.StatusCode,
47992		},
47993	}
47994	target := &ret
47995	if err := gensupport.DecodeResponse(target, res); err != nil {
47996		return nil, err
47997	}
47998	return ret, nil
47999	// {
48000	//   "description": "Updates an existing subaccount. This method supports patch semantics.",
48001	//   "httpMethod": "PATCH",
48002	//   "id": "dfareporting.subaccounts.patch",
48003	//   "parameterOrder": [
48004	//     "profileId",
48005	//     "id"
48006	//   ],
48007	//   "parameters": {
48008	//     "id": {
48009	//       "description": "Subaccount ID.",
48010	//       "format": "int64",
48011	//       "location": "query",
48012	//       "required": true,
48013	//       "type": "string"
48014	//     },
48015	//     "profileId": {
48016	//       "description": "User profile ID associated with this request.",
48017	//       "format": "int64",
48018	//       "location": "path",
48019	//       "required": true,
48020	//       "type": "string"
48021	//     }
48022	//   },
48023	//   "path": "userprofiles/{profileId}/subaccounts",
48024	//   "request": {
48025	//     "$ref": "Subaccount"
48026	//   },
48027	//   "response": {
48028	//     "$ref": "Subaccount"
48029	//   },
48030	//   "scopes": [
48031	//     "https://www.googleapis.com/auth/dfatrafficking"
48032	//   ]
48033	// }
48034
48035}
48036
48037// method id "dfareporting.subaccounts.update":
48038
48039type SubaccountsUpdateCall struct {
48040	s          *Service
48041	profileId  int64
48042	subaccount *Subaccount
48043	urlParams_ gensupport.URLParams
48044	ctx_       context.Context
48045	header_    http.Header
48046}
48047
48048// Update: Updates an existing subaccount.
48049func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
48050	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48051	c.profileId = profileId
48052	c.subaccount = subaccount
48053	return c
48054}
48055
48056// Fields allows partial responses to be retrieved. See
48057// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48058// for more information.
48059func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
48060	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48061	return c
48062}
48063
48064// Context sets the context to be used in this call's Do method. Any
48065// pending HTTP request will be aborted if the provided context is
48066// canceled.
48067func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
48068	c.ctx_ = ctx
48069	return c
48070}
48071
48072// Header returns an http.Header that can be modified by the caller to
48073// add HTTP headers to the request.
48074func (c *SubaccountsUpdateCall) Header() http.Header {
48075	if c.header_ == nil {
48076		c.header_ = make(http.Header)
48077	}
48078	return c.header_
48079}
48080
48081func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
48082	reqHeaders := make(http.Header)
48083	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
48084	for k, v := range c.header_ {
48085		reqHeaders[k] = v
48086	}
48087	reqHeaders.Set("User-Agent", c.s.userAgent())
48088	var body io.Reader = nil
48089	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
48090	if err != nil {
48091		return nil, err
48092	}
48093	reqHeaders.Set("Content-Type", "application/json")
48094	c.urlParams_.Set("alt", alt)
48095	c.urlParams_.Set("prettyPrint", "false")
48096	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
48097	urls += "?" + c.urlParams_.Encode()
48098	req, err := http.NewRequest("PUT", urls, body)
48099	if err != nil {
48100		return nil, err
48101	}
48102	req.Header = reqHeaders
48103	googleapi.Expand(req.URL, map[string]string{
48104		"profileId": strconv.FormatInt(c.profileId, 10),
48105	})
48106	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48107}
48108
48109// Do executes the "dfareporting.subaccounts.update" call.
48110// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
48111// status code is an error. Response headers are in either
48112// *Subaccount.ServerResponse.Header or (if a response was returned at
48113// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
48114// to check whether the returned error was because
48115// http.StatusNotModified was returned.
48116func (c *SubaccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
48117	gensupport.SetOptions(c.urlParams_, opts...)
48118	res, err := c.doRequest("json")
48119	if res != nil && res.StatusCode == http.StatusNotModified {
48120		if res.Body != nil {
48121			res.Body.Close()
48122		}
48123		return nil, &googleapi.Error{
48124			Code:   res.StatusCode,
48125			Header: res.Header,
48126		}
48127	}
48128	if err != nil {
48129		return nil, err
48130	}
48131	defer googleapi.CloseBody(res)
48132	if err := googleapi.CheckResponse(res); err != nil {
48133		return nil, err
48134	}
48135	ret := &Subaccount{
48136		ServerResponse: googleapi.ServerResponse{
48137			Header:         res.Header,
48138			HTTPStatusCode: res.StatusCode,
48139		},
48140	}
48141	target := &ret
48142	if err := gensupport.DecodeResponse(target, res); err != nil {
48143		return nil, err
48144	}
48145	return ret, nil
48146	// {
48147	//   "description": "Updates an existing subaccount.",
48148	//   "httpMethod": "PUT",
48149	//   "id": "dfareporting.subaccounts.update",
48150	//   "parameterOrder": [
48151	//     "profileId"
48152	//   ],
48153	//   "parameters": {
48154	//     "profileId": {
48155	//       "description": "User profile ID associated with this request.",
48156	//       "format": "int64",
48157	//       "location": "path",
48158	//       "required": true,
48159	//       "type": "string"
48160	//     }
48161	//   },
48162	//   "path": "userprofiles/{profileId}/subaccounts",
48163	//   "request": {
48164	//     "$ref": "Subaccount"
48165	//   },
48166	//   "response": {
48167	//     "$ref": "Subaccount"
48168	//   },
48169	//   "scopes": [
48170	//     "https://www.googleapis.com/auth/dfatrafficking"
48171	//   ]
48172	// }
48173
48174}
48175
48176// method id "dfareporting.targetableRemarketingLists.get":
48177
48178type TargetableRemarketingListsGetCall struct {
48179	s            *Service
48180	profileId    int64
48181	id           int64
48182	urlParams_   gensupport.URLParams
48183	ifNoneMatch_ string
48184	ctx_         context.Context
48185	header_      http.Header
48186}
48187
48188// Get: Gets one remarketing list by ID.
48189func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
48190	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48191	c.profileId = profileId
48192	c.id = id
48193	return c
48194}
48195
48196// Fields allows partial responses to be retrieved. See
48197// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48198// for more information.
48199func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
48200	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48201	return c
48202}
48203
48204// IfNoneMatch sets the optional parameter which makes the operation
48205// fail if the object's ETag matches the given value. This is useful for
48206// getting updates only after the object has changed since the last
48207// request. Use googleapi.IsNotModified to check whether the response
48208// error from Do is the result of In-None-Match.
48209func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
48210	c.ifNoneMatch_ = entityTag
48211	return c
48212}
48213
48214// Context sets the context to be used in this call's Do method. Any
48215// pending HTTP request will be aborted if the provided context is
48216// canceled.
48217func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
48218	c.ctx_ = ctx
48219	return c
48220}
48221
48222// Header returns an http.Header that can be modified by the caller to
48223// add HTTP headers to the request.
48224func (c *TargetableRemarketingListsGetCall) Header() http.Header {
48225	if c.header_ == nil {
48226		c.header_ = make(http.Header)
48227	}
48228	return c.header_
48229}
48230
48231func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
48232	reqHeaders := make(http.Header)
48233	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
48234	for k, v := range c.header_ {
48235		reqHeaders[k] = v
48236	}
48237	reqHeaders.Set("User-Agent", c.s.userAgent())
48238	if c.ifNoneMatch_ != "" {
48239		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48240	}
48241	var body io.Reader = nil
48242	c.urlParams_.Set("alt", alt)
48243	c.urlParams_.Set("prettyPrint", "false")
48244	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
48245	urls += "?" + c.urlParams_.Encode()
48246	req, err := http.NewRequest("GET", urls, body)
48247	if err != nil {
48248		return nil, err
48249	}
48250	req.Header = reqHeaders
48251	googleapi.Expand(req.URL, map[string]string{
48252		"profileId": strconv.FormatInt(c.profileId, 10),
48253		"id":        strconv.FormatInt(c.id, 10),
48254	})
48255	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48256}
48257
48258// Do executes the "dfareporting.targetableRemarketingLists.get" call.
48259// Exactly one of *TargetableRemarketingList or error will be non-nil.
48260// Any non-2xx status code is an error. Response headers are in either
48261// *TargetableRemarketingList.ServerResponse.Header or (if a response
48262// was returned at all) in error.(*googleapi.Error).Header. Use
48263// googleapi.IsNotModified to check whether the returned error was
48264// because http.StatusNotModified was returned.
48265func (c *TargetableRemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingList, error) {
48266	gensupport.SetOptions(c.urlParams_, opts...)
48267	res, err := c.doRequest("json")
48268	if res != nil && res.StatusCode == http.StatusNotModified {
48269		if res.Body != nil {
48270			res.Body.Close()
48271		}
48272		return nil, &googleapi.Error{
48273			Code:   res.StatusCode,
48274			Header: res.Header,
48275		}
48276	}
48277	if err != nil {
48278		return nil, err
48279	}
48280	defer googleapi.CloseBody(res)
48281	if err := googleapi.CheckResponse(res); err != nil {
48282		return nil, err
48283	}
48284	ret := &TargetableRemarketingList{
48285		ServerResponse: googleapi.ServerResponse{
48286			Header:         res.Header,
48287			HTTPStatusCode: res.StatusCode,
48288		},
48289	}
48290	target := &ret
48291	if err := gensupport.DecodeResponse(target, res); err != nil {
48292		return nil, err
48293	}
48294	return ret, nil
48295	// {
48296	//   "description": "Gets one remarketing list by ID.",
48297	//   "httpMethod": "GET",
48298	//   "id": "dfareporting.targetableRemarketingLists.get",
48299	//   "parameterOrder": [
48300	//     "profileId",
48301	//     "id"
48302	//   ],
48303	//   "parameters": {
48304	//     "id": {
48305	//       "description": "Remarketing list ID.",
48306	//       "format": "int64",
48307	//       "location": "path",
48308	//       "required": true,
48309	//       "type": "string"
48310	//     },
48311	//     "profileId": {
48312	//       "description": "User profile ID associated with this request.",
48313	//       "format": "int64",
48314	//       "location": "path",
48315	//       "required": true,
48316	//       "type": "string"
48317	//     }
48318	//   },
48319	//   "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
48320	//   "response": {
48321	//     "$ref": "TargetableRemarketingList"
48322	//   },
48323	//   "scopes": [
48324	//     "https://www.googleapis.com/auth/dfatrafficking"
48325	//   ]
48326	// }
48327
48328}
48329
48330// method id "dfareporting.targetableRemarketingLists.list":
48331
48332type TargetableRemarketingListsListCall struct {
48333	s            *Service
48334	profileId    int64
48335	urlParams_   gensupport.URLParams
48336	ifNoneMatch_ string
48337	ctx_         context.Context
48338	header_      http.Header
48339}
48340
48341// List: Retrieves a list of targetable remarketing lists, possibly
48342// filtered. This method supports paging.
48343func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
48344	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48345	c.profileId = profileId
48346	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
48347	return c
48348}
48349
48350// Active sets the optional parameter "active": Select only active or
48351// only inactive targetable remarketing lists.
48352func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
48353	c.urlParams_.Set("active", fmt.Sprint(active))
48354	return c
48355}
48356
48357// MaxResults sets the optional parameter "maxResults": Maximum number
48358// of results to return.
48359func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
48360	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
48361	return c
48362}
48363
48364// Name sets the optional parameter "name": Allows searching for objects
48365// by name or ID. Wildcards (*) are allowed. For example, "remarketing
48366// list*2015" will return objects with names like "remarketing list June
48367// 2015", "remarketing list April 2015", or simply "remarketing list
48368// 2015". Most of the searches also add wildcards implicitly at the
48369// start and the end of the search string. For example, a search string
48370// of "remarketing list" will match objects with name "my remarketing
48371// list", "remarketing list 2015", or simply "remarketing list".
48372func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
48373	c.urlParams_.Set("name", name)
48374	return c
48375}
48376
48377// PageToken sets the optional parameter "pageToken": Value of the
48378// nextPageToken from the previous result page.
48379func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
48380	c.urlParams_.Set("pageToken", pageToken)
48381	return c
48382}
48383
48384// SortField sets the optional parameter "sortField": Field by which to
48385// sort the list.
48386//
48387// Possible values:
48388//   "ID" (default)
48389//   "NAME"
48390func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
48391	c.urlParams_.Set("sortField", sortField)
48392	return c
48393}
48394
48395// SortOrder sets the optional parameter "sortOrder": Order of sorted
48396// results.
48397//
48398// Possible values:
48399//   "ASCENDING" (default)
48400//   "DESCENDING"
48401func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
48402	c.urlParams_.Set("sortOrder", sortOrder)
48403	return c
48404}
48405
48406// Fields allows partial responses to be retrieved. See
48407// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48408// for more information.
48409func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
48410	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48411	return c
48412}
48413
48414// IfNoneMatch sets the optional parameter which makes the operation
48415// fail if the object's ETag matches the given value. This is useful for
48416// getting updates only after the object has changed since the last
48417// request. Use googleapi.IsNotModified to check whether the response
48418// error from Do is the result of In-None-Match.
48419func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
48420	c.ifNoneMatch_ = entityTag
48421	return c
48422}
48423
48424// Context sets the context to be used in this call's Do method. Any
48425// pending HTTP request will be aborted if the provided context is
48426// canceled.
48427func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
48428	c.ctx_ = ctx
48429	return c
48430}
48431
48432// Header returns an http.Header that can be modified by the caller to
48433// add HTTP headers to the request.
48434func (c *TargetableRemarketingListsListCall) Header() http.Header {
48435	if c.header_ == nil {
48436		c.header_ = make(http.Header)
48437	}
48438	return c.header_
48439}
48440
48441func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
48442	reqHeaders := make(http.Header)
48443	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
48444	for k, v := range c.header_ {
48445		reqHeaders[k] = v
48446	}
48447	reqHeaders.Set("User-Agent", c.s.userAgent())
48448	if c.ifNoneMatch_ != "" {
48449		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48450	}
48451	var body io.Reader = nil
48452	c.urlParams_.Set("alt", alt)
48453	c.urlParams_.Set("prettyPrint", "false")
48454	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
48455	urls += "?" + c.urlParams_.Encode()
48456	req, err := http.NewRequest("GET", urls, body)
48457	if err != nil {
48458		return nil, err
48459	}
48460	req.Header = reqHeaders
48461	googleapi.Expand(req.URL, map[string]string{
48462		"profileId": strconv.FormatInt(c.profileId, 10),
48463	})
48464	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48465}
48466
48467// Do executes the "dfareporting.targetableRemarketingLists.list" call.
48468// Exactly one of *TargetableRemarketingListsListResponse or error will
48469// be non-nil. Any non-2xx status code is an error. Response headers are
48470// in either
48471// *TargetableRemarketingListsListResponse.ServerResponse.Header or (if
48472// a response was returned at all) in error.(*googleapi.Error).Header.
48473// Use googleapi.IsNotModified to check whether the returned error was
48474// because http.StatusNotModified was returned.
48475func (c *TargetableRemarketingListsListCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingListsListResponse, error) {
48476	gensupport.SetOptions(c.urlParams_, opts...)
48477	res, err := c.doRequest("json")
48478	if res != nil && res.StatusCode == http.StatusNotModified {
48479		if res.Body != nil {
48480			res.Body.Close()
48481		}
48482		return nil, &googleapi.Error{
48483			Code:   res.StatusCode,
48484			Header: res.Header,
48485		}
48486	}
48487	if err != nil {
48488		return nil, err
48489	}
48490	defer googleapi.CloseBody(res)
48491	if err := googleapi.CheckResponse(res); err != nil {
48492		return nil, err
48493	}
48494	ret := &TargetableRemarketingListsListResponse{
48495		ServerResponse: googleapi.ServerResponse{
48496			Header:         res.Header,
48497			HTTPStatusCode: res.StatusCode,
48498		},
48499	}
48500	target := &ret
48501	if err := gensupport.DecodeResponse(target, res); err != nil {
48502		return nil, err
48503	}
48504	return ret, nil
48505	// {
48506	//   "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
48507	//   "httpMethod": "GET",
48508	//   "id": "dfareporting.targetableRemarketingLists.list",
48509	//   "parameterOrder": [
48510	//     "profileId",
48511	//     "advertiserId"
48512	//   ],
48513	//   "parameters": {
48514	//     "active": {
48515	//       "description": "Select only active or only inactive targetable remarketing lists.",
48516	//       "location": "query",
48517	//       "type": "boolean"
48518	//     },
48519	//     "advertiserId": {
48520	//       "description": "Select only targetable remarketing lists targetable by these advertisers.",
48521	//       "format": "int64",
48522	//       "location": "query",
48523	//       "required": true,
48524	//       "type": "string"
48525	//     },
48526	//     "maxResults": {
48527	//       "default": "1000",
48528	//       "description": "Maximum number of results to return.",
48529	//       "format": "int32",
48530	//       "location": "query",
48531	//       "maximum": "1000",
48532	//       "minimum": "0",
48533	//       "type": "integer"
48534	//     },
48535	//     "name": {
48536	//       "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\".",
48537	//       "location": "query",
48538	//       "type": "string"
48539	//     },
48540	//     "pageToken": {
48541	//       "description": "Value of the nextPageToken from the previous result page.",
48542	//       "location": "query",
48543	//       "type": "string"
48544	//     },
48545	//     "profileId": {
48546	//       "description": "User profile ID associated with this request.",
48547	//       "format": "int64",
48548	//       "location": "path",
48549	//       "required": true,
48550	//       "type": "string"
48551	//     },
48552	//     "sortField": {
48553	//       "default": "ID",
48554	//       "description": "Field by which to sort the list.",
48555	//       "enum": [
48556	//         "ID",
48557	//         "NAME"
48558	//       ],
48559	//       "enumDescriptions": [
48560	//         "",
48561	//         ""
48562	//       ],
48563	//       "location": "query",
48564	//       "type": "string"
48565	//     },
48566	//     "sortOrder": {
48567	//       "default": "ASCENDING",
48568	//       "description": "Order of sorted results.",
48569	//       "enum": [
48570	//         "ASCENDING",
48571	//         "DESCENDING"
48572	//       ],
48573	//       "enumDescriptions": [
48574	//         "",
48575	//         ""
48576	//       ],
48577	//       "location": "query",
48578	//       "type": "string"
48579	//     }
48580	//   },
48581	//   "path": "userprofiles/{profileId}/targetableRemarketingLists",
48582	//   "response": {
48583	//     "$ref": "TargetableRemarketingListsListResponse"
48584	//   },
48585	//   "scopes": [
48586	//     "https://www.googleapis.com/auth/dfatrafficking"
48587	//   ]
48588	// }
48589
48590}
48591
48592// Pages invokes f for each page of results.
48593// A non-nil error returned from f will halt the iteration.
48594// The provided context supersedes any context provided to the Context method.
48595func (c *TargetableRemarketingListsListCall) Pages(ctx context.Context, f func(*TargetableRemarketingListsListResponse) error) error {
48596	c.ctx_ = ctx
48597	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
48598	for {
48599		x, err := c.Do()
48600		if err != nil {
48601			return err
48602		}
48603		if err := f(x); err != nil {
48604			return err
48605		}
48606		if x.NextPageToken == "" {
48607			return nil
48608		}
48609		c.PageToken(x.NextPageToken)
48610	}
48611}
48612
48613// method id "dfareporting.targetingTemplates.get":
48614
48615type TargetingTemplatesGetCall struct {
48616	s            *Service
48617	profileId    int64
48618	id           int64
48619	urlParams_   gensupport.URLParams
48620	ifNoneMatch_ string
48621	ctx_         context.Context
48622	header_      http.Header
48623}
48624
48625// Get: Gets one targeting template by ID.
48626func (r *TargetingTemplatesService) Get(profileId int64, id int64) *TargetingTemplatesGetCall {
48627	c := &TargetingTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48628	c.profileId = profileId
48629	c.id = id
48630	return c
48631}
48632
48633// Fields allows partial responses to be retrieved. See
48634// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48635// for more information.
48636func (c *TargetingTemplatesGetCall) Fields(s ...googleapi.Field) *TargetingTemplatesGetCall {
48637	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48638	return c
48639}
48640
48641// IfNoneMatch sets the optional parameter which makes the operation
48642// fail if the object's ETag matches the given value. This is useful for
48643// getting updates only after the object has changed since the last
48644// request. Use googleapi.IsNotModified to check whether the response
48645// error from Do is the result of In-None-Match.
48646func (c *TargetingTemplatesGetCall) IfNoneMatch(entityTag string) *TargetingTemplatesGetCall {
48647	c.ifNoneMatch_ = entityTag
48648	return c
48649}
48650
48651// Context sets the context to be used in this call's Do method. Any
48652// pending HTTP request will be aborted if the provided context is
48653// canceled.
48654func (c *TargetingTemplatesGetCall) Context(ctx context.Context) *TargetingTemplatesGetCall {
48655	c.ctx_ = ctx
48656	return c
48657}
48658
48659// Header returns an http.Header that can be modified by the caller to
48660// add HTTP headers to the request.
48661func (c *TargetingTemplatesGetCall) Header() http.Header {
48662	if c.header_ == nil {
48663		c.header_ = make(http.Header)
48664	}
48665	return c.header_
48666}
48667
48668func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
48669	reqHeaders := make(http.Header)
48670	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
48671	for k, v := range c.header_ {
48672		reqHeaders[k] = v
48673	}
48674	reqHeaders.Set("User-Agent", c.s.userAgent())
48675	if c.ifNoneMatch_ != "" {
48676		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48677	}
48678	var body io.Reader = nil
48679	c.urlParams_.Set("alt", alt)
48680	c.urlParams_.Set("prettyPrint", "false")
48681	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates/{id}")
48682	urls += "?" + c.urlParams_.Encode()
48683	req, err := http.NewRequest("GET", urls, body)
48684	if err != nil {
48685		return nil, err
48686	}
48687	req.Header = reqHeaders
48688	googleapi.Expand(req.URL, map[string]string{
48689		"profileId": strconv.FormatInt(c.profileId, 10),
48690		"id":        strconv.FormatInt(c.id, 10),
48691	})
48692	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48693}
48694
48695// Do executes the "dfareporting.targetingTemplates.get" call.
48696// Exactly one of *TargetingTemplate or error will be non-nil. Any
48697// non-2xx status code is an error. Response headers are in either
48698// *TargetingTemplate.ServerResponse.Header or (if a response was
48699// returned at all) in error.(*googleapi.Error).Header. Use
48700// googleapi.IsNotModified to check whether the returned error was
48701// because http.StatusNotModified was returned.
48702func (c *TargetingTemplatesGetCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48703	gensupport.SetOptions(c.urlParams_, opts...)
48704	res, err := c.doRequest("json")
48705	if res != nil && res.StatusCode == http.StatusNotModified {
48706		if res.Body != nil {
48707			res.Body.Close()
48708		}
48709		return nil, &googleapi.Error{
48710			Code:   res.StatusCode,
48711			Header: res.Header,
48712		}
48713	}
48714	if err != nil {
48715		return nil, err
48716	}
48717	defer googleapi.CloseBody(res)
48718	if err := googleapi.CheckResponse(res); err != nil {
48719		return nil, err
48720	}
48721	ret := &TargetingTemplate{
48722		ServerResponse: googleapi.ServerResponse{
48723			Header:         res.Header,
48724			HTTPStatusCode: res.StatusCode,
48725		},
48726	}
48727	target := &ret
48728	if err := gensupport.DecodeResponse(target, res); err != nil {
48729		return nil, err
48730	}
48731	return ret, nil
48732	// {
48733	//   "description": "Gets one targeting template by ID.",
48734	//   "httpMethod": "GET",
48735	//   "id": "dfareporting.targetingTemplates.get",
48736	//   "parameterOrder": [
48737	//     "profileId",
48738	//     "id"
48739	//   ],
48740	//   "parameters": {
48741	//     "id": {
48742	//       "description": "Targeting template ID.",
48743	//       "format": "int64",
48744	//       "location": "path",
48745	//       "required": true,
48746	//       "type": "string"
48747	//     },
48748	//     "profileId": {
48749	//       "description": "User profile ID associated with this request.",
48750	//       "format": "int64",
48751	//       "location": "path",
48752	//       "required": true,
48753	//       "type": "string"
48754	//     }
48755	//   },
48756	//   "path": "userprofiles/{profileId}/targetingTemplates/{id}",
48757	//   "response": {
48758	//     "$ref": "TargetingTemplate"
48759	//   },
48760	//   "scopes": [
48761	//     "https://www.googleapis.com/auth/dfatrafficking"
48762	//   ]
48763	// }
48764
48765}
48766
48767// method id "dfareporting.targetingTemplates.insert":
48768
48769type TargetingTemplatesInsertCall struct {
48770	s                 *Service
48771	profileId         int64
48772	targetingtemplate *TargetingTemplate
48773	urlParams_        gensupport.URLParams
48774	ctx_              context.Context
48775	header_           http.Header
48776}
48777
48778// Insert: Inserts a new targeting template.
48779func (r *TargetingTemplatesService) Insert(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesInsertCall {
48780	c := &TargetingTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48781	c.profileId = profileId
48782	c.targetingtemplate = targetingtemplate
48783	return c
48784}
48785
48786// Fields allows partial responses to be retrieved. See
48787// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48788// for more information.
48789func (c *TargetingTemplatesInsertCall) Fields(s ...googleapi.Field) *TargetingTemplatesInsertCall {
48790	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48791	return c
48792}
48793
48794// Context sets the context to be used in this call's Do method. Any
48795// pending HTTP request will be aborted if the provided context is
48796// canceled.
48797func (c *TargetingTemplatesInsertCall) Context(ctx context.Context) *TargetingTemplatesInsertCall {
48798	c.ctx_ = ctx
48799	return c
48800}
48801
48802// Header returns an http.Header that can be modified by the caller to
48803// add HTTP headers to the request.
48804func (c *TargetingTemplatesInsertCall) Header() http.Header {
48805	if c.header_ == nil {
48806		c.header_ = make(http.Header)
48807	}
48808	return c.header_
48809}
48810
48811func (c *TargetingTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
48812	reqHeaders := make(http.Header)
48813	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
48814	for k, v := range c.header_ {
48815		reqHeaders[k] = v
48816	}
48817	reqHeaders.Set("User-Agent", c.s.userAgent())
48818	var body io.Reader = nil
48819	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
48820	if err != nil {
48821		return nil, err
48822	}
48823	reqHeaders.Set("Content-Type", "application/json")
48824	c.urlParams_.Set("alt", alt)
48825	c.urlParams_.Set("prettyPrint", "false")
48826	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48827	urls += "?" + c.urlParams_.Encode()
48828	req, err := http.NewRequest("POST", urls, body)
48829	if err != nil {
48830		return nil, err
48831	}
48832	req.Header = reqHeaders
48833	googleapi.Expand(req.URL, map[string]string{
48834		"profileId": strconv.FormatInt(c.profileId, 10),
48835	})
48836	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48837}
48838
48839// Do executes the "dfareporting.targetingTemplates.insert" call.
48840// Exactly one of *TargetingTemplate or error will be non-nil. Any
48841// non-2xx status code is an error. Response headers are in either
48842// *TargetingTemplate.ServerResponse.Header or (if a response was
48843// returned at all) in error.(*googleapi.Error).Header. Use
48844// googleapi.IsNotModified to check whether the returned error was
48845// because http.StatusNotModified was returned.
48846func (c *TargetingTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48847	gensupport.SetOptions(c.urlParams_, opts...)
48848	res, err := c.doRequest("json")
48849	if res != nil && res.StatusCode == http.StatusNotModified {
48850		if res.Body != nil {
48851			res.Body.Close()
48852		}
48853		return nil, &googleapi.Error{
48854			Code:   res.StatusCode,
48855			Header: res.Header,
48856		}
48857	}
48858	if err != nil {
48859		return nil, err
48860	}
48861	defer googleapi.CloseBody(res)
48862	if err := googleapi.CheckResponse(res); err != nil {
48863		return nil, err
48864	}
48865	ret := &TargetingTemplate{
48866		ServerResponse: googleapi.ServerResponse{
48867			Header:         res.Header,
48868			HTTPStatusCode: res.StatusCode,
48869		},
48870	}
48871	target := &ret
48872	if err := gensupport.DecodeResponse(target, res); err != nil {
48873		return nil, err
48874	}
48875	return ret, nil
48876	// {
48877	//   "description": "Inserts a new targeting template.",
48878	//   "httpMethod": "POST",
48879	//   "id": "dfareporting.targetingTemplates.insert",
48880	//   "parameterOrder": [
48881	//     "profileId"
48882	//   ],
48883	//   "parameters": {
48884	//     "profileId": {
48885	//       "description": "User profile ID associated with this request.",
48886	//       "format": "int64",
48887	//       "location": "path",
48888	//       "required": true,
48889	//       "type": "string"
48890	//     }
48891	//   },
48892	//   "path": "userprofiles/{profileId}/targetingTemplates",
48893	//   "request": {
48894	//     "$ref": "TargetingTemplate"
48895	//   },
48896	//   "response": {
48897	//     "$ref": "TargetingTemplate"
48898	//   },
48899	//   "scopes": [
48900	//     "https://www.googleapis.com/auth/dfatrafficking"
48901	//   ]
48902	// }
48903
48904}
48905
48906// method id "dfareporting.targetingTemplates.list":
48907
48908type TargetingTemplatesListCall struct {
48909	s            *Service
48910	profileId    int64
48911	urlParams_   gensupport.URLParams
48912	ifNoneMatch_ string
48913	ctx_         context.Context
48914	header_      http.Header
48915}
48916
48917// List: Retrieves a list of targeting templates, optionally filtered.
48918// This method supports paging.
48919func (r *TargetingTemplatesService) List(profileId int64) *TargetingTemplatesListCall {
48920	c := &TargetingTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48921	c.profileId = profileId
48922	return c
48923}
48924
48925// AdvertiserId sets the optional parameter "advertiserId": Select only
48926// targeting templates with this advertiser ID.
48927func (c *TargetingTemplatesListCall) AdvertiserId(advertiserId int64) *TargetingTemplatesListCall {
48928	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
48929	return c
48930}
48931
48932// Ids sets the optional parameter "ids": Select only targeting
48933// templates with these IDs.
48934func (c *TargetingTemplatesListCall) Ids(ids ...int64) *TargetingTemplatesListCall {
48935	var ids_ []string
48936	for _, v := range ids {
48937		ids_ = append(ids_, fmt.Sprint(v))
48938	}
48939	c.urlParams_.SetMulti("ids", ids_)
48940	return c
48941}
48942
48943// MaxResults sets the optional parameter "maxResults": Maximum number
48944// of results to return.
48945func (c *TargetingTemplatesListCall) MaxResults(maxResults int64) *TargetingTemplatesListCall {
48946	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
48947	return c
48948}
48949
48950// PageToken sets the optional parameter "pageToken": Value of the
48951// nextPageToken from the previous result page.
48952func (c *TargetingTemplatesListCall) PageToken(pageToken string) *TargetingTemplatesListCall {
48953	c.urlParams_.Set("pageToken", pageToken)
48954	return c
48955}
48956
48957// SearchString sets the optional parameter "searchString": Allows
48958// searching for objects by name or ID. Wildcards (*) are allowed. For
48959// example, "template*2015" will return objects with names like
48960// "template June 2015", "template April 2015", or simply "template
48961// 2015". Most of the searches also add wildcards implicitly at the
48962// start and the end of the search string. For example, a search string
48963// of "template" will match objects with name "my template", "template
48964// 2015", or simply "template".
48965func (c *TargetingTemplatesListCall) SearchString(searchString string) *TargetingTemplatesListCall {
48966	c.urlParams_.Set("searchString", searchString)
48967	return c
48968}
48969
48970// SortField sets the optional parameter "sortField": Field by which to
48971// sort the list.
48972//
48973// Possible values:
48974//   "ID" (default)
48975//   "NAME"
48976func (c *TargetingTemplatesListCall) SortField(sortField string) *TargetingTemplatesListCall {
48977	c.urlParams_.Set("sortField", sortField)
48978	return c
48979}
48980
48981// SortOrder sets the optional parameter "sortOrder": Order of sorted
48982// results.
48983//
48984// Possible values:
48985//   "ASCENDING" (default)
48986//   "DESCENDING"
48987func (c *TargetingTemplatesListCall) SortOrder(sortOrder string) *TargetingTemplatesListCall {
48988	c.urlParams_.Set("sortOrder", sortOrder)
48989	return c
48990}
48991
48992// Fields allows partial responses to be retrieved. See
48993// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48994// for more information.
48995func (c *TargetingTemplatesListCall) Fields(s ...googleapi.Field) *TargetingTemplatesListCall {
48996	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48997	return c
48998}
48999
49000// IfNoneMatch sets the optional parameter which makes the operation
49001// fail if the object's ETag matches the given value. This is useful for
49002// getting updates only after the object has changed since the last
49003// request. Use googleapi.IsNotModified to check whether the response
49004// error from Do is the result of In-None-Match.
49005func (c *TargetingTemplatesListCall) IfNoneMatch(entityTag string) *TargetingTemplatesListCall {
49006	c.ifNoneMatch_ = entityTag
49007	return c
49008}
49009
49010// Context sets the context to be used in this call's Do method. Any
49011// pending HTTP request will be aborted if the provided context is
49012// canceled.
49013func (c *TargetingTemplatesListCall) Context(ctx context.Context) *TargetingTemplatesListCall {
49014	c.ctx_ = ctx
49015	return c
49016}
49017
49018// Header returns an http.Header that can be modified by the caller to
49019// add HTTP headers to the request.
49020func (c *TargetingTemplatesListCall) Header() http.Header {
49021	if c.header_ == nil {
49022		c.header_ = make(http.Header)
49023	}
49024	return c.header_
49025}
49026
49027func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
49028	reqHeaders := make(http.Header)
49029	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
49030	for k, v := range c.header_ {
49031		reqHeaders[k] = v
49032	}
49033	reqHeaders.Set("User-Agent", c.s.userAgent())
49034	if c.ifNoneMatch_ != "" {
49035		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49036	}
49037	var body io.Reader = nil
49038	c.urlParams_.Set("alt", alt)
49039	c.urlParams_.Set("prettyPrint", "false")
49040	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
49041	urls += "?" + c.urlParams_.Encode()
49042	req, err := http.NewRequest("GET", urls, body)
49043	if err != nil {
49044		return nil, err
49045	}
49046	req.Header = reqHeaders
49047	googleapi.Expand(req.URL, map[string]string{
49048		"profileId": strconv.FormatInt(c.profileId, 10),
49049	})
49050	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49051}
49052
49053// Do executes the "dfareporting.targetingTemplates.list" call.
49054// Exactly one of *TargetingTemplatesListResponse or error will be
49055// non-nil. Any non-2xx status code is an error. Response headers are in
49056// either *TargetingTemplatesListResponse.ServerResponse.Header or (if a
49057// response was returned at all) in error.(*googleapi.Error).Header. Use
49058// googleapi.IsNotModified to check whether the returned error was
49059// because http.StatusNotModified was returned.
49060func (c *TargetingTemplatesListCall) Do(opts ...googleapi.CallOption) (*TargetingTemplatesListResponse, error) {
49061	gensupport.SetOptions(c.urlParams_, opts...)
49062	res, err := c.doRequest("json")
49063	if res != nil && res.StatusCode == http.StatusNotModified {
49064		if res.Body != nil {
49065			res.Body.Close()
49066		}
49067		return nil, &googleapi.Error{
49068			Code:   res.StatusCode,
49069			Header: res.Header,
49070		}
49071	}
49072	if err != nil {
49073		return nil, err
49074	}
49075	defer googleapi.CloseBody(res)
49076	if err := googleapi.CheckResponse(res); err != nil {
49077		return nil, err
49078	}
49079	ret := &TargetingTemplatesListResponse{
49080		ServerResponse: googleapi.ServerResponse{
49081			Header:         res.Header,
49082			HTTPStatusCode: res.StatusCode,
49083		},
49084	}
49085	target := &ret
49086	if err := gensupport.DecodeResponse(target, res); err != nil {
49087		return nil, err
49088	}
49089	return ret, nil
49090	// {
49091	//   "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
49092	//   "httpMethod": "GET",
49093	//   "id": "dfareporting.targetingTemplates.list",
49094	//   "parameterOrder": [
49095	//     "profileId"
49096	//   ],
49097	//   "parameters": {
49098	//     "advertiserId": {
49099	//       "description": "Select only targeting templates with this advertiser ID.",
49100	//       "format": "int64",
49101	//       "location": "query",
49102	//       "type": "string"
49103	//     },
49104	//     "ids": {
49105	//       "description": "Select only targeting templates with these IDs.",
49106	//       "format": "int64",
49107	//       "location": "query",
49108	//       "repeated": true,
49109	//       "type": "string"
49110	//     },
49111	//     "maxResults": {
49112	//       "default": "1000",
49113	//       "description": "Maximum number of results to return.",
49114	//       "format": "int32",
49115	//       "location": "query",
49116	//       "maximum": "1000",
49117	//       "minimum": "0",
49118	//       "type": "integer"
49119	//     },
49120	//     "pageToken": {
49121	//       "description": "Value of the nextPageToken from the previous result page.",
49122	//       "location": "query",
49123	//       "type": "string"
49124	//     },
49125	//     "profileId": {
49126	//       "description": "User profile ID associated with this request.",
49127	//       "format": "int64",
49128	//       "location": "path",
49129	//       "required": true,
49130	//       "type": "string"
49131	//     },
49132	//     "searchString": {
49133	//       "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\".",
49134	//       "location": "query",
49135	//       "type": "string"
49136	//     },
49137	//     "sortField": {
49138	//       "default": "ID",
49139	//       "description": "Field by which to sort the list.",
49140	//       "enum": [
49141	//         "ID",
49142	//         "NAME"
49143	//       ],
49144	//       "enumDescriptions": [
49145	//         "",
49146	//         ""
49147	//       ],
49148	//       "location": "query",
49149	//       "type": "string"
49150	//     },
49151	//     "sortOrder": {
49152	//       "default": "ASCENDING",
49153	//       "description": "Order of sorted results.",
49154	//       "enum": [
49155	//         "ASCENDING",
49156	//         "DESCENDING"
49157	//       ],
49158	//       "enumDescriptions": [
49159	//         "",
49160	//         ""
49161	//       ],
49162	//       "location": "query",
49163	//       "type": "string"
49164	//     }
49165	//   },
49166	//   "path": "userprofiles/{profileId}/targetingTemplates",
49167	//   "response": {
49168	//     "$ref": "TargetingTemplatesListResponse"
49169	//   },
49170	//   "scopes": [
49171	//     "https://www.googleapis.com/auth/dfatrafficking"
49172	//   ]
49173	// }
49174
49175}
49176
49177// Pages invokes f for each page of results.
49178// A non-nil error returned from f will halt the iteration.
49179// The provided context supersedes any context provided to the Context method.
49180func (c *TargetingTemplatesListCall) Pages(ctx context.Context, f func(*TargetingTemplatesListResponse) error) error {
49181	c.ctx_ = ctx
49182	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
49183	for {
49184		x, err := c.Do()
49185		if err != nil {
49186			return err
49187		}
49188		if err := f(x); err != nil {
49189			return err
49190		}
49191		if x.NextPageToken == "" {
49192			return nil
49193		}
49194		c.PageToken(x.NextPageToken)
49195	}
49196}
49197
49198// method id "dfareporting.targetingTemplates.patch":
49199
49200type TargetingTemplatesPatchCall struct {
49201	s                 *Service
49202	profileId         int64
49203	targetingtemplate *TargetingTemplate
49204	urlParams_        gensupport.URLParams
49205	ctx_              context.Context
49206	header_           http.Header
49207}
49208
49209// Patch: Updates an existing targeting template. This method supports
49210// patch semantics.
49211func (r *TargetingTemplatesService) Patch(profileId int64, id int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
49212	c := &TargetingTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49213	c.profileId = profileId
49214	c.urlParams_.Set("id", fmt.Sprint(id))
49215	c.targetingtemplate = targetingtemplate
49216	return c
49217}
49218
49219// Fields allows partial responses to be retrieved. See
49220// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49221// for more information.
49222func (c *TargetingTemplatesPatchCall) Fields(s ...googleapi.Field) *TargetingTemplatesPatchCall {
49223	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49224	return c
49225}
49226
49227// Context sets the context to be used in this call's Do method. Any
49228// pending HTTP request will be aborted if the provided context is
49229// canceled.
49230func (c *TargetingTemplatesPatchCall) Context(ctx context.Context) *TargetingTemplatesPatchCall {
49231	c.ctx_ = ctx
49232	return c
49233}
49234
49235// Header returns an http.Header that can be modified by the caller to
49236// add HTTP headers to the request.
49237func (c *TargetingTemplatesPatchCall) Header() http.Header {
49238	if c.header_ == nil {
49239		c.header_ = make(http.Header)
49240	}
49241	return c.header_
49242}
49243
49244func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
49245	reqHeaders := make(http.Header)
49246	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
49247	for k, v := range c.header_ {
49248		reqHeaders[k] = v
49249	}
49250	reqHeaders.Set("User-Agent", c.s.userAgent())
49251	var body io.Reader = nil
49252	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
49253	if err != nil {
49254		return nil, err
49255	}
49256	reqHeaders.Set("Content-Type", "application/json")
49257	c.urlParams_.Set("alt", alt)
49258	c.urlParams_.Set("prettyPrint", "false")
49259	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
49260	urls += "?" + c.urlParams_.Encode()
49261	req, err := http.NewRequest("PATCH", urls, body)
49262	if err != nil {
49263		return nil, err
49264	}
49265	req.Header = reqHeaders
49266	googleapi.Expand(req.URL, map[string]string{
49267		"profileId": strconv.FormatInt(c.profileId, 10),
49268	})
49269	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49270}
49271
49272// Do executes the "dfareporting.targetingTemplates.patch" call.
49273// Exactly one of *TargetingTemplate or error will be non-nil. Any
49274// non-2xx status code is an error. Response headers are in either
49275// *TargetingTemplate.ServerResponse.Header or (if a response was
49276// returned at all) in error.(*googleapi.Error).Header. Use
49277// googleapi.IsNotModified to check whether the returned error was
49278// because http.StatusNotModified was returned.
49279func (c *TargetingTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
49280	gensupport.SetOptions(c.urlParams_, opts...)
49281	res, err := c.doRequest("json")
49282	if res != nil && res.StatusCode == http.StatusNotModified {
49283		if res.Body != nil {
49284			res.Body.Close()
49285		}
49286		return nil, &googleapi.Error{
49287			Code:   res.StatusCode,
49288			Header: res.Header,
49289		}
49290	}
49291	if err != nil {
49292		return nil, err
49293	}
49294	defer googleapi.CloseBody(res)
49295	if err := googleapi.CheckResponse(res); err != nil {
49296		return nil, err
49297	}
49298	ret := &TargetingTemplate{
49299		ServerResponse: googleapi.ServerResponse{
49300			Header:         res.Header,
49301			HTTPStatusCode: res.StatusCode,
49302		},
49303	}
49304	target := &ret
49305	if err := gensupport.DecodeResponse(target, res); err != nil {
49306		return nil, err
49307	}
49308	return ret, nil
49309	// {
49310	//   "description": "Updates an existing targeting template. This method supports patch semantics.",
49311	//   "httpMethod": "PATCH",
49312	//   "id": "dfareporting.targetingTemplates.patch",
49313	//   "parameterOrder": [
49314	//     "profileId",
49315	//     "id"
49316	//   ],
49317	//   "parameters": {
49318	//     "id": {
49319	//       "description": "Targeting template ID.",
49320	//       "format": "int64",
49321	//       "location": "query",
49322	//       "required": true,
49323	//       "type": "string"
49324	//     },
49325	//     "profileId": {
49326	//       "description": "User profile ID associated with this request.",
49327	//       "format": "int64",
49328	//       "location": "path",
49329	//       "required": true,
49330	//       "type": "string"
49331	//     }
49332	//   },
49333	//   "path": "userprofiles/{profileId}/targetingTemplates",
49334	//   "request": {
49335	//     "$ref": "TargetingTemplate"
49336	//   },
49337	//   "response": {
49338	//     "$ref": "TargetingTemplate"
49339	//   },
49340	//   "scopes": [
49341	//     "https://www.googleapis.com/auth/dfatrafficking"
49342	//   ]
49343	// }
49344
49345}
49346
49347// method id "dfareporting.targetingTemplates.update":
49348
49349type TargetingTemplatesUpdateCall struct {
49350	s                 *Service
49351	profileId         int64
49352	targetingtemplate *TargetingTemplate
49353	urlParams_        gensupport.URLParams
49354	ctx_              context.Context
49355	header_           http.Header
49356}
49357
49358// Update: Updates an existing targeting template.
49359func (r *TargetingTemplatesService) Update(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesUpdateCall {
49360	c := &TargetingTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49361	c.profileId = profileId
49362	c.targetingtemplate = targetingtemplate
49363	return c
49364}
49365
49366// Fields allows partial responses to be retrieved. See
49367// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49368// for more information.
49369func (c *TargetingTemplatesUpdateCall) Fields(s ...googleapi.Field) *TargetingTemplatesUpdateCall {
49370	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49371	return c
49372}
49373
49374// Context sets the context to be used in this call's Do method. Any
49375// pending HTTP request will be aborted if the provided context is
49376// canceled.
49377func (c *TargetingTemplatesUpdateCall) Context(ctx context.Context) *TargetingTemplatesUpdateCall {
49378	c.ctx_ = ctx
49379	return c
49380}
49381
49382// Header returns an http.Header that can be modified by the caller to
49383// add HTTP headers to the request.
49384func (c *TargetingTemplatesUpdateCall) Header() http.Header {
49385	if c.header_ == nil {
49386		c.header_ = make(http.Header)
49387	}
49388	return c.header_
49389}
49390
49391func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
49392	reqHeaders := make(http.Header)
49393	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
49394	for k, v := range c.header_ {
49395		reqHeaders[k] = v
49396	}
49397	reqHeaders.Set("User-Agent", c.s.userAgent())
49398	var body io.Reader = nil
49399	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
49400	if err != nil {
49401		return nil, err
49402	}
49403	reqHeaders.Set("Content-Type", "application/json")
49404	c.urlParams_.Set("alt", alt)
49405	c.urlParams_.Set("prettyPrint", "false")
49406	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
49407	urls += "?" + c.urlParams_.Encode()
49408	req, err := http.NewRequest("PUT", urls, body)
49409	if err != nil {
49410		return nil, err
49411	}
49412	req.Header = reqHeaders
49413	googleapi.Expand(req.URL, map[string]string{
49414		"profileId": strconv.FormatInt(c.profileId, 10),
49415	})
49416	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49417}
49418
49419// Do executes the "dfareporting.targetingTemplates.update" call.
49420// Exactly one of *TargetingTemplate or error will be non-nil. Any
49421// non-2xx status code is an error. Response headers are in either
49422// *TargetingTemplate.ServerResponse.Header or (if a response was
49423// returned at all) in error.(*googleapi.Error).Header. Use
49424// googleapi.IsNotModified to check whether the returned error was
49425// because http.StatusNotModified was returned.
49426func (c *TargetingTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
49427	gensupport.SetOptions(c.urlParams_, opts...)
49428	res, err := c.doRequest("json")
49429	if res != nil && res.StatusCode == http.StatusNotModified {
49430		if res.Body != nil {
49431			res.Body.Close()
49432		}
49433		return nil, &googleapi.Error{
49434			Code:   res.StatusCode,
49435			Header: res.Header,
49436		}
49437	}
49438	if err != nil {
49439		return nil, err
49440	}
49441	defer googleapi.CloseBody(res)
49442	if err := googleapi.CheckResponse(res); err != nil {
49443		return nil, err
49444	}
49445	ret := &TargetingTemplate{
49446		ServerResponse: googleapi.ServerResponse{
49447			Header:         res.Header,
49448			HTTPStatusCode: res.StatusCode,
49449		},
49450	}
49451	target := &ret
49452	if err := gensupport.DecodeResponse(target, res); err != nil {
49453		return nil, err
49454	}
49455	return ret, nil
49456	// {
49457	//   "description": "Updates an existing targeting template.",
49458	//   "httpMethod": "PUT",
49459	//   "id": "dfareporting.targetingTemplates.update",
49460	//   "parameterOrder": [
49461	//     "profileId"
49462	//   ],
49463	//   "parameters": {
49464	//     "profileId": {
49465	//       "description": "User profile ID associated with this request.",
49466	//       "format": "int64",
49467	//       "location": "path",
49468	//       "required": true,
49469	//       "type": "string"
49470	//     }
49471	//   },
49472	//   "path": "userprofiles/{profileId}/targetingTemplates",
49473	//   "request": {
49474	//     "$ref": "TargetingTemplate"
49475	//   },
49476	//   "response": {
49477	//     "$ref": "TargetingTemplate"
49478	//   },
49479	//   "scopes": [
49480	//     "https://www.googleapis.com/auth/dfatrafficking"
49481	//   ]
49482	// }
49483
49484}
49485
49486// method id "dfareporting.userProfiles.get":
49487
49488type UserProfilesGetCall struct {
49489	s            *Service
49490	profileId    int64
49491	urlParams_   gensupport.URLParams
49492	ifNoneMatch_ string
49493	ctx_         context.Context
49494	header_      http.Header
49495}
49496
49497// Get: Gets one user profile by ID.
49498func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
49499	c := &UserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49500	c.profileId = profileId
49501	return c
49502}
49503
49504// Fields allows partial responses to be retrieved. See
49505// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49506// for more information.
49507func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
49508	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49509	return c
49510}
49511
49512// IfNoneMatch sets the optional parameter which makes the operation
49513// fail if the object's ETag matches the given value. This is useful for
49514// getting updates only after the object has changed since the last
49515// request. Use googleapi.IsNotModified to check whether the response
49516// error from Do is the result of In-None-Match.
49517func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
49518	c.ifNoneMatch_ = entityTag
49519	return c
49520}
49521
49522// Context sets the context to be used in this call's Do method. Any
49523// pending HTTP request will be aborted if the provided context is
49524// canceled.
49525func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
49526	c.ctx_ = ctx
49527	return c
49528}
49529
49530// Header returns an http.Header that can be modified by the caller to
49531// add HTTP headers to the request.
49532func (c *UserProfilesGetCall) Header() http.Header {
49533	if c.header_ == nil {
49534		c.header_ = make(http.Header)
49535	}
49536	return c.header_
49537}
49538
49539func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
49540	reqHeaders := make(http.Header)
49541	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
49542	for k, v := range c.header_ {
49543		reqHeaders[k] = v
49544	}
49545	reqHeaders.Set("User-Agent", c.s.userAgent())
49546	if c.ifNoneMatch_ != "" {
49547		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49548	}
49549	var body io.Reader = nil
49550	c.urlParams_.Set("alt", alt)
49551	c.urlParams_.Set("prettyPrint", "false")
49552	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
49553	urls += "?" + c.urlParams_.Encode()
49554	req, err := http.NewRequest("GET", urls, body)
49555	if err != nil {
49556		return nil, err
49557	}
49558	req.Header = reqHeaders
49559	googleapi.Expand(req.URL, map[string]string{
49560		"profileId": strconv.FormatInt(c.profileId, 10),
49561	})
49562	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49563}
49564
49565// Do executes the "dfareporting.userProfiles.get" call.
49566// Exactly one of *UserProfile or error will be non-nil. Any non-2xx
49567// status code is an error. Response headers are in either
49568// *UserProfile.ServerResponse.Header or (if a response was returned at
49569// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
49570// to check whether the returned error was because
49571// http.StatusNotModified was returned.
49572func (c *UserProfilesGetCall) Do(opts ...googleapi.CallOption) (*UserProfile, error) {
49573	gensupport.SetOptions(c.urlParams_, opts...)
49574	res, err := c.doRequest("json")
49575	if res != nil && res.StatusCode == http.StatusNotModified {
49576		if res.Body != nil {
49577			res.Body.Close()
49578		}
49579		return nil, &googleapi.Error{
49580			Code:   res.StatusCode,
49581			Header: res.Header,
49582		}
49583	}
49584	if err != nil {
49585		return nil, err
49586	}
49587	defer googleapi.CloseBody(res)
49588	if err := googleapi.CheckResponse(res); err != nil {
49589		return nil, err
49590	}
49591	ret := &UserProfile{
49592		ServerResponse: googleapi.ServerResponse{
49593			Header:         res.Header,
49594			HTTPStatusCode: res.StatusCode,
49595		},
49596	}
49597	target := &ret
49598	if err := gensupport.DecodeResponse(target, res); err != nil {
49599		return nil, err
49600	}
49601	return ret, nil
49602	// {
49603	//   "description": "Gets one user profile by ID.",
49604	//   "httpMethod": "GET",
49605	//   "id": "dfareporting.userProfiles.get",
49606	//   "parameterOrder": [
49607	//     "profileId"
49608	//   ],
49609	//   "parameters": {
49610	//     "profileId": {
49611	//       "description": "The user profile ID.",
49612	//       "format": "int64",
49613	//       "location": "path",
49614	//       "required": true,
49615	//       "type": "string"
49616	//     }
49617	//   },
49618	//   "path": "userprofiles/{profileId}",
49619	//   "response": {
49620	//     "$ref": "UserProfile"
49621	//   },
49622	//   "scopes": [
49623	//     "https://www.googleapis.com/auth/dfareporting",
49624	//     "https://www.googleapis.com/auth/dfatrafficking"
49625	//   ]
49626	// }
49627
49628}
49629
49630// method id "dfareporting.userProfiles.list":
49631
49632type UserProfilesListCall struct {
49633	s            *Service
49634	urlParams_   gensupport.URLParams
49635	ifNoneMatch_ string
49636	ctx_         context.Context
49637	header_      http.Header
49638}
49639
49640// List: Retrieves list of user profiles for a user.
49641func (r *UserProfilesService) List() *UserProfilesListCall {
49642	c := &UserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49643	return c
49644}
49645
49646// Fields allows partial responses to be retrieved. See
49647// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49648// for more information.
49649func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
49650	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49651	return c
49652}
49653
49654// IfNoneMatch sets the optional parameter which makes the operation
49655// fail if the object's ETag matches the given value. This is useful for
49656// getting updates only after the object has changed since the last
49657// request. Use googleapi.IsNotModified to check whether the response
49658// error from Do is the result of In-None-Match.
49659func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
49660	c.ifNoneMatch_ = entityTag
49661	return c
49662}
49663
49664// Context sets the context to be used in this call's Do method. Any
49665// pending HTTP request will be aborted if the provided context is
49666// canceled.
49667func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
49668	c.ctx_ = ctx
49669	return c
49670}
49671
49672// Header returns an http.Header that can be modified by the caller to
49673// add HTTP headers to the request.
49674func (c *UserProfilesListCall) Header() http.Header {
49675	if c.header_ == nil {
49676		c.header_ = make(http.Header)
49677	}
49678	return c.header_
49679}
49680
49681func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
49682	reqHeaders := make(http.Header)
49683	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
49684	for k, v := range c.header_ {
49685		reqHeaders[k] = v
49686	}
49687	reqHeaders.Set("User-Agent", c.s.userAgent())
49688	if c.ifNoneMatch_ != "" {
49689		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49690	}
49691	var body io.Reader = nil
49692	c.urlParams_.Set("alt", alt)
49693	c.urlParams_.Set("prettyPrint", "false")
49694	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
49695	urls += "?" + c.urlParams_.Encode()
49696	req, err := http.NewRequest("GET", urls, body)
49697	if err != nil {
49698		return nil, err
49699	}
49700	req.Header = reqHeaders
49701	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49702}
49703
49704// Do executes the "dfareporting.userProfiles.list" call.
49705// Exactly one of *UserProfileList or error will be non-nil. Any non-2xx
49706// status code is an error. Response headers are in either
49707// *UserProfileList.ServerResponse.Header or (if a response was returned
49708// at all) in error.(*googleapi.Error).Header. Use
49709// googleapi.IsNotModified to check whether the returned error was
49710// because http.StatusNotModified was returned.
49711func (c *UserProfilesListCall) Do(opts ...googleapi.CallOption) (*UserProfileList, error) {
49712	gensupport.SetOptions(c.urlParams_, opts...)
49713	res, err := c.doRequest("json")
49714	if res != nil && res.StatusCode == http.StatusNotModified {
49715		if res.Body != nil {
49716			res.Body.Close()
49717		}
49718		return nil, &googleapi.Error{
49719			Code:   res.StatusCode,
49720			Header: res.Header,
49721		}
49722	}
49723	if err != nil {
49724		return nil, err
49725	}
49726	defer googleapi.CloseBody(res)
49727	if err := googleapi.CheckResponse(res); err != nil {
49728		return nil, err
49729	}
49730	ret := &UserProfileList{
49731		ServerResponse: googleapi.ServerResponse{
49732			Header:         res.Header,
49733			HTTPStatusCode: res.StatusCode,
49734		},
49735	}
49736	target := &ret
49737	if err := gensupport.DecodeResponse(target, res); err != nil {
49738		return nil, err
49739	}
49740	return ret, nil
49741	// {
49742	//   "description": "Retrieves list of user profiles for a user.",
49743	//   "httpMethod": "GET",
49744	//   "id": "dfareporting.userProfiles.list",
49745	//   "path": "userprofiles",
49746	//   "response": {
49747	//     "$ref": "UserProfileList"
49748	//   },
49749	//   "scopes": [
49750	//     "https://www.googleapis.com/auth/dfareporting",
49751	//     "https://www.googleapis.com/auth/dfatrafficking"
49752	//   ]
49753	// }
49754
49755}
49756
49757// method id "dfareporting.userRolePermissionGroups.get":
49758
49759type UserRolePermissionGroupsGetCall struct {
49760	s            *Service
49761	profileId    int64
49762	id           int64
49763	urlParams_   gensupport.URLParams
49764	ifNoneMatch_ string
49765	ctx_         context.Context
49766	header_      http.Header
49767}
49768
49769// Get: Gets one user role permission group by ID.
49770func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
49771	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49772	c.profileId = profileId
49773	c.id = id
49774	return c
49775}
49776
49777// Fields allows partial responses to be retrieved. See
49778// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49779// for more information.
49780func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
49781	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49782	return c
49783}
49784
49785// IfNoneMatch sets the optional parameter which makes the operation
49786// fail if the object's ETag matches the given value. This is useful for
49787// getting updates only after the object has changed since the last
49788// request. Use googleapi.IsNotModified to check whether the response
49789// error from Do is the result of In-None-Match.
49790func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
49791	c.ifNoneMatch_ = entityTag
49792	return c
49793}
49794
49795// Context sets the context to be used in this call's Do method. Any
49796// pending HTTP request will be aborted if the provided context is
49797// canceled.
49798func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
49799	c.ctx_ = ctx
49800	return c
49801}
49802
49803// Header returns an http.Header that can be modified by the caller to
49804// add HTTP headers to the request.
49805func (c *UserRolePermissionGroupsGetCall) Header() http.Header {
49806	if c.header_ == nil {
49807		c.header_ = make(http.Header)
49808	}
49809	return c.header_
49810}
49811
49812func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
49813	reqHeaders := make(http.Header)
49814	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
49815	for k, v := range c.header_ {
49816		reqHeaders[k] = v
49817	}
49818	reqHeaders.Set("User-Agent", c.s.userAgent())
49819	if c.ifNoneMatch_ != "" {
49820		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49821	}
49822	var body io.Reader = nil
49823	c.urlParams_.Set("alt", alt)
49824	c.urlParams_.Set("prettyPrint", "false")
49825	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
49826	urls += "?" + c.urlParams_.Encode()
49827	req, err := http.NewRequest("GET", urls, body)
49828	if err != nil {
49829		return nil, err
49830	}
49831	req.Header = reqHeaders
49832	googleapi.Expand(req.URL, map[string]string{
49833		"profileId": strconv.FormatInt(c.profileId, 10),
49834		"id":        strconv.FormatInt(c.id, 10),
49835	})
49836	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49837}
49838
49839// Do executes the "dfareporting.userRolePermissionGroups.get" call.
49840// Exactly one of *UserRolePermissionGroup or error will be non-nil. Any
49841// non-2xx status code is an error. Response headers are in either
49842// *UserRolePermissionGroup.ServerResponse.Header or (if a response was
49843// returned at all) in error.(*googleapi.Error).Header. Use
49844// googleapi.IsNotModified to check whether the returned error was
49845// because http.StatusNotModified was returned.
49846func (c *UserRolePermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroup, error) {
49847	gensupport.SetOptions(c.urlParams_, opts...)
49848	res, err := c.doRequest("json")
49849	if res != nil && res.StatusCode == http.StatusNotModified {
49850		if res.Body != nil {
49851			res.Body.Close()
49852		}
49853		return nil, &googleapi.Error{
49854			Code:   res.StatusCode,
49855			Header: res.Header,
49856		}
49857	}
49858	if err != nil {
49859		return nil, err
49860	}
49861	defer googleapi.CloseBody(res)
49862	if err := googleapi.CheckResponse(res); err != nil {
49863		return nil, err
49864	}
49865	ret := &UserRolePermissionGroup{
49866		ServerResponse: googleapi.ServerResponse{
49867			Header:         res.Header,
49868			HTTPStatusCode: res.StatusCode,
49869		},
49870	}
49871	target := &ret
49872	if err := gensupport.DecodeResponse(target, res); err != nil {
49873		return nil, err
49874	}
49875	return ret, nil
49876	// {
49877	//   "description": "Gets one user role permission group by ID.",
49878	//   "httpMethod": "GET",
49879	//   "id": "dfareporting.userRolePermissionGroups.get",
49880	//   "parameterOrder": [
49881	//     "profileId",
49882	//     "id"
49883	//   ],
49884	//   "parameters": {
49885	//     "id": {
49886	//       "description": "User role permission group ID.",
49887	//       "format": "int64",
49888	//       "location": "path",
49889	//       "required": true,
49890	//       "type": "string"
49891	//     },
49892	//     "profileId": {
49893	//       "description": "User profile ID associated with this request.",
49894	//       "format": "int64",
49895	//       "location": "path",
49896	//       "required": true,
49897	//       "type": "string"
49898	//     }
49899	//   },
49900	//   "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
49901	//   "response": {
49902	//     "$ref": "UserRolePermissionGroup"
49903	//   },
49904	//   "scopes": [
49905	//     "https://www.googleapis.com/auth/dfatrafficking"
49906	//   ]
49907	// }
49908
49909}
49910
49911// method id "dfareporting.userRolePermissionGroups.list":
49912
49913type UserRolePermissionGroupsListCall struct {
49914	s            *Service
49915	profileId    int64
49916	urlParams_   gensupport.URLParams
49917	ifNoneMatch_ string
49918	ctx_         context.Context
49919	header_      http.Header
49920}
49921
49922// List: Gets a list of all supported user role permission groups.
49923func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
49924	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49925	c.profileId = profileId
49926	return c
49927}
49928
49929// Fields allows partial responses to be retrieved. See
49930// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49931// for more information.
49932func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
49933	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49934	return c
49935}
49936
49937// IfNoneMatch sets the optional parameter which makes the operation
49938// fail if the object's ETag matches the given value. This is useful for
49939// getting updates only after the object has changed since the last
49940// request. Use googleapi.IsNotModified to check whether the response
49941// error from Do is the result of In-None-Match.
49942func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
49943	c.ifNoneMatch_ = entityTag
49944	return c
49945}
49946
49947// Context sets the context to be used in this call's Do method. Any
49948// pending HTTP request will be aborted if the provided context is
49949// canceled.
49950func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
49951	c.ctx_ = ctx
49952	return c
49953}
49954
49955// Header returns an http.Header that can be modified by the caller to
49956// add HTTP headers to the request.
49957func (c *UserRolePermissionGroupsListCall) Header() http.Header {
49958	if c.header_ == nil {
49959		c.header_ = make(http.Header)
49960	}
49961	return c.header_
49962}
49963
49964func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
49965	reqHeaders := make(http.Header)
49966	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
49967	for k, v := range c.header_ {
49968		reqHeaders[k] = v
49969	}
49970	reqHeaders.Set("User-Agent", c.s.userAgent())
49971	if c.ifNoneMatch_ != "" {
49972		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49973	}
49974	var body io.Reader = nil
49975	c.urlParams_.Set("alt", alt)
49976	c.urlParams_.Set("prettyPrint", "false")
49977	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
49978	urls += "?" + c.urlParams_.Encode()
49979	req, err := http.NewRequest("GET", urls, body)
49980	if err != nil {
49981		return nil, err
49982	}
49983	req.Header = reqHeaders
49984	googleapi.Expand(req.URL, map[string]string{
49985		"profileId": strconv.FormatInt(c.profileId, 10),
49986	})
49987	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49988}
49989
49990// Do executes the "dfareporting.userRolePermissionGroups.list" call.
49991// Exactly one of *UserRolePermissionGroupsListResponse or error will be
49992// non-nil. Any non-2xx status code is an error. Response headers are in
49993// either *UserRolePermissionGroupsListResponse.ServerResponse.Header or
49994// (if a response was returned at all) in
49995// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
49996// whether the returned error was because http.StatusNotModified was
49997// returned.
49998func (c *UserRolePermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroupsListResponse, error) {
49999	gensupport.SetOptions(c.urlParams_, opts...)
50000	res, err := c.doRequest("json")
50001	if res != nil && res.StatusCode == http.StatusNotModified {
50002		if res.Body != nil {
50003			res.Body.Close()
50004		}
50005		return nil, &googleapi.Error{
50006			Code:   res.StatusCode,
50007			Header: res.Header,
50008		}
50009	}
50010	if err != nil {
50011		return nil, err
50012	}
50013	defer googleapi.CloseBody(res)
50014	if err := googleapi.CheckResponse(res); err != nil {
50015		return nil, err
50016	}
50017	ret := &UserRolePermissionGroupsListResponse{
50018		ServerResponse: googleapi.ServerResponse{
50019			Header:         res.Header,
50020			HTTPStatusCode: res.StatusCode,
50021		},
50022	}
50023	target := &ret
50024	if err := gensupport.DecodeResponse(target, res); err != nil {
50025		return nil, err
50026	}
50027	return ret, nil
50028	// {
50029	//   "description": "Gets a list of all supported user role permission groups.",
50030	//   "httpMethod": "GET",
50031	//   "id": "dfareporting.userRolePermissionGroups.list",
50032	//   "parameterOrder": [
50033	//     "profileId"
50034	//   ],
50035	//   "parameters": {
50036	//     "profileId": {
50037	//       "description": "User profile ID associated with this request.",
50038	//       "format": "int64",
50039	//       "location": "path",
50040	//       "required": true,
50041	//       "type": "string"
50042	//     }
50043	//   },
50044	//   "path": "userprofiles/{profileId}/userRolePermissionGroups",
50045	//   "response": {
50046	//     "$ref": "UserRolePermissionGroupsListResponse"
50047	//   },
50048	//   "scopes": [
50049	//     "https://www.googleapis.com/auth/dfatrafficking"
50050	//   ]
50051	// }
50052
50053}
50054
50055// method id "dfareporting.userRolePermissions.get":
50056
50057type UserRolePermissionsGetCall struct {
50058	s            *Service
50059	profileId    int64
50060	id           int64
50061	urlParams_   gensupport.URLParams
50062	ifNoneMatch_ string
50063	ctx_         context.Context
50064	header_      http.Header
50065}
50066
50067// Get: Gets one user role permission by ID.
50068func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
50069	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50070	c.profileId = profileId
50071	c.id = id
50072	return c
50073}
50074
50075// Fields allows partial responses to be retrieved. See
50076// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50077// for more information.
50078func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
50079	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50080	return c
50081}
50082
50083// IfNoneMatch sets the optional parameter which makes the operation
50084// fail if the object's ETag matches the given value. This is useful for
50085// getting updates only after the object has changed since the last
50086// request. Use googleapi.IsNotModified to check whether the response
50087// error from Do is the result of In-None-Match.
50088func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
50089	c.ifNoneMatch_ = entityTag
50090	return c
50091}
50092
50093// Context sets the context to be used in this call's Do method. Any
50094// pending HTTP request will be aborted if the provided context is
50095// canceled.
50096func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
50097	c.ctx_ = ctx
50098	return c
50099}
50100
50101// Header returns an http.Header that can be modified by the caller to
50102// add HTTP headers to the request.
50103func (c *UserRolePermissionsGetCall) Header() http.Header {
50104	if c.header_ == nil {
50105		c.header_ = make(http.Header)
50106	}
50107	return c.header_
50108}
50109
50110func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
50111	reqHeaders := make(http.Header)
50112	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
50113	for k, v := range c.header_ {
50114		reqHeaders[k] = v
50115	}
50116	reqHeaders.Set("User-Agent", c.s.userAgent())
50117	if c.ifNoneMatch_ != "" {
50118		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50119	}
50120	var body io.Reader = nil
50121	c.urlParams_.Set("alt", alt)
50122	c.urlParams_.Set("prettyPrint", "false")
50123	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
50124	urls += "?" + c.urlParams_.Encode()
50125	req, err := http.NewRequest("GET", urls, body)
50126	if err != nil {
50127		return nil, err
50128	}
50129	req.Header = reqHeaders
50130	googleapi.Expand(req.URL, map[string]string{
50131		"profileId": strconv.FormatInt(c.profileId, 10),
50132		"id":        strconv.FormatInt(c.id, 10),
50133	})
50134	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50135}
50136
50137// Do executes the "dfareporting.userRolePermissions.get" call.
50138// Exactly one of *UserRolePermission or error will be non-nil. Any
50139// non-2xx status code is an error. Response headers are in either
50140// *UserRolePermission.ServerResponse.Header or (if a response was
50141// returned at all) in error.(*googleapi.Error).Header. Use
50142// googleapi.IsNotModified to check whether the returned error was
50143// because http.StatusNotModified was returned.
50144func (c *UserRolePermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermission, error) {
50145	gensupport.SetOptions(c.urlParams_, opts...)
50146	res, err := c.doRequest("json")
50147	if res != nil && res.StatusCode == http.StatusNotModified {
50148		if res.Body != nil {
50149			res.Body.Close()
50150		}
50151		return nil, &googleapi.Error{
50152			Code:   res.StatusCode,
50153			Header: res.Header,
50154		}
50155	}
50156	if err != nil {
50157		return nil, err
50158	}
50159	defer googleapi.CloseBody(res)
50160	if err := googleapi.CheckResponse(res); err != nil {
50161		return nil, err
50162	}
50163	ret := &UserRolePermission{
50164		ServerResponse: googleapi.ServerResponse{
50165			Header:         res.Header,
50166			HTTPStatusCode: res.StatusCode,
50167		},
50168	}
50169	target := &ret
50170	if err := gensupport.DecodeResponse(target, res); err != nil {
50171		return nil, err
50172	}
50173	return ret, nil
50174	// {
50175	//   "description": "Gets one user role permission by ID.",
50176	//   "httpMethod": "GET",
50177	//   "id": "dfareporting.userRolePermissions.get",
50178	//   "parameterOrder": [
50179	//     "profileId",
50180	//     "id"
50181	//   ],
50182	//   "parameters": {
50183	//     "id": {
50184	//       "description": "User role permission ID.",
50185	//       "format": "int64",
50186	//       "location": "path",
50187	//       "required": true,
50188	//       "type": "string"
50189	//     },
50190	//     "profileId": {
50191	//       "description": "User profile ID associated with this request.",
50192	//       "format": "int64",
50193	//       "location": "path",
50194	//       "required": true,
50195	//       "type": "string"
50196	//     }
50197	//   },
50198	//   "path": "userprofiles/{profileId}/userRolePermissions/{id}",
50199	//   "response": {
50200	//     "$ref": "UserRolePermission"
50201	//   },
50202	//   "scopes": [
50203	//     "https://www.googleapis.com/auth/dfatrafficking"
50204	//   ]
50205	// }
50206
50207}
50208
50209// method id "dfareporting.userRolePermissions.list":
50210
50211type UserRolePermissionsListCall struct {
50212	s            *Service
50213	profileId    int64
50214	urlParams_   gensupport.URLParams
50215	ifNoneMatch_ string
50216	ctx_         context.Context
50217	header_      http.Header
50218}
50219
50220// List: Gets a list of user role permissions, possibly filtered.
50221func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
50222	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50223	c.profileId = profileId
50224	return c
50225}
50226
50227// Ids sets the optional parameter "ids": Select only user role
50228// permissions with these IDs.
50229func (c *UserRolePermissionsListCall) Ids(ids ...int64) *UserRolePermissionsListCall {
50230	var ids_ []string
50231	for _, v := range ids {
50232		ids_ = append(ids_, fmt.Sprint(v))
50233	}
50234	c.urlParams_.SetMulti("ids", ids_)
50235	return c
50236}
50237
50238// Fields allows partial responses to be retrieved. See
50239// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50240// for more information.
50241func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
50242	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50243	return c
50244}
50245
50246// IfNoneMatch sets the optional parameter which makes the operation
50247// fail if the object's ETag matches the given value. This is useful for
50248// getting updates only after the object has changed since the last
50249// request. Use googleapi.IsNotModified to check whether the response
50250// error from Do is the result of In-None-Match.
50251func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
50252	c.ifNoneMatch_ = entityTag
50253	return c
50254}
50255
50256// Context sets the context to be used in this call's Do method. Any
50257// pending HTTP request will be aborted if the provided context is
50258// canceled.
50259func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
50260	c.ctx_ = ctx
50261	return c
50262}
50263
50264// Header returns an http.Header that can be modified by the caller to
50265// add HTTP headers to the request.
50266func (c *UserRolePermissionsListCall) Header() http.Header {
50267	if c.header_ == nil {
50268		c.header_ = make(http.Header)
50269	}
50270	return c.header_
50271}
50272
50273func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
50274	reqHeaders := make(http.Header)
50275	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
50276	for k, v := range c.header_ {
50277		reqHeaders[k] = v
50278	}
50279	reqHeaders.Set("User-Agent", c.s.userAgent())
50280	if c.ifNoneMatch_ != "" {
50281		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50282	}
50283	var body io.Reader = nil
50284	c.urlParams_.Set("alt", alt)
50285	c.urlParams_.Set("prettyPrint", "false")
50286	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
50287	urls += "?" + c.urlParams_.Encode()
50288	req, err := http.NewRequest("GET", urls, body)
50289	if err != nil {
50290		return nil, err
50291	}
50292	req.Header = reqHeaders
50293	googleapi.Expand(req.URL, map[string]string{
50294		"profileId": strconv.FormatInt(c.profileId, 10),
50295	})
50296	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50297}
50298
50299// Do executes the "dfareporting.userRolePermissions.list" call.
50300// Exactly one of *UserRolePermissionsListResponse or error will be
50301// non-nil. Any non-2xx status code is an error. Response headers are in
50302// either *UserRolePermissionsListResponse.ServerResponse.Header or (if
50303// a response was returned at all) in error.(*googleapi.Error).Header.
50304// Use googleapi.IsNotModified to check whether the returned error was
50305// because http.StatusNotModified was returned.
50306func (c *UserRolePermissionsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionsListResponse, error) {
50307	gensupport.SetOptions(c.urlParams_, opts...)
50308	res, err := c.doRequest("json")
50309	if res != nil && res.StatusCode == http.StatusNotModified {
50310		if res.Body != nil {
50311			res.Body.Close()
50312		}
50313		return nil, &googleapi.Error{
50314			Code:   res.StatusCode,
50315			Header: res.Header,
50316		}
50317	}
50318	if err != nil {
50319		return nil, err
50320	}
50321	defer googleapi.CloseBody(res)
50322	if err := googleapi.CheckResponse(res); err != nil {
50323		return nil, err
50324	}
50325	ret := &UserRolePermissionsListResponse{
50326		ServerResponse: googleapi.ServerResponse{
50327			Header:         res.Header,
50328			HTTPStatusCode: res.StatusCode,
50329		},
50330	}
50331	target := &ret
50332	if err := gensupport.DecodeResponse(target, res); err != nil {
50333		return nil, err
50334	}
50335	return ret, nil
50336	// {
50337	//   "description": "Gets a list of user role permissions, possibly filtered.",
50338	//   "httpMethod": "GET",
50339	//   "id": "dfareporting.userRolePermissions.list",
50340	//   "parameterOrder": [
50341	//     "profileId"
50342	//   ],
50343	//   "parameters": {
50344	//     "ids": {
50345	//       "description": "Select only user role permissions with these IDs.",
50346	//       "format": "int64",
50347	//       "location": "query",
50348	//       "repeated": true,
50349	//       "type": "string"
50350	//     },
50351	//     "profileId": {
50352	//       "description": "User profile ID associated with this request.",
50353	//       "format": "int64",
50354	//       "location": "path",
50355	//       "required": true,
50356	//       "type": "string"
50357	//     }
50358	//   },
50359	//   "path": "userprofiles/{profileId}/userRolePermissions",
50360	//   "response": {
50361	//     "$ref": "UserRolePermissionsListResponse"
50362	//   },
50363	//   "scopes": [
50364	//     "https://www.googleapis.com/auth/dfatrafficking"
50365	//   ]
50366	// }
50367
50368}
50369
50370// method id "dfareporting.userRoles.delete":
50371
50372type UserRolesDeleteCall struct {
50373	s          *Service
50374	profileId  int64
50375	id         int64
50376	urlParams_ gensupport.URLParams
50377	ctx_       context.Context
50378	header_    http.Header
50379}
50380
50381// Delete: Deletes an existing user role.
50382func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
50383	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50384	c.profileId = profileId
50385	c.id = id
50386	return c
50387}
50388
50389// Fields allows partial responses to be retrieved. See
50390// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50391// for more information.
50392func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
50393	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50394	return c
50395}
50396
50397// Context sets the context to be used in this call's Do method. Any
50398// pending HTTP request will be aborted if the provided context is
50399// canceled.
50400func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
50401	c.ctx_ = ctx
50402	return c
50403}
50404
50405// Header returns an http.Header that can be modified by the caller to
50406// add HTTP headers to the request.
50407func (c *UserRolesDeleteCall) Header() http.Header {
50408	if c.header_ == nil {
50409		c.header_ = make(http.Header)
50410	}
50411	return c.header_
50412}
50413
50414func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
50415	reqHeaders := make(http.Header)
50416	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
50417	for k, v := range c.header_ {
50418		reqHeaders[k] = v
50419	}
50420	reqHeaders.Set("User-Agent", c.s.userAgent())
50421	var body io.Reader = nil
50422	c.urlParams_.Set("alt", alt)
50423	c.urlParams_.Set("prettyPrint", "false")
50424	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
50425	urls += "?" + c.urlParams_.Encode()
50426	req, err := http.NewRequest("DELETE", urls, body)
50427	if err != nil {
50428		return nil, err
50429	}
50430	req.Header = reqHeaders
50431	googleapi.Expand(req.URL, map[string]string{
50432		"profileId": strconv.FormatInt(c.profileId, 10),
50433		"id":        strconv.FormatInt(c.id, 10),
50434	})
50435	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50436}
50437
50438// Do executes the "dfareporting.userRoles.delete" call.
50439func (c *UserRolesDeleteCall) Do(opts ...googleapi.CallOption) error {
50440	gensupport.SetOptions(c.urlParams_, opts...)
50441	res, err := c.doRequest("json")
50442	if err != nil {
50443		return err
50444	}
50445	defer googleapi.CloseBody(res)
50446	if err := googleapi.CheckResponse(res); err != nil {
50447		return err
50448	}
50449	return nil
50450	// {
50451	//   "description": "Deletes an existing user role.",
50452	//   "httpMethod": "DELETE",
50453	//   "id": "dfareporting.userRoles.delete",
50454	//   "parameterOrder": [
50455	//     "profileId",
50456	//     "id"
50457	//   ],
50458	//   "parameters": {
50459	//     "id": {
50460	//       "description": "User role ID.",
50461	//       "format": "int64",
50462	//       "location": "path",
50463	//       "required": true,
50464	//       "type": "string"
50465	//     },
50466	//     "profileId": {
50467	//       "description": "User profile ID associated with this request.",
50468	//       "format": "int64",
50469	//       "location": "path",
50470	//       "required": true,
50471	//       "type": "string"
50472	//     }
50473	//   },
50474	//   "path": "userprofiles/{profileId}/userRoles/{id}",
50475	//   "scopes": [
50476	//     "https://www.googleapis.com/auth/dfatrafficking"
50477	//   ]
50478	// }
50479
50480}
50481
50482// method id "dfareporting.userRoles.get":
50483
50484type UserRolesGetCall struct {
50485	s            *Service
50486	profileId    int64
50487	id           int64
50488	urlParams_   gensupport.URLParams
50489	ifNoneMatch_ string
50490	ctx_         context.Context
50491	header_      http.Header
50492}
50493
50494// Get: Gets one user role by ID.
50495func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
50496	c := &UserRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50497	c.profileId = profileId
50498	c.id = id
50499	return c
50500}
50501
50502// Fields allows partial responses to be retrieved. See
50503// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50504// for more information.
50505func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
50506	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50507	return c
50508}
50509
50510// IfNoneMatch sets the optional parameter which makes the operation
50511// fail if the object's ETag matches the given value. This is useful for
50512// getting updates only after the object has changed since the last
50513// request. Use googleapi.IsNotModified to check whether the response
50514// error from Do is the result of In-None-Match.
50515func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
50516	c.ifNoneMatch_ = entityTag
50517	return c
50518}
50519
50520// Context sets the context to be used in this call's Do method. Any
50521// pending HTTP request will be aborted if the provided context is
50522// canceled.
50523func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
50524	c.ctx_ = ctx
50525	return c
50526}
50527
50528// Header returns an http.Header that can be modified by the caller to
50529// add HTTP headers to the request.
50530func (c *UserRolesGetCall) Header() http.Header {
50531	if c.header_ == nil {
50532		c.header_ = make(http.Header)
50533	}
50534	return c.header_
50535}
50536
50537func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
50538	reqHeaders := make(http.Header)
50539	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
50540	for k, v := range c.header_ {
50541		reqHeaders[k] = v
50542	}
50543	reqHeaders.Set("User-Agent", c.s.userAgent())
50544	if c.ifNoneMatch_ != "" {
50545		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50546	}
50547	var body io.Reader = nil
50548	c.urlParams_.Set("alt", alt)
50549	c.urlParams_.Set("prettyPrint", "false")
50550	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
50551	urls += "?" + c.urlParams_.Encode()
50552	req, err := http.NewRequest("GET", urls, body)
50553	if err != nil {
50554		return nil, err
50555	}
50556	req.Header = reqHeaders
50557	googleapi.Expand(req.URL, map[string]string{
50558		"profileId": strconv.FormatInt(c.profileId, 10),
50559		"id":        strconv.FormatInt(c.id, 10),
50560	})
50561	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50562}
50563
50564// Do executes the "dfareporting.userRoles.get" call.
50565// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50566// code is an error. Response headers are in either
50567// *UserRole.ServerResponse.Header or (if a response was returned at
50568// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50569// to check whether the returned error was because
50570// http.StatusNotModified was returned.
50571func (c *UserRolesGetCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50572	gensupport.SetOptions(c.urlParams_, opts...)
50573	res, err := c.doRequest("json")
50574	if res != nil && res.StatusCode == http.StatusNotModified {
50575		if res.Body != nil {
50576			res.Body.Close()
50577		}
50578		return nil, &googleapi.Error{
50579			Code:   res.StatusCode,
50580			Header: res.Header,
50581		}
50582	}
50583	if err != nil {
50584		return nil, err
50585	}
50586	defer googleapi.CloseBody(res)
50587	if err := googleapi.CheckResponse(res); err != nil {
50588		return nil, err
50589	}
50590	ret := &UserRole{
50591		ServerResponse: googleapi.ServerResponse{
50592			Header:         res.Header,
50593			HTTPStatusCode: res.StatusCode,
50594		},
50595	}
50596	target := &ret
50597	if err := gensupport.DecodeResponse(target, res); err != nil {
50598		return nil, err
50599	}
50600	return ret, nil
50601	// {
50602	//   "description": "Gets one user role by ID.",
50603	//   "httpMethod": "GET",
50604	//   "id": "dfareporting.userRoles.get",
50605	//   "parameterOrder": [
50606	//     "profileId",
50607	//     "id"
50608	//   ],
50609	//   "parameters": {
50610	//     "id": {
50611	//       "description": "User role ID.",
50612	//       "format": "int64",
50613	//       "location": "path",
50614	//       "required": true,
50615	//       "type": "string"
50616	//     },
50617	//     "profileId": {
50618	//       "description": "User profile ID associated with this request.",
50619	//       "format": "int64",
50620	//       "location": "path",
50621	//       "required": true,
50622	//       "type": "string"
50623	//     }
50624	//   },
50625	//   "path": "userprofiles/{profileId}/userRoles/{id}",
50626	//   "response": {
50627	//     "$ref": "UserRole"
50628	//   },
50629	//   "scopes": [
50630	//     "https://www.googleapis.com/auth/dfatrafficking"
50631	//   ]
50632	// }
50633
50634}
50635
50636// method id "dfareporting.userRoles.insert":
50637
50638type UserRolesInsertCall 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// Insert: Inserts a new user role.
50648func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
50649	c := &UserRolesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50650	c.profileId = profileId
50651	c.userrole = userrole
50652	return c
50653}
50654
50655// Fields allows partial responses to be retrieved. See
50656// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50657// for more information.
50658func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
50659	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50660	return c
50661}
50662
50663// Context sets the context to be used in this call's Do method. Any
50664// pending HTTP request will be aborted if the provided context is
50665// canceled.
50666func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
50667	c.ctx_ = ctx
50668	return c
50669}
50670
50671// Header returns an http.Header that can be modified by the caller to
50672// add HTTP headers to the request.
50673func (c *UserRolesInsertCall) Header() http.Header {
50674	if c.header_ == nil {
50675		c.header_ = make(http.Header)
50676	}
50677	return c.header_
50678}
50679
50680func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
50681	reqHeaders := make(http.Header)
50682	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
50683	for k, v := range c.header_ {
50684		reqHeaders[k] = v
50685	}
50686	reqHeaders.Set("User-Agent", c.s.userAgent())
50687	var body io.Reader = nil
50688	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
50689	if err != nil {
50690		return nil, err
50691	}
50692	reqHeaders.Set("Content-Type", "application/json")
50693	c.urlParams_.Set("alt", alt)
50694	c.urlParams_.Set("prettyPrint", "false")
50695	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50696	urls += "?" + c.urlParams_.Encode()
50697	req, err := http.NewRequest("POST", urls, body)
50698	if err != nil {
50699		return nil, err
50700	}
50701	req.Header = reqHeaders
50702	googleapi.Expand(req.URL, map[string]string{
50703		"profileId": strconv.FormatInt(c.profileId, 10),
50704	})
50705	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50706}
50707
50708// Do executes the "dfareporting.userRoles.insert" call.
50709// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50710// code is an error. Response headers are in either
50711// *UserRole.ServerResponse.Header or (if a response was returned at
50712// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50713// to check whether the returned error was because
50714// http.StatusNotModified was returned.
50715func (c *UserRolesInsertCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50716	gensupport.SetOptions(c.urlParams_, opts...)
50717	res, err := c.doRequest("json")
50718	if res != nil && res.StatusCode == http.StatusNotModified {
50719		if res.Body != nil {
50720			res.Body.Close()
50721		}
50722		return nil, &googleapi.Error{
50723			Code:   res.StatusCode,
50724			Header: res.Header,
50725		}
50726	}
50727	if err != nil {
50728		return nil, err
50729	}
50730	defer googleapi.CloseBody(res)
50731	if err := googleapi.CheckResponse(res); err != nil {
50732		return nil, err
50733	}
50734	ret := &UserRole{
50735		ServerResponse: googleapi.ServerResponse{
50736			Header:         res.Header,
50737			HTTPStatusCode: res.StatusCode,
50738		},
50739	}
50740	target := &ret
50741	if err := gensupport.DecodeResponse(target, res); err != nil {
50742		return nil, err
50743	}
50744	return ret, nil
50745	// {
50746	//   "description": "Inserts a new user role.",
50747	//   "httpMethod": "POST",
50748	//   "id": "dfareporting.userRoles.insert",
50749	//   "parameterOrder": [
50750	//     "profileId"
50751	//   ],
50752	//   "parameters": {
50753	//     "profileId": {
50754	//       "description": "User profile ID associated with this request.",
50755	//       "format": "int64",
50756	//       "location": "path",
50757	//       "required": true,
50758	//       "type": "string"
50759	//     }
50760	//   },
50761	//   "path": "userprofiles/{profileId}/userRoles",
50762	//   "request": {
50763	//     "$ref": "UserRole"
50764	//   },
50765	//   "response": {
50766	//     "$ref": "UserRole"
50767	//   },
50768	//   "scopes": [
50769	//     "https://www.googleapis.com/auth/dfatrafficking"
50770	//   ]
50771	// }
50772
50773}
50774
50775// method id "dfareporting.userRoles.list":
50776
50777type UserRolesListCall struct {
50778	s            *Service
50779	profileId    int64
50780	urlParams_   gensupport.URLParams
50781	ifNoneMatch_ string
50782	ctx_         context.Context
50783	header_      http.Header
50784}
50785
50786// List: Retrieves a list of user roles, possibly filtered. This method
50787// supports paging.
50788func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
50789	c := &UserRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50790	c.profileId = profileId
50791	return c
50792}
50793
50794// AccountUserRoleOnly sets the optional parameter
50795// "accountUserRoleOnly": Select only account level user roles not
50796// associated with any specific subaccount.
50797func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
50798	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprint(accountUserRoleOnly))
50799	return c
50800}
50801
50802// Ids sets the optional parameter "ids": Select only user roles with
50803// the specified IDs.
50804func (c *UserRolesListCall) Ids(ids ...int64) *UserRolesListCall {
50805	var ids_ []string
50806	for _, v := range ids {
50807		ids_ = append(ids_, fmt.Sprint(v))
50808	}
50809	c.urlParams_.SetMulti("ids", ids_)
50810	return c
50811}
50812
50813// MaxResults sets the optional parameter "maxResults": Maximum number
50814// of results to return.
50815func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
50816	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
50817	return c
50818}
50819
50820// PageToken sets the optional parameter "pageToken": Value of the
50821// nextPageToken from the previous result page.
50822func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
50823	c.urlParams_.Set("pageToken", pageToken)
50824	return c
50825}
50826
50827// SearchString sets the optional parameter "searchString": Allows
50828// searching for objects by name or ID. Wildcards (*) are allowed. For
50829// example, "userrole*2015" will return objects with names like
50830// "userrole June 2015", "userrole April 2015", or simply "userrole
50831// 2015". Most of the searches also add wildcards implicitly at the
50832// start and the end of the search string. For example, a search string
50833// of "userrole" will match objects with name "my userrole", "userrole
50834// 2015", or simply "userrole".
50835func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
50836	c.urlParams_.Set("searchString", searchString)
50837	return c
50838}
50839
50840// SortField sets the optional parameter "sortField": Field by which to
50841// sort the list.
50842//
50843// Possible values:
50844//   "ID" (default)
50845//   "NAME"
50846func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
50847	c.urlParams_.Set("sortField", sortField)
50848	return c
50849}
50850
50851// SortOrder sets the optional parameter "sortOrder": Order of sorted
50852// results.
50853//
50854// Possible values:
50855//   "ASCENDING" (default)
50856//   "DESCENDING"
50857func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
50858	c.urlParams_.Set("sortOrder", sortOrder)
50859	return c
50860}
50861
50862// SubaccountId sets the optional parameter "subaccountId": Select only
50863// user roles that belong to this subaccount.
50864func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
50865	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
50866	return c
50867}
50868
50869// Fields allows partial responses to be retrieved. See
50870// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50871// for more information.
50872func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
50873	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50874	return c
50875}
50876
50877// IfNoneMatch sets the optional parameter which makes the operation
50878// fail if the object's ETag matches the given value. This is useful for
50879// getting updates only after the object has changed since the last
50880// request. Use googleapi.IsNotModified to check whether the response
50881// error from Do is the result of In-None-Match.
50882func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
50883	c.ifNoneMatch_ = entityTag
50884	return c
50885}
50886
50887// Context sets the context to be used in this call's Do method. Any
50888// pending HTTP request will be aborted if the provided context is
50889// canceled.
50890func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
50891	c.ctx_ = ctx
50892	return c
50893}
50894
50895// Header returns an http.Header that can be modified by the caller to
50896// add HTTP headers to the request.
50897func (c *UserRolesListCall) Header() http.Header {
50898	if c.header_ == nil {
50899		c.header_ = make(http.Header)
50900	}
50901	return c.header_
50902}
50903
50904func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
50905	reqHeaders := make(http.Header)
50906	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
50907	for k, v := range c.header_ {
50908		reqHeaders[k] = v
50909	}
50910	reqHeaders.Set("User-Agent", c.s.userAgent())
50911	if c.ifNoneMatch_ != "" {
50912		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50913	}
50914	var body io.Reader = nil
50915	c.urlParams_.Set("alt", alt)
50916	c.urlParams_.Set("prettyPrint", "false")
50917	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50918	urls += "?" + c.urlParams_.Encode()
50919	req, err := http.NewRequest("GET", urls, body)
50920	if err != nil {
50921		return nil, err
50922	}
50923	req.Header = reqHeaders
50924	googleapi.Expand(req.URL, map[string]string{
50925		"profileId": strconv.FormatInt(c.profileId, 10),
50926	})
50927	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50928}
50929
50930// Do executes the "dfareporting.userRoles.list" call.
50931// Exactly one of *UserRolesListResponse or error will be non-nil. Any
50932// non-2xx status code is an error. Response headers are in either
50933// *UserRolesListResponse.ServerResponse.Header or (if a response was
50934// returned at all) in error.(*googleapi.Error).Header. Use
50935// googleapi.IsNotModified to check whether the returned error was
50936// because http.StatusNotModified was returned.
50937func (c *UserRolesListCall) Do(opts ...googleapi.CallOption) (*UserRolesListResponse, error) {
50938	gensupport.SetOptions(c.urlParams_, opts...)
50939	res, err := c.doRequest("json")
50940	if res != nil && res.StatusCode == http.StatusNotModified {
50941		if res.Body != nil {
50942			res.Body.Close()
50943		}
50944		return nil, &googleapi.Error{
50945			Code:   res.StatusCode,
50946			Header: res.Header,
50947		}
50948	}
50949	if err != nil {
50950		return nil, err
50951	}
50952	defer googleapi.CloseBody(res)
50953	if err := googleapi.CheckResponse(res); err != nil {
50954		return nil, err
50955	}
50956	ret := &UserRolesListResponse{
50957		ServerResponse: googleapi.ServerResponse{
50958			Header:         res.Header,
50959			HTTPStatusCode: res.StatusCode,
50960		},
50961	}
50962	target := &ret
50963	if err := gensupport.DecodeResponse(target, res); err != nil {
50964		return nil, err
50965	}
50966	return ret, nil
50967	// {
50968	//   "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
50969	//   "httpMethod": "GET",
50970	//   "id": "dfareporting.userRoles.list",
50971	//   "parameterOrder": [
50972	//     "profileId"
50973	//   ],
50974	//   "parameters": {
50975	//     "accountUserRoleOnly": {
50976	//       "description": "Select only account level user roles not associated with any specific subaccount.",
50977	//       "location": "query",
50978	//       "type": "boolean"
50979	//     },
50980	//     "ids": {
50981	//       "description": "Select only user roles with the specified IDs.",
50982	//       "format": "int64",
50983	//       "location": "query",
50984	//       "repeated": true,
50985	//       "type": "string"
50986	//     },
50987	//     "maxResults": {
50988	//       "default": "1000",
50989	//       "description": "Maximum number of results to return.",
50990	//       "format": "int32",
50991	//       "location": "query",
50992	//       "maximum": "1000",
50993	//       "minimum": "0",
50994	//       "type": "integer"
50995	//     },
50996	//     "pageToken": {
50997	//       "description": "Value of the nextPageToken from the previous result page.",
50998	//       "location": "query",
50999	//       "type": "string"
51000	//     },
51001	//     "profileId": {
51002	//       "description": "User profile ID associated with this request.",
51003	//       "format": "int64",
51004	//       "location": "path",
51005	//       "required": true,
51006	//       "type": "string"
51007	//     },
51008	//     "searchString": {
51009	//       "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\".",
51010	//       "location": "query",
51011	//       "type": "string"
51012	//     },
51013	//     "sortField": {
51014	//       "default": "ID",
51015	//       "description": "Field by which to sort the list.",
51016	//       "enum": [
51017	//         "ID",
51018	//         "NAME"
51019	//       ],
51020	//       "enumDescriptions": [
51021	//         "",
51022	//         ""
51023	//       ],
51024	//       "location": "query",
51025	//       "type": "string"
51026	//     },
51027	//     "sortOrder": {
51028	//       "default": "ASCENDING",
51029	//       "description": "Order of sorted results.",
51030	//       "enum": [
51031	//         "ASCENDING",
51032	//         "DESCENDING"
51033	//       ],
51034	//       "enumDescriptions": [
51035	//         "",
51036	//         ""
51037	//       ],
51038	//       "location": "query",
51039	//       "type": "string"
51040	//     },
51041	//     "subaccountId": {
51042	//       "description": "Select only user roles that belong to this subaccount.",
51043	//       "format": "int64",
51044	//       "location": "query",
51045	//       "type": "string"
51046	//     }
51047	//   },
51048	//   "path": "userprofiles/{profileId}/userRoles",
51049	//   "response": {
51050	//     "$ref": "UserRolesListResponse"
51051	//   },
51052	//   "scopes": [
51053	//     "https://www.googleapis.com/auth/dfatrafficking"
51054	//   ]
51055	// }
51056
51057}
51058
51059// Pages invokes f for each page of results.
51060// A non-nil error returned from f will halt the iteration.
51061// The provided context supersedes any context provided to the Context method.
51062func (c *UserRolesListCall) Pages(ctx context.Context, f func(*UserRolesListResponse) error) error {
51063	c.ctx_ = ctx
51064	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
51065	for {
51066		x, err := c.Do()
51067		if err != nil {
51068			return err
51069		}
51070		if err := f(x); err != nil {
51071			return err
51072		}
51073		if x.NextPageToken == "" {
51074			return nil
51075		}
51076		c.PageToken(x.NextPageToken)
51077	}
51078}
51079
51080// method id "dfareporting.userRoles.patch":
51081
51082type UserRolesPatchCall struct {
51083	s          *Service
51084	profileId  int64
51085	userrole   *UserRole
51086	urlParams_ gensupport.URLParams
51087	ctx_       context.Context
51088	header_    http.Header
51089}
51090
51091// Patch: Updates an existing user role. This method supports patch
51092// semantics.
51093func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
51094	c := &UserRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51095	c.profileId = profileId
51096	c.urlParams_.Set("id", fmt.Sprint(id))
51097	c.userrole = userrole
51098	return c
51099}
51100
51101// Fields allows partial responses to be retrieved. See
51102// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51103// for more information.
51104func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
51105	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51106	return c
51107}
51108
51109// Context sets the context to be used in this call's Do method. Any
51110// pending HTTP request will be aborted if the provided context is
51111// canceled.
51112func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
51113	c.ctx_ = ctx
51114	return c
51115}
51116
51117// Header returns an http.Header that can be modified by the caller to
51118// add HTTP headers to the request.
51119func (c *UserRolesPatchCall) Header() http.Header {
51120	if c.header_ == nil {
51121		c.header_ = make(http.Header)
51122	}
51123	return c.header_
51124}
51125
51126func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
51127	reqHeaders := make(http.Header)
51128	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
51129	for k, v := range c.header_ {
51130		reqHeaders[k] = v
51131	}
51132	reqHeaders.Set("User-Agent", c.s.userAgent())
51133	var body io.Reader = nil
51134	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
51135	if err != nil {
51136		return nil, err
51137	}
51138	reqHeaders.Set("Content-Type", "application/json")
51139	c.urlParams_.Set("alt", alt)
51140	c.urlParams_.Set("prettyPrint", "false")
51141	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
51142	urls += "?" + c.urlParams_.Encode()
51143	req, err := http.NewRequest("PATCH", urls, body)
51144	if err != nil {
51145		return nil, err
51146	}
51147	req.Header = reqHeaders
51148	googleapi.Expand(req.URL, map[string]string{
51149		"profileId": strconv.FormatInt(c.profileId, 10),
51150	})
51151	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51152}
51153
51154// Do executes the "dfareporting.userRoles.patch" call.
51155// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
51156// code is an error. Response headers are in either
51157// *UserRole.ServerResponse.Header or (if a response was returned at
51158// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
51159// to check whether the returned error was because
51160// http.StatusNotModified was returned.
51161func (c *UserRolesPatchCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
51162	gensupport.SetOptions(c.urlParams_, opts...)
51163	res, err := c.doRequest("json")
51164	if res != nil && res.StatusCode == http.StatusNotModified {
51165		if res.Body != nil {
51166			res.Body.Close()
51167		}
51168		return nil, &googleapi.Error{
51169			Code:   res.StatusCode,
51170			Header: res.Header,
51171		}
51172	}
51173	if err != nil {
51174		return nil, err
51175	}
51176	defer googleapi.CloseBody(res)
51177	if err := googleapi.CheckResponse(res); err != nil {
51178		return nil, err
51179	}
51180	ret := &UserRole{
51181		ServerResponse: googleapi.ServerResponse{
51182			Header:         res.Header,
51183			HTTPStatusCode: res.StatusCode,
51184		},
51185	}
51186	target := &ret
51187	if err := gensupport.DecodeResponse(target, res); err != nil {
51188		return nil, err
51189	}
51190	return ret, nil
51191	// {
51192	//   "description": "Updates an existing user role. This method supports patch semantics.",
51193	//   "httpMethod": "PATCH",
51194	//   "id": "dfareporting.userRoles.patch",
51195	//   "parameterOrder": [
51196	//     "profileId",
51197	//     "id"
51198	//   ],
51199	//   "parameters": {
51200	//     "id": {
51201	//       "description": "User role ID.",
51202	//       "format": "int64",
51203	//       "location": "query",
51204	//       "required": true,
51205	//       "type": "string"
51206	//     },
51207	//     "profileId": {
51208	//       "description": "User profile ID associated with this request.",
51209	//       "format": "int64",
51210	//       "location": "path",
51211	//       "required": true,
51212	//       "type": "string"
51213	//     }
51214	//   },
51215	//   "path": "userprofiles/{profileId}/userRoles",
51216	//   "request": {
51217	//     "$ref": "UserRole"
51218	//   },
51219	//   "response": {
51220	//     "$ref": "UserRole"
51221	//   },
51222	//   "scopes": [
51223	//     "https://www.googleapis.com/auth/dfatrafficking"
51224	//   ]
51225	// }
51226
51227}
51228
51229// method id "dfareporting.userRoles.update":
51230
51231type UserRolesUpdateCall struct {
51232	s          *Service
51233	profileId  int64
51234	userrole   *UserRole
51235	urlParams_ gensupport.URLParams
51236	ctx_       context.Context
51237	header_    http.Header
51238}
51239
51240// Update: Updates an existing user role.
51241func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
51242	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51243	c.profileId = profileId
51244	c.userrole = userrole
51245	return c
51246}
51247
51248// Fields allows partial responses to be retrieved. See
51249// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51250// for more information.
51251func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
51252	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51253	return c
51254}
51255
51256// Context sets the context to be used in this call's Do method. Any
51257// pending HTTP request will be aborted if the provided context is
51258// canceled.
51259func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
51260	c.ctx_ = ctx
51261	return c
51262}
51263
51264// Header returns an http.Header that can be modified by the caller to
51265// add HTTP headers to the request.
51266func (c *UserRolesUpdateCall) Header() http.Header {
51267	if c.header_ == nil {
51268		c.header_ = make(http.Header)
51269	}
51270	return c.header_
51271}
51272
51273func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
51274	reqHeaders := make(http.Header)
51275	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
51276	for k, v := range c.header_ {
51277		reqHeaders[k] = v
51278	}
51279	reqHeaders.Set("User-Agent", c.s.userAgent())
51280	var body io.Reader = nil
51281	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
51282	if err != nil {
51283		return nil, err
51284	}
51285	reqHeaders.Set("Content-Type", "application/json")
51286	c.urlParams_.Set("alt", alt)
51287	c.urlParams_.Set("prettyPrint", "false")
51288	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
51289	urls += "?" + c.urlParams_.Encode()
51290	req, err := http.NewRequest("PUT", urls, body)
51291	if err != nil {
51292		return nil, err
51293	}
51294	req.Header = reqHeaders
51295	googleapi.Expand(req.URL, map[string]string{
51296		"profileId": strconv.FormatInt(c.profileId, 10),
51297	})
51298	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51299}
51300
51301// Do executes the "dfareporting.userRoles.update" call.
51302// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
51303// code is an error. Response headers are in either
51304// *UserRole.ServerResponse.Header or (if a response was returned at
51305// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
51306// to check whether the returned error was because
51307// http.StatusNotModified was returned.
51308func (c *UserRolesUpdateCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
51309	gensupport.SetOptions(c.urlParams_, opts...)
51310	res, err := c.doRequest("json")
51311	if res != nil && res.StatusCode == http.StatusNotModified {
51312		if res.Body != nil {
51313			res.Body.Close()
51314		}
51315		return nil, &googleapi.Error{
51316			Code:   res.StatusCode,
51317			Header: res.Header,
51318		}
51319	}
51320	if err != nil {
51321		return nil, err
51322	}
51323	defer googleapi.CloseBody(res)
51324	if err := googleapi.CheckResponse(res); err != nil {
51325		return nil, err
51326	}
51327	ret := &UserRole{
51328		ServerResponse: googleapi.ServerResponse{
51329			Header:         res.Header,
51330			HTTPStatusCode: res.StatusCode,
51331		},
51332	}
51333	target := &ret
51334	if err := gensupport.DecodeResponse(target, res); err != nil {
51335		return nil, err
51336	}
51337	return ret, nil
51338	// {
51339	//   "description": "Updates an existing user role.",
51340	//   "httpMethod": "PUT",
51341	//   "id": "dfareporting.userRoles.update",
51342	//   "parameterOrder": [
51343	//     "profileId"
51344	//   ],
51345	//   "parameters": {
51346	//     "profileId": {
51347	//       "description": "User profile ID associated with this request.",
51348	//       "format": "int64",
51349	//       "location": "path",
51350	//       "required": true,
51351	//       "type": "string"
51352	//     }
51353	//   },
51354	//   "path": "userprofiles/{profileId}/userRoles",
51355	//   "request": {
51356	//     "$ref": "UserRole"
51357	//   },
51358	//   "response": {
51359	//     "$ref": "UserRole"
51360	//   },
51361	//   "scopes": [
51362	//     "https://www.googleapis.com/auth/dfatrafficking"
51363	//   ]
51364	// }
51365
51366}
51367
51368// method id "dfareporting.videoFormats.get":
51369
51370type VideoFormatsGetCall struct {
51371	s            *Service
51372	profileId    int64
51373	id           int64
51374	urlParams_   gensupport.URLParams
51375	ifNoneMatch_ string
51376	ctx_         context.Context
51377	header_      http.Header
51378}
51379
51380// Get: Gets one video format by ID.
51381func (r *VideoFormatsService) Get(profileId int64, id int64) *VideoFormatsGetCall {
51382	c := &VideoFormatsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51383	c.profileId = profileId
51384	c.id = id
51385	return c
51386}
51387
51388// Fields allows partial responses to be retrieved. See
51389// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51390// for more information.
51391func (c *VideoFormatsGetCall) Fields(s ...googleapi.Field) *VideoFormatsGetCall {
51392	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51393	return c
51394}
51395
51396// IfNoneMatch sets the optional parameter which makes the operation
51397// fail if the object's ETag matches the given value. This is useful for
51398// getting updates only after the object has changed since the last
51399// request. Use googleapi.IsNotModified to check whether the response
51400// error from Do is the result of In-None-Match.
51401func (c *VideoFormatsGetCall) IfNoneMatch(entityTag string) *VideoFormatsGetCall {
51402	c.ifNoneMatch_ = entityTag
51403	return c
51404}
51405
51406// Context sets the context to be used in this call's Do method. Any
51407// pending HTTP request will be aborted if the provided context is
51408// canceled.
51409func (c *VideoFormatsGetCall) Context(ctx context.Context) *VideoFormatsGetCall {
51410	c.ctx_ = ctx
51411	return c
51412}
51413
51414// Header returns an http.Header that can be modified by the caller to
51415// add HTTP headers to the request.
51416func (c *VideoFormatsGetCall) Header() http.Header {
51417	if c.header_ == nil {
51418		c.header_ = make(http.Header)
51419	}
51420	return c.header_
51421}
51422
51423func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
51424	reqHeaders := make(http.Header)
51425	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
51426	for k, v := range c.header_ {
51427		reqHeaders[k] = v
51428	}
51429	reqHeaders.Set("User-Agent", c.s.userAgent())
51430	if c.ifNoneMatch_ != "" {
51431		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
51432	}
51433	var body io.Reader = nil
51434	c.urlParams_.Set("alt", alt)
51435	c.urlParams_.Set("prettyPrint", "false")
51436	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats/{id}")
51437	urls += "?" + c.urlParams_.Encode()
51438	req, err := http.NewRequest("GET", urls, body)
51439	if err != nil {
51440		return nil, err
51441	}
51442	req.Header = reqHeaders
51443	googleapi.Expand(req.URL, map[string]string{
51444		"profileId": strconv.FormatInt(c.profileId, 10),
51445		"id":        strconv.FormatInt(c.id, 10),
51446	})
51447	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51448}
51449
51450// Do executes the "dfareporting.videoFormats.get" call.
51451// Exactly one of *VideoFormat or error will be non-nil. Any non-2xx
51452// status code is an error. Response headers are in either
51453// *VideoFormat.ServerResponse.Header or (if a response was returned at
51454// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
51455// to check whether the returned error was because
51456// http.StatusNotModified was returned.
51457func (c *VideoFormatsGetCall) Do(opts ...googleapi.CallOption) (*VideoFormat, error) {
51458	gensupport.SetOptions(c.urlParams_, opts...)
51459	res, err := c.doRequest("json")
51460	if res != nil && res.StatusCode == http.StatusNotModified {
51461		if res.Body != nil {
51462			res.Body.Close()
51463		}
51464		return nil, &googleapi.Error{
51465			Code:   res.StatusCode,
51466			Header: res.Header,
51467		}
51468	}
51469	if err != nil {
51470		return nil, err
51471	}
51472	defer googleapi.CloseBody(res)
51473	if err := googleapi.CheckResponse(res); err != nil {
51474		return nil, err
51475	}
51476	ret := &VideoFormat{
51477		ServerResponse: googleapi.ServerResponse{
51478			Header:         res.Header,
51479			HTTPStatusCode: res.StatusCode,
51480		},
51481	}
51482	target := &ret
51483	if err := gensupport.DecodeResponse(target, res); err != nil {
51484		return nil, err
51485	}
51486	return ret, nil
51487	// {
51488	//   "description": "Gets one video format by ID.",
51489	//   "httpMethod": "GET",
51490	//   "id": "dfareporting.videoFormats.get",
51491	//   "parameterOrder": [
51492	//     "profileId",
51493	//     "id"
51494	//   ],
51495	//   "parameters": {
51496	//     "id": {
51497	//       "description": "Video format ID.",
51498	//       "format": "int32",
51499	//       "location": "path",
51500	//       "required": true,
51501	//       "type": "integer"
51502	//     },
51503	//     "profileId": {
51504	//       "description": "User profile ID associated with this request.",
51505	//       "format": "int64",
51506	//       "location": "path",
51507	//       "required": true,
51508	//       "type": "string"
51509	//     }
51510	//   },
51511	//   "path": "userprofiles/{profileId}/videoFormats/{id}",
51512	//   "response": {
51513	//     "$ref": "VideoFormat"
51514	//   },
51515	//   "scopes": [
51516	//     "https://www.googleapis.com/auth/dfatrafficking"
51517	//   ]
51518	// }
51519
51520}
51521
51522// method id "dfareporting.videoFormats.list":
51523
51524type VideoFormatsListCall struct {
51525	s            *Service
51526	profileId    int64
51527	urlParams_   gensupport.URLParams
51528	ifNoneMatch_ string
51529	ctx_         context.Context
51530	header_      http.Header
51531}
51532
51533// List: Lists available video formats.
51534func (r *VideoFormatsService) List(profileId int64) *VideoFormatsListCall {
51535	c := &VideoFormatsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51536	c.profileId = profileId
51537	return c
51538}
51539
51540// Fields allows partial responses to be retrieved. See
51541// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51542// for more information.
51543func (c *VideoFormatsListCall) Fields(s ...googleapi.Field) *VideoFormatsListCall {
51544	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51545	return c
51546}
51547
51548// IfNoneMatch sets the optional parameter which makes the operation
51549// fail if the object's ETag matches the given value. This is useful for
51550// getting updates only after the object has changed since the last
51551// request. Use googleapi.IsNotModified to check whether the response
51552// error from Do is the result of In-None-Match.
51553func (c *VideoFormatsListCall) IfNoneMatch(entityTag string) *VideoFormatsListCall {
51554	c.ifNoneMatch_ = entityTag
51555	return c
51556}
51557
51558// Context sets the context to be used in this call's Do method. Any
51559// pending HTTP request will be aborted if the provided context is
51560// canceled.
51561func (c *VideoFormatsListCall) Context(ctx context.Context) *VideoFormatsListCall {
51562	c.ctx_ = ctx
51563	return c
51564}
51565
51566// Header returns an http.Header that can be modified by the caller to
51567// add HTTP headers to the request.
51568func (c *VideoFormatsListCall) Header() http.Header {
51569	if c.header_ == nil {
51570		c.header_ = make(http.Header)
51571	}
51572	return c.header_
51573}
51574
51575func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
51576	reqHeaders := make(http.Header)
51577	reqHeaders.Set("x-goog-api-client", "gl-go/1.11.0 gdcl/20191216")
51578	for k, v := range c.header_ {
51579		reqHeaders[k] = v
51580	}
51581	reqHeaders.Set("User-Agent", c.s.userAgent())
51582	if c.ifNoneMatch_ != "" {
51583		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
51584	}
51585	var body io.Reader = nil
51586	c.urlParams_.Set("alt", alt)
51587	c.urlParams_.Set("prettyPrint", "false")
51588	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats")
51589	urls += "?" + c.urlParams_.Encode()
51590	req, err := http.NewRequest("GET", urls, body)
51591	if err != nil {
51592		return nil, err
51593	}
51594	req.Header = reqHeaders
51595	googleapi.Expand(req.URL, map[string]string{
51596		"profileId": strconv.FormatInt(c.profileId, 10),
51597	})
51598	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51599}
51600
51601// Do executes the "dfareporting.videoFormats.list" call.
51602// Exactly one of *VideoFormatsListResponse or error will be non-nil.
51603// Any non-2xx status code is an error. Response headers are in either
51604// *VideoFormatsListResponse.ServerResponse.Header or (if a response was
51605// returned at all) in error.(*googleapi.Error).Header. Use
51606// googleapi.IsNotModified to check whether the returned error was
51607// because http.StatusNotModified was returned.
51608func (c *VideoFormatsListCall) Do(opts ...googleapi.CallOption) (*VideoFormatsListResponse, error) {
51609	gensupport.SetOptions(c.urlParams_, opts...)
51610	res, err := c.doRequest("json")
51611	if res != nil && res.StatusCode == http.StatusNotModified {
51612		if res.Body != nil {
51613			res.Body.Close()
51614		}
51615		return nil, &googleapi.Error{
51616			Code:   res.StatusCode,
51617			Header: res.Header,
51618		}
51619	}
51620	if err != nil {
51621		return nil, err
51622	}
51623	defer googleapi.CloseBody(res)
51624	if err := googleapi.CheckResponse(res); err != nil {
51625		return nil, err
51626	}
51627	ret := &VideoFormatsListResponse{
51628		ServerResponse: googleapi.ServerResponse{
51629			Header:         res.Header,
51630			HTTPStatusCode: res.StatusCode,
51631		},
51632	}
51633	target := &ret
51634	if err := gensupport.DecodeResponse(target, res); err != nil {
51635		return nil, err
51636	}
51637	return ret, nil
51638	// {
51639	//   "description": "Lists available video formats.",
51640	//   "httpMethod": "GET",
51641	//   "id": "dfareporting.videoFormats.list",
51642	//   "parameterOrder": [
51643	//     "profileId"
51644	//   ],
51645	//   "parameters": {
51646	//     "profileId": {
51647	//       "description": "User profile ID associated with this request.",
51648	//       "format": "int64",
51649	//       "location": "path",
51650	//       "required": true,
51651	//       "type": "string"
51652	//     }
51653	//   },
51654	//   "path": "userprofiles/{profileId}/videoFormats",
51655	//   "response": {
51656	//     "$ref": "VideoFormatsListResponse"
51657	//   },
51658	//   "scopes": [
51659	//     "https://www.googleapis.com/auth/dfatrafficking"
51660	//   ]
51661	// }
51662
51663}
51664