1// Copyright 2021 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated file. DO NOT EDIT.
6
7// Package dfareporting provides access to the Campaign Manager 360 API.
8//
9// For product documentation, see: https://developers.google.com/doubleclick-advertisers/
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/dfareporting/v3.3"
16//   ...
17//   ctx := context.Background()
18//   dfareportingService, err := dfareporting.NewService(ctx)
19//
20// In this example, Google Application Default Credentials are used for authentication.
21//
22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
23//
24// Other authentication options
25//
26// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
27//
28//   dfareportingService, err := dfareporting.NewService(ctx, option.WithScopes(dfareporting.DfatraffickingScope))
29//
30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
31//
32//   dfareportingService, err := dfareporting.NewService(ctx, option.WithAPIKey("AIza..."))
33//
34// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
35//
36//   config := &oauth2.Config{...}
37//   // ...
38//   token, err := config.Exchange(ctx, ...)
39//   dfareportingService, err := dfareporting.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
40//
41// See https://godoc.org/google.golang.org/api/option/ for details on options.
42package dfareporting // import "google.golang.org/api/dfareporting/v3.3"
43
44import (
45	"bytes"
46	"context"
47	"encoding/json"
48	"errors"
49	"fmt"
50	"io"
51	"net/http"
52	"net/url"
53	"strconv"
54	"strings"
55
56	googleapi "google.golang.org/api/googleapi"
57	gensupport "google.golang.org/api/internal/gensupport"
58	option "google.golang.org/api/option"
59	internaloption "google.golang.org/api/option/internaloption"
60	htransport "google.golang.org/api/transport/http"
61)
62
63// Always reference these packages, just in case the auto-generated code
64// below doesn't.
65var _ = bytes.NewBuffer
66var _ = strconv.Itoa
67var _ = fmt.Sprintf
68var _ = json.NewDecoder
69var _ = io.Copy
70var _ = url.Parse
71var _ = gensupport.MarshalJSON
72var _ = googleapi.Version
73var _ = errors.New
74var _ = strings.Replace
75var _ = context.Canceled
76var _ = internaloption.WithDefaultEndpoint
77
78const apiId = "dfareporting:v3.3"
79const apiName = "dfareporting"
80const apiVersion = "v3.3"
81const basePath = "https://dfareporting.googleapis.com/dfareporting/v3.3/"
82const mtlsBasePath = "https://dfareporting.mtls.googleapis.com/dfareporting/v3.3/"
83
84// OAuth2 scopes used by this API.
85const (
86	// Manage DoubleClick Digital Marketing conversions
87	DdmconversionsScope = "https://www.googleapis.com/auth/ddmconversions"
88
89	// View and manage DoubleClick for Advertisers reports
90	DfareportingScope = "https://www.googleapis.com/auth/dfareporting"
91
92	// View and manage your DoubleClick Campaign Manager's (DCM) display ad
93	// campaigns
94	DfatraffickingScope = "https://www.googleapis.com/auth/dfatrafficking"
95)
96
97// NewService creates a new Service.
98func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
99	scopesOption := option.WithScopes(
100		"https://www.googleapis.com/auth/ddmconversions",
101		"https://www.googleapis.com/auth/dfareporting",
102		"https://www.googleapis.com/auth/dfatrafficking",
103	)
104	// NOTE: prepend, so we don't override user-specified scopes.
105	opts = append([]option.ClientOption{scopesOption}, opts...)
106	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
107	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
108	client, endpoint, err := htransport.NewClient(ctx, opts...)
109	if err != nil {
110		return nil, err
111	}
112	s, err := New(client)
113	if err != nil {
114		return nil, err
115	}
116	if endpoint != "" {
117		s.BasePath = endpoint
118	}
119	return s, nil
120}
121
122// New creates a new Service. It uses the provided http.Client for requests.
123//
124// Deprecated: please use NewService instead.
125// To provide a custom HTTP client, use option.WithHTTPClient.
126// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
127func New(client *http.Client) (*Service, error) {
128	if client == nil {
129		return nil, errors.New("client is nil")
130	}
131	s := &Service{client: client, BasePath: basePath}
132	s.AccountActiveAdSummaries = NewAccountActiveAdSummariesService(s)
133	s.AccountPermissionGroups = NewAccountPermissionGroupsService(s)
134	s.AccountPermissions = NewAccountPermissionsService(s)
135	s.AccountUserProfiles = NewAccountUserProfilesService(s)
136	s.Accounts = NewAccountsService(s)
137	s.Ads = NewAdsService(s)
138	s.AdvertiserGroups = NewAdvertiserGroupsService(s)
139	s.AdvertiserLandingPages = NewAdvertiserLandingPagesService(s)
140	s.Advertisers = NewAdvertisersService(s)
141	s.Browsers = NewBrowsersService(s)
142	s.CampaignCreativeAssociations = NewCampaignCreativeAssociationsService(s)
143	s.Campaigns = NewCampaignsService(s)
144	s.ChangeLogs = NewChangeLogsService(s)
145	s.Cities = NewCitiesService(s)
146	s.ConnectionTypes = NewConnectionTypesService(s)
147	s.ContentCategories = NewContentCategoriesService(s)
148	s.Conversions = NewConversionsService(s)
149	s.Countries = NewCountriesService(s)
150	s.CreativeAssets = NewCreativeAssetsService(s)
151	s.CreativeFieldValues = NewCreativeFieldValuesService(s)
152	s.CreativeFields = NewCreativeFieldsService(s)
153	s.CreativeGroups = NewCreativeGroupsService(s)
154	s.Creatives = NewCreativesService(s)
155	s.DimensionValues = NewDimensionValuesService(s)
156	s.DirectorySites = NewDirectorySitesService(s)
157	s.DynamicTargetingKeys = NewDynamicTargetingKeysService(s)
158	s.EventTags = NewEventTagsService(s)
159	s.Files = NewFilesService(s)
160	s.FloodlightActivities = NewFloodlightActivitiesService(s)
161	s.FloodlightActivityGroups = NewFloodlightActivityGroupsService(s)
162	s.FloodlightConfigurations = NewFloodlightConfigurationsService(s)
163	s.InventoryItems = NewInventoryItemsService(s)
164	s.Languages = NewLanguagesService(s)
165	s.Metros = NewMetrosService(s)
166	s.MobileApps = NewMobileAppsService(s)
167	s.MobileCarriers = NewMobileCarriersService(s)
168	s.OperatingSystemVersions = NewOperatingSystemVersionsService(s)
169	s.OperatingSystems = NewOperatingSystemsService(s)
170	s.OrderDocuments = NewOrderDocumentsService(s)
171	s.Orders = NewOrdersService(s)
172	s.PlacementGroups = NewPlacementGroupsService(s)
173	s.PlacementStrategies = NewPlacementStrategiesService(s)
174	s.Placements = NewPlacementsService(s)
175	s.PlatformTypes = NewPlatformTypesService(s)
176	s.PostalCodes = NewPostalCodesService(s)
177	s.Projects = NewProjectsService(s)
178	s.Regions = NewRegionsService(s)
179	s.RemarketingListShares = NewRemarketingListSharesService(s)
180	s.RemarketingLists = NewRemarketingListsService(s)
181	s.Reports = NewReportsService(s)
182	s.Sites = NewSitesService(s)
183	s.Sizes = NewSizesService(s)
184	s.Subaccounts = NewSubaccountsService(s)
185	s.TargetableRemarketingLists = NewTargetableRemarketingListsService(s)
186	s.TargetingTemplates = NewTargetingTemplatesService(s)
187	s.UserProfiles = NewUserProfilesService(s)
188	s.UserRolePermissionGroups = NewUserRolePermissionGroupsService(s)
189	s.UserRolePermissions = NewUserRolePermissionsService(s)
190	s.UserRoles = NewUserRolesService(s)
191	s.VideoFormats = NewVideoFormatsService(s)
192	return s, nil
193}
194
195type Service struct {
196	client    *http.Client
197	BasePath  string // API endpoint base URL
198	UserAgent string // optional additional User-Agent fragment
199
200	AccountActiveAdSummaries *AccountActiveAdSummariesService
201
202	AccountPermissionGroups *AccountPermissionGroupsService
203
204	AccountPermissions *AccountPermissionsService
205
206	AccountUserProfiles *AccountUserProfilesService
207
208	Accounts *AccountsService
209
210	Ads *AdsService
211
212	AdvertiserGroups *AdvertiserGroupsService
213
214	AdvertiserLandingPages *AdvertiserLandingPagesService
215
216	Advertisers *AdvertisersService
217
218	Browsers *BrowsersService
219
220	CampaignCreativeAssociations *CampaignCreativeAssociationsService
221
222	Campaigns *CampaignsService
223
224	ChangeLogs *ChangeLogsService
225
226	Cities *CitiesService
227
228	ConnectionTypes *ConnectionTypesService
229
230	ContentCategories *ContentCategoriesService
231
232	Conversions *ConversionsService
233
234	Countries *CountriesService
235
236	CreativeAssets *CreativeAssetsService
237
238	CreativeFieldValues *CreativeFieldValuesService
239
240	CreativeFields *CreativeFieldsService
241
242	CreativeGroups *CreativeGroupsService
243
244	Creatives *CreativesService
245
246	DimensionValues *DimensionValuesService
247
248	DirectorySites *DirectorySitesService
249
250	DynamicTargetingKeys *DynamicTargetingKeysService
251
252	EventTags *EventTagsService
253
254	Files *FilesService
255
256	FloodlightActivities *FloodlightActivitiesService
257
258	FloodlightActivityGroups *FloodlightActivityGroupsService
259
260	FloodlightConfigurations *FloodlightConfigurationsService
261
262	InventoryItems *InventoryItemsService
263
264	Languages *LanguagesService
265
266	Metros *MetrosService
267
268	MobileApps *MobileAppsService
269
270	MobileCarriers *MobileCarriersService
271
272	OperatingSystemVersions *OperatingSystemVersionsService
273
274	OperatingSystems *OperatingSystemsService
275
276	OrderDocuments *OrderDocumentsService
277
278	Orders *OrdersService
279
280	PlacementGroups *PlacementGroupsService
281
282	PlacementStrategies *PlacementStrategiesService
283
284	Placements *PlacementsService
285
286	PlatformTypes *PlatformTypesService
287
288	PostalCodes *PostalCodesService
289
290	Projects *ProjectsService
291
292	Regions *RegionsService
293
294	RemarketingListShares *RemarketingListSharesService
295
296	RemarketingLists *RemarketingListsService
297
298	Reports *ReportsService
299
300	Sites *SitesService
301
302	Sizes *SizesService
303
304	Subaccounts *SubaccountsService
305
306	TargetableRemarketingLists *TargetableRemarketingListsService
307
308	TargetingTemplates *TargetingTemplatesService
309
310	UserProfiles *UserProfilesService
311
312	UserRolePermissionGroups *UserRolePermissionGroupsService
313
314	UserRolePermissions *UserRolePermissionsService
315
316	UserRoles *UserRolesService
317
318	VideoFormats *VideoFormatsService
319}
320
321func (s *Service) userAgent() string {
322	if s.UserAgent == "" {
323		return googleapi.UserAgent
324	}
325	return googleapi.UserAgent + " " + s.UserAgent
326}
327
328func NewAccountActiveAdSummariesService(s *Service) *AccountActiveAdSummariesService {
329	rs := &AccountActiveAdSummariesService{s: s}
330	return rs
331}
332
333type AccountActiveAdSummariesService struct {
334	s *Service
335}
336
337func NewAccountPermissionGroupsService(s *Service) *AccountPermissionGroupsService {
338	rs := &AccountPermissionGroupsService{s: s}
339	return rs
340}
341
342type AccountPermissionGroupsService struct {
343	s *Service
344}
345
346func NewAccountPermissionsService(s *Service) *AccountPermissionsService {
347	rs := &AccountPermissionsService{s: s}
348	return rs
349}
350
351type AccountPermissionsService struct {
352	s *Service
353}
354
355func NewAccountUserProfilesService(s *Service) *AccountUserProfilesService {
356	rs := &AccountUserProfilesService{s: s}
357	return rs
358}
359
360type AccountUserProfilesService struct {
361	s *Service
362}
363
364func NewAccountsService(s *Service) *AccountsService {
365	rs := &AccountsService{s: s}
366	return rs
367}
368
369type AccountsService struct {
370	s *Service
371}
372
373func NewAdsService(s *Service) *AdsService {
374	rs := &AdsService{s: s}
375	return rs
376}
377
378type AdsService struct {
379	s *Service
380}
381
382func NewAdvertiserGroupsService(s *Service) *AdvertiserGroupsService {
383	rs := &AdvertiserGroupsService{s: s}
384	return rs
385}
386
387type AdvertiserGroupsService struct {
388	s *Service
389}
390
391func NewAdvertiserLandingPagesService(s *Service) *AdvertiserLandingPagesService {
392	rs := &AdvertiserLandingPagesService{s: s}
393	return rs
394}
395
396type AdvertiserLandingPagesService struct {
397	s *Service
398}
399
400func NewAdvertisersService(s *Service) *AdvertisersService {
401	rs := &AdvertisersService{s: s}
402	return rs
403}
404
405type AdvertisersService struct {
406	s *Service
407}
408
409func NewBrowsersService(s *Service) *BrowsersService {
410	rs := &BrowsersService{s: s}
411	return rs
412}
413
414type BrowsersService struct {
415	s *Service
416}
417
418func NewCampaignCreativeAssociationsService(s *Service) *CampaignCreativeAssociationsService {
419	rs := &CampaignCreativeAssociationsService{s: s}
420	return rs
421}
422
423type CampaignCreativeAssociationsService struct {
424	s *Service
425}
426
427func NewCampaignsService(s *Service) *CampaignsService {
428	rs := &CampaignsService{s: s}
429	return rs
430}
431
432type CampaignsService struct {
433	s *Service
434}
435
436func NewChangeLogsService(s *Service) *ChangeLogsService {
437	rs := &ChangeLogsService{s: s}
438	return rs
439}
440
441type ChangeLogsService struct {
442	s *Service
443}
444
445func NewCitiesService(s *Service) *CitiesService {
446	rs := &CitiesService{s: s}
447	return rs
448}
449
450type CitiesService struct {
451	s *Service
452}
453
454func NewConnectionTypesService(s *Service) *ConnectionTypesService {
455	rs := &ConnectionTypesService{s: s}
456	return rs
457}
458
459type ConnectionTypesService struct {
460	s *Service
461}
462
463func NewContentCategoriesService(s *Service) *ContentCategoriesService {
464	rs := &ContentCategoriesService{s: s}
465	return rs
466}
467
468type ContentCategoriesService struct {
469	s *Service
470}
471
472func NewConversionsService(s *Service) *ConversionsService {
473	rs := &ConversionsService{s: s}
474	return rs
475}
476
477type ConversionsService struct {
478	s *Service
479}
480
481func NewCountriesService(s *Service) *CountriesService {
482	rs := &CountriesService{s: s}
483	return rs
484}
485
486type CountriesService struct {
487	s *Service
488}
489
490func NewCreativeAssetsService(s *Service) *CreativeAssetsService {
491	rs := &CreativeAssetsService{s: s}
492	return rs
493}
494
495type CreativeAssetsService struct {
496	s *Service
497}
498
499func NewCreativeFieldValuesService(s *Service) *CreativeFieldValuesService {
500	rs := &CreativeFieldValuesService{s: s}
501	return rs
502}
503
504type CreativeFieldValuesService struct {
505	s *Service
506}
507
508func NewCreativeFieldsService(s *Service) *CreativeFieldsService {
509	rs := &CreativeFieldsService{s: s}
510	return rs
511}
512
513type CreativeFieldsService struct {
514	s *Service
515}
516
517func NewCreativeGroupsService(s *Service) *CreativeGroupsService {
518	rs := &CreativeGroupsService{s: s}
519	return rs
520}
521
522type CreativeGroupsService struct {
523	s *Service
524}
525
526func NewCreativesService(s *Service) *CreativesService {
527	rs := &CreativesService{s: s}
528	return rs
529}
530
531type CreativesService struct {
532	s *Service
533}
534
535func NewDimensionValuesService(s *Service) *DimensionValuesService {
536	rs := &DimensionValuesService{s: s}
537	return rs
538}
539
540type DimensionValuesService struct {
541	s *Service
542}
543
544func NewDirectorySitesService(s *Service) *DirectorySitesService {
545	rs := &DirectorySitesService{s: s}
546	return rs
547}
548
549type DirectorySitesService struct {
550	s *Service
551}
552
553func NewDynamicTargetingKeysService(s *Service) *DynamicTargetingKeysService {
554	rs := &DynamicTargetingKeysService{s: s}
555	return rs
556}
557
558type DynamicTargetingKeysService struct {
559	s *Service
560}
561
562func NewEventTagsService(s *Service) *EventTagsService {
563	rs := &EventTagsService{s: s}
564	return rs
565}
566
567type EventTagsService struct {
568	s *Service
569}
570
571func NewFilesService(s *Service) *FilesService {
572	rs := &FilesService{s: s}
573	return rs
574}
575
576type FilesService struct {
577	s *Service
578}
579
580func NewFloodlightActivitiesService(s *Service) *FloodlightActivitiesService {
581	rs := &FloodlightActivitiesService{s: s}
582	return rs
583}
584
585type FloodlightActivitiesService struct {
586	s *Service
587}
588
589func NewFloodlightActivityGroupsService(s *Service) *FloodlightActivityGroupsService {
590	rs := &FloodlightActivityGroupsService{s: s}
591	return rs
592}
593
594type FloodlightActivityGroupsService struct {
595	s *Service
596}
597
598func NewFloodlightConfigurationsService(s *Service) *FloodlightConfigurationsService {
599	rs := &FloodlightConfigurationsService{s: s}
600	return rs
601}
602
603type FloodlightConfigurationsService struct {
604	s *Service
605}
606
607func NewInventoryItemsService(s *Service) *InventoryItemsService {
608	rs := &InventoryItemsService{s: s}
609	return rs
610}
611
612type InventoryItemsService struct {
613	s *Service
614}
615
616func NewLanguagesService(s *Service) *LanguagesService {
617	rs := &LanguagesService{s: s}
618	return rs
619}
620
621type LanguagesService struct {
622	s *Service
623}
624
625func NewMetrosService(s *Service) *MetrosService {
626	rs := &MetrosService{s: s}
627	return rs
628}
629
630type MetrosService struct {
631	s *Service
632}
633
634func NewMobileAppsService(s *Service) *MobileAppsService {
635	rs := &MobileAppsService{s: s}
636	return rs
637}
638
639type MobileAppsService struct {
640	s *Service
641}
642
643func NewMobileCarriersService(s *Service) *MobileCarriersService {
644	rs := &MobileCarriersService{s: s}
645	return rs
646}
647
648type MobileCarriersService struct {
649	s *Service
650}
651
652func NewOperatingSystemVersionsService(s *Service) *OperatingSystemVersionsService {
653	rs := &OperatingSystemVersionsService{s: s}
654	return rs
655}
656
657type OperatingSystemVersionsService struct {
658	s *Service
659}
660
661func NewOperatingSystemsService(s *Service) *OperatingSystemsService {
662	rs := &OperatingSystemsService{s: s}
663	return rs
664}
665
666type OperatingSystemsService struct {
667	s *Service
668}
669
670func NewOrderDocumentsService(s *Service) *OrderDocumentsService {
671	rs := &OrderDocumentsService{s: s}
672	return rs
673}
674
675type OrderDocumentsService struct {
676	s *Service
677}
678
679func NewOrdersService(s *Service) *OrdersService {
680	rs := &OrdersService{s: s}
681	return rs
682}
683
684type OrdersService struct {
685	s *Service
686}
687
688func NewPlacementGroupsService(s *Service) *PlacementGroupsService {
689	rs := &PlacementGroupsService{s: s}
690	return rs
691}
692
693type PlacementGroupsService struct {
694	s *Service
695}
696
697func NewPlacementStrategiesService(s *Service) *PlacementStrategiesService {
698	rs := &PlacementStrategiesService{s: s}
699	return rs
700}
701
702type PlacementStrategiesService struct {
703	s *Service
704}
705
706func NewPlacementsService(s *Service) *PlacementsService {
707	rs := &PlacementsService{s: s}
708	return rs
709}
710
711type PlacementsService struct {
712	s *Service
713}
714
715func NewPlatformTypesService(s *Service) *PlatformTypesService {
716	rs := &PlatformTypesService{s: s}
717	return rs
718}
719
720type PlatformTypesService struct {
721	s *Service
722}
723
724func NewPostalCodesService(s *Service) *PostalCodesService {
725	rs := &PostalCodesService{s: s}
726	return rs
727}
728
729type PostalCodesService struct {
730	s *Service
731}
732
733func NewProjectsService(s *Service) *ProjectsService {
734	rs := &ProjectsService{s: s}
735	return rs
736}
737
738type ProjectsService struct {
739	s *Service
740}
741
742func NewRegionsService(s *Service) *RegionsService {
743	rs := &RegionsService{s: s}
744	return rs
745}
746
747type RegionsService struct {
748	s *Service
749}
750
751func NewRemarketingListSharesService(s *Service) *RemarketingListSharesService {
752	rs := &RemarketingListSharesService{s: s}
753	return rs
754}
755
756type RemarketingListSharesService struct {
757	s *Service
758}
759
760func NewRemarketingListsService(s *Service) *RemarketingListsService {
761	rs := &RemarketingListsService{s: s}
762	return rs
763}
764
765type RemarketingListsService struct {
766	s *Service
767}
768
769func NewReportsService(s *Service) *ReportsService {
770	rs := &ReportsService{s: s}
771	rs.CompatibleFields = NewReportsCompatibleFieldsService(s)
772	rs.Files = NewReportsFilesService(s)
773	return rs
774}
775
776type ReportsService struct {
777	s *Service
778
779	CompatibleFields *ReportsCompatibleFieldsService
780
781	Files *ReportsFilesService
782}
783
784func NewReportsCompatibleFieldsService(s *Service) *ReportsCompatibleFieldsService {
785	rs := &ReportsCompatibleFieldsService{s: s}
786	return rs
787}
788
789type ReportsCompatibleFieldsService struct {
790	s *Service
791}
792
793func NewReportsFilesService(s *Service) *ReportsFilesService {
794	rs := &ReportsFilesService{s: s}
795	return rs
796}
797
798type ReportsFilesService struct {
799	s *Service
800}
801
802func NewSitesService(s *Service) *SitesService {
803	rs := &SitesService{s: s}
804	return rs
805}
806
807type SitesService struct {
808	s *Service
809}
810
811func NewSizesService(s *Service) *SizesService {
812	rs := &SizesService{s: s}
813	return rs
814}
815
816type SizesService struct {
817	s *Service
818}
819
820func NewSubaccountsService(s *Service) *SubaccountsService {
821	rs := &SubaccountsService{s: s}
822	return rs
823}
824
825type SubaccountsService struct {
826	s *Service
827}
828
829func NewTargetableRemarketingListsService(s *Service) *TargetableRemarketingListsService {
830	rs := &TargetableRemarketingListsService{s: s}
831	return rs
832}
833
834type TargetableRemarketingListsService struct {
835	s *Service
836}
837
838func NewTargetingTemplatesService(s *Service) *TargetingTemplatesService {
839	rs := &TargetingTemplatesService{s: s}
840	return rs
841}
842
843type TargetingTemplatesService struct {
844	s *Service
845}
846
847func NewUserProfilesService(s *Service) *UserProfilesService {
848	rs := &UserProfilesService{s: s}
849	return rs
850}
851
852type UserProfilesService struct {
853	s *Service
854}
855
856func NewUserRolePermissionGroupsService(s *Service) *UserRolePermissionGroupsService {
857	rs := &UserRolePermissionGroupsService{s: s}
858	return rs
859}
860
861type UserRolePermissionGroupsService struct {
862	s *Service
863}
864
865func NewUserRolePermissionsService(s *Service) *UserRolePermissionsService {
866	rs := &UserRolePermissionsService{s: s}
867	return rs
868}
869
870type UserRolePermissionsService struct {
871	s *Service
872}
873
874func NewUserRolesService(s *Service) *UserRolesService {
875	rs := &UserRolesService{s: s}
876	return rs
877}
878
879type UserRolesService struct {
880	s *Service
881}
882
883func NewVideoFormatsService(s *Service) *VideoFormatsService {
884	rs := &VideoFormatsService{s: s}
885	return rs
886}
887
888type VideoFormatsService struct {
889	s *Service
890}
891
892// Account: Contains properties of a Campaign Manager account.
893type Account struct {
894	// AccountPermissionIds: Account permissions assigned to this account.
895	AccountPermissionIds googleapi.Int64s `json:"accountPermissionIds,omitempty"`
896
897	// AccountProfile: Profile for this account. This is a read-only field
898	// that can be left blank.
899	//
900	// Possible values:
901	//   "ACCOUNT_PROFILE_BASIC"
902	//   "ACCOUNT_PROFILE_STANDARD"
903	AccountProfile string `json:"accountProfile,omitempty"`
904
905	// Active: Whether this account is active.
906	Active bool `json:"active,omitempty"`
907
908	// ActiveAdsLimitTier: Maximum number of active ads allowed for this
909	// account.
910	//
911	// Possible values:
912	//   "ACTIVE_ADS_TIER_40K"
913	//   "ACTIVE_ADS_TIER_75K"
914	//   "ACTIVE_ADS_TIER_100K"
915	//   "ACTIVE_ADS_TIER_200K"
916	//   "ACTIVE_ADS_TIER_300K"
917	//   "ACTIVE_ADS_TIER_500K"
918	//   "ACTIVE_ADS_TIER_750K"
919	//   "ACTIVE_ADS_TIER_1M"
920	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
921
922	// ActiveViewOptOut: Whether to serve creatives with Active View tags.
923	// If disabled, viewability data will not be available for any
924	// impressions.
925	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
926
927	// AvailablePermissionIds: User role permissions available to the user
928	// roles of this account.
929	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
930
931	// CountryId: ID of the country associated with this account.
932	CountryId int64 `json:"countryId,omitempty,string"`
933
934	// CurrencyId: ID of currency associated with this account. This is a
935	// required field. Acceptable values are: - "1" for USD - "2" for GBP -
936	// "3" for ESP - "4" for SEK - "5" for CAD - "6" for JPY - "7" for DEM -
937	// "8" for AUD - "9" for FRF - "10" for ITL - "11" for DKK - "12" for
938	// NOK - "13" for FIM - "14" for ZAR - "15" for IEP - "16" for NLG -
939	// "17" for EUR - "18" for KRW - "19" for TWD - "20" for SGD - "21" for
940	// CNY - "22" for HKD - "23" for NZD - "24" for MYR - "25" for BRL -
941	// "26" for PTE - "28" for CLP - "29" for TRY - "30" for ARS - "31" for
942	// PEN - "32" for ILS - "33" for CHF - "34" for VEF - "35" for COP -
943	// "36" for GTQ - "37" for PLN - "39" for INR - "40" for THB - "41" for
944	// IDR - "42" for CZK - "43" for RON - "44" for HUF - "45" for RUB -
945	// "46" for AED - "47" for BGN - "48" for HRK - "49" for MXN - "50" for
946	// NGN - "51" for EGP
947	CurrencyId int64 `json:"currencyId,omitempty,string"`
948
949	// DefaultCreativeSizeId: Default placement dimensions for this account.
950	DefaultCreativeSizeId int64 `json:"defaultCreativeSizeId,omitempty,string"`
951
952	// Description: Description of this account.
953	Description string `json:"description,omitempty"`
954
955	// Id: ID of this account. This is a read-only, auto-generated field.
956	Id int64 `json:"id,omitempty,string"`
957
958	// Kind: Identifies what kind of resource this is. Value: the fixed
959	// string "dfareporting#account".
960	Kind string `json:"kind,omitempty"`
961
962	// Locale: Locale of this account. Acceptable values are: - "cs" (Czech)
963	// - "de" (German) - "en" (English) - "en-GB" (English United Kingdom) -
964	// "es" (Spanish) - "fr" (French) - "it" (Italian) - "ja" (Japanese) -
965	// "ko" (Korean) - "pl" (Polish) - "pt-BR" (Portuguese Brazil) - "ru"
966	// (Russian) - "sv" (Swedish) - "tr" (Turkish) - "zh-CN" (Chinese
967	// Simplified) - "zh-TW" (Chinese Traditional)
968	Locale string `json:"locale,omitempty"`
969
970	// MaximumImageSize: Maximum image size allowed for this account, in
971	// kilobytes. Value must be greater than or equal to 1.
972	MaximumImageSize int64 `json:"maximumImageSize,omitempty,string"`
973
974	// Name: Name of this account. This is a required field, and must be
975	// less than 128 characters long and be globally unique.
976	Name string `json:"name,omitempty"`
977
978	// NielsenOcrEnabled: Whether campaigns created in this account will be
979	// enabled for Nielsen OCR reach ratings by default.
980	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
981
982	// ReportsConfiguration: Reporting configuration of this account.
983	ReportsConfiguration *ReportsConfiguration `json:"reportsConfiguration,omitempty"`
984
985	// ShareReportsWithTwitter: Share Path to Conversion reports with
986	// Twitter.
987	ShareReportsWithTwitter bool `json:"shareReportsWithTwitter,omitempty"`
988
989	// TeaserSizeLimit: File size limit in kilobytes of Rich Media teaser
990	// creatives. Acceptable values are 1 to 10240, inclusive.
991	TeaserSizeLimit int64 `json:"teaserSizeLimit,omitempty,string"`
992
993	// ServerResponse contains the HTTP response code and headers from the
994	// server.
995	googleapi.ServerResponse `json:"-"`
996
997	// ForceSendFields is a list of field names (e.g.
998	// "AccountPermissionIds") to unconditionally include in API requests.
999	// By default, fields with empty values are omitted from API requests.
1000	// However, any non-pointer, non-interface field appearing in
1001	// ForceSendFields will be sent to the server regardless of whether the
1002	// field is empty or not. This may be used to include empty fields in
1003	// Patch requests.
1004	ForceSendFields []string `json:"-"`
1005
1006	// NullFields is a list of field names (e.g. "AccountPermissionIds") to
1007	// include in API requests with the JSON null value. By default, fields
1008	// with empty values are omitted from API requests. However, any field
1009	// with an empty value appearing in NullFields will be sent to the
1010	// server as null. It is an error if a field in this list has a
1011	// non-empty value. This may be used to include null fields in Patch
1012	// requests.
1013	NullFields []string `json:"-"`
1014}
1015
1016func (s *Account) MarshalJSON() ([]byte, error) {
1017	type NoMethod Account
1018	raw := NoMethod(*s)
1019	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1020}
1021
1022// AccountActiveAdSummary: Gets a summary of active ads in an account.
1023type AccountActiveAdSummary struct {
1024	// AccountId: ID of the account.
1025	AccountId int64 `json:"accountId,omitempty,string"`
1026
1027	// ActiveAds: Ads that have been activated for the account
1028	ActiveAds int64 `json:"activeAds,omitempty,string"`
1029
1030	// ActiveAdsLimitTier: Maximum number of active ads allowed for the
1031	// account.
1032	//
1033	// Possible values:
1034	//   "ACTIVE_ADS_TIER_40K"
1035	//   "ACTIVE_ADS_TIER_75K"
1036	//   "ACTIVE_ADS_TIER_100K"
1037	//   "ACTIVE_ADS_TIER_200K"
1038	//   "ACTIVE_ADS_TIER_300K"
1039	//   "ACTIVE_ADS_TIER_500K"
1040	//   "ACTIVE_ADS_TIER_750K"
1041	//   "ACTIVE_ADS_TIER_1M"
1042	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
1043
1044	// AvailableAds: Ads that can be activated for the account.
1045	AvailableAds int64 `json:"availableAds,omitempty,string"`
1046
1047	// Kind: Identifies what kind of resource this is. Value: the fixed
1048	// string "dfareporting#accountActiveAdSummary".
1049	Kind string `json:"kind,omitempty"`
1050
1051	// ServerResponse contains the HTTP response code and headers from the
1052	// server.
1053	googleapi.ServerResponse `json:"-"`
1054
1055	// ForceSendFields is a list of field names (e.g. "AccountId") to
1056	// unconditionally include in API requests. By default, fields with
1057	// empty values are omitted from API requests. However, any non-pointer,
1058	// non-interface field appearing in ForceSendFields will be sent to the
1059	// server regardless of whether the field is empty or not. This may be
1060	// used to include empty fields in Patch requests.
1061	ForceSendFields []string `json:"-"`
1062
1063	// NullFields is a list of field names (e.g. "AccountId") to include in
1064	// API requests with the JSON null value. By default, fields with empty
1065	// values are omitted from API requests. However, any field with an
1066	// empty value appearing in NullFields will be sent to the server as
1067	// null. It is an error if a field in this list has a non-empty value.
1068	// This may be used to include null fields in Patch requests.
1069	NullFields []string `json:"-"`
1070}
1071
1072func (s *AccountActiveAdSummary) MarshalJSON() ([]byte, error) {
1073	type NoMethod AccountActiveAdSummary
1074	raw := NoMethod(*s)
1075	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1076}
1077
1078// AccountPermission: AccountPermissions contains information about a
1079// particular account permission. Some features of Campaign Manager
1080// require an account permission to be present in the account.
1081type AccountPermission struct {
1082	// AccountProfiles: Account profiles associated with this account
1083	// permission. Possible values are: - "ACCOUNT_PROFILE_BASIC" -
1084	// "ACCOUNT_PROFILE_STANDARD"
1085	//
1086	// Possible values:
1087	//   "ACCOUNT_PROFILE_BASIC"
1088	//   "ACCOUNT_PROFILE_STANDARD"
1089	AccountProfiles []string `json:"accountProfiles,omitempty"`
1090
1091	// Id: ID of this account permission.
1092	Id int64 `json:"id,omitempty,string"`
1093
1094	// Kind: Identifies what kind of resource this is. Value: the fixed
1095	// string "dfareporting#accountPermission".
1096	Kind string `json:"kind,omitempty"`
1097
1098	// Level: Administrative level required to enable this account
1099	// permission.
1100	//
1101	// Possible values:
1102	//   "USER"
1103	//   "ADMINISTRATOR"
1104	Level string `json:"level,omitempty"`
1105
1106	// Name: Name of this account permission.
1107	Name string `json:"name,omitempty"`
1108
1109	// PermissionGroupId: Permission group of this account permission.
1110	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
1111
1112	// ServerResponse contains the HTTP response code and headers from the
1113	// server.
1114	googleapi.ServerResponse `json:"-"`
1115
1116	// ForceSendFields is a list of field names (e.g. "AccountProfiles") to
1117	// unconditionally include in API requests. By default, fields with
1118	// empty values are omitted from API requests. However, any non-pointer,
1119	// non-interface field appearing in ForceSendFields will be sent to the
1120	// server regardless of whether the field is empty or not. This may be
1121	// used to include empty fields in Patch requests.
1122	ForceSendFields []string `json:"-"`
1123
1124	// NullFields is a list of field names (e.g. "AccountProfiles") to
1125	// include in API requests with the JSON null value. By default, fields
1126	// with empty values are omitted from API requests. However, any field
1127	// with an empty value appearing in NullFields will be sent to the
1128	// server as null. It is an error if a field in this list has a
1129	// non-empty value. This may be used to include null fields in Patch
1130	// requests.
1131	NullFields []string `json:"-"`
1132}
1133
1134func (s *AccountPermission) MarshalJSON() ([]byte, error) {
1135	type NoMethod AccountPermission
1136	raw := NoMethod(*s)
1137	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1138}
1139
1140// AccountPermissionGroup: AccountPermissionGroups contains a mapping of
1141// permission group IDs to names. A permission group is a grouping of
1142// account permissions.
1143type AccountPermissionGroup struct {
1144	// Id: ID of this account permission group.
1145	Id int64 `json:"id,omitempty,string"`
1146
1147	// Kind: Identifies what kind of resource this is. Value: the fixed
1148	// string "dfareporting#accountPermissionGroup".
1149	Kind string `json:"kind,omitempty"`
1150
1151	// Name: Name of this account permission group.
1152	Name string `json:"name,omitempty"`
1153
1154	// ServerResponse contains the HTTP response code and headers from the
1155	// server.
1156	googleapi.ServerResponse `json:"-"`
1157
1158	// ForceSendFields is a list of field names (e.g. "Id") to
1159	// unconditionally include in API requests. By default, fields with
1160	// empty values are omitted from API requests. However, any non-pointer,
1161	// non-interface field appearing in ForceSendFields will be sent to the
1162	// server regardless of whether the field is empty or not. This may be
1163	// used to include empty fields in Patch requests.
1164	ForceSendFields []string `json:"-"`
1165
1166	// NullFields is a list of field names (e.g. "Id") to include in API
1167	// requests with the JSON null value. By default, fields with empty
1168	// values are omitted from API requests. However, any field with an
1169	// empty value appearing in NullFields will be sent to the server as
1170	// null. It is an error if a field in this list has a non-empty value.
1171	// This may be used to include null fields in Patch requests.
1172	NullFields []string `json:"-"`
1173}
1174
1175func (s *AccountPermissionGroup) MarshalJSON() ([]byte, error) {
1176	type NoMethod AccountPermissionGroup
1177	raw := NoMethod(*s)
1178	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1179}
1180
1181// AccountPermissionGroupsListResponse: Account Permission Group List
1182// Response
1183type AccountPermissionGroupsListResponse struct {
1184	// AccountPermissionGroups: Account permission group collection.
1185	AccountPermissionGroups []*AccountPermissionGroup `json:"accountPermissionGroups,omitempty"`
1186
1187	// Kind: Identifies what kind of resource this is. Value: the fixed
1188	// string "dfareporting#accountPermissionGroupsListResponse".
1189	Kind string `json:"kind,omitempty"`
1190
1191	// ServerResponse contains the HTTP response code and headers from the
1192	// server.
1193	googleapi.ServerResponse `json:"-"`
1194
1195	// ForceSendFields is a list of field names (e.g.
1196	// "AccountPermissionGroups") to unconditionally include in API
1197	// requests. By default, fields with empty values are omitted from API
1198	// requests. However, any non-pointer, non-interface field appearing in
1199	// ForceSendFields will be sent to the server regardless of whether the
1200	// field is empty or not. This may be used to include empty fields in
1201	// Patch requests.
1202	ForceSendFields []string `json:"-"`
1203
1204	// NullFields is a list of field names (e.g. "AccountPermissionGroups")
1205	// to include in API requests with the JSON null value. By default,
1206	// fields with empty values are omitted from API requests. However, any
1207	// field with an empty value appearing in NullFields will be sent to the
1208	// server as null. It is an error if a field in this list has a
1209	// non-empty value. This may be used to include null fields in Patch
1210	// requests.
1211	NullFields []string `json:"-"`
1212}
1213
1214func (s *AccountPermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
1215	type NoMethod AccountPermissionGroupsListResponse
1216	raw := NoMethod(*s)
1217	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1218}
1219
1220// AccountPermissionsListResponse: Account Permission List Response
1221type AccountPermissionsListResponse struct {
1222	// AccountPermissions: Account permission collection.
1223	AccountPermissions []*AccountPermission `json:"accountPermissions,omitempty"`
1224
1225	// Kind: Identifies what kind of resource this is. Value: the fixed
1226	// string "dfareporting#accountPermissionsListResponse".
1227	Kind string `json:"kind,omitempty"`
1228
1229	// ServerResponse contains the HTTP response code and headers from the
1230	// server.
1231	googleapi.ServerResponse `json:"-"`
1232
1233	// ForceSendFields is a list of field names (e.g. "AccountPermissions")
1234	// to unconditionally include in API requests. By default, fields with
1235	// empty values are omitted from API requests. However, any non-pointer,
1236	// non-interface field appearing in ForceSendFields will be sent to the
1237	// server regardless of whether the field is empty or not. This may be
1238	// used to include empty fields in Patch requests.
1239	ForceSendFields []string `json:"-"`
1240
1241	// NullFields is a list of field names (e.g. "AccountPermissions") to
1242	// include in API requests with the JSON null value. By default, fields
1243	// with empty values are omitted from API requests. However, any field
1244	// with an empty value appearing in NullFields will be sent to the
1245	// server as null. It is an error if a field in this list has a
1246	// non-empty value. This may be used to include null fields in Patch
1247	// requests.
1248	NullFields []string `json:"-"`
1249}
1250
1251func (s *AccountPermissionsListResponse) MarshalJSON() ([]byte, error) {
1252	type NoMethod AccountPermissionsListResponse
1253	raw := NoMethod(*s)
1254	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1255}
1256
1257// AccountUserProfile: AccountUserProfiles contains properties of a
1258// Campaign Manager user profile. This resource is specifically for
1259// managing user profiles, whereas UserProfiles is for accessing the
1260// API.
1261type AccountUserProfile struct {
1262	// AccountId: Account ID of the user profile. This is a read-only field
1263	// that can be left blank.
1264	AccountId int64 `json:"accountId,omitempty,string"`
1265
1266	// Active: Whether this user profile is active. This defaults to false,
1267	// and must be set true on insert for the user profile to be usable.
1268	Active bool `json:"active,omitempty"`
1269
1270	// AdvertiserFilter: Filter that describes which advertisers are visible
1271	// to the user profile.
1272	AdvertiserFilter *ObjectFilter `json:"advertiserFilter,omitempty"`
1273
1274	// CampaignFilter: Filter that describes which campaigns are visible to
1275	// the user profile.
1276	CampaignFilter *ObjectFilter `json:"campaignFilter,omitempty"`
1277
1278	// Comments: Comments for this user profile.
1279	Comments string `json:"comments,omitempty"`
1280
1281	// Email: Email of the user profile. The email addresss must be linked
1282	// to a Google Account. This field is required on insertion and is
1283	// read-only after insertion.
1284	Email string `json:"email,omitempty"`
1285
1286	// Id: ID of the user profile. This is a read-only, auto-generated
1287	// field.
1288	Id int64 `json:"id,omitempty,string"`
1289
1290	// Kind: Identifies what kind of resource this is. Value: the fixed
1291	// string "dfareporting#accountUserProfile".
1292	Kind string `json:"kind,omitempty"`
1293
1294	// Locale: Locale of the user profile. This is a required field.
1295	// Acceptable values are: - "cs" (Czech) - "de" (German) - "en"
1296	// (English) - "en-GB" (English United Kingdom) - "es" (Spanish) - "fr"
1297	// (French) - "it" (Italian) - "ja" (Japanese) - "ko" (Korean) - "pl"
1298	// (Polish) - "pt-BR" (Portuguese Brazil) - "ru" (Russian) - "sv"
1299	// (Swedish) - "tr" (Turkish) - "zh-CN" (Chinese Simplified) - "zh-TW"
1300	// (Chinese Traditional)
1301	Locale string `json:"locale,omitempty"`
1302
1303	// Name: Name of the user profile. This is a required field. Must be
1304	// less than 64 characters long, must be globally unique, and cannot
1305	// contain whitespace or any of the following characters: "&;<>"#%,".
1306	Name string `json:"name,omitempty"`
1307
1308	// SiteFilter: Filter that describes which sites are visible to the user
1309	// profile.
1310	SiteFilter *ObjectFilter `json:"siteFilter,omitempty"`
1311
1312	// SubaccountId: Subaccount ID of the user profile. This is a read-only
1313	// field that can be left blank.
1314	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1315
1316	// TraffickerType: Trafficker type of this user profile. This is a
1317	// read-only field.
1318	//
1319	// Possible values:
1320	//   "INTERNAL_NON_TRAFFICKER"
1321	//   "INTERNAL_TRAFFICKER"
1322	//   "EXTERNAL_TRAFFICKER"
1323	TraffickerType string `json:"traffickerType,omitempty"`
1324
1325	// UserAccessType: User type of the user profile. This is a read-only
1326	// field that can be left blank.
1327	//
1328	// Possible values:
1329	//   "NORMAL_USER"
1330	//   "SUPER_USER"
1331	//   "INTERNAL_ADMINISTRATOR"
1332	//   "READ_ONLY_SUPER_USER"
1333	UserAccessType string `json:"userAccessType,omitempty"`
1334
1335	// UserRoleFilter: Filter that describes which user roles are visible to
1336	// the user profile.
1337	UserRoleFilter *ObjectFilter `json:"userRoleFilter,omitempty"`
1338
1339	// UserRoleId: User role ID of the user profile. This is a required
1340	// field.
1341	UserRoleId int64 `json:"userRoleId,omitempty,string"`
1342
1343	// ServerResponse contains the HTTP response code and headers from the
1344	// server.
1345	googleapi.ServerResponse `json:"-"`
1346
1347	// ForceSendFields is a list of field names (e.g. "AccountId") to
1348	// unconditionally include in API requests. By default, fields with
1349	// empty values are omitted from API requests. However, any non-pointer,
1350	// non-interface field appearing in ForceSendFields will be sent to the
1351	// server regardless of whether the field is empty or not. This may be
1352	// used to include empty fields in Patch requests.
1353	ForceSendFields []string `json:"-"`
1354
1355	// NullFields is a list of field names (e.g. "AccountId") to include in
1356	// API requests with the JSON null value. By default, fields with empty
1357	// values are omitted from API requests. However, any field with an
1358	// empty value appearing in NullFields will be sent to the server as
1359	// null. It is an error if a field in this list has a non-empty value.
1360	// This may be used to include null fields in Patch requests.
1361	NullFields []string `json:"-"`
1362}
1363
1364func (s *AccountUserProfile) MarshalJSON() ([]byte, error) {
1365	type NoMethod AccountUserProfile
1366	raw := NoMethod(*s)
1367	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1368}
1369
1370// AccountUserProfilesListResponse: Account User Profile List Response
1371type AccountUserProfilesListResponse struct {
1372	// AccountUserProfiles: Account user profile collection.
1373	AccountUserProfiles []*AccountUserProfile `json:"accountUserProfiles,omitempty"`
1374
1375	// Kind: Identifies what kind of resource this is. Value: the fixed
1376	// string "dfareporting#accountUserProfilesListResponse".
1377	Kind string `json:"kind,omitempty"`
1378
1379	// NextPageToken: Pagination token to be used for the next list
1380	// operation.
1381	NextPageToken string `json:"nextPageToken,omitempty"`
1382
1383	// ServerResponse contains the HTTP response code and headers from the
1384	// server.
1385	googleapi.ServerResponse `json:"-"`
1386
1387	// ForceSendFields is a list of field names (e.g. "AccountUserProfiles")
1388	// to unconditionally include in API requests. By default, fields with
1389	// empty values are omitted from API requests. However, any non-pointer,
1390	// non-interface field appearing in ForceSendFields will be sent to the
1391	// server regardless of whether the field is empty or not. This may be
1392	// used to include empty fields in Patch requests.
1393	ForceSendFields []string `json:"-"`
1394
1395	// NullFields is a list of field names (e.g. "AccountUserProfiles") to
1396	// include in API requests with the JSON null value. By default, fields
1397	// with empty values are omitted from API requests. However, any field
1398	// with an empty value appearing in NullFields will be sent to the
1399	// server as null. It is an error if a field in this list has a
1400	// non-empty value. This may be used to include null fields in Patch
1401	// requests.
1402	NullFields []string `json:"-"`
1403}
1404
1405func (s *AccountUserProfilesListResponse) MarshalJSON() ([]byte, error) {
1406	type NoMethod AccountUserProfilesListResponse
1407	raw := NoMethod(*s)
1408	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1409}
1410
1411// AccountsListResponse: Account List Response
1412type AccountsListResponse struct {
1413	// Accounts: Account collection.
1414	Accounts []*Account `json:"accounts,omitempty"`
1415
1416	// Kind: Identifies what kind of resource this is. Value: the fixed
1417	// string "dfareporting#accountsListResponse".
1418	Kind string `json:"kind,omitempty"`
1419
1420	// NextPageToken: Pagination token to be used for the next list
1421	// operation.
1422	NextPageToken string `json:"nextPageToken,omitempty"`
1423
1424	// ServerResponse contains the HTTP response code and headers from the
1425	// server.
1426	googleapi.ServerResponse `json:"-"`
1427
1428	// ForceSendFields is a list of field names (e.g. "Accounts") to
1429	// unconditionally include in API requests. By default, fields with
1430	// empty values are omitted from API requests. However, any non-pointer,
1431	// non-interface field appearing in ForceSendFields will be sent to the
1432	// server regardless of whether the field is empty or not. This may be
1433	// used to include empty fields in Patch requests.
1434	ForceSendFields []string `json:"-"`
1435
1436	// NullFields is a list of field names (e.g. "Accounts") to include in
1437	// API requests with the JSON null value. By default, fields with empty
1438	// values are omitted from API requests. However, any field with an
1439	// empty value appearing in NullFields will be sent to the server as
1440	// null. It is an error if a field in this list has a non-empty value.
1441	// This may be used to include null fields in Patch requests.
1442	NullFields []string `json:"-"`
1443}
1444
1445func (s *AccountsListResponse) MarshalJSON() ([]byte, error) {
1446	type NoMethod AccountsListResponse
1447	raw := NoMethod(*s)
1448	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1449}
1450
1451// Activities: Represents an activity group.
1452type Activities struct {
1453	// Filters: List of activity filters. The dimension values need to be
1454	// all either of type "dfa:activity" or "dfa:activityGroup".
1455	Filters []*DimensionValue `json:"filters,omitempty"`
1456
1457	// Kind: The kind of resource this is, in this case
1458	// dfareporting#activities.
1459	Kind string `json:"kind,omitempty"`
1460
1461	// MetricNames: List of names of floodlight activity metrics.
1462	MetricNames []string `json:"metricNames,omitempty"`
1463
1464	// ForceSendFields is a list of field names (e.g. "Filters") to
1465	// unconditionally include in API requests. By default, fields with
1466	// empty values are omitted from API requests. However, any non-pointer,
1467	// non-interface field appearing in ForceSendFields will be sent to the
1468	// server regardless of whether the field is empty or not. This may be
1469	// used to include empty fields in Patch requests.
1470	ForceSendFields []string `json:"-"`
1471
1472	// NullFields is a list of field names (e.g. "Filters") to include in
1473	// API requests with the JSON null value. By default, fields with empty
1474	// values are omitted from API requests. However, any field with an
1475	// empty value appearing in NullFields will be sent to the server as
1476	// null. It is an error if a field in this list has a non-empty value.
1477	// This may be used to include null fields in Patch requests.
1478	NullFields []string `json:"-"`
1479}
1480
1481func (s *Activities) MarshalJSON() ([]byte, error) {
1482	type NoMethod Activities
1483	raw := NoMethod(*s)
1484	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1485}
1486
1487// Ad: Contains properties of a Campaign Manager ad.
1488type Ad struct {
1489	// AccountId: Account ID of this ad. This is a read-only field that can
1490	// be left blank.
1491	AccountId int64 `json:"accountId,omitempty,string"`
1492
1493	// Active: Whether this ad is active. When true, archived must be false.
1494	Active bool `json:"active,omitempty"`
1495
1496	// AdvertiserId: Advertiser ID of this ad. This is a required field on
1497	// insertion.
1498	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
1499
1500	// AdvertiserIdDimensionValue: Dimension value for the ID of the
1501	// advertiser. This is a read-only, auto-generated field.
1502	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
1503
1504	// Archived: Whether this ad is archived. When true, active must be
1505	// false.
1506	Archived bool `json:"archived,omitempty"`
1507
1508	// AudienceSegmentId: Audience segment ID that is being targeted for
1509	// this ad. Applicable when type is AD_SERVING_STANDARD_AD.
1510	AudienceSegmentId int64 `json:"audienceSegmentId,omitempty,string"`
1511
1512	// CampaignId: Campaign ID of this ad. This is a required field on
1513	// insertion.
1514	CampaignId int64 `json:"campaignId,omitempty,string"`
1515
1516	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
1517	// This is a read-only, auto-generated field.
1518	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
1519
1520	// ClickThroughUrl: Click-through URL for this ad. This is a required
1521	// field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
1522	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
1523
1524	// ClickThroughUrlSuffixProperties: Click-through URL suffix properties
1525	// for this ad. Applies to the URL in the ad or (if overriding ad
1526	// properties) the URL in the creative.
1527	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
1528
1529	// Comments: Comments for this ad.
1530	Comments string `json:"comments,omitempty"`
1531
1532	// Compatibility: Compatibility of this ad. Applicable when type is
1533	// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
1534	// either rendering on desktop or on mobile devices or in mobile apps
1535	// for regular or interstitial ads, respectively. APP and
1536	// APP_INTERSTITIAL are only used for existing default ads. New mobile
1537	// placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and
1538	// default ads created for those placements will be limited to those
1539	// compatibility types. IN_STREAM_VIDEO refers to rendering in-stream
1540	// video ads developed with the VAST standard.
1541	//
1542	// Possible values:
1543	//   "DISPLAY"
1544	//   "DISPLAY_INTERSTITIAL"
1545	//   "APP"
1546	//   "APP_INTERSTITIAL"
1547	//   "IN_STREAM_VIDEO"
1548	//   "IN_STREAM_AUDIO"
1549	Compatibility string `json:"compatibility,omitempty"`
1550
1551	// CreateInfo: Information about the creation of this ad. This is a
1552	// read-only field.
1553	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
1554
1555	// CreativeGroupAssignments: Creative group assignments for this ad.
1556	// Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment
1557	// per creative group number is allowed for a maximum of two
1558	// assignments.
1559	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
1560
1561	// CreativeRotation: Creative rotation for this ad. Applicable when type
1562	// is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or
1563	// AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field
1564	// should have exactly one creativeAssignment .
1565	CreativeRotation *CreativeRotation `json:"creativeRotation,omitempty"`
1566
1567	// DayPartTargeting: Time and day targeting information for this ad.
1568	// This field must be left blank if the ad is using a targeting
1569	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1570	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
1571
1572	// DefaultClickThroughEventTagProperties: Default click-through event
1573	// tag properties for this ad.
1574	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
1575
1576	// DeliverySchedule: Delivery schedule information for this ad.
1577	// Applicable when type is AD_SERVING_STANDARD_AD or
1578	// AD_SERVING_TRACKING. This field along with subfields priority and
1579	// impressionRatio are required on insertion when type is
1580	// AD_SERVING_STANDARD_AD.
1581	DeliverySchedule *DeliverySchedule `json:"deliverySchedule,omitempty"`
1582
1583	// DynamicClickTracker: Whether this ad is a dynamic click tracker.
1584	// Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required
1585	// field on insert, and is read-only after insert.
1586	DynamicClickTracker bool `json:"dynamicClickTracker,omitempty"`
1587
1588	EndTime string `json:"endTime,omitempty"`
1589
1590	// EventTagOverrides: Event tag overrides for this ad.
1591	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
1592
1593	// GeoTargeting: Geographical targeting information for this ad. This
1594	// field must be left blank if the ad is using a targeting template.
1595	// Applicable when type is AD_SERVING_STANDARD_AD.
1596	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
1597
1598	// Id: ID of this ad. This is a read-only, auto-generated field.
1599	Id int64 `json:"id,omitempty,string"`
1600
1601	// IdDimensionValue: Dimension value for the ID of this ad. This is a
1602	// read-only, auto-generated field.
1603	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
1604
1605	// KeyValueTargetingExpression: Key-value targeting information for this
1606	// ad. This field must be left blank if the ad is using a targeting
1607	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1608	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
1609
1610	// Kind: Identifies what kind of resource this is. Value: the fixed
1611	// string "dfareporting#ad".
1612	Kind string `json:"kind,omitempty"`
1613
1614	// LanguageTargeting: Language targeting information for this ad. This
1615	// field must be left blank if the ad is using a targeting template.
1616	// Applicable when type is AD_SERVING_STANDARD_AD.
1617	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
1618
1619	// LastModifiedInfo: Information about the most recent modification of
1620	// this ad. This is a read-only field.
1621	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
1622
1623	// Name: Name of this ad. This is a required field and must be less than
1624	// 256 characters long.
1625	Name string `json:"name,omitempty"`
1626
1627	// PlacementAssignments: Placement assignments for this ad.
1628	PlacementAssignments []*PlacementAssignment `json:"placementAssignments,omitempty"`
1629
1630	// RemarketingListExpression: Remarketing list targeting expression for
1631	// this ad. This field must be left blank if the ad is using a targeting
1632	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1633	RemarketingListExpression *ListTargetingExpression `json:"remarketingListExpression,omitempty"`
1634
1635	// Size: Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
1636	Size *Size `json:"size,omitempty"`
1637
1638	// SslCompliant: Whether this ad is ssl compliant. This is a read-only
1639	// field that is auto-generated when the ad is inserted or updated.
1640	SslCompliant bool `json:"sslCompliant,omitempty"`
1641
1642	// SslRequired: Whether this ad requires ssl. This is a read-only field
1643	// that is auto-generated when the ad is inserted or updated.
1644	SslRequired bool `json:"sslRequired,omitempty"`
1645
1646	StartTime string `json:"startTime,omitempty"`
1647
1648	// SubaccountId: Subaccount ID of this ad. This is a read-only field
1649	// that can be left blank.
1650	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1651
1652	// TargetingTemplateId: Targeting template ID, used to apply
1653	// preconfigured targeting information to this ad. This cannot be set
1654	// while any of dayPartTargeting, geoTargeting,
1655	// keyValueTargetingExpression, languageTargeting,
1656	// remarketingListExpression, or technologyTargeting are set. Applicable
1657	// when type is AD_SERVING_STANDARD_AD.
1658	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
1659
1660	// TechnologyTargeting: Technology platform targeting information for
1661	// this ad. This field must be left blank if the ad is using a targeting
1662	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1663	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
1664
1665	// Type: Type of ad. This is a required field on insertion. Note that
1666	// default ads ( AD_SERVING_DEFAULT_AD) cannot be created directly (see
1667	// Creative resource).
1668	//
1669	// Possible values:
1670	//   "AD_SERVING_STANDARD_AD"
1671	//   "AD_SERVING_DEFAULT_AD"
1672	//   "AD_SERVING_CLICK_TRACKER"
1673	//   "AD_SERVING_TRACKING"
1674	//   "AD_SERVING_BRAND_SAFE_AD"
1675	Type string `json:"type,omitempty"`
1676
1677	// ServerResponse contains the HTTP response code and headers from the
1678	// server.
1679	googleapi.ServerResponse `json:"-"`
1680
1681	// ForceSendFields is a list of field names (e.g. "AccountId") to
1682	// unconditionally include in API requests. By default, fields with
1683	// empty values are omitted from API requests. However, any non-pointer,
1684	// non-interface field appearing in ForceSendFields will be sent to the
1685	// server regardless of whether the field is empty or not. This may be
1686	// used to include empty fields in Patch requests.
1687	ForceSendFields []string `json:"-"`
1688
1689	// NullFields is a list of field names (e.g. "AccountId") to include in
1690	// API requests with the JSON null value. By default, fields with empty
1691	// values are omitted from API requests. However, any field with an
1692	// empty value appearing in NullFields will be sent to the server as
1693	// null. It is an error if a field in this list has a non-empty value.
1694	// This may be used to include null fields in Patch requests.
1695	NullFields []string `json:"-"`
1696}
1697
1698func (s *Ad) MarshalJSON() ([]byte, error) {
1699	type NoMethod Ad
1700	raw := NoMethod(*s)
1701	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1702}
1703
1704// AdBlockingConfiguration: Campaign ad blocking settings.
1705type AdBlockingConfiguration struct {
1706	// ClickThroughUrl: Click-through URL used by brand-neutral ads. This is
1707	// a required field when overrideClickThroughUrl is set to true.
1708	ClickThroughUrl string `json:"clickThroughUrl,omitempty"`
1709
1710	// CreativeBundleId: ID of a creative bundle to use for this campaign.
1711	// If set, brand-neutral ads will select creatives from this bundle.
1712	// Otherwise, a default transparent pixel will be used.
1713	CreativeBundleId int64 `json:"creativeBundleId,omitempty,string"`
1714
1715	// Enabled: Whether this campaign has enabled ad blocking. When true, ad
1716	// blocking is enabled for placements in the campaign, but this may be
1717	// overridden by site and placement settings. When false, ad blocking is
1718	// disabled for all placements under the campaign, regardless of site
1719	// and placement settings.
1720	Enabled bool `json:"enabled,omitempty"`
1721
1722	// OverrideClickThroughUrl: Whether the brand-neutral ad's click-through
1723	// URL comes from the campaign's creative bundle or the override URL.
1724	// Must be set to true if ad blocking is enabled and no creative bundle
1725	// is configured.
1726	OverrideClickThroughUrl bool `json:"overrideClickThroughUrl,omitempty"`
1727
1728	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
1729	// unconditionally include in API requests. By default, fields with
1730	// empty values are omitted from API requests. However, any non-pointer,
1731	// non-interface field appearing in ForceSendFields will be sent to the
1732	// server regardless of whether the field is empty or not. This may be
1733	// used to include empty fields in Patch requests.
1734	ForceSendFields []string `json:"-"`
1735
1736	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
1737	// include in API requests with the JSON null value. By default, fields
1738	// with empty values are omitted from API requests. However, any field
1739	// with an empty value appearing in NullFields will be sent to the
1740	// server as null. It is an error if a field in this list has a
1741	// non-empty value. This may be used to include null fields in Patch
1742	// requests.
1743	NullFields []string `json:"-"`
1744}
1745
1746func (s *AdBlockingConfiguration) MarshalJSON() ([]byte, error) {
1747	type NoMethod AdBlockingConfiguration
1748	raw := NoMethod(*s)
1749	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1750}
1751
1752// AdSlot: Ad Slot
1753type AdSlot struct {
1754	// Comment: Comment for this ad slot.
1755	Comment string `json:"comment,omitempty"`
1756
1757	// Compatibility: Ad slot compatibility. DISPLAY and
1758	// DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile
1759	// devices or in mobile apps for regular or interstitial ads
1760	// respectively. APP and APP_INTERSTITIAL are for rendering in mobile
1761	// apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads
1762	// developed with the VAST standard.
1763	//
1764	// Possible values:
1765	//   "DISPLAY"
1766	//   "DISPLAY_INTERSTITIAL"
1767	//   "APP"
1768	//   "APP_INTERSTITIAL"
1769	//   "IN_STREAM_VIDEO"
1770	//   "IN_STREAM_AUDIO"
1771	Compatibility string `json:"compatibility,omitempty"`
1772
1773	// Height: Height of this ad slot.
1774	Height int64 `json:"height,omitempty,string"`
1775
1776	// LinkedPlacementId: ID of the placement from an external platform that
1777	// is linked to this ad slot.
1778	LinkedPlacementId int64 `json:"linkedPlacementId,omitempty,string"`
1779
1780	// Name: Name of this ad slot.
1781	Name string `json:"name,omitempty"`
1782
1783	// PaymentSourceType: Payment source type of this ad slot.
1784	//
1785	// Possible values:
1786	//   "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID"
1787	//   "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID"
1788	PaymentSourceType string `json:"paymentSourceType,omitempty"`
1789
1790	// Primary: Primary ad slot of a roadblock inventory item.
1791	Primary bool `json:"primary,omitempty"`
1792
1793	// Width: Width of this ad slot.
1794	Width int64 `json:"width,omitempty,string"`
1795
1796	// ForceSendFields is a list of field names (e.g. "Comment") to
1797	// unconditionally include in API requests. By default, fields with
1798	// empty values are omitted from API requests. However, any non-pointer,
1799	// non-interface field appearing in ForceSendFields will be sent to the
1800	// server regardless of whether the field is empty or not. This may be
1801	// used to include empty fields in Patch requests.
1802	ForceSendFields []string `json:"-"`
1803
1804	// NullFields is a list of field names (e.g. "Comment") to include in
1805	// API requests with the JSON null value. By default, fields with empty
1806	// values are omitted from API requests. However, any field with an
1807	// empty value appearing in NullFields will be sent to the server as
1808	// null. It is an error if a field in this list has a non-empty value.
1809	// This may be used to include null fields in Patch requests.
1810	NullFields []string `json:"-"`
1811}
1812
1813func (s *AdSlot) MarshalJSON() ([]byte, error) {
1814	type NoMethod AdSlot
1815	raw := NoMethod(*s)
1816	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1817}
1818
1819// AdsListResponse: Ad List Response
1820type AdsListResponse struct {
1821	// Ads: Ad collection.
1822	Ads []*Ad `json:"ads,omitempty"`
1823
1824	// Kind: Identifies what kind of resource this is. Value: the fixed
1825	// string "dfareporting#adsListResponse".
1826	Kind string `json:"kind,omitempty"`
1827
1828	// NextPageToken: Pagination token to be used for the next list
1829	// operation.
1830	NextPageToken string `json:"nextPageToken,omitempty"`
1831
1832	// ServerResponse contains the HTTP response code and headers from the
1833	// server.
1834	googleapi.ServerResponse `json:"-"`
1835
1836	// ForceSendFields is a list of field names (e.g. "Ads") to
1837	// unconditionally include in API requests. By default, fields with
1838	// empty values are omitted from API requests. However, any non-pointer,
1839	// non-interface field appearing in ForceSendFields will be sent to the
1840	// server regardless of whether the field is empty or not. This may be
1841	// used to include empty fields in Patch requests.
1842	ForceSendFields []string `json:"-"`
1843
1844	// NullFields is a list of field names (e.g. "Ads") to include in API
1845	// requests with the JSON null value. By default, fields with empty
1846	// values are omitted from API requests. However, any field with an
1847	// empty value appearing in NullFields will be sent to the server as
1848	// null. It is an error if a field in this list has a non-empty value.
1849	// This may be used to include null fields in Patch requests.
1850	NullFields []string `json:"-"`
1851}
1852
1853func (s *AdsListResponse) MarshalJSON() ([]byte, error) {
1854	type NoMethod AdsListResponse
1855	raw := NoMethod(*s)
1856	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1857}
1858
1859// Advertiser: Contains properties of a Campaign Manager advertiser.
1860type Advertiser struct {
1861	// AccountId: Account ID of this advertiser.This is a read-only field
1862	// that can be left blank.
1863	AccountId int64 `json:"accountId,omitempty,string"`
1864
1865	// AdvertiserGroupId: ID of the advertiser group this advertiser belongs
1866	// to. You can group advertisers for reporting purposes, allowing you to
1867	// see aggregated information for all advertisers in each group.
1868	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
1869
1870	// ClickThroughUrlSuffix: Suffix added to click-through URL of ad
1871	// creative associations under this advertiser. Must be less than 129
1872	// characters long.
1873	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
1874
1875	// DefaultClickThroughEventTagId: ID of the click-through event tag to
1876	// apply by default to the landing pages of this advertiser's campaigns.
1877	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
1878
1879	// DefaultEmail: Default email address used in sender field for tag
1880	// emails.
1881	DefaultEmail string `json:"defaultEmail,omitempty"`
1882
1883	// FloodlightConfigurationId: Floodlight configuration ID of this
1884	// advertiser. The floodlight configuration ID will be created
1885	// automatically, so on insert this field should be left blank. This
1886	// field can be set to another advertiser's floodlight configuration ID
1887	// in order to share that advertiser's floodlight configuration with
1888	// this advertiser, so long as: - This advertiser's original floodlight
1889	// configuration is not already associated with floodlight activities or
1890	// floodlight activity groups. - This advertiser's original floodlight
1891	// configuration is not already shared with another advertiser.
1892	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
1893
1894	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
1895	// of the floodlight configuration. This is a read-only, auto-generated
1896	// field.
1897	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
1898
1899	// Id: ID of this advertiser. This is a read-only, auto-generated field.
1900	Id int64 `json:"id,omitempty,string"`
1901
1902	// IdDimensionValue: Dimension value for the ID of this advertiser. This
1903	// is a read-only, auto-generated field.
1904	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
1905
1906	// Kind: Identifies what kind of resource this is. Value: the fixed
1907	// string "dfareporting#advertiser".
1908	Kind string `json:"kind,omitempty"`
1909
1910	// Name: Name of this advertiser. This is a required field and must be
1911	// less than 256 characters long and unique among advertisers of the
1912	// same account.
1913	Name string `json:"name,omitempty"`
1914
1915	// OriginalFloodlightConfigurationId: Original floodlight configuration
1916	// before any sharing occurred. Set the floodlightConfigurationId of
1917	// this advertiser to originalFloodlightConfigurationId to unshare the
1918	// advertiser's current floodlight configuration. You cannot unshare an
1919	// advertiser's floodlight configuration if the shared configuration has
1920	// activities associated with any campaign or placement.
1921	OriginalFloodlightConfigurationId int64 `json:"originalFloodlightConfigurationId,omitempty,string"`
1922
1923	// Status: Status of this advertiser.
1924	//
1925	// Possible values:
1926	//   "APPROVED"
1927	//   "ON_HOLD"
1928	Status string `json:"status,omitempty"`
1929
1930	// SubaccountId: Subaccount ID of this advertiser.This is a read-only
1931	// field that can be left blank.
1932	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1933
1934	// Suspended: Suspension status of this advertiser.
1935	Suspended bool `json:"suspended,omitempty"`
1936
1937	// ServerResponse contains the HTTP response code and headers from the
1938	// server.
1939	googleapi.ServerResponse `json:"-"`
1940
1941	// ForceSendFields is a list of field names (e.g. "AccountId") to
1942	// unconditionally include in API requests. By default, fields with
1943	// empty values are omitted from API requests. However, any non-pointer,
1944	// non-interface field appearing in ForceSendFields will be sent to the
1945	// server regardless of whether the field is empty or not. This may be
1946	// used to include empty fields in Patch requests.
1947	ForceSendFields []string `json:"-"`
1948
1949	// NullFields is a list of field names (e.g. "AccountId") to include in
1950	// API requests with the JSON null value. By default, fields with empty
1951	// values are omitted from API requests. However, any field with an
1952	// empty value appearing in NullFields will be sent to the server as
1953	// null. It is an error if a field in this list has a non-empty value.
1954	// This may be used to include null fields in Patch requests.
1955	NullFields []string `json:"-"`
1956}
1957
1958func (s *Advertiser) MarshalJSON() ([]byte, error) {
1959	type NoMethod Advertiser
1960	raw := NoMethod(*s)
1961	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1962}
1963
1964// AdvertiserGroup: Groups advertisers together so that reports can be
1965// generated for the entire group at once.
1966type AdvertiserGroup struct {
1967	// AccountId: Account ID of this advertiser group. This is a read-only
1968	// field that can be left blank.
1969	AccountId int64 `json:"accountId,omitempty,string"`
1970
1971	// Id: ID of this advertiser group. This is a read-only, auto-generated
1972	// field.
1973	Id int64 `json:"id,omitempty,string"`
1974
1975	// Kind: Identifies what kind of resource this is. Value: the fixed
1976	// string "dfareporting#advertiserGroup".
1977	Kind string `json:"kind,omitempty"`
1978
1979	// Name: Name of this advertiser group. This is a required field and
1980	// must be less than 256 characters long and unique among advertiser
1981	// groups of the same account.
1982	Name string `json:"name,omitempty"`
1983
1984	// ServerResponse contains the HTTP response code and headers from the
1985	// server.
1986	googleapi.ServerResponse `json:"-"`
1987
1988	// ForceSendFields is a list of field names (e.g. "AccountId") to
1989	// unconditionally include in API requests. By default, fields with
1990	// empty values are omitted from API requests. However, any non-pointer,
1991	// non-interface field appearing in ForceSendFields will be sent to the
1992	// server regardless of whether the field is empty or not. This may be
1993	// used to include empty fields in Patch requests.
1994	ForceSendFields []string `json:"-"`
1995
1996	// NullFields is a list of field names (e.g. "AccountId") to include in
1997	// API requests with the JSON null value. By default, fields with empty
1998	// values are omitted from API requests. However, any field with an
1999	// empty value appearing in NullFields will be sent to the server as
2000	// null. It is an error if a field in this list has a non-empty value.
2001	// This may be used to include null fields in Patch requests.
2002	NullFields []string `json:"-"`
2003}
2004
2005func (s *AdvertiserGroup) MarshalJSON() ([]byte, error) {
2006	type NoMethod AdvertiserGroup
2007	raw := NoMethod(*s)
2008	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2009}
2010
2011// AdvertiserGroupsListResponse: Advertiser Group List Response
2012type AdvertiserGroupsListResponse struct {
2013	// AdvertiserGroups: Advertiser group collection.
2014	AdvertiserGroups []*AdvertiserGroup `json:"advertiserGroups,omitempty"`
2015
2016	// Kind: Identifies what kind of resource this is. Value: the fixed
2017	// string "dfareporting#advertiserGroupsListResponse".
2018	Kind string `json:"kind,omitempty"`
2019
2020	// NextPageToken: Pagination token to be used for the next list
2021	// operation.
2022	NextPageToken string `json:"nextPageToken,omitempty"`
2023
2024	// ServerResponse contains the HTTP response code and headers from the
2025	// server.
2026	googleapi.ServerResponse `json:"-"`
2027
2028	// ForceSendFields is a list of field names (e.g. "AdvertiserGroups") to
2029	// unconditionally include in API requests. By default, fields with
2030	// empty values are omitted from API requests. However, any non-pointer,
2031	// non-interface field appearing in ForceSendFields will be sent to the
2032	// server regardless of whether the field is empty or not. This may be
2033	// used to include empty fields in Patch requests.
2034	ForceSendFields []string `json:"-"`
2035
2036	// NullFields is a list of field names (e.g. "AdvertiserGroups") to
2037	// include in API requests with the JSON null value. By default, fields
2038	// with empty values are omitted from API requests. However, any field
2039	// with an empty value appearing in NullFields will be sent to the
2040	// server as null. It is an error if a field in this list has a
2041	// non-empty value. This may be used to include null fields in Patch
2042	// requests.
2043	NullFields []string `json:"-"`
2044}
2045
2046func (s *AdvertiserGroupsListResponse) MarshalJSON() ([]byte, error) {
2047	type NoMethod AdvertiserGroupsListResponse
2048	raw := NoMethod(*s)
2049	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2050}
2051
2052// AdvertiserLandingPagesListResponse: Landing Page List Response
2053type AdvertiserLandingPagesListResponse struct {
2054	// Kind: Identifies what kind of resource this is. Value: the fixed
2055	// string "dfareporting#advertiserLandingPagesListResponse".
2056	Kind string `json:"kind,omitempty"`
2057
2058	// LandingPages: Landing page collection
2059	LandingPages []*LandingPage `json:"landingPages,omitempty"`
2060
2061	// NextPageToken: Pagination token to be used for the next list
2062	// operation.
2063	NextPageToken string `json:"nextPageToken,omitempty"`
2064
2065	// ServerResponse contains the HTTP response code and headers from the
2066	// server.
2067	googleapi.ServerResponse `json:"-"`
2068
2069	// ForceSendFields is a list of field names (e.g. "Kind") to
2070	// unconditionally include in API requests. By default, fields with
2071	// empty values are omitted from API requests. However, any non-pointer,
2072	// non-interface field appearing in ForceSendFields will be sent to the
2073	// server regardless of whether the field is empty or not. This may be
2074	// used to include empty fields in Patch requests.
2075	ForceSendFields []string `json:"-"`
2076
2077	// NullFields is a list of field names (e.g. "Kind") to include in API
2078	// requests with the JSON null value. By default, fields with empty
2079	// values are omitted from API requests. However, any field with an
2080	// empty value appearing in NullFields will be sent to the server as
2081	// null. It is an error if a field in this list has a non-empty value.
2082	// This may be used to include null fields in Patch requests.
2083	NullFields []string `json:"-"`
2084}
2085
2086func (s *AdvertiserLandingPagesListResponse) MarshalJSON() ([]byte, error) {
2087	type NoMethod AdvertiserLandingPagesListResponse
2088	raw := NoMethod(*s)
2089	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2090}
2091
2092// AdvertisersListResponse: Advertiser List Response
2093type AdvertisersListResponse struct {
2094	// Advertisers: Advertiser collection.
2095	Advertisers []*Advertiser `json:"advertisers,omitempty"`
2096
2097	// Kind: Identifies what kind of resource this is. Value: the fixed
2098	// string "dfareporting#advertisersListResponse".
2099	Kind string `json:"kind,omitempty"`
2100
2101	// NextPageToken: Pagination token to be used for the next list
2102	// operation.
2103	NextPageToken string `json:"nextPageToken,omitempty"`
2104
2105	// ServerResponse contains the HTTP response code and headers from the
2106	// server.
2107	googleapi.ServerResponse `json:"-"`
2108
2109	// ForceSendFields is a list of field names (e.g. "Advertisers") to
2110	// unconditionally include in API requests. By default, fields with
2111	// empty values are omitted from API requests. However, any non-pointer,
2112	// non-interface field appearing in ForceSendFields will be sent to the
2113	// server regardless of whether the field is empty or not. This may be
2114	// used to include empty fields in Patch requests.
2115	ForceSendFields []string `json:"-"`
2116
2117	// NullFields is a list of field names (e.g. "Advertisers") to include
2118	// in API requests with the JSON null value. By default, fields with
2119	// empty values are omitted from API requests. However, any field with
2120	// an empty value appearing in NullFields will be sent to the server as
2121	// null. It is an error if a field in this list has a non-empty value.
2122	// This may be used to include null fields in Patch requests.
2123	NullFields []string `json:"-"`
2124}
2125
2126func (s *AdvertisersListResponse) MarshalJSON() ([]byte, error) {
2127	type NoMethod AdvertisersListResponse
2128	raw := NoMethod(*s)
2129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2130}
2131
2132// AudienceSegment: Audience Segment.
2133type AudienceSegment struct {
2134	// Allocation: Weight allocated to this segment. The weight assigned
2135	// will be understood in proportion to the weights assigned to other
2136	// segments in the same segment group. Acceptable values are 1 to 1000,
2137	// inclusive.
2138	Allocation int64 `json:"allocation,omitempty"`
2139
2140	// Id: ID of this audience segment. This is a read-only, auto-generated
2141	// field.
2142	Id int64 `json:"id,omitempty,string"`
2143
2144	// Name: Name of this audience segment. This is a required field and
2145	// must be less than 65 characters long.
2146	Name string `json:"name,omitempty"`
2147
2148	// ForceSendFields is a list of field names (e.g. "Allocation") to
2149	// unconditionally include in API requests. By default, fields with
2150	// empty values are omitted from API requests. However, any non-pointer,
2151	// non-interface field appearing in ForceSendFields will be sent to the
2152	// server regardless of whether the field is empty or not. This may be
2153	// used to include empty fields in Patch requests.
2154	ForceSendFields []string `json:"-"`
2155
2156	// NullFields is a list of field names (e.g. "Allocation") to include in
2157	// API requests with the JSON null value. By default, fields with empty
2158	// values are omitted from API requests. However, any field with an
2159	// empty value appearing in NullFields will be sent to the server as
2160	// null. It is an error if a field in this list has a non-empty value.
2161	// This may be used to include null fields in Patch requests.
2162	NullFields []string `json:"-"`
2163}
2164
2165func (s *AudienceSegment) MarshalJSON() ([]byte, error) {
2166	type NoMethod AudienceSegment
2167	raw := NoMethod(*s)
2168	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2169}
2170
2171// AudienceSegmentGroup: Audience Segment Group.
2172type AudienceSegmentGroup struct {
2173	// AudienceSegments: Audience segments assigned to this group. The
2174	// number of segments must be between 2 and 100.
2175	AudienceSegments []*AudienceSegment `json:"audienceSegments,omitempty"`
2176
2177	// Id: ID of this audience segment group. This is a read-only,
2178	// auto-generated field.
2179	Id int64 `json:"id,omitempty,string"`
2180
2181	// Name: Name of this audience segment group. This is a required field
2182	// and must be less than 65 characters long.
2183	Name string `json:"name,omitempty"`
2184
2185	// ForceSendFields is a list of field names (e.g. "AudienceSegments") to
2186	// unconditionally include in API requests. By default, fields with
2187	// empty values are omitted from API requests. However, any non-pointer,
2188	// non-interface field appearing in ForceSendFields will be sent to the
2189	// server regardless of whether the field is empty or not. This may be
2190	// used to include empty fields in Patch requests.
2191	ForceSendFields []string `json:"-"`
2192
2193	// NullFields is a list of field names (e.g. "AudienceSegments") to
2194	// include in API requests with the JSON null value. By default, fields
2195	// with empty values are omitted from API requests. However, any field
2196	// with an empty value appearing in NullFields will be sent to the
2197	// server as null. It is an error if a field in this list has a
2198	// non-empty value. This may be used to include null fields in Patch
2199	// requests.
2200	NullFields []string `json:"-"`
2201}
2202
2203func (s *AudienceSegmentGroup) MarshalJSON() ([]byte, error) {
2204	type NoMethod AudienceSegmentGroup
2205	raw := NoMethod(*s)
2206	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2207}
2208
2209// Browser: Contains information about a browser that can be targeted by
2210// ads.
2211type Browser struct {
2212	// BrowserVersionId: ID referring to this grouping of browser and
2213	// version numbers. This is the ID used for targeting.
2214	BrowserVersionId int64 `json:"browserVersionId,omitempty,string"`
2215
2216	// DartId: DART ID of this browser. This is the ID used when generating
2217	// reports.
2218	DartId int64 `json:"dartId,omitempty,string"`
2219
2220	// Kind: Identifies what kind of resource this is. Value: the fixed
2221	// string "dfareporting#browser".
2222	Kind string `json:"kind,omitempty"`
2223
2224	// MajorVersion: Major version number (leftmost number) of this browser.
2225	// For example, for Chrome 5.0.376.86 beta, this field should be set to
2226	// 5. An asterisk (*) may be used to target any version number, and a
2227	// question mark (?) may be used to target cases where the version
2228	// number cannot be identified. For example, Chrome *.* targets any
2229	// version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
2230	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
2231	// server knows the browser is Firefox but can't tell which version it
2232	// is.
2233	MajorVersion string `json:"majorVersion,omitempty"`
2234
2235	// MinorVersion: Minor version number (number after first dot on left)
2236	// of this browser. For example, for Chrome 5.0.375.86 beta, this field
2237	// should be set to 0. An asterisk (*) may be used to target any version
2238	// number, and a question mark (?) may be used to target cases where the
2239	// version number cannot be identified. For example, Chrome *.* targets
2240	// any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
2241	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
2242	// server knows the browser is Firefox but can't tell which version it
2243	// is.
2244	MinorVersion string `json:"minorVersion,omitempty"`
2245
2246	// Name: Name of this browser.
2247	Name string `json:"name,omitempty"`
2248
2249	// ForceSendFields is a list of field names (e.g. "BrowserVersionId") to
2250	// unconditionally include in API requests. By default, fields with
2251	// empty values are omitted from API requests. However, any non-pointer,
2252	// non-interface field appearing in ForceSendFields will be sent to the
2253	// server regardless of whether the field is empty or not. This may be
2254	// used to include empty fields in Patch requests.
2255	ForceSendFields []string `json:"-"`
2256
2257	// NullFields is a list of field names (e.g. "BrowserVersionId") to
2258	// include in API requests with the JSON null value. By default, fields
2259	// with empty values are omitted from API requests. However, any field
2260	// with an empty value appearing in NullFields will be sent to the
2261	// server as null. It is an error if a field in this list has a
2262	// non-empty value. This may be used to include null fields in Patch
2263	// requests.
2264	NullFields []string `json:"-"`
2265}
2266
2267func (s *Browser) MarshalJSON() ([]byte, error) {
2268	type NoMethod Browser
2269	raw := NoMethod(*s)
2270	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2271}
2272
2273// BrowsersListResponse: Browser List Response
2274type BrowsersListResponse struct {
2275	// Browsers: Browser collection.
2276	Browsers []*Browser `json:"browsers,omitempty"`
2277
2278	// Kind: Identifies what kind of resource this is. Value: the fixed
2279	// string "dfareporting#browsersListResponse".
2280	Kind string `json:"kind,omitempty"`
2281
2282	// ServerResponse contains the HTTP response code and headers from the
2283	// server.
2284	googleapi.ServerResponse `json:"-"`
2285
2286	// ForceSendFields is a list of field names (e.g. "Browsers") to
2287	// unconditionally include in API requests. By default, fields with
2288	// empty values are omitted from API requests. However, any non-pointer,
2289	// non-interface field appearing in ForceSendFields will be sent to the
2290	// server regardless of whether the field is empty or not. This may be
2291	// used to include empty fields in Patch requests.
2292	ForceSendFields []string `json:"-"`
2293
2294	// NullFields is a list of field names (e.g. "Browsers") to include in
2295	// API requests with the JSON null value. By default, fields with empty
2296	// values are omitted from API requests. However, any field with an
2297	// empty value appearing in NullFields will be sent to the server as
2298	// null. It is an error if a field in this list has a non-empty value.
2299	// This may be used to include null fields in Patch requests.
2300	NullFields []string `json:"-"`
2301}
2302
2303func (s *BrowsersListResponse) MarshalJSON() ([]byte, error) {
2304	type NoMethod BrowsersListResponse
2305	raw := NoMethod(*s)
2306	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2307}
2308
2309// Campaign: Contains properties of a Campaign Manager campaign.
2310type Campaign struct {
2311	// AccountId: Account ID of this campaign. This is a read-only field
2312	// that can be left blank.
2313	AccountId int64 `json:"accountId,omitempty,string"`
2314
2315	// AdBlockingConfiguration: Ad blocking settings for this campaign.
2316	AdBlockingConfiguration *AdBlockingConfiguration `json:"adBlockingConfiguration,omitempty"`
2317
2318	// AdditionalCreativeOptimizationConfigurations: Additional creative
2319	// optimization configurations for the campaign.
2320	AdditionalCreativeOptimizationConfigurations []*CreativeOptimizationConfiguration `json:"additionalCreativeOptimizationConfigurations,omitempty"`
2321
2322	// AdvertiserGroupId: Advertiser group ID of the associated advertiser.
2323	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
2324
2325	// AdvertiserId: Advertiser ID of this campaign. This is a required
2326	// field.
2327	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
2328
2329	// AdvertiserIdDimensionValue: Dimension value for the advertiser ID of
2330	// this campaign. This is a read-only, auto-generated field.
2331	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
2332
2333	// Archived: Whether this campaign has been archived.
2334	Archived bool `json:"archived,omitempty"`
2335
2336	// AudienceSegmentGroups: Audience segment groups assigned to this
2337	// campaign. Cannot have more than 300 segment groups.
2338	AudienceSegmentGroups []*AudienceSegmentGroup `json:"audienceSegmentGroups,omitempty"`
2339
2340	// BillingInvoiceCode: Billing invoice code included in the Campaign
2341	// Manager client billing invoices associated with the campaign.
2342	BillingInvoiceCode string `json:"billingInvoiceCode,omitempty"`
2343
2344	// ClickThroughUrlSuffixProperties: Click-through URL suffix override
2345	// properties for this campaign.
2346	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
2347
2348	// Comment: Arbitrary comments about this campaign. Must be less than
2349	// 256 characters long.
2350	Comment string `json:"comment,omitempty"`
2351
2352	// CreateInfo: Information about the creation of this campaign. This is
2353	// a read-only field.
2354	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
2355
2356	// CreativeGroupIds: List of creative group IDs that are assigned to the
2357	// campaign.
2358	CreativeGroupIds googleapi.Int64s `json:"creativeGroupIds,omitempty"`
2359
2360	// CreativeOptimizationConfiguration: Creative optimization
2361	// configuration for the campaign.
2362	CreativeOptimizationConfiguration *CreativeOptimizationConfiguration `json:"creativeOptimizationConfiguration,omitempty"`
2363
2364	// DefaultClickThroughEventTagProperties: Click-through event tag ID
2365	// override properties for this campaign.
2366	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
2367
2368	// DefaultLandingPageId: The default landing page ID for this campaign.
2369	DefaultLandingPageId int64 `json:"defaultLandingPageId,omitempty,string"`
2370
2371	EndDate string `json:"endDate,omitempty"`
2372
2373	// EventTagOverrides: Overrides that can be used to activate or
2374	// deactivate advertiser event tags.
2375	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
2376
2377	// ExternalId: External ID for this campaign.
2378	ExternalId string `json:"externalId,omitempty"`
2379
2380	// Id: ID of this campaign. This is a read-only auto-generated field.
2381	Id int64 `json:"id,omitempty,string"`
2382
2383	// IdDimensionValue: Dimension value for the ID of this campaign. This
2384	// is a read-only, auto-generated field.
2385	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
2386
2387	// Kind: Identifies what kind of resource this is. Value: the fixed
2388	// string "dfareporting#campaign".
2389	Kind string `json:"kind,omitempty"`
2390
2391	// LastModifiedInfo: Information about the most recent modification of
2392	// this campaign. This is a read-only field.
2393	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
2394
2395	// Name: Name of this campaign. This is a required field and must be
2396	// less than 256 characters long and unique among campaigns of the same
2397	// advertiser.
2398	Name string `json:"name,omitempty"`
2399
2400	// NielsenOcrEnabled: Whether Nielsen reports are enabled for this
2401	// campaign.
2402	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
2403
2404	StartDate string `json:"startDate,omitempty"`
2405
2406	// SubaccountId: Subaccount ID of this campaign. This is a read-only
2407	// field that can be left blank.
2408	SubaccountId int64 `json:"subaccountId,omitempty,string"`
2409
2410	// TraffickerEmails: Campaign trafficker contact emails.
2411	TraffickerEmails []string `json:"traffickerEmails,omitempty"`
2412
2413	// ServerResponse contains the HTTP response code and headers from the
2414	// server.
2415	googleapi.ServerResponse `json:"-"`
2416
2417	// ForceSendFields is a list of field names (e.g. "AccountId") to
2418	// unconditionally include in API requests. By default, fields with
2419	// empty values are omitted from API requests. However, any non-pointer,
2420	// non-interface field appearing in ForceSendFields will be sent to the
2421	// server regardless of whether the field is empty or not. This may be
2422	// used to include empty fields in Patch requests.
2423	ForceSendFields []string `json:"-"`
2424
2425	// NullFields is a list of field names (e.g. "AccountId") to include in
2426	// API requests with the JSON null value. By default, fields with empty
2427	// values are omitted from API requests. However, any field with an
2428	// empty value appearing in NullFields will be sent to the server as
2429	// null. It is an error if a field in this list has a non-empty value.
2430	// This may be used to include null fields in Patch requests.
2431	NullFields []string `json:"-"`
2432}
2433
2434func (s *Campaign) MarshalJSON() ([]byte, error) {
2435	type NoMethod Campaign
2436	raw := NoMethod(*s)
2437	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2438}
2439
2440// CampaignCreativeAssociation: Identifies a creative which has been
2441// associated with a given campaign.
2442type CampaignCreativeAssociation struct {
2443	// CreativeId: ID of the creative associated with the campaign. This is
2444	// a required field.
2445	CreativeId int64 `json:"creativeId,omitempty,string"`
2446
2447	// Kind: Identifies what kind of resource this is. Value: the fixed
2448	// string "dfareporting#campaignCreativeAssociation".
2449	Kind string `json:"kind,omitempty"`
2450
2451	// ServerResponse contains the HTTP response code and headers from the
2452	// server.
2453	googleapi.ServerResponse `json:"-"`
2454
2455	// ForceSendFields is a list of field names (e.g. "CreativeId") to
2456	// unconditionally include in API requests. By default, fields with
2457	// empty values are omitted from API requests. However, any non-pointer,
2458	// non-interface field appearing in ForceSendFields will be sent to the
2459	// server regardless of whether the field is empty or not. This may be
2460	// used to include empty fields in Patch requests.
2461	ForceSendFields []string `json:"-"`
2462
2463	// NullFields is a list of field names (e.g. "CreativeId") to include in
2464	// API requests with the JSON null value. By default, fields with empty
2465	// values are omitted from API requests. However, any field with an
2466	// empty value appearing in NullFields will be sent to the server as
2467	// null. It is an error if a field in this list has a non-empty value.
2468	// This may be used to include null fields in Patch requests.
2469	NullFields []string `json:"-"`
2470}
2471
2472func (s *CampaignCreativeAssociation) MarshalJSON() ([]byte, error) {
2473	type NoMethod CampaignCreativeAssociation
2474	raw := NoMethod(*s)
2475	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2476}
2477
2478// CampaignCreativeAssociationsListResponse: Campaign Creative
2479// Association List Response
2480type CampaignCreativeAssociationsListResponse struct {
2481	// CampaignCreativeAssociations: Campaign creative association
2482	// collection
2483	CampaignCreativeAssociations []*CampaignCreativeAssociation `json:"campaignCreativeAssociations,omitempty"`
2484
2485	// Kind: Identifies what kind of resource this is. Value: the fixed
2486	// string "dfareporting#campaignCreativeAssociationsListResponse".
2487	Kind string `json:"kind,omitempty"`
2488
2489	// NextPageToken: Pagination token to be used for the next list
2490	// operation.
2491	NextPageToken string `json:"nextPageToken,omitempty"`
2492
2493	// ServerResponse contains the HTTP response code and headers from the
2494	// server.
2495	googleapi.ServerResponse `json:"-"`
2496
2497	// ForceSendFields is a list of field names (e.g.
2498	// "CampaignCreativeAssociations") to unconditionally include in API
2499	// requests. By default, fields with empty values are omitted from API
2500	// requests. However, any non-pointer, non-interface field appearing in
2501	// ForceSendFields will be sent to the server regardless of whether the
2502	// field is empty or not. This may be used to include empty fields in
2503	// Patch requests.
2504	ForceSendFields []string `json:"-"`
2505
2506	// NullFields is a list of field names (e.g.
2507	// "CampaignCreativeAssociations") to include in API requests with the
2508	// JSON null value. By default, fields with empty values are omitted
2509	// from API requests. However, any field with an empty value appearing
2510	// in NullFields will be sent to the server as null. It is an error if a
2511	// field in this list has a non-empty value. This may be used to include
2512	// null fields in Patch requests.
2513	NullFields []string `json:"-"`
2514}
2515
2516func (s *CampaignCreativeAssociationsListResponse) MarshalJSON() ([]byte, error) {
2517	type NoMethod CampaignCreativeAssociationsListResponse
2518	raw := NoMethod(*s)
2519	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2520}
2521
2522// CampaignsListResponse: Campaign List Response
2523type CampaignsListResponse struct {
2524	// Campaigns: Campaign collection.
2525	Campaigns []*Campaign `json:"campaigns,omitempty"`
2526
2527	// Kind: Identifies what kind of resource this is. Value: the fixed
2528	// string "dfareporting#campaignsListResponse".
2529	Kind string `json:"kind,omitempty"`
2530
2531	// NextPageToken: Pagination token to be used for the next list
2532	// operation.
2533	NextPageToken string `json:"nextPageToken,omitempty"`
2534
2535	// ServerResponse contains the HTTP response code and headers from the
2536	// server.
2537	googleapi.ServerResponse `json:"-"`
2538
2539	// ForceSendFields is a list of field names (e.g. "Campaigns") to
2540	// unconditionally include in API requests. By default, fields with
2541	// empty values are omitted from API requests. However, any non-pointer,
2542	// non-interface field appearing in ForceSendFields will be sent to the
2543	// server regardless of whether the field is empty or not. This may be
2544	// used to include empty fields in Patch requests.
2545	ForceSendFields []string `json:"-"`
2546
2547	// NullFields is a list of field names (e.g. "Campaigns") to include in
2548	// API requests with the JSON null value. By default, fields with empty
2549	// values are omitted from API requests. However, any field with an
2550	// empty value appearing in NullFields will be sent to the server as
2551	// null. It is an error if a field in this list has a non-empty value.
2552	// This may be used to include null fields in Patch requests.
2553	NullFields []string `json:"-"`
2554}
2555
2556func (s *CampaignsListResponse) MarshalJSON() ([]byte, error) {
2557	type NoMethod CampaignsListResponse
2558	raw := NoMethod(*s)
2559	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2560}
2561
2562// ChangeLog: Describes a change that a user has made to a resource.
2563type ChangeLog struct {
2564	// AccountId: Account ID of the modified object.
2565	AccountId int64 `json:"accountId,omitempty,string"`
2566
2567	// Action: Action which caused the change.
2568	Action string `json:"action,omitempty"`
2569
2570	ChangeTime string `json:"changeTime,omitempty"`
2571
2572	// FieldName: Field name of the object which changed.
2573	FieldName string `json:"fieldName,omitempty"`
2574
2575	// Id: ID of this change log.
2576	Id int64 `json:"id,omitempty,string"`
2577
2578	// Kind: Identifies what kind of resource this is. Value: the fixed
2579	// string "dfareporting#changeLog".
2580	Kind string `json:"kind,omitempty"`
2581
2582	// NewValue: New value of the object field.
2583	NewValue string `json:"newValue,omitempty"`
2584
2585	// ObjectId: ID of the object of this change log. The object could be a
2586	// campaign, placement, ad, or other type.
2587	ObjectId int64 `json:"objectId,omitempty,string"`
2588
2589	// ObjectType: Object type of the change log.
2590	ObjectType string `json:"objectType,omitempty"`
2591
2592	// OldValue: Old value of the object field.
2593	OldValue string `json:"oldValue,omitempty"`
2594
2595	// SubaccountId: Subaccount ID of the modified object.
2596	SubaccountId int64 `json:"subaccountId,omitempty,string"`
2597
2598	// TransactionId: Transaction ID of this change log. When a single API
2599	// call results in many changes, each change will have a separate ID in
2600	// the change log but will share the same transactionId.
2601	TransactionId int64 `json:"transactionId,omitempty,string"`
2602
2603	// UserProfileId: ID of the user who modified the object.
2604	UserProfileId int64 `json:"userProfileId,omitempty,string"`
2605
2606	// UserProfileName: User profile name of the user who modified the
2607	// object.
2608	UserProfileName string `json:"userProfileName,omitempty"`
2609
2610	// ServerResponse contains the HTTP response code and headers from the
2611	// server.
2612	googleapi.ServerResponse `json:"-"`
2613
2614	// ForceSendFields is a list of field names (e.g. "AccountId") to
2615	// unconditionally include in API requests. By default, fields with
2616	// empty values are omitted from API requests. However, any non-pointer,
2617	// non-interface field appearing in ForceSendFields will be sent to the
2618	// server regardless of whether the field is empty or not. This may be
2619	// used to include empty fields in Patch requests.
2620	ForceSendFields []string `json:"-"`
2621
2622	// NullFields is a list of field names (e.g. "AccountId") to include in
2623	// API requests with the JSON null value. By default, fields with empty
2624	// values are omitted from API requests. However, any field with an
2625	// empty value appearing in NullFields will be sent to the server as
2626	// null. It is an error if a field in this list has a non-empty value.
2627	// This may be used to include null fields in Patch requests.
2628	NullFields []string `json:"-"`
2629}
2630
2631func (s *ChangeLog) MarshalJSON() ([]byte, error) {
2632	type NoMethod ChangeLog
2633	raw := NoMethod(*s)
2634	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2635}
2636
2637// ChangeLogsListResponse: Change Log List Response
2638type ChangeLogsListResponse struct {
2639	// ChangeLogs: Change log collection.
2640	ChangeLogs []*ChangeLog `json:"changeLogs,omitempty"`
2641
2642	// Kind: Identifies what kind of resource this is. Value: the fixed
2643	// string "dfareporting#changeLogsListResponse".
2644	Kind string `json:"kind,omitempty"`
2645
2646	// NextPageToken: Pagination token to be used for the next list
2647	// operation.
2648	NextPageToken string `json:"nextPageToken,omitempty"`
2649
2650	// ServerResponse contains the HTTP response code and headers from the
2651	// server.
2652	googleapi.ServerResponse `json:"-"`
2653
2654	// ForceSendFields is a list of field names (e.g. "ChangeLogs") to
2655	// unconditionally include in API requests. By default, fields with
2656	// empty values are omitted from API requests. However, any non-pointer,
2657	// non-interface field appearing in ForceSendFields will be sent to the
2658	// server regardless of whether the field is empty or not. This may be
2659	// used to include empty fields in Patch requests.
2660	ForceSendFields []string `json:"-"`
2661
2662	// NullFields is a list of field names (e.g. "ChangeLogs") to include in
2663	// API requests with the JSON null value. By default, fields with empty
2664	// values are omitted from API requests. However, any field with an
2665	// empty value appearing in NullFields will be sent to the server as
2666	// null. It is an error if a field in this list has a non-empty value.
2667	// This may be used to include null fields in Patch requests.
2668	NullFields []string `json:"-"`
2669}
2670
2671func (s *ChangeLogsListResponse) MarshalJSON() ([]byte, error) {
2672	type NoMethod ChangeLogsListResponse
2673	raw := NoMethod(*s)
2674	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2675}
2676
2677// CitiesListResponse: City List Response
2678type CitiesListResponse struct {
2679	// Cities: City collection.
2680	Cities []*City `json:"cities,omitempty"`
2681
2682	// Kind: Identifies what kind of resource this is. Value: the fixed
2683	// string "dfareporting#citiesListResponse".
2684	Kind string `json:"kind,omitempty"`
2685
2686	// ServerResponse contains the HTTP response code and headers from the
2687	// server.
2688	googleapi.ServerResponse `json:"-"`
2689
2690	// ForceSendFields is a list of field names (e.g. "Cities") to
2691	// unconditionally include in API requests. By default, fields with
2692	// empty values are omitted from API requests. However, any non-pointer,
2693	// non-interface field appearing in ForceSendFields will be sent to the
2694	// server regardless of whether the field is empty or not. This may be
2695	// used to include empty fields in Patch requests.
2696	ForceSendFields []string `json:"-"`
2697
2698	// NullFields is a list of field names (e.g. "Cities") to include in API
2699	// requests with the JSON null value. By default, fields with empty
2700	// values are omitted from API requests. However, any field with an
2701	// empty value appearing in NullFields will be sent to the server as
2702	// null. It is an error if a field in this list has a non-empty value.
2703	// This may be used to include null fields in Patch requests.
2704	NullFields []string `json:"-"`
2705}
2706
2707func (s *CitiesListResponse) MarshalJSON() ([]byte, error) {
2708	type NoMethod CitiesListResponse
2709	raw := NoMethod(*s)
2710	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2711}
2712
2713// City: Contains information about a city that can be targeted by ads.
2714type City struct {
2715	// CountryCode: Country code of the country to which this city belongs.
2716	CountryCode string `json:"countryCode,omitempty"`
2717
2718	// CountryDartId: DART ID of the country to which this city belongs.
2719	CountryDartId int64 `json:"countryDartId,omitempty,string"`
2720
2721	// DartId: DART ID of this city. This is the ID used for targeting and
2722	// generating reports.
2723	DartId int64 `json:"dartId,omitempty,string"`
2724
2725	// Kind: Identifies what kind of resource this is. Value: the fixed
2726	// string "dfareporting#city".
2727	Kind string `json:"kind,omitempty"`
2728
2729	// MetroCode: Metro region code of the metro region (DMA) to which this
2730	// city belongs.
2731	MetroCode string `json:"metroCode,omitempty"`
2732
2733	// MetroDmaId: ID of the metro region (DMA) to which this city belongs.
2734	MetroDmaId int64 `json:"metroDmaId,omitempty,string"`
2735
2736	// Name: Name of this city.
2737	Name string `json:"name,omitempty"`
2738
2739	// RegionCode: Region code of the region to which this city belongs.
2740	RegionCode string `json:"regionCode,omitempty"`
2741
2742	// RegionDartId: DART ID of the region to which this city belongs.
2743	RegionDartId int64 `json:"regionDartId,omitempty,string"`
2744
2745	// ForceSendFields is a list of field names (e.g. "CountryCode") to
2746	// unconditionally include in API requests. By default, fields with
2747	// empty values are omitted from API requests. However, any non-pointer,
2748	// non-interface field appearing in ForceSendFields will be sent to the
2749	// server regardless of whether the field is empty or not. This may be
2750	// used to include empty fields in Patch requests.
2751	ForceSendFields []string `json:"-"`
2752
2753	// NullFields is a list of field names (e.g. "CountryCode") to include
2754	// in API requests with the JSON null value. By default, fields with
2755	// empty values are omitted from API requests. However, any field with
2756	// an empty value appearing in NullFields will be sent to the server as
2757	// null. It is an error if a field in this list has a non-empty value.
2758	// This may be used to include null fields in Patch requests.
2759	NullFields []string `json:"-"`
2760}
2761
2762func (s *City) MarshalJSON() ([]byte, error) {
2763	type NoMethod City
2764	raw := NoMethod(*s)
2765	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2766}
2767
2768// ClickTag: Creative Click Tag.
2769type ClickTag struct {
2770	// ClickThroughUrl: Parameter value for the specified click tag. This
2771	// field contains a click-through url.
2772	ClickThroughUrl *CreativeClickThroughUrl `json:"clickThroughUrl,omitempty"`
2773
2774	// EventName: Advertiser event name associated with the click tag. This
2775	// field is used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives.
2776	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
2777	EventName string `json:"eventName,omitempty"`
2778
2779	// Name: Parameter name for the specified click tag. For
2780	// DISPLAY_IMAGE_GALLERY creative assets, this field must match the
2781	// value of the creative asset's creativeAssetId.name field.
2782	Name string `json:"name,omitempty"`
2783
2784	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
2785	// unconditionally include in API requests. By default, fields with
2786	// empty values are omitted from API requests. However, any non-pointer,
2787	// non-interface field appearing in ForceSendFields will be sent to the
2788	// server regardless of whether the field is empty or not. This may be
2789	// used to include empty fields in Patch requests.
2790	ForceSendFields []string `json:"-"`
2791
2792	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
2793	// include in API requests with the JSON null value. By default, fields
2794	// with empty values are omitted from API requests. However, any field
2795	// with an empty value appearing in NullFields will be sent to the
2796	// server as null. It is an error if a field in this list has a
2797	// non-empty value. This may be used to include null fields in Patch
2798	// requests.
2799	NullFields []string `json:"-"`
2800}
2801
2802func (s *ClickTag) MarshalJSON() ([]byte, error) {
2803	type NoMethod ClickTag
2804	raw := NoMethod(*s)
2805	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2806}
2807
2808// ClickThroughUrl: Click-through URL
2809type ClickThroughUrl struct {
2810	// ComputedClickThroughUrl: Read-only convenience field representing the
2811	// actual URL that will be used for this click-through. The URL is
2812	// computed as follows: - If defaultLandingPage is enabled then the
2813	// campaign's default landing page URL is assigned to this field. - If
2814	// defaultLandingPage is not enabled and a landingPageId is specified
2815	// then that landing page's URL is assigned to this field. - If neither
2816	// of the above cases apply, then the customClickThroughUrl is assigned
2817	// to this field.
2818	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
2819
2820	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
2821	// defaultLandingPage field is set to false and the landingPageId field
2822	// is left unset.
2823	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
2824
2825	// DefaultLandingPage: Whether the campaign default landing page is
2826	// used.
2827	DefaultLandingPage bool `json:"defaultLandingPage,omitempty"`
2828
2829	// LandingPageId: ID of the landing page for the click-through URL.
2830	// Applicable if the defaultLandingPage field is set to false.
2831	LandingPageId int64 `json:"landingPageId,omitempty,string"`
2832
2833	// ForceSendFields is a list of field names (e.g.
2834	// "ComputedClickThroughUrl") to unconditionally include in API
2835	// requests. By default, fields with empty values are omitted from API
2836	// requests. However, any non-pointer, non-interface field appearing in
2837	// ForceSendFields will be sent to the server regardless of whether the
2838	// field is empty or not. This may be used to include empty fields in
2839	// Patch requests.
2840	ForceSendFields []string `json:"-"`
2841
2842	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
2843	// to include in API requests with the JSON null value. By default,
2844	// fields with empty values are omitted from API requests. However, any
2845	// field with an empty value appearing in NullFields will be sent to the
2846	// server as null. It is an error if a field in this list has a
2847	// non-empty value. This may be used to include null fields in Patch
2848	// requests.
2849	NullFields []string `json:"-"`
2850}
2851
2852func (s *ClickThroughUrl) MarshalJSON() ([]byte, error) {
2853	type NoMethod ClickThroughUrl
2854	raw := NoMethod(*s)
2855	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2856}
2857
2858// ClickThroughUrlSuffixProperties: Click Through URL Suffix settings.
2859type ClickThroughUrlSuffixProperties struct {
2860	// ClickThroughUrlSuffix: Click-through URL suffix to apply to all ads
2861	// in this entity's scope. Must be less than 128 characters long.
2862	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
2863
2864	// OverrideInheritedSuffix: Whether this entity should override the
2865	// inherited click-through URL suffix with its own defined value.
2866	OverrideInheritedSuffix bool `json:"overrideInheritedSuffix,omitempty"`
2867
2868	// ForceSendFields is a list of field names (e.g.
2869	// "ClickThroughUrlSuffix") to unconditionally include in API requests.
2870	// By default, fields with empty values are omitted from API requests.
2871	// However, any non-pointer, non-interface field appearing in
2872	// ForceSendFields will be sent to the server regardless of whether the
2873	// field is empty or not. This may be used to include empty fields in
2874	// Patch requests.
2875	ForceSendFields []string `json:"-"`
2876
2877	// NullFields is a list of field names (e.g. "ClickThroughUrlSuffix") to
2878	// include in API requests with the JSON null value. By default, fields
2879	// with empty values are omitted from API requests. However, any field
2880	// with an empty value appearing in NullFields will be sent to the
2881	// server as null. It is an error if a field in this list has a
2882	// non-empty value. This may be used to include null fields in Patch
2883	// requests.
2884	NullFields []string `json:"-"`
2885}
2886
2887func (s *ClickThroughUrlSuffixProperties) MarshalJSON() ([]byte, error) {
2888	type NoMethod ClickThroughUrlSuffixProperties
2889	raw := NoMethod(*s)
2890	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2891}
2892
2893// CompanionClickThroughOverride: Companion Click-through override.
2894type CompanionClickThroughOverride struct {
2895	// ClickThroughUrl: Click-through URL of this companion click-through
2896	// override.
2897	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
2898
2899	// CreativeId: ID of the creative for this companion click-through
2900	// override.
2901	CreativeId int64 `json:"creativeId,omitempty,string"`
2902
2903	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
2904	// unconditionally include in API requests. By default, fields with
2905	// empty values are omitted from API requests. However, any non-pointer,
2906	// non-interface field appearing in ForceSendFields will be sent to the
2907	// server regardless of whether the field is empty or not. This may be
2908	// used to include empty fields in Patch requests.
2909	ForceSendFields []string `json:"-"`
2910
2911	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
2912	// include in API requests with the JSON null value. By default, fields
2913	// with empty values are omitted from API requests. However, any field
2914	// with an empty value appearing in NullFields will be sent to the
2915	// server as null. It is an error if a field in this list has a
2916	// non-empty value. This may be used to include null fields in Patch
2917	// requests.
2918	NullFields []string `json:"-"`
2919}
2920
2921func (s *CompanionClickThroughOverride) MarshalJSON() ([]byte, error) {
2922	type NoMethod CompanionClickThroughOverride
2923	raw := NoMethod(*s)
2924	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2925}
2926
2927// CompanionSetting: Companion Settings
2928type CompanionSetting struct {
2929	// CompanionsDisabled: Whether companions are disabled for this
2930	// placement.
2931	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
2932
2933	// EnabledSizes: Allowlist of companion sizes to be served to this
2934	// placement. Set this list to null or empty to serve all companion
2935	// sizes.
2936	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
2937
2938	// ImageOnly: Whether to serve only static images as companions.
2939	ImageOnly bool `json:"imageOnly,omitempty"`
2940
2941	// Kind: Identifies what kind of resource this is. Value: the fixed
2942	// string "dfareporting#companionSetting".
2943	Kind string `json:"kind,omitempty"`
2944
2945	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
2946	// to unconditionally include in API requests. By default, fields with
2947	// empty values are omitted from API requests. However, any non-pointer,
2948	// non-interface field appearing in ForceSendFields will be sent to the
2949	// server regardless of whether the field is empty or not. This may be
2950	// used to include empty fields in Patch requests.
2951	ForceSendFields []string `json:"-"`
2952
2953	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
2954	// include in API requests with the JSON null value. By default, fields
2955	// with empty values are omitted from API requests. However, any field
2956	// with an empty value appearing in NullFields will be sent to the
2957	// server as null. It is an error if a field in this list has a
2958	// non-empty value. This may be used to include null fields in Patch
2959	// requests.
2960	NullFields []string `json:"-"`
2961}
2962
2963func (s *CompanionSetting) MarshalJSON() ([]byte, error) {
2964	type NoMethod CompanionSetting
2965	raw := NoMethod(*s)
2966	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2967}
2968
2969// CompatibleFields: Represents a response to the queryCompatibleFields
2970// method.
2971type CompatibleFields struct {
2972	// CrossDimensionReachReportCompatibleFields: Contains items that are
2973	// compatible to be selected for a report of type
2974	// "CROSS_DIMENSION_REACH".
2975	CrossDimensionReachReportCompatibleFields *CrossDimensionReachReportCompatibleFields `json:"crossDimensionReachReportCompatibleFields,omitempty"`
2976
2977	// FloodlightReportCompatibleFields: Contains items that are compatible
2978	// to be selected for a report of type "FLOODLIGHT".
2979	FloodlightReportCompatibleFields *FloodlightReportCompatibleFields `json:"floodlightReportCompatibleFields,omitempty"`
2980
2981	// Kind: The kind of resource this is, in this case
2982	// dfareporting#compatibleFields.
2983	Kind string `json:"kind,omitempty"`
2984
2985	// PathToConversionReportCompatibleFields: Contains items that are
2986	// compatible to be selected for a report of type "PATH_TO_CONVERSION".
2987	PathToConversionReportCompatibleFields *PathToConversionReportCompatibleFields `json:"pathToConversionReportCompatibleFields,omitempty"`
2988
2989	// ReachReportCompatibleFields: Contains items that are compatible to be
2990	// selected for a report of type "REACH".
2991	ReachReportCompatibleFields *ReachReportCompatibleFields `json:"reachReportCompatibleFields,omitempty"`
2992
2993	// ReportCompatibleFields: Contains items that are compatible to be
2994	// selected for a report of type "STANDARD".
2995	ReportCompatibleFields *ReportCompatibleFields `json:"reportCompatibleFields,omitempty"`
2996
2997	// ServerResponse contains the HTTP response code and headers from the
2998	// server.
2999	googleapi.ServerResponse `json:"-"`
3000
3001	// ForceSendFields is a list of field names (e.g.
3002	// "CrossDimensionReachReportCompatibleFields") to unconditionally
3003	// include in API requests. By default, fields with empty values are
3004	// omitted from API requests. However, any non-pointer, non-interface
3005	// field appearing in ForceSendFields will be sent to the server
3006	// regardless of whether the field is empty or not. This may be used to
3007	// include empty fields in Patch requests.
3008	ForceSendFields []string `json:"-"`
3009
3010	// NullFields is a list of field names (e.g.
3011	// "CrossDimensionReachReportCompatibleFields") to include in API
3012	// requests with the JSON null value. By default, fields with empty
3013	// values are omitted from API requests. However, any field with an
3014	// empty value appearing in NullFields will be sent to the server as
3015	// null. It is an error if a field in this list has a non-empty value.
3016	// This may be used to include null fields in Patch requests.
3017	NullFields []string `json:"-"`
3018}
3019
3020func (s *CompatibleFields) MarshalJSON() ([]byte, error) {
3021	type NoMethod CompatibleFields
3022	raw := NoMethod(*s)
3023	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3024}
3025
3026// ConnectionType: Contains information about an internet connection
3027// type that can be targeted by ads. Clients can use the connection type
3028// to target mobile vs. broadband users.
3029type ConnectionType struct {
3030	// Id: ID of this connection type.
3031	Id int64 `json:"id,omitempty,string"`
3032
3033	// Kind: Identifies what kind of resource this is. Value: the fixed
3034	// string "dfareporting#connectionType".
3035	Kind string `json:"kind,omitempty"`
3036
3037	// Name: Name of this connection type.
3038	Name string `json:"name,omitempty"`
3039
3040	// ServerResponse contains the HTTP response code and headers from the
3041	// server.
3042	googleapi.ServerResponse `json:"-"`
3043
3044	// ForceSendFields is a list of field names (e.g. "Id") to
3045	// unconditionally include in API requests. By default, fields with
3046	// empty values are omitted from API requests. However, any non-pointer,
3047	// non-interface field appearing in ForceSendFields will be sent to the
3048	// server regardless of whether the field is empty or not. This may be
3049	// used to include empty fields in Patch requests.
3050	ForceSendFields []string `json:"-"`
3051
3052	// NullFields is a list of field names (e.g. "Id") to include in API
3053	// requests with the JSON null value. By default, fields with empty
3054	// values are omitted from API requests. However, any field with an
3055	// empty value appearing in NullFields will be sent to the server as
3056	// null. It is an error if a field in this list has a non-empty value.
3057	// This may be used to include null fields in Patch requests.
3058	NullFields []string `json:"-"`
3059}
3060
3061func (s *ConnectionType) MarshalJSON() ([]byte, error) {
3062	type NoMethod ConnectionType
3063	raw := NoMethod(*s)
3064	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3065}
3066
3067// ConnectionTypesListResponse: Connection Type List Response
3068type ConnectionTypesListResponse struct {
3069	// ConnectionTypes: Collection of connection types such as broadband and
3070	// mobile.
3071	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
3072
3073	// Kind: Identifies what kind of resource this is. Value: the fixed
3074	// string "dfareporting#connectionTypesListResponse".
3075	Kind string `json:"kind,omitempty"`
3076
3077	// ServerResponse contains the HTTP response code and headers from the
3078	// server.
3079	googleapi.ServerResponse `json:"-"`
3080
3081	// ForceSendFields is a list of field names (e.g. "ConnectionTypes") to
3082	// unconditionally include in API requests. By default, fields with
3083	// empty values are omitted from API requests. However, any non-pointer,
3084	// non-interface field appearing in ForceSendFields will be sent to the
3085	// server regardless of whether the field is empty or not. This may be
3086	// used to include empty fields in Patch requests.
3087	ForceSendFields []string `json:"-"`
3088
3089	// NullFields is a list of field names (e.g. "ConnectionTypes") to
3090	// include in API requests with the JSON null value. By default, fields
3091	// with empty values are omitted from API requests. However, any field
3092	// with an empty value appearing in NullFields will be sent to the
3093	// server as null. It is an error if a field in this list has a
3094	// non-empty value. This may be used to include null fields in Patch
3095	// requests.
3096	NullFields []string `json:"-"`
3097}
3098
3099func (s *ConnectionTypesListResponse) MarshalJSON() ([]byte, error) {
3100	type NoMethod ConnectionTypesListResponse
3101	raw := NoMethod(*s)
3102	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3103}
3104
3105// ContentCategoriesListResponse: Content Category List Response
3106type ContentCategoriesListResponse struct {
3107	// ContentCategories: Content category collection.
3108	ContentCategories []*ContentCategory `json:"contentCategories,omitempty"`
3109
3110	// Kind: Identifies what kind of resource this is. Value: the fixed
3111	// string "dfareporting#contentCategoriesListResponse".
3112	Kind string `json:"kind,omitempty"`
3113
3114	// NextPageToken: Pagination token to be used for the next list
3115	// operation.
3116	NextPageToken string `json:"nextPageToken,omitempty"`
3117
3118	// ServerResponse contains the HTTP response code and headers from the
3119	// server.
3120	googleapi.ServerResponse `json:"-"`
3121
3122	// ForceSendFields is a list of field names (e.g. "ContentCategories")
3123	// to unconditionally include in API requests. By default, fields with
3124	// empty values are omitted from API requests. However, any non-pointer,
3125	// non-interface field appearing in ForceSendFields will be sent to the
3126	// server regardless of whether the field is empty or not. This may be
3127	// used to include empty fields in Patch requests.
3128	ForceSendFields []string `json:"-"`
3129
3130	// NullFields is a list of field names (e.g. "ContentCategories") to
3131	// include in API requests with the JSON null value. By default, fields
3132	// with empty values are omitted from API requests. However, any field
3133	// with an empty value appearing in NullFields will be sent to the
3134	// server as null. It is an error if a field in this list has a
3135	// non-empty value. This may be used to include null fields in Patch
3136	// requests.
3137	NullFields []string `json:"-"`
3138}
3139
3140func (s *ContentCategoriesListResponse) MarshalJSON() ([]byte, error) {
3141	type NoMethod ContentCategoriesListResponse
3142	raw := NoMethod(*s)
3143	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3144}
3145
3146// ContentCategory: Organizes placements according to the contents of
3147// their associated webpages.
3148type ContentCategory struct {
3149	// AccountId: Account ID of this content category. This is a read-only
3150	// field that can be left blank.
3151	AccountId int64 `json:"accountId,omitempty,string"`
3152
3153	// Id: ID of this content category. This is a read-only, auto-generated
3154	// field.
3155	Id int64 `json:"id,omitempty,string"`
3156
3157	// Kind: Identifies what kind of resource this is. Value: the fixed
3158	// string "dfareporting#contentCategory".
3159	Kind string `json:"kind,omitempty"`
3160
3161	// Name: Name of this content category. This is a required field and
3162	// must be less than 256 characters long and unique among content
3163	// categories of the same account.
3164	Name string `json:"name,omitempty"`
3165
3166	// ServerResponse contains the HTTP response code and headers from the
3167	// server.
3168	googleapi.ServerResponse `json:"-"`
3169
3170	// ForceSendFields is a list of field names (e.g. "AccountId") to
3171	// unconditionally include in API requests. By default, fields with
3172	// empty values are omitted from API requests. However, any non-pointer,
3173	// non-interface field appearing in ForceSendFields will be sent to the
3174	// server regardless of whether the field is empty or not. This may be
3175	// used to include empty fields in Patch requests.
3176	ForceSendFields []string `json:"-"`
3177
3178	// NullFields is a list of field names (e.g. "AccountId") to include in
3179	// API requests with the JSON null value. By default, fields with empty
3180	// values are omitted from API requests. However, any field with an
3181	// empty value appearing in NullFields will be sent to the server as
3182	// null. It is an error if a field in this list has a non-empty value.
3183	// This may be used to include null fields in Patch requests.
3184	NullFields []string `json:"-"`
3185}
3186
3187func (s *ContentCategory) MarshalJSON() ([]byte, error) {
3188	type NoMethod ContentCategory
3189	raw := NoMethod(*s)
3190	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3191}
3192
3193// Conversion: A Conversion represents when a user successfully performs
3194// a desired action after seeing an ad.
3195type Conversion struct {
3196	// ChildDirectedTreatment: Whether this particular request may come from
3197	// a user under the age of 13, under COPPA compliance.
3198	ChildDirectedTreatment bool `json:"childDirectedTreatment,omitempty"`
3199
3200	// CustomVariables: Custom floodlight variables.
3201	CustomVariables []*CustomFloodlightVariable `json:"customVariables,omitempty"`
3202
3203	// EncryptedUserId: The alphanumeric encrypted user ID. When set,
3204	// encryptionInfo should also be specified. This field is mutually
3205	// exclusive with encryptedUserIdCandidates[], matchId, mobileDeviceId
3206	// and gclid. This or encryptedUserIdCandidates[] or matchId or
3207	// mobileDeviceId or gclid is a required field.
3208	EncryptedUserId string `json:"encryptedUserId,omitempty"`
3209
3210	// EncryptedUserIdCandidates: A list of the alphanumeric encrypted user
3211	// IDs. Any user ID with exposure prior to the conversion timestamp will
3212	// be used in the inserted conversion. If no such user ID is found then
3213	// the conversion will be rejected with INVALID_ARGUMENT error. When
3214	// set, encryptionInfo should also be specified. This field may only be
3215	// used when calling batchinsert; it is not supported by batchupdate.
3216	// This field is mutually exclusive with encryptedUserId, matchId,
3217	// mobileDeviceId and gclid. This or encryptedUserId or matchId or
3218	// mobileDeviceId or gclid is a required field.
3219	EncryptedUserIdCandidates []string `json:"encryptedUserIdCandidates,omitempty"`
3220
3221	// FloodlightActivityId: Floodlight Activity ID of this conversion. This
3222	// is a required field.
3223	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
3224
3225	// FloodlightConfigurationId: Floodlight Configuration ID of this
3226	// conversion. This is a required field.
3227	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
3228
3229	// Gclid: The Google click ID. This field is mutually exclusive with
3230	// encryptedUserId, encryptedUserIdCandidates[], matchId and
3231	// mobileDeviceId. This or encryptedUserId or
3232	// encryptedUserIdCandidates[] or matchId or mobileDeviceId is a
3233	// required field.
3234	Gclid string `json:"gclid,omitempty"`
3235
3236	// Kind: Identifies what kind of resource this is. Value: the fixed
3237	// string "dfareporting#conversion".
3238	Kind string `json:"kind,omitempty"`
3239
3240	// LimitAdTracking: Whether Limit Ad Tracking is enabled. When set to
3241	// true, the conversion will be used for reporting but not targeting.
3242	// This will prevent remarketing.
3243	LimitAdTracking bool `json:"limitAdTracking,omitempty"`
3244
3245	// MatchId: The match ID field. A match ID is your own first-party
3246	// identifier that has been synced with Google using the match ID
3247	// feature in Floodlight. This field is mutually exclusive with
3248	// encryptedUserId, encryptedUserIdCandidates[],mobileDeviceId and
3249	// gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
3250	// mobileDeviceId or gclid is a required field.
3251	MatchId string `json:"matchId,omitempty"`
3252
3253	// MobileDeviceId: The mobile device ID. This field is mutually
3254	// exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId
3255	// and gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
3256	// matchId or gclid is a required field.
3257	MobileDeviceId string `json:"mobileDeviceId,omitempty"`
3258
3259	// NonPersonalizedAd: Whether the conversion was for a non personalized
3260	// ad.
3261	NonPersonalizedAd bool `json:"nonPersonalizedAd,omitempty"`
3262
3263	// Ordinal: The ordinal of the conversion. Use this field to control how
3264	// conversions of the same user and day are de-duplicated. This is a
3265	// required field.
3266	Ordinal string `json:"ordinal,omitempty"`
3267
3268	// Quantity: The quantity of the conversion.
3269	Quantity int64 `json:"quantity,omitempty,string"`
3270
3271	// TimestampMicros: The timestamp of conversion, in Unix epoch micros.
3272	// This is a required field.
3273	TimestampMicros int64 `json:"timestampMicros,omitempty,string"`
3274
3275	// TreatmentForUnderage: Whether this particular request may come from a
3276	// user under the age of 16 (may differ by country), under compliance
3277	// with the European Union's General Data Protection Regulation (GDPR).
3278	TreatmentForUnderage bool `json:"treatmentForUnderage,omitempty"`
3279
3280	// Value: The value of the conversion.
3281	Value float64 `json:"value,omitempty"`
3282
3283	// ForceSendFields is a list of field names (e.g.
3284	// "ChildDirectedTreatment") to unconditionally include in API requests.
3285	// By default, fields with empty values are omitted from API requests.
3286	// However, any non-pointer, non-interface field appearing in
3287	// ForceSendFields will be sent to the server regardless of whether the
3288	// field is empty or not. This may be used to include empty fields in
3289	// Patch requests.
3290	ForceSendFields []string `json:"-"`
3291
3292	// NullFields is a list of field names (e.g. "ChildDirectedTreatment")
3293	// to include in API requests with the JSON null value. By default,
3294	// fields with empty values are omitted from API requests. However, any
3295	// field with an empty value appearing in NullFields will be sent to the
3296	// server as null. It is an error if a field in this list has a
3297	// non-empty value. This may be used to include null fields in Patch
3298	// requests.
3299	NullFields []string `json:"-"`
3300}
3301
3302func (s *Conversion) MarshalJSON() ([]byte, error) {
3303	type NoMethod Conversion
3304	raw := NoMethod(*s)
3305	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3306}
3307
3308func (s *Conversion) UnmarshalJSON(data []byte) error {
3309	type NoMethod Conversion
3310	var s1 struct {
3311		Value gensupport.JSONFloat64 `json:"value"`
3312		*NoMethod
3313	}
3314	s1.NoMethod = (*NoMethod)(s)
3315	if err := json.Unmarshal(data, &s1); err != nil {
3316		return err
3317	}
3318	s.Value = float64(s1.Value)
3319	return nil
3320}
3321
3322// ConversionError: The error code and description for a conversion that
3323// failed to insert or update.
3324type ConversionError struct {
3325	// Code: The error code.
3326	//
3327	// Possible values:
3328	//   "INVALID_ARGUMENT"
3329	//   "INTERNAL"
3330	//   "PERMISSION_DENIED"
3331	//   "NOT_FOUND"
3332	Code string `json:"code,omitempty"`
3333
3334	// Kind: Identifies what kind of resource this is. Value: the fixed
3335	// string "dfareporting#conversionError".
3336	Kind string `json:"kind,omitempty"`
3337
3338	// Message: A description of the error.
3339	Message string `json:"message,omitempty"`
3340
3341	// ForceSendFields is a list of field names (e.g. "Code") to
3342	// unconditionally include in API requests. By default, fields with
3343	// empty values are omitted from API requests. However, any non-pointer,
3344	// non-interface field appearing in ForceSendFields will be sent to the
3345	// server regardless of whether the field is empty or not. This may be
3346	// used to include empty fields in Patch requests.
3347	ForceSendFields []string `json:"-"`
3348
3349	// NullFields is a list of field names (e.g. "Code") to include in API
3350	// requests with the JSON null value. By default, fields with empty
3351	// values are omitted from API requests. However, any field with an
3352	// empty value appearing in NullFields will be sent to the server as
3353	// null. It is an error if a field in this list has a non-empty value.
3354	// This may be used to include null fields in Patch requests.
3355	NullFields []string `json:"-"`
3356}
3357
3358func (s *ConversionError) MarshalJSON() ([]byte, error) {
3359	type NoMethod ConversionError
3360	raw := NoMethod(*s)
3361	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3362}
3363
3364// ConversionStatus: The original conversion that was inserted or
3365// updated and whether there were any errors.
3366type ConversionStatus struct {
3367	// Conversion: The original conversion that was inserted or updated.
3368	Conversion *Conversion `json:"conversion,omitempty"`
3369
3370	// Errors: A list of errors related to this conversion.
3371	Errors []*ConversionError `json:"errors,omitempty"`
3372
3373	// Kind: Identifies what kind of resource this is. Value: the fixed
3374	// string "dfareporting#conversionStatus".
3375	Kind string `json:"kind,omitempty"`
3376
3377	// ForceSendFields is a list of field names (e.g. "Conversion") to
3378	// unconditionally include in API requests. By default, fields with
3379	// empty values are omitted from API requests. However, any non-pointer,
3380	// non-interface field appearing in ForceSendFields will be sent to the
3381	// server regardless of whether the field is empty or not. This may be
3382	// used to include empty fields in Patch requests.
3383	ForceSendFields []string `json:"-"`
3384
3385	// NullFields is a list of field names (e.g. "Conversion") to include in
3386	// API requests with the JSON null value. By default, fields with empty
3387	// values are omitted from API requests. However, any field with an
3388	// empty value appearing in NullFields will be sent to the server as
3389	// null. It is an error if a field in this list has a non-empty value.
3390	// This may be used to include null fields in Patch requests.
3391	NullFields []string `json:"-"`
3392}
3393
3394func (s *ConversionStatus) MarshalJSON() ([]byte, error) {
3395	type NoMethod ConversionStatus
3396	raw := NoMethod(*s)
3397	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3398}
3399
3400// ConversionsBatchInsertRequest: Insert Conversions Request.
3401type ConversionsBatchInsertRequest struct {
3402	// Conversions: The set of conversions to insert.
3403	Conversions []*Conversion `json:"conversions,omitempty"`
3404
3405	// EncryptionInfo: Describes how encryptedUserId or
3406	// encryptedUserIdCandidates[] is encrypted. This is a required field if
3407	// encryptedUserId or encryptedUserIdCandidates[] is used.
3408	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
3409
3410	// Kind: Identifies what kind of resource this is. Value: the fixed
3411	// string "dfareporting#conversionsBatchInsertRequest".
3412	Kind string `json:"kind,omitempty"`
3413
3414	// ForceSendFields is a list of field names (e.g. "Conversions") to
3415	// unconditionally include in API requests. By default, fields with
3416	// empty values are omitted from API requests. However, any non-pointer,
3417	// non-interface field appearing in ForceSendFields will be sent to the
3418	// server regardless of whether the field is empty or not. This may be
3419	// used to include empty fields in Patch requests.
3420	ForceSendFields []string `json:"-"`
3421
3422	// NullFields is a list of field names (e.g. "Conversions") to include
3423	// in API requests with the JSON null value. By default, fields with
3424	// empty values are omitted from API requests. However, any field with
3425	// an empty value appearing in NullFields will be sent to the server as
3426	// null. It is an error if a field in this list has a non-empty value.
3427	// This may be used to include null fields in Patch requests.
3428	NullFields []string `json:"-"`
3429}
3430
3431func (s *ConversionsBatchInsertRequest) MarshalJSON() ([]byte, error) {
3432	type NoMethod ConversionsBatchInsertRequest
3433	raw := NoMethod(*s)
3434	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3435}
3436
3437// ConversionsBatchInsertResponse: Insert Conversions Response.
3438type ConversionsBatchInsertResponse struct {
3439	// HasFailures: Indicates that some or all conversions failed to insert.
3440	HasFailures bool `json:"hasFailures,omitempty"`
3441
3442	// Kind: Identifies what kind of resource this is. Value: the fixed
3443	// string "dfareporting#conversionsBatchInsertResponse".
3444	Kind string `json:"kind,omitempty"`
3445
3446	// Status: The insert status of each conversion. Statuses are returned
3447	// in the same order that conversions are inserted.
3448	Status []*ConversionStatus `json:"status,omitempty"`
3449
3450	// ServerResponse contains the HTTP response code and headers from the
3451	// server.
3452	googleapi.ServerResponse `json:"-"`
3453
3454	// ForceSendFields is a list of field names (e.g. "HasFailures") to
3455	// unconditionally include in API requests. By default, fields with
3456	// empty values are omitted from API requests. However, any non-pointer,
3457	// non-interface field appearing in ForceSendFields will be sent to the
3458	// server regardless of whether the field is empty or not. This may be
3459	// used to include empty fields in Patch requests.
3460	ForceSendFields []string `json:"-"`
3461
3462	// NullFields is a list of field names (e.g. "HasFailures") to include
3463	// in API requests with the JSON null value. By default, fields with
3464	// empty values are omitted from API requests. However, any field with
3465	// an empty value appearing in NullFields will be sent to the server as
3466	// null. It is an error if a field in this list has a non-empty value.
3467	// This may be used to include null fields in Patch requests.
3468	NullFields []string `json:"-"`
3469}
3470
3471func (s *ConversionsBatchInsertResponse) MarshalJSON() ([]byte, error) {
3472	type NoMethod ConversionsBatchInsertResponse
3473	raw := NoMethod(*s)
3474	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3475}
3476
3477// ConversionsBatchUpdateRequest: Update Conversions Request.
3478type ConversionsBatchUpdateRequest struct {
3479	// Conversions: The set of conversions to update.
3480	Conversions []*Conversion `json:"conversions,omitempty"`
3481
3482	// EncryptionInfo: Describes how encryptedUserId is encrypted. This is a
3483	// required field if encryptedUserId is used.
3484	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
3485
3486	// Kind: Identifies what kind of resource this is. Value: the fixed
3487	// string "dfareporting#conversionsBatchUpdateRequest".
3488	Kind string `json:"kind,omitempty"`
3489
3490	// ForceSendFields is a list of field names (e.g. "Conversions") to
3491	// unconditionally include in API requests. By default, fields with
3492	// empty values are omitted from API requests. However, any non-pointer,
3493	// non-interface field appearing in ForceSendFields will be sent to the
3494	// server regardless of whether the field is empty or not. This may be
3495	// used to include empty fields in Patch requests.
3496	ForceSendFields []string `json:"-"`
3497
3498	// NullFields is a list of field names (e.g. "Conversions") to include
3499	// in API requests with the JSON null value. By default, fields with
3500	// empty values are omitted from API requests. However, any field with
3501	// an empty value appearing in NullFields will be sent to the server as
3502	// null. It is an error if a field in this list has a non-empty value.
3503	// This may be used to include null fields in Patch requests.
3504	NullFields []string `json:"-"`
3505}
3506
3507func (s *ConversionsBatchUpdateRequest) MarshalJSON() ([]byte, error) {
3508	type NoMethod ConversionsBatchUpdateRequest
3509	raw := NoMethod(*s)
3510	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3511}
3512
3513// ConversionsBatchUpdateResponse: Update Conversions Response.
3514type ConversionsBatchUpdateResponse struct {
3515	// HasFailures: Indicates that some or all conversions failed to update.
3516	HasFailures bool `json:"hasFailures,omitempty"`
3517
3518	// Kind: Identifies what kind of resource this is. Value: the fixed
3519	// string "dfareporting#conversionsBatchUpdateResponse".
3520	Kind string `json:"kind,omitempty"`
3521
3522	// Status: The update status of each conversion. Statuses are returned
3523	// in the same order that conversions are updated.
3524	Status []*ConversionStatus `json:"status,omitempty"`
3525
3526	// ServerResponse contains the HTTP response code and headers from the
3527	// server.
3528	googleapi.ServerResponse `json:"-"`
3529
3530	// ForceSendFields is a list of field names (e.g. "HasFailures") to
3531	// unconditionally include in API requests. By default, fields with
3532	// empty values are omitted from API requests. However, any non-pointer,
3533	// non-interface field appearing in ForceSendFields will be sent to the
3534	// server regardless of whether the field is empty or not. This may be
3535	// used to include empty fields in Patch requests.
3536	ForceSendFields []string `json:"-"`
3537
3538	// NullFields is a list of field names (e.g. "HasFailures") to include
3539	// in API requests with the JSON null value. By default, fields with
3540	// empty values are omitted from API requests. However, any field with
3541	// an empty value appearing in NullFields will be sent to the server as
3542	// null. It is an error if a field in this list has a non-empty value.
3543	// This may be used to include null fields in Patch requests.
3544	NullFields []string `json:"-"`
3545}
3546
3547func (s *ConversionsBatchUpdateResponse) MarshalJSON() ([]byte, error) {
3548	type NoMethod ConversionsBatchUpdateResponse
3549	raw := NoMethod(*s)
3550	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3551}
3552
3553// CountriesListResponse: Country List Response
3554type CountriesListResponse struct {
3555	// Countries: Country collection.
3556	Countries []*Country `json:"countries,omitempty"`
3557
3558	// Kind: Identifies what kind of resource this is. Value: the fixed
3559	// string "dfareporting#countriesListResponse".
3560	Kind string `json:"kind,omitempty"`
3561
3562	// ServerResponse contains the HTTP response code and headers from the
3563	// server.
3564	googleapi.ServerResponse `json:"-"`
3565
3566	// ForceSendFields is a list of field names (e.g. "Countries") to
3567	// unconditionally include in API requests. By default, fields with
3568	// empty values are omitted from API requests. However, any non-pointer,
3569	// non-interface field appearing in ForceSendFields will be sent to the
3570	// server regardless of whether the field is empty or not. This may be
3571	// used to include empty fields in Patch requests.
3572	ForceSendFields []string `json:"-"`
3573
3574	// NullFields is a list of field names (e.g. "Countries") to include in
3575	// API requests with the JSON null value. By default, fields with empty
3576	// values are omitted from API requests. However, any field with an
3577	// empty value appearing in NullFields will be sent to the server as
3578	// null. It is an error if a field in this list has a non-empty value.
3579	// This may be used to include null fields in Patch requests.
3580	NullFields []string `json:"-"`
3581}
3582
3583func (s *CountriesListResponse) MarshalJSON() ([]byte, error) {
3584	type NoMethod CountriesListResponse
3585	raw := NoMethod(*s)
3586	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3587}
3588
3589// Country: Contains information about a country that can be targeted by
3590// ads.
3591type Country struct {
3592	// CountryCode: Country code.
3593	CountryCode string `json:"countryCode,omitempty"`
3594
3595	// DartId: DART ID of this country. This is the ID used for targeting
3596	// and generating reports.
3597	DartId int64 `json:"dartId,omitempty,string"`
3598
3599	// Kind: Identifies what kind of resource this is. Value: the fixed
3600	// string "dfareporting#country".
3601	Kind string `json:"kind,omitempty"`
3602
3603	// Name: Name of this country.
3604	Name string `json:"name,omitempty"`
3605
3606	// SslEnabled: Whether ad serving supports secure servers in this
3607	// country.
3608	SslEnabled bool `json:"sslEnabled,omitempty"`
3609
3610	// ServerResponse contains the HTTP response code and headers from the
3611	// server.
3612	googleapi.ServerResponse `json:"-"`
3613
3614	// ForceSendFields is a list of field names (e.g. "CountryCode") to
3615	// unconditionally include in API requests. By default, fields with
3616	// empty values are omitted from API requests. However, any non-pointer,
3617	// non-interface field appearing in ForceSendFields will be sent to the
3618	// server regardless of whether the field is empty or not. This may be
3619	// used to include empty fields in Patch requests.
3620	ForceSendFields []string `json:"-"`
3621
3622	// NullFields is a list of field names (e.g. "CountryCode") to include
3623	// in API requests with the JSON null value. By default, fields with
3624	// empty values are omitted from API requests. However, any field with
3625	// an empty value appearing in NullFields will be sent to the server as
3626	// null. It is an error if a field in this list has a non-empty value.
3627	// This may be used to include null fields in Patch requests.
3628	NullFields []string `json:"-"`
3629}
3630
3631func (s *Country) MarshalJSON() ([]byte, error) {
3632	type NoMethod Country
3633	raw := NoMethod(*s)
3634	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3635}
3636
3637// Creative: Contains properties of a Creative.
3638type Creative struct {
3639	// AccountId: Account ID of this creative. This field, if left unset,
3640	// will be auto-generated for both insert and update operations.
3641	// Applicable to all creative types.
3642	AccountId int64 `json:"accountId,omitempty,string"`
3643
3644	// Active: Whether the creative is active. Applicable to all creative
3645	// types.
3646	Active bool `json:"active,omitempty"`
3647
3648	// AdParameters: Ad parameters user for VPAID creative. This is a
3649	// read-only field. Applicable to the following creative types: all
3650	// VPAID.
3651	AdParameters string `json:"adParameters,omitempty"`
3652
3653	// AdTagKeys: Keywords for a Rich Media creative. Keywords let you
3654	// customize the creative settings of a Rich Media ad running on your
3655	// site without having to contact the advertiser. You can use keywords
3656	// to dynamically change the look or functionality of a creative.
3657	// Applicable to the following creative types: all RICH_MEDIA, and all
3658	// VPAID.
3659	AdTagKeys []string `json:"adTagKeys,omitempty"`
3660
3661	// AdditionalSizes: Additional sizes associated with a responsive
3662	// creative. When inserting or updating a creative either the size ID
3663	// field or size width and height fields can be used. Applicable to
3664	// DISPLAY creatives when the primary asset type is HTML_IMAGE.
3665	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
3666
3667	// AdvertiserId: Advertiser ID of this creative. This is a required
3668	// field. Applicable to all creative types.
3669	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
3670
3671	// AllowScriptAccess: Whether script access is allowed for this
3672	// creative. This is a read-only and deprecated field which will
3673	// automatically be set to true on update. Applicable to the following
3674	// creative types: FLASH_INPAGE.
3675	AllowScriptAccess bool `json:"allowScriptAccess,omitempty"`
3676
3677	// Archived: Whether the creative is archived. Applicable to all
3678	// creative types.
3679	Archived bool `json:"archived,omitempty"`
3680
3681	// ArtworkType: Type of artwork used for the creative. This is a
3682	// read-only field. Applicable to the following creative types: all
3683	// RICH_MEDIA, and all VPAID.
3684	//
3685	// Possible values:
3686	//   "ARTWORK_TYPE_FLASH"
3687	//   "ARTWORK_TYPE_HTML5"
3688	//   "ARTWORK_TYPE_MIXED"
3689	//   "ARTWORK_TYPE_IMAGE"
3690	ArtworkType string `json:"artworkType,omitempty"`
3691
3692	// AuthoringSource: Source application where creative was authored.
3693	// Presently, only DBM authored creatives will have this field set.
3694	// Applicable to all creative types.
3695	//
3696	// Possible values:
3697	//   "CREATIVE_AUTHORING_SOURCE_DCM"
3698	//   "CREATIVE_AUTHORING_SOURCE_DBM"
3699	//   "CREATIVE_AUTHORING_SOURCE_STUDIO"
3700	//   "CREATIVE_AUTHORING_SOURCE_GWD"
3701	AuthoringSource string `json:"authoringSource,omitempty"`
3702
3703	// AuthoringTool: Authoring tool for HTML5 banner creatives. This is a
3704	// read-only field. Applicable to the following creative types:
3705	// HTML5_BANNER.
3706	//
3707	// Possible values:
3708	//   "NINJA"
3709	//   "SWIFFY"
3710	AuthoringTool string `json:"authoringTool,omitempty"`
3711
3712	// AutoAdvanceImages: Whether images are automatically advanced for
3713	// image gallery creatives. Applicable to the following creative types:
3714	// DISPLAY_IMAGE_GALLERY.
3715	AutoAdvanceImages bool `json:"autoAdvanceImages,omitempty"`
3716
3717	// BackgroundColor: The 6-character HTML color code, beginning with #,
3718	// for the background of the window area where the Flash file is
3719	// displayed. Default is white. Applicable to the following creative
3720	// types: FLASH_INPAGE.
3721	BackgroundColor string `json:"backgroundColor,omitempty"`
3722
3723	// BackupImageClickThroughUrl: Click-through URL for backup image.
3724	// Applicable to ENHANCED_BANNER when the primary asset type is not
3725	// HTML_IMAGE.
3726	BackupImageClickThroughUrl *CreativeClickThroughUrl `json:"backupImageClickThroughUrl,omitempty"`
3727
3728	// BackupImageFeatures: List of feature dependencies that will cause a
3729	// backup image to be served if the browser that serves the ad does not
3730	// support them. Feature dependencies are features that a browser must
3731	// be able to support in order to render your HTML5 creative asset
3732	// correctly. This field is initially auto-generated to contain all
3733	// features detected by Campaign Manager for all the assets of this
3734	// creative and can then be modified by the client. To reset this field,
3735	// copy over all the creativeAssets' detected features. Applicable to
3736	// the following creative types: HTML5_BANNER. Applicable to DISPLAY
3737	// when the primary asset type is not HTML_IMAGE.
3738	//
3739	// Possible values:
3740	//   "CSS_FONT_FACE"
3741	//   "CSS_BACKGROUND_SIZE"
3742	//   "CSS_BORDER_IMAGE"
3743	//   "CSS_BORDER_RADIUS"
3744	//   "CSS_BOX_SHADOW"
3745	//   "CSS_FLEX_BOX"
3746	//   "CSS_HSLA"
3747	//   "CSS_MULTIPLE_BGS"
3748	//   "CSS_OPACITY"
3749	//   "CSS_RGBA"
3750	//   "CSS_TEXT_SHADOW"
3751	//   "CSS_ANIMATIONS"
3752	//   "CSS_COLUMNS"
3753	//   "CSS_GENERATED_CONTENT"
3754	//   "CSS_GRADIENTS"
3755	//   "CSS_REFLECTIONS"
3756	//   "CSS_TRANSFORMS"
3757	//   "CSS_TRANSFORMS3D"
3758	//   "CSS_TRANSITIONS"
3759	//   "APPLICATION_CACHE"
3760	//   "CANVAS"
3761	//   "CANVAS_TEXT"
3762	//   "DRAG_AND_DROP"
3763	//   "HASH_CHANGE"
3764	//   "HISTORY"
3765	//   "AUDIO"
3766	//   "VIDEO"
3767	//   "INDEXED_DB"
3768	//   "INPUT_ATTR_AUTOCOMPLETE"
3769	//   "INPUT_ATTR_AUTOFOCUS"
3770	//   "INPUT_ATTR_LIST"
3771	//   "INPUT_ATTR_PLACEHOLDER"
3772	//   "INPUT_ATTR_MAX"
3773	//   "INPUT_ATTR_MIN"
3774	//   "INPUT_ATTR_MULTIPLE"
3775	//   "INPUT_ATTR_PATTERN"
3776	//   "INPUT_ATTR_REQUIRED"
3777	//   "INPUT_ATTR_STEP"
3778	//   "INPUT_TYPE_SEARCH"
3779	//   "INPUT_TYPE_TEL"
3780	//   "INPUT_TYPE_URL"
3781	//   "INPUT_TYPE_EMAIL"
3782	//   "INPUT_TYPE_DATETIME"
3783	//   "INPUT_TYPE_DATE"
3784	//   "INPUT_TYPE_MONTH"
3785	//   "INPUT_TYPE_WEEK"
3786	//   "INPUT_TYPE_TIME"
3787	//   "INPUT_TYPE_DATETIME_LOCAL"
3788	//   "INPUT_TYPE_NUMBER"
3789	//   "INPUT_TYPE_RANGE"
3790	//   "INPUT_TYPE_COLOR"
3791	//   "LOCAL_STORAGE"
3792	//   "POST_MESSAGE"
3793	//   "SESSION_STORAGE"
3794	//   "WEB_SOCKETS"
3795	//   "WEB_SQL_DATABASE"
3796	//   "WEB_WORKERS"
3797	//   "GEO_LOCATION"
3798	//   "INLINE_SVG"
3799	//   "SMIL"
3800	//   "SVG_HREF"
3801	//   "SVG_CLIP_PATHS"
3802	//   "TOUCH"
3803	//   "WEBGL"
3804	//   "SVG_FILTERS"
3805	//   "SVG_FE_IMAGE"
3806	BackupImageFeatures []string `json:"backupImageFeatures,omitempty"`
3807
3808	// BackupImageReportingLabel: Reporting label used for HTML5 banner
3809	// backup image. Applicable to the following creative types: DISPLAY
3810	// when the primary asset type is not HTML_IMAGE.
3811	BackupImageReportingLabel string `json:"backupImageReportingLabel,omitempty"`
3812
3813	// BackupImageTargetWindow: Target window for backup image. Applicable
3814	// to the following creative types: FLASH_INPAGE and HTML5_BANNER.
3815	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
3816	BackupImageTargetWindow *TargetWindow `json:"backupImageTargetWindow,omitempty"`
3817
3818	// ClickTags: Click tags of the creative. For DISPLAY, FLASH_INPAGE, and
3819	// HTML5_BANNER creatives, this is a subset of detected click tags for
3820	// the assets associated with this creative. After creating a flash
3821	// asset, detected click tags will be returned in the
3822	// creativeAssetMetadata. When inserting the creative, populate the
3823	// creative clickTags field using the creativeAssetMetadata.clickTags
3824	// field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly
3825	// one entry in this list for each image creative asset. A click tag is
3826	// matched with a corresponding creative asset by matching the
3827	// clickTag.name field with the creativeAsset.assetIdentifier.name
3828	// field. Applicable to the following creative types:
3829	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to
3830	// DISPLAY when the primary asset type is not HTML_IMAGE.
3831	ClickTags []*ClickTag `json:"clickTags,omitempty"`
3832
3833	// CommercialId: Industry standard ID assigned to creative for reach and
3834	// frequency. Applicable to INSTREAM_VIDEO_REDIRECT creatives.
3835	CommercialId string `json:"commercialId,omitempty"`
3836
3837	// CompanionCreatives: List of companion creatives assigned to an
3838	// in-Stream video creative. Acceptable values include IDs of existing
3839	// flash and image creatives. Applicable to the following creative
3840	// types: all VPAID, all INSTREAM_AUDIO and all INSTREAM_VIDEO with
3841	// dynamicAssetSelection set to false.
3842	CompanionCreatives googleapi.Int64s `json:"companionCreatives,omitempty"`
3843
3844	// Compatibility: Compatibilities associated with this creative. This is
3845	// a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to
3846	// rendering either on desktop or on mobile devices or in mobile apps
3847	// for regular or interstitial ads, respectively. APP and
3848	// APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing
3849	// creatives may have these compatibilities since new creatives will
3850	// either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead.
3851	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
3852	// with the VAST standard. IN_STREAM_AUDIO refers to rendering in
3853	// in-stream audio ads developed with the VAST standard. Applicable to
3854	// all creative types. Acceptable values are: - "APP" -
3855	// "APP_INTERSTITIAL" - "IN_STREAM_VIDEO" - "IN_STREAM_AUDIO" -
3856	// "DISPLAY" - "DISPLAY_INTERSTITIAL"
3857	//
3858	// Possible values:
3859	//   "DISPLAY"
3860	//   "DISPLAY_INTERSTITIAL"
3861	//   "APP"
3862	//   "APP_INTERSTITIAL"
3863	//   "IN_STREAM_VIDEO"
3864	//   "IN_STREAM_AUDIO"
3865	Compatibility []string `json:"compatibility,omitempty"`
3866
3867	// ConvertFlashToHtml5: Whether Flash assets associated with the
3868	// creative need to be automatically converted to HTML5. This flag is
3869	// enabled by default and users can choose to disable it if they don't
3870	// want the system to generate and use HTML5 asset for this creative.
3871	// Applicable to the following creative type: FLASH_INPAGE. Applicable
3872	// to DISPLAY when the primary asset type is not HTML_IMAGE.
3873	ConvertFlashToHtml5 bool `json:"convertFlashToHtml5,omitempty"`
3874
3875	// CounterCustomEvents: List of counter events configured for the
3876	// creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only
3877	// and auto-generated from clickTags. Applicable to the following
3878	// creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
3879	CounterCustomEvents []*CreativeCustomEvent `json:"counterCustomEvents,omitempty"`
3880
3881	// CreativeAssetSelection: Required if dynamicAssetSelection is true.
3882	CreativeAssetSelection *CreativeAssetSelection `json:"creativeAssetSelection,omitempty"`
3883
3884	// CreativeAssets: Assets associated with a creative. Applicable to all
3885	// but the following creative types: INTERNAL_REDIRECT,
3886	// INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
3887	CreativeAssets []*CreativeAsset `json:"creativeAssets,omitempty"`
3888
3889	// CreativeFieldAssignments: Creative field assignments for this
3890	// creative. Applicable to all creative types.
3891	CreativeFieldAssignments []*CreativeFieldAssignment `json:"creativeFieldAssignments,omitempty"`
3892
3893	// CustomKeyValues: Custom key-values for a Rich Media creative.
3894	// Key-values let you customize the creative settings of a Rich Media ad
3895	// running on your site without having to contact the advertiser. You
3896	// can use key-values to dynamically change the look or functionality of
3897	// a creative. Applicable to the following creative types: all
3898	// RICH_MEDIA, and all VPAID.
3899	CustomKeyValues []string `json:"customKeyValues,omitempty"`
3900
3901	// DynamicAssetSelection: Set this to true to enable the use of rules to
3902	// target individual assets in this creative. When set to true
3903	// creativeAssetSelection must be set. This also controls asset-level
3904	// companions. When this is true, companion creatives should be assigned
3905	// to creative assets. Learn more. Applicable to INSTREAM_VIDEO
3906	// creatives.
3907	DynamicAssetSelection bool `json:"dynamicAssetSelection,omitempty"`
3908
3909	// ExitCustomEvents: List of exit events configured for the creative.
3910	// For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only
3911	// and auto-generated from clickTags, For DISPLAY, an event is also
3912	// created from the backupImageReportingLabel. Applicable to the
3913	// following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and
3914	// all VPAID. Applicable to DISPLAY when the primary asset type is not
3915	// HTML_IMAGE.
3916	ExitCustomEvents []*CreativeCustomEvent `json:"exitCustomEvents,omitempty"`
3917
3918	// FsCommand: OpenWindow FSCommand of this creative. This lets the SWF
3919	// file communicate with either Flash Player or the program hosting
3920	// Flash Player, such as a web browser. This is only triggered if
3921	// allowScriptAccess field is true. Applicable to the following creative
3922	// types: FLASH_INPAGE.
3923	FsCommand *FsCommand `json:"fsCommand,omitempty"`
3924
3925	// HtmlCode: HTML code for the creative. This is a required field when
3926	// applicable. This field is ignored if htmlCodeLocked is true.
3927	// Applicable to the following creative types: all CUSTOM, FLASH_INPAGE,
3928	// and HTML5_BANNER, and all RICH_MEDIA.
3929	HtmlCode string `json:"htmlCode,omitempty"`
3930
3931	// HtmlCodeLocked: Whether HTML code is generated by Campaign Manager or
3932	// manually entered. Set to true to ignore changes to htmlCode.
3933	// Applicable to the following creative types: FLASH_INPAGE and
3934	// HTML5_BANNER.
3935	HtmlCodeLocked bool `json:"htmlCodeLocked,omitempty"`
3936
3937	// Id: ID of this creative. This is a read-only, auto-generated field.
3938	// Applicable to all creative types.
3939	Id int64 `json:"id,omitempty,string"`
3940
3941	// IdDimensionValue: Dimension value for the ID of this creative. This
3942	// is a read-only field. Applicable to all creative types.
3943	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
3944
3945	// Kind: Identifies what kind of resource this is. Value: the fixed
3946	// string "dfareporting#creative".
3947	Kind string `json:"kind,omitempty"`
3948
3949	// LastModifiedInfo: Creative last modification information. This is a
3950	// read-only field. Applicable to all creative types.
3951	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
3952
3953	// LatestTraffickedCreativeId: Latest Studio trafficked creative ID
3954	// associated with rich media and VPAID creatives. This is a read-only
3955	// field. Applicable to the following creative types: all RICH_MEDIA,
3956	// and all VPAID.
3957	LatestTraffickedCreativeId int64 `json:"latestTraffickedCreativeId,omitempty,string"`
3958
3959	// MediaDescription: Description of the audio or video ad. Applicable to
3960	// the following creative types: all INSTREAM_VIDEO, INSTREAM_AUDIO, and
3961	// all VPAID.
3962	MediaDescription string `json:"mediaDescription,omitempty"`
3963
3964	// MediaDuration: Creative audio or video duration in seconds. This is a
3965	// read-only field. Applicable to the following creative types:
3966	// INSTREAM_VIDEO, INSTREAM_AUDIO, all RICH_MEDIA, and all VPAID.
3967	MediaDuration float64 `json:"mediaDuration,omitempty"`
3968
3969	// Name: Name of the creative. This is a required field and must be less
3970	// than 256 characters long. Applicable to all creative types.
3971	Name string `json:"name,omitempty"`
3972
3973	// OverrideCss: Override CSS value for rich media creatives. Applicable
3974	// to the following creative types: all RICH_MEDIA.
3975	OverrideCss string `json:"overrideCss,omitempty"`
3976
3977	// ProgressOffset: Amount of time to play the video before counting a
3978	// view. Applicable to the following creative types: all INSTREAM_VIDEO.
3979	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
3980
3981	// RedirectUrl: URL of hosted image or hosted video or another ad tag.
3982	// For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video
3983	// redirect URL. The standard for a VAST (Video Ad Serving Template) ad
3984	// response allows for a redirect link to another VAST 2.0 or 3.0 call.
3985	// This is a required field when applicable. Applicable to the following
3986	// creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT,
3987	// INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
3988	RedirectUrl string `json:"redirectUrl,omitempty"`
3989
3990	// RenderingId: ID of current rendering version. This is a read-only
3991	// field. Applicable to all creative types.
3992	RenderingId int64 `json:"renderingId,omitempty,string"`
3993
3994	// RenderingIdDimensionValue: Dimension value for the rendering ID of
3995	// this creative. This is a read-only field. Applicable to all creative
3996	// types.
3997	RenderingIdDimensionValue *DimensionValue `json:"renderingIdDimensionValue,omitempty"`
3998
3999	// RequiredFlashPluginVersion: The minimum required Flash plugin version
4000	// for this creative. For example, 11.2.202.235. This is a read-only
4001	// field. Applicable to the following creative types: all RICH_MEDIA,
4002	// and all VPAID.
4003	RequiredFlashPluginVersion string `json:"requiredFlashPluginVersion,omitempty"`
4004
4005	// RequiredFlashVersion: The internal Flash version for this creative as
4006	// calculated by Studio. This is a read-only field. Applicable to the
4007	// following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID.
4008	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
4009	RequiredFlashVersion int64 `json:"requiredFlashVersion,omitempty"`
4010
4011	// Size: Size associated with this creative. When inserting or updating
4012	// a creative either the size ID field or size width and height fields
4013	// can be used. This is a required field when applicable; however for
4014	// IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a
4015	// primary asset of type HTML_IMAGE, if left blank, this field will be
4016	// automatically set using the actual size of the associated image
4017	// assets. Applicable to the following creative types: DISPLAY,
4018	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all
4019	// RICH_MEDIA.
4020	Size *Size `json:"size,omitempty"`
4021
4022	// SkipOffset: Amount of time to play the video before the skip button
4023	// appears. Applicable to the following creative types: all
4024	// INSTREAM_VIDEO.
4025	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
4026
4027	// Skippable: Whether the user can choose to skip the creative.
4028	// Applicable to the following creative types: all INSTREAM_VIDEO and
4029	// all VPAID.
4030	Skippable bool `json:"skippable,omitempty"`
4031
4032	// SslCompliant: Whether the creative is SSL-compliant. This is a
4033	// read-only field. Applicable to all creative types.
4034	SslCompliant bool `json:"sslCompliant,omitempty"`
4035
4036	// SslOverride: Whether creative should be treated as SSL compliant even
4037	// if the system scan shows it's not. Applicable to all creative types.
4038	SslOverride bool `json:"sslOverride,omitempty"`
4039
4040	// StudioAdvertiserId: Studio advertiser ID associated with rich media
4041	// and VPAID creatives. This is a read-only field. Applicable to the
4042	// following creative types: all RICH_MEDIA, and all VPAID.
4043	StudioAdvertiserId int64 `json:"studioAdvertiserId,omitempty,string"`
4044
4045	// StudioCreativeId: Studio creative ID associated with rich media and
4046	// VPAID creatives. This is a read-only field. Applicable to the
4047	// following creative types: all RICH_MEDIA, and all VPAID.
4048	StudioCreativeId int64 `json:"studioCreativeId,omitempty,string"`
4049
4050	// StudioTraffickedCreativeId: Studio trafficked creative ID associated
4051	// with rich media and VPAID creatives. This is a read-only field.
4052	// Applicable to the following creative types: all RICH_MEDIA, and all
4053	// VPAID.
4054	StudioTraffickedCreativeId int64 `json:"studioTraffickedCreativeId,omitempty,string"`
4055
4056	// SubaccountId: Subaccount ID of this creative. This field, if left
4057	// unset, will be auto-generated for both insert and update operations.
4058	// Applicable to all creative types.
4059	SubaccountId int64 `json:"subaccountId,omitempty,string"`
4060
4061	// ThirdPartyBackupImageImpressionsUrl: Third-party URL used to record
4062	// backup image impressions. Applicable to the following creative types:
4063	// all RICH_MEDIA.
4064	ThirdPartyBackupImageImpressionsUrl string `json:"thirdPartyBackupImageImpressionsUrl,omitempty"`
4065
4066	// ThirdPartyRichMediaImpressionsUrl: Third-party URL used to record
4067	// rich media impressions. Applicable to the following creative types:
4068	// all RICH_MEDIA.
4069	ThirdPartyRichMediaImpressionsUrl string `json:"thirdPartyRichMediaImpressionsUrl,omitempty"`
4070
4071	// ThirdPartyUrls: Third-party URLs for tracking in-stream creative
4072	// events. Applicable to the following creative types: all
4073	// INSTREAM_VIDEO, all INSTREAM_AUDIO, and all VPAID.
4074	ThirdPartyUrls []*ThirdPartyTrackingUrl `json:"thirdPartyUrls,omitempty"`
4075
4076	// TimerCustomEvents: List of timer events configured for the creative.
4077	// For DISPLAY_IMAGE_GALLERY creatives, these are read-only and
4078	// auto-generated from clickTags. Applicable to the following creative
4079	// types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
4080	// Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
4081	TimerCustomEvents []*CreativeCustomEvent `json:"timerCustomEvents,omitempty"`
4082
4083	// TotalFileSize: Combined size of all creative assets. This is a
4084	// read-only field. Applicable to the following creative types: all
4085	// RICH_MEDIA, and all VPAID.
4086	TotalFileSize int64 `json:"totalFileSize,omitempty,string"`
4087
4088	// Type: Type of this creative. This is a required field. Applicable to
4089	// all creative types. *Note:* FLASH_INPAGE, HTML5_BANNER, and IMAGE are
4090	// only used for existing creatives. New creatives should use DISPLAY as
4091	// a replacement for these types.
4092	//
4093	// Possible values:
4094	//   "IMAGE"
4095	//   "DISPLAY_REDIRECT"
4096	//   "CUSTOM_DISPLAY"
4097	//   "INTERNAL_REDIRECT"
4098	//   "CUSTOM_DISPLAY_INTERSTITIAL"
4099	//   "INTERSTITIAL_INTERNAL_REDIRECT"
4100	//   "TRACKING_TEXT"
4101	//   "RICH_MEDIA_DISPLAY_BANNER"
4102	//   "RICH_MEDIA_INPAGE_FLOATING"
4103	//   "RICH_MEDIA_IM_EXPAND"
4104	//   "RICH_MEDIA_DISPLAY_EXPANDING"
4105	//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
4106	//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
4107	//   "RICH_MEDIA_MOBILE_IN_APP"
4108	//   "FLASH_INPAGE"
4109	//   "INSTREAM_VIDEO"
4110	//   "VPAID_LINEAR_VIDEO"
4111	//   "VPAID_NON_LINEAR_VIDEO"
4112	//   "INSTREAM_VIDEO_REDIRECT"
4113	//   "RICH_MEDIA_PEEL_DOWN"
4114	//   "HTML5_BANNER"
4115	//   "DISPLAY"
4116	//   "DISPLAY_IMAGE_GALLERY"
4117	//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
4118	//   "INSTREAM_AUDIO"
4119	Type string `json:"type,omitempty"`
4120
4121	// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
4122	// to the following creative types: INSTREAM_AUDIO and INSTREAM_VIDEO
4123	// and VPAID.
4124	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
4125
4126	// Version: The version number helps you keep track of multiple versions
4127	// of your creative in your reports. The version number will always be
4128	// auto-generated during insert operations to start at 1. For tracking
4129	// creatives the version cannot be incremented and will always remain at
4130	// 1. For all other creative types the version can be incremented only
4131	// by 1 during update operations. In addition, the version will be
4132	// automatically incremented by 1 when undergoing Rich Media creative
4133	// merging. Applicable to all creative types.
4134	Version int64 `json:"version,omitempty"`
4135
4136	// ServerResponse contains the HTTP response code and headers from the
4137	// server.
4138	googleapi.ServerResponse `json:"-"`
4139
4140	// ForceSendFields is a list of field names (e.g. "AccountId") to
4141	// unconditionally include in API requests. By default, fields with
4142	// empty values are omitted from API requests. However, any non-pointer,
4143	// non-interface field appearing in ForceSendFields will be sent to the
4144	// server regardless of whether the field is empty or not. This may be
4145	// used to include empty fields in Patch requests.
4146	ForceSendFields []string `json:"-"`
4147
4148	// NullFields is a list of field names (e.g. "AccountId") to include in
4149	// API requests with the JSON null value. By default, fields with empty
4150	// values are omitted from API requests. However, any field with an
4151	// empty value appearing in NullFields will be sent to the server as
4152	// null. It is an error if a field in this list has a non-empty value.
4153	// This may be used to include null fields in Patch requests.
4154	NullFields []string `json:"-"`
4155}
4156
4157func (s *Creative) MarshalJSON() ([]byte, error) {
4158	type NoMethod Creative
4159	raw := NoMethod(*s)
4160	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4161}
4162
4163func (s *Creative) UnmarshalJSON(data []byte) error {
4164	type NoMethod Creative
4165	var s1 struct {
4166		MediaDuration gensupport.JSONFloat64 `json:"mediaDuration"`
4167		*NoMethod
4168	}
4169	s1.NoMethod = (*NoMethod)(s)
4170	if err := json.Unmarshal(data, &s1); err != nil {
4171		return err
4172	}
4173	s.MediaDuration = float64(s1.MediaDuration)
4174	return nil
4175}
4176
4177// CreativeAsset: Creative Asset.
4178type CreativeAsset struct {
4179	// ActionScript3: Whether ActionScript3 is enabled for the flash asset.
4180	// This is a read-only field. Applicable to the following creative type:
4181	// FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is
4182	// not HTML_IMAGE.
4183	ActionScript3 bool `json:"actionScript3,omitempty"`
4184
4185	// Active: Whether the video or audio asset is active. This is a
4186	// read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the
4187	// following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all
4188	// VPAID.
4189	Active bool `json:"active,omitempty"`
4190
4191	// AdditionalSizes: Additional sizes associated with this creative
4192	// asset. HTML5 asset generated by compatible software such as GWD will
4193	// be able to support more sizes this creative asset can render.
4194	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
4195
4196	// Alignment: Possible alignments for an asset. This is a read-only
4197	// field. Applicable to the following creative types:
4198	// RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL .
4199	//
4200	// Possible values:
4201	//   "ALIGNMENT_TOP"
4202	//   "ALIGNMENT_RIGHT"
4203	//   "ALIGNMENT_BOTTOM"
4204	//   "ALIGNMENT_LEFT"
4205	Alignment string `json:"alignment,omitempty"`
4206
4207	// ArtworkType: Artwork type of rich media creative. This is a read-only
4208	// field. Applicable to the following creative types: all RICH_MEDIA.
4209	//
4210	// Possible values:
4211	//   "ARTWORK_TYPE_FLASH"
4212	//   "ARTWORK_TYPE_HTML5"
4213	//   "ARTWORK_TYPE_MIXED"
4214	//   "ARTWORK_TYPE_IMAGE"
4215	ArtworkType string `json:"artworkType,omitempty"`
4216
4217	// AssetIdentifier: Identifier of this asset. This is the same
4218	// identifier returned during creative asset insert operation. This is a
4219	// required field. Applicable to all but the following creative types:
4220	// all REDIRECT and TRACKING_TEXT.
4221	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
4222
4223	// AudioBitRate: Audio stream bit rate in kbps. This is a read-only
4224	// field. Applicable to the following creative types: INSTREAM_AUDIO,
4225	// INSTREAM_VIDEO and all VPAID.
4226	AudioBitRate int64 `json:"audioBitRate,omitempty"`
4227
4228	// AudioSampleRate: Audio sample bit rate in hertz. This is a read-only
4229	// field. Applicable to the following creative types: INSTREAM_AUDIO,
4230	// INSTREAM_VIDEO and all VPAID.
4231	AudioSampleRate int64 `json:"audioSampleRate,omitempty"`
4232
4233	// BackupImageExit: Exit event configured for the backup image.
4234	// Applicable to the following creative types: all RICH_MEDIA.
4235	BackupImageExit *CreativeCustomEvent `json:"backupImageExit,omitempty"`
4236
4237	// BitRate: Detected bit-rate for audio or video asset. This is a
4238	// read-only field. Applicable to the following creative types:
4239	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4240	BitRate int64 `json:"bitRate,omitempty"`
4241
4242	// ChildAssetType: Rich media child asset type. This is a read-only
4243	// field. Applicable to the following creative types: all VPAID.
4244	//
4245	// Possible values:
4246	//   "CHILD_ASSET_TYPE_FLASH"
4247	//   "CHILD_ASSET_TYPE_VIDEO"
4248	//   "CHILD_ASSET_TYPE_IMAGE"
4249	//   "CHILD_ASSET_TYPE_DATA"
4250	ChildAssetType string `json:"childAssetType,omitempty"`
4251
4252	// CollapsedSize: Size of an asset when collapsed. This is a read-only
4253	// field. Applicable to the following creative types: all RICH_MEDIA and
4254	// all VPAID. Additionally, applicable to assets whose displayType is
4255	// ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
4256	CollapsedSize *Size `json:"collapsedSize,omitempty"`
4257
4258	// CompanionCreativeIds: List of companion creatives assigned to an
4259	// in-stream video creative asset. Acceptable values include IDs of
4260	// existing flash and image creatives. Applicable to INSTREAM_VIDEO
4261	// creative type with dynamicAssetSelection set to true.
4262	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
4263
4264	// CustomStartTimeValue: Custom start time in seconds for making the
4265	// asset visible. Applicable to the following creative types: all
4266	// RICH_MEDIA. Value must be greater than or equal to 0.
4267	CustomStartTimeValue int64 `json:"customStartTimeValue,omitempty"`
4268
4269	// DetectedFeatures: List of feature dependencies for the creative asset
4270	// that are detected by Campaign Manager. Feature dependencies are
4271	// features that a browser must be able to support in order to render
4272	// your HTML5 creative correctly. This is a read-only, auto-generated
4273	// field. Applicable to the following creative types: HTML5_BANNER.
4274	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
4275	//
4276	// Possible values:
4277	//   "CSS_FONT_FACE"
4278	//   "CSS_BACKGROUND_SIZE"
4279	//   "CSS_BORDER_IMAGE"
4280	//   "CSS_BORDER_RADIUS"
4281	//   "CSS_BOX_SHADOW"
4282	//   "CSS_FLEX_BOX"
4283	//   "CSS_HSLA"
4284	//   "CSS_MULTIPLE_BGS"
4285	//   "CSS_OPACITY"
4286	//   "CSS_RGBA"
4287	//   "CSS_TEXT_SHADOW"
4288	//   "CSS_ANIMATIONS"
4289	//   "CSS_COLUMNS"
4290	//   "CSS_GENERATED_CONTENT"
4291	//   "CSS_GRADIENTS"
4292	//   "CSS_REFLECTIONS"
4293	//   "CSS_TRANSFORMS"
4294	//   "CSS_TRANSFORMS3D"
4295	//   "CSS_TRANSITIONS"
4296	//   "APPLICATION_CACHE"
4297	//   "CANVAS"
4298	//   "CANVAS_TEXT"
4299	//   "DRAG_AND_DROP"
4300	//   "HASH_CHANGE"
4301	//   "HISTORY"
4302	//   "AUDIO"
4303	//   "VIDEO"
4304	//   "INDEXED_DB"
4305	//   "INPUT_ATTR_AUTOCOMPLETE"
4306	//   "INPUT_ATTR_AUTOFOCUS"
4307	//   "INPUT_ATTR_LIST"
4308	//   "INPUT_ATTR_PLACEHOLDER"
4309	//   "INPUT_ATTR_MAX"
4310	//   "INPUT_ATTR_MIN"
4311	//   "INPUT_ATTR_MULTIPLE"
4312	//   "INPUT_ATTR_PATTERN"
4313	//   "INPUT_ATTR_REQUIRED"
4314	//   "INPUT_ATTR_STEP"
4315	//   "INPUT_TYPE_SEARCH"
4316	//   "INPUT_TYPE_TEL"
4317	//   "INPUT_TYPE_URL"
4318	//   "INPUT_TYPE_EMAIL"
4319	//   "INPUT_TYPE_DATETIME"
4320	//   "INPUT_TYPE_DATE"
4321	//   "INPUT_TYPE_MONTH"
4322	//   "INPUT_TYPE_WEEK"
4323	//   "INPUT_TYPE_TIME"
4324	//   "INPUT_TYPE_DATETIME_LOCAL"
4325	//   "INPUT_TYPE_NUMBER"
4326	//   "INPUT_TYPE_RANGE"
4327	//   "INPUT_TYPE_COLOR"
4328	//   "LOCAL_STORAGE"
4329	//   "POST_MESSAGE"
4330	//   "SESSION_STORAGE"
4331	//   "WEB_SOCKETS"
4332	//   "WEB_SQL_DATABASE"
4333	//   "WEB_WORKERS"
4334	//   "GEO_LOCATION"
4335	//   "INLINE_SVG"
4336	//   "SMIL"
4337	//   "SVG_HREF"
4338	//   "SVG_CLIP_PATHS"
4339	//   "TOUCH"
4340	//   "WEBGL"
4341	//   "SVG_FILTERS"
4342	//   "SVG_FE_IMAGE"
4343	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
4344
4345	// DisplayType: Type of rich media asset. This is a read-only field.
4346	// Applicable to the following creative types: all RICH_MEDIA.
4347	//
4348	// Possible values:
4349	//   "ASSET_DISPLAY_TYPE_INPAGE"
4350	//   "ASSET_DISPLAY_TYPE_FLOATING"
4351	//   "ASSET_DISPLAY_TYPE_OVERLAY"
4352	//   "ASSET_DISPLAY_TYPE_EXPANDING"
4353	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH"
4354	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING"
4355	//   "ASSET_DISPLAY_TYPE_PEEL_DOWN"
4356	//   "ASSET_DISPLAY_TYPE_VPAID_LINEAR"
4357	//   "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"
4358	//   "ASSET_DISPLAY_TYPE_BACKDROP"
4359	DisplayType string `json:"displayType,omitempty"`
4360
4361	// Duration: Duration in seconds for which an asset will be displayed.
4362	// Applicable to the following creative types: INSTREAM_AUDIO,
4363	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO. Value must be greater than or
4364	// equal to 1.
4365	Duration int64 `json:"duration,omitempty"`
4366
4367	// DurationType: Duration type for which an asset will be displayed.
4368	// Applicable to the following creative types: all RICH_MEDIA.
4369	//
4370	// Possible values:
4371	//   "ASSET_DURATION_TYPE_AUTO"
4372	//   "ASSET_DURATION_TYPE_NONE"
4373	//   "ASSET_DURATION_TYPE_CUSTOM"
4374	DurationType string `json:"durationType,omitempty"`
4375
4376	// ExpandedDimension: Detected expanded dimension for video asset. This
4377	// is a read-only field. Applicable to the following creative types:
4378	// INSTREAM_VIDEO and all VPAID.
4379	ExpandedDimension *Size `json:"expandedDimension,omitempty"`
4380
4381	// FileSize: File size associated with this creative asset. This is a
4382	// read-only field. Applicable to all but the following creative types:
4383	// all REDIRECT and TRACKING_TEXT.
4384	FileSize int64 `json:"fileSize,omitempty,string"`
4385
4386	// FlashVersion: Flash version of the asset. This is a read-only field.
4387	// Applicable to the following creative types: FLASH_INPAGE, all
4388	// RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary
4389	// asset type is not HTML_IMAGE.
4390	FlashVersion int64 `json:"flashVersion,omitempty"`
4391
4392	// FrameRate: Video frame rate for video asset in frames per second.
4393	// This is a read-only field. Applicable to the following creative
4394	// types: INSTREAM_VIDEO and all VPAID.
4395	FrameRate float64 `json:"frameRate,omitempty"`
4396
4397	// HideFlashObjects: Whether to hide Flash objects flag for an asset.
4398	// Applicable to the following creative types: all RICH_MEDIA.
4399	HideFlashObjects bool `json:"hideFlashObjects,omitempty"`
4400
4401	// HideSelectionBoxes: Whether to hide selection boxes flag for an
4402	// asset. Applicable to the following creative types: all RICH_MEDIA.
4403	HideSelectionBoxes bool `json:"hideSelectionBoxes,omitempty"`
4404
4405	// HorizontallyLocked: Whether the asset is horizontally locked. This is
4406	// a read-only field. Applicable to the following creative types: all
4407	// RICH_MEDIA.
4408	HorizontallyLocked bool `json:"horizontallyLocked,omitempty"`
4409
4410	// Id: Numeric ID of this creative asset. This is a required field and
4411	// should not be modified. Applicable to all but the following creative
4412	// types: all REDIRECT and TRACKING_TEXT.
4413	Id int64 `json:"id,omitempty,string"`
4414
4415	// IdDimensionValue: Dimension value for the ID of the asset. This is a
4416	// read-only, auto-generated field.
4417	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
4418
4419	// MediaDuration: Detected duration for audio or video asset. This is a
4420	// read-only field. Applicable to the following creative types:
4421	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4422	MediaDuration float64 `json:"mediaDuration,omitempty"`
4423
4424	// MimeType: Detected MIME type for audio or video asset. This is a
4425	// read-only field. Applicable to the following creative types:
4426	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4427	MimeType string `json:"mimeType,omitempty"`
4428
4429	// Offset: Offset position for an asset in collapsed mode. This is a
4430	// read-only field. Applicable to the following creative types: all
4431	// RICH_MEDIA and all VPAID. Additionally, only applicable to assets
4432	// whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or
4433	// ASSET_DISPLAY_TYPE_PEEL_DOWN.
4434	Offset *OffsetPosition `json:"offset,omitempty"`
4435
4436	// Orientation: Orientation of video asset. This is a read-only,
4437	// auto-generated field.
4438	//
4439	// Possible values:
4440	//   "LANDSCAPE"
4441	//   "PORTRAIT"
4442	//   "SQUARE"
4443	Orientation string `json:"orientation,omitempty"`
4444
4445	// OriginalBackup: Whether the backup asset is original or changed by
4446	// the user in Campaign Manager. Applicable to the following creative
4447	// types: all RICH_MEDIA.
4448	OriginalBackup bool `json:"originalBackup,omitempty"`
4449
4450	// PoliteLoad: Whether this asset is used as a polite load asset.
4451	PoliteLoad bool `json:"politeLoad,omitempty"`
4452
4453	// Position: Offset position for an asset. Applicable to the following
4454	// creative types: all RICH_MEDIA.
4455	Position *OffsetPosition `json:"position,omitempty"`
4456
4457	// PositionLeftUnit: Offset left unit for an asset. This is a read-only
4458	// field. Applicable to the following creative types: all RICH_MEDIA.
4459	//
4460	// Possible values:
4461	//   "OFFSET_UNIT_PIXEL"
4462	//   "OFFSET_UNIT_PERCENT"
4463	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
4464	PositionLeftUnit string `json:"positionLeftUnit,omitempty"`
4465
4466	// PositionTopUnit: Offset top unit for an asset. This is a read-only
4467	// field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY.
4468	// Applicable to the following creative types: all RICH_MEDIA.
4469	//
4470	// Possible values:
4471	//   "OFFSET_UNIT_PIXEL"
4472	//   "OFFSET_UNIT_PERCENT"
4473	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
4474	PositionTopUnit string `json:"positionTopUnit,omitempty"`
4475
4476	// ProgressiveServingUrl: Progressive URL for video asset. This is a
4477	// read-only field. Applicable to the following creative types:
4478	// INSTREAM_VIDEO and all VPAID.
4479	ProgressiveServingUrl string `json:"progressiveServingUrl,omitempty"`
4480
4481	// Pushdown: Whether the asset pushes down other content. Applicable to
4482	// the following creative types: all RICH_MEDIA. Additionally, only
4483	// applicable when the asset offsets are 0, the collapsedSize.width
4484	// matches size.width, and the collapsedSize.height is less than
4485	// size.height.
4486	Pushdown bool `json:"pushdown,omitempty"`
4487
4488	// PushdownDuration: Pushdown duration in seconds for an asset.
4489	// Applicable to the following creative types: all
4490	// RICH_MEDIA.Additionally, only applicable when the asset pushdown
4491	// field is true, the offsets are 0, the collapsedSize.width matches
4492	// size.width, and the collapsedSize.height is less than size.height.
4493	// Acceptable values are 0 to 9.99, inclusive.
4494	PushdownDuration float64 `json:"pushdownDuration,omitempty"`
4495
4496	// Role: Role of the asset in relation to creative. Applicable to all
4497	// but the following creative types: all REDIRECT and TRACKING_TEXT.
4498	// This is a required field. PRIMARY applies to DISPLAY, FLASH_INPAGE,
4499	// HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may
4500	// contain multiple primary assets), and all VPAID creatives.
4501	// BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
4502	// and all VPAID creatives. Applicable to DISPLAY when the primary asset
4503	// type is not HTML_IMAGE. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply
4504	// to FLASH_INPAGE creatives. OTHER refers to assets from sources other
4505	// than Campaign Manager, such as Studio uploaded assets, applicable to
4506	// all RICH_MEDIA and all VPAID creatives. PARENT_VIDEO refers to videos
4507	// uploaded by the user in Campaign Manager and is applicable to
4508	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives. TRANSCODED_VIDEO
4509	// refers to videos transcoded by Campaign Manager from PARENT_VIDEO
4510	// assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
4511	// creatives. ALTERNATE_VIDEO refers to the Campaign Manager
4512	// representation of child asset videos from Studio, and is applicable
4513	// to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed
4514	// within Campaign Manager. For VPAID_LINEAR_VIDEO creatives,
4515	// PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are
4516	// marked active serve as backup in case the VPAID creative cannot be
4517	// served. Only PARENT_VIDEO assets can be added or removed for an
4518	// INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative. PARENT_AUDIO refers to
4519	// audios uploaded by the user in Campaign Manager and is applicable to
4520	// INSTREAM_AUDIO creatives. TRANSCODED_AUDIO refers to audios
4521	// transcoded by Campaign Manager from PARENT_AUDIO assets and is
4522	// applicable to INSTREAM_AUDIO creatives.
4523	//
4524	// Possible values:
4525	//   "PRIMARY"
4526	//   "BACKUP_IMAGE"
4527	//   "ADDITIONAL_IMAGE"
4528	//   "ADDITIONAL_FLASH"
4529	//   "PARENT_VIDEO"
4530	//   "TRANSCODED_VIDEO"
4531	//   "OTHER"
4532	//   "ALTERNATE_VIDEO"
4533	//   "PARENT_AUDIO"
4534	//   "TRANSCODED_AUDIO"
4535	Role string `json:"role,omitempty"`
4536
4537	// Size: Size associated with this creative asset. This is a required
4538	// field when applicable; however for IMAGE and FLASH_INPAGE, creatives
4539	// if left blank, this field will be automatically set using the actual
4540	// size of the associated image asset. Applicable to the following
4541	// creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER,
4542	// IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary
4543	// asset type is not HTML_IMAGE.
4544	Size *Size `json:"size,omitempty"`
4545
4546	// SslCompliant: Whether the asset is SSL-compliant. This is a read-only
4547	// field. Applicable to all but the following creative types: all
4548	// REDIRECT and TRACKING_TEXT.
4549	SslCompliant bool `json:"sslCompliant,omitempty"`
4550
4551	// StartTimeType: Initial wait time type before making the asset
4552	// visible. Applicable to the following creative types: all RICH_MEDIA.
4553	//
4554	// Possible values:
4555	//   "ASSET_START_TIME_TYPE_NONE"
4556	//   "ASSET_START_TIME_TYPE_CUSTOM"
4557	StartTimeType string `json:"startTimeType,omitempty"`
4558
4559	// StreamingServingUrl: Streaming URL for video asset. This is a
4560	// read-only field. Applicable to the following creative types:
4561	// INSTREAM_VIDEO and all VPAID.
4562	StreamingServingUrl string `json:"streamingServingUrl,omitempty"`
4563
4564	// Transparency: Whether the asset is transparent. Applicable to the
4565	// following creative types: all RICH_MEDIA. Additionally, only
4566	// applicable to HTML5 assets.
4567	Transparency bool `json:"transparency,omitempty"`
4568
4569	// VerticallyLocked: Whether the asset is vertically locked. This is a
4570	// read-only field. Applicable to the following creative types: all
4571	// RICH_MEDIA.
4572	VerticallyLocked bool `json:"verticallyLocked,omitempty"`
4573
4574	// WindowMode: Window mode options for flash assets. Applicable to the
4575	// following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
4576	// RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
4577	// RICH_MEDIA_INPAGE_FLOATING.
4578	//
4579	// Possible values:
4580	//   "OPAQUE"
4581	//   "WINDOW"
4582	//   "TRANSPARENT"
4583	WindowMode string `json:"windowMode,omitempty"`
4584
4585	// ZIndex: zIndex value of an asset. Applicable to the following
4586	// creative types: all RICH_MEDIA.Additionally, only applicable to
4587	// assets whose displayType is NOT one of the following types:
4588	// ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY. Acceptable
4589	// values are -999999999 to 999999999, inclusive.
4590	ZIndex int64 `json:"zIndex,omitempty"`
4591
4592	// ZipFilename: File name of zip file. This is a read-only field.
4593	// Applicable to the following creative types: HTML5_BANNER.
4594	ZipFilename string `json:"zipFilename,omitempty"`
4595
4596	// ZipFilesize: Size of zip file. This is a read-only field. Applicable
4597	// to the following creative types: HTML5_BANNER.
4598	ZipFilesize string `json:"zipFilesize,omitempty"`
4599
4600	// ForceSendFields is a list of field names (e.g. "ActionScript3") to
4601	// unconditionally include in API requests. By default, fields with
4602	// empty values are omitted from API requests. However, any non-pointer,
4603	// non-interface field appearing in ForceSendFields will be sent to the
4604	// server regardless of whether the field is empty or not. This may be
4605	// used to include empty fields in Patch requests.
4606	ForceSendFields []string `json:"-"`
4607
4608	// NullFields is a list of field names (e.g. "ActionScript3") to include
4609	// in API requests with the JSON null value. By default, fields with
4610	// empty values are omitted from API requests. However, any field with
4611	// an empty value appearing in NullFields will be sent to the server as
4612	// null. It is an error if a field in this list has a non-empty value.
4613	// This may be used to include null fields in Patch requests.
4614	NullFields []string `json:"-"`
4615}
4616
4617func (s *CreativeAsset) MarshalJSON() ([]byte, error) {
4618	type NoMethod CreativeAsset
4619	raw := NoMethod(*s)
4620	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4621}
4622
4623func (s *CreativeAsset) UnmarshalJSON(data []byte) error {
4624	type NoMethod CreativeAsset
4625	var s1 struct {
4626		FrameRate        gensupport.JSONFloat64 `json:"frameRate"`
4627		MediaDuration    gensupport.JSONFloat64 `json:"mediaDuration"`
4628		PushdownDuration gensupport.JSONFloat64 `json:"pushdownDuration"`
4629		*NoMethod
4630	}
4631	s1.NoMethod = (*NoMethod)(s)
4632	if err := json.Unmarshal(data, &s1); err != nil {
4633		return err
4634	}
4635	s.FrameRate = float64(s1.FrameRate)
4636	s.MediaDuration = float64(s1.MediaDuration)
4637	s.PushdownDuration = float64(s1.PushdownDuration)
4638	return nil
4639}
4640
4641// CreativeAssetId: Creative Asset ID.
4642type CreativeAssetId struct {
4643	// Name: Name of the creative asset. This is a required field while
4644	// inserting an asset. After insertion, this assetIdentifier is used to
4645	// identify the uploaded asset. Characters in the name must be
4646	// alphanumeric or one of the following: ".-_ ". Spaces are allowed.
4647	Name string `json:"name,omitempty"`
4648
4649	// Type: Type of asset to upload. This is a required field. FLASH and
4650	// IMAGE are no longer supported for new uploads. All image assets
4651	// should use HTML_IMAGE.
4652	//
4653	// Possible values:
4654	//   "IMAGE"
4655	//   "FLASH"
4656	//   "VIDEO"
4657	//   "HTML"
4658	//   "HTML_IMAGE"
4659	//   "AUDIO"
4660	Type string `json:"type,omitempty"`
4661
4662	// ForceSendFields is a list of field names (e.g. "Name") to
4663	// unconditionally include in API requests. By default, fields with
4664	// empty values are omitted from API requests. However, any non-pointer,
4665	// non-interface field appearing in ForceSendFields will be sent to the
4666	// server regardless of whether the field is empty or not. This may be
4667	// used to include empty fields in Patch requests.
4668	ForceSendFields []string `json:"-"`
4669
4670	// NullFields is a list of field names (e.g. "Name") to include in API
4671	// requests with the JSON null value. By default, fields with empty
4672	// values are omitted from API requests. However, any field with an
4673	// empty value appearing in NullFields will be sent to the server as
4674	// null. It is an error if a field in this list has a non-empty value.
4675	// This may be used to include null fields in Patch requests.
4676	NullFields []string `json:"-"`
4677}
4678
4679func (s *CreativeAssetId) MarshalJSON() ([]byte, error) {
4680	type NoMethod CreativeAssetId
4681	raw := NoMethod(*s)
4682	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4683}
4684
4685// CreativeAssetMetadata: CreativeAssets contains properties of a
4686// creative asset file which will be uploaded or has already been
4687// uploaded. Refer to the creative sample code for how to upload assets
4688// and insert a creative.
4689type CreativeAssetMetadata struct {
4690	// AssetIdentifier: ID of the creative asset. This is a required field.
4691	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
4692
4693	// ClickTags: List of detected click tags for assets. This is a
4694	// read-only, auto-generated field. This field is empty for a rich media
4695	// asset.
4696	ClickTags []*ClickTag `json:"clickTags,omitempty"`
4697
4698	// DetectedFeatures: List of feature dependencies for the creative asset
4699	// that are detected by Campaign Manager. Feature dependencies are
4700	// features that a browser must be able to support in order to render
4701	// your HTML5 creative correctly. This is a read-only, auto-generated
4702	// field.
4703	//
4704	// Possible values:
4705	//   "CSS_FONT_FACE"
4706	//   "CSS_BACKGROUND_SIZE"
4707	//   "CSS_BORDER_IMAGE"
4708	//   "CSS_BORDER_RADIUS"
4709	//   "CSS_BOX_SHADOW"
4710	//   "CSS_FLEX_BOX"
4711	//   "CSS_HSLA"
4712	//   "CSS_MULTIPLE_BGS"
4713	//   "CSS_OPACITY"
4714	//   "CSS_RGBA"
4715	//   "CSS_TEXT_SHADOW"
4716	//   "CSS_ANIMATIONS"
4717	//   "CSS_COLUMNS"
4718	//   "CSS_GENERATED_CONTENT"
4719	//   "CSS_GRADIENTS"
4720	//   "CSS_REFLECTIONS"
4721	//   "CSS_TRANSFORMS"
4722	//   "CSS_TRANSFORMS3D"
4723	//   "CSS_TRANSITIONS"
4724	//   "APPLICATION_CACHE"
4725	//   "CANVAS"
4726	//   "CANVAS_TEXT"
4727	//   "DRAG_AND_DROP"
4728	//   "HASH_CHANGE"
4729	//   "HISTORY"
4730	//   "AUDIO"
4731	//   "VIDEO"
4732	//   "INDEXED_DB"
4733	//   "INPUT_ATTR_AUTOCOMPLETE"
4734	//   "INPUT_ATTR_AUTOFOCUS"
4735	//   "INPUT_ATTR_LIST"
4736	//   "INPUT_ATTR_PLACEHOLDER"
4737	//   "INPUT_ATTR_MAX"
4738	//   "INPUT_ATTR_MIN"
4739	//   "INPUT_ATTR_MULTIPLE"
4740	//   "INPUT_ATTR_PATTERN"
4741	//   "INPUT_ATTR_REQUIRED"
4742	//   "INPUT_ATTR_STEP"
4743	//   "INPUT_TYPE_SEARCH"
4744	//   "INPUT_TYPE_TEL"
4745	//   "INPUT_TYPE_URL"
4746	//   "INPUT_TYPE_EMAIL"
4747	//   "INPUT_TYPE_DATETIME"
4748	//   "INPUT_TYPE_DATE"
4749	//   "INPUT_TYPE_MONTH"
4750	//   "INPUT_TYPE_WEEK"
4751	//   "INPUT_TYPE_TIME"
4752	//   "INPUT_TYPE_DATETIME_LOCAL"
4753	//   "INPUT_TYPE_NUMBER"
4754	//   "INPUT_TYPE_RANGE"
4755	//   "INPUT_TYPE_COLOR"
4756	//   "LOCAL_STORAGE"
4757	//   "POST_MESSAGE"
4758	//   "SESSION_STORAGE"
4759	//   "WEB_SOCKETS"
4760	//   "WEB_SQL_DATABASE"
4761	//   "WEB_WORKERS"
4762	//   "GEO_LOCATION"
4763	//   "INLINE_SVG"
4764	//   "SMIL"
4765	//   "SVG_HREF"
4766	//   "SVG_CLIP_PATHS"
4767	//   "TOUCH"
4768	//   "WEBGL"
4769	//   "SVG_FILTERS"
4770	//   "SVG_FE_IMAGE"
4771	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
4772
4773	// Id: Numeric ID of the asset. This is a read-only, auto-generated
4774	// field.
4775	Id int64 `json:"id,omitempty,string"`
4776
4777	// IdDimensionValue: Dimension value for the numeric ID of the asset.
4778	// This is a read-only, auto-generated field.
4779	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
4780
4781	// Kind: Identifies what kind of resource this is. Value: the fixed
4782	// string "dfareporting#creativeAssetMetadata".
4783	Kind string `json:"kind,omitempty"`
4784
4785	// WarnedValidationRules: Rules validated during code generation that
4786	// generated a warning. This is a read-only, auto-generated field.
4787	// Possible values are: - "ADMOB_REFERENCED" -
4788	// "ASSET_FORMAT_UNSUPPORTED_DCM" - "ASSET_INVALID" -
4789	// "CLICK_TAG_HARD_CODED" - "CLICK_TAG_INVALID" - "CLICK_TAG_IN_GWD" -
4790	// "CLICK_TAG_MISSING" - "CLICK_TAG_MORE_THAN_ONE" -
4791	// "CLICK_TAG_NON_TOP_LEVEL" - "COMPONENT_UNSUPPORTED_DCM" -
4792	// "ENABLER_UNSUPPORTED_METHOD_DCM" - "EXTERNAL_FILE_REFERENCED" -
4793	// "FILE_DETAIL_EMPTY" - "FILE_TYPE_INVALID" - "GWD_PROPERTIES_INVALID"
4794	// - "HTML5_FEATURE_UNSUPPORTED" - "LINKED_FILE_NOT_FOUND" -
4795	// "MAX_FLASH_VERSION_11" - "MRAID_REFERENCED" - "NOT_SSL_COMPLIANT" -
4796	// "ORPHANED_ASSET" - "PRIMARY_HTML_MISSING" - "SVG_INVALID" -
4797	// "ZIP_INVALID"
4798	//
4799	// Possible values:
4800	//   "CLICK_TAG_NON_TOP_LEVEL"
4801	//   "CLICK_TAG_MISSING"
4802	//   "CLICK_TAG_MORE_THAN_ONE"
4803	//   "CLICK_TAG_INVALID"
4804	//   "ORPHANED_ASSET"
4805	//   "PRIMARY_HTML_MISSING"
4806	//   "EXTERNAL_FILE_REFERENCED"
4807	//   "MRAID_REFERENCED"
4808	//   "ADMOB_REFERENCED"
4809	//   "FILE_TYPE_INVALID"
4810	//   "ZIP_INVALID"
4811	//   "LINKED_FILE_NOT_FOUND"
4812	//   "MAX_FLASH_VERSION_11"
4813	//   "NOT_SSL_COMPLIANT"
4814	//   "FILE_DETAIL_EMPTY"
4815	//   "ASSET_INVALID"
4816	//   "GWD_PROPERTIES_INVALID"
4817	//   "ENABLER_UNSUPPORTED_METHOD_DCM"
4818	//   "ASSET_FORMAT_UNSUPPORTED_DCM"
4819	//   "COMPONENT_UNSUPPORTED_DCM"
4820	//   "HTML5_FEATURE_UNSUPPORTED"
4821	//   "CLICK_TAG_IN_GWD"
4822	//   "CLICK_TAG_HARD_CODED"
4823	//   "SVG_INVALID"
4824	WarnedValidationRules []string `json:"warnedValidationRules,omitempty"`
4825
4826	// ServerResponse contains the HTTP response code and headers from the
4827	// server.
4828	googleapi.ServerResponse `json:"-"`
4829
4830	// ForceSendFields is a list of field names (e.g. "AssetIdentifier") to
4831	// unconditionally include in API requests. By default, fields with
4832	// empty values are omitted from API requests. However, any non-pointer,
4833	// non-interface field appearing in ForceSendFields will be sent to the
4834	// server regardless of whether the field is empty or not. This may be
4835	// used to include empty fields in Patch requests.
4836	ForceSendFields []string `json:"-"`
4837
4838	// NullFields is a list of field names (e.g. "AssetIdentifier") to
4839	// include in API requests with the JSON null value. By default, fields
4840	// with empty values are omitted from API requests. However, any field
4841	// with an empty value appearing in NullFields will be sent to the
4842	// server as null. It is an error if a field in this list has a
4843	// non-empty value. This may be used to include null fields in Patch
4844	// requests.
4845	NullFields []string `json:"-"`
4846}
4847
4848func (s *CreativeAssetMetadata) MarshalJSON() ([]byte, error) {
4849	type NoMethod CreativeAssetMetadata
4850	raw := NoMethod(*s)
4851	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4852}
4853
4854// CreativeAssetSelection: Encapsulates the list of rules for asset
4855// selection and a default asset in case none of the rules match.
4856// Applicable to INSTREAM_VIDEO creatives.
4857type CreativeAssetSelection struct {
4858	// DefaultAssetId: A creativeAssets[].id. This should refer to one of
4859	// the parent assets in this creative, and will be served if none of the
4860	// rules match. This is a required field.
4861	DefaultAssetId int64 `json:"defaultAssetId,omitempty,string"`
4862
4863	// Rules: Rules determine which asset will be served to a viewer. Rules
4864	// will be evaluated in the order in which they are stored in this list.
4865	// This list must contain at least one rule. Applicable to
4866	// INSTREAM_VIDEO creatives.
4867	Rules []*Rule `json:"rules,omitempty"`
4868
4869	// ForceSendFields is a list of field names (e.g. "DefaultAssetId") to
4870	// unconditionally include in API requests. By default, fields with
4871	// empty values are omitted from API requests. However, any non-pointer,
4872	// non-interface field appearing in ForceSendFields will be sent to the
4873	// server regardless of whether the field is empty or not. This may be
4874	// used to include empty fields in Patch requests.
4875	ForceSendFields []string `json:"-"`
4876
4877	// NullFields is a list of field names (e.g. "DefaultAssetId") to
4878	// include in API requests with the JSON null value. By default, fields
4879	// with empty values are omitted from API requests. However, any field
4880	// with an empty value appearing in NullFields will be sent to the
4881	// server as null. It is an error if a field in this list has a
4882	// non-empty value. This may be used to include null fields in Patch
4883	// requests.
4884	NullFields []string `json:"-"`
4885}
4886
4887func (s *CreativeAssetSelection) MarshalJSON() ([]byte, error) {
4888	type NoMethod CreativeAssetSelection
4889	raw := NoMethod(*s)
4890	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4891}
4892
4893// CreativeAssignment: Creative Assignment.
4894type CreativeAssignment struct {
4895	// Active: Whether this creative assignment is active. When true, the
4896	// creative will be included in the ad's rotation.
4897	Active bool `json:"active,omitempty"`
4898
4899	// ApplyEventTags: Whether applicable event tags should fire when this
4900	// creative assignment is rendered. If this value is unset when the ad
4901	// is inserted or updated, it will default to true for all creative
4902	// types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT,
4903	// and INSTREAM_VIDEO.
4904	ApplyEventTags bool `json:"applyEventTags,omitempty"`
4905
4906	// ClickThroughUrl: Click-through URL of the creative assignment.
4907	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
4908
4909	// CompanionCreativeOverrides: Companion creative overrides for this
4910	// creative assignment. Applicable to video ads.
4911	CompanionCreativeOverrides []*CompanionClickThroughOverride `json:"companionCreativeOverrides,omitempty"`
4912
4913	// CreativeGroupAssignments: Creative group assignments for this
4914	// creative assignment. Only one assignment per creative group number is
4915	// allowed for a maximum of two assignments.
4916	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
4917
4918	// CreativeId: ID of the creative to be assigned. This is a required
4919	// field.
4920	CreativeId int64 `json:"creativeId,omitempty,string"`
4921
4922	// CreativeIdDimensionValue: Dimension value for the ID of the creative.
4923	// This is a read-only, auto-generated field.
4924	CreativeIdDimensionValue *DimensionValue `json:"creativeIdDimensionValue,omitempty"`
4925
4926	EndTime string `json:"endTime,omitempty"`
4927
4928	// RichMediaExitOverrides: Rich media exit overrides for this creative
4929	// assignment. Applicable when the creative type is any of the
4930	// following: - DISPLAY - RICH_MEDIA_INPAGE - RICH_MEDIA_INPAGE_FLOATING
4931	// - RICH_MEDIA_IM_EXPAND - RICH_MEDIA_EXPANDING -
4932	// RICH_MEDIA_INTERSTITIAL_FLOAT - RICH_MEDIA_MOBILE_IN_APP -
4933	// RICH_MEDIA_MULTI_FLOATING - RICH_MEDIA_PEEL_DOWN - VPAID_LINEAR -
4934	// VPAID_NON_LINEAR
4935	RichMediaExitOverrides []*RichMediaExitOverride `json:"richMediaExitOverrides,omitempty"`
4936
4937	// Sequence: Sequence number of the creative assignment, applicable when
4938	// the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable
4939	// values are 1 to 65535, inclusive.
4940	Sequence int64 `json:"sequence,omitempty"`
4941
4942	// SslCompliant: Whether the creative to be assigned is SSL-compliant.
4943	// This is a read-only field that is auto-generated when the ad is
4944	// inserted or updated.
4945	SslCompliant bool `json:"sslCompliant,omitempty"`
4946
4947	StartTime string `json:"startTime,omitempty"`
4948
4949	// Weight: Weight of the creative assignment, applicable when the
4950	// rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater
4951	// than or equal to 1.
4952	Weight int64 `json:"weight,omitempty"`
4953
4954	// ForceSendFields is a list of field names (e.g. "Active") to
4955	// unconditionally include in API requests. By default, fields with
4956	// empty values are omitted from API requests. However, any non-pointer,
4957	// non-interface field appearing in ForceSendFields will be sent to the
4958	// server regardless of whether the field is empty or not. This may be
4959	// used to include empty fields in Patch requests.
4960	ForceSendFields []string `json:"-"`
4961
4962	// NullFields is a list of field names (e.g. "Active") to include in API
4963	// requests with the JSON null value. By default, fields with empty
4964	// values are omitted from API requests. However, any field with an
4965	// empty value appearing in NullFields will be sent to the server as
4966	// null. It is an error if a field in this list has a non-empty value.
4967	// This may be used to include null fields in Patch requests.
4968	NullFields []string `json:"-"`
4969}
4970
4971func (s *CreativeAssignment) MarshalJSON() ([]byte, error) {
4972	type NoMethod CreativeAssignment
4973	raw := NoMethod(*s)
4974	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4975}
4976
4977// CreativeClickThroughUrl: Click-through URL
4978type CreativeClickThroughUrl struct {
4979	// ComputedClickThroughUrl: Read-only convenience field representing the
4980	// actual URL that will be used for this click-through. The URL is
4981	// computed as follows: - If landingPageId is specified then that
4982	// landing page's URL is assigned to this field. - Otherwise, the
4983	// customClickThroughUrl is assigned to this field.
4984	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
4985
4986	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
4987	// landingPageId field is left unset.
4988	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
4989
4990	// LandingPageId: ID of the landing page for the click-through URL.
4991	LandingPageId int64 `json:"landingPageId,omitempty,string"`
4992
4993	// ForceSendFields is a list of field names (e.g.
4994	// "ComputedClickThroughUrl") to unconditionally include in API
4995	// requests. By default, fields with empty values are omitted from API
4996	// requests. However, any non-pointer, non-interface field appearing in
4997	// ForceSendFields will be sent to the server regardless of whether the
4998	// field is empty or not. This may be used to include empty fields in
4999	// Patch requests.
5000	ForceSendFields []string `json:"-"`
5001
5002	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
5003	// to include in API requests with the JSON null value. By default,
5004	// fields with empty values are omitted from API requests. However, any
5005	// field with an empty value appearing in NullFields will be sent to the
5006	// server as null. It is an error if a field in this list has a
5007	// non-empty value. This may be used to include null fields in Patch
5008	// requests.
5009	NullFields []string `json:"-"`
5010}
5011
5012func (s *CreativeClickThroughUrl) MarshalJSON() ([]byte, error) {
5013	type NoMethod CreativeClickThroughUrl
5014	raw := NoMethod(*s)
5015	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5016}
5017
5018// CreativeCustomEvent: Creative Custom Event.
5019type CreativeCustomEvent struct {
5020	// AdvertiserCustomEventId: Unique ID of this event used by Reporting
5021	// and Data Transfer. This is a read-only field.
5022	AdvertiserCustomEventId int64 `json:"advertiserCustomEventId,omitempty,string"`
5023
5024	// AdvertiserCustomEventName: User-entered name for the event.
5025	AdvertiserCustomEventName string `json:"advertiserCustomEventName,omitempty"`
5026
5027	// AdvertiserCustomEventType: Type of the event. This is a read-only
5028	// field.
5029	//
5030	// Possible values:
5031	//   "ADVERTISER_EVENT_TIMER"
5032	//   "ADVERTISER_EVENT_EXIT"
5033	//   "ADVERTISER_EVENT_COUNTER"
5034	AdvertiserCustomEventType string `json:"advertiserCustomEventType,omitempty"`
5035
5036	// ArtworkLabel: Artwork label column, used to link events in Campaign
5037	// Manager back to events in Studio. This is a required field and should
5038	// not be modified after insertion.
5039	ArtworkLabel string `json:"artworkLabel,omitempty"`
5040
5041	// ArtworkType: Artwork type used by the creative.This is a read-only
5042	// field.
5043	//
5044	// Possible values:
5045	//   "ARTWORK_TYPE_FLASH"
5046	//   "ARTWORK_TYPE_HTML5"
5047	//   "ARTWORK_TYPE_MIXED"
5048	//   "ARTWORK_TYPE_IMAGE"
5049	ArtworkType string `json:"artworkType,omitempty"`
5050
5051	// ExitClickThroughUrl: Exit click-through URL for the event. This field
5052	// is used only for exit events.
5053	ExitClickThroughUrl *CreativeClickThroughUrl `json:"exitClickThroughUrl,omitempty"`
5054
5055	// Id: ID of this event. This is a required field and should not be
5056	// modified after insertion.
5057	Id int64 `json:"id,omitempty,string"`
5058
5059	// PopupWindowProperties: Properties for rich media popup windows. This
5060	// field is used only for exit events.
5061	PopupWindowProperties *PopupWindowProperties `json:"popupWindowProperties,omitempty"`
5062
5063	// TargetType: Target type used by the event.
5064	//
5065	// Possible values:
5066	//   "TARGET_BLANK"
5067	//   "TARGET_TOP"
5068	//   "TARGET_SELF"
5069	//   "TARGET_PARENT"
5070	//   "TARGET_POPUP"
5071	TargetType string `json:"targetType,omitempty"`
5072
5073	// VideoReportingId: Video reporting ID, used to differentiate multiple
5074	// videos in a single creative. This is a read-only field.
5075	VideoReportingId string `json:"videoReportingId,omitempty"`
5076
5077	// ForceSendFields is a list of field names (e.g.
5078	// "AdvertiserCustomEventId") to unconditionally include in API
5079	// requests. By default, fields with empty values are omitted from API
5080	// requests. However, any non-pointer, non-interface field appearing in
5081	// ForceSendFields will be sent to the server regardless of whether the
5082	// field is empty or not. This may be used to include empty fields in
5083	// Patch requests.
5084	ForceSendFields []string `json:"-"`
5085
5086	// NullFields is a list of field names (e.g. "AdvertiserCustomEventId")
5087	// to include in API requests with the JSON null value. By default,
5088	// fields with empty values are omitted from API requests. However, any
5089	// field with an empty value appearing in NullFields will be sent to the
5090	// server as null. It is an error if a field in this list has a
5091	// non-empty value. This may be used to include null fields in Patch
5092	// requests.
5093	NullFields []string `json:"-"`
5094}
5095
5096func (s *CreativeCustomEvent) MarshalJSON() ([]byte, error) {
5097	type NoMethod CreativeCustomEvent
5098	raw := NoMethod(*s)
5099	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5100}
5101
5102// CreativeField: Contains properties of a creative field.
5103type CreativeField struct {
5104	// AccountId: Account ID of this creative field. This is a read-only
5105	// field that can be left blank.
5106	AccountId int64 `json:"accountId,omitempty,string"`
5107
5108	// AdvertiserId: Advertiser ID of this creative field. This is a
5109	// required field on insertion.
5110	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5111
5112	// AdvertiserIdDimensionValue: Dimension value for the ID of the
5113	// advertiser. This is a read-only, auto-generated field.
5114	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
5115
5116	// Id: ID of this creative field. This is a read-only, auto-generated
5117	// field.
5118	Id int64 `json:"id,omitempty,string"`
5119
5120	// Kind: Identifies what kind of resource this is. Value: the fixed
5121	// string "dfareporting#creativeField".
5122	Kind string `json:"kind,omitempty"`
5123
5124	// Name: Name of this creative field. This is a required field and must
5125	// be less than 256 characters long and unique among creative fields of
5126	// the same advertiser.
5127	Name string `json:"name,omitempty"`
5128
5129	// SubaccountId: Subaccount ID of this creative field. This is a
5130	// read-only field that can be left blank.
5131	SubaccountId int64 `json:"subaccountId,omitempty,string"`
5132
5133	// ServerResponse contains the HTTP response code and headers from the
5134	// server.
5135	googleapi.ServerResponse `json:"-"`
5136
5137	// ForceSendFields is a list of field names (e.g. "AccountId") to
5138	// unconditionally include in API requests. By default, fields with
5139	// empty values are omitted from API requests. However, any non-pointer,
5140	// non-interface field appearing in ForceSendFields will be sent to the
5141	// server regardless of whether the field is empty or not. This may be
5142	// used to include empty fields in Patch requests.
5143	ForceSendFields []string `json:"-"`
5144
5145	// NullFields is a list of field names (e.g. "AccountId") to include in
5146	// API requests with the JSON null value. By default, fields with empty
5147	// values are omitted from API requests. However, any field with an
5148	// empty value appearing in NullFields will be sent to the server as
5149	// null. It is an error if a field in this list has a non-empty value.
5150	// This may be used to include null fields in Patch requests.
5151	NullFields []string `json:"-"`
5152}
5153
5154func (s *CreativeField) MarshalJSON() ([]byte, error) {
5155	type NoMethod CreativeField
5156	raw := NoMethod(*s)
5157	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5158}
5159
5160// CreativeFieldAssignment: Creative Field Assignment.
5161type CreativeFieldAssignment struct {
5162	// CreativeFieldId: ID of the creative field.
5163	CreativeFieldId int64 `json:"creativeFieldId,omitempty,string"`
5164
5165	// CreativeFieldValueId: ID of the creative field value.
5166	CreativeFieldValueId int64 `json:"creativeFieldValueId,omitempty,string"`
5167
5168	// ForceSendFields is a list of field names (e.g. "CreativeFieldId") to
5169	// unconditionally include in API requests. By default, fields with
5170	// empty values are omitted from API requests. However, any non-pointer,
5171	// non-interface field appearing in ForceSendFields will be sent to the
5172	// server regardless of whether the field is empty or not. This may be
5173	// used to include empty fields in Patch requests.
5174	ForceSendFields []string `json:"-"`
5175
5176	// NullFields is a list of field names (e.g. "CreativeFieldId") to
5177	// include in API requests with the JSON null value. By default, fields
5178	// with empty values are omitted from API requests. However, any field
5179	// with an empty value appearing in NullFields will be sent to the
5180	// server as null. It is an error if a field in this list has a
5181	// non-empty value. This may be used to include null fields in Patch
5182	// requests.
5183	NullFields []string `json:"-"`
5184}
5185
5186func (s *CreativeFieldAssignment) MarshalJSON() ([]byte, error) {
5187	type NoMethod CreativeFieldAssignment
5188	raw := NoMethod(*s)
5189	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5190}
5191
5192// CreativeFieldValue: Contains properties of a creative field value.
5193type CreativeFieldValue struct {
5194	// Id: ID of this creative field value. This is a read-only,
5195	// auto-generated field.
5196	Id int64 `json:"id,omitempty,string"`
5197
5198	// Kind: Identifies what kind of resource this is. Value: the fixed
5199	// string "dfareporting#creativeFieldValue".
5200	Kind string `json:"kind,omitempty"`
5201
5202	// Value: Value of this creative field value. It needs to be less than
5203	// 256 characters in length and unique per creative field.
5204	Value string `json:"value,omitempty"`
5205
5206	// ServerResponse contains the HTTP response code and headers from the
5207	// server.
5208	googleapi.ServerResponse `json:"-"`
5209
5210	// ForceSendFields is a list of field names (e.g. "Id") to
5211	// unconditionally include in API requests. By default, fields with
5212	// empty values are omitted from API requests. However, any non-pointer,
5213	// non-interface field appearing in ForceSendFields will be sent to the
5214	// server regardless of whether the field is empty or not. This may be
5215	// used to include empty fields in Patch requests.
5216	ForceSendFields []string `json:"-"`
5217
5218	// NullFields is a list of field names (e.g. "Id") to include in API
5219	// requests with the JSON null value. By default, fields with empty
5220	// values are omitted from API requests. However, any field with an
5221	// empty value appearing in NullFields will be sent to the server as
5222	// null. It is an error if a field in this list has a non-empty value.
5223	// This may be used to include null fields in Patch requests.
5224	NullFields []string `json:"-"`
5225}
5226
5227func (s *CreativeFieldValue) MarshalJSON() ([]byte, error) {
5228	type NoMethod CreativeFieldValue
5229	raw := NoMethod(*s)
5230	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5231}
5232
5233// CreativeFieldValuesListResponse: Creative Field Value List Response
5234type CreativeFieldValuesListResponse struct {
5235	// CreativeFieldValues: Creative field value collection.
5236	CreativeFieldValues []*CreativeFieldValue `json:"creativeFieldValues,omitempty"`
5237
5238	// Kind: Identifies what kind of resource this is. Value: the fixed
5239	// string "dfareporting#creativeFieldValuesListResponse".
5240	Kind string `json:"kind,omitempty"`
5241
5242	// NextPageToken: Pagination token to be used for the next list
5243	// operation.
5244	NextPageToken string `json:"nextPageToken,omitempty"`
5245
5246	// ServerResponse contains the HTTP response code and headers from the
5247	// server.
5248	googleapi.ServerResponse `json:"-"`
5249
5250	// ForceSendFields is a list of field names (e.g. "CreativeFieldValues")
5251	// to unconditionally include in API requests. By default, fields with
5252	// empty values are omitted from API requests. However, any non-pointer,
5253	// non-interface field appearing in ForceSendFields will be sent to the
5254	// server regardless of whether the field is empty or not. This may be
5255	// used to include empty fields in Patch requests.
5256	ForceSendFields []string `json:"-"`
5257
5258	// NullFields is a list of field names (e.g. "CreativeFieldValues") to
5259	// include in API requests with the JSON null value. By default, fields
5260	// with empty values are omitted from API requests. However, any field
5261	// with an empty value appearing in NullFields will be sent to the
5262	// server as null. It is an error if a field in this list has a
5263	// non-empty value. This may be used to include null fields in Patch
5264	// requests.
5265	NullFields []string `json:"-"`
5266}
5267
5268func (s *CreativeFieldValuesListResponse) MarshalJSON() ([]byte, error) {
5269	type NoMethod CreativeFieldValuesListResponse
5270	raw := NoMethod(*s)
5271	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5272}
5273
5274// CreativeFieldsListResponse: Creative Field List Response
5275type CreativeFieldsListResponse struct {
5276	// CreativeFields: Creative field collection.
5277	CreativeFields []*CreativeField `json:"creativeFields,omitempty"`
5278
5279	// Kind: Identifies what kind of resource this is. Value: the fixed
5280	// string "dfareporting#creativeFieldsListResponse".
5281	Kind string `json:"kind,omitempty"`
5282
5283	// NextPageToken: Pagination token to be used for the next list
5284	// operation.
5285	NextPageToken string `json:"nextPageToken,omitempty"`
5286
5287	// ServerResponse contains the HTTP response code and headers from the
5288	// server.
5289	googleapi.ServerResponse `json:"-"`
5290
5291	// ForceSendFields is a list of field names (e.g. "CreativeFields") to
5292	// unconditionally include in API requests. By default, fields with
5293	// empty values are omitted from API requests. However, any non-pointer,
5294	// non-interface field appearing in ForceSendFields will be sent to the
5295	// server regardless of whether the field is empty or not. This may be
5296	// used to include empty fields in Patch requests.
5297	ForceSendFields []string `json:"-"`
5298
5299	// NullFields is a list of field names (e.g. "CreativeFields") to
5300	// include in API requests with the JSON null value. By default, fields
5301	// with empty values are omitted from API requests. However, any field
5302	// with an empty value appearing in NullFields will be sent to the
5303	// server as null. It is an error if a field in this list has a
5304	// non-empty value. This may be used to include null fields in Patch
5305	// requests.
5306	NullFields []string `json:"-"`
5307}
5308
5309func (s *CreativeFieldsListResponse) MarshalJSON() ([]byte, error) {
5310	type NoMethod CreativeFieldsListResponse
5311	raw := NoMethod(*s)
5312	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5313}
5314
5315// CreativeGroup: Contains properties of a creative group.
5316type CreativeGroup struct {
5317	// AccountId: Account ID of this creative group. This is a read-only
5318	// field that can be left blank.
5319	AccountId int64 `json:"accountId,omitempty,string"`
5320
5321	// AdvertiserId: Advertiser ID of this creative group. This is a
5322	// required field on insertion.
5323	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5324
5325	// AdvertiserIdDimensionValue: Dimension value for the ID of the
5326	// advertiser. This is a read-only, auto-generated field.
5327	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
5328
5329	// GroupNumber: Subgroup of the creative group. Assign your creative
5330	// groups to a subgroup in order to filter or manage them more easily.
5331	// This field is required on insertion and is read-only after insertion.
5332	// Acceptable values are 1 to 2, inclusive.
5333	GroupNumber int64 `json:"groupNumber,omitempty"`
5334
5335	// Id: ID of this creative group. This is a read-only, auto-generated
5336	// field.
5337	Id int64 `json:"id,omitempty,string"`
5338
5339	// Kind: Identifies what kind of resource this is. Value: the fixed
5340	// string "dfareporting#creativeGroup".
5341	Kind string `json:"kind,omitempty"`
5342
5343	// Name: Name of this creative group. This is a required field and must
5344	// be less than 256 characters long and unique among creative groups of
5345	// the same advertiser.
5346	Name string `json:"name,omitempty"`
5347
5348	// SubaccountId: Subaccount ID of this creative group. This is a
5349	// read-only field that can be left blank.
5350	SubaccountId int64 `json:"subaccountId,omitempty,string"`
5351
5352	// ServerResponse contains the HTTP response code and headers from the
5353	// server.
5354	googleapi.ServerResponse `json:"-"`
5355
5356	// ForceSendFields is a list of field names (e.g. "AccountId") to
5357	// unconditionally include in API requests. By default, fields with
5358	// empty values are omitted from API requests. However, any non-pointer,
5359	// non-interface field appearing in ForceSendFields will be sent to the
5360	// server regardless of whether the field is empty or not. This may be
5361	// used to include empty fields in Patch requests.
5362	ForceSendFields []string `json:"-"`
5363
5364	// NullFields is a list of field names (e.g. "AccountId") to include in
5365	// API requests with the JSON null value. By default, fields with empty
5366	// values are omitted from API requests. However, any field with an
5367	// empty value appearing in NullFields will be sent to the server as
5368	// null. It is an error if a field in this list has a non-empty value.
5369	// This may be used to include null fields in Patch requests.
5370	NullFields []string `json:"-"`
5371}
5372
5373func (s *CreativeGroup) MarshalJSON() ([]byte, error) {
5374	type NoMethod CreativeGroup
5375	raw := NoMethod(*s)
5376	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5377}
5378
5379// CreativeGroupAssignment: Creative Group Assignment.
5380type CreativeGroupAssignment struct {
5381	// CreativeGroupId: ID of the creative group to be assigned.
5382	CreativeGroupId int64 `json:"creativeGroupId,omitempty,string"`
5383
5384	// CreativeGroupNumber: Creative group number of the creative group
5385	// assignment.
5386	//
5387	// Possible values:
5388	//   "CREATIVE_GROUP_ONE"
5389	//   "CREATIVE_GROUP_TWO"
5390	CreativeGroupNumber string `json:"creativeGroupNumber,omitempty"`
5391
5392	// ForceSendFields is a list of field names (e.g. "CreativeGroupId") to
5393	// unconditionally include in API requests. By default, fields with
5394	// empty values are omitted from API requests. However, any non-pointer,
5395	// non-interface field appearing in ForceSendFields will be sent to the
5396	// server regardless of whether the field is empty or not. This may be
5397	// used to include empty fields in Patch requests.
5398	ForceSendFields []string `json:"-"`
5399
5400	// NullFields is a list of field names (e.g. "CreativeGroupId") to
5401	// include in API requests with the JSON null value. By default, fields
5402	// with empty values are omitted from API requests. However, any field
5403	// with an empty value appearing in NullFields will be sent to the
5404	// server as null. It is an error if a field in this list has a
5405	// non-empty value. This may be used to include null fields in Patch
5406	// requests.
5407	NullFields []string `json:"-"`
5408}
5409
5410func (s *CreativeGroupAssignment) MarshalJSON() ([]byte, error) {
5411	type NoMethod CreativeGroupAssignment
5412	raw := NoMethod(*s)
5413	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5414}
5415
5416// CreativeGroupsListResponse: Creative Group List Response
5417type CreativeGroupsListResponse struct {
5418	// CreativeGroups: Creative group collection.
5419	CreativeGroups []*CreativeGroup `json:"creativeGroups,omitempty"`
5420
5421	// Kind: Identifies what kind of resource this is. Value: the fixed
5422	// string "dfareporting#creativeGroupsListResponse".
5423	Kind string `json:"kind,omitempty"`
5424
5425	// NextPageToken: Pagination token to be used for the next list
5426	// operation.
5427	NextPageToken string `json:"nextPageToken,omitempty"`
5428
5429	// ServerResponse contains the HTTP response code and headers from the
5430	// server.
5431	googleapi.ServerResponse `json:"-"`
5432
5433	// ForceSendFields is a list of field names (e.g. "CreativeGroups") to
5434	// unconditionally include in API requests. By default, fields with
5435	// empty values are omitted from API requests. However, any non-pointer,
5436	// non-interface field appearing in ForceSendFields will be sent to the
5437	// server regardless of whether the field is empty or not. This may be
5438	// used to include empty fields in Patch requests.
5439	ForceSendFields []string `json:"-"`
5440
5441	// NullFields is a list of field names (e.g. "CreativeGroups") to
5442	// include in API requests with the JSON null value. By default, fields
5443	// with empty values are omitted from API requests. However, any field
5444	// with an empty value appearing in NullFields will be sent to the
5445	// server as null. It is an error if a field in this list has a
5446	// non-empty value. This may be used to include null fields in Patch
5447	// requests.
5448	NullFields []string `json:"-"`
5449}
5450
5451func (s *CreativeGroupsListResponse) MarshalJSON() ([]byte, error) {
5452	type NoMethod CreativeGroupsListResponse
5453	raw := NoMethod(*s)
5454	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5455}
5456
5457// CreativeOptimizationConfiguration: Creative optimization settings.
5458type CreativeOptimizationConfiguration struct {
5459	// Id: ID of this creative optimization config. This field is
5460	// auto-generated when the campaign is inserted or updated. It can be
5461	// null for existing campaigns.
5462	Id int64 `json:"id,omitempty,string"`
5463
5464	// Name: Name of this creative optimization config. This is a required
5465	// field and must be less than 129 characters long.
5466	Name string `json:"name,omitempty"`
5467
5468	// OptimizationActivitys: List of optimization activities associated
5469	// with this configuration.
5470	OptimizationActivitys []*OptimizationActivity `json:"optimizationActivitys,omitempty"`
5471
5472	// OptimizationModel: Optimization model for this configuration.
5473	//
5474	// Possible values:
5475	//   "CLICK"
5476	//   "POST_CLICK"
5477	//   "POST_IMPRESSION"
5478	//   "POST_CLICK_AND_IMPRESSION"
5479	//   "VIDEO_COMPLETION"
5480	OptimizationModel string `json:"optimizationModel,omitempty"`
5481
5482	// ForceSendFields is a list of field names (e.g. "Id") to
5483	// unconditionally include in API requests. By default, fields with
5484	// empty values are omitted from API requests. However, any non-pointer,
5485	// non-interface field appearing in ForceSendFields will be sent to the
5486	// server regardless of whether the field is empty or not. This may be
5487	// used to include empty fields in Patch requests.
5488	ForceSendFields []string `json:"-"`
5489
5490	// NullFields is a list of field names (e.g. "Id") to include in API
5491	// requests with the JSON null value. By default, fields with empty
5492	// values are omitted from API requests. However, any field with an
5493	// empty value appearing in NullFields will be sent to the server as
5494	// null. It is an error if a field in this list has a non-empty value.
5495	// This may be used to include null fields in Patch requests.
5496	NullFields []string `json:"-"`
5497}
5498
5499func (s *CreativeOptimizationConfiguration) MarshalJSON() ([]byte, error) {
5500	type NoMethod CreativeOptimizationConfiguration
5501	raw := NoMethod(*s)
5502	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5503}
5504
5505// CreativeRotation: Creative Rotation.
5506type CreativeRotation struct {
5507	// CreativeAssignments: Creative assignments in this creative rotation.
5508	CreativeAssignments []*CreativeAssignment `json:"creativeAssignments,omitempty"`
5509
5510	// CreativeOptimizationConfigurationId: Creative optimization
5511	// configuration that is used by this ad. It should refer to one of the
5512	// existing optimization configurations in the ad's campaign. If it is
5513	// unset or set to 0, then the campaign's default optimization
5514	// configuration will be used for this ad.
5515	CreativeOptimizationConfigurationId int64 `json:"creativeOptimizationConfigurationId,omitempty,string"`
5516
5517	// Type: Type of creative rotation. Can be used to specify whether to
5518	// use sequential or random rotation.
5519	//
5520	// Possible values:
5521	//   "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
5522	//   "CREATIVE_ROTATION_TYPE_RANDOM"
5523	Type string `json:"type,omitempty"`
5524
5525	// WeightCalculationStrategy: Strategy for calculating weights. Used
5526	// with CREATIVE_ROTATION_TYPE_RANDOM.
5527	//
5528	// Possible values:
5529	//   "WEIGHT_STRATEGY_EQUAL"
5530	//   "WEIGHT_STRATEGY_CUSTOM"
5531	//   "WEIGHT_STRATEGY_HIGHEST_CTR"
5532	//   "WEIGHT_STRATEGY_OPTIMIZED"
5533	WeightCalculationStrategy string `json:"weightCalculationStrategy,omitempty"`
5534
5535	// ForceSendFields is a list of field names (e.g. "CreativeAssignments")
5536	// to unconditionally include in API requests. By default, fields with
5537	// empty values are omitted from API requests. However, any non-pointer,
5538	// non-interface field appearing in ForceSendFields will be sent to the
5539	// server regardless of whether the field is empty or not. This may be
5540	// used to include empty fields in Patch requests.
5541	ForceSendFields []string `json:"-"`
5542
5543	// NullFields is a list of field names (e.g. "CreativeAssignments") to
5544	// include in API requests with the JSON null value. By default, fields
5545	// with empty values are omitted from API requests. However, any field
5546	// with an empty value appearing in NullFields will be sent to the
5547	// server as null. It is an error if a field in this list has a
5548	// non-empty value. This may be used to include null fields in Patch
5549	// requests.
5550	NullFields []string `json:"-"`
5551}
5552
5553func (s *CreativeRotation) MarshalJSON() ([]byte, error) {
5554	type NoMethod CreativeRotation
5555	raw := NoMethod(*s)
5556	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5557}
5558
5559// CreativesListResponse: Creative List Response
5560type CreativesListResponse struct {
5561	// Creatives: Creative collection.
5562	Creatives []*Creative `json:"creatives,omitempty"`
5563
5564	// Kind: Identifies what kind of resource this is. Value: the fixed
5565	// string "dfareporting#creativesListResponse".
5566	Kind string `json:"kind,omitempty"`
5567
5568	// NextPageToken: Pagination token to be used for the next list
5569	// operation.
5570	NextPageToken string `json:"nextPageToken,omitempty"`
5571
5572	// ServerResponse contains the HTTP response code and headers from the
5573	// server.
5574	googleapi.ServerResponse `json:"-"`
5575
5576	// ForceSendFields is a list of field names (e.g. "Creatives") to
5577	// unconditionally include in API requests. By default, fields with
5578	// empty values are omitted from API requests. However, any non-pointer,
5579	// non-interface field appearing in ForceSendFields will be sent to the
5580	// server regardless of whether the field is empty or not. This may be
5581	// used to include empty fields in Patch requests.
5582	ForceSendFields []string `json:"-"`
5583
5584	// NullFields is a list of field names (e.g. "Creatives") to include in
5585	// API requests with the JSON null value. By default, fields with empty
5586	// values are omitted from API requests. However, any field with an
5587	// empty value appearing in NullFields will be sent to the server as
5588	// null. It is an error if a field in this list has a non-empty value.
5589	// This may be used to include null fields in Patch requests.
5590	NullFields []string `json:"-"`
5591}
5592
5593func (s *CreativesListResponse) MarshalJSON() ([]byte, error) {
5594	type NoMethod CreativesListResponse
5595	raw := NoMethod(*s)
5596	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5597}
5598
5599// CrossDimensionReachReportCompatibleFields: Represents fields that are
5600// compatible to be selected for a report of type
5601// "CROSS_DIMENSION_REACH".
5602type CrossDimensionReachReportCompatibleFields struct {
5603	// Breakdown: Dimensions which are compatible to be selected in the
5604	// "breakdown" section of the report.
5605	Breakdown []*Dimension `json:"breakdown,omitempty"`
5606
5607	// DimensionFilters: Dimensions which are compatible to be selected in
5608	// the "dimensionFilters" section of the report.
5609	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
5610
5611	// Kind: The kind of resource this is, in this case
5612	// dfareporting#crossDimensionReachReportCompatibleFields.
5613	Kind string `json:"kind,omitempty"`
5614
5615	// Metrics: Metrics which are compatible to be selected in the
5616	// "metricNames" section of the report.
5617	Metrics []*Metric `json:"metrics,omitempty"`
5618
5619	// OverlapMetrics: Metrics which are compatible to be selected in the
5620	// "overlapMetricNames" section of the report.
5621	OverlapMetrics []*Metric `json:"overlapMetrics,omitempty"`
5622
5623	// ForceSendFields is a list of field names (e.g. "Breakdown") to
5624	// unconditionally include in API requests. By default, fields with
5625	// empty values are omitted from API requests. However, any non-pointer,
5626	// non-interface field appearing in ForceSendFields will be sent to the
5627	// server regardless of whether the field is empty or not. This may be
5628	// used to include empty fields in Patch requests.
5629	ForceSendFields []string `json:"-"`
5630
5631	// NullFields is a list of field names (e.g. "Breakdown") to include in
5632	// API requests with the JSON null value. By default, fields with empty
5633	// values are omitted from API requests. However, any field with an
5634	// empty value appearing in NullFields will be sent to the server as
5635	// null. It is an error if a field in this list has a non-empty value.
5636	// This may be used to include null fields in Patch requests.
5637	NullFields []string `json:"-"`
5638}
5639
5640func (s *CrossDimensionReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
5641	type NoMethod CrossDimensionReachReportCompatibleFields
5642	raw := NoMethod(*s)
5643	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5644}
5645
5646// CustomFloodlightVariable: A custom floodlight variable.
5647type CustomFloodlightVariable struct {
5648	// Kind: Identifies what kind of resource this is. Value: the fixed
5649	// string "dfareporting#customFloodlightVariable".
5650	Kind string `json:"kind,omitempty"`
5651
5652	// Type: The type of custom floodlight variable to supply a value for.
5653	// These map to the "u[1-20]=" in the tags.
5654	//
5655	// Possible values:
5656	//   "U1"
5657	//   "U2"
5658	//   "U3"
5659	//   "U4"
5660	//   "U5"
5661	//   "U6"
5662	//   "U7"
5663	//   "U8"
5664	//   "U9"
5665	//   "U10"
5666	//   "U11"
5667	//   "U12"
5668	//   "U13"
5669	//   "U14"
5670	//   "U15"
5671	//   "U16"
5672	//   "U17"
5673	//   "U18"
5674	//   "U19"
5675	//   "U20"
5676	//   "U21"
5677	//   "U22"
5678	//   "U23"
5679	//   "U24"
5680	//   "U25"
5681	//   "U26"
5682	//   "U27"
5683	//   "U28"
5684	//   "U29"
5685	//   "U30"
5686	//   "U31"
5687	//   "U32"
5688	//   "U33"
5689	//   "U34"
5690	//   "U35"
5691	//   "U36"
5692	//   "U37"
5693	//   "U38"
5694	//   "U39"
5695	//   "U40"
5696	//   "U41"
5697	//   "U42"
5698	//   "U43"
5699	//   "U44"
5700	//   "U45"
5701	//   "U46"
5702	//   "U47"
5703	//   "U48"
5704	//   "U49"
5705	//   "U50"
5706	//   "U51"
5707	//   "U52"
5708	//   "U53"
5709	//   "U54"
5710	//   "U55"
5711	//   "U56"
5712	//   "U57"
5713	//   "U58"
5714	//   "U59"
5715	//   "U60"
5716	//   "U61"
5717	//   "U62"
5718	//   "U63"
5719	//   "U64"
5720	//   "U65"
5721	//   "U66"
5722	//   "U67"
5723	//   "U68"
5724	//   "U69"
5725	//   "U70"
5726	//   "U71"
5727	//   "U72"
5728	//   "U73"
5729	//   "U74"
5730	//   "U75"
5731	//   "U76"
5732	//   "U77"
5733	//   "U78"
5734	//   "U79"
5735	//   "U80"
5736	//   "U81"
5737	//   "U82"
5738	//   "U83"
5739	//   "U84"
5740	//   "U85"
5741	//   "U86"
5742	//   "U87"
5743	//   "U88"
5744	//   "U89"
5745	//   "U90"
5746	//   "U91"
5747	//   "U92"
5748	//   "U93"
5749	//   "U94"
5750	//   "U95"
5751	//   "U96"
5752	//   "U97"
5753	//   "U98"
5754	//   "U99"
5755	//   "U100"
5756	Type string `json:"type,omitempty"`
5757
5758	// Value: The value of the custom floodlight variable. The length of
5759	// string must not exceed 100 characters.
5760	Value string `json:"value,omitempty"`
5761
5762	// ForceSendFields is a list of field names (e.g. "Kind") to
5763	// unconditionally include in API requests. By default, fields with
5764	// empty values are omitted from API requests. However, any non-pointer,
5765	// non-interface field appearing in ForceSendFields will be sent to the
5766	// server regardless of whether the field is empty or not. This may be
5767	// used to include empty fields in Patch requests.
5768	ForceSendFields []string `json:"-"`
5769
5770	// NullFields is a list of field names (e.g. "Kind") to include in API
5771	// requests with the JSON null value. By default, fields with empty
5772	// values are omitted from API requests. However, any field with an
5773	// empty value appearing in NullFields will be sent to the server as
5774	// null. It is an error if a field in this list has a non-empty value.
5775	// This may be used to include null fields in Patch requests.
5776	NullFields []string `json:"-"`
5777}
5778
5779func (s *CustomFloodlightVariable) MarshalJSON() ([]byte, error) {
5780	type NoMethod CustomFloodlightVariable
5781	raw := NoMethod(*s)
5782	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5783}
5784
5785// CustomRichMediaEvents: Represents a Custom Rich Media Events group.
5786type CustomRichMediaEvents struct {
5787	// FilteredEventIds: List of custom rich media event IDs. Dimension
5788	// values must be all of type dfa:richMediaEventTypeIdAndName.
5789	FilteredEventIds []*DimensionValue `json:"filteredEventIds,omitempty"`
5790
5791	// Kind: The kind of resource this is, in this case
5792	// dfareporting#customRichMediaEvents.
5793	Kind string `json:"kind,omitempty"`
5794
5795	// ForceSendFields is a list of field names (e.g. "FilteredEventIds") to
5796	// unconditionally include in API requests. By default, fields with
5797	// empty values are omitted from API requests. However, any non-pointer,
5798	// non-interface field appearing in ForceSendFields will be sent to the
5799	// server regardless of whether the field is empty or not. This may be
5800	// used to include empty fields in Patch requests.
5801	ForceSendFields []string `json:"-"`
5802
5803	// NullFields is a list of field names (e.g. "FilteredEventIds") to
5804	// include in API requests with the JSON null value. By default, fields
5805	// with empty values are omitted from API requests. However, any field
5806	// with an empty value appearing in NullFields will be sent to the
5807	// server as null. It is an error if a field in this list has a
5808	// non-empty value. This may be used to include null fields in Patch
5809	// requests.
5810	NullFields []string `json:"-"`
5811}
5812
5813func (s *CustomRichMediaEvents) MarshalJSON() ([]byte, error) {
5814	type NoMethod CustomRichMediaEvents
5815	raw := NoMethod(*s)
5816	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5817}
5818
5819// CustomViewabilityMetric: Custom Viewability Metric
5820type CustomViewabilityMetric struct {
5821	// Configuration: Configuration of the custom viewability metric.
5822	Configuration *CustomViewabilityMetricConfiguration `json:"configuration,omitempty"`
5823
5824	// Id: ID of the custom viewability metric.
5825	Id int64 `json:"id,omitempty,string"`
5826
5827	// Name: Name of the custom viewability metric.
5828	Name string `json:"name,omitempty"`
5829
5830	// ForceSendFields is a list of field names (e.g. "Configuration") to
5831	// unconditionally include in API requests. By default, fields with
5832	// empty values are omitted from API requests. However, any non-pointer,
5833	// non-interface field appearing in ForceSendFields will be sent to the
5834	// server regardless of whether the field is empty or not. This may be
5835	// used to include empty fields in Patch requests.
5836	ForceSendFields []string `json:"-"`
5837
5838	// NullFields is a list of field names (e.g. "Configuration") to include
5839	// in API requests with the JSON null value. By default, fields with
5840	// empty values are omitted from API requests. However, any field with
5841	// an empty value appearing in NullFields will be sent to the server as
5842	// null. It is an error if a field in this list has a non-empty value.
5843	// This may be used to include null fields in Patch requests.
5844	NullFields []string `json:"-"`
5845}
5846
5847func (s *CustomViewabilityMetric) MarshalJSON() ([]byte, error) {
5848	type NoMethod CustomViewabilityMetric
5849	raw := NoMethod(*s)
5850	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5851}
5852
5853// CustomViewabilityMetricConfiguration: The attributes, like playtime
5854// and percent onscreen, that define the Custom Viewability Metric.
5855type CustomViewabilityMetricConfiguration struct {
5856	// Audible: Whether the video must be audible to count an impression.
5857	Audible bool `json:"audible,omitempty"`
5858
5859	// TimeMillis: The time in milliseconds the video must play for the
5860	// Custom Viewability Metric to count an impression. If both this and
5861	// timePercent are specified, the earlier of the two will be used.
5862	TimeMillis int64 `json:"timeMillis,omitempty"`
5863
5864	// TimePercent: The percentage of video that must play for the Custom
5865	// Viewability Metric to count an impression. If both this and
5866	// timeMillis are specified, the earlier of the two will be used.
5867	TimePercent int64 `json:"timePercent,omitempty"`
5868
5869	// ViewabilityPercent: The percentage of video that must be on screen
5870	// for the Custom Viewability Metric to count an impression.
5871	ViewabilityPercent int64 `json:"viewabilityPercent,omitempty"`
5872
5873	// ForceSendFields is a list of field names (e.g. "Audible") to
5874	// unconditionally include in API requests. By default, fields with
5875	// empty values are omitted from API requests. However, any non-pointer,
5876	// non-interface field appearing in ForceSendFields will be sent to the
5877	// server regardless of whether the field is empty or not. This may be
5878	// used to include empty fields in Patch requests.
5879	ForceSendFields []string `json:"-"`
5880
5881	// NullFields is a list of field names (e.g. "Audible") to include in
5882	// API requests with the JSON null value. By default, fields with empty
5883	// values are omitted from API requests. However, any field with an
5884	// empty value appearing in NullFields will be sent to the server as
5885	// null. It is an error if a field in this list has a non-empty value.
5886	// This may be used to include null fields in Patch requests.
5887	NullFields []string `json:"-"`
5888}
5889
5890func (s *CustomViewabilityMetricConfiguration) MarshalJSON() ([]byte, error) {
5891	type NoMethod CustomViewabilityMetricConfiguration
5892	raw := NoMethod(*s)
5893	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5894}
5895
5896// DateRange: Represents a date range.
5897type DateRange struct {
5898	EndDate string `json:"endDate,omitempty"`
5899
5900	// Kind: The kind of resource this is, in this case
5901	// dfareporting#dateRange.
5902	Kind string `json:"kind,omitempty"`
5903
5904	// RelativeDateRange: The date range relative to the date of when the
5905	// report is run.
5906	//
5907	// Possible values:
5908	//   "TODAY"
5909	//   "YESTERDAY"
5910	//   "WEEK_TO_DATE"
5911	//   "MONTH_TO_DATE"
5912	//   "QUARTER_TO_DATE"
5913	//   "YEAR_TO_DATE"
5914	//   "PREVIOUS_WEEK"
5915	//   "PREVIOUS_MONTH"
5916	//   "PREVIOUS_QUARTER"
5917	//   "PREVIOUS_YEAR"
5918	//   "LAST_7_DAYS"
5919	//   "LAST_30_DAYS"
5920	//   "LAST_90_DAYS"
5921	//   "LAST_365_DAYS"
5922	//   "LAST_24_MONTHS"
5923	//   "LAST_14_DAYS"
5924	//   "LAST_60_DAYS"
5925	RelativeDateRange string `json:"relativeDateRange,omitempty"`
5926
5927	StartDate string `json:"startDate,omitempty"`
5928
5929	// ForceSendFields is a list of field names (e.g. "EndDate") to
5930	// unconditionally include in API requests. By default, fields with
5931	// empty values are omitted from API requests. However, any non-pointer,
5932	// non-interface field appearing in ForceSendFields will be sent to the
5933	// server regardless of whether the field is empty or not. This may be
5934	// used to include empty fields in Patch requests.
5935	ForceSendFields []string `json:"-"`
5936
5937	// NullFields is a list of field names (e.g. "EndDate") to include in
5938	// API requests with the JSON null value. By default, fields with empty
5939	// values are omitted from API requests. However, any field with an
5940	// empty value appearing in NullFields will be sent to the server as
5941	// null. It is an error if a field in this list has a non-empty value.
5942	// This may be used to include null fields in Patch requests.
5943	NullFields []string `json:"-"`
5944}
5945
5946func (s *DateRange) MarshalJSON() ([]byte, error) {
5947	type NoMethod DateRange
5948	raw := NoMethod(*s)
5949	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5950}
5951
5952// DayPartTargeting: Day Part Targeting.
5953type DayPartTargeting struct {
5954	// DaysOfWeek: Days of the week when the ad will serve. Acceptable
5955	// values are: - "SUNDAY" - "MONDAY" - "TUESDAY" - "WEDNESDAY" -
5956	// "THURSDAY" - "FRIDAY" - "SATURDAY"
5957	//
5958	// Possible values:
5959	//   "MONDAY"
5960	//   "TUESDAY"
5961	//   "WEDNESDAY"
5962	//   "THURSDAY"
5963	//   "FRIDAY"
5964	//   "SATURDAY"
5965	//   "SUNDAY"
5966	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
5967
5968	// HoursOfDay: Hours of the day when the ad will serve, where 0 is
5969	// midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with
5970	// days of week, in which case the ad would serve during these hours on
5971	// the specified days. For example if Monday, Wednesday, Friday are the
5972	// days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is
5973	// specified, the ad would serve Monday, Wednesdays, and Fridays at
5974	// 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.
5975	HoursOfDay []int64 `json:"hoursOfDay,omitempty"`
5976
5977	// UserLocalTime: Whether or not to use the user's local time. If false,
5978	// the America/New York time zone applies.
5979	UserLocalTime bool `json:"userLocalTime,omitempty"`
5980
5981	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
5982	// unconditionally include in API requests. By default, fields with
5983	// empty values are omitted from API requests. However, any non-pointer,
5984	// non-interface field appearing in ForceSendFields will be sent to the
5985	// server regardless of whether the field is empty or not. This may be
5986	// used to include empty fields in Patch requests.
5987	ForceSendFields []string `json:"-"`
5988
5989	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in
5990	// API requests with the JSON null value. By default, fields with empty
5991	// values are omitted from API requests. However, any field with an
5992	// empty value appearing in NullFields will be sent to the server as
5993	// null. It is an error if a field in this list has a non-empty value.
5994	// This may be used to include null fields in Patch requests.
5995	NullFields []string `json:"-"`
5996}
5997
5998func (s *DayPartTargeting) MarshalJSON() ([]byte, error) {
5999	type NoMethod DayPartTargeting
6000	raw := NoMethod(*s)
6001	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6002}
6003
6004// DeepLink: Contains information about a landing page deep link.
6005type DeepLink struct {
6006	// AppUrl: The URL of the mobile app being linked to.
6007	AppUrl string `json:"appUrl,omitempty"`
6008
6009	// FallbackUrl: The fallback URL. This URL will be served to users who
6010	// do not have the mobile app installed.
6011	FallbackUrl string `json:"fallbackUrl,omitempty"`
6012
6013	// Kind: Identifies what kind of resource this is. Value: the fixed
6014	// string "dfareporting#deepLink".
6015	Kind string `json:"kind,omitempty"`
6016
6017	// MobileApp: The mobile app targeted by this deep link.
6018	MobileApp *MobileApp `json:"mobileApp,omitempty"`
6019
6020	// RemarketingListIds: Ads served to users on these remarketing lists
6021	// will use this deep link. Applicable when mobileApp.directory is
6022	// APPLE_APP_STORE.
6023	RemarketingListIds googleapi.Int64s `json:"remarketingListIds,omitempty"`
6024
6025	// ForceSendFields is a list of field names (e.g. "AppUrl") to
6026	// unconditionally include in API requests. By default, fields with
6027	// empty values are omitted from API requests. However, any non-pointer,
6028	// non-interface field appearing in ForceSendFields will be sent to the
6029	// server regardless of whether the field is empty or not. This may be
6030	// used to include empty fields in Patch requests.
6031	ForceSendFields []string `json:"-"`
6032
6033	// NullFields is a list of field names (e.g. "AppUrl") to include in API
6034	// requests with the JSON null value. By default, fields with empty
6035	// values are omitted from API requests. However, any field with an
6036	// empty value appearing in NullFields will be sent to the server as
6037	// null. It is an error if a field in this list has a non-empty value.
6038	// This may be used to include null fields in Patch requests.
6039	NullFields []string `json:"-"`
6040}
6041
6042func (s *DeepLink) MarshalJSON() ([]byte, error) {
6043	type NoMethod DeepLink
6044	raw := NoMethod(*s)
6045	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6046}
6047
6048// DefaultClickThroughEventTagProperties: Properties of inheriting and
6049// overriding the default click-through event tag. A campaign may
6050// override the event tag defined at the advertiser level, and an ad may
6051// also override the campaign's setting further.
6052type DefaultClickThroughEventTagProperties struct {
6053	// DefaultClickThroughEventTagId: ID of the click-through event tag to
6054	// apply to all ads in this entity's scope.
6055	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
6056
6057	// OverrideInheritedEventTag: Whether this entity should override the
6058	// inherited default click-through event tag with its own defined value.
6059	OverrideInheritedEventTag bool `json:"overrideInheritedEventTag,omitempty"`
6060
6061	// ForceSendFields is a list of field names (e.g.
6062	// "DefaultClickThroughEventTagId") to unconditionally include in API
6063	// requests. By default, fields with empty values are omitted from API
6064	// requests. However, any non-pointer, non-interface field appearing in
6065	// ForceSendFields will be sent to the server regardless of whether the
6066	// field is empty or not. This may be used to include empty fields in
6067	// Patch requests.
6068	ForceSendFields []string `json:"-"`
6069
6070	// NullFields is a list of field names (e.g.
6071	// "DefaultClickThroughEventTagId") to include in API requests with the
6072	// JSON null value. By default, fields with empty values are omitted
6073	// from API requests. However, any field with an empty value appearing
6074	// in NullFields will be sent to the server as null. It is an error if a
6075	// field in this list has a non-empty value. This may be used to include
6076	// null fields in Patch requests.
6077	NullFields []string `json:"-"`
6078}
6079
6080func (s *DefaultClickThroughEventTagProperties) MarshalJSON() ([]byte, error) {
6081	type NoMethod DefaultClickThroughEventTagProperties
6082	raw := NoMethod(*s)
6083	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6084}
6085
6086// DeliverySchedule: Delivery Schedule.
6087type DeliverySchedule struct {
6088	// FrequencyCap: Limit on the number of times an individual user can be
6089	// served the ad within a specified period of time.
6090	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
6091
6092	// HardCutoff: Whether or not hard cutoff is enabled. If true, the ad
6093	// will not serve after the end date and time. Otherwise the ad will
6094	// continue to be served until it has reached its delivery goals.
6095	HardCutoff bool `json:"hardCutoff,omitempty"`
6096
6097	// ImpressionRatio: Impression ratio for this ad. This ratio determines
6098	// how often each ad is served relative to the others. For example, if
6099	// ad A has an impression ratio of 1 and ad B has an impression ratio of
6100	// 3, then Campaign Manager will serve ad B three times as often as ad
6101	// A. Acceptable values are 1 to 10, inclusive.
6102	ImpressionRatio int64 `json:"impressionRatio,omitempty,string"`
6103
6104	// Priority: Serving priority of an ad, with respect to other ads. The
6105	// lower the priority number, the greater the priority with which it is
6106	// served.
6107	//
6108	// Possible values:
6109	//   "AD_PRIORITY_01"
6110	//   "AD_PRIORITY_02"
6111	//   "AD_PRIORITY_03"
6112	//   "AD_PRIORITY_04"
6113	//   "AD_PRIORITY_05"
6114	//   "AD_PRIORITY_06"
6115	//   "AD_PRIORITY_07"
6116	//   "AD_PRIORITY_08"
6117	//   "AD_PRIORITY_09"
6118	//   "AD_PRIORITY_10"
6119	//   "AD_PRIORITY_11"
6120	//   "AD_PRIORITY_12"
6121	//   "AD_PRIORITY_13"
6122	//   "AD_PRIORITY_14"
6123	//   "AD_PRIORITY_15"
6124	//   "AD_PRIORITY_16"
6125	Priority string `json:"priority,omitempty"`
6126
6127	// ForceSendFields is a list of field names (e.g. "FrequencyCap") to
6128	// unconditionally include in API requests. By default, fields with
6129	// empty values are omitted from API requests. However, any non-pointer,
6130	// non-interface field appearing in ForceSendFields will be sent to the
6131	// server regardless of whether the field is empty or not. This may be
6132	// used to include empty fields in Patch requests.
6133	ForceSendFields []string `json:"-"`
6134
6135	// NullFields is a list of field names (e.g. "FrequencyCap") to include
6136	// in API requests with the JSON null value. By default, fields with
6137	// empty values are omitted from API requests. However, any field with
6138	// an empty value appearing in NullFields will be sent to the server as
6139	// null. It is an error if a field in this list has a non-empty value.
6140	// This may be used to include null fields in Patch requests.
6141	NullFields []string `json:"-"`
6142}
6143
6144func (s *DeliverySchedule) MarshalJSON() ([]byte, error) {
6145	type NoMethod DeliverySchedule
6146	raw := NoMethod(*s)
6147	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6148}
6149
6150// DfpSettings: Google Ad Manager Settings
6151type DfpSettings struct {
6152	// DfpNetworkCode: Ad Manager network code for this directory site.
6153	DfpNetworkCode string `json:"dfpNetworkCode,omitempty"`
6154
6155	// DfpNetworkName: Ad Manager network name for this directory site.
6156	DfpNetworkName string `json:"dfpNetworkName,omitempty"`
6157
6158	// ProgrammaticPlacementAccepted: Whether this directory site accepts
6159	// programmatic placements.
6160	ProgrammaticPlacementAccepted bool `json:"programmaticPlacementAccepted,omitempty"`
6161
6162	// PubPaidPlacementAccepted: Whether this directory site accepts
6163	// publisher-paid tags.
6164	PubPaidPlacementAccepted bool `json:"pubPaidPlacementAccepted,omitempty"`
6165
6166	// PublisherPortalOnly: Whether this directory site is available only
6167	// via Publisher Portal.
6168	PublisherPortalOnly bool `json:"publisherPortalOnly,omitempty"`
6169
6170	// ForceSendFields is a list of field names (e.g. "DfpNetworkCode") to
6171	// unconditionally include in API requests. By default, fields with
6172	// empty values are omitted from API requests. However, any non-pointer,
6173	// non-interface field appearing in ForceSendFields will be sent to the
6174	// server regardless of whether the field is empty or not. This may be
6175	// used to include empty fields in Patch requests.
6176	ForceSendFields []string `json:"-"`
6177
6178	// NullFields is a list of field names (e.g. "DfpNetworkCode") to
6179	// include in API requests with the JSON null value. By default, fields
6180	// with empty values are omitted from API requests. However, any field
6181	// with an empty value appearing in NullFields will be sent to the
6182	// server as null. It is an error if a field in this list has a
6183	// non-empty value. This may be used to include null fields in Patch
6184	// requests.
6185	NullFields []string `json:"-"`
6186}
6187
6188func (s *DfpSettings) MarshalJSON() ([]byte, error) {
6189	type NoMethod DfpSettings
6190	raw := NoMethod(*s)
6191	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6192}
6193
6194// Dimension: Represents a dimension.
6195type Dimension struct {
6196	// Kind: The kind of resource this is, in this case
6197	// dfareporting#dimension.
6198	Kind string `json:"kind,omitempty"`
6199
6200	// Name: The dimension name, e.g. dfa:advertiser
6201	Name string `json:"name,omitempty"`
6202
6203	// ForceSendFields is a list of field names (e.g. "Kind") to
6204	// unconditionally include in API requests. By default, fields with
6205	// empty values are omitted from API requests. However, any non-pointer,
6206	// non-interface field appearing in ForceSendFields will be sent to the
6207	// server regardless of whether the field is empty or not. This may be
6208	// used to include empty fields in Patch requests.
6209	ForceSendFields []string `json:"-"`
6210
6211	// NullFields is a list of field names (e.g. "Kind") to include in API
6212	// requests with the JSON null value. By default, fields with empty
6213	// values are omitted from API requests. However, any field with an
6214	// empty value appearing in NullFields will be sent to the server as
6215	// null. It is an error if a field in this list has a non-empty value.
6216	// This may be used to include null fields in Patch requests.
6217	NullFields []string `json:"-"`
6218}
6219
6220func (s *Dimension) MarshalJSON() ([]byte, error) {
6221	type NoMethod Dimension
6222	raw := NoMethod(*s)
6223	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6224}
6225
6226// DimensionFilter: Represents a dimension filter.
6227type DimensionFilter struct {
6228	// DimensionName: The name of the dimension to filter.
6229	DimensionName string `json:"dimensionName,omitempty"`
6230
6231	// Kind: The kind of resource this is, in this case
6232	// dfareporting#dimensionFilter.
6233	Kind string `json:"kind,omitempty"`
6234
6235	// Value: The value of the dimension to filter.
6236	Value string `json:"value,omitempty"`
6237
6238	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6239	// unconditionally include in API requests. By default, fields with
6240	// empty values are omitted from API requests. However, any non-pointer,
6241	// non-interface field appearing in ForceSendFields will be sent to the
6242	// server regardless of whether the field is empty or not. This may be
6243	// used to include empty fields in Patch requests.
6244	ForceSendFields []string `json:"-"`
6245
6246	// NullFields is a list of field names (e.g. "DimensionName") to include
6247	// in API requests with the JSON null value. By default, fields with
6248	// empty values are omitted from API requests. However, any field with
6249	// an empty value appearing in NullFields will be sent to the server as
6250	// null. It is an error if a field in this list has a non-empty value.
6251	// This may be used to include null fields in Patch requests.
6252	NullFields []string `json:"-"`
6253}
6254
6255func (s *DimensionFilter) MarshalJSON() ([]byte, error) {
6256	type NoMethod DimensionFilter
6257	raw := NoMethod(*s)
6258	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6259}
6260
6261// DimensionValue: Represents a DimensionValue resource.
6262type DimensionValue struct {
6263	// DimensionName: The name of the dimension.
6264	DimensionName string `json:"dimensionName,omitempty"`
6265
6266	// Etag: The eTag of this response for caching purposes.
6267	Etag string `json:"etag,omitempty"`
6268
6269	// Id: The ID associated with the value if available.
6270	Id string `json:"id,omitempty"`
6271
6272	// Kind: The kind of resource this is, in this case
6273	// dfareporting#dimensionValue.
6274	Kind string `json:"kind,omitempty"`
6275
6276	// MatchType: Determines how the 'value' field is matched when
6277	// filtering. If not specified, defaults to EXACT. If set to
6278	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
6279	// length character sequences, and it can be escaped with a backslash.
6280	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
6281	// matchType other than EXACT.
6282	//
6283	// Possible values:
6284	//   "EXACT"
6285	//   "BEGINS_WITH"
6286	//   "CONTAINS"
6287	//   "WILDCARD_EXPRESSION"
6288	MatchType string `json:"matchType,omitempty"`
6289
6290	// Value: The value of the dimension.
6291	Value string `json:"value,omitempty"`
6292
6293	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6294	// unconditionally include in API requests. By default, fields with
6295	// empty values are omitted from API requests. However, any non-pointer,
6296	// non-interface field appearing in ForceSendFields will be sent to the
6297	// server regardless of whether the field is empty or not. This may be
6298	// used to include empty fields in Patch requests.
6299	ForceSendFields []string `json:"-"`
6300
6301	// NullFields is a list of field names (e.g. "DimensionName") to include
6302	// in API requests with the JSON null value. By default, fields with
6303	// empty values are omitted from API requests. However, any field with
6304	// an empty value appearing in NullFields will be sent to the server as
6305	// null. It is an error if a field in this list has a non-empty value.
6306	// This may be used to include null fields in Patch requests.
6307	NullFields []string `json:"-"`
6308}
6309
6310func (s *DimensionValue) MarshalJSON() ([]byte, error) {
6311	type NoMethod DimensionValue
6312	raw := NoMethod(*s)
6313	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6314}
6315
6316// DimensionValueList: Represents the list of DimensionValue resources.
6317type DimensionValueList struct {
6318	// Etag: The eTag of this response for caching purposes.
6319	Etag string `json:"etag,omitempty"`
6320
6321	// Items: The dimension values returned in this response.
6322	Items []*DimensionValue `json:"items,omitempty"`
6323
6324	// Kind: The kind of list this is, in this case
6325	// dfareporting#dimensionValueList.
6326	Kind string `json:"kind,omitempty"`
6327
6328	// NextPageToken: Continuation token used to page through dimension
6329	// values. To retrieve the next page of results, set the next request's
6330	// "pageToken" to the value of this field. The page token is only valid
6331	// for a limited amount of time and should not be persisted.
6332	NextPageToken string `json:"nextPageToken,omitempty"`
6333
6334	// ServerResponse contains the HTTP response code and headers from the
6335	// server.
6336	googleapi.ServerResponse `json:"-"`
6337
6338	// ForceSendFields is a list of field names (e.g. "Etag") to
6339	// unconditionally include in API requests. By default, fields with
6340	// empty values are omitted from API requests. However, any non-pointer,
6341	// non-interface field appearing in ForceSendFields will be sent to the
6342	// server regardless of whether the field is empty or not. This may be
6343	// used to include empty fields in Patch requests.
6344	ForceSendFields []string `json:"-"`
6345
6346	// NullFields is a list of field names (e.g. "Etag") to include in API
6347	// requests with the JSON null value. By default, fields with empty
6348	// values are omitted from API requests. However, any field with an
6349	// empty value appearing in NullFields will be sent to the server as
6350	// null. It is an error if a field in this list has a non-empty value.
6351	// This may be used to include null fields in Patch requests.
6352	NullFields []string `json:"-"`
6353}
6354
6355func (s *DimensionValueList) MarshalJSON() ([]byte, error) {
6356	type NoMethod DimensionValueList
6357	raw := NoMethod(*s)
6358	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6359}
6360
6361// DimensionValueRequest: Represents a DimensionValuesRequest.
6362type DimensionValueRequest struct {
6363	// DimensionName: The name of the dimension for which values should be
6364	// requested.
6365	DimensionName string `json:"dimensionName,omitempty"`
6366
6367	EndDate string `json:"endDate,omitempty"`
6368
6369	// Filters: The list of filters by which to filter values. The filters
6370	// are ANDed.
6371	Filters []*DimensionFilter `json:"filters,omitempty"`
6372
6373	// Kind: The kind of request this is, in this case
6374	// dfareporting#dimensionValueRequest .
6375	Kind string `json:"kind,omitempty"`
6376
6377	StartDate string `json:"startDate,omitempty"`
6378
6379	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6380	// unconditionally include in API requests. By default, fields with
6381	// empty values are omitted from API requests. However, any non-pointer,
6382	// non-interface field appearing in ForceSendFields will be sent to the
6383	// server regardless of whether the field is empty or not. This may be
6384	// used to include empty fields in Patch requests.
6385	ForceSendFields []string `json:"-"`
6386
6387	// NullFields is a list of field names (e.g. "DimensionName") to include
6388	// in API requests with the JSON null value. By default, fields with
6389	// empty values are omitted from API requests. However, any field with
6390	// an empty value appearing in NullFields will be sent to the server as
6391	// null. It is an error if a field in this list has a non-empty value.
6392	// This may be used to include null fields in Patch requests.
6393	NullFields []string `json:"-"`
6394}
6395
6396func (s *DimensionValueRequest) MarshalJSON() ([]byte, error) {
6397	type NoMethod DimensionValueRequest
6398	raw := NoMethod(*s)
6399	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6400}
6401
6402// DirectorySite: DirectorySites contains properties of a website from
6403// the Site Directory. Sites need to be added to an account via the
6404// Sites resource before they can be assigned to a placement.
6405type DirectorySite struct {
6406	// Active: Whether this directory site is active.
6407	Active bool `json:"active,omitempty"`
6408
6409	// Id: ID of this directory site. This is a read-only, auto-generated
6410	// field.
6411	Id int64 `json:"id,omitempty,string"`
6412
6413	// IdDimensionValue: Dimension value for the ID of this directory site.
6414	// This is a read-only, auto-generated field.
6415	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
6416
6417	// InpageTagFormats: Tag types for regular placements. Acceptable values
6418	// are: - "STANDARD" - "IFRAME_JAVASCRIPT_INPAGE" -
6419	// "INTERNAL_REDIRECT_INPAGE" - "JAVASCRIPT_INPAGE"
6420	//
6421	// Possible values:
6422	//   "STANDARD"
6423	//   "IFRAME_JAVASCRIPT_INPAGE"
6424	//   "INTERNAL_REDIRECT_INPAGE"
6425	//   "JAVASCRIPT_INPAGE"
6426	InpageTagFormats []string `json:"inpageTagFormats,omitempty"`
6427
6428	// InterstitialTagFormats: Tag types for interstitial placements.
6429	// Acceptable values are: - "IFRAME_JAVASCRIPT_INTERSTITIAL" -
6430	// "INTERNAL_REDIRECT_INTERSTITIAL" - "JAVASCRIPT_INTERSTITIAL"
6431	//
6432	// Possible values:
6433	//   "IFRAME_JAVASCRIPT_INTERSTITIAL"
6434	//   "INTERNAL_REDIRECT_INTERSTITIAL"
6435	//   "JAVASCRIPT_INTERSTITIAL"
6436	InterstitialTagFormats []string `json:"interstitialTagFormats,omitempty"`
6437
6438	// Kind: Identifies what kind of resource this is. Value: the fixed
6439	// string "dfareporting#directorySite".
6440	Kind string `json:"kind,omitempty"`
6441
6442	// Name: Name of this directory site.
6443	Name string `json:"name,omitempty"`
6444
6445	// Settings: Directory site settings.
6446	Settings *DirectorySiteSettings `json:"settings,omitempty"`
6447
6448	// Url: URL of this directory site.
6449	Url string `json:"url,omitempty"`
6450
6451	// ServerResponse contains the HTTP response code and headers from the
6452	// server.
6453	googleapi.ServerResponse `json:"-"`
6454
6455	// ForceSendFields is a list of field names (e.g. "Active") to
6456	// unconditionally include in API requests. By default, fields with
6457	// empty values are omitted from API requests. However, any non-pointer,
6458	// non-interface field appearing in ForceSendFields will be sent to the
6459	// server regardless of whether the field is empty or not. This may be
6460	// used to include empty fields in Patch requests.
6461	ForceSendFields []string `json:"-"`
6462
6463	// NullFields is a list of field names (e.g. "Active") to include in API
6464	// requests with the JSON null value. By default, fields with empty
6465	// values are omitted from API requests. However, any field with an
6466	// empty value appearing in NullFields will be sent to the server as
6467	// null. It is an error if a field in this list has a non-empty value.
6468	// This may be used to include null fields in Patch requests.
6469	NullFields []string `json:"-"`
6470}
6471
6472func (s *DirectorySite) MarshalJSON() ([]byte, error) {
6473	type NoMethod DirectorySite
6474	raw := NoMethod(*s)
6475	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6476}
6477
6478// DirectorySiteSettings: Directory Site Settings
6479type DirectorySiteSettings struct {
6480	// ActiveViewOptOut: Whether this directory site has disabled active
6481	// view creatives.
6482	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
6483
6484	// DfpSettings: Directory site Ad Manager settings.
6485	DfpSettings *DfpSettings `json:"dfpSettings,omitempty"`
6486
6487	// InstreamVideoPlacementAccepted: Whether this site accepts in-stream
6488	// video ads.
6489	InstreamVideoPlacementAccepted bool `json:"instreamVideoPlacementAccepted,omitempty"`
6490
6491	// InterstitialPlacementAccepted: Whether this site accepts interstitial
6492	// ads.
6493	InterstitialPlacementAccepted bool `json:"interstitialPlacementAccepted,omitempty"`
6494
6495	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
6496	// unconditionally include in API requests. By default, fields with
6497	// empty values are omitted from API requests. However, any non-pointer,
6498	// non-interface field appearing in ForceSendFields will be sent to the
6499	// server regardless of whether the field is empty or not. This may be
6500	// used to include empty fields in Patch requests.
6501	ForceSendFields []string `json:"-"`
6502
6503	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
6504	// include in API requests with the JSON null value. By default, fields
6505	// with empty values are omitted from API requests. However, any field
6506	// with an empty value appearing in NullFields will be sent to the
6507	// server as null. It is an error if a field in this list has a
6508	// non-empty value. This may be used to include null fields in Patch
6509	// requests.
6510	NullFields []string `json:"-"`
6511}
6512
6513func (s *DirectorySiteSettings) MarshalJSON() ([]byte, error) {
6514	type NoMethod DirectorySiteSettings
6515	raw := NoMethod(*s)
6516	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6517}
6518
6519// DirectorySitesListResponse: Directory Site List Response
6520type DirectorySitesListResponse struct {
6521	// DirectorySites: Directory site collection.
6522	DirectorySites []*DirectorySite `json:"directorySites,omitempty"`
6523
6524	// Kind: Identifies what kind of resource this is. Value: the fixed
6525	// string "dfareporting#directorySitesListResponse".
6526	Kind string `json:"kind,omitempty"`
6527
6528	// NextPageToken: Pagination token to be used for the next list
6529	// operation.
6530	NextPageToken string `json:"nextPageToken,omitempty"`
6531
6532	// ServerResponse contains the HTTP response code and headers from the
6533	// server.
6534	googleapi.ServerResponse `json:"-"`
6535
6536	// ForceSendFields is a list of field names (e.g. "DirectorySites") to
6537	// unconditionally include in API requests. By default, fields with
6538	// empty values are omitted from API requests. However, any non-pointer,
6539	// non-interface field appearing in ForceSendFields will be sent to the
6540	// server regardless of whether the field is empty or not. This may be
6541	// used to include empty fields in Patch requests.
6542	ForceSendFields []string `json:"-"`
6543
6544	// NullFields is a list of field names (e.g. "DirectorySites") to
6545	// include in API requests with the JSON null value. By default, fields
6546	// with empty values are omitted from API requests. However, any field
6547	// with an empty value appearing in NullFields will be sent to the
6548	// server as null. It is an error if a field in this list has a
6549	// non-empty value. This may be used to include null fields in Patch
6550	// requests.
6551	NullFields []string `json:"-"`
6552}
6553
6554func (s *DirectorySitesListResponse) MarshalJSON() ([]byte, error) {
6555	type NoMethod DirectorySitesListResponse
6556	raw := NoMethod(*s)
6557	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6558}
6559
6560// DynamicTargetingKey: Contains properties of a dynamic targeting key.
6561// Dynamic targeting keys are unique, user-friendly labels, created at
6562// the advertiser level in DCM, that can be assigned to ads, creatives,
6563// and placements and used for targeting with Studio dynamic creatives.
6564// Use these labels instead of numeric Campaign Manager IDs (such as
6565// placement IDs) to save time and avoid errors in your dynamic feeds.
6566type DynamicTargetingKey struct {
6567	// Kind: Identifies what kind of resource this is. Value: the fixed
6568	// string "dfareporting#dynamicTargetingKey".
6569	Kind string `json:"kind,omitempty"`
6570
6571	// Name: Name of this dynamic targeting key. This is a required field.
6572	// Must be less than 256 characters long and cannot contain commas. All
6573	// characters are converted to lowercase.
6574	Name string `json:"name,omitempty"`
6575
6576	// ObjectId: ID of the object of this dynamic targeting key. This is a
6577	// required field.
6578	ObjectId int64 `json:"objectId,omitempty,string"`
6579
6580	// ObjectType: Type of the object of this dynamic targeting key. This is
6581	// a required field.
6582	//
6583	// Possible values:
6584	//   "OBJECT_ADVERTISER"
6585	//   "OBJECT_AD"
6586	//   "OBJECT_CREATIVE"
6587	//   "OBJECT_PLACEMENT"
6588	ObjectType string `json:"objectType,omitempty"`
6589
6590	// ServerResponse contains the HTTP response code and headers from the
6591	// server.
6592	googleapi.ServerResponse `json:"-"`
6593
6594	// ForceSendFields is a list of field names (e.g. "Kind") to
6595	// unconditionally include in API requests. By default, fields with
6596	// empty values are omitted from API requests. However, any non-pointer,
6597	// non-interface field appearing in ForceSendFields will be sent to the
6598	// server regardless of whether the field is empty or not. This may be
6599	// used to include empty fields in Patch requests.
6600	ForceSendFields []string `json:"-"`
6601
6602	// NullFields is a list of field names (e.g. "Kind") to include in API
6603	// requests with the JSON null value. By default, fields with empty
6604	// values are omitted from API requests. However, any field with an
6605	// empty value appearing in NullFields will be sent to the server as
6606	// null. It is an error if a field in this list has a non-empty value.
6607	// This may be used to include null fields in Patch requests.
6608	NullFields []string `json:"-"`
6609}
6610
6611func (s *DynamicTargetingKey) MarshalJSON() ([]byte, error) {
6612	type NoMethod DynamicTargetingKey
6613	raw := NoMethod(*s)
6614	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6615}
6616
6617// DynamicTargetingKeysListResponse: Dynamic Targeting Key List Response
6618type DynamicTargetingKeysListResponse struct {
6619	// DynamicTargetingKeys: Dynamic targeting key collection.
6620	DynamicTargetingKeys []*DynamicTargetingKey `json:"dynamicTargetingKeys,omitempty"`
6621
6622	// Kind: Identifies what kind of resource this is. Value: the fixed
6623	// string "dfareporting#dynamicTargetingKeysListResponse".
6624	Kind string `json:"kind,omitempty"`
6625
6626	// ServerResponse contains the HTTP response code and headers from the
6627	// server.
6628	googleapi.ServerResponse `json:"-"`
6629
6630	// ForceSendFields is a list of field names (e.g.
6631	// "DynamicTargetingKeys") to unconditionally include in API requests.
6632	// By default, fields with empty values are omitted from API requests.
6633	// However, any non-pointer, non-interface field appearing in
6634	// ForceSendFields will be sent to the server regardless of whether the
6635	// field is empty or not. This may be used to include empty fields in
6636	// Patch requests.
6637	ForceSendFields []string `json:"-"`
6638
6639	// NullFields is a list of field names (e.g. "DynamicTargetingKeys") to
6640	// include in API requests with the JSON null value. By default, fields
6641	// with empty values are omitted from API requests. However, any field
6642	// with an empty value appearing in NullFields will be sent to the
6643	// server as null. It is an error if a field in this list has a
6644	// non-empty value. This may be used to include null fields in Patch
6645	// requests.
6646	NullFields []string `json:"-"`
6647}
6648
6649func (s *DynamicTargetingKeysListResponse) MarshalJSON() ([]byte, error) {
6650	type NoMethod DynamicTargetingKeysListResponse
6651	raw := NoMethod(*s)
6652	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6653}
6654
6655// EncryptionInfo: A description of how user IDs are encrypted.
6656type EncryptionInfo struct {
6657	// EncryptionEntityId: The encryption entity ID. This should match the
6658	// encryption configuration for ad serving or Data Transfer.
6659	EncryptionEntityId int64 `json:"encryptionEntityId,omitempty,string"`
6660
6661	// EncryptionEntityType: The encryption entity type. This should match
6662	// the encryption configuration for ad serving or Data Transfer.
6663	//
6664	// Possible values:
6665	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
6666	//   "DCM_ACCOUNT"
6667	//   "DCM_ADVERTISER"
6668	//   "DBM_PARTNER"
6669	//   "DBM_ADVERTISER"
6670	//   "ADWORDS_CUSTOMER"
6671	//   "DFP_NETWORK_CODE"
6672	EncryptionEntityType string `json:"encryptionEntityType,omitempty"`
6673
6674	// EncryptionSource: Describes whether the encrypted cookie was received
6675	// from ad serving (the %m macro) or from Data Transfer.
6676	//
6677	// Possible values:
6678	//   "ENCRYPTION_SCOPE_UNKNOWN"
6679	//   "AD_SERVING"
6680	//   "DATA_TRANSFER"
6681	EncryptionSource string `json:"encryptionSource,omitempty"`
6682
6683	// Kind: Identifies what kind of resource this is. Value: the fixed
6684	// string "dfareporting#encryptionInfo".
6685	Kind string `json:"kind,omitempty"`
6686
6687	// ForceSendFields is a list of field names (e.g. "EncryptionEntityId")
6688	// to unconditionally include in API requests. By default, fields with
6689	// empty values are omitted from API requests. However, any non-pointer,
6690	// non-interface field appearing in ForceSendFields will be sent to the
6691	// server regardless of whether the field is empty or not. This may be
6692	// used to include empty fields in Patch requests.
6693	ForceSendFields []string `json:"-"`
6694
6695	// NullFields is a list of field names (e.g. "EncryptionEntityId") to
6696	// include in API requests with the JSON null value. By default, fields
6697	// with empty values are omitted from API requests. However, any field
6698	// with an empty value appearing in NullFields will be sent to the
6699	// server as null. It is an error if a field in this list has a
6700	// non-empty value. This may be used to include null fields in Patch
6701	// requests.
6702	NullFields []string `json:"-"`
6703}
6704
6705func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
6706	type NoMethod EncryptionInfo
6707	raw := NoMethod(*s)
6708	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6709}
6710
6711// EventTag: Contains properties of an event tag.
6712type EventTag struct {
6713	// AccountId: Account ID of this event tag. This is a read-only field
6714	// that can be left blank.
6715	AccountId int64 `json:"accountId,omitempty,string"`
6716
6717	// AdvertiserId: Advertiser ID of this event tag. This field or the
6718	// campaignId field is required on insertion.
6719	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
6720
6721	// AdvertiserIdDimensionValue: Dimension value for the ID of the
6722	// advertiser. This is a read-only, auto-generated field.
6723	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
6724
6725	// CampaignId: Campaign ID of this event tag. This field or the
6726	// advertiserId field is required on insertion.
6727	CampaignId int64 `json:"campaignId,omitempty,string"`
6728
6729	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
6730	// This is a read-only, auto-generated field.
6731	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
6732
6733	// EnabledByDefault: Whether this event tag should be automatically
6734	// enabled for all of the advertiser's campaigns and ads.
6735	EnabledByDefault bool `json:"enabledByDefault,omitempty"`
6736
6737	// ExcludeFromAdxRequests: Whether to remove this event tag from ads
6738	// that are trafficked through Display & Video 360 to Ad Exchange. This
6739	// may be useful if the event tag uses a pixel that is unapproved for Ad
6740	// Exchange bids on one or more networks, such as the Google Display
6741	// Network.
6742	ExcludeFromAdxRequests bool `json:"excludeFromAdxRequests,omitempty"`
6743
6744	// Id: ID of this event tag. This is a read-only, auto-generated field.
6745	Id int64 `json:"id,omitempty,string"`
6746
6747	// Kind: Identifies what kind of resource this is. Value: the fixed
6748	// string "dfareporting#eventTag".
6749	Kind string `json:"kind,omitempty"`
6750
6751	// Name: Name of this event tag. This is a required field and must be
6752	// less than 256 characters long.
6753	Name string `json:"name,omitempty"`
6754
6755	// SiteFilterType: Site filter type for this event tag. If no type is
6756	// specified then the event tag will be applied to all sites.
6757	//
6758	// Possible values:
6759	//   "WHITELIST"
6760	//   "BLACKLIST"
6761	SiteFilterType string `json:"siteFilterType,omitempty"`
6762
6763	// SiteIds: Filter list of site IDs associated with this event tag. The
6764	// siteFilterType determines whether this is a allowlist or blocklist
6765	// filter.
6766	SiteIds googleapi.Int64s `json:"siteIds,omitempty"`
6767
6768	// SslCompliant: Whether this tag is SSL-compliant or not. This is a
6769	// read-only field.
6770	SslCompliant bool `json:"sslCompliant,omitempty"`
6771
6772	// Status: Status of this event tag. Must be ENABLED for this event tag
6773	// to fire. This is a required field.
6774	//
6775	// Possible values:
6776	//   "ENABLED"
6777	//   "DISABLED"
6778	Status string `json:"status,omitempty"`
6779
6780	// SubaccountId: Subaccount ID of this event tag. This is a read-only
6781	// field that can be left blank.
6782	SubaccountId int64 `json:"subaccountId,omitempty,string"`
6783
6784	// Type: Event tag type. Can be used to specify whether to use a
6785	// third-party pixel, a third-party JavaScript URL, or a third-party
6786	// click-through URL for either impression or click tracking. This is a
6787	// required field.
6788	//
6789	// Possible values:
6790	//   "IMPRESSION_IMAGE_EVENT_TAG"
6791	//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
6792	//   "CLICK_THROUGH_EVENT_TAG"
6793	Type string `json:"type,omitempty"`
6794
6795	// Url: Payload URL for this event tag. The URL on a click-through event
6796	// tag should have a landing page URL appended to the end of it. This
6797	// field is required on insertion.
6798	Url string `json:"url,omitempty"`
6799
6800	// UrlEscapeLevels: Number of times the landing page URL should be
6801	// URL-escaped before being appended to the click-through event tag URL.
6802	// Only applies to click-through event tags as specified by the event
6803	// tag type.
6804	UrlEscapeLevels int64 `json:"urlEscapeLevels,omitempty"`
6805
6806	// ServerResponse contains the HTTP response code and headers from the
6807	// server.
6808	googleapi.ServerResponse `json:"-"`
6809
6810	// ForceSendFields is a list of field names (e.g. "AccountId") to
6811	// unconditionally include in API requests. By default, fields with
6812	// empty values are omitted from API requests. However, any non-pointer,
6813	// non-interface field appearing in ForceSendFields will be sent to the
6814	// server regardless of whether the field is empty or not. This may be
6815	// used to include empty fields in Patch requests.
6816	ForceSendFields []string `json:"-"`
6817
6818	// NullFields is a list of field names (e.g. "AccountId") to include in
6819	// API requests with the JSON null value. By default, fields with empty
6820	// values are omitted from API requests. However, any field with an
6821	// empty value appearing in NullFields will be sent to the server as
6822	// null. It is an error if a field in this list has a non-empty value.
6823	// This may be used to include null fields in Patch requests.
6824	NullFields []string `json:"-"`
6825}
6826
6827func (s *EventTag) MarshalJSON() ([]byte, error) {
6828	type NoMethod EventTag
6829	raw := NoMethod(*s)
6830	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6831}
6832
6833// EventTagOverride: Event tag override information.
6834type EventTagOverride struct {
6835	// Enabled: Whether this override is enabled.
6836	Enabled bool `json:"enabled,omitempty"`
6837
6838	// Id: ID of this event tag override. This is a read-only,
6839	// auto-generated field.
6840	Id int64 `json:"id,omitempty,string"`
6841
6842	// ForceSendFields is a list of field names (e.g. "Enabled") to
6843	// unconditionally include in API requests. By default, fields with
6844	// empty values are omitted from API requests. However, any non-pointer,
6845	// non-interface field appearing in ForceSendFields will be sent to the
6846	// server regardless of whether the field is empty or not. This may be
6847	// used to include empty fields in Patch requests.
6848	ForceSendFields []string `json:"-"`
6849
6850	// NullFields is a list of field names (e.g. "Enabled") to include in
6851	// API requests with the JSON null value. By default, fields with empty
6852	// values are omitted from API requests. However, any field with an
6853	// empty value appearing in NullFields will be sent to the server as
6854	// null. It is an error if a field in this list has a non-empty value.
6855	// This may be used to include null fields in Patch requests.
6856	NullFields []string `json:"-"`
6857}
6858
6859func (s *EventTagOverride) MarshalJSON() ([]byte, error) {
6860	type NoMethod EventTagOverride
6861	raw := NoMethod(*s)
6862	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6863}
6864
6865// EventTagsListResponse: Event Tag List Response
6866type EventTagsListResponse struct {
6867	// EventTags: Event tag collection.
6868	EventTags []*EventTag `json:"eventTags,omitempty"`
6869
6870	// Kind: Identifies what kind of resource this is. Value: the fixed
6871	// string "dfareporting#eventTagsListResponse".
6872	Kind string `json:"kind,omitempty"`
6873
6874	// ServerResponse contains the HTTP response code and headers from the
6875	// server.
6876	googleapi.ServerResponse `json:"-"`
6877
6878	// ForceSendFields is a list of field names (e.g. "EventTags") to
6879	// unconditionally include in API requests. By default, fields with
6880	// empty values are omitted from API requests. However, any non-pointer,
6881	// non-interface field appearing in ForceSendFields will be sent to the
6882	// server regardless of whether the field is empty or not. This may be
6883	// used to include empty fields in Patch requests.
6884	ForceSendFields []string `json:"-"`
6885
6886	// NullFields is a list of field names (e.g. "EventTags") to include in
6887	// API requests with the JSON null value. By default, fields with empty
6888	// values are omitted from API requests. However, any field with an
6889	// empty value appearing in NullFields will be sent to the server as
6890	// null. It is an error if a field in this list has a non-empty value.
6891	// This may be used to include null fields in Patch requests.
6892	NullFields []string `json:"-"`
6893}
6894
6895func (s *EventTagsListResponse) MarshalJSON() ([]byte, error) {
6896	type NoMethod EventTagsListResponse
6897	raw := NoMethod(*s)
6898	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6899}
6900
6901// File: Represents a File resource. A file contains the metadata for a
6902// report run. It shows the status of the run and holds the URLs to the
6903// generated report data if the run is finished and the status is
6904// "REPORT_AVAILABLE".
6905type File struct {
6906	// DateRange: The date range for which the file has report data. The
6907	// date range will always be the absolute date range for which the
6908	// report is run.
6909	DateRange *DateRange `json:"dateRange,omitempty"`
6910
6911	// Etag: Etag of this resource.
6912	Etag string `json:"etag,omitempty"`
6913
6914	// FileName: The filename of the file.
6915	FileName string `json:"fileName,omitempty"`
6916
6917	// Format: The output format of the report. Only available once the file
6918	// is available.
6919	//
6920	// Possible values:
6921	//   "CSV"
6922	//   "EXCEL"
6923	Format string `json:"format,omitempty"`
6924
6925	// Id: The unique ID of this report file.
6926	Id int64 `json:"id,omitempty,string"`
6927
6928	// Kind: Identifies what kind of resource this is. Value: the fixed
6929	// string "dfareporting#file".
6930	Kind string `json:"kind,omitempty"`
6931
6932	// LastModifiedTime: The timestamp in milliseconds since epoch when this
6933	// file was last modified.
6934	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
6935
6936	// ReportId: The ID of the report this file was generated from.
6937	ReportId int64 `json:"reportId,omitempty,string"`
6938
6939	// Status: The status of the report file.
6940	//
6941	// Possible values:
6942	//   "PROCESSING"
6943	//   "REPORT_AVAILABLE"
6944	//   "FAILED"
6945	//   "CANCELLED"
6946	Status string `json:"status,omitempty"`
6947
6948	// Urls: The URLs where the completed report file can be downloaded.
6949	Urls *FileUrls `json:"urls,omitempty"`
6950
6951	// ServerResponse contains the HTTP response code and headers from the
6952	// server.
6953	googleapi.ServerResponse `json:"-"`
6954
6955	// ForceSendFields is a list of field names (e.g. "DateRange") to
6956	// unconditionally include in API requests. By default, fields with
6957	// empty values are omitted from API requests. However, any non-pointer,
6958	// non-interface field appearing in ForceSendFields will be sent to the
6959	// server regardless of whether the field is empty or not. This may be
6960	// used to include empty fields in Patch requests.
6961	ForceSendFields []string `json:"-"`
6962
6963	// NullFields is a list of field names (e.g. "DateRange") to include in
6964	// API requests with the JSON null value. By default, fields with empty
6965	// values are omitted from API requests. However, any field with an
6966	// empty value appearing in NullFields will be sent to the server as
6967	// null. It is an error if a field in this list has a non-empty value.
6968	// This may be used to include null fields in Patch requests.
6969	NullFields []string `json:"-"`
6970}
6971
6972func (s *File) MarshalJSON() ([]byte, error) {
6973	type NoMethod File
6974	raw := NoMethod(*s)
6975	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6976}
6977
6978// FileUrls: The URLs where the completed report file can be downloaded.
6979type FileUrls struct {
6980	// ApiUrl: The URL for downloading the report data through the API.
6981	ApiUrl string `json:"apiUrl,omitempty"`
6982
6983	// BrowserUrl: The URL for downloading the report data through a
6984	// browser.
6985	BrowserUrl string `json:"browserUrl,omitempty"`
6986
6987	// ForceSendFields is a list of field names (e.g. "ApiUrl") to
6988	// unconditionally include in API requests. By default, fields with
6989	// empty values are omitted from API requests. However, any non-pointer,
6990	// non-interface field appearing in ForceSendFields will be sent to the
6991	// server regardless of whether the field is empty or not. This may be
6992	// used to include empty fields in Patch requests.
6993	ForceSendFields []string `json:"-"`
6994
6995	// NullFields is a list of field names (e.g. "ApiUrl") to include in API
6996	// requests with the JSON null value. By default, fields with empty
6997	// values are omitted from API requests. However, any field with an
6998	// empty value appearing in NullFields will be sent to the server as
6999	// null. It is an error if a field in this list has a non-empty value.
7000	// This may be used to include null fields in Patch requests.
7001	NullFields []string `json:"-"`
7002}
7003
7004func (s *FileUrls) MarshalJSON() ([]byte, error) {
7005	type NoMethod FileUrls
7006	raw := NoMethod(*s)
7007	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7008}
7009
7010// FileList: List of files for a report.
7011type FileList struct {
7012	// Etag: Etag of this resource.
7013	Etag string `json:"etag,omitempty"`
7014
7015	// Items: The files returned in this response.
7016	Items []*File `json:"items,omitempty"`
7017
7018	// Kind: Identifies what kind of resource this is. Value: the fixed
7019	// string "dfareporting#fileList".
7020	Kind string `json:"kind,omitempty"`
7021
7022	// NextPageToken: Continuation token used to page through files. To
7023	// retrieve the next page of results, set the next request's "pageToken"
7024	// to the value of this field. The page token is only valid for a
7025	// limited amount of time and should not be persisted.
7026	NextPageToken string `json:"nextPageToken,omitempty"`
7027
7028	// ServerResponse contains the HTTP response code and headers from the
7029	// server.
7030	googleapi.ServerResponse `json:"-"`
7031
7032	// ForceSendFields is a list of field names (e.g. "Etag") to
7033	// unconditionally include in API requests. By default, fields with
7034	// empty values are omitted from API requests. However, any non-pointer,
7035	// non-interface field appearing in ForceSendFields will be sent to the
7036	// server regardless of whether the field is empty or not. This may be
7037	// used to include empty fields in Patch requests.
7038	ForceSendFields []string `json:"-"`
7039
7040	// NullFields is a list of field names (e.g. "Etag") to include in API
7041	// requests with the JSON null value. By default, fields with empty
7042	// values are omitted from API requests. However, any field with an
7043	// empty value appearing in NullFields will be sent to the server as
7044	// null. It is an error if a field in this list has a non-empty value.
7045	// This may be used to include null fields in Patch requests.
7046	NullFields []string `json:"-"`
7047}
7048
7049func (s *FileList) MarshalJSON() ([]byte, error) {
7050	type NoMethod FileList
7051	raw := NoMethod(*s)
7052	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7053}
7054
7055// Flight: Flight
7056type Flight struct {
7057	EndDate string `json:"endDate,omitempty"`
7058
7059	// RateOrCost: Rate or cost of this flight.
7060	RateOrCost int64 `json:"rateOrCost,omitempty,string"`
7061
7062	StartDate string `json:"startDate,omitempty"`
7063
7064	// Units: Units of this flight.
7065	Units int64 `json:"units,omitempty,string"`
7066
7067	// ForceSendFields is a list of field names (e.g. "EndDate") to
7068	// unconditionally include in API requests. By default, fields with
7069	// empty values are omitted from API requests. However, any non-pointer,
7070	// non-interface field appearing in ForceSendFields will be sent to the
7071	// server regardless of whether the field is empty or not. This may be
7072	// used to include empty fields in Patch requests.
7073	ForceSendFields []string `json:"-"`
7074
7075	// NullFields is a list of field names (e.g. "EndDate") to include in
7076	// API requests with the JSON null value. By default, fields with empty
7077	// values are omitted from API requests. However, any field with an
7078	// empty value appearing in NullFields will be sent to the server as
7079	// null. It is an error if a field in this list has a non-empty value.
7080	// This may be used to include null fields in Patch requests.
7081	NullFields []string `json:"-"`
7082}
7083
7084func (s *Flight) MarshalJSON() ([]byte, error) {
7085	type NoMethod Flight
7086	raw := NoMethod(*s)
7087	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7088}
7089
7090// FloodlightActivitiesGenerateTagResponse: Floodlight Activity
7091// GenerateTag Response
7092type FloodlightActivitiesGenerateTagResponse struct {
7093	// FloodlightActivityTag: Generated tag for this Floodlight activity.
7094	// For global site tags, this is the event snippet.
7095	FloodlightActivityTag string `json:"floodlightActivityTag,omitempty"`
7096
7097	// GlobalSiteTagGlobalSnippet: The global snippet section of a global
7098	// site tag. The global site tag sets new cookies on your domain, which
7099	// will store a unique identifier for a user or the ad click that
7100	// brought the user to your site. Learn more.
7101	GlobalSiteTagGlobalSnippet string `json:"globalSiteTagGlobalSnippet,omitempty"`
7102
7103	// Kind: Identifies what kind of resource this is. Value: the fixed
7104	// string "dfareporting#floodlightActivitiesGenerateTagResponse".
7105	Kind string `json:"kind,omitempty"`
7106
7107	// ServerResponse contains the HTTP response code and headers from the
7108	// server.
7109	googleapi.ServerResponse `json:"-"`
7110
7111	// ForceSendFields is a list of field names (e.g.
7112	// "FloodlightActivityTag") to unconditionally include in API requests.
7113	// By default, fields with empty values are omitted from API requests.
7114	// However, any non-pointer, non-interface field appearing in
7115	// ForceSendFields will be sent to the server regardless of whether the
7116	// field is empty or not. This may be used to include empty fields in
7117	// Patch requests.
7118	ForceSendFields []string `json:"-"`
7119
7120	// NullFields is a list of field names (e.g. "FloodlightActivityTag") to
7121	// include in API requests with the JSON null value. By default, fields
7122	// with empty values are omitted from API requests. However, any field
7123	// with an empty value appearing in NullFields will be sent to the
7124	// server as null. It is an error if a field in this list has a
7125	// non-empty value. This may be used to include null fields in Patch
7126	// requests.
7127	NullFields []string `json:"-"`
7128}
7129
7130func (s *FloodlightActivitiesGenerateTagResponse) MarshalJSON() ([]byte, error) {
7131	type NoMethod FloodlightActivitiesGenerateTagResponse
7132	raw := NoMethod(*s)
7133	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7134}
7135
7136// FloodlightActivitiesListResponse: Floodlight Activity List Response
7137type FloodlightActivitiesListResponse struct {
7138	// FloodlightActivities: Floodlight activity collection.
7139	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
7140
7141	// Kind: Identifies what kind of resource this is. Value: the fixed
7142	// string "dfareporting#floodlightActivitiesListResponse".
7143	Kind string `json:"kind,omitempty"`
7144
7145	// NextPageToken: Pagination token to be used for the next list
7146	// operation.
7147	NextPageToken string `json:"nextPageToken,omitempty"`
7148
7149	// ServerResponse contains the HTTP response code and headers from the
7150	// server.
7151	googleapi.ServerResponse `json:"-"`
7152
7153	// ForceSendFields is a list of field names (e.g.
7154	// "FloodlightActivities") to unconditionally include in API requests.
7155	// By default, fields with empty values are omitted from API requests.
7156	// However, any non-pointer, non-interface field appearing in
7157	// ForceSendFields will be sent to the server regardless of whether the
7158	// field is empty or not. This may be used to include empty fields in
7159	// Patch requests.
7160	ForceSendFields []string `json:"-"`
7161
7162	// NullFields is a list of field names (e.g. "FloodlightActivities") to
7163	// include in API requests with the JSON null value. By default, fields
7164	// with empty values are omitted from API requests. However, any field
7165	// with an empty value appearing in NullFields will be sent to the
7166	// server as null. It is an error if a field in this list has a
7167	// non-empty value. This may be used to include null fields in Patch
7168	// requests.
7169	NullFields []string `json:"-"`
7170}
7171
7172func (s *FloodlightActivitiesListResponse) MarshalJSON() ([]byte, error) {
7173	type NoMethod FloodlightActivitiesListResponse
7174	raw := NoMethod(*s)
7175	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7176}
7177
7178// FloodlightActivity: Contains properties of a Floodlight activity.
7179type FloodlightActivity struct {
7180	// AccountId: Account ID of this floodlight activity. This is a
7181	// read-only field that can be left blank.
7182	AccountId int64 `json:"accountId,omitempty,string"`
7183
7184	// AdvertiserId: Advertiser ID of this floodlight activity. If this
7185	// field is left blank, the value will be copied over either from the
7186	// activity group's advertiser or the existing activity's advertiser.
7187	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7188
7189	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7190	// advertiser. This is a read-only, auto-generated field.
7191	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7192
7193	// CacheBustingType: Code type used for cache busting in the generated
7194	// tag. Applicable only when floodlightActivityGroupType is COUNTER and
7195	// countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.
7196	//
7197	// Possible values:
7198	//   "JAVASCRIPT"
7199	//   "ACTIVE_SERVER_PAGE"
7200	//   "JSP"
7201	//   "PHP"
7202	//   "COLD_FUSION"
7203	CacheBustingType string `json:"cacheBustingType,omitempty"`
7204
7205	// CountingMethod: Counting method for conversions for this floodlight
7206	// activity. This is a required field.
7207	//
7208	// Possible values:
7209	//   "STANDARD_COUNTING"
7210	//   "UNIQUE_COUNTING"
7211	//   "SESSION_COUNTING"
7212	//   "TRANSACTIONS_COUNTING"
7213	//   "ITEMS_SOLD_COUNTING"
7214	CountingMethod string `json:"countingMethod,omitempty"`
7215
7216	// DefaultTags: Dynamic floodlight tags.
7217	DefaultTags []*FloodlightActivityDynamicTag `json:"defaultTags,omitempty"`
7218
7219	// ExpectedUrl: URL where this tag will be deployed. If specified, must
7220	// be less than 256 characters long.
7221	ExpectedUrl string `json:"expectedUrl,omitempty"`
7222
7223	// FloodlightActivityGroupId: Floodlight activity group ID of this
7224	// floodlight activity. This is a required field.
7225	FloodlightActivityGroupId int64 `json:"floodlightActivityGroupId,omitempty,string"`
7226
7227	// FloodlightActivityGroupName: Name of the associated floodlight
7228	// activity group. This is a read-only field.
7229	FloodlightActivityGroupName string `json:"floodlightActivityGroupName,omitempty"`
7230
7231	// FloodlightActivityGroupTagString: Tag string of the associated
7232	// floodlight activity group. This is a read-only field.
7233	FloodlightActivityGroupTagString string `json:"floodlightActivityGroupTagString,omitempty"`
7234
7235	// FloodlightActivityGroupType: Type of the associated floodlight
7236	// activity group. This is a read-only field.
7237	//
7238	// Possible values:
7239	//   "COUNTER"
7240	//   "SALE"
7241	FloodlightActivityGroupType string `json:"floodlightActivityGroupType,omitempty"`
7242
7243	// FloodlightConfigurationId: Floodlight configuration ID of this
7244	// floodlight activity. If this field is left blank, the value will be
7245	// copied over either from the activity group's floodlight configuration
7246	// or from the existing activity's floodlight configuration.
7247	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
7248
7249	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
7250	// of the floodlight configuration. This is a read-only, auto-generated
7251	// field.
7252	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
7253
7254	// FloodlightTagType: The type of Floodlight tag this activity will
7255	// generate. This is a required field.
7256	//
7257	// Possible values:
7258	//   "IFRAME"
7259	//   "IMAGE"
7260	//   "GLOBAL_SITE_TAG"
7261	FloodlightTagType string `json:"floodlightTagType,omitempty"`
7262
7263	// Hidden: Whether this activity is archived.
7264	Hidden bool `json:"hidden,omitempty"`
7265
7266	// Id: ID of this floodlight activity. This is a read-only,
7267	// auto-generated field.
7268	Id int64 `json:"id,omitempty,string"`
7269
7270	// IdDimensionValue: Dimension value for the ID of this floodlight
7271	// activity. This is a read-only, auto-generated field.
7272	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7273
7274	// Kind: Identifies what kind of resource this is. Value: the fixed
7275	// string "dfareporting#floodlightActivity".
7276	Kind string `json:"kind,omitempty"`
7277
7278	// Name: Name of this floodlight activity. This is a required field.
7279	// Must be less than 129 characters long and cannot contain quotes.
7280	Name string `json:"name,omitempty"`
7281
7282	// Notes: General notes or implementation instructions for the tag.
7283	Notes string `json:"notes,omitempty"`
7284
7285	// PublisherTags: Publisher dynamic floodlight tags.
7286	PublisherTags []*FloodlightActivityPublisherDynamicTag `json:"publisherTags,omitempty"`
7287
7288	// Secure: Whether this tag should use SSL.
7289	Secure bool `json:"secure,omitempty"`
7290
7291	// SslCompliant: Whether the floodlight activity is SSL-compliant. This
7292	// is a read-only field, its value detected by the system from the
7293	// floodlight tags.
7294	SslCompliant bool `json:"sslCompliant,omitempty"`
7295
7296	// SslRequired: Whether this floodlight activity must be SSL-compliant.
7297	SslRequired bool `json:"sslRequired,omitempty"`
7298
7299	// SubaccountId: Subaccount ID of this floodlight activity. This is a
7300	// read-only field that can be left blank.
7301	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7302
7303	// TagFormat: Tag format type for the floodlight activity. If left
7304	// blank, the tag format will default to HTML.
7305	//
7306	// Possible values:
7307	//   "HTML"
7308	//   "XHTML"
7309	TagFormat string `json:"tagFormat,omitempty"`
7310
7311	// TagString: Value of the cat= parameter in the floodlight tag, which
7312	// the ad servers use to identify the activity. This is optional: if
7313	// empty, a new tag string will be generated for you. This string must
7314	// be 1 to 8 characters long, with valid characters being a-z0-9[ _ ].
7315	// This tag string must also be unique among activities of the same
7316	// activity group. This field is read-only after insertion.
7317	TagString string `json:"tagString,omitempty"`
7318
7319	// UserDefinedVariableTypes: List of the user-defined variables used by
7320	// this conversion tag. These map to the "u[1-100]=" in the tags. Each
7321	// of these can have a user defined type. Acceptable values are U1 to
7322	// U100, inclusive.
7323	//
7324	// Possible values:
7325	//   "U1"
7326	//   "U2"
7327	//   "U3"
7328	//   "U4"
7329	//   "U5"
7330	//   "U6"
7331	//   "U7"
7332	//   "U8"
7333	//   "U9"
7334	//   "U10"
7335	//   "U11"
7336	//   "U12"
7337	//   "U13"
7338	//   "U14"
7339	//   "U15"
7340	//   "U16"
7341	//   "U17"
7342	//   "U18"
7343	//   "U19"
7344	//   "U20"
7345	//   "U21"
7346	//   "U22"
7347	//   "U23"
7348	//   "U24"
7349	//   "U25"
7350	//   "U26"
7351	//   "U27"
7352	//   "U28"
7353	//   "U29"
7354	//   "U30"
7355	//   "U31"
7356	//   "U32"
7357	//   "U33"
7358	//   "U34"
7359	//   "U35"
7360	//   "U36"
7361	//   "U37"
7362	//   "U38"
7363	//   "U39"
7364	//   "U40"
7365	//   "U41"
7366	//   "U42"
7367	//   "U43"
7368	//   "U44"
7369	//   "U45"
7370	//   "U46"
7371	//   "U47"
7372	//   "U48"
7373	//   "U49"
7374	//   "U50"
7375	//   "U51"
7376	//   "U52"
7377	//   "U53"
7378	//   "U54"
7379	//   "U55"
7380	//   "U56"
7381	//   "U57"
7382	//   "U58"
7383	//   "U59"
7384	//   "U60"
7385	//   "U61"
7386	//   "U62"
7387	//   "U63"
7388	//   "U64"
7389	//   "U65"
7390	//   "U66"
7391	//   "U67"
7392	//   "U68"
7393	//   "U69"
7394	//   "U70"
7395	//   "U71"
7396	//   "U72"
7397	//   "U73"
7398	//   "U74"
7399	//   "U75"
7400	//   "U76"
7401	//   "U77"
7402	//   "U78"
7403	//   "U79"
7404	//   "U80"
7405	//   "U81"
7406	//   "U82"
7407	//   "U83"
7408	//   "U84"
7409	//   "U85"
7410	//   "U86"
7411	//   "U87"
7412	//   "U88"
7413	//   "U89"
7414	//   "U90"
7415	//   "U91"
7416	//   "U92"
7417	//   "U93"
7418	//   "U94"
7419	//   "U95"
7420	//   "U96"
7421	//   "U97"
7422	//   "U98"
7423	//   "U99"
7424	//   "U100"
7425	UserDefinedVariableTypes []string `json:"userDefinedVariableTypes,omitempty"`
7426
7427	// ServerResponse contains the HTTP response code and headers from the
7428	// server.
7429	googleapi.ServerResponse `json:"-"`
7430
7431	// ForceSendFields is a list of field names (e.g. "AccountId") to
7432	// unconditionally include in API requests. By default, fields with
7433	// empty values are omitted from API requests. However, any non-pointer,
7434	// non-interface field appearing in ForceSendFields will be sent to the
7435	// server regardless of whether the field is empty or not. This may be
7436	// used to include empty fields in Patch requests.
7437	ForceSendFields []string `json:"-"`
7438
7439	// NullFields is a list of field names (e.g. "AccountId") to include in
7440	// API requests with the JSON null value. By default, fields with empty
7441	// values are omitted from API requests. However, any field with an
7442	// empty value appearing in NullFields will be sent to the server as
7443	// null. It is an error if a field in this list has a non-empty value.
7444	// This may be used to include null fields in Patch requests.
7445	NullFields []string `json:"-"`
7446}
7447
7448func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
7449	type NoMethod FloodlightActivity
7450	raw := NoMethod(*s)
7451	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7452}
7453
7454// FloodlightActivityDynamicTag: Dynamic Tag
7455type FloodlightActivityDynamicTag struct {
7456	// Id: ID of this dynamic tag. This is a read-only, auto-generated
7457	// field.
7458	Id int64 `json:"id,omitempty,string"`
7459
7460	// Name: Name of this tag.
7461	Name string `json:"name,omitempty"`
7462
7463	// Tag: Tag code.
7464	Tag string `json:"tag,omitempty"`
7465
7466	// ForceSendFields is a list of field names (e.g. "Id") to
7467	// unconditionally include in API requests. By default, fields with
7468	// empty values are omitted from API requests. However, any non-pointer,
7469	// non-interface field appearing in ForceSendFields will be sent to the
7470	// server regardless of whether the field is empty or not. This may be
7471	// used to include empty fields in Patch requests.
7472	ForceSendFields []string `json:"-"`
7473
7474	// NullFields is a list of field names (e.g. "Id") to include in API
7475	// requests with the JSON null value. By default, fields with empty
7476	// values are omitted from API requests. However, any field with an
7477	// empty value appearing in NullFields will be sent to the server as
7478	// null. It is an error if a field in this list has a non-empty value.
7479	// This may be used to include null fields in Patch requests.
7480	NullFields []string `json:"-"`
7481}
7482
7483func (s *FloodlightActivityDynamicTag) MarshalJSON() ([]byte, error) {
7484	type NoMethod FloodlightActivityDynamicTag
7485	raw := NoMethod(*s)
7486	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7487}
7488
7489// FloodlightActivityGroup: Contains properties of a Floodlight activity
7490// group.
7491type FloodlightActivityGroup struct {
7492	// AccountId: Account ID of this floodlight activity group. This is a
7493	// read-only field that can be left blank.
7494	AccountId int64 `json:"accountId,omitempty,string"`
7495
7496	// AdvertiserId: Advertiser ID of this floodlight activity group. If
7497	// this field is left blank, the value will be copied over either from
7498	// the floodlight configuration's advertiser or from the existing
7499	// activity group's advertiser.
7500	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7501
7502	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7503	// advertiser. This is a read-only, auto-generated field.
7504	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7505
7506	// FloodlightConfigurationId: Floodlight configuration ID of this
7507	// floodlight activity group. This is a required field.
7508	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
7509
7510	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
7511	// of the floodlight configuration. This is a read-only, auto-generated
7512	// field.
7513	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
7514
7515	// Id: ID of this floodlight activity group. This is a read-only,
7516	// auto-generated field.
7517	Id int64 `json:"id,omitempty,string"`
7518
7519	// IdDimensionValue: Dimension value for the ID of this floodlight
7520	// activity group. This is a read-only, auto-generated field.
7521	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7522
7523	// Kind: Identifies what kind of resource this is. Value: the fixed
7524	// string "dfareporting#floodlightActivityGroup".
7525	Kind string `json:"kind,omitempty"`
7526
7527	// Name: Name of this floodlight activity group. This is a required
7528	// field. Must be less than 65 characters long and cannot contain
7529	// quotes.
7530	Name string `json:"name,omitempty"`
7531
7532	// SubaccountId: Subaccount ID of this floodlight activity group. This
7533	// is a read-only field that can be left blank.
7534	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7535
7536	// TagString: Value of the type= parameter in the floodlight tag, which
7537	// the ad servers use to identify the activity group that the activity
7538	// belongs to. This is optional: if empty, a new tag string will be
7539	// generated for you. This string must be 1 to 8 characters long, with
7540	// valid characters being a-z0-9[ _ ]. This tag string must also be
7541	// unique among activity groups of the same floodlight configuration.
7542	// This field is read-only after insertion.
7543	TagString string `json:"tagString,omitempty"`
7544
7545	// Type: Type of the floodlight activity group. This is a required field
7546	// that is read-only after insertion.
7547	//
7548	// Possible values:
7549	//   "COUNTER"
7550	//   "SALE"
7551	Type string `json:"type,omitempty"`
7552
7553	// ServerResponse contains the HTTP response code and headers from the
7554	// server.
7555	googleapi.ServerResponse `json:"-"`
7556
7557	// ForceSendFields is a list of field names (e.g. "AccountId") to
7558	// unconditionally include in API requests. By default, fields with
7559	// empty values are omitted from API requests. However, any non-pointer,
7560	// non-interface field appearing in ForceSendFields will be sent to the
7561	// server regardless of whether the field is empty or not. This may be
7562	// used to include empty fields in Patch requests.
7563	ForceSendFields []string `json:"-"`
7564
7565	// NullFields is a list of field names (e.g. "AccountId") to include in
7566	// API requests with the JSON null value. By default, fields with empty
7567	// values are omitted from API requests. However, any field with an
7568	// empty value appearing in NullFields will be sent to the server as
7569	// null. It is an error if a field in this list has a non-empty value.
7570	// This may be used to include null fields in Patch requests.
7571	NullFields []string `json:"-"`
7572}
7573
7574func (s *FloodlightActivityGroup) MarshalJSON() ([]byte, error) {
7575	type NoMethod FloodlightActivityGroup
7576	raw := NoMethod(*s)
7577	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7578}
7579
7580// FloodlightActivityGroupsListResponse: Floodlight Activity Group List
7581// Response
7582type FloodlightActivityGroupsListResponse struct {
7583	// FloodlightActivityGroups: Floodlight activity group collection.
7584	FloodlightActivityGroups []*FloodlightActivityGroup `json:"floodlightActivityGroups,omitempty"`
7585
7586	// Kind: Identifies what kind of resource this is. Value: the fixed
7587	// string "dfareporting#floodlightActivityGroupsListResponse".
7588	Kind string `json:"kind,omitempty"`
7589
7590	// NextPageToken: Pagination token to be used for the next list
7591	// operation.
7592	NextPageToken string `json:"nextPageToken,omitempty"`
7593
7594	// ServerResponse contains the HTTP response code and headers from the
7595	// server.
7596	googleapi.ServerResponse `json:"-"`
7597
7598	// ForceSendFields is a list of field names (e.g.
7599	// "FloodlightActivityGroups") to unconditionally include in API
7600	// requests. By default, fields with empty values are omitted from API
7601	// requests. However, any non-pointer, non-interface field appearing in
7602	// ForceSendFields will be sent to the server regardless of whether the
7603	// field is empty or not. This may be used to include empty fields in
7604	// Patch requests.
7605	ForceSendFields []string `json:"-"`
7606
7607	// NullFields is a list of field names (e.g. "FloodlightActivityGroups")
7608	// to include in API requests with the JSON null value. By default,
7609	// fields with empty values are omitted from API requests. However, any
7610	// field with an empty value appearing in NullFields will be sent to the
7611	// server as null. It is an error if a field in this list has a
7612	// non-empty value. This may be used to include null fields in Patch
7613	// requests.
7614	NullFields []string `json:"-"`
7615}
7616
7617func (s *FloodlightActivityGroupsListResponse) MarshalJSON() ([]byte, error) {
7618	type NoMethod FloodlightActivityGroupsListResponse
7619	raw := NoMethod(*s)
7620	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7621}
7622
7623// FloodlightActivityPublisherDynamicTag: Publisher Dynamic Tag
7624type FloodlightActivityPublisherDynamicTag struct {
7625	// ClickThrough: Whether this tag is applicable only for click-throughs.
7626	ClickThrough bool `json:"clickThrough,omitempty"`
7627
7628	// DirectorySiteId: Directory site ID of this dynamic tag. This is a
7629	// write-only field that can be used as an alternative to the siteId
7630	// field. When this resource is retrieved, only the siteId field will be
7631	// populated.
7632	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
7633
7634	// DynamicTag: Dynamic floodlight tag.
7635	DynamicTag *FloodlightActivityDynamicTag `json:"dynamicTag,omitempty"`
7636
7637	// SiteId: Site ID of this dynamic tag.
7638	SiteId int64 `json:"siteId,omitempty,string"`
7639
7640	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
7641	// a read-only, auto-generated field.
7642	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
7643
7644	// ViewThrough: Whether this tag is applicable only for view-throughs.
7645	ViewThrough bool `json:"viewThrough,omitempty"`
7646
7647	// ForceSendFields is a list of field names (e.g. "ClickThrough") to
7648	// unconditionally include in API requests. By default, fields with
7649	// empty values are omitted from API requests. However, any non-pointer,
7650	// non-interface field appearing in ForceSendFields will be sent to the
7651	// server regardless of whether the field is empty or not. This may be
7652	// used to include empty fields in Patch requests.
7653	ForceSendFields []string `json:"-"`
7654
7655	// NullFields is a list of field names (e.g. "ClickThrough") to include
7656	// in API requests with the JSON null value. By default, fields with
7657	// empty values are omitted from API requests. However, any field with
7658	// an empty value appearing in NullFields will be sent to the server as
7659	// null. It is an error if a field in this list has a non-empty value.
7660	// This may be used to include null fields in Patch requests.
7661	NullFields []string `json:"-"`
7662}
7663
7664func (s *FloodlightActivityPublisherDynamicTag) MarshalJSON() ([]byte, error) {
7665	type NoMethod FloodlightActivityPublisherDynamicTag
7666	raw := NoMethod(*s)
7667	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7668}
7669
7670// FloodlightConfiguration: Contains properties of a Floodlight
7671// configuration.
7672type FloodlightConfiguration struct {
7673	// AccountId: Account ID of this floodlight configuration. This is a
7674	// read-only field that can be left blank.
7675	AccountId int64 `json:"accountId,omitempty,string"`
7676
7677	// AdvertiserId: Advertiser ID of the parent advertiser of this
7678	// floodlight configuration.
7679	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7680
7681	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7682	// advertiser. This is a read-only, auto-generated field.
7683	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7684
7685	// AnalyticsDataSharingEnabled: Whether advertiser data is shared with
7686	// Google Analytics.
7687	AnalyticsDataSharingEnabled bool `json:"analyticsDataSharingEnabled,omitempty"`
7688
7689	// CustomViewabilityMetric: Custom Viewability metric for the floodlight
7690	// configuration.
7691	CustomViewabilityMetric *CustomViewabilityMetric `json:"customViewabilityMetric,omitempty"`
7692
7693	// ExposureToConversionEnabled: Whether the exposure-to-conversion
7694	// report is enabled. This report shows detailed pathway information on
7695	// up to 10 of the most recent ad exposures seen by a user before
7696	// converting.
7697	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
7698
7699	// FirstDayOfWeek: Day that will be counted as the first day of the week
7700	// in reports. This is a required field.
7701	//
7702	// Possible values:
7703	//   "MONDAY"
7704	//   "SUNDAY"
7705	FirstDayOfWeek string `json:"firstDayOfWeek,omitempty"`
7706
7707	// Id: ID of this floodlight configuration. This is a read-only,
7708	// auto-generated field.
7709	Id int64 `json:"id,omitempty,string"`
7710
7711	// IdDimensionValue: Dimension value for the ID of this floodlight
7712	// configuration. This is a read-only, auto-generated field.
7713	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7714
7715	// InAppAttributionTrackingEnabled: Whether in-app attribution tracking
7716	// is enabled.
7717	InAppAttributionTrackingEnabled bool `json:"inAppAttributionTrackingEnabled,omitempty"`
7718
7719	// Kind: Identifies what kind of resource this is. Value: the fixed
7720	// string "dfareporting#floodlightConfiguration".
7721	Kind string `json:"kind,omitempty"`
7722
7723	// LookbackConfiguration: Lookback window settings for this floodlight
7724	// configuration.
7725	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
7726
7727	// NaturalSearchConversionAttributionOption: Types of attribution
7728	// options for natural search conversions.
7729	//
7730	// Possible values:
7731	//   "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
7732	//   "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
7733	//   "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"
7734	NaturalSearchConversionAttributionOption string `json:"naturalSearchConversionAttributionOption,omitempty"`
7735
7736	// OmnitureSettings: Settings for Campaign Manager Omniture integration.
7737	OmnitureSettings *OmnitureSettings `json:"omnitureSettings,omitempty"`
7738
7739	// SubaccountId: Subaccount ID of this floodlight configuration. This is
7740	// a read-only field that can be left blank.
7741	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7742
7743	// TagSettings: Configuration settings for dynamic and image floodlight
7744	// tags.
7745	TagSettings *TagSettings `json:"tagSettings,omitempty"`
7746
7747	// ThirdPartyAuthenticationTokens: List of third-party authentication
7748	// tokens enabled for this configuration.
7749	ThirdPartyAuthenticationTokens []*ThirdPartyAuthenticationToken `json:"thirdPartyAuthenticationTokens,omitempty"`
7750
7751	// UserDefinedVariableConfigurations: List of user defined variables
7752	// enabled for this configuration.
7753	UserDefinedVariableConfigurations []*UserDefinedVariableConfiguration `json:"userDefinedVariableConfigurations,omitempty"`
7754
7755	// ServerResponse contains the HTTP response code and headers from the
7756	// server.
7757	googleapi.ServerResponse `json:"-"`
7758
7759	// ForceSendFields is a list of field names (e.g. "AccountId") to
7760	// unconditionally include in API requests. By default, fields with
7761	// empty values are omitted from API requests. However, any non-pointer,
7762	// non-interface field appearing in ForceSendFields will be sent to the
7763	// server regardless of whether the field is empty or not. This may be
7764	// used to include empty fields in Patch requests.
7765	ForceSendFields []string `json:"-"`
7766
7767	// NullFields is a list of field names (e.g. "AccountId") to include in
7768	// API requests with the JSON null value. By default, fields with empty
7769	// values are omitted from API requests. However, any field with an
7770	// empty value appearing in NullFields will be sent to the server as
7771	// null. It is an error if a field in this list has a non-empty value.
7772	// This may be used to include null fields in Patch requests.
7773	NullFields []string `json:"-"`
7774}
7775
7776func (s *FloodlightConfiguration) MarshalJSON() ([]byte, error) {
7777	type NoMethod FloodlightConfiguration
7778	raw := NoMethod(*s)
7779	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7780}
7781
7782// FloodlightConfigurationsListResponse: Floodlight Configuration List
7783// Response
7784type FloodlightConfigurationsListResponse struct {
7785	// FloodlightConfigurations: Floodlight configuration collection.
7786	FloodlightConfigurations []*FloodlightConfiguration `json:"floodlightConfigurations,omitempty"`
7787
7788	// Kind: Identifies what kind of resource this is. Value: the fixed
7789	// string "dfareporting#floodlightConfigurationsListResponse".
7790	Kind string `json:"kind,omitempty"`
7791
7792	// ServerResponse contains the HTTP response code and headers from the
7793	// server.
7794	googleapi.ServerResponse `json:"-"`
7795
7796	// ForceSendFields is a list of field names (e.g.
7797	// "FloodlightConfigurations") to unconditionally include in API
7798	// requests. By default, fields with empty values are omitted from API
7799	// requests. However, any non-pointer, non-interface field appearing in
7800	// ForceSendFields will be sent to the server regardless of whether the
7801	// field is empty or not. This may be used to include empty fields in
7802	// Patch requests.
7803	ForceSendFields []string `json:"-"`
7804
7805	// NullFields is a list of field names (e.g. "FloodlightConfigurations")
7806	// to include in API requests with the JSON null value. By default,
7807	// fields with empty values are omitted from API requests. However, any
7808	// field with an empty value appearing in NullFields will be sent to the
7809	// server as null. It is an error if a field in this list has a
7810	// non-empty value. This may be used to include null fields in Patch
7811	// requests.
7812	NullFields []string `json:"-"`
7813}
7814
7815func (s *FloodlightConfigurationsListResponse) MarshalJSON() ([]byte, error) {
7816	type NoMethod FloodlightConfigurationsListResponse
7817	raw := NoMethod(*s)
7818	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7819}
7820
7821// FloodlightReportCompatibleFields: Represents fields that are
7822// compatible to be selected for a report of type "FlOODLIGHT".
7823type FloodlightReportCompatibleFields struct {
7824	// DimensionFilters: Dimensions which are compatible to be selected in
7825	// the "dimensionFilters" section of the report.
7826	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
7827
7828	// Dimensions: Dimensions which are compatible to be selected in the
7829	// "dimensions" section of the report.
7830	Dimensions []*Dimension `json:"dimensions,omitempty"`
7831
7832	// Kind: The kind of resource this is, in this case
7833	// dfareporting#floodlightReportCompatibleFields.
7834	Kind string `json:"kind,omitempty"`
7835
7836	// Metrics: Metrics which are compatible to be selected in the
7837	// "metricNames" section of the report.
7838	Metrics []*Metric `json:"metrics,omitempty"`
7839
7840	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
7841	// unconditionally include in API requests. By default, fields with
7842	// empty values are omitted from API requests. However, any non-pointer,
7843	// non-interface field appearing in ForceSendFields will be sent to the
7844	// server regardless of whether the field is empty or not. This may be
7845	// used to include empty fields in Patch requests.
7846	ForceSendFields []string `json:"-"`
7847
7848	// NullFields is a list of field names (e.g. "DimensionFilters") to
7849	// include in API requests with the JSON null value. By default, fields
7850	// with empty values are omitted from API requests. However, any field
7851	// with an empty value appearing in NullFields will be sent to the
7852	// server as null. It is an error if a field in this list has a
7853	// non-empty value. This may be used to include null fields in Patch
7854	// requests.
7855	NullFields []string `json:"-"`
7856}
7857
7858func (s *FloodlightReportCompatibleFields) MarshalJSON() ([]byte, error) {
7859	type NoMethod FloodlightReportCompatibleFields
7860	raw := NoMethod(*s)
7861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7862}
7863
7864// FrequencyCap: Frequency Cap.
7865type FrequencyCap struct {
7866	// Duration: Duration of time, in seconds, for this frequency cap. The
7867	// maximum duration is 90 days. Acceptable values are 1 to 7776000,
7868	// inclusive.
7869	Duration int64 `json:"duration,omitempty,string"`
7870
7871	// Impressions: Number of times an individual user can be served the ad
7872	// within the specified duration. Acceptable values are 1 to 15,
7873	// inclusive.
7874	Impressions int64 `json:"impressions,omitempty,string"`
7875
7876	// ForceSendFields is a list of field names (e.g. "Duration") to
7877	// unconditionally include in API requests. By default, fields with
7878	// empty values are omitted from API requests. However, any non-pointer,
7879	// non-interface field appearing in ForceSendFields will be sent to the
7880	// server regardless of whether the field is empty or not. This may be
7881	// used to include empty fields in Patch requests.
7882	ForceSendFields []string `json:"-"`
7883
7884	// NullFields is a list of field names (e.g. "Duration") to include in
7885	// API requests with the JSON null value. By default, fields with empty
7886	// values are omitted from API requests. However, any field with an
7887	// empty value appearing in NullFields will be sent to the server as
7888	// null. It is an error if a field in this list has a non-empty value.
7889	// This may be used to include null fields in Patch requests.
7890	NullFields []string `json:"-"`
7891}
7892
7893func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
7894	type NoMethod FrequencyCap
7895	raw := NoMethod(*s)
7896	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7897}
7898
7899// FsCommand: FsCommand.
7900type FsCommand struct {
7901	// Left: Distance from the left of the browser.Applicable when
7902	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
7903	Left int64 `json:"left,omitempty"`
7904
7905	// PositionOption: Position in the browser where the window will open.
7906	//
7907	// Possible values:
7908	//   "CENTERED"
7909	//   "DISTANCE_FROM_TOP_LEFT_CORNER"
7910	PositionOption string `json:"positionOption,omitempty"`
7911
7912	// Top: Distance from the top of the browser. Applicable when
7913	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
7914	Top int64 `json:"top,omitempty"`
7915
7916	// WindowHeight: Height of the window.
7917	WindowHeight int64 `json:"windowHeight,omitempty"`
7918
7919	// WindowWidth: Width of the window.
7920	WindowWidth int64 `json:"windowWidth,omitempty"`
7921
7922	// ForceSendFields is a list of field names (e.g. "Left") to
7923	// unconditionally include in API requests. By default, fields with
7924	// empty values are omitted from API requests. However, any non-pointer,
7925	// non-interface field appearing in ForceSendFields will be sent to the
7926	// server regardless of whether the field is empty or not. This may be
7927	// used to include empty fields in Patch requests.
7928	ForceSendFields []string `json:"-"`
7929
7930	// NullFields is a list of field names (e.g. "Left") to include in API
7931	// requests with the JSON null value. By default, fields with empty
7932	// values are omitted from API requests. However, any field with an
7933	// empty value appearing in NullFields will be sent to the server as
7934	// null. It is an error if a field in this list has a non-empty value.
7935	// This may be used to include null fields in Patch requests.
7936	NullFields []string `json:"-"`
7937}
7938
7939func (s *FsCommand) MarshalJSON() ([]byte, error) {
7940	type NoMethod FsCommand
7941	raw := NoMethod(*s)
7942	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7943}
7944
7945// GeoTargeting: Geographical Targeting.
7946type GeoTargeting struct {
7947	// Cities: Cities to be targeted. For each city only dartId is required.
7948	// The other fields are populated automatically when the ad is inserted
7949	// or updated. If targeting a city, do not target or exclude the country
7950	// of the city, and do not target the metro or region of the city.
7951	Cities []*City `json:"cities,omitempty"`
7952
7953	// Countries: Countries to be targeted or excluded from targeting,
7954	// depending on the setting of the excludeCountries field. For each
7955	// country only dartId is required. The other fields are populated
7956	// automatically when the ad is inserted or updated. If targeting or
7957	// excluding a country, do not target regions, cities, metros, or postal
7958	// codes in the same country.
7959	Countries []*Country `json:"countries,omitempty"`
7960
7961	// ExcludeCountries: Whether or not to exclude the countries in the
7962	// countries field from targeting. If false, the countries field refers
7963	// to countries which will be targeted by the ad.
7964	ExcludeCountries bool `json:"excludeCountries,omitempty"`
7965
7966	// Metros: Metros to be targeted. For each metro only dmaId is required.
7967	// The other fields are populated automatically when the ad is inserted
7968	// or updated. If targeting a metro, do not target or exclude the
7969	// country of the metro.
7970	Metros []*Metro `json:"metros,omitempty"`
7971
7972	// PostalCodes: Postal codes to be targeted. For each postal code only
7973	// id is required. The other fields are populated automatically when the
7974	// ad is inserted or updated. If targeting a postal code, do not target
7975	// or exclude the country of the postal code.
7976	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
7977
7978	// Regions: Regions to be targeted. For each region only dartId is
7979	// required. The other fields are populated automatically when the ad is
7980	// inserted or updated. If targeting a region, do not target or exclude
7981	// the country of the region.
7982	Regions []*Region `json:"regions,omitempty"`
7983
7984	// ForceSendFields is a list of field names (e.g. "Cities") to
7985	// unconditionally include in API requests. By default, fields with
7986	// empty values are omitted from API requests. However, any non-pointer,
7987	// non-interface field appearing in ForceSendFields will be sent to the
7988	// server regardless of whether the field is empty or not. This may be
7989	// used to include empty fields in Patch requests.
7990	ForceSendFields []string `json:"-"`
7991
7992	// NullFields is a list of field names (e.g. "Cities") to include in API
7993	// requests with the JSON null value. By default, fields with empty
7994	// values are omitted from API requests. However, any field with an
7995	// empty value appearing in NullFields will be sent to the server as
7996	// null. It is an error if a field in this list has a non-empty value.
7997	// This may be used to include null fields in Patch requests.
7998	NullFields []string `json:"-"`
7999}
8000
8001func (s *GeoTargeting) MarshalJSON() ([]byte, error) {
8002	type NoMethod GeoTargeting
8003	raw := NoMethod(*s)
8004	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8005}
8006
8007// InventoryItem: Represents a buy from the Planning inventory store.
8008type InventoryItem struct {
8009	// AccountId: Account ID of this inventory item.
8010	AccountId int64 `json:"accountId,omitempty,string"`
8011
8012	// AdSlots: Ad slots of this inventory item. If this inventory item
8013	// represents a standalone placement, there will be exactly one ad slot.
8014	// If this inventory item represents a placement group, there will be
8015	// more than one ad slot, each representing one child placement in that
8016	// placement group.
8017	AdSlots []*AdSlot `json:"adSlots,omitempty"`
8018
8019	// AdvertiserId: Advertiser ID of this inventory item.
8020	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8021
8022	// ContentCategoryId: Content category ID of this inventory item.
8023	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
8024
8025	// EstimatedClickThroughRate: Estimated click-through rate of this
8026	// inventory item.
8027	EstimatedClickThroughRate int64 `json:"estimatedClickThroughRate,omitempty,string"`
8028
8029	// EstimatedConversionRate: Estimated conversion rate of this inventory
8030	// item.
8031	EstimatedConversionRate int64 `json:"estimatedConversionRate,omitempty,string"`
8032
8033	// Id: ID of this inventory item.
8034	Id int64 `json:"id,omitempty,string"`
8035
8036	// InPlan: Whether this inventory item is in plan.
8037	InPlan bool `json:"inPlan,omitempty"`
8038
8039	// Kind: Identifies what kind of resource this is. Value: the fixed
8040	// string "dfareporting#inventoryItem".
8041	Kind string `json:"kind,omitempty"`
8042
8043	// LastModifiedInfo: Information about the most recent modification of
8044	// this inventory item.
8045	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
8046
8047	// Name: Name of this inventory item. For standalone inventory items,
8048	// this is the same name as that of its only ad slot. For group
8049	// inventory items, this can differ from the name of any of its ad
8050	// slots.
8051	Name string `json:"name,omitempty"`
8052
8053	// NegotiationChannelId: Negotiation channel ID of this inventory item.
8054	NegotiationChannelId int64 `json:"negotiationChannelId,omitempty,string"`
8055
8056	// OrderId: Order ID of this inventory item.
8057	OrderId int64 `json:"orderId,omitempty,string"`
8058
8059	// PlacementStrategyId: Placement strategy ID of this inventory item.
8060	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
8061
8062	// Pricing: Pricing of this inventory item.
8063	Pricing *Pricing `json:"pricing,omitempty"`
8064
8065	// ProjectId: Project ID of this inventory item.
8066	ProjectId int64 `json:"projectId,omitempty,string"`
8067
8068	// RfpId: RFP ID of this inventory item.
8069	RfpId int64 `json:"rfpId,omitempty,string"`
8070
8071	// SiteId: ID of the site this inventory item is associated with.
8072	SiteId int64 `json:"siteId,omitempty,string"`
8073
8074	// SubaccountId: Subaccount ID of this inventory item.
8075	SubaccountId int64 `json:"subaccountId,omitempty,string"`
8076
8077	// Type: Type of inventory item.
8078	//
8079	// Possible values:
8080	//   "PLANNING_PLACEMENT_TYPE_REGULAR"
8081	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
8082	Type string `json:"type,omitempty"`
8083
8084	// ServerResponse contains the HTTP response code and headers from the
8085	// server.
8086	googleapi.ServerResponse `json:"-"`
8087
8088	// ForceSendFields is a list of field names (e.g. "AccountId") to
8089	// unconditionally include in API requests. By default, fields with
8090	// empty values are omitted from API requests. However, any non-pointer,
8091	// non-interface field appearing in ForceSendFields will be sent to the
8092	// server regardless of whether the field is empty or not. This may be
8093	// used to include empty fields in Patch requests.
8094	ForceSendFields []string `json:"-"`
8095
8096	// NullFields is a list of field names (e.g. "AccountId") to include in
8097	// API requests with the JSON null value. By default, fields with empty
8098	// values are omitted from API requests. However, any field with an
8099	// empty value appearing in NullFields will be sent to the server as
8100	// null. It is an error if a field in this list has a non-empty value.
8101	// This may be used to include null fields in Patch requests.
8102	NullFields []string `json:"-"`
8103}
8104
8105func (s *InventoryItem) MarshalJSON() ([]byte, error) {
8106	type NoMethod InventoryItem
8107	raw := NoMethod(*s)
8108	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8109}
8110
8111// InventoryItemsListResponse: Inventory item List Response
8112type InventoryItemsListResponse struct {
8113	// InventoryItems: Inventory item collection
8114	InventoryItems []*InventoryItem `json:"inventoryItems,omitempty"`
8115
8116	// Kind: Identifies what kind of resource this is. Value: the fixed
8117	// string "dfareporting#inventoryItemsListResponse".
8118	Kind string `json:"kind,omitempty"`
8119
8120	// NextPageToken: Pagination token to be used for the next list
8121	// operation.
8122	NextPageToken string `json:"nextPageToken,omitempty"`
8123
8124	// ServerResponse contains the HTTP response code and headers from the
8125	// server.
8126	googleapi.ServerResponse `json:"-"`
8127
8128	// ForceSendFields is a list of field names (e.g. "InventoryItems") to
8129	// unconditionally include in API requests. By default, fields with
8130	// empty values are omitted from API requests. However, any non-pointer,
8131	// non-interface field appearing in ForceSendFields will be sent to the
8132	// server regardless of whether the field is empty or not. This may be
8133	// used to include empty fields in Patch requests.
8134	ForceSendFields []string `json:"-"`
8135
8136	// NullFields is a list of field names (e.g. "InventoryItems") to
8137	// include in API requests with the JSON null value. By default, fields
8138	// with empty values are omitted from API requests. However, any field
8139	// with an empty value appearing in NullFields will be sent to the
8140	// server as null. It is an error if a field in this list has a
8141	// non-empty value. This may be used to include null fields in Patch
8142	// requests.
8143	NullFields []string `json:"-"`
8144}
8145
8146func (s *InventoryItemsListResponse) MarshalJSON() ([]byte, error) {
8147	type NoMethod InventoryItemsListResponse
8148	raw := NoMethod(*s)
8149	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8150}
8151
8152// KeyValueTargetingExpression: Key Value Targeting Expression.
8153type KeyValueTargetingExpression struct {
8154	// Expression: Keyword expression being targeted by the ad.
8155	Expression string `json:"expression,omitempty"`
8156
8157	// ForceSendFields is a list of field names (e.g. "Expression") to
8158	// unconditionally include in API requests. By default, fields with
8159	// empty values are omitted from API requests. However, any non-pointer,
8160	// non-interface field appearing in ForceSendFields will be sent to the
8161	// server regardless of whether the field is empty or not. This may be
8162	// used to include empty fields in Patch requests.
8163	ForceSendFields []string `json:"-"`
8164
8165	// NullFields is a list of field names (e.g. "Expression") to include in
8166	// API requests with the JSON null value. By default, fields with empty
8167	// values are omitted from API requests. However, any field with an
8168	// empty value appearing in NullFields will be sent to the server as
8169	// null. It is an error if a field in this list has a non-empty value.
8170	// This may be used to include null fields in Patch requests.
8171	NullFields []string `json:"-"`
8172}
8173
8174func (s *KeyValueTargetingExpression) MarshalJSON() ([]byte, error) {
8175	type NoMethod KeyValueTargetingExpression
8176	raw := NoMethod(*s)
8177	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8178}
8179
8180// LandingPage: Contains information about where a user's browser is
8181// taken after the user clicks an ad.
8182type LandingPage struct {
8183	// AdvertiserId: Advertiser ID of this landing page. This is a required
8184	// field.
8185	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8186
8187	// Archived: Whether this landing page has been archived.
8188	Archived bool `json:"archived,omitempty"`
8189
8190	// DeepLinks: Links that will direct the user to a mobile app, if
8191	// installed.
8192	DeepLinks []*DeepLink `json:"deepLinks,omitempty"`
8193
8194	// Id: ID of this landing page. This is a read-only, auto-generated
8195	// field.
8196	Id int64 `json:"id,omitempty,string"`
8197
8198	// Kind: Identifies what kind of resource this is. Value: the fixed
8199	// string "dfareporting#landingPage".
8200	Kind string `json:"kind,omitempty"`
8201
8202	// Name: Name of this landing page. This is a required field. It must be
8203	// less than 256 characters long.
8204	Name string `json:"name,omitempty"`
8205
8206	// Url: URL of this landing page. This is a required field.
8207	Url string `json:"url,omitempty"`
8208
8209	// ServerResponse contains the HTTP response code and headers from the
8210	// server.
8211	googleapi.ServerResponse `json:"-"`
8212
8213	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
8214	// unconditionally include in API requests. By default, fields with
8215	// empty values are omitted from API requests. However, any non-pointer,
8216	// non-interface field appearing in ForceSendFields will be sent to the
8217	// server regardless of whether the field is empty or not. This may be
8218	// used to include empty fields in Patch requests.
8219	ForceSendFields []string `json:"-"`
8220
8221	// NullFields is a list of field names (e.g. "AdvertiserId") to include
8222	// in API requests with the JSON null value. By default, fields with
8223	// empty values are omitted from API requests. However, any field with
8224	// an empty value appearing in NullFields will be sent to the server as
8225	// null. It is an error if a field in this list has a non-empty value.
8226	// This may be used to include null fields in Patch requests.
8227	NullFields []string `json:"-"`
8228}
8229
8230func (s *LandingPage) MarshalJSON() ([]byte, error) {
8231	type NoMethod LandingPage
8232	raw := NoMethod(*s)
8233	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8234}
8235
8236// Language: Contains information about a language that can be targeted
8237// by ads.
8238type Language struct {
8239	// Id: Language ID of this language. This is the ID used for targeting
8240	// and generating reports.
8241	Id int64 `json:"id,omitempty,string"`
8242
8243	// Kind: Identifies what kind of resource this is. Value: the fixed
8244	// string "dfareporting#language".
8245	Kind string `json:"kind,omitempty"`
8246
8247	// LanguageCode: Format of language code is an ISO 639 two-letter
8248	// language code optionally followed by an underscore followed by an ISO
8249	// 3166 code. Examples are "en" for English or "zh_CN" for Simplified
8250	// Chinese.
8251	LanguageCode string `json:"languageCode,omitempty"`
8252
8253	// Name: Name of this language.
8254	Name string `json:"name,omitempty"`
8255
8256	// ForceSendFields is a list of field names (e.g. "Id") to
8257	// unconditionally include in API requests. By default, fields with
8258	// empty values are omitted from API requests. However, any non-pointer,
8259	// non-interface field appearing in ForceSendFields will be sent to the
8260	// server regardless of whether the field is empty or not. This may be
8261	// used to include empty fields in Patch requests.
8262	ForceSendFields []string `json:"-"`
8263
8264	// NullFields is a list of field names (e.g. "Id") to include in API
8265	// requests with the JSON null value. By default, fields with empty
8266	// values are omitted from API requests. However, any field with an
8267	// empty value appearing in NullFields will be sent to the server as
8268	// null. It is an error if a field in this list has a non-empty value.
8269	// This may be used to include null fields in Patch requests.
8270	NullFields []string `json:"-"`
8271}
8272
8273func (s *Language) MarshalJSON() ([]byte, error) {
8274	type NoMethod Language
8275	raw := NoMethod(*s)
8276	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8277}
8278
8279// LanguageTargeting: Language Targeting.
8280type LanguageTargeting struct {
8281	// Languages: Languages that this ad targets. For each language only
8282	// languageId is required. The other fields are populated automatically
8283	// when the ad is inserted or updated.
8284	Languages []*Language `json:"languages,omitempty"`
8285
8286	// ForceSendFields is a list of field names (e.g. "Languages") to
8287	// unconditionally include in API requests. By default, fields with
8288	// empty values are omitted from API requests. However, any non-pointer,
8289	// non-interface field appearing in ForceSendFields will be sent to the
8290	// server regardless of whether the field is empty or not. This may be
8291	// used to include empty fields in Patch requests.
8292	ForceSendFields []string `json:"-"`
8293
8294	// NullFields is a list of field names (e.g. "Languages") to include in
8295	// API requests with the JSON null value. By default, fields with empty
8296	// values are omitted from API requests. However, any field with an
8297	// empty value appearing in NullFields will be sent to the server as
8298	// null. It is an error if a field in this list has a non-empty value.
8299	// This may be used to include null fields in Patch requests.
8300	NullFields []string `json:"-"`
8301}
8302
8303func (s *LanguageTargeting) MarshalJSON() ([]byte, error) {
8304	type NoMethod LanguageTargeting
8305	raw := NoMethod(*s)
8306	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8307}
8308
8309// LanguagesListResponse: Language List Response
8310type LanguagesListResponse struct {
8311	// Kind: Identifies what kind of resource this is. Value: the fixed
8312	// string "dfareporting#languagesListResponse".
8313	Kind string `json:"kind,omitempty"`
8314
8315	// Languages: Language collection.
8316	Languages []*Language `json:"languages,omitempty"`
8317
8318	// ServerResponse contains the HTTP response code and headers from the
8319	// server.
8320	googleapi.ServerResponse `json:"-"`
8321
8322	// ForceSendFields is a list of field names (e.g. "Kind") to
8323	// unconditionally include in API requests. By default, fields with
8324	// empty values are omitted from API requests. However, any non-pointer,
8325	// non-interface field appearing in ForceSendFields will be sent to the
8326	// server regardless of whether the field is empty or not. This may be
8327	// used to include empty fields in Patch requests.
8328	ForceSendFields []string `json:"-"`
8329
8330	// NullFields is a list of field names (e.g. "Kind") to include in API
8331	// requests with the JSON null value. By default, fields with empty
8332	// values are omitted from API requests. However, any field with an
8333	// empty value appearing in NullFields will be sent to the server as
8334	// null. It is an error if a field in this list has a non-empty value.
8335	// This may be used to include null fields in Patch requests.
8336	NullFields []string `json:"-"`
8337}
8338
8339func (s *LanguagesListResponse) MarshalJSON() ([]byte, error) {
8340	type NoMethod LanguagesListResponse
8341	raw := NoMethod(*s)
8342	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8343}
8344
8345// LastModifiedInfo: Modification timestamp.
8346type LastModifiedInfo struct {
8347	// Time: Timestamp of the last change in milliseconds since epoch.
8348	Time int64 `json:"time,omitempty,string"`
8349
8350	// ForceSendFields is a list of field names (e.g. "Time") to
8351	// unconditionally include in API requests. By default, fields with
8352	// empty values are omitted from API requests. However, any non-pointer,
8353	// non-interface field appearing in ForceSendFields will be sent to the
8354	// server regardless of whether the field is empty or not. This may be
8355	// used to include empty fields in Patch requests.
8356	ForceSendFields []string `json:"-"`
8357
8358	// NullFields is a list of field names (e.g. "Time") to include in API
8359	// requests with the JSON null value. By default, fields with empty
8360	// values are omitted from API requests. However, any field with an
8361	// empty value appearing in NullFields will be sent to the server as
8362	// null. It is an error if a field in this list has a non-empty value.
8363	// This may be used to include null fields in Patch requests.
8364	NullFields []string `json:"-"`
8365}
8366
8367func (s *LastModifiedInfo) MarshalJSON() ([]byte, error) {
8368	type NoMethod LastModifiedInfo
8369	raw := NoMethod(*s)
8370	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8371}
8372
8373// ListPopulationClause: A group clause made up of list population terms
8374// representing constraints joined by ORs.
8375type ListPopulationClause struct {
8376	// Terms: Terms of this list population clause. Each clause is made up
8377	// of list population terms representing constraints and are joined by
8378	// ORs.
8379	Terms []*ListPopulationTerm `json:"terms,omitempty"`
8380
8381	// ForceSendFields is a list of field names (e.g. "Terms") to
8382	// unconditionally include in API requests. By default, fields with
8383	// empty values are omitted from API requests. However, any non-pointer,
8384	// non-interface field appearing in ForceSendFields will be sent to the
8385	// server regardless of whether the field is empty or not. This may be
8386	// used to include empty fields in Patch requests.
8387	ForceSendFields []string `json:"-"`
8388
8389	// NullFields is a list of field names (e.g. "Terms") to include in API
8390	// requests with the JSON null value. By default, fields with empty
8391	// values are omitted from API requests. However, any field with an
8392	// empty value appearing in NullFields will be sent to the server as
8393	// null. It is an error if a field in this list has a non-empty value.
8394	// This may be used to include null fields in Patch requests.
8395	NullFields []string `json:"-"`
8396}
8397
8398func (s *ListPopulationClause) MarshalJSON() ([]byte, error) {
8399	type NoMethod ListPopulationClause
8400	raw := NoMethod(*s)
8401	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8402}
8403
8404// ListPopulationRule: Remarketing List Population Rule.
8405type ListPopulationRule struct {
8406	// FloodlightActivityId: Floodlight activity ID associated with this
8407	// rule. This field can be left blank.
8408	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
8409
8410	// FloodlightActivityName: Name of floodlight activity associated with
8411	// this rule. This is a read-only, auto-generated field.
8412	FloodlightActivityName string `json:"floodlightActivityName,omitempty"`
8413
8414	// ListPopulationClauses: Clauses that make up this list population
8415	// rule. Clauses are joined by ANDs, and the clauses themselves are made
8416	// up of list population terms which are joined by ORs.
8417	ListPopulationClauses []*ListPopulationClause `json:"listPopulationClauses,omitempty"`
8418
8419	// ForceSendFields is a list of field names (e.g.
8420	// "FloodlightActivityId") to unconditionally include in API requests.
8421	// By default, fields with empty values are omitted from API requests.
8422	// However, any non-pointer, non-interface field appearing in
8423	// ForceSendFields will be sent to the server regardless of whether the
8424	// field is empty or not. This may be used to include empty fields in
8425	// Patch requests.
8426	ForceSendFields []string `json:"-"`
8427
8428	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
8429	// include in API requests with the JSON null value. By default, fields
8430	// with empty values are omitted from API requests. However, any field
8431	// with an empty value appearing in NullFields will be sent to the
8432	// server as null. It is an error if a field in this list has a
8433	// non-empty value. This may be used to include null fields in Patch
8434	// requests.
8435	NullFields []string `json:"-"`
8436}
8437
8438func (s *ListPopulationRule) MarshalJSON() ([]byte, error) {
8439	type NoMethod ListPopulationRule
8440	raw := NoMethod(*s)
8441	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8442}
8443
8444// ListPopulationTerm: Remarketing List Population Rule Term.
8445type ListPopulationTerm struct {
8446	// Contains: Will be true if the term should check if the user is in the
8447	// list and false if the term should check if the user is not in the
8448	// list. This field is only relevant when type is set to
8449	// LIST_MEMBERSHIP_TERM. False by default.
8450	Contains bool `json:"contains,omitempty"`
8451
8452	// Negation: Whether to negate the comparison result of this term during
8453	// rule evaluation. This field is only relevant when type is left unset
8454	// or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
8455	Negation bool `json:"negation,omitempty"`
8456
8457	// Operator: Comparison operator of this term. This field is only
8458	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
8459	// REFERRER_TERM.
8460	//
8461	// Possible values:
8462	//   "NUM_EQUALS"
8463	//   "NUM_LESS_THAN"
8464	//   "NUM_LESS_THAN_EQUAL"
8465	//   "NUM_GREATER_THAN"
8466	//   "NUM_GREATER_THAN_EQUAL"
8467	//   "STRING_EQUALS"
8468	//   "STRING_CONTAINS"
8469	Operator string `json:"operator,omitempty"`
8470
8471	// RemarketingListId: ID of the list in question. This field is only
8472	// relevant when type is set to LIST_MEMBERSHIP_TERM.
8473	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
8474
8475	// Type: List population term type determines the applicable fields in
8476	// this object. If left unset or set to CUSTOM_VARIABLE_TERM, then
8477	// variableName, variableFriendlyName, operator, value, and negation are
8478	// applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
8479	// contains are applicable. If set to REFERRER_TERM then operator,
8480	// value, and negation are applicable.
8481	//
8482	// Possible values:
8483	//   "CUSTOM_VARIABLE_TERM"
8484	//   "LIST_MEMBERSHIP_TERM"
8485	//   "REFERRER_TERM"
8486	Type string `json:"type,omitempty"`
8487
8488	// Value: Literal to compare the variable to. This field is only
8489	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
8490	// REFERRER_TERM.
8491	Value string `json:"value,omitempty"`
8492
8493	// VariableFriendlyName: Friendly name of this term's variable. This is
8494	// a read-only, auto-generated field. This field is only relevant when
8495	// type is left unset or set to CUSTOM_VARIABLE_TERM.
8496	VariableFriendlyName string `json:"variableFriendlyName,omitempty"`
8497
8498	// VariableName: Name of the variable (U1, U2, etc.) being compared in
8499	// this term. This field is only relevant when type is set to null,
8500	// CUSTOM_VARIABLE_TERM or REFERRER_TERM.
8501	VariableName string `json:"variableName,omitempty"`
8502
8503	// ForceSendFields is a list of field names (e.g. "Contains") to
8504	// unconditionally include in API requests. By default, fields with
8505	// empty values are omitted from API requests. However, any non-pointer,
8506	// non-interface field appearing in ForceSendFields will be sent to the
8507	// server regardless of whether the field is empty or not. This may be
8508	// used to include empty fields in Patch requests.
8509	ForceSendFields []string `json:"-"`
8510
8511	// NullFields is a list of field names (e.g. "Contains") to include in
8512	// API requests with the JSON null value. By default, fields with empty
8513	// values are omitted from API requests. However, any field with an
8514	// empty value appearing in NullFields will be sent to the server as
8515	// null. It is an error if a field in this list has a non-empty value.
8516	// This may be used to include null fields in Patch requests.
8517	NullFields []string `json:"-"`
8518}
8519
8520func (s *ListPopulationTerm) MarshalJSON() ([]byte, error) {
8521	type NoMethod ListPopulationTerm
8522	raw := NoMethod(*s)
8523	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8524}
8525
8526// ListTargetingExpression: Remarketing List Targeting Expression.
8527type ListTargetingExpression struct {
8528	// Expression: Expression describing which lists are being targeted by
8529	// the ad.
8530	Expression string `json:"expression,omitempty"`
8531
8532	// ForceSendFields is a list of field names (e.g. "Expression") to
8533	// unconditionally include in API requests. By default, fields with
8534	// empty values are omitted from API requests. However, any non-pointer,
8535	// non-interface field appearing in ForceSendFields will be sent to the
8536	// server regardless of whether the field is empty or not. This may be
8537	// used to include empty fields in Patch requests.
8538	ForceSendFields []string `json:"-"`
8539
8540	// NullFields is a list of field names (e.g. "Expression") to include in
8541	// API requests with the JSON null value. By default, fields with empty
8542	// values are omitted from API requests. However, any field with an
8543	// empty value appearing in NullFields will be sent to the server as
8544	// null. It is an error if a field in this list has a non-empty value.
8545	// This may be used to include null fields in Patch requests.
8546	NullFields []string `json:"-"`
8547}
8548
8549func (s *ListTargetingExpression) MarshalJSON() ([]byte, error) {
8550	type NoMethod ListTargetingExpression
8551	raw := NoMethod(*s)
8552	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8553}
8554
8555// LookbackConfiguration: Lookback configuration settings.
8556type LookbackConfiguration struct {
8557	// ClickDuration: Lookback window, in days, from the last time a given
8558	// user clicked on one of your ads. If you enter 0, clicks will not be
8559	// considered as triggering events for floodlight tracking. If you leave
8560	// this field blank, the default value for your account will be used.
8561	// Acceptable values are 0 to 90, inclusive.
8562	ClickDuration int64 `json:"clickDuration,omitempty"`
8563
8564	// PostImpressionActivitiesDuration: Lookback window, in days, from the
8565	// last time a given user viewed one of your ads. If you enter 0,
8566	// impressions will not be considered as triggering events for
8567	// floodlight tracking. If you leave this field blank, the default value
8568	// for your account will be used. Acceptable values are 0 to 90,
8569	// inclusive.
8570	PostImpressionActivitiesDuration int64 `json:"postImpressionActivitiesDuration,omitempty"`
8571
8572	// ForceSendFields is a list of field names (e.g. "ClickDuration") to
8573	// unconditionally include in API requests. By default, fields with
8574	// empty values are omitted from API requests. However, any non-pointer,
8575	// non-interface field appearing in ForceSendFields will be sent to the
8576	// server regardless of whether the field is empty or not. This may be
8577	// used to include empty fields in Patch requests.
8578	ForceSendFields []string `json:"-"`
8579
8580	// NullFields is a list of field names (e.g. "ClickDuration") to include
8581	// in API requests with the JSON null value. By default, fields with
8582	// empty values are omitted from API requests. However, any field with
8583	// an empty value appearing in NullFields will be sent to the server as
8584	// null. It is an error if a field in this list has a non-empty value.
8585	// This may be used to include null fields in Patch requests.
8586	NullFields []string `json:"-"`
8587}
8588
8589func (s *LookbackConfiguration) MarshalJSON() ([]byte, error) {
8590	type NoMethod LookbackConfiguration
8591	raw := NoMethod(*s)
8592	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8593}
8594
8595// Metric: Represents a metric.
8596type Metric struct {
8597	// Kind: The kind of resource this is, in this case dfareporting#metric.
8598	Kind string `json:"kind,omitempty"`
8599
8600	// Name: The metric name, e.g. dfa:impressions
8601	Name string `json:"name,omitempty"`
8602
8603	// ForceSendFields is a list of field names (e.g. "Kind") to
8604	// unconditionally include in API requests. By default, fields with
8605	// empty values are omitted from API requests. However, any non-pointer,
8606	// non-interface field appearing in ForceSendFields will be sent to the
8607	// server regardless of whether the field is empty or not. This may be
8608	// used to include empty fields in Patch requests.
8609	ForceSendFields []string `json:"-"`
8610
8611	// NullFields is a list of field names (e.g. "Kind") to include in API
8612	// requests with the JSON null value. By default, fields with empty
8613	// values are omitted from API requests. However, any field with an
8614	// empty value appearing in NullFields will be sent to the server as
8615	// null. It is an error if a field in this list has a non-empty value.
8616	// This may be used to include null fields in Patch requests.
8617	NullFields []string `json:"-"`
8618}
8619
8620func (s *Metric) MarshalJSON() ([]byte, error) {
8621	type NoMethod Metric
8622	raw := NoMethod(*s)
8623	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8624}
8625
8626// Metro: Contains information about a metro region that can be targeted
8627// by ads.
8628type Metro struct {
8629	// CountryCode: Country code of the country to which this metro region
8630	// belongs.
8631	CountryCode string `json:"countryCode,omitempty"`
8632
8633	// CountryDartId: DART ID of the country to which this metro region
8634	// belongs.
8635	CountryDartId int64 `json:"countryDartId,omitempty,string"`
8636
8637	// DartId: DART ID of this metro region.
8638	DartId int64 `json:"dartId,omitempty,string"`
8639
8640	// DmaId: DMA ID of this metro region. This is the ID used for targeting
8641	// and generating reports, and is equivalent to metro_code.
8642	DmaId int64 `json:"dmaId,omitempty,string"`
8643
8644	// Kind: Identifies what kind of resource this is. Value: the fixed
8645	// string "dfareporting#metro".
8646	Kind string `json:"kind,omitempty"`
8647
8648	// MetroCode: Metro code of this metro region. This is equivalent to
8649	// dma_id.
8650	MetroCode string `json:"metroCode,omitempty"`
8651
8652	// Name: Name of this metro region.
8653	Name string `json:"name,omitempty"`
8654
8655	// ForceSendFields is a list of field names (e.g. "CountryCode") to
8656	// unconditionally include in API requests. By default, fields with
8657	// empty values are omitted from API requests. However, any non-pointer,
8658	// non-interface field appearing in ForceSendFields will be sent to the
8659	// server regardless of whether the field is empty or not. This may be
8660	// used to include empty fields in Patch requests.
8661	ForceSendFields []string `json:"-"`
8662
8663	// NullFields is a list of field names (e.g. "CountryCode") to include
8664	// in API requests with the JSON null value. By default, fields with
8665	// empty values are omitted from API requests. However, any field with
8666	// an empty value appearing in NullFields will be sent to the server as
8667	// null. It is an error if a field in this list has a non-empty value.
8668	// This may be used to include null fields in Patch requests.
8669	NullFields []string `json:"-"`
8670}
8671
8672func (s *Metro) MarshalJSON() ([]byte, error) {
8673	type NoMethod Metro
8674	raw := NoMethod(*s)
8675	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8676}
8677
8678// MetrosListResponse: Metro List Response
8679type MetrosListResponse struct {
8680	// Kind: Identifies what kind of resource this is. Value: the fixed
8681	// string "dfareporting#metrosListResponse".
8682	Kind string `json:"kind,omitempty"`
8683
8684	// Metros: Metro collection.
8685	Metros []*Metro `json:"metros,omitempty"`
8686
8687	// ServerResponse contains the HTTP response code and headers from the
8688	// server.
8689	googleapi.ServerResponse `json:"-"`
8690
8691	// ForceSendFields is a list of field names (e.g. "Kind") to
8692	// unconditionally include in API requests. By default, fields with
8693	// empty values are omitted from API requests. However, any non-pointer,
8694	// non-interface field appearing in ForceSendFields will be sent to the
8695	// server regardless of whether the field is empty or not. This may be
8696	// used to include empty fields in Patch requests.
8697	ForceSendFields []string `json:"-"`
8698
8699	// NullFields is a list of field names (e.g. "Kind") to include in API
8700	// requests with the JSON null value. By default, fields with empty
8701	// values are omitted from API requests. However, any field with an
8702	// empty value appearing in NullFields will be sent to the server as
8703	// null. It is an error if a field in this list has a non-empty value.
8704	// This may be used to include null fields in Patch requests.
8705	NullFields []string `json:"-"`
8706}
8707
8708func (s *MetrosListResponse) MarshalJSON() ([]byte, error) {
8709	type NoMethod MetrosListResponse
8710	raw := NoMethod(*s)
8711	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8712}
8713
8714// MobileApp: Contains information about a mobile app. Used as a landing
8715// page deep link.
8716type MobileApp struct {
8717	// Directory: Mobile app directory.
8718	//
8719	// Possible values:
8720	//   "UNKNOWN"
8721	//   "APPLE_APP_STORE"
8722	//   "GOOGLE_PLAY_STORE"
8723	Directory string `json:"directory,omitempty"`
8724
8725	// Id: ID of this mobile app.
8726	Id string `json:"id,omitempty"`
8727
8728	// Kind: Identifies what kind of resource this is. Value: the fixed
8729	// string "dfareporting#mobileApp".
8730	Kind string `json:"kind,omitempty"`
8731
8732	// PublisherName: Publisher name.
8733	PublisherName string `json:"publisherName,omitempty"`
8734
8735	// Title: Title of this mobile app.
8736	Title string `json:"title,omitempty"`
8737
8738	// ServerResponse contains the HTTP response code and headers from the
8739	// server.
8740	googleapi.ServerResponse `json:"-"`
8741
8742	// ForceSendFields is a list of field names (e.g. "Directory") to
8743	// unconditionally include in API requests. By default, fields with
8744	// empty values are omitted from API requests. However, any non-pointer,
8745	// non-interface field appearing in ForceSendFields will be sent to the
8746	// server regardless of whether the field is empty or not. This may be
8747	// used to include empty fields in Patch requests.
8748	ForceSendFields []string `json:"-"`
8749
8750	// NullFields is a list of field names (e.g. "Directory") to include in
8751	// API requests with the JSON null value. By default, fields with empty
8752	// values are omitted from API requests. However, any field with an
8753	// empty value appearing in NullFields will be sent to the server as
8754	// null. It is an error if a field in this list has a non-empty value.
8755	// This may be used to include null fields in Patch requests.
8756	NullFields []string `json:"-"`
8757}
8758
8759func (s *MobileApp) MarshalJSON() ([]byte, error) {
8760	type NoMethod MobileApp
8761	raw := NoMethod(*s)
8762	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8763}
8764
8765// MobileAppsListResponse: Mobile app List Response
8766type MobileAppsListResponse struct {
8767	// Kind: Identifies what kind of resource this is. Value: the fixed
8768	// string "dfareporting#mobileAppsListResponse".
8769	Kind string `json:"kind,omitempty"`
8770
8771	// MobileApps: Mobile apps collection.
8772	MobileApps []*MobileApp `json:"mobileApps,omitempty"`
8773
8774	// NextPageToken: Pagination token to be used for the next list
8775	// operation.
8776	NextPageToken string `json:"nextPageToken,omitempty"`
8777
8778	// ServerResponse contains the HTTP response code and headers from the
8779	// server.
8780	googleapi.ServerResponse `json:"-"`
8781
8782	// ForceSendFields is a list of field names (e.g. "Kind") to
8783	// unconditionally include in API requests. By default, fields with
8784	// empty values are omitted from API requests. However, any non-pointer,
8785	// non-interface field appearing in ForceSendFields will be sent to the
8786	// server regardless of whether the field is empty or not. This may be
8787	// used to include empty fields in Patch requests.
8788	ForceSendFields []string `json:"-"`
8789
8790	// NullFields is a list of field names (e.g. "Kind") to include in API
8791	// requests with the JSON null value. By default, fields with empty
8792	// values are omitted from API requests. However, any field with an
8793	// empty value appearing in NullFields will be sent to the server as
8794	// null. It is an error if a field in this list has a non-empty value.
8795	// This may be used to include null fields in Patch requests.
8796	NullFields []string `json:"-"`
8797}
8798
8799func (s *MobileAppsListResponse) MarshalJSON() ([]byte, error) {
8800	type NoMethod MobileAppsListResponse
8801	raw := NoMethod(*s)
8802	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8803}
8804
8805// MobileCarrier: Contains information about a mobile carrier that can
8806// be targeted by ads.
8807type MobileCarrier struct {
8808	// CountryCode: Country code of the country to which this mobile carrier
8809	// belongs.
8810	CountryCode string `json:"countryCode,omitempty"`
8811
8812	// CountryDartId: DART ID of the country to which this mobile carrier
8813	// belongs.
8814	CountryDartId int64 `json:"countryDartId,omitempty,string"`
8815
8816	// Id: ID of this mobile carrier.
8817	Id int64 `json:"id,omitempty,string"`
8818
8819	// Kind: Identifies what kind of resource this is. Value: the fixed
8820	// string "dfareporting#mobileCarrier".
8821	Kind string `json:"kind,omitempty"`
8822
8823	// Name: Name of this mobile carrier.
8824	Name string `json:"name,omitempty"`
8825
8826	// ServerResponse contains the HTTP response code and headers from the
8827	// server.
8828	googleapi.ServerResponse `json:"-"`
8829
8830	// ForceSendFields is a list of field names (e.g. "CountryCode") to
8831	// unconditionally include in API requests. By default, fields with
8832	// empty values are omitted from API requests. However, any non-pointer,
8833	// non-interface field appearing in ForceSendFields will be sent to the
8834	// server regardless of whether the field is empty or not. This may be
8835	// used to include empty fields in Patch requests.
8836	ForceSendFields []string `json:"-"`
8837
8838	// NullFields is a list of field names (e.g. "CountryCode") to include
8839	// in API requests with the JSON null value. By default, fields with
8840	// empty values are omitted from API requests. However, any field with
8841	// an empty value appearing in NullFields will be sent to the server as
8842	// null. It is an error if a field in this list has a non-empty value.
8843	// This may be used to include null fields in Patch requests.
8844	NullFields []string `json:"-"`
8845}
8846
8847func (s *MobileCarrier) MarshalJSON() ([]byte, error) {
8848	type NoMethod MobileCarrier
8849	raw := NoMethod(*s)
8850	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8851}
8852
8853// MobileCarriersListResponse: Mobile Carrier List Response
8854type MobileCarriersListResponse struct {
8855	// Kind: Identifies what kind of resource this is. Value: the fixed
8856	// string "dfareporting#mobileCarriersListResponse".
8857	Kind string `json:"kind,omitempty"`
8858
8859	// MobileCarriers: Mobile carrier collection.
8860	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
8861
8862	// ServerResponse contains the HTTP response code and headers from the
8863	// server.
8864	googleapi.ServerResponse `json:"-"`
8865
8866	// ForceSendFields is a list of field names (e.g. "Kind") to
8867	// unconditionally include in API requests. By default, fields with
8868	// empty values are omitted from API requests. However, any non-pointer,
8869	// non-interface field appearing in ForceSendFields will be sent to the
8870	// server regardless of whether the field is empty or not. This may be
8871	// used to include empty fields in Patch requests.
8872	ForceSendFields []string `json:"-"`
8873
8874	// NullFields is a list of field names (e.g. "Kind") to include in API
8875	// requests with the JSON null value. By default, fields with empty
8876	// values are omitted from API requests. However, any field with an
8877	// empty value appearing in NullFields will be sent to the server as
8878	// null. It is an error if a field in this list has a non-empty value.
8879	// This may be used to include null fields in Patch requests.
8880	NullFields []string `json:"-"`
8881}
8882
8883func (s *MobileCarriersListResponse) MarshalJSON() ([]byte, error) {
8884	type NoMethod MobileCarriersListResponse
8885	raw := NoMethod(*s)
8886	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8887}
8888
8889// ObjectFilter: Object Filter.
8890type ObjectFilter struct {
8891	// Kind: Identifies what kind of resource this is. Value: the fixed
8892	// string "dfareporting#objectFilter".
8893	Kind string `json:"kind,omitempty"`
8894
8895	// ObjectIds: Applicable when status is ASSIGNED. The user has access to
8896	// objects with these object IDs.
8897	ObjectIds googleapi.Int64s `json:"objectIds,omitempty"`
8898
8899	// Status: Status of the filter. NONE means the user has access to none
8900	// of the objects. ALL means the user has access to all objects.
8901	// ASSIGNED means the user has access to the objects with IDs in the
8902	// objectIds list.
8903	//
8904	// Possible values:
8905	//   "NONE"
8906	//   "ASSIGNED"
8907	//   "ALL"
8908	Status string `json:"status,omitempty"`
8909
8910	// ForceSendFields is a list of field names (e.g. "Kind") to
8911	// unconditionally include in API requests. By default, fields with
8912	// empty values are omitted from API requests. However, any non-pointer,
8913	// non-interface field appearing in ForceSendFields will be sent to the
8914	// server regardless of whether the field is empty or not. This may be
8915	// used to include empty fields in Patch requests.
8916	ForceSendFields []string `json:"-"`
8917
8918	// NullFields is a list of field names (e.g. "Kind") to include in API
8919	// requests with the JSON null value. By default, fields with empty
8920	// values are omitted from API requests. However, any field with an
8921	// empty value appearing in NullFields will be sent to the server as
8922	// null. It is an error if a field in this list has a non-empty value.
8923	// This may be used to include null fields in Patch requests.
8924	NullFields []string `json:"-"`
8925}
8926
8927func (s *ObjectFilter) MarshalJSON() ([]byte, error) {
8928	type NoMethod ObjectFilter
8929	raw := NoMethod(*s)
8930	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8931}
8932
8933// OffsetPosition: Offset Position.
8934type OffsetPosition struct {
8935	// Left: Offset distance from left side of an asset or a window.
8936	Left int64 `json:"left,omitempty"`
8937
8938	// Top: Offset distance from top side of an asset or a window.
8939	Top int64 `json:"top,omitempty"`
8940
8941	// ForceSendFields is a list of field names (e.g. "Left") to
8942	// unconditionally include in API requests. By default, fields with
8943	// empty values are omitted from API requests. However, any non-pointer,
8944	// non-interface field appearing in ForceSendFields will be sent to the
8945	// server regardless of whether the field is empty or not. This may be
8946	// used to include empty fields in Patch requests.
8947	ForceSendFields []string `json:"-"`
8948
8949	// NullFields is a list of field names (e.g. "Left") to include in API
8950	// requests with the JSON null value. By default, fields with empty
8951	// values are omitted from API requests. However, any field with an
8952	// empty value appearing in NullFields will be sent to the server as
8953	// null. It is an error if a field in this list has a non-empty value.
8954	// This may be used to include null fields in Patch requests.
8955	NullFields []string `json:"-"`
8956}
8957
8958func (s *OffsetPosition) MarshalJSON() ([]byte, error) {
8959	type NoMethod OffsetPosition
8960	raw := NoMethod(*s)
8961	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8962}
8963
8964// OmnitureSettings: Omniture Integration Settings.
8965type OmnitureSettings struct {
8966	// OmnitureCostDataEnabled: Whether placement cost data will be sent to
8967	// Omniture. This property can be enabled only if
8968	// omnitureIntegrationEnabled is true.
8969	OmnitureCostDataEnabled bool `json:"omnitureCostDataEnabled,omitempty"`
8970
8971	// OmnitureIntegrationEnabled: Whether Omniture integration is enabled.
8972	// This property can be enabled only when the "Advanced Ad Serving"
8973	// account setting is enabled.
8974	OmnitureIntegrationEnabled bool `json:"omnitureIntegrationEnabled,omitempty"`
8975
8976	// ForceSendFields is a list of field names (e.g.
8977	// "OmnitureCostDataEnabled") to unconditionally include in API
8978	// requests. By default, fields with empty values are omitted from API
8979	// requests. However, any non-pointer, non-interface field appearing in
8980	// ForceSendFields will be sent to the server regardless of whether the
8981	// field is empty or not. This may be used to include empty fields in
8982	// Patch requests.
8983	ForceSendFields []string `json:"-"`
8984
8985	// NullFields is a list of field names (e.g. "OmnitureCostDataEnabled")
8986	// to include in API requests with the JSON null value. By default,
8987	// fields with empty values are omitted from API requests. However, any
8988	// field with an empty value appearing in NullFields will be sent to the
8989	// server as null. It is an error if a field in this list has a
8990	// non-empty value. This may be used to include null fields in Patch
8991	// requests.
8992	NullFields []string `json:"-"`
8993}
8994
8995func (s *OmnitureSettings) MarshalJSON() ([]byte, error) {
8996	type NoMethod OmnitureSettings
8997	raw := NoMethod(*s)
8998	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8999}
9000
9001// OperatingSystem: Contains information about an operating system that
9002// can be targeted by ads.
9003type OperatingSystem struct {
9004	// DartId: DART ID of this operating system. This is the ID used for
9005	// targeting.
9006	DartId int64 `json:"dartId,omitempty,string"`
9007
9008	// Desktop: Whether this operating system is for desktop.
9009	Desktop bool `json:"desktop,omitempty"`
9010
9011	// Kind: Identifies what kind of resource this is. Value: the fixed
9012	// string "dfareporting#operatingSystem".
9013	Kind string `json:"kind,omitempty"`
9014
9015	// Mobile: Whether this operating system is for mobile.
9016	Mobile bool `json:"mobile,omitempty"`
9017
9018	// Name: Name of this operating system.
9019	Name string `json:"name,omitempty"`
9020
9021	// ServerResponse contains the HTTP response code and headers from the
9022	// server.
9023	googleapi.ServerResponse `json:"-"`
9024
9025	// ForceSendFields is a list of field names (e.g. "DartId") to
9026	// unconditionally include in API requests. By default, fields with
9027	// empty values are omitted from API requests. However, any non-pointer,
9028	// non-interface field appearing in ForceSendFields will be sent to the
9029	// server regardless of whether the field is empty or not. This may be
9030	// used to include empty fields in Patch requests.
9031	ForceSendFields []string `json:"-"`
9032
9033	// NullFields is a list of field names (e.g. "DartId") to include in API
9034	// requests with the JSON null value. By default, fields with empty
9035	// values are omitted from API requests. However, any field with an
9036	// empty value appearing in NullFields will be sent to the server as
9037	// null. It is an error if a field in this list has a non-empty value.
9038	// This may be used to include null fields in Patch requests.
9039	NullFields []string `json:"-"`
9040}
9041
9042func (s *OperatingSystem) MarshalJSON() ([]byte, error) {
9043	type NoMethod OperatingSystem
9044	raw := NoMethod(*s)
9045	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9046}
9047
9048// OperatingSystemVersion: Contains information about a particular
9049// version of an operating system that can be targeted by ads.
9050type OperatingSystemVersion struct {
9051	// Id: ID of this operating system version.
9052	Id int64 `json:"id,omitempty,string"`
9053
9054	// Kind: Identifies what kind of resource this is. Value: the fixed
9055	// string "dfareporting#operatingSystemVersion".
9056	Kind string `json:"kind,omitempty"`
9057
9058	// MajorVersion: Major version (leftmost number) of this operating
9059	// system version.
9060	MajorVersion string `json:"majorVersion,omitempty"`
9061
9062	// MinorVersion: Minor version (number after the first dot) of this
9063	// operating system version.
9064	MinorVersion string `json:"minorVersion,omitempty"`
9065
9066	// Name: Name of this operating system version.
9067	Name string `json:"name,omitempty"`
9068
9069	// OperatingSystem: Operating system of this operating system version.
9070	OperatingSystem *OperatingSystem `json:"operatingSystem,omitempty"`
9071
9072	// ServerResponse contains the HTTP response code and headers from the
9073	// server.
9074	googleapi.ServerResponse `json:"-"`
9075
9076	// ForceSendFields is a list of field names (e.g. "Id") to
9077	// unconditionally include in API requests. By default, fields with
9078	// empty values are omitted from API requests. However, any non-pointer,
9079	// non-interface field appearing in ForceSendFields will be sent to the
9080	// server regardless of whether the field is empty or not. This may be
9081	// used to include empty fields in Patch requests.
9082	ForceSendFields []string `json:"-"`
9083
9084	// NullFields is a list of field names (e.g. "Id") to include in API
9085	// requests with the JSON null value. By default, fields with empty
9086	// values are omitted from API requests. However, any field with an
9087	// empty value appearing in NullFields will be sent to the server as
9088	// null. It is an error if a field in this list has a non-empty value.
9089	// This may be used to include null fields in Patch requests.
9090	NullFields []string `json:"-"`
9091}
9092
9093func (s *OperatingSystemVersion) MarshalJSON() ([]byte, error) {
9094	type NoMethod OperatingSystemVersion
9095	raw := NoMethod(*s)
9096	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9097}
9098
9099// OperatingSystemVersionsListResponse: Operating System Version List
9100// Response
9101type OperatingSystemVersionsListResponse struct {
9102	// Kind: Identifies what kind of resource this is. Value: the fixed
9103	// string "dfareporting#operatingSystemVersionsListResponse".
9104	Kind string `json:"kind,omitempty"`
9105
9106	// OperatingSystemVersions: Operating system version collection.
9107	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
9108
9109	// ServerResponse contains the HTTP response code and headers from the
9110	// server.
9111	googleapi.ServerResponse `json:"-"`
9112
9113	// ForceSendFields is a list of field names (e.g. "Kind") to
9114	// unconditionally include in API requests. By default, fields with
9115	// empty values are omitted from API requests. However, any non-pointer,
9116	// non-interface field appearing in ForceSendFields will be sent to the
9117	// server regardless of whether the field is empty or not. This may be
9118	// used to include empty fields in Patch requests.
9119	ForceSendFields []string `json:"-"`
9120
9121	// NullFields is a list of field names (e.g. "Kind") to include in API
9122	// requests with the JSON null value. By default, fields with empty
9123	// values are omitted from API requests. However, any field with an
9124	// empty value appearing in NullFields will be sent to the server as
9125	// null. It is an error if a field in this list has a non-empty value.
9126	// This may be used to include null fields in Patch requests.
9127	NullFields []string `json:"-"`
9128}
9129
9130func (s *OperatingSystemVersionsListResponse) MarshalJSON() ([]byte, error) {
9131	type NoMethod OperatingSystemVersionsListResponse
9132	raw := NoMethod(*s)
9133	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9134}
9135
9136// OperatingSystemsListResponse: Operating System List Response
9137type OperatingSystemsListResponse struct {
9138	// Kind: Identifies what kind of resource this is. Value: the fixed
9139	// string "dfareporting#operatingSystemsListResponse".
9140	Kind string `json:"kind,omitempty"`
9141
9142	// OperatingSystems: Operating system collection.
9143	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
9144
9145	// ServerResponse contains the HTTP response code and headers from the
9146	// server.
9147	googleapi.ServerResponse `json:"-"`
9148
9149	// ForceSendFields is a list of field names (e.g. "Kind") to
9150	// unconditionally include in API requests. By default, fields with
9151	// empty values are omitted from API requests. However, any non-pointer,
9152	// non-interface field appearing in ForceSendFields will be sent to the
9153	// server regardless of whether the field is empty or not. This may be
9154	// used to include empty fields in Patch requests.
9155	ForceSendFields []string `json:"-"`
9156
9157	// NullFields is a list of field names (e.g. "Kind") to include in API
9158	// requests with the JSON null value. By default, fields with empty
9159	// values are omitted from API requests. However, any field with an
9160	// empty value appearing in NullFields will be sent to the server as
9161	// null. It is an error if a field in this list has a non-empty value.
9162	// This may be used to include null fields in Patch requests.
9163	NullFields []string `json:"-"`
9164}
9165
9166func (s *OperatingSystemsListResponse) MarshalJSON() ([]byte, error) {
9167	type NoMethod OperatingSystemsListResponse
9168	raw := NoMethod(*s)
9169	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9170}
9171
9172// OptimizationActivity: Creative optimization activity.
9173type OptimizationActivity struct {
9174	// FloodlightActivityId: Floodlight activity ID of this optimization
9175	// activity. This is a required field.
9176	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
9177
9178	// FloodlightActivityIdDimensionValue: Dimension value for the ID of the
9179	// floodlight activity. This is a read-only, auto-generated field.
9180	FloodlightActivityIdDimensionValue *DimensionValue `json:"floodlightActivityIdDimensionValue,omitempty"`
9181
9182	// Weight: Weight associated with this optimization. The weight assigned
9183	// will be understood in proportion to the weights assigned to the other
9184	// optimization activities. Value must be greater than or equal to 1.
9185	Weight int64 `json:"weight,omitempty"`
9186
9187	// ForceSendFields is a list of field names (e.g.
9188	// "FloodlightActivityId") to unconditionally include in API requests.
9189	// By default, fields with empty values are omitted from API requests.
9190	// However, any non-pointer, non-interface field appearing in
9191	// ForceSendFields will be sent to the server regardless of whether the
9192	// field is empty or not. This may be used to include empty fields in
9193	// Patch requests.
9194	ForceSendFields []string `json:"-"`
9195
9196	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
9197	// include in API requests with the JSON null value. By default, fields
9198	// with empty values are omitted from API requests. However, any field
9199	// with an empty value appearing in NullFields will be sent to the
9200	// server as null. It is an error if a field in this list has a
9201	// non-empty value. This may be used to include null fields in Patch
9202	// requests.
9203	NullFields []string `json:"-"`
9204}
9205
9206func (s *OptimizationActivity) MarshalJSON() ([]byte, error) {
9207	type NoMethod OptimizationActivity
9208	raw := NoMethod(*s)
9209	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9210}
9211
9212// Order: Describes properties of a Planning order.
9213type Order struct {
9214	// AccountId: Account ID of this order.
9215	AccountId int64 `json:"accountId,omitempty,string"`
9216
9217	// AdvertiserId: Advertiser ID of this order.
9218	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9219
9220	// ApproverUserProfileIds: IDs for users that have to approve documents
9221	// created for this order.
9222	ApproverUserProfileIds googleapi.Int64s `json:"approverUserProfileIds,omitempty"`
9223
9224	// BuyerInvoiceId: Buyer invoice ID associated with this order.
9225	BuyerInvoiceId string `json:"buyerInvoiceId,omitempty"`
9226
9227	// BuyerOrganizationName: Name of the buyer organization.
9228	BuyerOrganizationName string `json:"buyerOrganizationName,omitempty"`
9229
9230	// Comments: Comments in this order.
9231	Comments string `json:"comments,omitempty"`
9232
9233	// Contacts: Contacts for this order.
9234	Contacts []*OrderContact `json:"contacts,omitempty"`
9235
9236	// Id: ID of this order. This is a read-only, auto-generated field.
9237	Id int64 `json:"id,omitempty,string"`
9238
9239	// Kind: Identifies what kind of resource this is. Value: the fixed
9240	// string "dfareporting#order".
9241	Kind string `json:"kind,omitempty"`
9242
9243	// LastModifiedInfo: Information about the most recent modification of
9244	// this order.
9245	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9246
9247	// Name: Name of this order.
9248	Name string `json:"name,omitempty"`
9249
9250	// Notes: Notes of this order.
9251	Notes string `json:"notes,omitempty"`
9252
9253	// PlanningTermId: ID of the terms and conditions template used in this
9254	// order.
9255	PlanningTermId int64 `json:"planningTermId,omitempty,string"`
9256
9257	// ProjectId: Project ID of this order.
9258	ProjectId int64 `json:"projectId,omitempty,string"`
9259
9260	// SellerOrderId: Seller order ID associated with this order.
9261	SellerOrderId string `json:"sellerOrderId,omitempty"`
9262
9263	// SellerOrganizationName: Name of the seller organization.
9264	SellerOrganizationName string `json:"sellerOrganizationName,omitempty"`
9265
9266	// SiteId: Site IDs this order is associated with.
9267	SiteId googleapi.Int64s `json:"siteId,omitempty"`
9268
9269	// SiteNames: Free-form site names this order is associated with.
9270	SiteNames []string `json:"siteNames,omitempty"`
9271
9272	// SubaccountId: Subaccount ID of this order.
9273	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9274
9275	// TermsAndConditions: Terms and conditions of this order.
9276	TermsAndConditions string `json:"termsAndConditions,omitempty"`
9277
9278	// ServerResponse contains the HTTP response code and headers from the
9279	// server.
9280	googleapi.ServerResponse `json:"-"`
9281
9282	// ForceSendFields is a list of field names (e.g. "AccountId") to
9283	// unconditionally include in API requests. By default, fields with
9284	// empty values are omitted from API requests. However, any non-pointer,
9285	// non-interface field appearing in ForceSendFields will be sent to the
9286	// server regardless of whether the field is empty or not. This may be
9287	// used to include empty fields in Patch requests.
9288	ForceSendFields []string `json:"-"`
9289
9290	// NullFields is a list of field names (e.g. "AccountId") to include in
9291	// API requests with the JSON null value. By default, fields with empty
9292	// values are omitted from API requests. However, any field with an
9293	// empty value appearing in NullFields will be sent to the server as
9294	// null. It is an error if a field in this list has a non-empty value.
9295	// This may be used to include null fields in Patch requests.
9296	NullFields []string `json:"-"`
9297}
9298
9299func (s *Order) MarshalJSON() ([]byte, error) {
9300	type NoMethod Order
9301	raw := NoMethod(*s)
9302	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9303}
9304
9305// OrderContact: Contact of an order.
9306type OrderContact struct {
9307	// ContactInfo: Free-form information about this contact. It could be
9308	// any information related to this contact in addition to type, title,
9309	// name, and signature user profile ID.
9310	ContactInfo string `json:"contactInfo,omitempty"`
9311
9312	// ContactName: Name of this contact.
9313	ContactName string `json:"contactName,omitempty"`
9314
9315	// ContactTitle: Title of this contact.
9316	ContactTitle string `json:"contactTitle,omitempty"`
9317
9318	// ContactType: Type of this contact.
9319	//
9320	// Possible values:
9321	//   "PLANNING_ORDER_CONTACT_BUYER_CONTACT"
9322	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
9323	//   "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
9324	ContactType string `json:"contactType,omitempty"`
9325
9326	// SignatureUserProfileId: ID of the user profile containing the
9327	// signature that will be embedded into order documents.
9328	SignatureUserProfileId int64 `json:"signatureUserProfileId,omitempty,string"`
9329
9330	// ForceSendFields is a list of field names (e.g. "ContactInfo") to
9331	// unconditionally include in API requests. By default, fields with
9332	// empty values are omitted from API requests. However, any non-pointer,
9333	// non-interface field appearing in ForceSendFields will be sent to the
9334	// server regardless of whether the field is empty or not. This may be
9335	// used to include empty fields in Patch requests.
9336	ForceSendFields []string `json:"-"`
9337
9338	// NullFields is a list of field names (e.g. "ContactInfo") to include
9339	// in API requests with the JSON null value. By default, fields with
9340	// empty values are omitted from API requests. However, any field with
9341	// an empty value appearing in NullFields will be sent to the server as
9342	// null. It is an error if a field in this list has a non-empty value.
9343	// This may be used to include null fields in Patch requests.
9344	NullFields []string `json:"-"`
9345}
9346
9347func (s *OrderContact) MarshalJSON() ([]byte, error) {
9348	type NoMethod OrderContact
9349	raw := NoMethod(*s)
9350	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9351}
9352
9353// OrderDocument: Contains properties of a Planning order document.
9354type OrderDocument struct {
9355	// AccountId: Account ID of this order document.
9356	AccountId int64 `json:"accountId,omitempty,string"`
9357
9358	// AdvertiserId: Advertiser ID of this order document.
9359	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9360
9361	// AmendedOrderDocumentId: The amended order document ID of this order
9362	// document. An order document can be created by optionally amending
9363	// another order document so that the change history can be preserved.
9364	AmendedOrderDocumentId int64 `json:"amendedOrderDocumentId,omitempty,string"`
9365
9366	// ApprovedByUserProfileIds: IDs of users who have approved this order
9367	// document.
9368	ApprovedByUserProfileIds googleapi.Int64s `json:"approvedByUserProfileIds,omitempty"`
9369
9370	// Cancelled: Whether this order document is cancelled.
9371	Cancelled bool `json:"cancelled,omitempty"`
9372
9373	// CreatedInfo: Information about the creation of this order document.
9374	CreatedInfo *LastModifiedInfo `json:"createdInfo,omitempty"`
9375
9376	EffectiveDate string `json:"effectiveDate,omitempty"`
9377
9378	// Id: ID of this order document.
9379	Id int64 `json:"id,omitempty,string"`
9380
9381	// Kind: Identifies what kind of resource this is. Value: the fixed
9382	// string "dfareporting#orderDocument".
9383	Kind string `json:"kind,omitempty"`
9384
9385	// LastSentRecipients: List of email addresses that received the last
9386	// sent document.
9387	LastSentRecipients []string `json:"lastSentRecipients,omitempty"`
9388
9389	LastSentTime string `json:"lastSentTime,omitempty"`
9390
9391	// OrderId: ID of the order from which this order document is created.
9392	OrderId int64 `json:"orderId,omitempty,string"`
9393
9394	// ProjectId: Project ID of this order document.
9395	ProjectId int64 `json:"projectId,omitempty,string"`
9396
9397	// Signed: Whether this order document has been signed.
9398	Signed bool `json:"signed,omitempty"`
9399
9400	// SubaccountId: Subaccount ID of this order document.
9401	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9402
9403	// Title: Title of this order document.
9404	Title string `json:"title,omitempty"`
9405
9406	// Type: Type of this order document
9407	//
9408	// Possible values:
9409	//   "PLANNING_ORDER_TYPE_INSERTION_ORDER"
9410	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
9411	Type string `json:"type,omitempty"`
9412
9413	// ServerResponse contains the HTTP response code and headers from the
9414	// server.
9415	googleapi.ServerResponse `json:"-"`
9416
9417	// ForceSendFields is a list of field names (e.g. "AccountId") to
9418	// unconditionally include in API requests. By default, fields with
9419	// empty values are omitted from API requests. However, any non-pointer,
9420	// non-interface field appearing in ForceSendFields will be sent to the
9421	// server regardless of whether the field is empty or not. This may be
9422	// used to include empty fields in Patch requests.
9423	ForceSendFields []string `json:"-"`
9424
9425	// NullFields is a list of field names (e.g. "AccountId") to include in
9426	// API requests with the JSON null value. By default, fields with empty
9427	// values are omitted from API requests. However, any field with an
9428	// empty value appearing in NullFields will be sent to the server as
9429	// null. It is an error if a field in this list has a non-empty value.
9430	// This may be used to include null fields in Patch requests.
9431	NullFields []string `json:"-"`
9432}
9433
9434func (s *OrderDocument) MarshalJSON() ([]byte, error) {
9435	type NoMethod OrderDocument
9436	raw := NoMethod(*s)
9437	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9438}
9439
9440// OrderDocumentsListResponse: Order document List Response
9441type OrderDocumentsListResponse struct {
9442	// Kind: Identifies what kind of resource this is. Value: the fixed
9443	// string "dfareporting#orderDocumentsListResponse".
9444	Kind string `json:"kind,omitempty"`
9445
9446	// NextPageToken: Pagination token to be used for the next list
9447	// operation.
9448	NextPageToken string `json:"nextPageToken,omitempty"`
9449
9450	// OrderDocuments: Order document collection
9451	OrderDocuments []*OrderDocument `json:"orderDocuments,omitempty"`
9452
9453	// ServerResponse contains the HTTP response code and headers from the
9454	// server.
9455	googleapi.ServerResponse `json:"-"`
9456
9457	// ForceSendFields is a list of field names (e.g. "Kind") to
9458	// unconditionally include in API requests. By default, fields with
9459	// empty values are omitted from API requests. However, any non-pointer,
9460	// non-interface field appearing in ForceSendFields will be sent to the
9461	// server regardless of whether the field is empty or not. This may be
9462	// used to include empty fields in Patch requests.
9463	ForceSendFields []string `json:"-"`
9464
9465	// NullFields is a list of field names (e.g. "Kind") to include in API
9466	// requests with the JSON null value. By default, fields with empty
9467	// values are omitted from API requests. However, any field with an
9468	// empty value appearing in NullFields will be sent to the server as
9469	// null. It is an error if a field in this list has a non-empty value.
9470	// This may be used to include null fields in Patch requests.
9471	NullFields []string `json:"-"`
9472}
9473
9474func (s *OrderDocumentsListResponse) MarshalJSON() ([]byte, error) {
9475	type NoMethod OrderDocumentsListResponse
9476	raw := NoMethod(*s)
9477	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9478}
9479
9480// OrdersListResponse: Order List Response
9481type OrdersListResponse struct {
9482	// Kind: Identifies what kind of resource this is. Value: the fixed
9483	// string "dfareporting#ordersListResponse".
9484	Kind string `json:"kind,omitempty"`
9485
9486	// NextPageToken: Pagination token to be used for the next list
9487	// operation.
9488	NextPageToken string `json:"nextPageToken,omitempty"`
9489
9490	// Orders: Order collection.
9491	Orders []*Order `json:"orders,omitempty"`
9492
9493	// ServerResponse contains the HTTP response code and headers from the
9494	// server.
9495	googleapi.ServerResponse `json:"-"`
9496
9497	// ForceSendFields is a list of field names (e.g. "Kind") to
9498	// unconditionally include in API requests. By default, fields with
9499	// empty values are omitted from API requests. However, any non-pointer,
9500	// non-interface field appearing in ForceSendFields will be sent to the
9501	// server regardless of whether the field is empty or not. This may be
9502	// used to include empty fields in Patch requests.
9503	ForceSendFields []string `json:"-"`
9504
9505	// NullFields is a list of field names (e.g. "Kind") to include in API
9506	// requests with the JSON null value. By default, fields with empty
9507	// values are omitted from API requests. However, any field with an
9508	// empty value appearing in NullFields will be sent to the server as
9509	// null. It is an error if a field in this list has a non-empty value.
9510	// This may be used to include null fields in Patch requests.
9511	NullFields []string `json:"-"`
9512}
9513
9514func (s *OrdersListResponse) MarshalJSON() ([]byte, error) {
9515	type NoMethod OrdersListResponse
9516	raw := NoMethod(*s)
9517	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9518}
9519
9520// PathToConversionReportCompatibleFields: Represents fields that are
9521// compatible to be selected for a report of type "PATH_TO_CONVERSION".
9522type PathToConversionReportCompatibleFields struct {
9523	// ConversionDimensions: Conversion dimensions which are compatible to
9524	// be selected in the "conversionDimensions" section of the report.
9525	ConversionDimensions []*Dimension `json:"conversionDimensions,omitempty"`
9526
9527	// CustomFloodlightVariables: Custom floodlight variables which are
9528	// compatible to be selected in the "customFloodlightVariables" section
9529	// of the report.
9530	CustomFloodlightVariables []*Dimension `json:"customFloodlightVariables,omitempty"`
9531
9532	// Kind: The kind of resource this is, in this case
9533	// dfareporting#pathToConversionReportCompatibleFields.
9534	Kind string `json:"kind,omitempty"`
9535
9536	// Metrics: Metrics which are compatible to be selected in the
9537	// "metricNames" section of the report.
9538	Metrics []*Metric `json:"metrics,omitempty"`
9539
9540	// PerInteractionDimensions: Per-interaction dimensions which are
9541	// compatible to be selected in the "perInteractionDimensions" section
9542	// of the report.
9543	PerInteractionDimensions []*Dimension `json:"perInteractionDimensions,omitempty"`
9544
9545	// ForceSendFields is a list of field names (e.g.
9546	// "ConversionDimensions") to unconditionally include in API requests.
9547	// By default, fields with empty values are omitted from API requests.
9548	// However, any non-pointer, non-interface field appearing in
9549	// ForceSendFields will be sent to the server regardless of whether the
9550	// field is empty or not. This may be used to include empty fields in
9551	// Patch requests.
9552	ForceSendFields []string `json:"-"`
9553
9554	// NullFields is a list of field names (e.g. "ConversionDimensions") to
9555	// include in API requests with the JSON null value. By default, fields
9556	// with empty values are omitted from API requests. However, any field
9557	// with an empty value appearing in NullFields will be sent to the
9558	// server as null. It is an error if a field in this list has a
9559	// non-empty value. This may be used to include null fields in Patch
9560	// requests.
9561	NullFields []string `json:"-"`
9562}
9563
9564func (s *PathToConversionReportCompatibleFields) MarshalJSON() ([]byte, error) {
9565	type NoMethod PathToConversionReportCompatibleFields
9566	raw := NoMethod(*s)
9567	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9568}
9569
9570// Placement: Contains properties of a placement.
9571type Placement struct {
9572	// AccountId: Account ID of this placement. This field can be left
9573	// blank.
9574	AccountId int64 `json:"accountId,omitempty,string"`
9575
9576	// AdBlockingOptOut: Whether this placement opts out of ad blocking.
9577	// When true, ad blocking is disabled for this placement. When false,
9578	// the campaign and site settings take effect.
9579	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
9580
9581	// AdditionalSizes: Additional sizes associated with this placement.
9582	// When inserting or updating a placement, only the size ID field is
9583	// used.
9584	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
9585
9586	// AdvertiserId: Advertiser ID of this placement. This field can be left
9587	// blank.
9588	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9589
9590	// AdvertiserIdDimensionValue: Dimension value for the ID of the
9591	// advertiser. This is a read-only, auto-generated field.
9592	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
9593
9594	// Archived: Whether this placement is archived.
9595	Archived bool `json:"archived,omitempty"`
9596
9597	// CampaignId: Campaign ID of this placement. This field is a required
9598	// field on insertion.
9599	CampaignId int64 `json:"campaignId,omitempty,string"`
9600
9601	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
9602	// This is a read-only, auto-generated field.
9603	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
9604
9605	// Comment: Comments for this placement.
9606	Comment string `json:"comment,omitempty"`
9607
9608	// Compatibility: Placement compatibility. DISPLAY and
9609	// DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices
9610	// or in mobile apps for regular or interstitial ads respectively. APP
9611	// and APP_INTERSTITIAL are no longer allowed for new placement
9612	// insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL.
9613	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
9614	// with the VAST standard. This field is required on insertion.
9615	//
9616	// Possible values:
9617	//   "DISPLAY"
9618	//   "DISPLAY_INTERSTITIAL"
9619	//   "APP"
9620	//   "APP_INTERSTITIAL"
9621	//   "IN_STREAM_VIDEO"
9622	//   "IN_STREAM_AUDIO"
9623	Compatibility string `json:"compatibility,omitempty"`
9624
9625	// ContentCategoryId: ID of the content category assigned to this
9626	// placement.
9627	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
9628
9629	// CreateInfo: Information about the creation of this placement. This is
9630	// a read-only field.
9631	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
9632
9633	// DirectorySiteId: Directory site ID of this placement. On insert, you
9634	// must set either this field or the siteId field to specify the site
9635	// associated with this placement. This is a required field that is
9636	// read-only after insertion.
9637	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
9638
9639	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
9640	// directory site. This is a read-only, auto-generated field.
9641	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
9642
9643	// ExternalId: External ID for this placement.
9644	ExternalId string `json:"externalId,omitempty"`
9645
9646	// Id: ID of this placement. This is a read-only, auto-generated field.
9647	Id int64 `json:"id,omitempty,string"`
9648
9649	// IdDimensionValue: Dimension value for the ID of this placement. This
9650	// is a read-only, auto-generated field.
9651	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
9652
9653	// KeyName: Key name of this placement. This is a read-only,
9654	// auto-generated field.
9655	KeyName string `json:"keyName,omitempty"`
9656
9657	// Kind: Identifies what kind of resource this is. Value: the fixed
9658	// string "dfareporting#placement".
9659	Kind string `json:"kind,omitempty"`
9660
9661	// LastModifiedInfo: Information about the most recent modification of
9662	// this placement. This is a read-only field.
9663	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9664
9665	// LookbackConfiguration: Lookback window settings for this placement.
9666	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
9667
9668	// Name: Name of this placement.This is a required field and must be
9669	// less than or equal to 256 characters long.
9670	Name string `json:"name,omitempty"`
9671
9672	// PaymentApproved: Whether payment was approved for this placement.
9673	// This is a read-only field relevant only to publisher-paid placements.
9674	PaymentApproved bool `json:"paymentApproved,omitempty"`
9675
9676	// PaymentSource: Payment source for this placement. This is a required
9677	// field that is read-only after insertion.
9678	//
9679	// Possible values:
9680	//   "PLACEMENT_AGENCY_PAID"
9681	//   "PLACEMENT_PUBLISHER_PAID"
9682	PaymentSource string `json:"paymentSource,omitempty"`
9683
9684	// PlacementGroupId: ID of this placement's group, if applicable.
9685	PlacementGroupId int64 `json:"placementGroupId,omitempty,string"`
9686
9687	// PlacementGroupIdDimensionValue: Dimension value for the ID of the
9688	// placement group. This is a read-only, auto-generated field.
9689	PlacementGroupIdDimensionValue *DimensionValue `json:"placementGroupIdDimensionValue,omitempty"`
9690
9691	// PlacementStrategyId: ID of the placement strategy assigned to this
9692	// placement.
9693	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
9694
9695	// PricingSchedule: Pricing schedule of this placement. This field is
9696	// required on insertion, specifically subfields startDate, endDate and
9697	// pricingType.
9698	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
9699
9700	// Primary: Whether this placement is the primary placement of a
9701	// roadblock (placement group). You cannot change this field from true
9702	// to false. Setting this field to true will automatically set the
9703	// primary field on the original primary placement of the roadblock to
9704	// false, and it will automatically set the roadblock's
9705	// primaryPlacementId field to the ID of this placement.
9706	Primary bool `json:"primary,omitempty"`
9707
9708	// PublisherUpdateInfo: Information about the last publisher update.
9709	// This is a read-only field.
9710	PublisherUpdateInfo *LastModifiedInfo `json:"publisherUpdateInfo,omitempty"`
9711
9712	// SiteId: Site ID associated with this placement. On insert, you must
9713	// set either this field or the directorySiteId field to specify the
9714	// site associated with this placement. This is a required field that is
9715	// read-only after insertion.
9716	SiteId int64 `json:"siteId,omitempty,string"`
9717
9718	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
9719	// a read-only, auto-generated field.
9720	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
9721
9722	// Size: Size associated with this placement. When inserting or updating
9723	// a placement, only the size ID field is used. This field is required
9724	// on insertion.
9725	Size *Size `json:"size,omitempty"`
9726
9727	// SslRequired: Whether creatives assigned to this placement must be
9728	// SSL-compliant.
9729	SslRequired bool `json:"sslRequired,omitempty"`
9730
9731	// Status: Third-party placement status.
9732	//
9733	// Possible values:
9734	//   "PENDING_REVIEW"
9735	//   "PAYMENT_ACCEPTED"
9736	//   "PAYMENT_REJECTED"
9737	//   "ACKNOWLEDGE_REJECTION"
9738	//   "ACKNOWLEDGE_ACCEPTANCE"
9739	//   "DRAFT"
9740	Status string `json:"status,omitempty"`
9741
9742	// SubaccountId: Subaccount ID of this placement. This field can be left
9743	// blank.
9744	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9745
9746	// TagFormats: Tag formats to generate for this placement. This field is
9747	// required on insertion. Acceptable values are: -
9748	// "PLACEMENT_TAG_STANDARD" - "PLACEMENT_TAG_IFRAME_JAVASCRIPT" -
9749	// "PLACEMENT_TAG_IFRAME_ILAYER" - "PLACEMENT_TAG_INTERNAL_REDIRECT" -
9750	// "PLACEMENT_TAG_JAVASCRIPT" -
9751	// "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" -
9752	// "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" -
9753	// "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" -
9754	// "PLACEMENT_TAG_CLICK_COMMANDS" -
9755	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" -
9756	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3" -
9757	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" -
9758	// "PLACEMENT_TAG_TRACKING" - "PLACEMENT_TAG_TRACKING_IFRAME" -
9759	// "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
9760	//
9761	// Possible values:
9762	//   "PLACEMENT_TAG_STANDARD"
9763	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
9764	//   "PLACEMENT_TAG_IFRAME_ILAYER"
9765	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
9766	//   "PLACEMENT_TAG_JAVASCRIPT"
9767	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
9768	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
9769	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
9770	//   "PLACEMENT_TAG_CLICK_COMMANDS"
9771	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
9772	//   "PLACEMENT_TAG_TRACKING"
9773	//   "PLACEMENT_TAG_TRACKING_IFRAME"
9774	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
9775	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
9776	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
9777	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
9778	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
9779	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
9780	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
9781	TagFormats []string `json:"tagFormats,omitempty"`
9782
9783	// TagSetting: Tag settings for this placement.
9784	TagSetting *TagSetting `json:"tagSetting,omitempty"`
9785
9786	// VideoActiveViewOptOut: Whether Verification and ActiveView are
9787	// disabled for in-stream video creatives for this placement. The same
9788	// setting videoActiveViewOptOut exists on the site level -- the opt out
9789	// occurs if either of these settings are true. These settings are
9790	// distinct from DirectorySites.settings.activeViewOptOut or
9791	// Sites.siteSettings.activeViewOptOut which only apply to display ads.
9792	// However, Accounts.activeViewOptOut opts out both video traffic, as
9793	// well as display ads, from Verification and ActiveView.
9794	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
9795
9796	// VideoSettings: A collection of settings which affect video creatives
9797	// served through this placement. Applicable to placements with
9798	// IN_STREAM_VIDEO compatibility.
9799	VideoSettings *VideoSettings `json:"videoSettings,omitempty"`
9800
9801	// VpaidAdapterChoice: VPAID adapter setting for this placement.
9802	// Controls which VPAID format the measurement adapter will use for
9803	// in-stream video creatives assigned to this placement. *Note:* Flash
9804	// is no longer supported. This field now defaults to HTML5 when the
9805	// following values are provided: FLASH, BOTH.
9806	//
9807	// Possible values:
9808	//   "DEFAULT"
9809	//   "FLASH"
9810	//   "HTML5"
9811	//   "BOTH"
9812	VpaidAdapterChoice string `json:"vpaidAdapterChoice,omitempty"`
9813
9814	// ServerResponse contains the HTTP response code and headers from the
9815	// server.
9816	googleapi.ServerResponse `json:"-"`
9817
9818	// ForceSendFields is a list of field names (e.g. "AccountId") to
9819	// unconditionally include in API requests. By default, fields with
9820	// empty values are omitted from API requests. However, any non-pointer,
9821	// non-interface field appearing in ForceSendFields will be sent to the
9822	// server regardless of whether the field is empty or not. This may be
9823	// used to include empty fields in Patch requests.
9824	ForceSendFields []string `json:"-"`
9825
9826	// NullFields is a list of field names (e.g. "AccountId") to include in
9827	// API requests with the JSON null value. By default, fields with empty
9828	// values are omitted from API requests. However, any field with an
9829	// empty value appearing in NullFields will be sent to the server as
9830	// null. It is an error if a field in this list has a non-empty value.
9831	// This may be used to include null fields in Patch requests.
9832	NullFields []string `json:"-"`
9833}
9834
9835func (s *Placement) MarshalJSON() ([]byte, error) {
9836	type NoMethod Placement
9837	raw := NoMethod(*s)
9838	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9839}
9840
9841// PlacementAssignment: Placement Assignment.
9842type PlacementAssignment struct {
9843	// Active: Whether this placement assignment is active. When true, the
9844	// placement will be included in the ad's rotation.
9845	Active bool `json:"active,omitempty"`
9846
9847	// PlacementId: ID of the placement to be assigned. This is a required
9848	// field.
9849	PlacementId int64 `json:"placementId,omitempty,string"`
9850
9851	// PlacementIdDimensionValue: Dimension value for the ID of the
9852	// placement. This is a read-only, auto-generated field.
9853	PlacementIdDimensionValue *DimensionValue `json:"placementIdDimensionValue,omitempty"`
9854
9855	// SslRequired: Whether the placement to be assigned requires SSL. This
9856	// is a read-only field that is auto-generated when the ad is inserted
9857	// or updated.
9858	SslRequired bool `json:"sslRequired,omitempty"`
9859
9860	// ForceSendFields is a list of field names (e.g. "Active") to
9861	// unconditionally include in API requests. By default, fields with
9862	// empty values are omitted from API requests. However, any non-pointer,
9863	// non-interface field appearing in ForceSendFields will be sent to the
9864	// server regardless of whether the field is empty or not. This may be
9865	// used to include empty fields in Patch requests.
9866	ForceSendFields []string `json:"-"`
9867
9868	// NullFields is a list of field names (e.g. "Active") to include in API
9869	// requests with the JSON null value. By default, fields with empty
9870	// values are omitted from API requests. However, any field with an
9871	// empty value appearing in NullFields will be sent to the server as
9872	// null. It is an error if a field in this list has a non-empty value.
9873	// This may be used to include null fields in Patch requests.
9874	NullFields []string `json:"-"`
9875}
9876
9877func (s *PlacementAssignment) MarshalJSON() ([]byte, error) {
9878	type NoMethod PlacementAssignment
9879	raw := NoMethod(*s)
9880	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9881}
9882
9883// PlacementGroup: Contains properties of a package or roadblock.
9884type PlacementGroup struct {
9885	// AccountId: Account ID of this placement group. This is a read-only
9886	// field that can be left blank.
9887	AccountId int64 `json:"accountId,omitempty,string"`
9888
9889	// AdvertiserId: Advertiser ID of this placement group. This is a
9890	// required field on insertion.
9891	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9892
9893	// AdvertiserIdDimensionValue: Dimension value for the ID of the
9894	// advertiser. This is a read-only, auto-generated field.
9895	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
9896
9897	// Archived: Whether this placement group is archived.
9898	Archived bool `json:"archived,omitempty"`
9899
9900	// CampaignId: Campaign ID of this placement group. This field is
9901	// required on insertion.
9902	CampaignId int64 `json:"campaignId,omitempty,string"`
9903
9904	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
9905	// This is a read-only, auto-generated field.
9906	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
9907
9908	// ChildPlacementIds: IDs of placements which are assigned to this
9909	// placement group. This is a read-only, auto-generated field.
9910	ChildPlacementIds googleapi.Int64s `json:"childPlacementIds,omitempty"`
9911
9912	// Comment: Comments for this placement group.
9913	Comment string `json:"comment,omitempty"`
9914
9915	// ContentCategoryId: ID of the content category assigned to this
9916	// placement group.
9917	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
9918
9919	// CreateInfo: Information about the creation of this placement group.
9920	// This is a read-only field.
9921	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
9922
9923	// DirectorySiteId: Directory site ID associated with this placement
9924	// group. On insert, you must set either this field or the site_id field
9925	// to specify the site associated with this placement group. This is a
9926	// required field that is read-only after insertion.
9927	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
9928
9929	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
9930	// directory site. This is a read-only, auto-generated field.
9931	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
9932
9933	// ExternalId: External ID for this placement.
9934	ExternalId string `json:"externalId,omitempty"`
9935
9936	// Id: ID of this placement group. This is a read-only, auto-generated
9937	// field.
9938	Id int64 `json:"id,omitempty,string"`
9939
9940	// IdDimensionValue: Dimension value for the ID of this placement group.
9941	// This is a read-only, auto-generated field.
9942	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
9943
9944	// Kind: Identifies what kind of resource this is. Value: the fixed
9945	// string "dfareporting#placementGroup".
9946	Kind string `json:"kind,omitempty"`
9947
9948	// LastModifiedInfo: Information about the most recent modification of
9949	// this placement group. This is a read-only field.
9950	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9951
9952	// Name: Name of this placement group. This is a required field and must
9953	// be less than 256 characters long.
9954	Name string `json:"name,omitempty"`
9955
9956	// PlacementGroupType: Type of this placement group. A package is a
9957	// simple group of placements that acts as a single pricing point for a
9958	// group of tags. A roadblock is a group of placements that not only
9959	// acts as a single pricing point, but also assumes that all the tags in
9960	// it will be served at the same time. A roadblock requires one of its
9961	// assigned placements to be marked as primary for reporting. This field
9962	// is required on insertion.
9963	//
9964	// Possible values:
9965	//   "PLACEMENT_PACKAGE"
9966	//   "PLACEMENT_ROADBLOCK"
9967	PlacementGroupType string `json:"placementGroupType,omitempty"`
9968
9969	// PlacementStrategyId: ID of the placement strategy assigned to this
9970	// placement group.
9971	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
9972
9973	// PricingSchedule: Pricing schedule of this placement group. This field
9974	// is required on insertion.
9975	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
9976
9977	// PrimaryPlacementId: ID of the primary placement, used to calculate
9978	// the media cost of a roadblock (placement group). Modifying this field
9979	// will automatically modify the primary field on all affected roadblock
9980	// child placements.
9981	PrimaryPlacementId int64 `json:"primaryPlacementId,omitempty,string"`
9982
9983	// PrimaryPlacementIdDimensionValue: Dimension value for the ID of the
9984	// primary placement. This is a read-only, auto-generated field.
9985	PrimaryPlacementIdDimensionValue *DimensionValue `json:"primaryPlacementIdDimensionValue,omitempty"`
9986
9987	// SiteId: Site ID associated with this placement group. On insert, you
9988	// must set either this field or the directorySiteId field to specify
9989	// the site associated with this placement group. This is a required
9990	// field that is read-only after insertion.
9991	SiteId int64 `json:"siteId,omitempty,string"`
9992
9993	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
9994	// a read-only, auto-generated field.
9995	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
9996
9997	// SubaccountId: Subaccount ID of this placement group. This is a
9998	// read-only field that can be left blank.
9999	SubaccountId int64 `json:"subaccountId,omitempty,string"`
10000
10001	// ServerResponse contains the HTTP response code and headers from the
10002	// server.
10003	googleapi.ServerResponse `json:"-"`
10004
10005	// ForceSendFields is a list of field names (e.g. "AccountId") to
10006	// unconditionally include in API requests. By default, fields with
10007	// empty values are omitted from API requests. However, any non-pointer,
10008	// non-interface field appearing in ForceSendFields will be sent to the
10009	// server regardless of whether the field is empty or not. This may be
10010	// used to include empty fields in Patch requests.
10011	ForceSendFields []string `json:"-"`
10012
10013	// NullFields is a list of field names (e.g. "AccountId") to include in
10014	// API requests with the JSON null value. By default, fields with empty
10015	// values are omitted from API requests. However, any field with an
10016	// empty value appearing in NullFields will be sent to the server as
10017	// null. It is an error if a field in this list has a non-empty value.
10018	// This may be used to include null fields in Patch requests.
10019	NullFields []string `json:"-"`
10020}
10021
10022func (s *PlacementGroup) MarshalJSON() ([]byte, error) {
10023	type NoMethod PlacementGroup
10024	raw := NoMethod(*s)
10025	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10026}
10027
10028// PlacementGroupsListResponse: Placement Group List Response
10029type PlacementGroupsListResponse struct {
10030	// Kind: Identifies what kind of resource this is. Value: the fixed
10031	// string "dfareporting#placementGroupsListResponse".
10032	Kind string `json:"kind,omitempty"`
10033
10034	// NextPageToken: Pagination token to be used for the next list
10035	// operation.
10036	NextPageToken string `json:"nextPageToken,omitempty"`
10037
10038	// PlacementGroups: Placement group collection.
10039	PlacementGroups []*PlacementGroup `json:"placementGroups,omitempty"`
10040
10041	// ServerResponse contains the HTTP response code and headers from the
10042	// server.
10043	googleapi.ServerResponse `json:"-"`
10044
10045	// ForceSendFields is a list of field names (e.g. "Kind") to
10046	// unconditionally include in API requests. By default, fields with
10047	// empty values are omitted from API requests. However, any non-pointer,
10048	// non-interface field appearing in ForceSendFields will be sent to the
10049	// server regardless of whether the field is empty or not. This may be
10050	// used to include empty fields in Patch requests.
10051	ForceSendFields []string `json:"-"`
10052
10053	// NullFields is a list of field names (e.g. "Kind") to include in API
10054	// requests with the JSON null value. By default, fields with empty
10055	// values are omitted from API requests. However, any field with an
10056	// empty value appearing in NullFields will be sent to the server as
10057	// null. It is an error if a field in this list has a non-empty value.
10058	// This may be used to include null fields in Patch requests.
10059	NullFields []string `json:"-"`
10060}
10061
10062func (s *PlacementGroupsListResponse) MarshalJSON() ([]byte, error) {
10063	type NoMethod PlacementGroupsListResponse
10064	raw := NoMethod(*s)
10065	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10066}
10067
10068// PlacementStrategiesListResponse: Placement Strategy List Response
10069type PlacementStrategiesListResponse struct {
10070	// Kind: Identifies what kind of resource this is. Value: the fixed
10071	// string "dfareporting#placementStrategiesListResponse".
10072	Kind string `json:"kind,omitempty"`
10073
10074	// NextPageToken: Pagination token to be used for the next list
10075	// operation.
10076	NextPageToken string `json:"nextPageToken,omitempty"`
10077
10078	// PlacementStrategies: Placement strategy collection.
10079	PlacementStrategies []*PlacementStrategy `json:"placementStrategies,omitempty"`
10080
10081	// ServerResponse contains the HTTP response code and headers from the
10082	// server.
10083	googleapi.ServerResponse `json:"-"`
10084
10085	// ForceSendFields is a list of field names (e.g. "Kind") to
10086	// unconditionally include in API requests. By default, fields with
10087	// empty values are omitted from API requests. However, any non-pointer,
10088	// non-interface field appearing in ForceSendFields will be sent to the
10089	// server regardless of whether the field is empty or not. This may be
10090	// used to include empty fields in Patch requests.
10091	ForceSendFields []string `json:"-"`
10092
10093	// NullFields is a list of field names (e.g. "Kind") to include in API
10094	// requests with the JSON null value. By default, fields with empty
10095	// values are omitted from API requests. However, any field with an
10096	// empty value appearing in NullFields will be sent to the server as
10097	// null. It is an error if a field in this list has a non-empty value.
10098	// This may be used to include null fields in Patch requests.
10099	NullFields []string `json:"-"`
10100}
10101
10102func (s *PlacementStrategiesListResponse) MarshalJSON() ([]byte, error) {
10103	type NoMethod PlacementStrategiesListResponse
10104	raw := NoMethod(*s)
10105	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10106}
10107
10108// PlacementStrategy: Contains properties of a placement strategy.
10109type PlacementStrategy struct {
10110	// AccountId: Account ID of this placement strategy.This is a read-only
10111	// field that can be left blank.
10112	AccountId int64 `json:"accountId,omitempty,string"`
10113
10114	// Id: ID of this placement strategy. This is a read-only,
10115	// auto-generated field.
10116	Id int64 `json:"id,omitempty,string"`
10117
10118	// Kind: Identifies what kind of resource this is. Value: the fixed
10119	// string "dfareporting#placementStrategy".
10120	Kind string `json:"kind,omitempty"`
10121
10122	// Name: Name of this placement strategy. This is a required field. It
10123	// must be less than 256 characters long and unique among placement
10124	// strategies of the same account.
10125	Name string `json:"name,omitempty"`
10126
10127	// ServerResponse contains the HTTP response code and headers from the
10128	// server.
10129	googleapi.ServerResponse `json:"-"`
10130
10131	// ForceSendFields is a list of field names (e.g. "AccountId") to
10132	// unconditionally include in API requests. By default, fields with
10133	// empty values are omitted from API requests. However, any non-pointer,
10134	// non-interface field appearing in ForceSendFields will be sent to the
10135	// server regardless of whether the field is empty or not. This may be
10136	// used to include empty fields in Patch requests.
10137	ForceSendFields []string `json:"-"`
10138
10139	// NullFields is a list of field names (e.g. "AccountId") to include in
10140	// API requests with the JSON null value. By default, fields with empty
10141	// values are omitted from API requests. However, any field with an
10142	// empty value appearing in NullFields will be sent to the server as
10143	// null. It is an error if a field in this list has a non-empty value.
10144	// This may be used to include null fields in Patch requests.
10145	NullFields []string `json:"-"`
10146}
10147
10148func (s *PlacementStrategy) MarshalJSON() ([]byte, error) {
10149	type NoMethod PlacementStrategy
10150	raw := NoMethod(*s)
10151	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10152}
10153
10154// PlacementTag: Placement Tag
10155type PlacementTag struct {
10156	// PlacementId: Placement ID
10157	PlacementId int64 `json:"placementId,omitempty,string"`
10158
10159	// TagDatas: Tags generated for this placement.
10160	TagDatas []*TagData `json:"tagDatas,omitempty"`
10161
10162	// ForceSendFields is a list of field names (e.g. "PlacementId") to
10163	// unconditionally include in API requests. By default, fields with
10164	// empty values are omitted from API requests. However, any non-pointer,
10165	// non-interface field appearing in ForceSendFields will be sent to the
10166	// server regardless of whether the field is empty or not. This may be
10167	// used to include empty fields in Patch requests.
10168	ForceSendFields []string `json:"-"`
10169
10170	// NullFields is a list of field names (e.g. "PlacementId") to include
10171	// in API requests with the JSON null value. By default, fields with
10172	// empty values are omitted from API requests. However, any field with
10173	// an empty value appearing in NullFields will be sent to the server as
10174	// null. It is an error if a field in this list has a non-empty value.
10175	// This may be used to include null fields in Patch requests.
10176	NullFields []string `json:"-"`
10177}
10178
10179func (s *PlacementTag) MarshalJSON() ([]byte, error) {
10180	type NoMethod PlacementTag
10181	raw := NoMethod(*s)
10182	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10183}
10184
10185// PlacementsGenerateTagsResponse: Placement GenerateTags Response
10186type PlacementsGenerateTagsResponse struct {
10187	// Kind: Identifies what kind of resource this is. Value: the fixed
10188	// string "dfareporting#placementsGenerateTagsResponse".
10189	Kind string `json:"kind,omitempty"`
10190
10191	// PlacementTags: Set of generated tags for the specified placements.
10192	PlacementTags []*PlacementTag `json:"placementTags,omitempty"`
10193
10194	// ServerResponse contains the HTTP response code and headers from the
10195	// server.
10196	googleapi.ServerResponse `json:"-"`
10197
10198	// ForceSendFields is a list of field names (e.g. "Kind") to
10199	// unconditionally include in API requests. By default, fields with
10200	// empty values are omitted from API requests. However, any non-pointer,
10201	// non-interface field appearing in ForceSendFields will be sent to the
10202	// server regardless of whether the field is empty or not. This may be
10203	// used to include empty fields in Patch requests.
10204	ForceSendFields []string `json:"-"`
10205
10206	// NullFields is a list of field names (e.g. "Kind") to include in API
10207	// requests with the JSON null value. By default, fields with empty
10208	// values are omitted from API requests. However, any field with an
10209	// empty value appearing in NullFields will be sent to the server as
10210	// null. It is an error if a field in this list has a non-empty value.
10211	// This may be used to include null fields in Patch requests.
10212	NullFields []string `json:"-"`
10213}
10214
10215func (s *PlacementsGenerateTagsResponse) MarshalJSON() ([]byte, error) {
10216	type NoMethod PlacementsGenerateTagsResponse
10217	raw := NoMethod(*s)
10218	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10219}
10220
10221// PlacementsListResponse: Placement List Response
10222type PlacementsListResponse struct {
10223	// Kind: Identifies what kind of resource this is. Value: the fixed
10224	// string "dfareporting#placementsListResponse".
10225	Kind string `json:"kind,omitempty"`
10226
10227	// NextPageToken: Pagination token to be used for the next list
10228	// operation.
10229	NextPageToken string `json:"nextPageToken,omitempty"`
10230
10231	// Placements: Placement collection.
10232	Placements []*Placement `json:"placements,omitempty"`
10233
10234	// ServerResponse contains the HTTP response code and headers from the
10235	// server.
10236	googleapi.ServerResponse `json:"-"`
10237
10238	// ForceSendFields is a list of field names (e.g. "Kind") to
10239	// unconditionally include in API requests. By default, fields with
10240	// empty values are omitted from API requests. However, any non-pointer,
10241	// non-interface field appearing in ForceSendFields will be sent to the
10242	// server regardless of whether the field is empty or not. This may be
10243	// used to include empty fields in Patch requests.
10244	ForceSendFields []string `json:"-"`
10245
10246	// NullFields is a list of field names (e.g. "Kind") to include in API
10247	// requests with the JSON null value. By default, fields with empty
10248	// values are omitted from API requests. However, any field with an
10249	// empty value appearing in NullFields will be sent to the server as
10250	// null. It is an error if a field in this list has a non-empty value.
10251	// This may be used to include null fields in Patch requests.
10252	NullFields []string `json:"-"`
10253}
10254
10255func (s *PlacementsListResponse) MarshalJSON() ([]byte, error) {
10256	type NoMethod PlacementsListResponse
10257	raw := NoMethod(*s)
10258	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10259}
10260
10261// PlatformType: Contains information about a platform type that can be
10262// targeted by ads.
10263type PlatformType struct {
10264	// Id: ID of this platform type.
10265	Id int64 `json:"id,omitempty,string"`
10266
10267	// Kind: Identifies what kind of resource this is. Value: the fixed
10268	// string "dfareporting#platformType".
10269	Kind string `json:"kind,omitempty"`
10270
10271	// Name: Name of this platform type.
10272	Name string `json:"name,omitempty"`
10273
10274	// ServerResponse contains the HTTP response code and headers from the
10275	// server.
10276	googleapi.ServerResponse `json:"-"`
10277
10278	// ForceSendFields is a list of field names (e.g. "Id") to
10279	// unconditionally include in API requests. By default, fields with
10280	// empty values are omitted from API requests. However, any non-pointer,
10281	// non-interface field appearing in ForceSendFields will be sent to the
10282	// server regardless of whether the field is empty or not. This may be
10283	// used to include empty fields in Patch requests.
10284	ForceSendFields []string `json:"-"`
10285
10286	// NullFields is a list of field names (e.g. "Id") to include in API
10287	// requests with the JSON null value. By default, fields with empty
10288	// values are omitted from API requests. However, any field with an
10289	// empty value appearing in NullFields will be sent to the server as
10290	// null. It is an error if a field in this list has a non-empty value.
10291	// This may be used to include null fields in Patch requests.
10292	NullFields []string `json:"-"`
10293}
10294
10295func (s *PlatformType) MarshalJSON() ([]byte, error) {
10296	type NoMethod PlatformType
10297	raw := NoMethod(*s)
10298	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10299}
10300
10301// PlatformTypesListResponse: Platform Type List Response
10302type PlatformTypesListResponse struct {
10303	// Kind: Identifies what kind of resource this is. Value: the fixed
10304	// string "dfareporting#platformTypesListResponse".
10305	Kind string `json:"kind,omitempty"`
10306
10307	// PlatformTypes: Platform type collection.
10308	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
10309
10310	// ServerResponse contains the HTTP response code and headers from the
10311	// server.
10312	googleapi.ServerResponse `json:"-"`
10313
10314	// ForceSendFields is a list of field names (e.g. "Kind") to
10315	// unconditionally include in API requests. By default, fields with
10316	// empty values are omitted from API requests. However, any non-pointer,
10317	// non-interface field appearing in ForceSendFields will be sent to the
10318	// server regardless of whether the field is empty or not. This may be
10319	// used to include empty fields in Patch requests.
10320	ForceSendFields []string `json:"-"`
10321
10322	// NullFields is a list of field names (e.g. "Kind") to include in API
10323	// requests with the JSON null value. By default, fields with empty
10324	// values are omitted from API requests. However, any field with an
10325	// empty value appearing in NullFields will be sent to the server as
10326	// null. It is an error if a field in this list has a non-empty value.
10327	// This may be used to include null fields in Patch requests.
10328	NullFields []string `json:"-"`
10329}
10330
10331func (s *PlatformTypesListResponse) MarshalJSON() ([]byte, error) {
10332	type NoMethod PlatformTypesListResponse
10333	raw := NoMethod(*s)
10334	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10335}
10336
10337// PopupWindowProperties: Popup Window Properties.
10338type PopupWindowProperties struct {
10339	// Dimension: Popup dimension for a creative. This is a read-only field.
10340	// Applicable to the following creative types: all RICH_MEDIA and all
10341	// VPAID
10342	Dimension *Size `json:"dimension,omitempty"`
10343
10344	// Offset: Upper-left corner coordinates of the popup window. Applicable
10345	// if positionType is COORDINATES.
10346	Offset *OffsetPosition `json:"offset,omitempty"`
10347
10348	// PositionType: Popup window position either centered or at specific
10349	// coordinate.
10350	//
10351	// Possible values:
10352	//   "CENTER"
10353	//   "COORDINATES"
10354	PositionType string `json:"positionType,omitempty"`
10355
10356	// ShowAddressBar: Whether to display the browser address bar.
10357	ShowAddressBar bool `json:"showAddressBar,omitempty"`
10358
10359	// ShowMenuBar: Whether to display the browser menu bar.
10360	ShowMenuBar bool `json:"showMenuBar,omitempty"`
10361
10362	// ShowScrollBar: Whether to display the browser scroll bar.
10363	ShowScrollBar bool `json:"showScrollBar,omitempty"`
10364
10365	// ShowStatusBar: Whether to display the browser status bar.
10366	ShowStatusBar bool `json:"showStatusBar,omitempty"`
10367
10368	// ShowToolBar: Whether to display the browser tool bar.
10369	ShowToolBar bool `json:"showToolBar,omitempty"`
10370
10371	// Title: Title of popup window.
10372	Title string `json:"title,omitempty"`
10373
10374	// ForceSendFields is a list of field names (e.g. "Dimension") to
10375	// unconditionally include in API requests. By default, fields with
10376	// empty values are omitted from API requests. However, any non-pointer,
10377	// non-interface field appearing in ForceSendFields will be sent to the
10378	// server regardless of whether the field is empty or not. This may be
10379	// used to include empty fields in Patch requests.
10380	ForceSendFields []string `json:"-"`
10381
10382	// NullFields is a list of field names (e.g. "Dimension") to include in
10383	// API requests with the JSON null value. By default, fields with empty
10384	// values are omitted from API requests. However, any field with an
10385	// empty value appearing in NullFields will be sent to the server as
10386	// null. It is an error if a field in this list has a non-empty value.
10387	// This may be used to include null fields in Patch requests.
10388	NullFields []string `json:"-"`
10389}
10390
10391func (s *PopupWindowProperties) MarshalJSON() ([]byte, error) {
10392	type NoMethod PopupWindowProperties
10393	raw := NoMethod(*s)
10394	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10395}
10396
10397// PostalCode: Contains information about a postal code that can be
10398// targeted by ads.
10399type PostalCode struct {
10400	// Code: Postal code. This is equivalent to the id field.
10401	Code string `json:"code,omitempty"`
10402
10403	// CountryCode: Country code of the country to which this postal code
10404	// belongs.
10405	CountryCode string `json:"countryCode,omitempty"`
10406
10407	// CountryDartId: DART ID of the country to which this postal code
10408	// belongs.
10409	CountryDartId int64 `json:"countryDartId,omitempty,string"`
10410
10411	// Id: ID of this postal code.
10412	Id string `json:"id,omitempty"`
10413
10414	// Kind: Identifies what kind of resource this is. Value: the fixed
10415	// string "dfareporting#postalCode".
10416	Kind string `json:"kind,omitempty"`
10417
10418	// ServerResponse contains the HTTP response code and headers from the
10419	// server.
10420	googleapi.ServerResponse `json:"-"`
10421
10422	// ForceSendFields is a list of field names (e.g. "Code") to
10423	// unconditionally include in API requests. By default, fields with
10424	// empty values are omitted from API requests. However, any non-pointer,
10425	// non-interface field appearing in ForceSendFields will be sent to the
10426	// server regardless of whether the field is empty or not. This may be
10427	// used to include empty fields in Patch requests.
10428	ForceSendFields []string `json:"-"`
10429
10430	// NullFields is a list of field names (e.g. "Code") to include in API
10431	// requests with the JSON null value. By default, fields with empty
10432	// values are omitted from API requests. However, any field with an
10433	// empty value appearing in NullFields will be sent to the server as
10434	// null. It is an error if a field in this list has a non-empty value.
10435	// This may be used to include null fields in Patch requests.
10436	NullFields []string `json:"-"`
10437}
10438
10439func (s *PostalCode) MarshalJSON() ([]byte, error) {
10440	type NoMethod PostalCode
10441	raw := NoMethod(*s)
10442	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10443}
10444
10445// PostalCodesListResponse: Postal Code List Response
10446type PostalCodesListResponse struct {
10447	// Kind: Identifies what kind of resource this is. Value: the fixed
10448	// string "dfareporting#postalCodesListResponse".
10449	Kind string `json:"kind,omitempty"`
10450
10451	// PostalCodes: Postal code collection.
10452	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
10453
10454	// ServerResponse contains the HTTP response code and headers from the
10455	// server.
10456	googleapi.ServerResponse `json:"-"`
10457
10458	// ForceSendFields is a list of field names (e.g. "Kind") to
10459	// unconditionally include in API requests. By default, fields with
10460	// empty values are omitted from API requests. However, any non-pointer,
10461	// non-interface field appearing in ForceSendFields will be sent to the
10462	// server regardless of whether the field is empty or not. This may be
10463	// used to include empty fields in Patch requests.
10464	ForceSendFields []string `json:"-"`
10465
10466	// NullFields is a list of field names (e.g. "Kind") to include in API
10467	// requests with the JSON null value. By default, fields with empty
10468	// values are omitted from API requests. However, any field with an
10469	// empty value appearing in NullFields will be sent to the server as
10470	// null. It is an error if a field in this list has a non-empty value.
10471	// This may be used to include null fields in Patch requests.
10472	NullFields []string `json:"-"`
10473}
10474
10475func (s *PostalCodesListResponse) MarshalJSON() ([]byte, error) {
10476	type NoMethod PostalCodesListResponse
10477	raw := NoMethod(*s)
10478	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10479}
10480
10481// Pricing: Pricing Information
10482type Pricing struct {
10483	// CapCostType: Cap cost type of this inventory item.
10484	//
10485	// Possible values:
10486	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
10487	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
10488	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
10489	CapCostType string `json:"capCostType,omitempty"`
10490
10491	EndDate string `json:"endDate,omitempty"`
10492
10493	// Flights: Flights of this inventory item. A flight (a.k.a. pricing
10494	// period) represents the inventory item pricing information for a
10495	// specific period of time.
10496	Flights []*Flight `json:"flights,omitempty"`
10497
10498	// GroupType: Group type of this inventory item if it represents a
10499	// placement group. Is null otherwise. There are two type of placement
10500	// groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of
10501	// inventory items that acts as a single pricing point for a group of
10502	// tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory
10503	// items that not only acts as a single pricing point, but also assumes
10504	// that all the tags in it will be served at the same time. A roadblock
10505	// requires one of its assigned inventory items to be marked as primary.
10506	//
10507	// Possible values:
10508	//   "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE"
10509	//   "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"
10510	GroupType string `json:"groupType,omitempty"`
10511
10512	// PricingType: Pricing type of this inventory item.
10513	//
10514	// Possible values:
10515	//   "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
10516	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
10517	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
10518	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
10519	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
10520	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
10521	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
10522	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
10523	PricingType string `json:"pricingType,omitempty"`
10524
10525	StartDate string `json:"startDate,omitempty"`
10526
10527	// ForceSendFields is a list of field names (e.g. "CapCostType") to
10528	// unconditionally include in API requests. By default, fields with
10529	// empty values are omitted from API requests. However, any non-pointer,
10530	// non-interface field appearing in ForceSendFields will be sent to the
10531	// server regardless of whether the field is empty or not. This may be
10532	// used to include empty fields in Patch requests.
10533	ForceSendFields []string `json:"-"`
10534
10535	// NullFields is a list of field names (e.g. "CapCostType") to include
10536	// in API requests with the JSON null value. By default, fields with
10537	// empty values are omitted from API requests. However, any field with
10538	// an empty value appearing in NullFields will be sent to the server as
10539	// null. It is an error if a field in this list has a non-empty value.
10540	// This may be used to include null fields in Patch requests.
10541	NullFields []string `json:"-"`
10542}
10543
10544func (s *Pricing) MarshalJSON() ([]byte, error) {
10545	type NoMethod Pricing
10546	raw := NoMethod(*s)
10547	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10548}
10549
10550// PricingSchedule: Pricing Schedule
10551type PricingSchedule struct {
10552	// CapCostOption: Placement cap cost option.
10553	//
10554	// Possible values:
10555	//   "CAP_COST_NONE"
10556	//   "CAP_COST_MONTHLY"
10557	//   "CAP_COST_CUMULATIVE"
10558	CapCostOption string `json:"capCostOption,omitempty"`
10559
10560	// DisregardOverdelivery: Whether cap costs are ignored by ad serving.
10561	DisregardOverdelivery bool `json:"disregardOverdelivery,omitempty"`
10562
10563	EndDate string `json:"endDate,omitempty"`
10564
10565	// Flighted: Whether this placement is flighted. If true, pricing
10566	// periods will be computed automatically.
10567	Flighted bool `json:"flighted,omitempty"`
10568
10569	// FloodlightActivityId: Floodlight activity ID associated with this
10570	// placement. This field should be set when placement pricing type is
10571	// set to PRICING_TYPE_CPA.
10572	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
10573
10574	// PricingPeriods: Pricing periods for this placement.
10575	PricingPeriods []*PricingSchedulePricingPeriod `json:"pricingPeriods,omitempty"`
10576
10577	// PricingType: Placement pricing type. This field is required on
10578	// insertion.
10579	//
10580	// Possible values:
10581	//   "PRICING_TYPE_CPM"
10582	//   "PRICING_TYPE_CPC"
10583	//   "PRICING_TYPE_CPA"
10584	//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
10585	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
10586	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
10587	PricingType string `json:"pricingType,omitempty"`
10588
10589	StartDate string `json:"startDate,omitempty"`
10590
10591	TestingStartDate string `json:"testingStartDate,omitempty"`
10592
10593	// ForceSendFields is a list of field names (e.g. "CapCostOption") to
10594	// unconditionally include in API requests. By default, fields with
10595	// empty values are omitted from API requests. However, any non-pointer,
10596	// non-interface field appearing in ForceSendFields will be sent to the
10597	// server regardless of whether the field is empty or not. This may be
10598	// used to include empty fields in Patch requests.
10599	ForceSendFields []string `json:"-"`
10600
10601	// NullFields is a list of field names (e.g. "CapCostOption") to include
10602	// in API requests with the JSON null value. By default, fields with
10603	// empty values are omitted from API requests. However, any field with
10604	// an empty value appearing in NullFields will be sent to the server as
10605	// null. It is an error if a field in this list has a non-empty value.
10606	// This may be used to include null fields in Patch requests.
10607	NullFields []string `json:"-"`
10608}
10609
10610func (s *PricingSchedule) MarshalJSON() ([]byte, error) {
10611	type NoMethod PricingSchedule
10612	raw := NoMethod(*s)
10613	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10614}
10615
10616// PricingSchedulePricingPeriod: Pricing Period
10617type PricingSchedulePricingPeriod struct {
10618	EndDate string `json:"endDate,omitempty"`
10619
10620	// PricingComment: Comments for this pricing period.
10621	PricingComment string `json:"pricingComment,omitempty"`
10622
10623	// RateOrCostNanos: Rate or cost of this pricing period in nanos (i.e.,
10624	// multipled by 1000000000). Acceptable values are 0 to
10625	// 1000000000000000000, inclusive.
10626	RateOrCostNanos int64 `json:"rateOrCostNanos,omitempty,string"`
10627
10628	StartDate string `json:"startDate,omitempty"`
10629
10630	// Units: Units of this pricing period. Acceptable values are 0 to
10631	// 10000000000, inclusive.
10632	Units int64 `json:"units,omitempty,string"`
10633
10634	// ForceSendFields is a list of field names (e.g. "EndDate") to
10635	// unconditionally include in API requests. By default, fields with
10636	// empty values are omitted from API requests. However, any non-pointer,
10637	// non-interface field appearing in ForceSendFields will be sent to the
10638	// server regardless of whether the field is empty or not. This may be
10639	// used to include empty fields in Patch requests.
10640	ForceSendFields []string `json:"-"`
10641
10642	// NullFields is a list of field names (e.g. "EndDate") to include in
10643	// API requests with the JSON null value. By default, fields with empty
10644	// values are omitted from API requests. However, any field with an
10645	// empty value appearing in NullFields will be sent to the server as
10646	// null. It is an error if a field in this list has a non-empty value.
10647	// This may be used to include null fields in Patch requests.
10648	NullFields []string `json:"-"`
10649}
10650
10651func (s *PricingSchedulePricingPeriod) MarshalJSON() ([]byte, error) {
10652	type NoMethod PricingSchedulePricingPeriod
10653	raw := NoMethod(*s)
10654	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10655}
10656
10657// Project: Contains properties of a Planning project.
10658type Project struct {
10659	// AccountId: Account ID of this project.
10660	AccountId int64 `json:"accountId,omitempty,string"`
10661
10662	// AdvertiserId: Advertiser ID of this project.
10663	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10664
10665	// AudienceAgeGroup: Audience age group of this project.
10666	//
10667	// Possible values:
10668	//   "PLANNING_AUDIENCE_AGE_18_24"
10669	//   "PLANNING_AUDIENCE_AGE_25_34"
10670	//   "PLANNING_AUDIENCE_AGE_35_44"
10671	//   "PLANNING_AUDIENCE_AGE_45_54"
10672	//   "PLANNING_AUDIENCE_AGE_55_64"
10673	//   "PLANNING_AUDIENCE_AGE_65_OR_MORE"
10674	//   "PLANNING_AUDIENCE_AGE_UNKNOWN"
10675	AudienceAgeGroup string `json:"audienceAgeGroup,omitempty"`
10676
10677	// AudienceGender: Audience gender of this project.
10678	//
10679	// Possible values:
10680	//   "PLANNING_AUDIENCE_GENDER_MALE"
10681	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
10682	AudienceGender string `json:"audienceGender,omitempty"`
10683
10684	// Budget: Budget of this project in the currency specified by the
10685	// current account. The value stored in this field represents only the
10686	// non-fractional amount. For example, for USD, the smallest value that
10687	// can be represented by this field is 1 US dollar.
10688	Budget int64 `json:"budget,omitempty,string"`
10689
10690	// ClientBillingCode: Client billing code of this project.
10691	ClientBillingCode string `json:"clientBillingCode,omitempty"`
10692
10693	// ClientName: Name of the project client.
10694	ClientName string `json:"clientName,omitempty"`
10695
10696	EndDate string `json:"endDate,omitempty"`
10697
10698	// Id: ID of this project. This is a read-only, auto-generated field.
10699	Id int64 `json:"id,omitempty,string"`
10700
10701	// Kind: Identifies what kind of resource this is. Value: the fixed
10702	// string "dfareporting#project".
10703	Kind string `json:"kind,omitempty"`
10704
10705	// LastModifiedInfo: Information about the most recent modification of
10706	// this project.
10707	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
10708
10709	// Name: Name of this project.
10710	Name string `json:"name,omitempty"`
10711
10712	// Overview: Overview of this project.
10713	Overview string `json:"overview,omitempty"`
10714
10715	StartDate string `json:"startDate,omitempty"`
10716
10717	// SubaccountId: Subaccount ID of this project.
10718	SubaccountId int64 `json:"subaccountId,omitempty,string"`
10719
10720	// TargetClicks: Number of clicks that the advertiser is targeting.
10721	TargetClicks int64 `json:"targetClicks,omitempty,string"`
10722
10723	// TargetConversions: Number of conversions that the advertiser is
10724	// targeting.
10725	TargetConversions int64 `json:"targetConversions,omitempty,string"`
10726
10727	// TargetCpaNanos: CPA that the advertiser is targeting.
10728	TargetCpaNanos int64 `json:"targetCpaNanos,omitempty,string"`
10729
10730	// TargetCpcNanos: CPC that the advertiser is targeting.
10731	TargetCpcNanos int64 `json:"targetCpcNanos,omitempty,string"`
10732
10733	// TargetCpmActiveViewNanos: vCPM from Active View that the advertiser
10734	// is targeting.
10735	TargetCpmActiveViewNanos int64 `json:"targetCpmActiveViewNanos,omitempty,string"`
10736
10737	// TargetCpmNanos: CPM that the advertiser is targeting.
10738	TargetCpmNanos int64 `json:"targetCpmNanos,omitempty,string"`
10739
10740	// TargetImpressions: Number of impressions that the advertiser is
10741	// targeting.
10742	TargetImpressions int64 `json:"targetImpressions,omitempty,string"`
10743
10744	// ServerResponse contains the HTTP response code and headers from the
10745	// server.
10746	googleapi.ServerResponse `json:"-"`
10747
10748	// ForceSendFields is a list of field names (e.g. "AccountId") to
10749	// unconditionally include in API requests. By default, fields with
10750	// empty values are omitted from API requests. However, any non-pointer,
10751	// non-interface field appearing in ForceSendFields will be sent to the
10752	// server regardless of whether the field is empty or not. This may be
10753	// used to include empty fields in Patch requests.
10754	ForceSendFields []string `json:"-"`
10755
10756	// NullFields is a list of field names (e.g. "AccountId") to include in
10757	// API requests with the JSON null value. By default, fields with empty
10758	// values are omitted from API requests. However, any field with an
10759	// empty value appearing in NullFields will be sent to the server as
10760	// null. It is an error if a field in this list has a non-empty value.
10761	// This may be used to include null fields in Patch requests.
10762	NullFields []string `json:"-"`
10763}
10764
10765func (s *Project) MarshalJSON() ([]byte, error) {
10766	type NoMethod Project
10767	raw := NoMethod(*s)
10768	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10769}
10770
10771// ProjectsListResponse: Project List Response
10772type ProjectsListResponse struct {
10773	// Kind: Identifies what kind of resource this is. Value: the fixed
10774	// string "dfareporting#projectsListResponse".
10775	Kind string `json:"kind,omitempty"`
10776
10777	// NextPageToken: Pagination token to be used for the next list
10778	// operation.
10779	NextPageToken string `json:"nextPageToken,omitempty"`
10780
10781	// Projects: Project collection.
10782	Projects []*Project `json:"projects,omitempty"`
10783
10784	// ServerResponse contains the HTTP response code and headers from the
10785	// server.
10786	googleapi.ServerResponse `json:"-"`
10787
10788	// ForceSendFields is a list of field names (e.g. "Kind") to
10789	// unconditionally include in API requests. By default, fields with
10790	// empty values are omitted from API requests. However, any non-pointer,
10791	// non-interface field appearing in ForceSendFields will be sent to the
10792	// server regardless of whether the field is empty or not. This may be
10793	// used to include empty fields in Patch requests.
10794	ForceSendFields []string `json:"-"`
10795
10796	// NullFields is a list of field names (e.g. "Kind") to include in API
10797	// requests with the JSON null value. By default, fields with empty
10798	// values are omitted from API requests. However, any field with an
10799	// empty value appearing in NullFields will be sent to the server as
10800	// null. It is an error if a field in this list has a non-empty value.
10801	// This may be used to include null fields in Patch requests.
10802	NullFields []string `json:"-"`
10803}
10804
10805func (s *ProjectsListResponse) MarshalJSON() ([]byte, error) {
10806	type NoMethod ProjectsListResponse
10807	raw := NoMethod(*s)
10808	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10809}
10810
10811// ReachReportCompatibleFields: Represents fields that are compatible to
10812// be selected for a report of type "REACH".
10813type ReachReportCompatibleFields struct {
10814	// DimensionFilters: Dimensions which are compatible to be selected in
10815	// the "dimensionFilters" section of the report.
10816	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
10817
10818	// Dimensions: Dimensions which are compatible to be selected in the
10819	// "dimensions" section of the report.
10820	Dimensions []*Dimension `json:"dimensions,omitempty"`
10821
10822	// Kind: The kind of resource this is, in this case
10823	// dfareporting#reachReportCompatibleFields.
10824	Kind string `json:"kind,omitempty"`
10825
10826	// Metrics: Metrics which are compatible to be selected in the
10827	// "metricNames" section of the report.
10828	Metrics []*Metric `json:"metrics,omitempty"`
10829
10830	// PivotedActivityMetrics: Metrics which are compatible to be selected
10831	// as activity metrics to pivot on in the "activities" section of the
10832	// report.
10833	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
10834
10835	// ReachByFrequencyMetrics: Metrics which are compatible to be selected
10836	// in the "reachByFrequencyMetricNames" section of the report.
10837	ReachByFrequencyMetrics []*Metric `json:"reachByFrequencyMetrics,omitempty"`
10838
10839	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
10840	// unconditionally include in API requests. By default, fields with
10841	// empty values are omitted from API requests. However, any non-pointer,
10842	// non-interface field appearing in ForceSendFields will be sent to the
10843	// server regardless of whether the field is empty or not. This may be
10844	// used to include empty fields in Patch requests.
10845	ForceSendFields []string `json:"-"`
10846
10847	// NullFields is a list of field names (e.g. "DimensionFilters") to
10848	// include in API requests with the JSON null value. By default, fields
10849	// with empty values are omitted from API requests. However, any field
10850	// with an empty value appearing in NullFields will be sent to the
10851	// server as null. It is an error if a field in this list has a
10852	// non-empty value. This may be used to include null fields in Patch
10853	// requests.
10854	NullFields []string `json:"-"`
10855}
10856
10857func (s *ReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
10858	type NoMethod ReachReportCompatibleFields
10859	raw := NoMethod(*s)
10860	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10861}
10862
10863// Recipient: Represents a recipient.
10864type Recipient struct {
10865	// DeliveryType: The delivery type for the recipient.
10866	//
10867	// Possible values:
10868	//   "LINK"
10869	//   "ATTACHMENT"
10870	DeliveryType string `json:"deliveryType,omitempty"`
10871
10872	// Email: The email address of the recipient.
10873	Email string `json:"email,omitempty"`
10874
10875	// Kind: The kind of resource this is, in this case
10876	// dfareporting#recipient.
10877	Kind string `json:"kind,omitempty"`
10878
10879	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
10880	// unconditionally include in API requests. By default, fields with
10881	// empty values are omitted from API requests. However, any non-pointer,
10882	// non-interface field appearing in ForceSendFields will be sent to the
10883	// server regardless of whether the field is empty or not. This may be
10884	// used to include empty fields in Patch requests.
10885	ForceSendFields []string `json:"-"`
10886
10887	// NullFields is a list of field names (e.g. "DeliveryType") to include
10888	// in API requests with the JSON null value. By default, fields with
10889	// empty values are omitted from API requests. However, any field with
10890	// an empty value appearing in NullFields will be sent to the server as
10891	// null. It is an error if a field in this list has a non-empty value.
10892	// This may be used to include null fields in Patch requests.
10893	NullFields []string `json:"-"`
10894}
10895
10896func (s *Recipient) MarshalJSON() ([]byte, error) {
10897	type NoMethod Recipient
10898	raw := NoMethod(*s)
10899	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10900}
10901
10902// Region: Contains information about a region that can be targeted by
10903// ads.
10904type Region struct {
10905	// CountryCode: Country code of the country to which this region
10906	// belongs.
10907	CountryCode string `json:"countryCode,omitempty"`
10908
10909	// CountryDartId: DART ID of the country to which this region belongs.
10910	CountryDartId int64 `json:"countryDartId,omitempty,string"`
10911
10912	// DartId: DART ID of this region.
10913	DartId int64 `json:"dartId,omitempty,string"`
10914
10915	// Kind: Identifies what kind of resource this is. Value: the fixed
10916	// string "dfareporting#region".
10917	Kind string `json:"kind,omitempty"`
10918
10919	// Name: Name of this region.
10920	Name string `json:"name,omitempty"`
10921
10922	// RegionCode: Region code.
10923	RegionCode string `json:"regionCode,omitempty"`
10924
10925	// ForceSendFields is a list of field names (e.g. "CountryCode") to
10926	// unconditionally include in API requests. By default, fields with
10927	// empty values are omitted from API requests. However, any non-pointer,
10928	// non-interface field appearing in ForceSendFields will be sent to the
10929	// server regardless of whether the field is empty or not. This may be
10930	// used to include empty fields in Patch requests.
10931	ForceSendFields []string `json:"-"`
10932
10933	// NullFields is a list of field names (e.g. "CountryCode") to include
10934	// in API requests with the JSON null value. By default, fields with
10935	// empty values are omitted from API requests. However, any field with
10936	// an empty value appearing in NullFields will be sent to the server as
10937	// null. It is an error if a field in this list has a non-empty value.
10938	// This may be used to include null fields in Patch requests.
10939	NullFields []string `json:"-"`
10940}
10941
10942func (s *Region) MarshalJSON() ([]byte, error) {
10943	type NoMethod Region
10944	raw := NoMethod(*s)
10945	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10946}
10947
10948// RegionsListResponse: Region List Response
10949type RegionsListResponse struct {
10950	// Kind: Identifies what kind of resource this is. Value: the fixed
10951	// string "dfareporting#regionsListResponse".
10952	Kind string `json:"kind,omitempty"`
10953
10954	// Regions: Region collection.
10955	Regions []*Region `json:"regions,omitempty"`
10956
10957	// ServerResponse contains the HTTP response code and headers from the
10958	// server.
10959	googleapi.ServerResponse `json:"-"`
10960
10961	// ForceSendFields is a list of field names (e.g. "Kind") to
10962	// unconditionally include in API requests. By default, fields with
10963	// empty values are omitted from API requests. However, any non-pointer,
10964	// non-interface field appearing in ForceSendFields will be sent to the
10965	// server regardless of whether the field is empty or not. This may be
10966	// used to include empty fields in Patch requests.
10967	ForceSendFields []string `json:"-"`
10968
10969	// NullFields is a list of field names (e.g. "Kind") to include in API
10970	// requests with the JSON null value. By default, fields with empty
10971	// values are omitted from API requests. However, any field with an
10972	// empty value appearing in NullFields will be sent to the server as
10973	// null. It is an error if a field in this list has a non-empty value.
10974	// This may be used to include null fields in Patch requests.
10975	NullFields []string `json:"-"`
10976}
10977
10978func (s *RegionsListResponse) MarshalJSON() ([]byte, error) {
10979	type NoMethod RegionsListResponse
10980	raw := NoMethod(*s)
10981	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10982}
10983
10984// RemarketingList: Contains properties of a remarketing list.
10985// Remarketing enables you to create lists of users who have performed
10986// specific actions on a site, then target ads to members of those
10987// lists. This resource can be used to manage remarketing lists that are
10988// owned by your advertisers. To see all remarketing lists that are
10989// visible to your advertisers, including those that are shared to your
10990// advertiser or account, use the TargetableRemarketingLists resource.
10991type RemarketingList struct {
10992	// AccountId: Account ID of this remarketing list. This is a read-only,
10993	// auto-generated field that is only returned in GET requests.
10994	AccountId int64 `json:"accountId,omitempty,string"`
10995
10996	// Active: Whether this remarketing list is active.
10997	Active bool `json:"active,omitempty"`
10998
10999	// AdvertiserId: Dimension value for the advertiser ID that owns this
11000	// remarketing list. This is a required field.
11001	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
11002
11003	// AdvertiserIdDimensionValue: Dimension value for the ID of the
11004	// advertiser. This is a read-only, auto-generated field.
11005	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
11006
11007	// Description: Remarketing list description.
11008	Description string `json:"description,omitempty"`
11009
11010	// Id: Remarketing list ID. This is a read-only, auto-generated field.
11011	Id int64 `json:"id,omitempty,string"`
11012
11013	// Kind: Identifies what kind of resource this is. Value: the fixed
11014	// string "dfareporting#remarketingList".
11015	Kind string `json:"kind,omitempty"`
11016
11017	// LifeSpan: Number of days that a user should remain in the remarketing
11018	// list without an impression. Acceptable values are 1 to 540,
11019	// inclusive.
11020	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
11021
11022	// ListPopulationRule: Rule used to populate the remarketing list with
11023	// users.
11024	ListPopulationRule *ListPopulationRule `json:"listPopulationRule,omitempty"`
11025
11026	// ListSize: Number of users currently in the list. This is a read-only
11027	// field.
11028	ListSize int64 `json:"listSize,omitempty,string"`
11029
11030	// ListSource: Product from which this remarketing list was originated.
11031	//
11032	// Possible values:
11033	//   "REMARKETING_LIST_SOURCE_OTHER"
11034	//   "REMARKETING_LIST_SOURCE_ADX"
11035	//   "REMARKETING_LIST_SOURCE_DFP"
11036	//   "REMARKETING_LIST_SOURCE_XFP"
11037	//   "REMARKETING_LIST_SOURCE_DFA"
11038	//   "REMARKETING_LIST_SOURCE_GA"
11039	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
11040	//   "REMARKETING_LIST_SOURCE_DBM"
11041	//   "REMARKETING_LIST_SOURCE_GPLUS"
11042	//   "REMARKETING_LIST_SOURCE_DMP"
11043	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
11044	ListSource string `json:"listSource,omitempty"`
11045
11046	// Name: Name of the remarketing list. This is a required field. Must be
11047	// no greater than 128 characters long.
11048	Name string `json:"name,omitempty"`
11049
11050	// SubaccountId: Subaccount ID of this remarketing list. This is a
11051	// read-only, auto-generated field that is only returned in GET
11052	// requests.
11053	SubaccountId int64 `json:"subaccountId,omitempty,string"`
11054
11055	// ServerResponse contains the HTTP response code and headers from the
11056	// server.
11057	googleapi.ServerResponse `json:"-"`
11058
11059	// ForceSendFields is a list of field names (e.g. "AccountId") to
11060	// unconditionally include in API requests. By default, fields with
11061	// empty values are omitted from API requests. However, any non-pointer,
11062	// non-interface field appearing in ForceSendFields will be sent to the
11063	// server regardless of whether the field is empty or not. This may be
11064	// used to include empty fields in Patch requests.
11065	ForceSendFields []string `json:"-"`
11066
11067	// NullFields is a list of field names (e.g. "AccountId") to include in
11068	// API requests with the JSON null value. By default, fields with empty
11069	// values are omitted from API requests. However, any field with an
11070	// empty value appearing in NullFields will be sent to the server as
11071	// null. It is an error if a field in this list has a non-empty value.
11072	// This may be used to include null fields in Patch requests.
11073	NullFields []string `json:"-"`
11074}
11075
11076func (s *RemarketingList) MarshalJSON() ([]byte, error) {
11077	type NoMethod RemarketingList
11078	raw := NoMethod(*s)
11079	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11080}
11081
11082// RemarketingListShare: Contains properties of a remarketing list's
11083// sharing information. Sharing allows other accounts or advertisers to
11084// target to your remarketing lists. This resource can be used to manage
11085// remarketing list sharing to other accounts and advertisers.
11086type RemarketingListShare struct {
11087	// Kind: Identifies what kind of resource this is. Value: the fixed
11088	// string "dfareporting#remarketingListShare".
11089	Kind string `json:"kind,omitempty"`
11090
11091	// RemarketingListId: Remarketing list ID. This is a read-only,
11092	// auto-generated field.
11093	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
11094
11095	// SharedAccountIds: Accounts that the remarketing list is shared with.
11096	SharedAccountIds googleapi.Int64s `json:"sharedAccountIds,omitempty"`
11097
11098	// SharedAdvertiserIds: Advertisers that the remarketing list is shared
11099	// with.
11100	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
11101
11102	// ServerResponse contains the HTTP response code and headers from the
11103	// server.
11104	googleapi.ServerResponse `json:"-"`
11105
11106	// ForceSendFields is a list of field names (e.g. "Kind") to
11107	// unconditionally include in API requests. By default, fields with
11108	// empty values are omitted from API requests. However, any non-pointer,
11109	// non-interface field appearing in ForceSendFields will be sent to the
11110	// server regardless of whether the field is empty or not. This may be
11111	// used to include empty fields in Patch requests.
11112	ForceSendFields []string `json:"-"`
11113
11114	// NullFields is a list of field names (e.g. "Kind") to include in API
11115	// requests with the JSON null value. By default, fields with empty
11116	// values are omitted from API requests. However, any field with an
11117	// empty value appearing in NullFields will be sent to the server as
11118	// null. It is an error if a field in this list has a non-empty value.
11119	// This may be used to include null fields in Patch requests.
11120	NullFields []string `json:"-"`
11121}
11122
11123func (s *RemarketingListShare) MarshalJSON() ([]byte, error) {
11124	type NoMethod RemarketingListShare
11125	raw := NoMethod(*s)
11126	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11127}
11128
11129// RemarketingListsListResponse: Remarketing list response
11130type RemarketingListsListResponse struct {
11131	// Kind: Identifies what kind of resource this is. Value: the fixed
11132	// string "dfareporting#remarketingListsListResponse".
11133	Kind string `json:"kind,omitempty"`
11134
11135	// NextPageToken: Pagination token to be used for the next list
11136	// operation.
11137	NextPageToken string `json:"nextPageToken,omitempty"`
11138
11139	// RemarketingLists: Remarketing list collection.
11140	RemarketingLists []*RemarketingList `json:"remarketingLists,omitempty"`
11141
11142	// ServerResponse contains the HTTP response code and headers from the
11143	// server.
11144	googleapi.ServerResponse `json:"-"`
11145
11146	// ForceSendFields is a list of field names (e.g. "Kind") to
11147	// unconditionally include in API requests. By default, fields with
11148	// empty values are omitted from API requests. However, any non-pointer,
11149	// non-interface field appearing in ForceSendFields will be sent to the
11150	// server regardless of whether the field is empty or not. This may be
11151	// used to include empty fields in Patch requests.
11152	ForceSendFields []string `json:"-"`
11153
11154	// NullFields is a list of field names (e.g. "Kind") to include in API
11155	// requests with the JSON null value. By default, fields with empty
11156	// values are omitted from API requests. However, any field with an
11157	// empty value appearing in NullFields will be sent to the server as
11158	// null. It is an error if a field in this list has a non-empty value.
11159	// This may be used to include null fields in Patch requests.
11160	NullFields []string `json:"-"`
11161}
11162
11163func (s *RemarketingListsListResponse) MarshalJSON() ([]byte, error) {
11164	type NoMethod RemarketingListsListResponse
11165	raw := NoMethod(*s)
11166	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11167}
11168
11169// Report: Represents a Report resource.
11170type Report struct {
11171	// AccountId: The account ID to which this report belongs.
11172	AccountId int64 `json:"accountId,omitempty,string"`
11173
11174	// Criteria: The report criteria for a report of type "STANDARD".
11175	Criteria *ReportCriteria `json:"criteria,omitempty"`
11176
11177	// CrossDimensionReachCriteria: The report criteria for a report of type
11178	// "CROSS_DIMENSION_REACH".
11179	CrossDimensionReachCriteria *ReportCrossDimensionReachCriteria `json:"crossDimensionReachCriteria,omitempty"`
11180
11181	// Delivery: The report's email delivery settings.
11182	Delivery *ReportDelivery `json:"delivery,omitempty"`
11183
11184	// Etag: The eTag of this response for caching purposes.
11185	Etag string `json:"etag,omitempty"`
11186
11187	// FileName: The filename used when generating report files for this
11188	// report.
11189	FileName string `json:"fileName,omitempty"`
11190
11191	// FloodlightCriteria: The report criteria for a report of type
11192	// "FLOODLIGHT".
11193	FloodlightCriteria *ReportFloodlightCriteria `json:"floodlightCriteria,omitempty"`
11194
11195	// Format: The output format of the report. If not specified, default
11196	// format is "CSV". Note that the actual format in the completed report
11197	// file might differ if for instance the report's size exceeds the
11198	// format's capabilities. "CSV" will then be the fallback format.
11199	//
11200	// Possible values:
11201	//   "CSV"
11202	//   "EXCEL"
11203	Format string `json:"format,omitempty"`
11204
11205	// Id: The unique ID identifying this report resource.
11206	Id int64 `json:"id,omitempty,string"`
11207
11208	// Kind: The kind of resource this is, in this case dfareporting#report.
11209	Kind string `json:"kind,omitempty"`
11210
11211	// LastModifiedTime: The timestamp (in milliseconds since epoch) of when
11212	// this report was last modified.
11213	LastModifiedTime uint64 `json:"lastModifiedTime,omitempty,string"`
11214
11215	// Name: The name of the report.
11216	Name string `json:"name,omitempty"`
11217
11218	// OwnerProfileId: The user profile id of the owner of this report.
11219	OwnerProfileId int64 `json:"ownerProfileId,omitempty,string"`
11220
11221	// PathToConversionCriteria: The report criteria for a report of type
11222	// "PATH_TO_CONVERSION".
11223	PathToConversionCriteria *ReportPathToConversionCriteria `json:"pathToConversionCriteria,omitempty"`
11224
11225	// ReachCriteria: The report criteria for a report of type "REACH".
11226	ReachCriteria *ReportReachCriteria `json:"reachCriteria,omitempty"`
11227
11228	// Schedule: The report's schedule. Can only be set if the report's
11229	// 'dateRange' is a relative date range and the relative date range is
11230	// not "TODAY".
11231	Schedule *ReportSchedule `json:"schedule,omitempty"`
11232
11233	// SubAccountId: The subaccount ID to which this report belongs if
11234	// applicable.
11235	SubAccountId int64 `json:"subAccountId,omitempty,string"`
11236
11237	// Type: The type of the report.
11238	//
11239	// Possible values:
11240	//   "STANDARD"
11241	//   "REACH"
11242	//   "PATH_TO_CONVERSION"
11243	//   "CROSS_DIMENSION_REACH"
11244	//   "FLOODLIGHT"
11245	Type string `json:"type,omitempty"`
11246
11247	// ServerResponse contains the HTTP response code and headers from the
11248	// server.
11249	googleapi.ServerResponse `json:"-"`
11250
11251	// ForceSendFields is a list of field names (e.g. "AccountId") to
11252	// unconditionally include in API requests. By default, fields with
11253	// empty values are omitted from API requests. However, any non-pointer,
11254	// non-interface field appearing in ForceSendFields will be sent to the
11255	// server regardless of whether the field is empty or not. This may be
11256	// used to include empty fields in Patch requests.
11257	ForceSendFields []string `json:"-"`
11258
11259	// NullFields is a list of field names (e.g. "AccountId") to include in
11260	// API requests with the JSON null value. By default, fields with empty
11261	// values are omitted from API requests. However, any field with an
11262	// empty value appearing in NullFields will be sent to the server as
11263	// null. It is an error if a field in this list has a non-empty value.
11264	// This may be used to include null fields in Patch requests.
11265	NullFields []string `json:"-"`
11266}
11267
11268func (s *Report) MarshalJSON() ([]byte, error) {
11269	type NoMethod Report
11270	raw := NoMethod(*s)
11271	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11272}
11273
11274// ReportCriteria: The report criteria for a report of type "STANDARD".
11275type ReportCriteria struct {
11276	// Activities: Activity group.
11277	Activities *Activities `json:"activities,omitempty"`
11278
11279	// CustomRichMediaEvents: Custom Rich Media Events group.
11280	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
11281
11282	// DateRange: The date range for which this report should be run.
11283	DateRange *DateRange `json:"dateRange,omitempty"`
11284
11285	// DimensionFilters: The list of filters on which dimensions are
11286	// filtered. Filters for different dimensions are ANDed, filters for the
11287	// same dimension are grouped together and ORed.
11288	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11289
11290	// Dimensions: The list of standard dimensions the report should
11291	// include.
11292	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11293
11294	// MetricNames: The list of names of metrics the report should include.
11295	MetricNames []string `json:"metricNames,omitempty"`
11296
11297	// ForceSendFields is a list of field names (e.g. "Activities") to
11298	// unconditionally include in API requests. By default, fields with
11299	// empty values are omitted from API requests. However, any non-pointer,
11300	// non-interface field appearing in ForceSendFields will be sent to the
11301	// server regardless of whether the field is empty or not. This may be
11302	// used to include empty fields in Patch requests.
11303	ForceSendFields []string `json:"-"`
11304
11305	// NullFields is a list of field names (e.g. "Activities") to include in
11306	// API requests with the JSON null value. By default, fields with empty
11307	// values are omitted from API requests. However, any field with an
11308	// empty value appearing in NullFields will be sent to the server as
11309	// null. It is an error if a field in this list has a non-empty value.
11310	// This may be used to include null fields in Patch requests.
11311	NullFields []string `json:"-"`
11312}
11313
11314func (s *ReportCriteria) MarshalJSON() ([]byte, error) {
11315	type NoMethod ReportCriteria
11316	raw := NoMethod(*s)
11317	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11318}
11319
11320// ReportCrossDimensionReachCriteria: The report criteria for a report
11321// of type "CROSS_DIMENSION_REACH".
11322type ReportCrossDimensionReachCriteria struct {
11323	// Breakdown: The list of dimensions the report should include.
11324	Breakdown []*SortedDimension `json:"breakdown,omitempty"`
11325
11326	// DateRange: The date range this report should be run for.
11327	DateRange *DateRange `json:"dateRange,omitempty"`
11328
11329	// Dimension: The dimension option.
11330	//
11331	// Possible values:
11332	//   "ADVERTISER"
11333	//   "CAMPAIGN"
11334	//   "SITE_BY_ADVERTISER"
11335	//   "SITE_BY_CAMPAIGN"
11336	Dimension string `json:"dimension,omitempty"`
11337
11338	// DimensionFilters: The list of filters on which dimensions are
11339	// filtered.
11340	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11341
11342	// MetricNames: The list of names of metrics the report should include.
11343	MetricNames []string `json:"metricNames,omitempty"`
11344
11345	// OverlapMetricNames: The list of names of overlap metrics the report
11346	// should include.
11347	OverlapMetricNames []string `json:"overlapMetricNames,omitempty"`
11348
11349	// Pivoted: Whether the report is pivoted or not. Defaults to true.
11350	Pivoted bool `json:"pivoted,omitempty"`
11351
11352	// ForceSendFields is a list of field names (e.g. "Breakdown") to
11353	// unconditionally include in API requests. By default, fields with
11354	// empty values are omitted from API requests. However, any non-pointer,
11355	// non-interface field appearing in ForceSendFields will be sent to the
11356	// server regardless of whether the field is empty or not. This may be
11357	// used to include empty fields in Patch requests.
11358	ForceSendFields []string `json:"-"`
11359
11360	// NullFields is a list of field names (e.g. "Breakdown") to include in
11361	// API requests with the JSON null value. By default, fields with empty
11362	// values are omitted from API requests. However, any field with an
11363	// empty value appearing in NullFields will be sent to the server as
11364	// null. It is an error if a field in this list has a non-empty value.
11365	// This may be used to include null fields in Patch requests.
11366	NullFields []string `json:"-"`
11367}
11368
11369func (s *ReportCrossDimensionReachCriteria) MarshalJSON() ([]byte, error) {
11370	type NoMethod ReportCrossDimensionReachCriteria
11371	raw := NoMethod(*s)
11372	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11373}
11374
11375// ReportDelivery: The report's email delivery settings.
11376type ReportDelivery struct {
11377	// EmailOwner: Whether the report should be emailed to the report owner.
11378	EmailOwner bool `json:"emailOwner,omitempty"`
11379
11380	// EmailOwnerDeliveryType: The type of delivery for the owner to
11381	// receive, if enabled.
11382	//
11383	// Possible values:
11384	//   "LINK"
11385	//   "ATTACHMENT"
11386	EmailOwnerDeliveryType string `json:"emailOwnerDeliveryType,omitempty"`
11387
11388	// Message: The message to be sent with each email.
11389	Message string `json:"message,omitempty"`
11390
11391	// Recipients: The list of recipients to which to email the report.
11392	Recipients []*Recipient `json:"recipients,omitempty"`
11393
11394	// ForceSendFields is a list of field names (e.g. "EmailOwner") to
11395	// unconditionally include in API requests. By default, fields with
11396	// empty values are omitted from API requests. However, any non-pointer,
11397	// non-interface field appearing in ForceSendFields will be sent to the
11398	// server regardless of whether the field is empty or not. This may be
11399	// used to include empty fields in Patch requests.
11400	ForceSendFields []string `json:"-"`
11401
11402	// NullFields is a list of field names (e.g. "EmailOwner") to include in
11403	// API requests with the JSON null value. By default, fields with empty
11404	// values are omitted from API requests. However, any field with an
11405	// empty value appearing in NullFields will be sent to the server as
11406	// null. It is an error if a field in this list has a non-empty value.
11407	// This may be used to include null fields in Patch requests.
11408	NullFields []string `json:"-"`
11409}
11410
11411func (s *ReportDelivery) MarshalJSON() ([]byte, error) {
11412	type NoMethod ReportDelivery
11413	raw := NoMethod(*s)
11414	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11415}
11416
11417// ReportFloodlightCriteria: The report criteria for a report of type
11418// "FLOODLIGHT".
11419type ReportFloodlightCriteria struct {
11420	// CustomRichMediaEvents: The list of custom rich media events to
11421	// include.
11422	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
11423
11424	// DateRange: The date range this report should be run for.
11425	DateRange *DateRange `json:"dateRange,omitempty"`
11426
11427	// DimensionFilters: The list of filters on which dimensions are
11428	// filtered. Filters for different dimensions are ANDed, filters for the
11429	// same dimension are grouped together and ORed.
11430	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11431
11432	// Dimensions: The list of dimensions the report should include.
11433	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11434
11435	// FloodlightConfigId: The floodlight ID for which to show data in this
11436	// report. All advertisers associated with that ID will automatically be
11437	// added. The dimension of the value needs to be
11438	// 'dfa:floodlightConfigId'.
11439	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
11440
11441	// MetricNames: The list of names of metrics the report should include.
11442	MetricNames []string `json:"metricNames,omitempty"`
11443
11444	// ReportProperties: The properties of the report.
11445	ReportProperties *ReportFloodlightCriteriaReportProperties `json:"reportProperties,omitempty"`
11446
11447	// ForceSendFields is a list of field names (e.g.
11448	// "CustomRichMediaEvents") to unconditionally include in API requests.
11449	// By default, fields with empty values are omitted from API requests.
11450	// However, any non-pointer, non-interface field appearing in
11451	// ForceSendFields will be sent to the server regardless of whether the
11452	// field is empty or not. This may be used to include empty fields in
11453	// Patch requests.
11454	ForceSendFields []string `json:"-"`
11455
11456	// NullFields is a list of field names (e.g. "CustomRichMediaEvents") to
11457	// include in API requests with the JSON null value. By default, fields
11458	// with empty values are omitted from API requests. However, any field
11459	// with an empty value appearing in NullFields will be sent to the
11460	// server as null. It is an error if a field in this list has a
11461	// non-empty value. This may be used to include null fields in Patch
11462	// requests.
11463	NullFields []string `json:"-"`
11464}
11465
11466func (s *ReportFloodlightCriteria) MarshalJSON() ([]byte, error) {
11467	type NoMethod ReportFloodlightCriteria
11468	raw := NoMethod(*s)
11469	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11470}
11471
11472// ReportFloodlightCriteriaReportProperties: The properties of the
11473// report.
11474type ReportFloodlightCriteriaReportProperties struct {
11475	// IncludeAttributedIPConversions: Include conversions that have no
11476	// cookie, but do have an exposure path.
11477	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
11478
11479	// IncludeUnattributedCookieConversions: Include conversions of users
11480	// with a DoubleClick cookie but without an exposure. That means the
11481	// user did not click or see an ad from the advertiser within the
11482	// Floodlight group, or that the interaction happened outside the
11483	// lookback window.
11484	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
11485
11486	// IncludeUnattributedIPConversions: Include conversions that have no
11487	// associated cookies and no exposures. It’s therefore impossible to
11488	// know how the user was exposed to your ads during the lookback window
11489	// prior to a conversion.
11490	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
11491
11492	// ForceSendFields is a list of field names (e.g.
11493	// "IncludeAttributedIPConversions") to unconditionally include in API
11494	// requests. By default, fields with empty values are omitted from API
11495	// requests. However, any non-pointer, non-interface field appearing in
11496	// ForceSendFields will be sent to the server regardless of whether the
11497	// field is empty or not. This may be used to include empty fields in
11498	// Patch requests.
11499	ForceSendFields []string `json:"-"`
11500
11501	// NullFields is a list of field names (e.g.
11502	// "IncludeAttributedIPConversions") to include in API requests with the
11503	// JSON null value. By default, fields with empty values are omitted
11504	// from API requests. However, any field with an empty value appearing
11505	// in NullFields will be sent to the server as null. It is an error if a
11506	// field in this list has a non-empty value. This may be used to include
11507	// null fields in Patch requests.
11508	NullFields []string `json:"-"`
11509}
11510
11511func (s *ReportFloodlightCriteriaReportProperties) MarshalJSON() ([]byte, error) {
11512	type NoMethod ReportFloodlightCriteriaReportProperties
11513	raw := NoMethod(*s)
11514	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11515}
11516
11517// ReportPathToConversionCriteria: The report criteria for a report of
11518// type "PATH_TO_CONVERSION".
11519type ReportPathToConversionCriteria struct {
11520	// ActivityFilters: The list of 'dfa:activity' values to filter on.
11521	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
11522
11523	// ConversionDimensions: The list of conversion dimensions the report
11524	// should include.
11525	ConversionDimensions []*SortedDimension `json:"conversionDimensions,omitempty"`
11526
11527	// CustomFloodlightVariables: The list of custom floodlight variables
11528	// the report should include.
11529	CustomFloodlightVariables []*SortedDimension `json:"customFloodlightVariables,omitempty"`
11530
11531	// CustomRichMediaEvents: The list of custom rich media events to
11532	// include.
11533	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
11534
11535	// DateRange: The date range this report should be run for.
11536	DateRange *DateRange `json:"dateRange,omitempty"`
11537
11538	// FloodlightConfigId: The floodlight ID for which to show data in this
11539	// report. All advertisers associated with that ID will automatically be
11540	// added. The dimension of the value needs to be
11541	// 'dfa:floodlightConfigId'.
11542	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
11543
11544	// MetricNames: The list of names of metrics the report should include.
11545	MetricNames []string `json:"metricNames,omitempty"`
11546
11547	// PerInteractionDimensions: The list of per interaction dimensions the
11548	// report should include.
11549	PerInteractionDimensions []*SortedDimension `json:"perInteractionDimensions,omitempty"`
11550
11551	// ReportProperties: The properties of the report.
11552	ReportProperties *ReportPathToConversionCriteriaReportProperties `json:"reportProperties,omitempty"`
11553
11554	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
11555	// unconditionally include in API requests. By default, fields with
11556	// empty values are omitted from API requests. However, any non-pointer,
11557	// non-interface field appearing in ForceSendFields will be sent to the
11558	// server regardless of whether the field is empty or not. This may be
11559	// used to include empty fields in Patch requests.
11560	ForceSendFields []string `json:"-"`
11561
11562	// NullFields is a list of field names (e.g. "ActivityFilters") to
11563	// include in API requests with the JSON null value. By default, fields
11564	// with empty values are omitted from API requests. However, any field
11565	// with an empty value appearing in NullFields will be sent to the
11566	// server as null. It is an error if a field in this list has a
11567	// non-empty value. This may be used to include null fields in Patch
11568	// requests.
11569	NullFields []string `json:"-"`
11570}
11571
11572func (s *ReportPathToConversionCriteria) MarshalJSON() ([]byte, error) {
11573	type NoMethod ReportPathToConversionCriteria
11574	raw := NoMethod(*s)
11575	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11576}
11577
11578// ReportPathToConversionCriteriaReportProperties: The properties of the
11579// report.
11580type ReportPathToConversionCriteriaReportProperties struct {
11581	// ClicksLookbackWindow: CM360 checks to see if a click interaction
11582	// occurred within the specified period of time before a conversion. By
11583	// default the value is pulled from Floodlight or you can manually enter
11584	// a custom value. Valid values: 1-90.
11585	ClicksLookbackWindow int64 `json:"clicksLookbackWindow,omitempty"`
11586
11587	// ImpressionsLookbackWindow: CM360 checks to see if an impression
11588	// interaction occurred within the specified period of time before a
11589	// conversion. By default the value is pulled from Floodlight or you can
11590	// manually enter a custom value. Valid values: 1-90.
11591	ImpressionsLookbackWindow int64 `json:"impressionsLookbackWindow,omitempty"`
11592
11593	// IncludeAttributedIPConversions: Deprecated: has no effect.
11594	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
11595
11596	// IncludeUnattributedCookieConversions: Include conversions of users
11597	// with a DoubleClick cookie but without an exposure. That means the
11598	// user did not click or see an ad from the advertiser within the
11599	// Floodlight group, or that the interaction happened outside the
11600	// lookback window.
11601	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
11602
11603	// IncludeUnattributedIPConversions: Include conversions that have no
11604	// associated cookies and no exposures. It’s therefore impossible to
11605	// know how the user was exposed to your ads during the lookback window
11606	// prior to a conversion.
11607	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
11608
11609	// MaximumClickInteractions: The maximum number of click interactions to
11610	// include in the report. Advertisers currently paying for E2C reports
11611	// get up to 200 (100 clicks, 100 impressions). If another advertiser in
11612	// your network is paying for E2C, you can have up to 5 total exposures
11613	// per report.
11614	MaximumClickInteractions int64 `json:"maximumClickInteractions,omitempty"`
11615
11616	// MaximumImpressionInteractions: The maximum number of click
11617	// interactions to include in the report. Advertisers currently paying
11618	// for E2C reports get up to 200 (100 clicks, 100 impressions). If
11619	// another advertiser in your network is paying for E2C, you can have up
11620	// to 5 total exposures per report.
11621	MaximumImpressionInteractions int64 `json:"maximumImpressionInteractions,omitempty"`
11622
11623	// MaximumInteractionGap: The maximum amount of time that can take place
11624	// between interactions (clicks or impressions) by the same user. Valid
11625	// values: 1-90.
11626	MaximumInteractionGap int64 `json:"maximumInteractionGap,omitempty"`
11627
11628	// PivotOnInteractionPath: Enable pivoting on interaction path.
11629	PivotOnInteractionPath bool `json:"pivotOnInteractionPath,omitempty"`
11630
11631	// ForceSendFields is a list of field names (e.g.
11632	// "ClicksLookbackWindow") to unconditionally include in API requests.
11633	// By default, fields with empty values are omitted from API requests.
11634	// However, any non-pointer, non-interface field appearing in
11635	// ForceSendFields will be sent to the server regardless of whether the
11636	// field is empty or not. This may be used to include empty fields in
11637	// Patch requests.
11638	ForceSendFields []string `json:"-"`
11639
11640	// NullFields is a list of field names (e.g. "ClicksLookbackWindow") to
11641	// include in API requests with the JSON null value. By default, fields
11642	// with empty values are omitted from API requests. However, any field
11643	// with an empty value appearing in NullFields will be sent to the
11644	// server as null. It is an error if a field in this list has a
11645	// non-empty value. This may be used to include null fields in Patch
11646	// requests.
11647	NullFields []string `json:"-"`
11648}
11649
11650func (s *ReportPathToConversionCriteriaReportProperties) MarshalJSON() ([]byte, error) {
11651	type NoMethod ReportPathToConversionCriteriaReportProperties
11652	raw := NoMethod(*s)
11653	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11654}
11655
11656// ReportReachCriteria: The report criteria for a report of type
11657// "REACH".
11658type ReportReachCriteria struct {
11659	// Activities: Activity group.
11660	Activities *Activities `json:"activities,omitempty"`
11661
11662	// CustomRichMediaEvents: Custom Rich Media Events group.
11663	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
11664
11665	// DateRange: The date range this report should be run for.
11666	DateRange *DateRange `json:"dateRange,omitempty"`
11667
11668	// DimensionFilters: The list of filters on which dimensions are
11669	// filtered. Filters for different dimensions are ANDed, filters for the
11670	// same dimension are grouped together and ORed.
11671	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11672
11673	// Dimensions: The list of dimensions the report should include.
11674	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11675
11676	// EnableAllDimensionCombinations: Whether to enable all reach dimension
11677	// combinations in the report. Defaults to false. If enabled, the date
11678	// range of the report should be within the last 42 days.
11679	EnableAllDimensionCombinations bool `json:"enableAllDimensionCombinations,omitempty"`
11680
11681	// MetricNames: The list of names of metrics the report should include.
11682	MetricNames []string `json:"metricNames,omitempty"`
11683
11684	// ReachByFrequencyMetricNames: The list of names of Reach By Frequency
11685	// metrics the report should include.
11686	ReachByFrequencyMetricNames []string `json:"reachByFrequencyMetricNames,omitempty"`
11687
11688	// ForceSendFields is a list of field names (e.g. "Activities") to
11689	// unconditionally include in API requests. By default, fields with
11690	// empty values are omitted from API requests. However, any non-pointer,
11691	// non-interface field appearing in ForceSendFields will be sent to the
11692	// server regardless of whether the field is empty or not. This may be
11693	// used to include empty fields in Patch requests.
11694	ForceSendFields []string `json:"-"`
11695
11696	// NullFields is a list of field names (e.g. "Activities") to include in
11697	// API requests with the JSON null value. By default, fields with empty
11698	// values are omitted from API requests. However, any field with an
11699	// empty value appearing in NullFields will be sent to the server as
11700	// null. It is an error if a field in this list has a non-empty value.
11701	// This may be used to include null fields in Patch requests.
11702	NullFields []string `json:"-"`
11703}
11704
11705func (s *ReportReachCriteria) MarshalJSON() ([]byte, error) {
11706	type NoMethod ReportReachCriteria
11707	raw := NoMethod(*s)
11708	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11709}
11710
11711// ReportSchedule: The report's schedule. Can only be set if the
11712// report's 'dateRange' is a relative date range and the relative date
11713// range is not "TODAY".
11714type ReportSchedule struct {
11715	// Active: Whether the schedule is active or not. Must be set to either
11716	// true or false.
11717	Active bool `json:"active,omitempty"`
11718
11719	// Every: Defines every how many days, weeks or months the report should
11720	// be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
11721	// "MONTHLY".
11722	Every int64 `json:"every,omitempty"`
11723
11724	ExpirationDate string `json:"expirationDate,omitempty"`
11725
11726	// Repeats: The interval for which the report is repeated. Note: -
11727	// "DAILY" also requires field "every" to be set. - "WEEKLY" also
11728	// requires fields "every" and "repeatsOnWeekDays" to be set. -
11729	// "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
11730	// set.
11731	Repeats string `json:"repeats,omitempty"`
11732
11733	// RepeatsOnWeekDays: List of week days "WEEKLY" on which scheduled
11734	// reports should run.
11735	//
11736	// Possible values:
11737	//   "SUNDAY"
11738	//   "MONDAY"
11739	//   "TUESDAY"
11740	//   "WEDNESDAY"
11741	//   "THURSDAY"
11742	//   "FRIDAY"
11743	//   "SATURDAY"
11744	RepeatsOnWeekDays []string `json:"repeatsOnWeekDays,omitempty"`
11745
11746	// RunsOnDayOfMonth: Enum to define for "MONTHLY" scheduled reports
11747	// whether reports should be repeated on the same day of the month as
11748	// "startDate" or the same day of the week of the month. Example: If
11749	// 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH"
11750	// would run subsequent reports on the 2nd of every Month, and
11751	// "WEEK_OF_MONTH" would run subsequent reports on the first Monday of
11752	// the month.
11753	//
11754	// Possible values:
11755	//   "DAY_OF_MONTH"
11756	//   "WEEK_OF_MONTH"
11757	RunsOnDayOfMonth string `json:"runsOnDayOfMonth,omitempty"`
11758
11759	StartDate string `json:"startDate,omitempty"`
11760
11761	// ForceSendFields is a list of field names (e.g. "Active") to
11762	// unconditionally include in API requests. By default, fields with
11763	// empty values are omitted from API requests. However, any non-pointer,
11764	// non-interface field appearing in ForceSendFields will be sent to the
11765	// server regardless of whether the field is empty or not. This may be
11766	// used to include empty fields in Patch requests.
11767	ForceSendFields []string `json:"-"`
11768
11769	// NullFields is a list of field names (e.g. "Active") to include in API
11770	// requests with the JSON null value. By default, fields with empty
11771	// values are omitted from API requests. However, any field with an
11772	// empty value appearing in NullFields will be sent to the server as
11773	// null. It is an error if a field in this list has a non-empty value.
11774	// This may be used to include null fields in Patch requests.
11775	NullFields []string `json:"-"`
11776}
11777
11778func (s *ReportSchedule) MarshalJSON() ([]byte, error) {
11779	type NoMethod ReportSchedule
11780	raw := NoMethod(*s)
11781	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11782}
11783
11784// ReportCompatibleFields: Represents fields that are compatible to be
11785// selected for a report of type "STANDARD".
11786type ReportCompatibleFields struct {
11787	// DimensionFilters: Dimensions which are compatible to be selected in
11788	// the "dimensionFilters" section of the report.
11789	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
11790
11791	// Dimensions: Dimensions which are compatible to be selected in the
11792	// "dimensions" section of the report.
11793	Dimensions []*Dimension `json:"dimensions,omitempty"`
11794
11795	// Kind: The kind of resource this is, in this case
11796	// dfareporting#reportCompatibleFields.
11797	Kind string `json:"kind,omitempty"`
11798
11799	// Metrics: Metrics which are compatible to be selected in the
11800	// "metricNames" section of the report.
11801	Metrics []*Metric `json:"metrics,omitempty"`
11802
11803	// PivotedActivityMetrics: Metrics which are compatible to be selected
11804	// as activity metrics to pivot on in the "activities" section of the
11805	// report.
11806	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
11807
11808	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
11809	// unconditionally include in API requests. By default, fields with
11810	// empty values are omitted from API requests. However, any non-pointer,
11811	// non-interface field appearing in ForceSendFields will be sent to the
11812	// server regardless of whether the field is empty or not. This may be
11813	// used to include empty fields in Patch requests.
11814	ForceSendFields []string `json:"-"`
11815
11816	// NullFields is a list of field names (e.g. "DimensionFilters") to
11817	// include in API requests with the JSON null value. By default, fields
11818	// with empty values are omitted from API requests. However, any field
11819	// with an empty value appearing in NullFields will be sent to the
11820	// server as null. It is an error if a field in this list has a
11821	// non-empty value. This may be used to include null fields in Patch
11822	// requests.
11823	NullFields []string `json:"-"`
11824}
11825
11826func (s *ReportCompatibleFields) MarshalJSON() ([]byte, error) {
11827	type NoMethod ReportCompatibleFields
11828	raw := NoMethod(*s)
11829	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11830}
11831
11832// ReportList: Represents the list of reports.
11833type ReportList struct {
11834	// Etag: The eTag of this response for caching purposes.
11835	Etag string `json:"etag,omitempty"`
11836
11837	// Items: The reports returned in this response.
11838	Items []*Report `json:"items,omitempty"`
11839
11840	// Kind: The kind of list this is, in this case dfareporting#reportList.
11841	Kind string `json:"kind,omitempty"`
11842
11843	// NextPageToken: Continuation token used to page through reports. To
11844	// retrieve the next page of results, set the next request's "pageToken"
11845	// to the value of this field. The page token is only valid for a
11846	// limited amount of time and should not be persisted.
11847	NextPageToken string `json:"nextPageToken,omitempty"`
11848
11849	// ServerResponse contains the HTTP response code and headers from the
11850	// server.
11851	googleapi.ServerResponse `json:"-"`
11852
11853	// ForceSendFields is a list of field names (e.g. "Etag") to
11854	// unconditionally include in API requests. By default, fields with
11855	// empty values are omitted from API requests. However, any non-pointer,
11856	// non-interface field appearing in ForceSendFields will be sent to the
11857	// server regardless of whether the field is empty or not. This may be
11858	// used to include empty fields in Patch requests.
11859	ForceSendFields []string `json:"-"`
11860
11861	// NullFields is a list of field names (e.g. "Etag") to include in API
11862	// requests with the JSON null value. By default, fields with empty
11863	// values are omitted from API requests. However, any field with an
11864	// empty value appearing in NullFields will be sent to the server as
11865	// null. It is an error if a field in this list has a non-empty value.
11866	// This may be used to include null fields in Patch requests.
11867	NullFields []string `json:"-"`
11868}
11869
11870func (s *ReportList) MarshalJSON() ([]byte, error) {
11871	type NoMethod ReportList
11872	raw := NoMethod(*s)
11873	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11874}
11875
11876// ReportsConfiguration: Reporting Configuration
11877type ReportsConfiguration struct {
11878	// ExposureToConversionEnabled: Whether the exposure to conversion
11879	// report is enabled. This report shows detailed pathway information on
11880	// up to 10 of the most recent ad exposures seen by a user before
11881	// converting.
11882	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
11883
11884	// LookbackConfiguration: Default lookback windows for new advertisers
11885	// in this account.
11886	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
11887
11888	// ReportGenerationTimeZoneId: Report generation time zone ID of this
11889	// account. This is a required field that can only be changed by a
11890	// superuser. Acceptable values are: - "1" for "America/New_York" - "2"
11891	// for "Europe/London" - "3" for "Europe/Paris" - "4" for
11892	// "Africa/Johannesburg" - "5" for "Asia/Jerusalem" - "6" for
11893	// "Asia/Shanghai" - "7" for "Asia/Hong_Kong" - "8" for "Asia/Tokyo" -
11894	// "9" for "Australia/Sydney" - "10" for "Asia/Dubai" - "11" for
11895	// "America/Los_Angeles" - "12" for "Pacific/Auckland" - "13" for
11896	// "America/Sao_Paulo" - "16" for "America/Asuncion" - "17" for
11897	// "America/Chicago" - "18" for "America/Denver" - "19" for
11898	// "America/St_Johns" - "20" for "Asia/Dhaka" - "21" for "Asia/Jakarta"
11899	// - "22" for "Asia/Kabul" - "23" for "Asia/Karachi" - "24" for
11900	// "Asia/Calcutta" - "25" for "Asia/Pyongyang" - "26" for "Asia/Rangoon"
11901	// - "27" for "Atlantic/Cape_Verde" - "28" for "Atlantic/South_Georgia"
11902	// - "29" for "Australia/Adelaide" - "30" for "Australia/Lord_Howe" -
11903	// "31" for "Europe/Moscow" - "32" for "Pacific/Kiritimati" - "35" for
11904	// "Pacific/Norfolk" - "36" for "Pacific/Tongatapu"
11905	ReportGenerationTimeZoneId int64 `json:"reportGenerationTimeZoneId,omitempty,string"`
11906
11907	// ForceSendFields is a list of field names (e.g.
11908	// "ExposureToConversionEnabled") to unconditionally include in API
11909	// requests. By default, fields with empty values are omitted from API
11910	// requests. However, any non-pointer, non-interface field appearing in
11911	// ForceSendFields will be sent to the server regardless of whether the
11912	// field is empty or not. This may be used to include empty fields in
11913	// Patch requests.
11914	ForceSendFields []string `json:"-"`
11915
11916	// NullFields is a list of field names (e.g.
11917	// "ExposureToConversionEnabled") to include in API requests with the
11918	// JSON null value. By default, fields with empty values are omitted
11919	// from API requests. However, any field with an empty value appearing
11920	// in NullFields will be sent to the server as null. It is an error if a
11921	// field in this list has a non-empty value. This may be used to include
11922	// null fields in Patch requests.
11923	NullFields []string `json:"-"`
11924}
11925
11926func (s *ReportsConfiguration) MarshalJSON() ([]byte, error) {
11927	type NoMethod ReportsConfiguration
11928	raw := NoMethod(*s)
11929	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11930}
11931
11932// RichMediaExitOverride: Rich Media Exit Override.
11933type RichMediaExitOverride struct {
11934	// ClickThroughUrl: Click-through URL of this rich media exit override.
11935	// Applicable if the enabled field is set to true.
11936	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
11937
11938	// Enabled: Whether to use the clickThroughUrl. If false, the
11939	// creative-level exit will be used.
11940	Enabled bool `json:"enabled,omitempty"`
11941
11942	// ExitId: ID for the override to refer to a specific exit in the
11943	// creative.
11944	ExitId int64 `json:"exitId,omitempty,string"`
11945
11946	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
11947	// unconditionally include in API requests. By default, fields with
11948	// empty values are omitted from API requests. However, any non-pointer,
11949	// non-interface field appearing in ForceSendFields will be sent to the
11950	// server regardless of whether the field is empty or not. This may be
11951	// used to include empty fields in Patch requests.
11952	ForceSendFields []string `json:"-"`
11953
11954	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
11955	// include in API requests with the JSON null value. By default, fields
11956	// with empty values are omitted from API requests. However, any field
11957	// with an empty value appearing in NullFields will be sent to the
11958	// server as null. It is an error if a field in this list has a
11959	// non-empty value. This may be used to include null fields in Patch
11960	// requests.
11961	NullFields []string `json:"-"`
11962}
11963
11964func (s *RichMediaExitOverride) MarshalJSON() ([]byte, error) {
11965	type NoMethod RichMediaExitOverride
11966	raw := NoMethod(*s)
11967	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11968}
11969
11970// Rule: A rule associates an asset with a targeting template for
11971// asset-level targeting. Applicable to INSTREAM_VIDEO creatives.
11972type Rule struct {
11973	// AssetId: A creativeAssets[].id. This should refer to one of the
11974	// parent assets in this creative. This is a required field.
11975	AssetId int64 `json:"assetId,omitempty,string"`
11976
11977	// Name: A user-friendly name for this rule. This is a required field.
11978	Name string `json:"name,omitempty"`
11979
11980	// TargetingTemplateId: A targeting template ID. The targeting from the
11981	// targeting template will be used to determine whether this asset
11982	// should be served. This is a required field.
11983	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
11984
11985	// ForceSendFields is a list of field names (e.g. "AssetId") to
11986	// unconditionally include in API requests. By default, fields with
11987	// empty values are omitted from API requests. However, any non-pointer,
11988	// non-interface field appearing in ForceSendFields will be sent to the
11989	// server regardless of whether the field is empty or not. This may be
11990	// used to include empty fields in Patch requests.
11991	ForceSendFields []string `json:"-"`
11992
11993	// NullFields is a list of field names (e.g. "AssetId") to include in
11994	// API requests with the JSON null value. By default, fields with empty
11995	// values are omitted from API requests. However, any field with an
11996	// empty value appearing in NullFields will be sent to the server as
11997	// null. It is an error if a field in this list has a non-empty value.
11998	// This may be used to include null fields in Patch requests.
11999	NullFields []string `json:"-"`
12000}
12001
12002func (s *Rule) MarshalJSON() ([]byte, error) {
12003	type NoMethod Rule
12004	raw := NoMethod(*s)
12005	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12006}
12007
12008// Site: Contains properties of a site.
12009type Site struct {
12010	// AccountId: Account ID of this site. This is a read-only field that
12011	// can be left blank.
12012	AccountId int64 `json:"accountId,omitempty,string"`
12013
12014	// Approved: Whether this site is approved.
12015	Approved bool `json:"approved,omitempty"`
12016
12017	// DirectorySiteId: Directory site associated with this site. This is a
12018	// required field that is read-only after insertion.
12019	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
12020
12021	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
12022	// directory site. This is a read-only, auto-generated field.
12023	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
12024
12025	// Id: ID of this site. This is a read-only, auto-generated field.
12026	Id int64 `json:"id,omitempty,string"`
12027
12028	// IdDimensionValue: Dimension value for the ID of this site. This is a
12029	// read-only, auto-generated field.
12030	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
12031
12032	// KeyName: Key name of this site. This is a read-only, auto-generated
12033	// field.
12034	KeyName string `json:"keyName,omitempty"`
12035
12036	// Kind: Identifies what kind of resource this is. Value: the fixed
12037	// string "dfareporting#site".
12038	Kind string `json:"kind,omitempty"`
12039
12040	// Name: Name of this site.This is a required field. Must be less than
12041	// 128 characters long. If this site is under a subaccount, the name
12042	// must be unique among sites of the same subaccount. Otherwise, this
12043	// site is a top-level site, and the name must be unique among top-level
12044	// sites of the same account.
12045	Name string `json:"name,omitempty"`
12046
12047	// SiteContacts: Site contacts.
12048	SiteContacts []*SiteContact `json:"siteContacts,omitempty"`
12049
12050	// SiteSettings: Site-wide settings.
12051	SiteSettings *SiteSettings `json:"siteSettings,omitempty"`
12052
12053	// SubaccountId: Subaccount ID of this site. This is a read-only field
12054	// that can be left blank.
12055	SubaccountId int64 `json:"subaccountId,omitempty,string"`
12056
12057	// VideoSettings: Default video settings for new placements created
12058	// under this site. This value will be used to populate the
12059	// placements.videoSettings field, when no value is specified for the
12060	// new placement.
12061	VideoSettings *SiteVideoSettings `json:"videoSettings,omitempty"`
12062
12063	// ServerResponse contains the HTTP response code and headers from the
12064	// server.
12065	googleapi.ServerResponse `json:"-"`
12066
12067	// ForceSendFields is a list of field names (e.g. "AccountId") to
12068	// unconditionally include in API requests. By default, fields with
12069	// empty values are omitted from API requests. However, any non-pointer,
12070	// non-interface field appearing in ForceSendFields will be sent to the
12071	// server regardless of whether the field is empty or not. This may be
12072	// used to include empty fields in Patch requests.
12073	ForceSendFields []string `json:"-"`
12074
12075	// NullFields is a list of field names (e.g. "AccountId") to include in
12076	// API requests with the JSON null value. By default, fields with empty
12077	// values are omitted from API requests. However, any field with an
12078	// empty value appearing in NullFields will be sent to the server as
12079	// null. It is an error if a field in this list has a non-empty value.
12080	// This may be used to include null fields in Patch requests.
12081	NullFields []string `json:"-"`
12082}
12083
12084func (s *Site) MarshalJSON() ([]byte, error) {
12085	type NoMethod Site
12086	raw := NoMethod(*s)
12087	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12088}
12089
12090// SiteCompanionSetting: Companion Settings
12091type SiteCompanionSetting struct {
12092	// CompanionsDisabled: Whether companions are disabled for this site
12093	// template.
12094	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
12095
12096	// EnabledSizes: Allowlist of companion sizes to be served via this site
12097	// template. Set this list to null or empty to serve all companion
12098	// sizes.
12099	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
12100
12101	// ImageOnly: Whether to serve only static images as companions.
12102	ImageOnly bool `json:"imageOnly,omitempty"`
12103
12104	// Kind: Identifies what kind of resource this is. Value: the fixed
12105	// string "dfareporting#siteCompanionSetting".
12106	Kind string `json:"kind,omitempty"`
12107
12108	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
12109	// to unconditionally include in API requests. By default, fields with
12110	// empty values are omitted from API requests. However, any non-pointer,
12111	// non-interface field appearing in ForceSendFields will be sent to the
12112	// server regardless of whether the field is empty or not. This may be
12113	// used to include empty fields in Patch requests.
12114	ForceSendFields []string `json:"-"`
12115
12116	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
12117	// include in API requests with the JSON null value. By default, fields
12118	// with empty values are omitted from API requests. However, any field
12119	// with an empty value appearing in NullFields will be sent to the
12120	// server as null. It is an error if a field in this list has a
12121	// non-empty value. This may be used to include null fields in Patch
12122	// requests.
12123	NullFields []string `json:"-"`
12124}
12125
12126func (s *SiteCompanionSetting) MarshalJSON() ([]byte, error) {
12127	type NoMethod SiteCompanionSetting
12128	raw := NoMethod(*s)
12129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12130}
12131
12132// SiteContact: Site Contact
12133type SiteContact struct {
12134	// Address: Address of this site contact.
12135	Address string `json:"address,omitempty"`
12136
12137	// ContactType: Site contact type.
12138	//
12139	// Possible values:
12140	//   "SALES_PERSON"
12141	//   "TRAFFICKER"
12142	ContactType string `json:"contactType,omitempty"`
12143
12144	// Email: Email address of this site contact. This is a required field.
12145	Email string `json:"email,omitempty"`
12146
12147	// FirstName: First name of this site contact.
12148	FirstName string `json:"firstName,omitempty"`
12149
12150	// Id: ID of this site contact. This is a read-only, auto-generated
12151	// field.
12152	Id int64 `json:"id,omitempty,string"`
12153
12154	// LastName: Last name of this site contact.
12155	LastName string `json:"lastName,omitempty"`
12156
12157	// Phone: Primary phone number of this site contact.
12158	Phone string `json:"phone,omitempty"`
12159
12160	// Title: Title or designation of this site contact.
12161	Title string `json:"title,omitempty"`
12162
12163	// ForceSendFields is a list of field names (e.g. "Address") to
12164	// unconditionally include in API requests. By default, fields with
12165	// empty values are omitted from API requests. However, any non-pointer,
12166	// non-interface field appearing in ForceSendFields will be sent to the
12167	// server regardless of whether the field is empty or not. This may be
12168	// used to include empty fields in Patch requests.
12169	ForceSendFields []string `json:"-"`
12170
12171	// NullFields is a list of field names (e.g. "Address") to include in
12172	// API requests with the JSON null value. By default, fields with empty
12173	// values are omitted from API requests. However, any field with an
12174	// empty value appearing in NullFields will be sent to the server as
12175	// null. It is an error if a field in this list has a non-empty value.
12176	// This may be used to include null fields in Patch requests.
12177	NullFields []string `json:"-"`
12178}
12179
12180func (s *SiteContact) MarshalJSON() ([]byte, error) {
12181	type NoMethod SiteContact
12182	raw := NoMethod(*s)
12183	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12184}
12185
12186// SiteSettings: Site Settings
12187type SiteSettings struct {
12188	// ActiveViewOptOut: Whether active view creatives are disabled for this
12189	// site.
12190	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
12191
12192	// AdBlockingOptOut: Whether this site opts out of ad blocking. When
12193	// true, ad blocking is disabled for all placements under the site,
12194	// regardless of the individual placement settings. When false, the
12195	// campaign and placement settings take effect.
12196	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
12197
12198	// DisableNewCookie: Whether new cookies are disabled for this site.
12199	DisableNewCookie bool `json:"disableNewCookie,omitempty"`
12200
12201	// TagSetting: Configuration settings for dynamic and image floodlight
12202	// tags.
12203	TagSetting *TagSetting `json:"tagSetting,omitempty"`
12204
12205	// VideoActiveViewOptOutTemplate: Whether Verification and ActiveView
12206	// for in-stream video creatives are disabled by default for new
12207	// placements created under this site. This value will be used to
12208	// populate the placement.videoActiveViewOptOut field, when no value is
12209	// specified for the new placement.
12210	VideoActiveViewOptOutTemplate bool `json:"videoActiveViewOptOutTemplate,omitempty"`
12211
12212	// VpaidAdapterChoiceTemplate: Default VPAID adapter setting for new
12213	// placements created under this site. This value will be used to
12214	// populate the placements.vpaidAdapterChoice field, when no value is
12215	// specified for the new placement. Controls which VPAID format the
12216	// measurement adapter will use for in-stream video creatives assigned
12217	// to the placement. The publisher's specifications will typically
12218	// determine this setting. For VPAID creatives, the adapter format will
12219	// match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter).
12220	// *Note:* Flash is no longer supported. This field now defaults to
12221	// HTML5 when the following values are provided: FLASH, BOTH.
12222	//
12223	// Possible values:
12224	//   "DEFAULT"
12225	//   "FLASH"
12226	//   "HTML5"
12227	//   "BOTH"
12228	VpaidAdapterChoiceTemplate string `json:"vpaidAdapterChoiceTemplate,omitempty"`
12229
12230	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
12231	// unconditionally include in API requests. By default, fields with
12232	// empty values are omitted from API requests. However, any non-pointer,
12233	// non-interface field appearing in ForceSendFields will be sent to the
12234	// server regardless of whether the field is empty or not. This may be
12235	// used to include empty fields in Patch requests.
12236	ForceSendFields []string `json:"-"`
12237
12238	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
12239	// include in API requests with the JSON null value. By default, fields
12240	// with empty values are omitted from API requests. However, any field
12241	// with an empty value appearing in NullFields will be sent to the
12242	// server as null. It is an error if a field in this list has a
12243	// non-empty value. This may be used to include null fields in Patch
12244	// requests.
12245	NullFields []string `json:"-"`
12246}
12247
12248func (s *SiteSettings) MarshalJSON() ([]byte, error) {
12249	type NoMethod SiteSettings
12250	raw := NoMethod(*s)
12251	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12252}
12253
12254// SiteSkippableSetting: Skippable Settings
12255type SiteSkippableSetting struct {
12256	// Kind: Identifies what kind of resource this is. Value: the fixed
12257	// string "dfareporting#siteSkippableSetting".
12258	Kind string `json:"kind,omitempty"`
12259
12260	// ProgressOffset: Amount of time to play videos served to this site
12261	// template before counting a view. Applicable when skippable is true.
12262	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
12263
12264	// SkipOffset: Amount of time to play videos served to this site before
12265	// the skip button should appear. Applicable when skippable is true.
12266	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
12267
12268	// Skippable: Whether the user can skip creatives served to this site.
12269	// This will act as default for new placements created under this site.
12270	Skippable bool `json:"skippable,omitempty"`
12271
12272	// ForceSendFields is a list of field names (e.g. "Kind") to
12273	// unconditionally include in API requests. By default, fields with
12274	// empty values are omitted from API requests. However, any non-pointer,
12275	// non-interface field appearing in ForceSendFields will be sent to the
12276	// server regardless of whether the field is empty or not. This may be
12277	// used to include empty fields in Patch requests.
12278	ForceSendFields []string `json:"-"`
12279
12280	// NullFields is a list of field names (e.g. "Kind") to include in API
12281	// requests with the JSON null value. By default, fields with empty
12282	// values are omitted from API requests. However, any field with an
12283	// empty value appearing in NullFields will be sent to the server as
12284	// null. It is an error if a field in this list has a non-empty value.
12285	// This may be used to include null fields in Patch requests.
12286	NullFields []string `json:"-"`
12287}
12288
12289func (s *SiteSkippableSetting) MarshalJSON() ([]byte, error) {
12290	type NoMethod SiteSkippableSetting
12291	raw := NoMethod(*s)
12292	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12293}
12294
12295// SiteTranscodeSetting: Transcode Settings
12296type SiteTranscodeSetting struct {
12297	// EnabledVideoFormats: Allowlist of video formats to be served to this
12298	// site template. Set this list to null or empty to serve all video
12299	// formats.
12300	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
12301
12302	// Kind: Identifies what kind of resource this is. Value: the fixed
12303	// string "dfareporting#siteTranscodeSetting".
12304	Kind string `json:"kind,omitempty"`
12305
12306	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
12307	// to unconditionally include in API requests. By default, fields with
12308	// empty values are omitted from API requests. However, any non-pointer,
12309	// non-interface field appearing in ForceSendFields will be sent to the
12310	// server regardless of whether the field is empty or not. This may be
12311	// used to include empty fields in Patch requests.
12312	ForceSendFields []string `json:"-"`
12313
12314	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
12315	// include in API requests with the JSON null value. By default, fields
12316	// with empty values are omitted from API requests. However, any field
12317	// with an empty value appearing in NullFields will be sent to the
12318	// server as null. It is an error if a field in this list has a
12319	// non-empty value. This may be used to include null fields in Patch
12320	// requests.
12321	NullFields []string `json:"-"`
12322}
12323
12324func (s *SiteTranscodeSetting) MarshalJSON() ([]byte, error) {
12325	type NoMethod SiteTranscodeSetting
12326	raw := NoMethod(*s)
12327	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12328}
12329
12330// SiteVideoSettings: Video Settings
12331type SiteVideoSettings struct {
12332	// CompanionSettings: Settings for the companion creatives of video
12333	// creatives served to this site.
12334	CompanionSettings *SiteCompanionSetting `json:"companionSettings,omitempty"`
12335
12336	// Kind: Identifies what kind of resource this is. Value: the fixed
12337	// string "dfareporting#siteVideoSettings".
12338	Kind string `json:"kind,omitempty"`
12339
12340	// Orientation: Orientation of a site template used for video. This will
12341	// act as default for new placements created under this site.
12342	//
12343	// Possible values:
12344	//   "ANY"
12345	//   "LANDSCAPE"
12346	//   "PORTRAIT"
12347	Orientation string `json:"orientation,omitempty"`
12348
12349	// SkippableSettings: Settings for the skippability of video creatives
12350	// served to this site. This will act as default for new placements
12351	// created under this site.
12352	SkippableSettings *SiteSkippableSetting `json:"skippableSettings,omitempty"`
12353
12354	// TranscodeSettings: Settings for the transcodes of video creatives
12355	// served to this site. This will act as default for new placements
12356	// created under this site.
12357	TranscodeSettings *SiteTranscodeSetting `json:"transcodeSettings,omitempty"`
12358
12359	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
12360	// to unconditionally include in API requests. By default, fields with
12361	// empty values are omitted from API requests. However, any non-pointer,
12362	// non-interface field appearing in ForceSendFields will be sent to the
12363	// server regardless of whether the field is empty or not. This may be
12364	// used to include empty fields in Patch requests.
12365	ForceSendFields []string `json:"-"`
12366
12367	// NullFields is a list of field names (e.g. "CompanionSettings") to
12368	// include in API requests with the JSON null value. By default, fields
12369	// with empty values are omitted from API requests. However, any field
12370	// with an empty value appearing in NullFields will be sent to the
12371	// server as null. It is an error if a field in this list has a
12372	// non-empty value. This may be used to include null fields in Patch
12373	// requests.
12374	NullFields []string `json:"-"`
12375}
12376
12377func (s *SiteVideoSettings) MarshalJSON() ([]byte, error) {
12378	type NoMethod SiteVideoSettings
12379	raw := NoMethod(*s)
12380	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12381}
12382
12383// SitesListResponse: Site List Response
12384type SitesListResponse struct {
12385	// Kind: Identifies what kind of resource this is. Value: the fixed
12386	// string "dfareporting#sitesListResponse".
12387	Kind string `json:"kind,omitempty"`
12388
12389	// NextPageToken: Pagination token to be used for the next list
12390	// operation.
12391	NextPageToken string `json:"nextPageToken,omitempty"`
12392
12393	// Sites: Site collection.
12394	Sites []*Site `json:"sites,omitempty"`
12395
12396	// ServerResponse contains the HTTP response code and headers from the
12397	// server.
12398	googleapi.ServerResponse `json:"-"`
12399
12400	// ForceSendFields is a list of field names (e.g. "Kind") to
12401	// unconditionally include in API requests. By default, fields with
12402	// empty values are omitted from API requests. However, any non-pointer,
12403	// non-interface field appearing in ForceSendFields will be sent to the
12404	// server regardless of whether the field is empty or not. This may be
12405	// used to include empty fields in Patch requests.
12406	ForceSendFields []string `json:"-"`
12407
12408	// NullFields is a list of field names (e.g. "Kind") to include in API
12409	// requests with the JSON null value. By default, fields with empty
12410	// values are omitted from API requests. However, any field with an
12411	// empty value appearing in NullFields will be sent to the server as
12412	// null. It is an error if a field in this list has a non-empty value.
12413	// This may be used to include null fields in Patch requests.
12414	NullFields []string `json:"-"`
12415}
12416
12417func (s *SitesListResponse) MarshalJSON() ([]byte, error) {
12418	type NoMethod SitesListResponse
12419	raw := NoMethod(*s)
12420	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12421}
12422
12423// Size: Represents the dimensions of ads, placements, creatives, or
12424// creative assets.
12425type Size struct {
12426	// Height: Height of this size. Acceptable values are 0 to 32767,
12427	// inclusive.
12428	Height int64 `json:"height,omitempty"`
12429
12430	// Iab: IAB standard size. This is a read-only, auto-generated field.
12431	Iab bool `json:"iab,omitempty"`
12432
12433	// Id: ID of this size. This is a read-only, auto-generated field.
12434	Id int64 `json:"id,omitempty,string"`
12435
12436	// Kind: Identifies what kind of resource this is. Value: the fixed
12437	// string "dfareporting#size".
12438	Kind string `json:"kind,omitempty"`
12439
12440	// Width: Width of this size. Acceptable values are 0 to 32767,
12441	// inclusive.
12442	Width int64 `json:"width,omitempty"`
12443
12444	// ServerResponse contains the HTTP response code and headers from the
12445	// server.
12446	googleapi.ServerResponse `json:"-"`
12447
12448	// ForceSendFields is a list of field names (e.g. "Height") to
12449	// unconditionally include in API requests. By default, fields with
12450	// empty values are omitted from API requests. However, any non-pointer,
12451	// non-interface field appearing in ForceSendFields will be sent to the
12452	// server regardless of whether the field is empty or not. This may be
12453	// used to include empty fields in Patch requests.
12454	ForceSendFields []string `json:"-"`
12455
12456	// NullFields is a list of field names (e.g. "Height") to include in API
12457	// requests with the JSON null value. By default, fields with empty
12458	// values are omitted from API requests. However, any field with an
12459	// empty value appearing in NullFields will be sent to the server as
12460	// null. It is an error if a field in this list has a non-empty value.
12461	// This may be used to include null fields in Patch requests.
12462	NullFields []string `json:"-"`
12463}
12464
12465func (s *Size) MarshalJSON() ([]byte, error) {
12466	type NoMethod Size
12467	raw := NoMethod(*s)
12468	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12469}
12470
12471// SizesListResponse: Size List Response
12472type SizesListResponse struct {
12473	// Kind: Identifies what kind of resource this is. Value: the fixed
12474	// string "dfareporting#sizesListResponse".
12475	Kind string `json:"kind,omitempty"`
12476
12477	// Sizes: Size collection.
12478	Sizes []*Size `json:"sizes,omitempty"`
12479
12480	// ServerResponse contains the HTTP response code and headers from the
12481	// server.
12482	googleapi.ServerResponse `json:"-"`
12483
12484	// ForceSendFields is a list of field names (e.g. "Kind") to
12485	// unconditionally include in API requests. By default, fields with
12486	// empty values are omitted from API requests. However, any non-pointer,
12487	// non-interface field appearing in ForceSendFields will be sent to the
12488	// server regardless of whether the field is empty or not. This may be
12489	// used to include empty fields in Patch requests.
12490	ForceSendFields []string `json:"-"`
12491
12492	// NullFields is a list of field names (e.g. "Kind") to include in API
12493	// requests with the JSON null value. By default, fields with empty
12494	// values are omitted from API requests. However, any field with an
12495	// empty value appearing in NullFields will be sent to the server as
12496	// null. It is an error if a field in this list has a non-empty value.
12497	// This may be used to include null fields in Patch requests.
12498	NullFields []string `json:"-"`
12499}
12500
12501func (s *SizesListResponse) MarshalJSON() ([]byte, error) {
12502	type NoMethod SizesListResponse
12503	raw := NoMethod(*s)
12504	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12505}
12506
12507// SkippableSetting: Skippable Settings
12508type SkippableSetting struct {
12509	// Kind: Identifies what kind of resource this is. Value: the fixed
12510	// string "dfareporting#skippableSetting".
12511	Kind string `json:"kind,omitempty"`
12512
12513	// ProgressOffset: Amount of time to play videos served to this
12514	// placement before counting a view. Applicable when skippable is true.
12515	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
12516
12517	// SkipOffset: Amount of time to play videos served to this placement
12518	// before the skip button should appear. Applicable when skippable is
12519	// true.
12520	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
12521
12522	// Skippable: Whether the user can skip creatives served to this
12523	// placement.
12524	Skippable bool `json:"skippable,omitempty"`
12525
12526	// ForceSendFields is a list of field names (e.g. "Kind") to
12527	// unconditionally include in API requests. By default, fields with
12528	// empty values are omitted from API requests. However, any non-pointer,
12529	// non-interface field appearing in ForceSendFields will be sent to the
12530	// server regardless of whether the field is empty or not. This may be
12531	// used to include empty fields in Patch requests.
12532	ForceSendFields []string `json:"-"`
12533
12534	// NullFields is a list of field names (e.g. "Kind") to include in API
12535	// requests with the JSON null value. By default, fields with empty
12536	// values are omitted from API requests. However, any field with an
12537	// empty value appearing in NullFields will be sent to the server as
12538	// null. It is an error if a field in this list has a non-empty value.
12539	// This may be used to include null fields in Patch requests.
12540	NullFields []string `json:"-"`
12541}
12542
12543func (s *SkippableSetting) MarshalJSON() ([]byte, error) {
12544	type NoMethod SkippableSetting
12545	raw := NoMethod(*s)
12546	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12547}
12548
12549// SortedDimension: Represents a sorted dimension.
12550type SortedDimension struct {
12551	// Kind: The kind of resource this is, in this case
12552	// dfareporting#sortedDimension.
12553	Kind string `json:"kind,omitempty"`
12554
12555	// Name: The name of the dimension.
12556	Name string `json:"name,omitempty"`
12557
12558	// SortOrder: An optional sort order for the dimension column.
12559	//
12560	// Possible values:
12561	//   "ASCENDING"
12562	//   "DESCENDING"
12563	SortOrder string `json:"sortOrder,omitempty"`
12564
12565	// ForceSendFields is a list of field names (e.g. "Kind") to
12566	// unconditionally include in API requests. By default, fields with
12567	// empty values are omitted from API requests. However, any non-pointer,
12568	// non-interface field appearing in ForceSendFields will be sent to the
12569	// server regardless of whether the field is empty or not. This may be
12570	// used to include empty fields in Patch requests.
12571	ForceSendFields []string `json:"-"`
12572
12573	// NullFields is a list of field names (e.g. "Kind") to include in API
12574	// requests with the JSON null value. By default, fields with empty
12575	// values are omitted from API requests. However, any field with an
12576	// empty value appearing in NullFields will be sent to the server as
12577	// null. It is an error if a field in this list has a non-empty value.
12578	// This may be used to include null fields in Patch requests.
12579	NullFields []string `json:"-"`
12580}
12581
12582func (s *SortedDimension) MarshalJSON() ([]byte, error) {
12583	type NoMethod SortedDimension
12584	raw := NoMethod(*s)
12585	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12586}
12587
12588// Subaccount: Contains properties of a Campaign Manager subaccount.
12589type Subaccount struct {
12590	// AccountId: ID of the account that contains this subaccount. This is a
12591	// read-only field that can be left blank.
12592	AccountId int64 `json:"accountId,omitempty,string"`
12593
12594	// AvailablePermissionIds: IDs of the available user role permissions
12595	// for this subaccount.
12596	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
12597
12598	// Id: ID of this subaccount. This is a read-only, auto-generated field.
12599	Id int64 `json:"id,omitempty,string"`
12600
12601	// Kind: Identifies what kind of resource this is. Value: the fixed
12602	// string "dfareporting#subaccount".
12603	Kind string `json:"kind,omitempty"`
12604
12605	// Name: Name of this subaccount. This is a required field. Must be less
12606	// than 128 characters long and be unique among subaccounts of the same
12607	// account.
12608	Name string `json:"name,omitempty"`
12609
12610	// ServerResponse contains the HTTP response code and headers from the
12611	// server.
12612	googleapi.ServerResponse `json:"-"`
12613
12614	// ForceSendFields is a list of field names (e.g. "AccountId") to
12615	// unconditionally include in API requests. By default, fields with
12616	// empty values are omitted from API requests. However, any non-pointer,
12617	// non-interface field appearing in ForceSendFields will be sent to the
12618	// server regardless of whether the field is empty or not. This may be
12619	// used to include empty fields in Patch requests.
12620	ForceSendFields []string `json:"-"`
12621
12622	// NullFields is a list of field names (e.g. "AccountId") to include in
12623	// API requests with the JSON null value. By default, fields with empty
12624	// values are omitted from API requests. However, any field with an
12625	// empty value appearing in NullFields will be sent to the server as
12626	// null. It is an error if a field in this list has a non-empty value.
12627	// This may be used to include null fields in Patch requests.
12628	NullFields []string `json:"-"`
12629}
12630
12631func (s *Subaccount) MarshalJSON() ([]byte, error) {
12632	type NoMethod Subaccount
12633	raw := NoMethod(*s)
12634	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12635}
12636
12637// SubaccountsListResponse: Subaccount List Response
12638type SubaccountsListResponse struct {
12639	// Kind: Identifies what kind of resource this is. Value: the fixed
12640	// string "dfareporting#subaccountsListResponse".
12641	Kind string `json:"kind,omitempty"`
12642
12643	// NextPageToken: Pagination token to be used for the next list
12644	// operation.
12645	NextPageToken string `json:"nextPageToken,omitempty"`
12646
12647	// Subaccounts: Subaccount collection.
12648	Subaccounts []*Subaccount `json:"subaccounts,omitempty"`
12649
12650	// ServerResponse contains the HTTP response code and headers from the
12651	// server.
12652	googleapi.ServerResponse `json:"-"`
12653
12654	// ForceSendFields is a list of field names (e.g. "Kind") to
12655	// unconditionally include in API requests. By default, fields with
12656	// empty values are omitted from API requests. However, any non-pointer,
12657	// non-interface field appearing in ForceSendFields will be sent to the
12658	// server regardless of whether the field is empty or not. This may be
12659	// used to include empty fields in Patch requests.
12660	ForceSendFields []string `json:"-"`
12661
12662	// NullFields is a list of field names (e.g. "Kind") to include in API
12663	// requests with the JSON null value. By default, fields with empty
12664	// values are omitted from API requests. However, any field with an
12665	// empty value appearing in NullFields will be sent to the server as
12666	// null. It is an error if a field in this list has a non-empty value.
12667	// This may be used to include null fields in Patch requests.
12668	NullFields []string `json:"-"`
12669}
12670
12671func (s *SubaccountsListResponse) MarshalJSON() ([]byte, error) {
12672	type NoMethod SubaccountsListResponse
12673	raw := NoMethod(*s)
12674	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12675}
12676
12677// TagData: Placement Tag Data
12678type TagData struct {
12679	// AdId: Ad associated with this placement tag. Applicable only when
12680	// format is PLACEMENT_TAG_TRACKING.
12681	AdId int64 `json:"adId,omitempty,string"`
12682
12683	// ClickTag: Tag string to record a click.
12684	ClickTag string `json:"clickTag,omitempty"`
12685
12686	// CreativeId: Creative associated with this placement tag. Applicable
12687	// only when format is PLACEMENT_TAG_TRACKING.
12688	CreativeId int64 `json:"creativeId,omitempty,string"`
12689
12690	// Format: TagData tag format of this tag.
12691	//
12692	// Possible values:
12693	//   "PLACEMENT_TAG_STANDARD"
12694	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
12695	//   "PLACEMENT_TAG_IFRAME_ILAYER"
12696	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
12697	//   "PLACEMENT_TAG_JAVASCRIPT"
12698	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
12699	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
12700	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
12701	//   "PLACEMENT_TAG_CLICK_COMMANDS"
12702	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
12703	//   "PLACEMENT_TAG_TRACKING"
12704	//   "PLACEMENT_TAG_TRACKING_IFRAME"
12705	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
12706	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
12707	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
12708	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
12709	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
12710	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
12711	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
12712	Format string `json:"format,omitempty"`
12713
12714	// ImpressionTag: Tag string for serving an ad.
12715	ImpressionTag string `json:"impressionTag,omitempty"`
12716
12717	// ForceSendFields is a list of field names (e.g. "AdId") to
12718	// unconditionally include in API requests. By default, fields with
12719	// empty values are omitted from API requests. However, any non-pointer,
12720	// non-interface field appearing in ForceSendFields will be sent to the
12721	// server regardless of whether the field is empty or not. This may be
12722	// used to include empty fields in Patch requests.
12723	ForceSendFields []string `json:"-"`
12724
12725	// NullFields is a list of field names (e.g. "AdId") to include in API
12726	// requests with the JSON null value. By default, fields with empty
12727	// values are omitted from API requests. However, any field with an
12728	// empty value appearing in NullFields will be sent to the server as
12729	// null. It is an error if a field in this list has a non-empty value.
12730	// This may be used to include null fields in Patch requests.
12731	NullFields []string `json:"-"`
12732}
12733
12734func (s *TagData) MarshalJSON() ([]byte, error) {
12735	type NoMethod TagData
12736	raw := NoMethod(*s)
12737	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12738}
12739
12740// TagSetting: Tag Settings
12741type TagSetting struct {
12742	// AdditionalKeyValues: Additional key-values to be included in tags.
12743	// Each key-value pair must be of the form key=value, and pairs must be
12744	// separated by a semicolon (;). Keys and values must not contain
12745	// commas. For example, id=2;color=red is a valid value for this field.
12746	AdditionalKeyValues string `json:"additionalKeyValues,omitempty"`
12747
12748	// IncludeClickThroughUrls: Whether static landing page URLs should be
12749	// included in the tags. This setting applies only to placements.
12750	IncludeClickThroughUrls bool `json:"includeClickThroughUrls,omitempty"`
12751
12752	// IncludeClickTracking: Whether click-tracking string should be
12753	// included in the tags.
12754	IncludeClickTracking bool `json:"includeClickTracking,omitempty"`
12755
12756	// KeywordOption: Option specifying how keywords are embedded in ad
12757	// tags. This setting can be used to specify whether keyword
12758	// placeholders are inserted in placement tags for this site. Publishers
12759	// can then add keywords to those placeholders.
12760	//
12761	// Possible values:
12762	//   "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
12763	//   "IGNORE"
12764	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
12765	KeywordOption string `json:"keywordOption,omitempty"`
12766
12767	// ForceSendFields is a list of field names (e.g. "AdditionalKeyValues")
12768	// to unconditionally include in API requests. By default, fields with
12769	// empty values are omitted from API requests. However, any non-pointer,
12770	// non-interface field appearing in ForceSendFields will be sent to the
12771	// server regardless of whether the field is empty or not. This may be
12772	// used to include empty fields in Patch requests.
12773	ForceSendFields []string `json:"-"`
12774
12775	// NullFields is a list of field names (e.g. "AdditionalKeyValues") to
12776	// include in API requests with the JSON null value. By default, fields
12777	// with empty values are omitted from API requests. However, any field
12778	// with an empty value appearing in NullFields will be sent to the
12779	// server as null. It is an error if a field in this list has a
12780	// non-empty value. This may be used to include null fields in Patch
12781	// requests.
12782	NullFields []string `json:"-"`
12783}
12784
12785func (s *TagSetting) MarshalJSON() ([]byte, error) {
12786	type NoMethod TagSetting
12787	raw := NoMethod(*s)
12788	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12789}
12790
12791// TagSettings: Dynamic and Image Tag Settings.
12792type TagSettings struct {
12793	// DynamicTagEnabled: Whether dynamic floodlight tags are enabled.
12794	DynamicTagEnabled bool `json:"dynamicTagEnabled,omitempty"`
12795
12796	// ImageTagEnabled: Whether image tags are enabled.
12797	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
12798
12799	// ForceSendFields is a list of field names (e.g. "DynamicTagEnabled")
12800	// to unconditionally include in API requests. By default, fields with
12801	// empty values are omitted from API requests. However, any non-pointer,
12802	// non-interface field appearing in ForceSendFields will be sent to the
12803	// server regardless of whether the field is empty or not. This may be
12804	// used to include empty fields in Patch requests.
12805	ForceSendFields []string `json:"-"`
12806
12807	// NullFields is a list of field names (e.g. "DynamicTagEnabled") to
12808	// include in API requests with the JSON null value. By default, fields
12809	// with empty values are omitted from API requests. However, any field
12810	// with an empty value appearing in NullFields will be sent to the
12811	// server as null. It is an error if a field in this list has a
12812	// non-empty value. This may be used to include null fields in Patch
12813	// requests.
12814	NullFields []string `json:"-"`
12815}
12816
12817func (s *TagSettings) MarshalJSON() ([]byte, error) {
12818	type NoMethod TagSettings
12819	raw := NoMethod(*s)
12820	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12821}
12822
12823// TargetWindow: Target Window.
12824type TargetWindow struct {
12825	// CustomHtml: User-entered value.
12826	CustomHtml string `json:"customHtml,omitempty"`
12827
12828	// TargetWindowOption: Type of browser window for which the backup image
12829	// of the flash creative can be displayed.
12830	//
12831	// Possible values:
12832	//   "NEW_WINDOW"
12833	//   "CURRENT_WINDOW"
12834	//   "CUSTOM"
12835	TargetWindowOption string `json:"targetWindowOption,omitempty"`
12836
12837	// ForceSendFields is a list of field names (e.g. "CustomHtml") to
12838	// unconditionally include in API requests. By default, fields with
12839	// empty values are omitted from API requests. However, any non-pointer,
12840	// non-interface field appearing in ForceSendFields will be sent to the
12841	// server regardless of whether the field is empty or not. This may be
12842	// used to include empty fields in Patch requests.
12843	ForceSendFields []string `json:"-"`
12844
12845	// NullFields is a list of field names (e.g. "CustomHtml") to include in
12846	// API requests with the JSON null value. By default, fields with empty
12847	// values are omitted from API requests. However, any field with an
12848	// empty value appearing in NullFields will be sent to the server as
12849	// null. It is an error if a field in this list has a non-empty value.
12850	// This may be used to include null fields in Patch requests.
12851	NullFields []string `json:"-"`
12852}
12853
12854func (s *TargetWindow) MarshalJSON() ([]byte, error) {
12855	type NoMethod TargetWindow
12856	raw := NoMethod(*s)
12857	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12858}
12859
12860// TargetableRemarketingList: Contains properties of a targetable
12861// remarketing list. Remarketing enables you to create lists of users
12862// who have performed specific actions on a site, then target ads to
12863// members of those lists. This resource is a read-only view of a
12864// remarketing list to be used to faciliate targeting ads to specific
12865// lists. Remarketing lists that are owned by your advertisers and those
12866// that are shared to your advertisers or account are accessible via
12867// this resource. To manage remarketing lists that are owned by your
12868// advertisers, use the RemarketingLists resource.
12869type TargetableRemarketingList struct {
12870	// AccountId: Account ID of this remarketing list. This is a read-only,
12871	// auto-generated field that is only returned in GET requests.
12872	AccountId int64 `json:"accountId,omitempty,string"`
12873
12874	// Active: Whether this targetable remarketing list is active.
12875	Active bool `json:"active,omitempty"`
12876
12877	// AdvertiserId: Dimension value for the advertiser ID that owns this
12878	// targetable remarketing list.
12879	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
12880
12881	// AdvertiserIdDimensionValue: Dimension value for the ID of the
12882	// advertiser.
12883	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
12884
12885	// Description: Targetable remarketing list description.
12886	Description string `json:"description,omitempty"`
12887
12888	// Id: Targetable remarketing list ID.
12889	Id int64 `json:"id,omitempty,string"`
12890
12891	// Kind: Identifies what kind of resource this is. Value: the fixed
12892	// string "dfareporting#targetableRemarketingList".
12893	Kind string `json:"kind,omitempty"`
12894
12895	// LifeSpan: Number of days that a user should remain in the targetable
12896	// remarketing list without an impression.
12897	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
12898
12899	// ListSize: Number of users currently in the list. This is a read-only
12900	// field.
12901	ListSize int64 `json:"listSize,omitempty,string"`
12902
12903	// ListSource: Product from which this targetable remarketing list was
12904	// originated.
12905	//
12906	// Possible values:
12907	//   "REMARKETING_LIST_SOURCE_OTHER"
12908	//   "REMARKETING_LIST_SOURCE_ADX"
12909	//   "REMARKETING_LIST_SOURCE_DFP"
12910	//   "REMARKETING_LIST_SOURCE_XFP"
12911	//   "REMARKETING_LIST_SOURCE_DFA"
12912	//   "REMARKETING_LIST_SOURCE_GA"
12913	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
12914	//   "REMARKETING_LIST_SOURCE_DBM"
12915	//   "REMARKETING_LIST_SOURCE_GPLUS"
12916	//   "REMARKETING_LIST_SOURCE_DMP"
12917	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
12918	ListSource string `json:"listSource,omitempty"`
12919
12920	// Name: Name of the targetable remarketing list. Is no greater than 128
12921	// characters long.
12922	Name string `json:"name,omitempty"`
12923
12924	// SubaccountId: Subaccount ID of this remarketing list. This is a
12925	// read-only, auto-generated field that is only returned in GET
12926	// requests.
12927	SubaccountId int64 `json:"subaccountId,omitempty,string"`
12928
12929	// ServerResponse contains the HTTP response code and headers from the
12930	// server.
12931	googleapi.ServerResponse `json:"-"`
12932
12933	// ForceSendFields is a list of field names (e.g. "AccountId") to
12934	// unconditionally include in API requests. By default, fields with
12935	// empty values are omitted from API requests. However, any non-pointer,
12936	// non-interface field appearing in ForceSendFields will be sent to the
12937	// server regardless of whether the field is empty or not. This may be
12938	// used to include empty fields in Patch requests.
12939	ForceSendFields []string `json:"-"`
12940
12941	// NullFields is a list of field names (e.g. "AccountId") to include in
12942	// API requests with the JSON null value. By default, fields with empty
12943	// values are omitted from API requests. However, any field with an
12944	// empty value appearing in NullFields will be sent to the server as
12945	// null. It is an error if a field in this list has a non-empty value.
12946	// This may be used to include null fields in Patch requests.
12947	NullFields []string `json:"-"`
12948}
12949
12950func (s *TargetableRemarketingList) MarshalJSON() ([]byte, error) {
12951	type NoMethod TargetableRemarketingList
12952	raw := NoMethod(*s)
12953	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12954}
12955
12956// TargetableRemarketingListsListResponse: Targetable remarketing list
12957// response
12958type TargetableRemarketingListsListResponse struct {
12959	// Kind: Identifies what kind of resource this is. Value: the fixed
12960	// string "dfareporting#targetableRemarketingListsListResponse".
12961	Kind string `json:"kind,omitempty"`
12962
12963	// NextPageToken: Pagination token to be used for the next list
12964	// operation.
12965	NextPageToken string `json:"nextPageToken,omitempty"`
12966
12967	// TargetableRemarketingLists: Targetable remarketing list collection.
12968	TargetableRemarketingLists []*TargetableRemarketingList `json:"targetableRemarketingLists,omitempty"`
12969
12970	// ServerResponse contains the HTTP response code and headers from the
12971	// server.
12972	googleapi.ServerResponse `json:"-"`
12973
12974	// ForceSendFields is a list of field names (e.g. "Kind") to
12975	// unconditionally include in API requests. By default, fields with
12976	// empty values are omitted from API requests. However, any non-pointer,
12977	// non-interface field appearing in ForceSendFields will be sent to the
12978	// server regardless of whether the field is empty or not. This may be
12979	// used to include empty fields in Patch requests.
12980	ForceSendFields []string `json:"-"`
12981
12982	// NullFields is a list of field names (e.g. "Kind") to include in API
12983	// requests with the JSON null value. By default, fields with empty
12984	// values are omitted from API requests. However, any field with an
12985	// empty value appearing in NullFields will be sent to the server as
12986	// null. It is an error if a field in this list has a non-empty value.
12987	// This may be used to include null fields in Patch requests.
12988	NullFields []string `json:"-"`
12989}
12990
12991func (s *TargetableRemarketingListsListResponse) MarshalJSON() ([]byte, error) {
12992	type NoMethod TargetableRemarketingListsListResponse
12993	raw := NoMethod(*s)
12994	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12995}
12996
12997// TargetingTemplate: Contains properties of a targeting template. A
12998// targeting template encapsulates targeting information which can be
12999// reused across multiple ads.
13000type TargetingTemplate struct {
13001	// AccountId: Account ID of this targeting template. This field, if left
13002	// unset, will be auto-generated on insert and is read-only after
13003	// insert.
13004	AccountId int64 `json:"accountId,omitempty,string"`
13005
13006	// AdvertiserId: Advertiser ID of this targeting template. This is a
13007	// required field on insert and is read-only after insert.
13008	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
13009
13010	// AdvertiserIdDimensionValue: Dimension value for the ID of the
13011	// advertiser. This is a read-only, auto-generated field.
13012	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
13013
13014	// DayPartTargeting: Time and day targeting criteria.
13015	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
13016
13017	// GeoTargeting: Geographical targeting criteria.
13018	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
13019
13020	// Id: ID of this targeting template. This is a read-only,
13021	// auto-generated field.
13022	Id int64 `json:"id,omitempty,string"`
13023
13024	// KeyValueTargetingExpression: Key-value targeting criteria.
13025	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
13026
13027	// Kind: Identifies what kind of resource this is. Value: the fixed
13028	// string "dfareporting#targetingTemplate".
13029	Kind string `json:"kind,omitempty"`
13030
13031	// LanguageTargeting: Language targeting criteria.
13032	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
13033
13034	// ListTargetingExpression: Remarketing list targeting criteria.
13035	ListTargetingExpression *ListTargetingExpression `json:"listTargetingExpression,omitempty"`
13036
13037	// Name: Name of this targeting template. This field is required. It
13038	// must be less than 256 characters long and unique within an
13039	// advertiser.
13040	Name string `json:"name,omitempty"`
13041
13042	// SubaccountId: Subaccount ID of this targeting template. This field,
13043	// if left unset, will be auto-generated on insert and is read-only
13044	// after insert.
13045	SubaccountId int64 `json:"subaccountId,omitempty,string"`
13046
13047	// TechnologyTargeting: Technology platform targeting criteria.
13048	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
13049
13050	// ServerResponse contains the HTTP response code and headers from the
13051	// server.
13052	googleapi.ServerResponse `json:"-"`
13053
13054	// ForceSendFields is a list of field names (e.g. "AccountId") to
13055	// unconditionally include in API requests. By default, fields with
13056	// empty values are omitted from API requests. However, any non-pointer,
13057	// non-interface field appearing in ForceSendFields will be sent to the
13058	// server regardless of whether the field is empty or not. This may be
13059	// used to include empty fields in Patch requests.
13060	ForceSendFields []string `json:"-"`
13061
13062	// NullFields is a list of field names (e.g. "AccountId") to include in
13063	// API requests with the JSON null value. By default, fields with empty
13064	// values are omitted from API requests. However, any field with an
13065	// empty value appearing in NullFields will be sent to the server as
13066	// null. It is an error if a field in this list has a non-empty value.
13067	// This may be used to include null fields in Patch requests.
13068	NullFields []string `json:"-"`
13069}
13070
13071func (s *TargetingTemplate) MarshalJSON() ([]byte, error) {
13072	type NoMethod TargetingTemplate
13073	raw := NoMethod(*s)
13074	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13075}
13076
13077// TargetingTemplatesListResponse: Targeting Template List Response
13078type TargetingTemplatesListResponse struct {
13079	// Kind: Identifies what kind of resource this is. Value: the fixed
13080	// string "dfareporting#targetingTemplatesListResponse".
13081	Kind string `json:"kind,omitempty"`
13082
13083	// NextPageToken: Pagination token to be used for the next list
13084	// operation.
13085	NextPageToken string `json:"nextPageToken,omitempty"`
13086
13087	// TargetingTemplates: Targeting template collection.
13088	TargetingTemplates []*TargetingTemplate `json:"targetingTemplates,omitempty"`
13089
13090	// ServerResponse contains the HTTP response code and headers from the
13091	// server.
13092	googleapi.ServerResponse `json:"-"`
13093
13094	// ForceSendFields is a list of field names (e.g. "Kind") to
13095	// unconditionally include in API requests. By default, fields with
13096	// empty values are omitted from API requests. However, any non-pointer,
13097	// non-interface field appearing in ForceSendFields will be sent to the
13098	// server regardless of whether the field is empty or not. This may be
13099	// used to include empty fields in Patch requests.
13100	ForceSendFields []string `json:"-"`
13101
13102	// NullFields is a list of field names (e.g. "Kind") to include in API
13103	// requests with the JSON null value. By default, fields with empty
13104	// values are omitted from API requests. However, any field with an
13105	// empty value appearing in NullFields will be sent to the server as
13106	// null. It is an error if a field in this list has a non-empty value.
13107	// This may be used to include null fields in Patch requests.
13108	NullFields []string `json:"-"`
13109}
13110
13111func (s *TargetingTemplatesListResponse) MarshalJSON() ([]byte, error) {
13112	type NoMethod TargetingTemplatesListResponse
13113	raw := NoMethod(*s)
13114	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13115}
13116
13117// TechnologyTargeting: Technology Targeting.
13118type TechnologyTargeting struct {
13119	// Browsers: Browsers that this ad targets. For each browser either set
13120	// browserVersionId or dartId along with the version numbers. If both
13121	// are specified, only browserVersionId will be used. The other fields
13122	// are populated automatically when the ad is inserted or updated.
13123	Browsers []*Browser `json:"browsers,omitempty"`
13124
13125	// ConnectionTypes: Connection types that this ad targets. For each
13126	// connection type only id is required. The other fields are populated
13127	// automatically when the ad is inserted or updated.
13128	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
13129
13130	// MobileCarriers: Mobile carriers that this ad targets. For each mobile
13131	// carrier only id is required, and the other fields are populated
13132	// automatically when the ad is inserted or updated. If targeting a
13133	// mobile carrier, do not set targeting for any zip codes.
13134	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
13135
13136	// OperatingSystemVersions: Operating system versions that this ad
13137	// targets. To target all versions, use operatingSystems. For each
13138	// operating system version, only id is required. The other fields are
13139	// populated automatically when the ad is inserted or updated. If
13140	// targeting an operating system version, do not set targeting for the
13141	// corresponding operating system in operatingSystems.
13142	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
13143
13144	// OperatingSystems: Operating systems that this ad targets. To target
13145	// specific versions, use operatingSystemVersions. For each operating
13146	// system only dartId is required. The other fields are populated
13147	// automatically when the ad is inserted or updated. If targeting an
13148	// operating system, do not set targeting for operating system versions
13149	// for the same operating system.
13150	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
13151
13152	// PlatformTypes: Platform types that this ad targets. For example,
13153	// desktop, mobile, or tablet. For each platform type, only id is
13154	// required, and the other fields are populated automatically when the
13155	// ad is inserted or updated.
13156	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
13157
13158	// ForceSendFields is a list of field names (e.g. "Browsers") to
13159	// unconditionally include in API requests. By default, fields with
13160	// empty values are omitted from API requests. However, any non-pointer,
13161	// non-interface field appearing in ForceSendFields will be sent to the
13162	// server regardless of whether the field is empty or not. This may be
13163	// used to include empty fields in Patch requests.
13164	ForceSendFields []string `json:"-"`
13165
13166	// NullFields is a list of field names (e.g. "Browsers") to include in
13167	// API requests with the JSON null value. By default, fields with empty
13168	// values are omitted from API requests. However, any field with an
13169	// empty value appearing in NullFields will be sent to the server as
13170	// null. It is an error if a field in this list has a non-empty value.
13171	// This may be used to include null fields in Patch requests.
13172	NullFields []string `json:"-"`
13173}
13174
13175func (s *TechnologyTargeting) MarshalJSON() ([]byte, error) {
13176	type NoMethod TechnologyTargeting
13177	raw := NoMethod(*s)
13178	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13179}
13180
13181// ThirdPartyAuthenticationToken: Third Party Authentication Token
13182type ThirdPartyAuthenticationToken struct {
13183	// Name: Name of the third-party authentication token.
13184	Name string `json:"name,omitempty"`
13185
13186	// Value: Value of the third-party authentication token. This is a
13187	// read-only, auto-generated field.
13188	Value string `json:"value,omitempty"`
13189
13190	// ForceSendFields is a list of field names (e.g. "Name") to
13191	// unconditionally include in API requests. By default, fields with
13192	// empty values are omitted from API requests. However, any non-pointer,
13193	// non-interface field appearing in ForceSendFields will be sent to the
13194	// server regardless of whether the field is empty or not. This may be
13195	// used to include empty fields in Patch requests.
13196	ForceSendFields []string `json:"-"`
13197
13198	// NullFields is a list of field names (e.g. "Name") to include in API
13199	// requests with the JSON null value. By default, fields with empty
13200	// values are omitted from API requests. However, any field with an
13201	// empty value appearing in NullFields will be sent to the server as
13202	// null. It is an error if a field in this list has a non-empty value.
13203	// This may be used to include null fields in Patch requests.
13204	NullFields []string `json:"-"`
13205}
13206
13207func (s *ThirdPartyAuthenticationToken) MarshalJSON() ([]byte, error) {
13208	type NoMethod ThirdPartyAuthenticationToken
13209	raw := NoMethod(*s)
13210	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13211}
13212
13213// ThirdPartyTrackingUrl: Third-party Tracking URL.
13214type ThirdPartyTrackingUrl struct {
13215	// ThirdPartyUrlType: Third-party URL type for in-stream video and
13216	// in-stream audio creatives.
13217	//
13218	// Possible values:
13219	//   "IMPRESSION"
13220	//   "CLICK_TRACKING"
13221	//   "VIDEO_START"
13222	//   "VIDEO_FIRST_QUARTILE"
13223	//   "VIDEO_MIDPOINT"
13224	//   "VIDEO_THIRD_QUARTILE"
13225	//   "VIDEO_COMPLETE"
13226	//   "VIDEO_MUTE"
13227	//   "VIDEO_PAUSE"
13228	//   "VIDEO_REWIND"
13229	//   "VIDEO_FULLSCREEN"
13230	//   "VIDEO_STOP"
13231	//   "VIDEO_CUSTOM"
13232	//   "SURVEY"
13233	//   "RICH_MEDIA_IMPRESSION"
13234	//   "RICH_MEDIA_RM_IMPRESSION"
13235	//   "RICH_MEDIA_BACKUP_IMPRESSION"
13236	//   "VIDEO_SKIP"
13237	//   "VIDEO_PROGRESS"
13238	ThirdPartyUrlType string `json:"thirdPartyUrlType,omitempty"`
13239
13240	// Url: URL for the specified third-party URL type.
13241	Url string `json:"url,omitempty"`
13242
13243	// ForceSendFields is a list of field names (e.g. "ThirdPartyUrlType")
13244	// to unconditionally include in API requests. By default, fields with
13245	// empty values are omitted from API requests. However, any non-pointer,
13246	// non-interface field appearing in ForceSendFields will be sent to the
13247	// server regardless of whether the field is empty or not. This may be
13248	// used to include empty fields in Patch requests.
13249	ForceSendFields []string `json:"-"`
13250
13251	// NullFields is a list of field names (e.g. "ThirdPartyUrlType") to
13252	// include in API requests with the JSON null value. By default, fields
13253	// with empty values are omitted from API requests. However, any field
13254	// with an empty value appearing in NullFields will be sent to the
13255	// server as null. It is an error if a field in this list has a
13256	// non-empty value. This may be used to include null fields in Patch
13257	// requests.
13258	NullFields []string `json:"-"`
13259}
13260
13261func (s *ThirdPartyTrackingUrl) MarshalJSON() ([]byte, error) {
13262	type NoMethod ThirdPartyTrackingUrl
13263	raw := NoMethod(*s)
13264	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13265}
13266
13267// TranscodeSetting: Transcode Settings
13268type TranscodeSetting struct {
13269	// EnabledVideoFormats: Allowlist of video formats to be served to this
13270	// placement. Set this list to null or empty to serve all video formats.
13271	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
13272
13273	// Kind: Identifies what kind of resource this is. Value: the fixed
13274	// string "dfareporting#transcodeSetting".
13275	Kind string `json:"kind,omitempty"`
13276
13277	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
13278	// to unconditionally include in API requests. By default, fields with
13279	// empty values are omitted from API requests. However, any non-pointer,
13280	// non-interface field appearing in ForceSendFields will be sent to the
13281	// server regardless of whether the field is empty or not. This may be
13282	// used to include empty fields in Patch requests.
13283	ForceSendFields []string `json:"-"`
13284
13285	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
13286	// include in API requests with the JSON null value. By default, fields
13287	// with empty values are omitted from API requests. However, any field
13288	// with an empty value appearing in NullFields will be sent to the
13289	// server as null. It is an error if a field in this list has a
13290	// non-empty value. This may be used to include null fields in Patch
13291	// requests.
13292	NullFields []string `json:"-"`
13293}
13294
13295func (s *TranscodeSetting) MarshalJSON() ([]byte, error) {
13296	type NoMethod TranscodeSetting
13297	raw := NoMethod(*s)
13298	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13299}
13300
13301// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
13302// to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and
13303// VPAID.
13304type UniversalAdId struct {
13305	// Registry: Registry used for the Ad ID value.
13306	//
13307	// Possible values:
13308	//   "OTHER"
13309	//   "AD_ID.ORG"
13310	//   "CLEARCAST"
13311	//   "DCM"
13312	Registry string `json:"registry,omitempty"`
13313
13314	// Value: ID value for this creative. Only alphanumeric characters and
13315	// the following symbols are valid: "_/\-". Maximum length is 64
13316	// characters. Read only when registry is DCM.
13317	Value string `json:"value,omitempty"`
13318
13319	// ForceSendFields is a list of field names (e.g. "Registry") to
13320	// unconditionally include in API requests. By default, fields with
13321	// empty values are omitted from API requests. However, any non-pointer,
13322	// non-interface field appearing in ForceSendFields will be sent to the
13323	// server regardless of whether the field is empty or not. This may be
13324	// used to include empty fields in Patch requests.
13325	ForceSendFields []string `json:"-"`
13326
13327	// NullFields is a list of field names (e.g. "Registry") to include in
13328	// API requests with the JSON null value. By default, fields with empty
13329	// values are omitted from API requests. However, any field with an
13330	// empty value appearing in NullFields will be sent to the server as
13331	// null. It is an error if a field in this list has a non-empty value.
13332	// This may be used to include null fields in Patch requests.
13333	NullFields []string `json:"-"`
13334}
13335
13336func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
13337	type NoMethod UniversalAdId
13338	raw := NoMethod(*s)
13339	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13340}
13341
13342// UserDefinedVariableConfiguration: User Defined Variable
13343// configuration.
13344type UserDefinedVariableConfiguration struct {
13345	// DataType: Data type for the variable. This is a required field.
13346	//
13347	// Possible values:
13348	//   "STRING"
13349	//   "NUMBER"
13350	DataType string `json:"dataType,omitempty"`
13351
13352	// ReportName: User-friendly name for the variable which will appear in
13353	// reports. This is a required field, must be less than 64 characters
13354	// long, and cannot contain the following characters: ""<>".
13355	ReportName string `json:"reportName,omitempty"`
13356
13357	// VariableType: Variable name in the tag. This is a required field.
13358	//
13359	// Possible values:
13360	//   "U1"
13361	//   "U2"
13362	//   "U3"
13363	//   "U4"
13364	//   "U5"
13365	//   "U6"
13366	//   "U7"
13367	//   "U8"
13368	//   "U9"
13369	//   "U10"
13370	//   "U11"
13371	//   "U12"
13372	//   "U13"
13373	//   "U14"
13374	//   "U15"
13375	//   "U16"
13376	//   "U17"
13377	//   "U18"
13378	//   "U19"
13379	//   "U20"
13380	//   "U21"
13381	//   "U22"
13382	//   "U23"
13383	//   "U24"
13384	//   "U25"
13385	//   "U26"
13386	//   "U27"
13387	//   "U28"
13388	//   "U29"
13389	//   "U30"
13390	//   "U31"
13391	//   "U32"
13392	//   "U33"
13393	//   "U34"
13394	//   "U35"
13395	//   "U36"
13396	//   "U37"
13397	//   "U38"
13398	//   "U39"
13399	//   "U40"
13400	//   "U41"
13401	//   "U42"
13402	//   "U43"
13403	//   "U44"
13404	//   "U45"
13405	//   "U46"
13406	//   "U47"
13407	//   "U48"
13408	//   "U49"
13409	//   "U50"
13410	//   "U51"
13411	//   "U52"
13412	//   "U53"
13413	//   "U54"
13414	//   "U55"
13415	//   "U56"
13416	//   "U57"
13417	//   "U58"
13418	//   "U59"
13419	//   "U60"
13420	//   "U61"
13421	//   "U62"
13422	//   "U63"
13423	//   "U64"
13424	//   "U65"
13425	//   "U66"
13426	//   "U67"
13427	//   "U68"
13428	//   "U69"
13429	//   "U70"
13430	//   "U71"
13431	//   "U72"
13432	//   "U73"
13433	//   "U74"
13434	//   "U75"
13435	//   "U76"
13436	//   "U77"
13437	//   "U78"
13438	//   "U79"
13439	//   "U80"
13440	//   "U81"
13441	//   "U82"
13442	//   "U83"
13443	//   "U84"
13444	//   "U85"
13445	//   "U86"
13446	//   "U87"
13447	//   "U88"
13448	//   "U89"
13449	//   "U90"
13450	//   "U91"
13451	//   "U92"
13452	//   "U93"
13453	//   "U94"
13454	//   "U95"
13455	//   "U96"
13456	//   "U97"
13457	//   "U98"
13458	//   "U99"
13459	//   "U100"
13460	VariableType string `json:"variableType,omitempty"`
13461
13462	// ForceSendFields is a list of field names (e.g. "DataType") to
13463	// unconditionally include in API requests. By default, fields with
13464	// empty values are omitted from API requests. However, any non-pointer,
13465	// non-interface field appearing in ForceSendFields will be sent to the
13466	// server regardless of whether the field is empty or not. This may be
13467	// used to include empty fields in Patch requests.
13468	ForceSendFields []string `json:"-"`
13469
13470	// NullFields is a list of field names (e.g. "DataType") to include in
13471	// API requests with the JSON null value. By default, fields with empty
13472	// values are omitted from API requests. However, any field with an
13473	// empty value appearing in NullFields will be sent to the server as
13474	// null. It is an error if a field in this list has a non-empty value.
13475	// This may be used to include null fields in Patch requests.
13476	NullFields []string `json:"-"`
13477}
13478
13479func (s *UserDefinedVariableConfiguration) MarshalJSON() ([]byte, error) {
13480	type NoMethod UserDefinedVariableConfiguration
13481	raw := NoMethod(*s)
13482	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13483}
13484
13485// UserProfile: A UserProfile resource lets you list all DFA user
13486// profiles that are associated with a Google user account. The
13487// profile_id needs to be specified in other API requests.
13488type UserProfile struct {
13489	// AccountId: The account ID to which this profile belongs.
13490	AccountId int64 `json:"accountId,omitempty,string"`
13491
13492	// AccountName: The account name this profile belongs to.
13493	AccountName string `json:"accountName,omitempty"`
13494
13495	// Etag: Etag of this resource.
13496	Etag string `json:"etag,omitempty"`
13497
13498	// Kind: Identifies what kind of resource this is. Value: the fixed
13499	// string "dfareporting#userProfile".
13500	Kind string `json:"kind,omitempty"`
13501
13502	// ProfileId: The unique ID of the user profile.
13503	ProfileId int64 `json:"profileId,omitempty,string"`
13504
13505	// SubAccountId: The sub account ID this profile belongs to if
13506	// applicable.
13507	SubAccountId int64 `json:"subAccountId,omitempty,string"`
13508
13509	// SubAccountName: The sub account name this profile belongs to if
13510	// applicable.
13511	SubAccountName string `json:"subAccountName,omitempty"`
13512
13513	// UserName: The user name.
13514	UserName string `json:"userName,omitempty"`
13515
13516	// ServerResponse contains the HTTP response code and headers from the
13517	// server.
13518	googleapi.ServerResponse `json:"-"`
13519
13520	// ForceSendFields is a list of field names (e.g. "AccountId") to
13521	// unconditionally include in API requests. By default, fields with
13522	// empty values are omitted from API requests. However, any non-pointer,
13523	// non-interface field appearing in ForceSendFields will be sent to the
13524	// server regardless of whether the field is empty or not. This may be
13525	// used to include empty fields in Patch requests.
13526	ForceSendFields []string `json:"-"`
13527
13528	// NullFields is a list of field names (e.g. "AccountId") to include in
13529	// API requests with the JSON null value. By default, fields with empty
13530	// values are omitted from API requests. However, any field with an
13531	// empty value appearing in NullFields will be sent to the server as
13532	// null. It is an error if a field in this list has a non-empty value.
13533	// This may be used to include null fields in Patch requests.
13534	NullFields []string `json:"-"`
13535}
13536
13537func (s *UserProfile) MarshalJSON() ([]byte, error) {
13538	type NoMethod UserProfile
13539	raw := NoMethod(*s)
13540	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13541}
13542
13543// UserProfileList: Represents the list of user profiles.
13544type UserProfileList struct {
13545	// Etag: Etag of this resource.
13546	Etag string `json:"etag,omitempty"`
13547
13548	// Items: The user profiles returned in this response.
13549	Items []*UserProfile `json:"items,omitempty"`
13550
13551	// Kind: Identifies what kind of resource this is. Value: the fixed
13552	// string "dfareporting#userProfileList".
13553	Kind string `json:"kind,omitempty"`
13554
13555	// ServerResponse contains the HTTP response code and headers from the
13556	// server.
13557	googleapi.ServerResponse `json:"-"`
13558
13559	// ForceSendFields is a list of field names (e.g. "Etag") to
13560	// unconditionally include in API requests. By default, fields with
13561	// empty values are omitted from API requests. However, any non-pointer,
13562	// non-interface field appearing in ForceSendFields will be sent to the
13563	// server regardless of whether the field is empty or not. This may be
13564	// used to include empty fields in Patch requests.
13565	ForceSendFields []string `json:"-"`
13566
13567	// NullFields is a list of field names (e.g. "Etag") to include in API
13568	// requests with the JSON null value. By default, fields with empty
13569	// values are omitted from API requests. However, any field with an
13570	// empty value appearing in NullFields will be sent to the server as
13571	// null. It is an error if a field in this list has a non-empty value.
13572	// This may be used to include null fields in Patch requests.
13573	NullFields []string `json:"-"`
13574}
13575
13576func (s *UserProfileList) MarshalJSON() ([]byte, error) {
13577	type NoMethod UserProfileList
13578	raw := NoMethod(*s)
13579	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13580}
13581
13582// UserRole: Contains properties of auser role, which is used to manage
13583// user access.
13584type UserRole struct {
13585	// AccountId: Account ID of this user role. This is a read-only field
13586	// that can be left blank.
13587	AccountId int64 `json:"accountId,omitempty,string"`
13588
13589	// DefaultUserRole: Whether this is a default user role. Default user
13590	// roles are created by the system for the account/subaccount and cannot
13591	// be modified or deleted. Each default user role comes with a basic set
13592	// of preassigned permissions.
13593	DefaultUserRole bool `json:"defaultUserRole,omitempty"`
13594
13595	// Id: ID of this user role. This is a read-only, auto-generated field.
13596	Id int64 `json:"id,omitempty,string"`
13597
13598	// Kind: Identifies what kind of resource this is. Value: the fixed
13599	// string "dfareporting#userRole".
13600	Kind string `json:"kind,omitempty"`
13601
13602	// Name: Name of this user role. This is a required field. Must be less
13603	// than 256 characters long. If this user role is under a subaccount,
13604	// the name must be unique among sites of the same subaccount.
13605	// Otherwise, this user role is a top-level user role, and the name must
13606	// be unique among top-level user roles of the same account.
13607	Name string `json:"name,omitempty"`
13608
13609	// ParentUserRoleId: ID of the user role that this user role is based on
13610	// or copied from. This is a required field.
13611	ParentUserRoleId int64 `json:"parentUserRoleId,omitempty,string"`
13612
13613	// Permissions: List of permissions associated with this user role.
13614	Permissions []*UserRolePermission `json:"permissions,omitempty"`
13615
13616	// SubaccountId: Subaccount ID of this user role. This is a read-only
13617	// field that can be left blank.
13618	SubaccountId int64 `json:"subaccountId,omitempty,string"`
13619
13620	// ServerResponse contains the HTTP response code and headers from the
13621	// server.
13622	googleapi.ServerResponse `json:"-"`
13623
13624	// ForceSendFields is a list of field names (e.g. "AccountId") to
13625	// unconditionally include in API requests. By default, fields with
13626	// empty values are omitted from API requests. However, any non-pointer,
13627	// non-interface field appearing in ForceSendFields will be sent to the
13628	// server regardless of whether the field is empty or not. This may be
13629	// used to include empty fields in Patch requests.
13630	ForceSendFields []string `json:"-"`
13631
13632	// NullFields is a list of field names (e.g. "AccountId") to include in
13633	// API requests with the JSON null value. By default, fields with empty
13634	// values are omitted from API requests. However, any field with an
13635	// empty value appearing in NullFields will be sent to the server as
13636	// null. It is an error if a field in this list has a non-empty value.
13637	// This may be used to include null fields in Patch requests.
13638	NullFields []string `json:"-"`
13639}
13640
13641func (s *UserRole) MarshalJSON() ([]byte, error) {
13642	type NoMethod UserRole
13643	raw := NoMethod(*s)
13644	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13645}
13646
13647// UserRolePermission: Contains properties of a user role permission.
13648type UserRolePermission struct {
13649	// Availability: Levels of availability for a user role permission.
13650	//
13651	// Possible values:
13652	//   "NOT_AVAILABLE_BY_DEFAULT"
13653	//   "ACCOUNT_BY_DEFAULT"
13654	//   "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
13655	//   "ACCOUNT_ALWAYS"
13656	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
13657	Availability string `json:"availability,omitempty"`
13658
13659	// Id: ID of this user role permission.
13660	Id int64 `json:"id,omitempty,string"`
13661
13662	// Kind: Identifies what kind of resource this is. Value: the fixed
13663	// string "dfareporting#userRolePermission".
13664	Kind string `json:"kind,omitempty"`
13665
13666	// Name: Name of this user role permission.
13667	Name string `json:"name,omitempty"`
13668
13669	// PermissionGroupId: ID of the permission group that this user role
13670	// permission belongs to.
13671	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
13672
13673	// ServerResponse contains the HTTP response code and headers from the
13674	// server.
13675	googleapi.ServerResponse `json:"-"`
13676
13677	// ForceSendFields is a list of field names (e.g. "Availability") to
13678	// unconditionally include in API requests. By default, fields with
13679	// empty values are omitted from API requests. However, any non-pointer,
13680	// non-interface field appearing in ForceSendFields will be sent to the
13681	// server regardless of whether the field is empty or not. This may be
13682	// used to include empty fields in Patch requests.
13683	ForceSendFields []string `json:"-"`
13684
13685	// NullFields is a list of field names (e.g. "Availability") to include
13686	// in API requests with the JSON null value. By default, fields with
13687	// empty values are omitted from API requests. However, any field with
13688	// an empty value appearing in NullFields will be sent to the server as
13689	// null. It is an error if a field in this list has a non-empty value.
13690	// This may be used to include null fields in Patch requests.
13691	NullFields []string `json:"-"`
13692}
13693
13694func (s *UserRolePermission) MarshalJSON() ([]byte, error) {
13695	type NoMethod UserRolePermission
13696	raw := NoMethod(*s)
13697	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13698}
13699
13700// UserRolePermissionGroup: Represents a grouping of related user role
13701// permissions.
13702type UserRolePermissionGroup struct {
13703	// Id: ID of this user role permission.
13704	Id int64 `json:"id,omitempty,string"`
13705
13706	// Kind: Identifies what kind of resource this is. Value: the fixed
13707	// string "dfareporting#userRolePermissionGroup".
13708	Kind string `json:"kind,omitempty"`
13709
13710	// Name: Name of this user role permission group.
13711	Name string `json:"name,omitempty"`
13712
13713	// ServerResponse contains the HTTP response code and headers from the
13714	// server.
13715	googleapi.ServerResponse `json:"-"`
13716
13717	// ForceSendFields is a list of field names (e.g. "Id") to
13718	// unconditionally include in API requests. By default, fields with
13719	// empty values are omitted from API requests. However, any non-pointer,
13720	// non-interface field appearing in ForceSendFields will be sent to the
13721	// server regardless of whether the field is empty or not. This may be
13722	// used to include empty fields in Patch requests.
13723	ForceSendFields []string `json:"-"`
13724
13725	// NullFields is a list of field names (e.g. "Id") to include in API
13726	// requests with the JSON null value. By default, fields with empty
13727	// values are omitted from API requests. However, any field with an
13728	// empty value appearing in NullFields will be sent to the server as
13729	// null. It is an error if a field in this list has a non-empty value.
13730	// This may be used to include null fields in Patch requests.
13731	NullFields []string `json:"-"`
13732}
13733
13734func (s *UserRolePermissionGroup) MarshalJSON() ([]byte, error) {
13735	type NoMethod UserRolePermissionGroup
13736	raw := NoMethod(*s)
13737	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13738}
13739
13740// UserRolePermissionGroupsListResponse: User Role Permission Group List
13741// Response
13742type UserRolePermissionGroupsListResponse struct {
13743	// Kind: Identifies what kind of resource this is. Value: the fixed
13744	// string "dfareporting#userRolePermissionGroupsListResponse".
13745	Kind string `json:"kind,omitempty"`
13746
13747	// UserRolePermissionGroups: User role permission group collection.
13748	UserRolePermissionGroups []*UserRolePermissionGroup `json:"userRolePermissionGroups,omitempty"`
13749
13750	// ServerResponse contains the HTTP response code and headers from the
13751	// server.
13752	googleapi.ServerResponse `json:"-"`
13753
13754	// ForceSendFields is a list of field names (e.g. "Kind") to
13755	// unconditionally include in API requests. By default, fields with
13756	// empty values are omitted from API requests. However, any non-pointer,
13757	// non-interface field appearing in ForceSendFields will be sent to the
13758	// server regardless of whether the field is empty or not. This may be
13759	// used to include empty fields in Patch requests.
13760	ForceSendFields []string `json:"-"`
13761
13762	// NullFields is a list of field names (e.g. "Kind") to include in API
13763	// requests with the JSON null value. By default, fields with empty
13764	// values are omitted from API requests. However, any field with an
13765	// empty value appearing in NullFields will be sent to the server as
13766	// null. It is an error if a field in this list has a non-empty value.
13767	// This may be used to include null fields in Patch requests.
13768	NullFields []string `json:"-"`
13769}
13770
13771func (s *UserRolePermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
13772	type NoMethod UserRolePermissionGroupsListResponse
13773	raw := NoMethod(*s)
13774	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13775}
13776
13777// UserRolePermissionsListResponse: User Role Permission List Response
13778type UserRolePermissionsListResponse struct {
13779	// Kind: Identifies what kind of resource this is. Value: the fixed
13780	// string "dfareporting#userRolePermissionsListResponse".
13781	Kind string `json:"kind,omitempty"`
13782
13783	// UserRolePermissions: User role permission collection.
13784	UserRolePermissions []*UserRolePermission `json:"userRolePermissions,omitempty"`
13785
13786	// ServerResponse contains the HTTP response code and headers from the
13787	// server.
13788	googleapi.ServerResponse `json:"-"`
13789
13790	// ForceSendFields is a list of field names (e.g. "Kind") to
13791	// unconditionally include in API requests. By default, fields with
13792	// empty values are omitted from API requests. However, any non-pointer,
13793	// non-interface field appearing in ForceSendFields will be sent to the
13794	// server regardless of whether the field is empty or not. This may be
13795	// used to include empty fields in Patch requests.
13796	ForceSendFields []string `json:"-"`
13797
13798	// NullFields is a list of field names (e.g. "Kind") to include in API
13799	// requests with the JSON null value. By default, fields with empty
13800	// values are omitted from API requests. However, any field with an
13801	// empty value appearing in NullFields will be sent to the server as
13802	// null. It is an error if a field in this list has a non-empty value.
13803	// This may be used to include null fields in Patch requests.
13804	NullFields []string `json:"-"`
13805}
13806
13807func (s *UserRolePermissionsListResponse) MarshalJSON() ([]byte, error) {
13808	type NoMethod UserRolePermissionsListResponse
13809	raw := NoMethod(*s)
13810	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13811}
13812
13813// UserRolesListResponse: User Role List Response
13814type UserRolesListResponse struct {
13815	// Kind: Identifies what kind of resource this is. Value: the fixed
13816	// string "dfareporting#userRolesListResponse".
13817	Kind string `json:"kind,omitempty"`
13818
13819	// NextPageToken: Pagination token to be used for the next list
13820	// operation.
13821	NextPageToken string `json:"nextPageToken,omitempty"`
13822
13823	// UserRoles: User role collection.
13824	UserRoles []*UserRole `json:"userRoles,omitempty"`
13825
13826	// ServerResponse contains the HTTP response code and headers from the
13827	// server.
13828	googleapi.ServerResponse `json:"-"`
13829
13830	// ForceSendFields is a list of field names (e.g. "Kind") to
13831	// unconditionally include in API requests. By default, fields with
13832	// empty values are omitted from API requests. However, any non-pointer,
13833	// non-interface field appearing in ForceSendFields will be sent to the
13834	// server regardless of whether the field is empty or not. This may be
13835	// used to include empty fields in Patch requests.
13836	ForceSendFields []string `json:"-"`
13837
13838	// NullFields is a list of field names (e.g. "Kind") to include in API
13839	// requests with the JSON null value. By default, fields with empty
13840	// values are omitted from API requests. However, any field with an
13841	// empty value appearing in NullFields will be sent to the server as
13842	// null. It is an error if a field in this list has a non-empty value.
13843	// This may be used to include null fields in Patch requests.
13844	NullFields []string `json:"-"`
13845}
13846
13847func (s *UserRolesListResponse) MarshalJSON() ([]byte, error) {
13848	type NoMethod UserRolesListResponse
13849	raw := NoMethod(*s)
13850	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13851}
13852
13853// VideoFormat: Contains information about supported video formats.
13854type VideoFormat struct {
13855	// FileType: File type of the video format.
13856	//
13857	// Possible values:
13858	//   "FLV"
13859	//   "THREEGPP"
13860	//   "MP4"
13861	//   "WEBM"
13862	//   "M3U8"
13863	FileType string `json:"fileType,omitempty"`
13864
13865	// Id: ID of the video format.
13866	Id int64 `json:"id,omitempty"`
13867
13868	// Kind: Identifies what kind of resource this is. Value: the fixed
13869	// string "dfareporting#videoFormat".
13870	Kind string `json:"kind,omitempty"`
13871
13872	// Resolution: The resolution of this video format.
13873	Resolution *Size `json:"resolution,omitempty"`
13874
13875	// TargetBitRate: The target bit rate of this video format.
13876	TargetBitRate int64 `json:"targetBitRate,omitempty"`
13877
13878	// ServerResponse contains the HTTP response code and headers from the
13879	// server.
13880	googleapi.ServerResponse `json:"-"`
13881
13882	// ForceSendFields is a list of field names (e.g. "FileType") to
13883	// unconditionally include in API requests. By default, fields with
13884	// empty values are omitted from API requests. However, any non-pointer,
13885	// non-interface field appearing in ForceSendFields will be sent to the
13886	// server regardless of whether the field is empty or not. This may be
13887	// used to include empty fields in Patch requests.
13888	ForceSendFields []string `json:"-"`
13889
13890	// NullFields is a list of field names (e.g. "FileType") to include in
13891	// API requests with the JSON null value. By default, fields with empty
13892	// values are omitted from API requests. However, any field with an
13893	// empty value appearing in NullFields will be sent to the server as
13894	// null. It is an error if a field in this list has a non-empty value.
13895	// This may be used to include null fields in Patch requests.
13896	NullFields []string `json:"-"`
13897}
13898
13899func (s *VideoFormat) MarshalJSON() ([]byte, error) {
13900	type NoMethod VideoFormat
13901	raw := NoMethod(*s)
13902	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13903}
13904
13905// VideoFormatsListResponse: Video Format List Response
13906type VideoFormatsListResponse struct {
13907	// Kind: Identifies what kind of resource this is. Value: the fixed
13908	// string "dfareporting#videoFormatsListResponse".
13909	Kind string `json:"kind,omitempty"`
13910
13911	// VideoFormats: Video format collection.
13912	VideoFormats []*VideoFormat `json:"videoFormats,omitempty"`
13913
13914	// ServerResponse contains the HTTP response code and headers from the
13915	// server.
13916	googleapi.ServerResponse `json:"-"`
13917
13918	// ForceSendFields is a list of field names (e.g. "Kind") to
13919	// unconditionally include in API requests. By default, fields with
13920	// empty values are omitted from API requests. However, any non-pointer,
13921	// non-interface field appearing in ForceSendFields will be sent to the
13922	// server regardless of whether the field is empty or not. This may be
13923	// used to include empty fields in Patch requests.
13924	ForceSendFields []string `json:"-"`
13925
13926	// NullFields is a list of field names (e.g. "Kind") to include in API
13927	// requests with the JSON null value. By default, fields with empty
13928	// values are omitted from API requests. However, any field with an
13929	// empty value appearing in NullFields will be sent to the server as
13930	// null. It is an error if a field in this list has a non-empty value.
13931	// This may be used to include null fields in Patch requests.
13932	NullFields []string `json:"-"`
13933}
13934
13935func (s *VideoFormatsListResponse) MarshalJSON() ([]byte, error) {
13936	type NoMethod VideoFormatsListResponse
13937	raw := NoMethod(*s)
13938	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13939}
13940
13941// VideoOffset: Video Offset
13942type VideoOffset struct {
13943	// OffsetPercentage: Duration, as a percentage of video duration. Do not
13944	// set when offsetSeconds is set. Acceptable values are 0 to 100,
13945	// inclusive.
13946	OffsetPercentage int64 `json:"offsetPercentage,omitempty"`
13947
13948	// OffsetSeconds: Duration, in seconds. Do not set when offsetPercentage
13949	// is set. Acceptable values are 0 to 86399, inclusive.
13950	OffsetSeconds int64 `json:"offsetSeconds,omitempty"`
13951
13952	// ForceSendFields is a list of field names (e.g. "OffsetPercentage") to
13953	// unconditionally include in API requests. By default, fields with
13954	// empty values are omitted from API requests. However, any non-pointer,
13955	// non-interface field appearing in ForceSendFields will be sent to the
13956	// server regardless of whether the field is empty or not. This may be
13957	// used to include empty fields in Patch requests.
13958	ForceSendFields []string `json:"-"`
13959
13960	// NullFields is a list of field names (e.g. "OffsetPercentage") to
13961	// include in API requests with the JSON null value. By default, fields
13962	// with empty values are omitted from API requests. However, any field
13963	// with an empty value appearing in NullFields will be sent to the
13964	// server as null. It is an error if a field in this list has a
13965	// non-empty value. This may be used to include null fields in Patch
13966	// requests.
13967	NullFields []string `json:"-"`
13968}
13969
13970func (s *VideoOffset) MarshalJSON() ([]byte, error) {
13971	type NoMethod VideoOffset
13972	raw := NoMethod(*s)
13973	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13974}
13975
13976// VideoSettings: Video Settings
13977type VideoSettings struct {
13978	// CompanionSettings: Settings for the companion creatives of video
13979	// creatives served to this placement.
13980	CompanionSettings *CompanionSetting `json:"companionSettings,omitempty"`
13981
13982	// Kind: Identifies what kind of resource this is. Value: the fixed
13983	// string "dfareporting#videoSettings".
13984	Kind string `json:"kind,omitempty"`
13985
13986	// Orientation: Orientation of a video placement. If this value is set,
13987	// placement will return assets matching the specified orientation.
13988	//
13989	// Possible values:
13990	//   "ANY"
13991	//   "LANDSCAPE"
13992	//   "PORTRAIT"
13993	Orientation string `json:"orientation,omitempty"`
13994
13995	// SkippableSettings: Settings for the skippability of video creatives
13996	// served to this placement. If this object is provided, the
13997	// creative-level skippable settings will be overridden.
13998	SkippableSettings *SkippableSetting `json:"skippableSettings,omitempty"`
13999
14000	// TranscodeSettings: Settings for the transcodes of video creatives
14001	// served to this placement. If this object is provided, the
14002	// creative-level transcode settings will be overridden.
14003	TranscodeSettings *TranscodeSetting `json:"transcodeSettings,omitempty"`
14004
14005	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
14006	// to unconditionally include in API requests. By default, fields with
14007	// empty values are omitted from API requests. However, any non-pointer,
14008	// non-interface field appearing in ForceSendFields will be sent to the
14009	// server regardless of whether the field is empty or not. This may be
14010	// used to include empty fields in Patch requests.
14011	ForceSendFields []string `json:"-"`
14012
14013	// NullFields is a list of field names (e.g. "CompanionSettings") to
14014	// include in API requests with the JSON null value. By default, fields
14015	// with empty values are omitted from API requests. However, any field
14016	// with an empty value appearing in NullFields will be sent to the
14017	// server as null. It is an error if a field in this list has a
14018	// non-empty value. This may be used to include null fields in Patch
14019	// requests.
14020	NullFields []string `json:"-"`
14021}
14022
14023func (s *VideoSettings) MarshalJSON() ([]byte, error) {
14024	type NoMethod VideoSettings
14025	raw := NoMethod(*s)
14026	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14027}
14028
14029// method id "dfareporting.accountActiveAdSummaries.get":
14030
14031type AccountActiveAdSummariesGetCall struct {
14032	s                *Service
14033	profileId        int64
14034	summaryAccountId int64
14035	urlParams_       gensupport.URLParams
14036	ifNoneMatch_     string
14037	ctx_             context.Context
14038	header_          http.Header
14039}
14040
14041// Get: Gets the account's active ad summary by account ID.
14042//
14043// - profileId: User profile ID associated with this request.
14044// - summaryAccountId: Account ID.
14045func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
14046	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14047	c.profileId = profileId
14048	c.summaryAccountId = summaryAccountId
14049	return c
14050}
14051
14052// Fields allows partial responses to be retrieved. See
14053// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14054// for more information.
14055func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
14056	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14057	return c
14058}
14059
14060// IfNoneMatch sets the optional parameter which makes the operation
14061// fail if the object's ETag matches the given value. This is useful for
14062// getting updates only after the object has changed since the last
14063// request. Use googleapi.IsNotModified to check whether the response
14064// error from Do is the result of In-None-Match.
14065func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
14066	c.ifNoneMatch_ = entityTag
14067	return c
14068}
14069
14070// Context sets the context to be used in this call's Do method. Any
14071// pending HTTP request will be aborted if the provided context is
14072// canceled.
14073func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
14074	c.ctx_ = ctx
14075	return c
14076}
14077
14078// Header returns an http.Header that can be modified by the caller to
14079// add HTTP headers to the request.
14080func (c *AccountActiveAdSummariesGetCall) Header() http.Header {
14081	if c.header_ == nil {
14082		c.header_ = make(http.Header)
14083	}
14084	return c.header_
14085}
14086
14087func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
14088	reqHeaders := make(http.Header)
14089	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14090	for k, v := range c.header_ {
14091		reqHeaders[k] = v
14092	}
14093	reqHeaders.Set("User-Agent", c.s.userAgent())
14094	if c.ifNoneMatch_ != "" {
14095		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14096	}
14097	var body io.Reader = nil
14098	c.urlParams_.Set("alt", alt)
14099	c.urlParams_.Set("prettyPrint", "false")
14100	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
14101	urls += "?" + c.urlParams_.Encode()
14102	req, err := http.NewRequest("GET", urls, body)
14103	if err != nil {
14104		return nil, err
14105	}
14106	req.Header = reqHeaders
14107	googleapi.Expand(req.URL, map[string]string{
14108		"profileId":        strconv.FormatInt(c.profileId, 10),
14109		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
14110	})
14111	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14112}
14113
14114// Do executes the "dfareporting.accountActiveAdSummaries.get" call.
14115// Exactly one of *AccountActiveAdSummary or error will be non-nil. Any
14116// non-2xx status code is an error. Response headers are in either
14117// *AccountActiveAdSummary.ServerResponse.Header or (if a response was
14118// returned at all) in error.(*googleapi.Error).Header. Use
14119// googleapi.IsNotModified to check whether the returned error was
14120// because http.StatusNotModified was returned.
14121func (c *AccountActiveAdSummariesGetCall) Do(opts ...googleapi.CallOption) (*AccountActiveAdSummary, error) {
14122	gensupport.SetOptions(c.urlParams_, opts...)
14123	res, err := c.doRequest("json")
14124	if res != nil && res.StatusCode == http.StatusNotModified {
14125		if res.Body != nil {
14126			res.Body.Close()
14127		}
14128		return nil, &googleapi.Error{
14129			Code:   res.StatusCode,
14130			Header: res.Header,
14131		}
14132	}
14133	if err != nil {
14134		return nil, err
14135	}
14136	defer googleapi.CloseBody(res)
14137	if err := googleapi.CheckResponse(res); err != nil {
14138		return nil, err
14139	}
14140	ret := &AccountActiveAdSummary{
14141		ServerResponse: googleapi.ServerResponse{
14142			Header:         res.Header,
14143			HTTPStatusCode: res.StatusCode,
14144		},
14145	}
14146	target := &ret
14147	if err := gensupport.DecodeResponse(target, res); err != nil {
14148		return nil, err
14149	}
14150	return ret, nil
14151	// {
14152	//   "description": "Gets the account's active ad summary by account ID.",
14153	//   "flatPath": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
14154	//   "httpMethod": "GET",
14155	//   "id": "dfareporting.accountActiveAdSummaries.get",
14156	//   "parameterOrder": [
14157	//     "profileId",
14158	//     "summaryAccountId"
14159	//   ],
14160	//   "parameters": {
14161	//     "profileId": {
14162	//       "description": "User profile ID associated with this request.",
14163	//       "format": "int64",
14164	//       "location": "path",
14165	//       "required": true,
14166	//       "type": "string"
14167	//     },
14168	//     "summaryAccountId": {
14169	//       "description": "Account ID.",
14170	//       "format": "int64",
14171	//       "location": "path",
14172	//       "required": true,
14173	//       "type": "string"
14174	//     }
14175	//   },
14176	//   "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
14177	//   "response": {
14178	//     "$ref": "AccountActiveAdSummary"
14179	//   },
14180	//   "scopes": [
14181	//     "https://www.googleapis.com/auth/dfatrafficking"
14182	//   ]
14183	// }
14184
14185}
14186
14187// method id "dfareporting.accountPermissionGroups.get":
14188
14189type AccountPermissionGroupsGetCall struct {
14190	s            *Service
14191	profileId    int64
14192	id           int64
14193	urlParams_   gensupport.URLParams
14194	ifNoneMatch_ string
14195	ctx_         context.Context
14196	header_      http.Header
14197}
14198
14199// Get: Gets one account permission group by ID.
14200//
14201// - id: Account permission group ID.
14202// - profileId: User profile ID associated with this request.
14203func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
14204	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14205	c.profileId = profileId
14206	c.id = id
14207	return c
14208}
14209
14210// Fields allows partial responses to be retrieved. See
14211// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14212// for more information.
14213func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
14214	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14215	return c
14216}
14217
14218// IfNoneMatch sets the optional parameter which makes the operation
14219// fail if the object's ETag matches the given value. This is useful for
14220// getting updates only after the object has changed since the last
14221// request. Use googleapi.IsNotModified to check whether the response
14222// error from Do is the result of In-None-Match.
14223func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
14224	c.ifNoneMatch_ = entityTag
14225	return c
14226}
14227
14228// Context sets the context to be used in this call's Do method. Any
14229// pending HTTP request will be aborted if the provided context is
14230// canceled.
14231func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
14232	c.ctx_ = ctx
14233	return c
14234}
14235
14236// Header returns an http.Header that can be modified by the caller to
14237// add HTTP headers to the request.
14238func (c *AccountPermissionGroupsGetCall) Header() http.Header {
14239	if c.header_ == nil {
14240		c.header_ = make(http.Header)
14241	}
14242	return c.header_
14243}
14244
14245func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
14246	reqHeaders := make(http.Header)
14247	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14248	for k, v := range c.header_ {
14249		reqHeaders[k] = v
14250	}
14251	reqHeaders.Set("User-Agent", c.s.userAgent())
14252	if c.ifNoneMatch_ != "" {
14253		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14254	}
14255	var body io.Reader = nil
14256	c.urlParams_.Set("alt", alt)
14257	c.urlParams_.Set("prettyPrint", "false")
14258	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
14259	urls += "?" + c.urlParams_.Encode()
14260	req, err := http.NewRequest("GET", urls, body)
14261	if err != nil {
14262		return nil, err
14263	}
14264	req.Header = reqHeaders
14265	googleapi.Expand(req.URL, map[string]string{
14266		"profileId": strconv.FormatInt(c.profileId, 10),
14267		"id":        strconv.FormatInt(c.id, 10),
14268	})
14269	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14270}
14271
14272// Do executes the "dfareporting.accountPermissionGroups.get" call.
14273// Exactly one of *AccountPermissionGroup or error will be non-nil. Any
14274// non-2xx status code is an error. Response headers are in either
14275// *AccountPermissionGroup.ServerResponse.Header or (if a response was
14276// returned at all) in error.(*googleapi.Error).Header. Use
14277// googleapi.IsNotModified to check whether the returned error was
14278// because http.StatusNotModified was returned.
14279func (c *AccountPermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroup, error) {
14280	gensupport.SetOptions(c.urlParams_, opts...)
14281	res, err := c.doRequest("json")
14282	if res != nil && res.StatusCode == http.StatusNotModified {
14283		if res.Body != nil {
14284			res.Body.Close()
14285		}
14286		return nil, &googleapi.Error{
14287			Code:   res.StatusCode,
14288			Header: res.Header,
14289		}
14290	}
14291	if err != nil {
14292		return nil, err
14293	}
14294	defer googleapi.CloseBody(res)
14295	if err := googleapi.CheckResponse(res); err != nil {
14296		return nil, err
14297	}
14298	ret := &AccountPermissionGroup{
14299		ServerResponse: googleapi.ServerResponse{
14300			Header:         res.Header,
14301			HTTPStatusCode: res.StatusCode,
14302		},
14303	}
14304	target := &ret
14305	if err := gensupport.DecodeResponse(target, res); err != nil {
14306		return nil, err
14307	}
14308	return ret, nil
14309	// {
14310	//   "description": "Gets one account permission group by ID.",
14311	//   "flatPath": "userprofiles/{profileId}/accountPermissionGroups/{id}",
14312	//   "httpMethod": "GET",
14313	//   "id": "dfareporting.accountPermissionGroups.get",
14314	//   "parameterOrder": [
14315	//     "profileId",
14316	//     "id"
14317	//   ],
14318	//   "parameters": {
14319	//     "id": {
14320	//       "description": "Account permission group ID.",
14321	//       "format": "int64",
14322	//       "location": "path",
14323	//       "required": true,
14324	//       "type": "string"
14325	//     },
14326	//     "profileId": {
14327	//       "description": "User profile ID associated with this request.",
14328	//       "format": "int64",
14329	//       "location": "path",
14330	//       "required": true,
14331	//       "type": "string"
14332	//     }
14333	//   },
14334	//   "path": "userprofiles/{profileId}/accountPermissionGroups/{id}",
14335	//   "response": {
14336	//     "$ref": "AccountPermissionGroup"
14337	//   },
14338	//   "scopes": [
14339	//     "https://www.googleapis.com/auth/dfatrafficking"
14340	//   ]
14341	// }
14342
14343}
14344
14345// method id "dfareporting.accountPermissionGroups.list":
14346
14347type AccountPermissionGroupsListCall struct {
14348	s            *Service
14349	profileId    int64
14350	urlParams_   gensupport.URLParams
14351	ifNoneMatch_ string
14352	ctx_         context.Context
14353	header_      http.Header
14354}
14355
14356// List: Retrieves the list of account permission groups.
14357//
14358// - profileId: User profile ID associated with this request.
14359func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
14360	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14361	c.profileId = profileId
14362	return c
14363}
14364
14365// Fields allows partial responses to be retrieved. See
14366// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14367// for more information.
14368func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
14369	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14370	return c
14371}
14372
14373// IfNoneMatch sets the optional parameter which makes the operation
14374// fail if the object's ETag matches the given value. This is useful for
14375// getting updates only after the object has changed since the last
14376// request. Use googleapi.IsNotModified to check whether the response
14377// error from Do is the result of In-None-Match.
14378func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
14379	c.ifNoneMatch_ = entityTag
14380	return c
14381}
14382
14383// Context sets the context to be used in this call's Do method. Any
14384// pending HTTP request will be aborted if the provided context is
14385// canceled.
14386func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
14387	c.ctx_ = ctx
14388	return c
14389}
14390
14391// Header returns an http.Header that can be modified by the caller to
14392// add HTTP headers to the request.
14393func (c *AccountPermissionGroupsListCall) Header() http.Header {
14394	if c.header_ == nil {
14395		c.header_ = make(http.Header)
14396	}
14397	return c.header_
14398}
14399
14400func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
14401	reqHeaders := make(http.Header)
14402	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14403	for k, v := range c.header_ {
14404		reqHeaders[k] = v
14405	}
14406	reqHeaders.Set("User-Agent", c.s.userAgent())
14407	if c.ifNoneMatch_ != "" {
14408		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14409	}
14410	var body io.Reader = nil
14411	c.urlParams_.Set("alt", alt)
14412	c.urlParams_.Set("prettyPrint", "false")
14413	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
14414	urls += "?" + c.urlParams_.Encode()
14415	req, err := http.NewRequest("GET", urls, body)
14416	if err != nil {
14417		return nil, err
14418	}
14419	req.Header = reqHeaders
14420	googleapi.Expand(req.URL, map[string]string{
14421		"profileId": strconv.FormatInt(c.profileId, 10),
14422	})
14423	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14424}
14425
14426// Do executes the "dfareporting.accountPermissionGroups.list" call.
14427// Exactly one of *AccountPermissionGroupsListResponse or error will be
14428// non-nil. Any non-2xx status code is an error. Response headers are in
14429// either *AccountPermissionGroupsListResponse.ServerResponse.Header or
14430// (if a response was returned at all) in
14431// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
14432// whether the returned error was because http.StatusNotModified was
14433// returned.
14434func (c *AccountPermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroupsListResponse, error) {
14435	gensupport.SetOptions(c.urlParams_, opts...)
14436	res, err := c.doRequest("json")
14437	if res != nil && res.StatusCode == http.StatusNotModified {
14438		if res.Body != nil {
14439			res.Body.Close()
14440		}
14441		return nil, &googleapi.Error{
14442			Code:   res.StatusCode,
14443			Header: res.Header,
14444		}
14445	}
14446	if err != nil {
14447		return nil, err
14448	}
14449	defer googleapi.CloseBody(res)
14450	if err := googleapi.CheckResponse(res); err != nil {
14451		return nil, err
14452	}
14453	ret := &AccountPermissionGroupsListResponse{
14454		ServerResponse: googleapi.ServerResponse{
14455			Header:         res.Header,
14456			HTTPStatusCode: res.StatusCode,
14457		},
14458	}
14459	target := &ret
14460	if err := gensupport.DecodeResponse(target, res); err != nil {
14461		return nil, err
14462	}
14463	return ret, nil
14464	// {
14465	//   "description": "Retrieves the list of account permission groups.",
14466	//   "flatPath": "userprofiles/{profileId}/accountPermissionGroups",
14467	//   "httpMethod": "GET",
14468	//   "id": "dfareporting.accountPermissionGroups.list",
14469	//   "parameterOrder": [
14470	//     "profileId"
14471	//   ],
14472	//   "parameters": {
14473	//     "profileId": {
14474	//       "description": "User profile ID associated with this request.",
14475	//       "format": "int64",
14476	//       "location": "path",
14477	//       "required": true,
14478	//       "type": "string"
14479	//     }
14480	//   },
14481	//   "path": "userprofiles/{profileId}/accountPermissionGroups",
14482	//   "response": {
14483	//     "$ref": "AccountPermissionGroupsListResponse"
14484	//   },
14485	//   "scopes": [
14486	//     "https://www.googleapis.com/auth/dfatrafficking"
14487	//   ]
14488	// }
14489
14490}
14491
14492// method id "dfareporting.accountPermissions.get":
14493
14494type AccountPermissionsGetCall struct {
14495	s            *Service
14496	profileId    int64
14497	id           int64
14498	urlParams_   gensupport.URLParams
14499	ifNoneMatch_ string
14500	ctx_         context.Context
14501	header_      http.Header
14502}
14503
14504// Get: Gets one account permission by ID.
14505//
14506// - id: Account permission ID.
14507// - profileId: User profile ID associated with this request.
14508func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
14509	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14510	c.profileId = profileId
14511	c.id = id
14512	return c
14513}
14514
14515// Fields allows partial responses to be retrieved. See
14516// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14517// for more information.
14518func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
14519	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14520	return c
14521}
14522
14523// IfNoneMatch sets the optional parameter which makes the operation
14524// fail if the object's ETag matches the given value. This is useful for
14525// getting updates only after the object has changed since the last
14526// request. Use googleapi.IsNotModified to check whether the response
14527// error from Do is the result of In-None-Match.
14528func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
14529	c.ifNoneMatch_ = entityTag
14530	return c
14531}
14532
14533// Context sets the context to be used in this call's Do method. Any
14534// pending HTTP request will be aborted if the provided context is
14535// canceled.
14536func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
14537	c.ctx_ = ctx
14538	return c
14539}
14540
14541// Header returns an http.Header that can be modified by the caller to
14542// add HTTP headers to the request.
14543func (c *AccountPermissionsGetCall) Header() http.Header {
14544	if c.header_ == nil {
14545		c.header_ = make(http.Header)
14546	}
14547	return c.header_
14548}
14549
14550func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
14551	reqHeaders := make(http.Header)
14552	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14553	for k, v := range c.header_ {
14554		reqHeaders[k] = v
14555	}
14556	reqHeaders.Set("User-Agent", c.s.userAgent())
14557	if c.ifNoneMatch_ != "" {
14558		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14559	}
14560	var body io.Reader = nil
14561	c.urlParams_.Set("alt", alt)
14562	c.urlParams_.Set("prettyPrint", "false")
14563	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
14564	urls += "?" + c.urlParams_.Encode()
14565	req, err := http.NewRequest("GET", urls, body)
14566	if err != nil {
14567		return nil, err
14568	}
14569	req.Header = reqHeaders
14570	googleapi.Expand(req.URL, map[string]string{
14571		"profileId": strconv.FormatInt(c.profileId, 10),
14572		"id":        strconv.FormatInt(c.id, 10),
14573	})
14574	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14575}
14576
14577// Do executes the "dfareporting.accountPermissions.get" call.
14578// Exactly one of *AccountPermission or error will be non-nil. Any
14579// non-2xx status code is an error. Response headers are in either
14580// *AccountPermission.ServerResponse.Header or (if a response was
14581// returned at all) in error.(*googleapi.Error).Header. Use
14582// googleapi.IsNotModified to check whether the returned error was
14583// because http.StatusNotModified was returned.
14584func (c *AccountPermissionsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermission, error) {
14585	gensupport.SetOptions(c.urlParams_, opts...)
14586	res, err := c.doRequest("json")
14587	if res != nil && res.StatusCode == http.StatusNotModified {
14588		if res.Body != nil {
14589			res.Body.Close()
14590		}
14591		return nil, &googleapi.Error{
14592			Code:   res.StatusCode,
14593			Header: res.Header,
14594		}
14595	}
14596	if err != nil {
14597		return nil, err
14598	}
14599	defer googleapi.CloseBody(res)
14600	if err := googleapi.CheckResponse(res); err != nil {
14601		return nil, err
14602	}
14603	ret := &AccountPermission{
14604		ServerResponse: googleapi.ServerResponse{
14605			Header:         res.Header,
14606			HTTPStatusCode: res.StatusCode,
14607		},
14608	}
14609	target := &ret
14610	if err := gensupport.DecodeResponse(target, res); err != nil {
14611		return nil, err
14612	}
14613	return ret, nil
14614	// {
14615	//   "description": "Gets one account permission by ID.",
14616	//   "flatPath": "userprofiles/{profileId}/accountPermissions/{id}",
14617	//   "httpMethod": "GET",
14618	//   "id": "dfareporting.accountPermissions.get",
14619	//   "parameterOrder": [
14620	//     "profileId",
14621	//     "id"
14622	//   ],
14623	//   "parameters": {
14624	//     "id": {
14625	//       "description": "Account permission ID.",
14626	//       "format": "int64",
14627	//       "location": "path",
14628	//       "required": true,
14629	//       "type": "string"
14630	//     },
14631	//     "profileId": {
14632	//       "description": "User profile ID associated with this request.",
14633	//       "format": "int64",
14634	//       "location": "path",
14635	//       "required": true,
14636	//       "type": "string"
14637	//     }
14638	//   },
14639	//   "path": "userprofiles/{profileId}/accountPermissions/{id}",
14640	//   "response": {
14641	//     "$ref": "AccountPermission"
14642	//   },
14643	//   "scopes": [
14644	//     "https://www.googleapis.com/auth/dfatrafficking"
14645	//   ]
14646	// }
14647
14648}
14649
14650// method id "dfareporting.accountPermissions.list":
14651
14652type AccountPermissionsListCall struct {
14653	s            *Service
14654	profileId    int64
14655	urlParams_   gensupport.URLParams
14656	ifNoneMatch_ string
14657	ctx_         context.Context
14658	header_      http.Header
14659}
14660
14661// List: Retrieves the list of account permissions.
14662//
14663// - profileId: User profile ID associated with this request.
14664func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
14665	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14666	c.profileId = profileId
14667	return c
14668}
14669
14670// Fields allows partial responses to be retrieved. See
14671// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14672// for more information.
14673func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
14674	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14675	return c
14676}
14677
14678// IfNoneMatch sets the optional parameter which makes the operation
14679// fail if the object's ETag matches the given value. This is useful for
14680// getting updates only after the object has changed since the last
14681// request. Use googleapi.IsNotModified to check whether the response
14682// error from Do is the result of In-None-Match.
14683func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
14684	c.ifNoneMatch_ = entityTag
14685	return c
14686}
14687
14688// Context sets the context to be used in this call's Do method. Any
14689// pending HTTP request will be aborted if the provided context is
14690// canceled.
14691func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
14692	c.ctx_ = ctx
14693	return c
14694}
14695
14696// Header returns an http.Header that can be modified by the caller to
14697// add HTTP headers to the request.
14698func (c *AccountPermissionsListCall) Header() http.Header {
14699	if c.header_ == nil {
14700		c.header_ = make(http.Header)
14701	}
14702	return c.header_
14703}
14704
14705func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
14706	reqHeaders := make(http.Header)
14707	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14708	for k, v := range c.header_ {
14709		reqHeaders[k] = v
14710	}
14711	reqHeaders.Set("User-Agent", c.s.userAgent())
14712	if c.ifNoneMatch_ != "" {
14713		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14714	}
14715	var body io.Reader = nil
14716	c.urlParams_.Set("alt", alt)
14717	c.urlParams_.Set("prettyPrint", "false")
14718	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
14719	urls += "?" + c.urlParams_.Encode()
14720	req, err := http.NewRequest("GET", urls, body)
14721	if err != nil {
14722		return nil, err
14723	}
14724	req.Header = reqHeaders
14725	googleapi.Expand(req.URL, map[string]string{
14726		"profileId": strconv.FormatInt(c.profileId, 10),
14727	})
14728	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14729}
14730
14731// Do executes the "dfareporting.accountPermissions.list" call.
14732// Exactly one of *AccountPermissionsListResponse or error will be
14733// non-nil. Any non-2xx status code is an error. Response headers are in
14734// either *AccountPermissionsListResponse.ServerResponse.Header or (if a
14735// response was returned at all) in error.(*googleapi.Error).Header. Use
14736// googleapi.IsNotModified to check whether the returned error was
14737// because http.StatusNotModified was returned.
14738func (c *AccountPermissionsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionsListResponse, error) {
14739	gensupport.SetOptions(c.urlParams_, opts...)
14740	res, err := c.doRequest("json")
14741	if res != nil && res.StatusCode == http.StatusNotModified {
14742		if res.Body != nil {
14743			res.Body.Close()
14744		}
14745		return nil, &googleapi.Error{
14746			Code:   res.StatusCode,
14747			Header: res.Header,
14748		}
14749	}
14750	if err != nil {
14751		return nil, err
14752	}
14753	defer googleapi.CloseBody(res)
14754	if err := googleapi.CheckResponse(res); err != nil {
14755		return nil, err
14756	}
14757	ret := &AccountPermissionsListResponse{
14758		ServerResponse: googleapi.ServerResponse{
14759			Header:         res.Header,
14760			HTTPStatusCode: res.StatusCode,
14761		},
14762	}
14763	target := &ret
14764	if err := gensupport.DecodeResponse(target, res); err != nil {
14765		return nil, err
14766	}
14767	return ret, nil
14768	// {
14769	//   "description": "Retrieves the list of account permissions.",
14770	//   "flatPath": "userprofiles/{profileId}/accountPermissions",
14771	//   "httpMethod": "GET",
14772	//   "id": "dfareporting.accountPermissions.list",
14773	//   "parameterOrder": [
14774	//     "profileId"
14775	//   ],
14776	//   "parameters": {
14777	//     "profileId": {
14778	//       "description": "User profile ID associated with this request.",
14779	//       "format": "int64",
14780	//       "location": "path",
14781	//       "required": true,
14782	//       "type": "string"
14783	//     }
14784	//   },
14785	//   "path": "userprofiles/{profileId}/accountPermissions",
14786	//   "response": {
14787	//     "$ref": "AccountPermissionsListResponse"
14788	//   },
14789	//   "scopes": [
14790	//     "https://www.googleapis.com/auth/dfatrafficking"
14791	//   ]
14792	// }
14793
14794}
14795
14796// method id "dfareporting.accountUserProfiles.get":
14797
14798type AccountUserProfilesGetCall struct {
14799	s            *Service
14800	profileId    int64
14801	id           int64
14802	urlParams_   gensupport.URLParams
14803	ifNoneMatch_ string
14804	ctx_         context.Context
14805	header_      http.Header
14806}
14807
14808// Get: Gets one account user profile by ID.
14809//
14810// - id: User profile ID.
14811// - profileId: User profile ID associated with this request.
14812func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
14813	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14814	c.profileId = profileId
14815	c.id = id
14816	return c
14817}
14818
14819// Fields allows partial responses to be retrieved. See
14820// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14821// for more information.
14822func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
14823	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14824	return c
14825}
14826
14827// IfNoneMatch sets the optional parameter which makes the operation
14828// fail if the object's ETag matches the given value. This is useful for
14829// getting updates only after the object has changed since the last
14830// request. Use googleapi.IsNotModified to check whether the response
14831// error from Do is the result of In-None-Match.
14832func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
14833	c.ifNoneMatch_ = entityTag
14834	return c
14835}
14836
14837// Context sets the context to be used in this call's Do method. Any
14838// pending HTTP request will be aborted if the provided context is
14839// canceled.
14840func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
14841	c.ctx_ = ctx
14842	return c
14843}
14844
14845// Header returns an http.Header that can be modified by the caller to
14846// add HTTP headers to the request.
14847func (c *AccountUserProfilesGetCall) Header() http.Header {
14848	if c.header_ == nil {
14849		c.header_ = make(http.Header)
14850	}
14851	return c.header_
14852}
14853
14854func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
14855	reqHeaders := make(http.Header)
14856	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
14857	for k, v := range c.header_ {
14858		reqHeaders[k] = v
14859	}
14860	reqHeaders.Set("User-Agent", c.s.userAgent())
14861	if c.ifNoneMatch_ != "" {
14862		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14863	}
14864	var body io.Reader = nil
14865	c.urlParams_.Set("alt", alt)
14866	c.urlParams_.Set("prettyPrint", "false")
14867	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
14868	urls += "?" + c.urlParams_.Encode()
14869	req, err := http.NewRequest("GET", urls, body)
14870	if err != nil {
14871		return nil, err
14872	}
14873	req.Header = reqHeaders
14874	googleapi.Expand(req.URL, map[string]string{
14875		"profileId": strconv.FormatInt(c.profileId, 10),
14876		"id":        strconv.FormatInt(c.id, 10),
14877	})
14878	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14879}
14880
14881// Do executes the "dfareporting.accountUserProfiles.get" call.
14882// Exactly one of *AccountUserProfile or error will be non-nil. Any
14883// non-2xx status code is an error. Response headers are in either
14884// *AccountUserProfile.ServerResponse.Header or (if a response was
14885// returned at all) in error.(*googleapi.Error).Header. Use
14886// googleapi.IsNotModified to check whether the returned error was
14887// because http.StatusNotModified was returned.
14888func (c *AccountUserProfilesGetCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
14889	gensupport.SetOptions(c.urlParams_, opts...)
14890	res, err := c.doRequest("json")
14891	if res != nil && res.StatusCode == http.StatusNotModified {
14892		if res.Body != nil {
14893			res.Body.Close()
14894		}
14895		return nil, &googleapi.Error{
14896			Code:   res.StatusCode,
14897			Header: res.Header,
14898		}
14899	}
14900	if err != nil {
14901		return nil, err
14902	}
14903	defer googleapi.CloseBody(res)
14904	if err := googleapi.CheckResponse(res); err != nil {
14905		return nil, err
14906	}
14907	ret := &AccountUserProfile{
14908		ServerResponse: googleapi.ServerResponse{
14909			Header:         res.Header,
14910			HTTPStatusCode: res.StatusCode,
14911		},
14912	}
14913	target := &ret
14914	if err := gensupport.DecodeResponse(target, res); err != nil {
14915		return nil, err
14916	}
14917	return ret, nil
14918	// {
14919	//   "description": "Gets one account user profile by ID.",
14920	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles/{id}",
14921	//   "httpMethod": "GET",
14922	//   "id": "dfareporting.accountUserProfiles.get",
14923	//   "parameterOrder": [
14924	//     "profileId",
14925	//     "id"
14926	//   ],
14927	//   "parameters": {
14928	//     "id": {
14929	//       "description": "User profile ID.",
14930	//       "format": "int64",
14931	//       "location": "path",
14932	//       "required": true,
14933	//       "type": "string"
14934	//     },
14935	//     "profileId": {
14936	//       "description": "User profile ID associated with this request.",
14937	//       "format": "int64",
14938	//       "location": "path",
14939	//       "required": true,
14940	//       "type": "string"
14941	//     }
14942	//   },
14943	//   "path": "userprofiles/{profileId}/accountUserProfiles/{id}",
14944	//   "response": {
14945	//     "$ref": "AccountUserProfile"
14946	//   },
14947	//   "scopes": [
14948	//     "https://www.googleapis.com/auth/dfatrafficking"
14949	//   ]
14950	// }
14951
14952}
14953
14954// method id "dfareporting.accountUserProfiles.insert":
14955
14956type AccountUserProfilesInsertCall struct {
14957	s                  *Service
14958	profileId          int64
14959	accountuserprofile *AccountUserProfile
14960	urlParams_         gensupport.URLParams
14961	ctx_               context.Context
14962	header_            http.Header
14963}
14964
14965// Insert: Inserts a new account user profile.
14966//
14967// - profileId: User profile ID associated with this request.
14968func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
14969	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14970	c.profileId = profileId
14971	c.accountuserprofile = accountuserprofile
14972	return c
14973}
14974
14975// Fields allows partial responses to be retrieved. See
14976// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14977// for more information.
14978func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
14979	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14980	return c
14981}
14982
14983// Context sets the context to be used in this call's Do method. Any
14984// pending HTTP request will be aborted if the provided context is
14985// canceled.
14986func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
14987	c.ctx_ = ctx
14988	return c
14989}
14990
14991// Header returns an http.Header that can be modified by the caller to
14992// add HTTP headers to the request.
14993func (c *AccountUserProfilesInsertCall) Header() http.Header {
14994	if c.header_ == nil {
14995		c.header_ = make(http.Header)
14996	}
14997	return c.header_
14998}
14999
15000func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
15001	reqHeaders := make(http.Header)
15002	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15003	for k, v := range c.header_ {
15004		reqHeaders[k] = v
15005	}
15006	reqHeaders.Set("User-Agent", c.s.userAgent())
15007	var body io.Reader = nil
15008	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15009	if err != nil {
15010		return nil, err
15011	}
15012	reqHeaders.Set("Content-Type", "application/json")
15013	c.urlParams_.Set("alt", alt)
15014	c.urlParams_.Set("prettyPrint", "false")
15015	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15016	urls += "?" + c.urlParams_.Encode()
15017	req, err := http.NewRequest("POST", urls, body)
15018	if err != nil {
15019		return nil, err
15020	}
15021	req.Header = reqHeaders
15022	googleapi.Expand(req.URL, map[string]string{
15023		"profileId": strconv.FormatInt(c.profileId, 10),
15024	})
15025	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15026}
15027
15028// Do executes the "dfareporting.accountUserProfiles.insert" call.
15029// Exactly one of *AccountUserProfile or error will be non-nil. Any
15030// non-2xx status code is an error. Response headers are in either
15031// *AccountUserProfile.ServerResponse.Header or (if a response was
15032// returned at all) in error.(*googleapi.Error).Header. Use
15033// googleapi.IsNotModified to check whether the returned error was
15034// because http.StatusNotModified was returned.
15035func (c *AccountUserProfilesInsertCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15036	gensupport.SetOptions(c.urlParams_, opts...)
15037	res, err := c.doRequest("json")
15038	if res != nil && res.StatusCode == http.StatusNotModified {
15039		if res.Body != nil {
15040			res.Body.Close()
15041		}
15042		return nil, &googleapi.Error{
15043			Code:   res.StatusCode,
15044			Header: res.Header,
15045		}
15046	}
15047	if err != nil {
15048		return nil, err
15049	}
15050	defer googleapi.CloseBody(res)
15051	if err := googleapi.CheckResponse(res); err != nil {
15052		return nil, err
15053	}
15054	ret := &AccountUserProfile{
15055		ServerResponse: googleapi.ServerResponse{
15056			Header:         res.Header,
15057			HTTPStatusCode: res.StatusCode,
15058		},
15059	}
15060	target := &ret
15061	if err := gensupport.DecodeResponse(target, res); err != nil {
15062		return nil, err
15063	}
15064	return ret, nil
15065	// {
15066	//   "description": "Inserts a new account user profile.",
15067	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15068	//   "httpMethod": "POST",
15069	//   "id": "dfareporting.accountUserProfiles.insert",
15070	//   "parameterOrder": [
15071	//     "profileId"
15072	//   ],
15073	//   "parameters": {
15074	//     "profileId": {
15075	//       "description": "User profile ID associated with this request.",
15076	//       "format": "int64",
15077	//       "location": "path",
15078	//       "required": true,
15079	//       "type": "string"
15080	//     }
15081	//   },
15082	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15083	//   "request": {
15084	//     "$ref": "AccountUserProfile"
15085	//   },
15086	//   "response": {
15087	//     "$ref": "AccountUserProfile"
15088	//   },
15089	//   "scopes": [
15090	//     "https://www.googleapis.com/auth/dfatrafficking"
15091	//   ]
15092	// }
15093
15094}
15095
15096// method id "dfareporting.accountUserProfiles.list":
15097
15098type AccountUserProfilesListCall struct {
15099	s            *Service
15100	profileId    int64
15101	urlParams_   gensupport.URLParams
15102	ifNoneMatch_ string
15103	ctx_         context.Context
15104	header_      http.Header
15105}
15106
15107// List: Retrieves a list of account user profiles, possibly filtered.
15108// This method supports paging.
15109//
15110// - profileId: User profile ID associated with this request.
15111func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
15112	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15113	c.profileId = profileId
15114	return c
15115}
15116
15117// Active sets the optional parameter "active": Select only active user
15118// profiles.
15119func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
15120	c.urlParams_.Set("active", fmt.Sprint(active))
15121	return c
15122}
15123
15124// Ids sets the optional parameter "ids": Select only user profiles with
15125// these IDs.
15126func (c *AccountUserProfilesListCall) Ids(ids ...int64) *AccountUserProfilesListCall {
15127	var ids_ []string
15128	for _, v := range ids {
15129		ids_ = append(ids_, fmt.Sprint(v))
15130	}
15131	c.urlParams_.SetMulti("ids", ids_)
15132	return c
15133}
15134
15135// MaxResults sets the optional parameter "maxResults": Maximum number
15136// of results to return.
15137func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
15138	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
15139	return c
15140}
15141
15142// PageToken sets the optional parameter "pageToken": Value of the
15143// nextPageToken from the previous result page.
15144func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
15145	c.urlParams_.Set("pageToken", pageToken)
15146	return c
15147}
15148
15149// SearchString sets the optional parameter "searchString": Allows
15150// searching for objects by name, ID or email. Wildcards (*) are
15151// allowed. For example, "user profile*2015" will return objects with
15152// names like "user profile June 2015", "user profile April 2015", or
15153// simply "user profile 2015". Most of the searches also add wildcards
15154// implicitly at the start and the end of the search string. For
15155// example, a search string of "user profile" will match objects with
15156// name "my user profile", "user profile 2015", or simply "user
15157// profile".
15158func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
15159	c.urlParams_.Set("searchString", searchString)
15160	return c
15161}
15162
15163// SortField sets the optional parameter "sortField": Field by which to
15164// sort the list.
15165//
15166// Possible values:
15167//   "ID" (default)
15168//   "NAME"
15169func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
15170	c.urlParams_.Set("sortField", sortField)
15171	return c
15172}
15173
15174// SortOrder sets the optional parameter "sortOrder": Order of sorted
15175// results.
15176//
15177// Possible values:
15178//   "ASCENDING" (default)
15179//   "DESCENDING"
15180func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
15181	c.urlParams_.Set("sortOrder", sortOrder)
15182	return c
15183}
15184
15185// SubaccountId sets the optional parameter "subaccountId": Select only
15186// user profiles with the specified subaccount ID.
15187func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
15188	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
15189	return c
15190}
15191
15192// UserRoleId sets the optional parameter "userRoleId": Select only user
15193// profiles with the specified user role ID.
15194func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
15195	c.urlParams_.Set("userRoleId", fmt.Sprint(userRoleId))
15196	return c
15197}
15198
15199// Fields allows partial responses to be retrieved. See
15200// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15201// for more information.
15202func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
15203	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15204	return c
15205}
15206
15207// IfNoneMatch sets the optional parameter which makes the operation
15208// fail if the object's ETag matches the given value. This is useful for
15209// getting updates only after the object has changed since the last
15210// request. Use googleapi.IsNotModified to check whether the response
15211// error from Do is the result of In-None-Match.
15212func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
15213	c.ifNoneMatch_ = entityTag
15214	return c
15215}
15216
15217// Context sets the context to be used in this call's Do method. Any
15218// pending HTTP request will be aborted if the provided context is
15219// canceled.
15220func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
15221	c.ctx_ = ctx
15222	return c
15223}
15224
15225// Header returns an http.Header that can be modified by the caller to
15226// add HTTP headers to the request.
15227func (c *AccountUserProfilesListCall) Header() http.Header {
15228	if c.header_ == nil {
15229		c.header_ = make(http.Header)
15230	}
15231	return c.header_
15232}
15233
15234func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
15235	reqHeaders := make(http.Header)
15236	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15237	for k, v := range c.header_ {
15238		reqHeaders[k] = v
15239	}
15240	reqHeaders.Set("User-Agent", c.s.userAgent())
15241	if c.ifNoneMatch_ != "" {
15242		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15243	}
15244	var body io.Reader = nil
15245	c.urlParams_.Set("alt", alt)
15246	c.urlParams_.Set("prettyPrint", "false")
15247	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15248	urls += "?" + c.urlParams_.Encode()
15249	req, err := http.NewRequest("GET", urls, body)
15250	if err != nil {
15251		return nil, err
15252	}
15253	req.Header = reqHeaders
15254	googleapi.Expand(req.URL, map[string]string{
15255		"profileId": strconv.FormatInt(c.profileId, 10),
15256	})
15257	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15258}
15259
15260// Do executes the "dfareporting.accountUserProfiles.list" call.
15261// Exactly one of *AccountUserProfilesListResponse or error will be
15262// non-nil. Any non-2xx status code is an error. Response headers are in
15263// either *AccountUserProfilesListResponse.ServerResponse.Header or (if
15264// a response was returned at all) in error.(*googleapi.Error).Header.
15265// Use googleapi.IsNotModified to check whether the returned error was
15266// because http.StatusNotModified was returned.
15267func (c *AccountUserProfilesListCall) Do(opts ...googleapi.CallOption) (*AccountUserProfilesListResponse, error) {
15268	gensupport.SetOptions(c.urlParams_, opts...)
15269	res, err := c.doRequest("json")
15270	if res != nil && res.StatusCode == http.StatusNotModified {
15271		if res.Body != nil {
15272			res.Body.Close()
15273		}
15274		return nil, &googleapi.Error{
15275			Code:   res.StatusCode,
15276			Header: res.Header,
15277		}
15278	}
15279	if err != nil {
15280		return nil, err
15281	}
15282	defer googleapi.CloseBody(res)
15283	if err := googleapi.CheckResponse(res); err != nil {
15284		return nil, err
15285	}
15286	ret := &AccountUserProfilesListResponse{
15287		ServerResponse: googleapi.ServerResponse{
15288			Header:         res.Header,
15289			HTTPStatusCode: res.StatusCode,
15290		},
15291	}
15292	target := &ret
15293	if err := gensupport.DecodeResponse(target, res); err != nil {
15294		return nil, err
15295	}
15296	return ret, nil
15297	// {
15298	//   "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
15299	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15300	//   "httpMethod": "GET",
15301	//   "id": "dfareporting.accountUserProfiles.list",
15302	//   "parameterOrder": [
15303	//     "profileId"
15304	//   ],
15305	//   "parameters": {
15306	//     "active": {
15307	//       "description": "Select only active user profiles.",
15308	//       "location": "query",
15309	//       "type": "boolean"
15310	//     },
15311	//     "ids": {
15312	//       "description": "Select only user profiles with these IDs.",
15313	//       "format": "int64",
15314	//       "location": "query",
15315	//       "repeated": true,
15316	//       "type": "string"
15317	//     },
15318	//     "maxResults": {
15319	//       "default": "1000",
15320	//       "description": "Maximum number of results to return.",
15321	//       "format": "int32",
15322	//       "location": "query",
15323	//       "maximum": "1000",
15324	//       "minimum": "0",
15325	//       "type": "integer"
15326	//     },
15327	//     "pageToken": {
15328	//       "description": "Value of the nextPageToken from the previous result page.",
15329	//       "location": "query",
15330	//       "type": "string"
15331	//     },
15332	//     "profileId": {
15333	//       "description": "User profile ID associated with this request.",
15334	//       "format": "int64",
15335	//       "location": "path",
15336	//       "required": true,
15337	//       "type": "string"
15338	//     },
15339	//     "searchString": {
15340	//       "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\".",
15341	//       "location": "query",
15342	//       "type": "string"
15343	//     },
15344	//     "sortField": {
15345	//       "default": "ID",
15346	//       "description": "Field by which to sort the list.",
15347	//       "enum": [
15348	//         "ID",
15349	//         "NAME"
15350	//       ],
15351	//       "enumDescriptions": [
15352	//         "",
15353	//         ""
15354	//       ],
15355	//       "location": "query",
15356	//       "type": "string"
15357	//     },
15358	//     "sortOrder": {
15359	//       "default": "ASCENDING",
15360	//       "description": "Order of sorted results.",
15361	//       "enum": [
15362	//         "ASCENDING",
15363	//         "DESCENDING"
15364	//       ],
15365	//       "enumDescriptions": [
15366	//         "",
15367	//         ""
15368	//       ],
15369	//       "location": "query",
15370	//       "type": "string"
15371	//     },
15372	//     "subaccountId": {
15373	//       "description": "Select only user profiles with the specified subaccount ID.",
15374	//       "format": "int64",
15375	//       "location": "query",
15376	//       "type": "string"
15377	//     },
15378	//     "userRoleId": {
15379	//       "description": "Select only user profiles with the specified user role ID.",
15380	//       "format": "int64",
15381	//       "location": "query",
15382	//       "type": "string"
15383	//     }
15384	//   },
15385	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15386	//   "response": {
15387	//     "$ref": "AccountUserProfilesListResponse"
15388	//   },
15389	//   "scopes": [
15390	//     "https://www.googleapis.com/auth/dfatrafficking"
15391	//   ]
15392	// }
15393
15394}
15395
15396// Pages invokes f for each page of results.
15397// A non-nil error returned from f will halt the iteration.
15398// The provided context supersedes any context provided to the Context method.
15399func (c *AccountUserProfilesListCall) Pages(ctx context.Context, f func(*AccountUserProfilesListResponse) error) error {
15400	c.ctx_ = ctx
15401	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15402	for {
15403		x, err := c.Do()
15404		if err != nil {
15405			return err
15406		}
15407		if err := f(x); err != nil {
15408			return err
15409		}
15410		if x.NextPageToken == "" {
15411			return nil
15412		}
15413		c.PageToken(x.NextPageToken)
15414	}
15415}
15416
15417// method id "dfareporting.accountUserProfiles.patch":
15418
15419type AccountUserProfilesPatchCall struct {
15420	s                  *Service
15421	profileId          int64
15422	accountuserprofile *AccountUserProfile
15423	urlParams_         gensupport.URLParams
15424	ctx_               context.Context
15425	header_            http.Header
15426}
15427
15428// Patch: Updates an existing account user profile. This method supports
15429// patch semantics.
15430//
15431// - id: AccountUserProfile ID.
15432// - profileId: User profile ID associated with this request.
15433func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
15434	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15435	c.profileId = profileId
15436	c.urlParams_.Set("id", fmt.Sprint(id))
15437	c.accountuserprofile = accountuserprofile
15438	return c
15439}
15440
15441// Fields allows partial responses to be retrieved. See
15442// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15443// for more information.
15444func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
15445	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15446	return c
15447}
15448
15449// Context sets the context to be used in this call's Do method. Any
15450// pending HTTP request will be aborted if the provided context is
15451// canceled.
15452func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
15453	c.ctx_ = ctx
15454	return c
15455}
15456
15457// Header returns an http.Header that can be modified by the caller to
15458// add HTTP headers to the request.
15459func (c *AccountUserProfilesPatchCall) Header() http.Header {
15460	if c.header_ == nil {
15461		c.header_ = make(http.Header)
15462	}
15463	return c.header_
15464}
15465
15466func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
15467	reqHeaders := make(http.Header)
15468	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15469	for k, v := range c.header_ {
15470		reqHeaders[k] = v
15471	}
15472	reqHeaders.Set("User-Agent", c.s.userAgent())
15473	var body io.Reader = nil
15474	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15475	if err != nil {
15476		return nil, err
15477	}
15478	reqHeaders.Set("Content-Type", "application/json")
15479	c.urlParams_.Set("alt", alt)
15480	c.urlParams_.Set("prettyPrint", "false")
15481	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15482	urls += "?" + c.urlParams_.Encode()
15483	req, err := http.NewRequest("PATCH", urls, body)
15484	if err != nil {
15485		return nil, err
15486	}
15487	req.Header = reqHeaders
15488	googleapi.Expand(req.URL, map[string]string{
15489		"profileId": strconv.FormatInt(c.profileId, 10),
15490	})
15491	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15492}
15493
15494// Do executes the "dfareporting.accountUserProfiles.patch" call.
15495// Exactly one of *AccountUserProfile or error will be non-nil. Any
15496// non-2xx status code is an error. Response headers are in either
15497// *AccountUserProfile.ServerResponse.Header or (if a response was
15498// returned at all) in error.(*googleapi.Error).Header. Use
15499// googleapi.IsNotModified to check whether the returned error was
15500// because http.StatusNotModified was returned.
15501func (c *AccountUserProfilesPatchCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15502	gensupport.SetOptions(c.urlParams_, opts...)
15503	res, err := c.doRequest("json")
15504	if res != nil && res.StatusCode == http.StatusNotModified {
15505		if res.Body != nil {
15506			res.Body.Close()
15507		}
15508		return nil, &googleapi.Error{
15509			Code:   res.StatusCode,
15510			Header: res.Header,
15511		}
15512	}
15513	if err != nil {
15514		return nil, err
15515	}
15516	defer googleapi.CloseBody(res)
15517	if err := googleapi.CheckResponse(res); err != nil {
15518		return nil, err
15519	}
15520	ret := &AccountUserProfile{
15521		ServerResponse: googleapi.ServerResponse{
15522			Header:         res.Header,
15523			HTTPStatusCode: res.StatusCode,
15524		},
15525	}
15526	target := &ret
15527	if err := gensupport.DecodeResponse(target, res); err != nil {
15528		return nil, err
15529	}
15530	return ret, nil
15531	// {
15532	//   "description": "Updates an existing account user profile. This method supports patch semantics.",
15533	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15534	//   "httpMethod": "PATCH",
15535	//   "id": "dfareporting.accountUserProfiles.patch",
15536	//   "parameterOrder": [
15537	//     "profileId",
15538	//     "id"
15539	//   ],
15540	//   "parameters": {
15541	//     "id": {
15542	//       "description": "AccountUserProfile ID.",
15543	//       "format": "int64",
15544	//       "location": "query",
15545	//       "required": true,
15546	//       "type": "string"
15547	//     },
15548	//     "profileId": {
15549	//       "description": "User profile ID associated with this request.",
15550	//       "format": "int64",
15551	//       "location": "path",
15552	//       "required": true,
15553	//       "type": "string"
15554	//     }
15555	//   },
15556	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15557	//   "request": {
15558	//     "$ref": "AccountUserProfile"
15559	//   },
15560	//   "response": {
15561	//     "$ref": "AccountUserProfile"
15562	//   },
15563	//   "scopes": [
15564	//     "https://www.googleapis.com/auth/dfatrafficking"
15565	//   ]
15566	// }
15567
15568}
15569
15570// method id "dfareporting.accountUserProfiles.update":
15571
15572type AccountUserProfilesUpdateCall struct {
15573	s                  *Service
15574	profileId          int64
15575	accountuserprofile *AccountUserProfile
15576	urlParams_         gensupport.URLParams
15577	ctx_               context.Context
15578	header_            http.Header
15579}
15580
15581// Update: Updates an existing account user profile.
15582//
15583// - profileId: User profile ID associated with this request.
15584func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
15585	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15586	c.profileId = profileId
15587	c.accountuserprofile = accountuserprofile
15588	return c
15589}
15590
15591// Fields allows partial responses to be retrieved. See
15592// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15593// for more information.
15594func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
15595	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15596	return c
15597}
15598
15599// Context sets the context to be used in this call's Do method. Any
15600// pending HTTP request will be aborted if the provided context is
15601// canceled.
15602func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
15603	c.ctx_ = ctx
15604	return c
15605}
15606
15607// Header returns an http.Header that can be modified by the caller to
15608// add HTTP headers to the request.
15609func (c *AccountUserProfilesUpdateCall) Header() http.Header {
15610	if c.header_ == nil {
15611		c.header_ = make(http.Header)
15612	}
15613	return c.header_
15614}
15615
15616func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
15617	reqHeaders := make(http.Header)
15618	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15619	for k, v := range c.header_ {
15620		reqHeaders[k] = v
15621	}
15622	reqHeaders.Set("User-Agent", c.s.userAgent())
15623	var body io.Reader = nil
15624	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15625	if err != nil {
15626		return nil, err
15627	}
15628	reqHeaders.Set("Content-Type", "application/json")
15629	c.urlParams_.Set("alt", alt)
15630	c.urlParams_.Set("prettyPrint", "false")
15631	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15632	urls += "?" + c.urlParams_.Encode()
15633	req, err := http.NewRequest("PUT", urls, body)
15634	if err != nil {
15635		return nil, err
15636	}
15637	req.Header = reqHeaders
15638	googleapi.Expand(req.URL, map[string]string{
15639		"profileId": strconv.FormatInt(c.profileId, 10),
15640	})
15641	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15642}
15643
15644// Do executes the "dfareporting.accountUserProfiles.update" call.
15645// Exactly one of *AccountUserProfile or error will be non-nil. Any
15646// non-2xx status code is an error. Response headers are in either
15647// *AccountUserProfile.ServerResponse.Header or (if a response was
15648// returned at all) in error.(*googleapi.Error).Header. Use
15649// googleapi.IsNotModified to check whether the returned error was
15650// because http.StatusNotModified was returned.
15651func (c *AccountUserProfilesUpdateCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15652	gensupport.SetOptions(c.urlParams_, opts...)
15653	res, err := c.doRequest("json")
15654	if res != nil && res.StatusCode == http.StatusNotModified {
15655		if res.Body != nil {
15656			res.Body.Close()
15657		}
15658		return nil, &googleapi.Error{
15659			Code:   res.StatusCode,
15660			Header: res.Header,
15661		}
15662	}
15663	if err != nil {
15664		return nil, err
15665	}
15666	defer googleapi.CloseBody(res)
15667	if err := googleapi.CheckResponse(res); err != nil {
15668		return nil, err
15669	}
15670	ret := &AccountUserProfile{
15671		ServerResponse: googleapi.ServerResponse{
15672			Header:         res.Header,
15673			HTTPStatusCode: res.StatusCode,
15674		},
15675	}
15676	target := &ret
15677	if err := gensupport.DecodeResponse(target, res); err != nil {
15678		return nil, err
15679	}
15680	return ret, nil
15681	// {
15682	//   "description": "Updates an existing account user profile.",
15683	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15684	//   "httpMethod": "PUT",
15685	//   "id": "dfareporting.accountUserProfiles.update",
15686	//   "parameterOrder": [
15687	//     "profileId"
15688	//   ],
15689	//   "parameters": {
15690	//     "profileId": {
15691	//       "description": "User profile ID associated with this request.",
15692	//       "format": "int64",
15693	//       "location": "path",
15694	//       "required": true,
15695	//       "type": "string"
15696	//     }
15697	//   },
15698	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15699	//   "request": {
15700	//     "$ref": "AccountUserProfile"
15701	//   },
15702	//   "response": {
15703	//     "$ref": "AccountUserProfile"
15704	//   },
15705	//   "scopes": [
15706	//     "https://www.googleapis.com/auth/dfatrafficking"
15707	//   ]
15708	// }
15709
15710}
15711
15712// method id "dfareporting.accounts.get":
15713
15714type AccountsGetCall struct {
15715	s            *Service
15716	profileId    int64
15717	id           int64
15718	urlParams_   gensupport.URLParams
15719	ifNoneMatch_ string
15720	ctx_         context.Context
15721	header_      http.Header
15722}
15723
15724// Get: Gets one account by ID.
15725//
15726// - id: Account ID.
15727// - profileId: User profile ID associated with this request.
15728func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
15729	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15730	c.profileId = profileId
15731	c.id = id
15732	return c
15733}
15734
15735// Fields allows partial responses to be retrieved. See
15736// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15737// for more information.
15738func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
15739	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15740	return c
15741}
15742
15743// IfNoneMatch sets the optional parameter which makes the operation
15744// fail if the object's ETag matches the given value. This is useful for
15745// getting updates only after the object has changed since the last
15746// request. Use googleapi.IsNotModified to check whether the response
15747// error from Do is the result of In-None-Match.
15748func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
15749	c.ifNoneMatch_ = entityTag
15750	return c
15751}
15752
15753// Context sets the context to be used in this call's Do method. Any
15754// pending HTTP request will be aborted if the provided context is
15755// canceled.
15756func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
15757	c.ctx_ = ctx
15758	return c
15759}
15760
15761// Header returns an http.Header that can be modified by the caller to
15762// add HTTP headers to the request.
15763func (c *AccountsGetCall) Header() http.Header {
15764	if c.header_ == nil {
15765		c.header_ = make(http.Header)
15766	}
15767	return c.header_
15768}
15769
15770func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
15771	reqHeaders := make(http.Header)
15772	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15773	for k, v := range c.header_ {
15774		reqHeaders[k] = v
15775	}
15776	reqHeaders.Set("User-Agent", c.s.userAgent())
15777	if c.ifNoneMatch_ != "" {
15778		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15779	}
15780	var body io.Reader = nil
15781	c.urlParams_.Set("alt", alt)
15782	c.urlParams_.Set("prettyPrint", "false")
15783	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
15784	urls += "?" + c.urlParams_.Encode()
15785	req, err := http.NewRequest("GET", urls, body)
15786	if err != nil {
15787		return nil, err
15788	}
15789	req.Header = reqHeaders
15790	googleapi.Expand(req.URL, map[string]string{
15791		"profileId": strconv.FormatInt(c.profileId, 10),
15792		"id":        strconv.FormatInt(c.id, 10),
15793	})
15794	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15795}
15796
15797// Do executes the "dfareporting.accounts.get" call.
15798// Exactly one of *Account or error will be non-nil. Any non-2xx status
15799// code is an error. Response headers are in either
15800// *Account.ServerResponse.Header or (if a response was returned at all)
15801// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15802// check whether the returned error was because http.StatusNotModified
15803// was returned.
15804func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
15805	gensupport.SetOptions(c.urlParams_, opts...)
15806	res, err := c.doRequest("json")
15807	if res != nil && res.StatusCode == http.StatusNotModified {
15808		if res.Body != nil {
15809			res.Body.Close()
15810		}
15811		return nil, &googleapi.Error{
15812			Code:   res.StatusCode,
15813			Header: res.Header,
15814		}
15815	}
15816	if err != nil {
15817		return nil, err
15818	}
15819	defer googleapi.CloseBody(res)
15820	if err := googleapi.CheckResponse(res); err != nil {
15821		return nil, err
15822	}
15823	ret := &Account{
15824		ServerResponse: googleapi.ServerResponse{
15825			Header:         res.Header,
15826			HTTPStatusCode: res.StatusCode,
15827		},
15828	}
15829	target := &ret
15830	if err := gensupport.DecodeResponse(target, res); err != nil {
15831		return nil, err
15832	}
15833	return ret, nil
15834	// {
15835	//   "description": "Gets one account by ID.",
15836	//   "flatPath": "userprofiles/{profileId}/accounts/{id}",
15837	//   "httpMethod": "GET",
15838	//   "id": "dfareporting.accounts.get",
15839	//   "parameterOrder": [
15840	//     "profileId",
15841	//     "id"
15842	//   ],
15843	//   "parameters": {
15844	//     "id": {
15845	//       "description": "Account ID.",
15846	//       "format": "int64",
15847	//       "location": "path",
15848	//       "required": true,
15849	//       "type": "string"
15850	//     },
15851	//     "profileId": {
15852	//       "description": "User profile ID associated with this request.",
15853	//       "format": "int64",
15854	//       "location": "path",
15855	//       "required": true,
15856	//       "type": "string"
15857	//     }
15858	//   },
15859	//   "path": "userprofiles/{profileId}/accounts/{id}",
15860	//   "response": {
15861	//     "$ref": "Account"
15862	//   },
15863	//   "scopes": [
15864	//     "https://www.googleapis.com/auth/dfatrafficking"
15865	//   ]
15866	// }
15867
15868}
15869
15870// method id "dfareporting.accounts.list":
15871
15872type AccountsListCall struct {
15873	s            *Service
15874	profileId    int64
15875	urlParams_   gensupport.URLParams
15876	ifNoneMatch_ string
15877	ctx_         context.Context
15878	header_      http.Header
15879}
15880
15881// List: Retrieves the list of accounts, possibly filtered. This method
15882// supports paging.
15883//
15884// - profileId: User profile ID associated with this request.
15885func (r *AccountsService) List(profileId int64) *AccountsListCall {
15886	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15887	c.profileId = profileId
15888	return c
15889}
15890
15891// Active sets the optional parameter "active": Select only active
15892// accounts. Don't set this field to select both active and non-active
15893// accounts.
15894func (c *AccountsListCall) Active(active bool) *AccountsListCall {
15895	c.urlParams_.Set("active", fmt.Sprint(active))
15896	return c
15897}
15898
15899// Ids sets the optional parameter "ids": Select only accounts with
15900// these IDs.
15901func (c *AccountsListCall) Ids(ids ...int64) *AccountsListCall {
15902	var ids_ []string
15903	for _, v := range ids {
15904		ids_ = append(ids_, fmt.Sprint(v))
15905	}
15906	c.urlParams_.SetMulti("ids", ids_)
15907	return c
15908}
15909
15910// MaxResults sets the optional parameter "maxResults": Maximum number
15911// of results to return.
15912func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
15913	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
15914	return c
15915}
15916
15917// PageToken sets the optional parameter "pageToken": Value of the
15918// nextPageToken from the previous result page.
15919func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
15920	c.urlParams_.Set("pageToken", pageToken)
15921	return c
15922}
15923
15924// SearchString sets the optional parameter "searchString": Allows
15925// searching for objects by name or ID. Wildcards (*) are allowed. For
15926// example, "account*2015" will return objects with names like "account
15927// June 2015", "account April 2015", or simply "account 2015". Most of
15928// the searches also add wildcards implicitly at the start and the end
15929// of the search string. For example, a search string of "account" will
15930// match objects with name "my account", "account 2015", or simply
15931// "account".
15932func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
15933	c.urlParams_.Set("searchString", searchString)
15934	return c
15935}
15936
15937// SortField sets the optional parameter "sortField": Field by which to
15938// sort the list.
15939//
15940// Possible values:
15941//   "ID" (default)
15942//   "NAME"
15943func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
15944	c.urlParams_.Set("sortField", sortField)
15945	return c
15946}
15947
15948// SortOrder sets the optional parameter "sortOrder": Order of sorted
15949// results.
15950//
15951// Possible values:
15952//   "ASCENDING" (default)
15953//   "DESCENDING"
15954func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
15955	c.urlParams_.Set("sortOrder", sortOrder)
15956	return c
15957}
15958
15959// Fields allows partial responses to be retrieved. See
15960// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15961// for more information.
15962func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
15963	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15964	return c
15965}
15966
15967// IfNoneMatch sets the optional parameter which makes the operation
15968// fail if the object's ETag matches the given value. This is useful for
15969// getting updates only after the object has changed since the last
15970// request. Use googleapi.IsNotModified to check whether the response
15971// error from Do is the result of In-None-Match.
15972func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
15973	c.ifNoneMatch_ = entityTag
15974	return c
15975}
15976
15977// Context sets the context to be used in this call's Do method. Any
15978// pending HTTP request will be aborted if the provided context is
15979// canceled.
15980func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
15981	c.ctx_ = ctx
15982	return c
15983}
15984
15985// Header returns an http.Header that can be modified by the caller to
15986// add HTTP headers to the request.
15987func (c *AccountsListCall) Header() http.Header {
15988	if c.header_ == nil {
15989		c.header_ = make(http.Header)
15990	}
15991	return c.header_
15992}
15993
15994func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
15995	reqHeaders := make(http.Header)
15996	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
15997	for k, v := range c.header_ {
15998		reqHeaders[k] = v
15999	}
16000	reqHeaders.Set("User-Agent", c.s.userAgent())
16001	if c.ifNoneMatch_ != "" {
16002		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16003	}
16004	var body io.Reader = nil
16005	c.urlParams_.Set("alt", alt)
16006	c.urlParams_.Set("prettyPrint", "false")
16007	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16008	urls += "?" + c.urlParams_.Encode()
16009	req, err := http.NewRequest("GET", urls, body)
16010	if err != nil {
16011		return nil, err
16012	}
16013	req.Header = reqHeaders
16014	googleapi.Expand(req.URL, map[string]string{
16015		"profileId": strconv.FormatInt(c.profileId, 10),
16016	})
16017	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16018}
16019
16020// Do executes the "dfareporting.accounts.list" call.
16021// Exactly one of *AccountsListResponse or error will be non-nil. Any
16022// non-2xx status code is an error. Response headers are in either
16023// *AccountsListResponse.ServerResponse.Header or (if a response was
16024// returned at all) in error.(*googleapi.Error).Header. Use
16025// googleapi.IsNotModified to check whether the returned error was
16026// because http.StatusNotModified was returned.
16027func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsListResponse, error) {
16028	gensupport.SetOptions(c.urlParams_, opts...)
16029	res, err := c.doRequest("json")
16030	if res != nil && res.StatusCode == http.StatusNotModified {
16031		if res.Body != nil {
16032			res.Body.Close()
16033		}
16034		return nil, &googleapi.Error{
16035			Code:   res.StatusCode,
16036			Header: res.Header,
16037		}
16038	}
16039	if err != nil {
16040		return nil, err
16041	}
16042	defer googleapi.CloseBody(res)
16043	if err := googleapi.CheckResponse(res); err != nil {
16044		return nil, err
16045	}
16046	ret := &AccountsListResponse{
16047		ServerResponse: googleapi.ServerResponse{
16048			Header:         res.Header,
16049			HTTPStatusCode: res.StatusCode,
16050		},
16051	}
16052	target := &ret
16053	if err := gensupport.DecodeResponse(target, res); err != nil {
16054		return nil, err
16055	}
16056	return ret, nil
16057	// {
16058	//   "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
16059	//   "flatPath": "userprofiles/{profileId}/accounts",
16060	//   "httpMethod": "GET",
16061	//   "id": "dfareporting.accounts.list",
16062	//   "parameterOrder": [
16063	//     "profileId"
16064	//   ],
16065	//   "parameters": {
16066	//     "active": {
16067	//       "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.",
16068	//       "location": "query",
16069	//       "type": "boolean"
16070	//     },
16071	//     "ids": {
16072	//       "description": "Select only accounts with these IDs.",
16073	//       "format": "int64",
16074	//       "location": "query",
16075	//       "repeated": true,
16076	//       "type": "string"
16077	//     },
16078	//     "maxResults": {
16079	//       "default": "1000",
16080	//       "description": "Maximum number of results to return.",
16081	//       "format": "int32",
16082	//       "location": "query",
16083	//       "maximum": "1000",
16084	//       "minimum": "0",
16085	//       "type": "integer"
16086	//     },
16087	//     "pageToken": {
16088	//       "description": "Value of the nextPageToken from the previous result page.",
16089	//       "location": "query",
16090	//       "type": "string"
16091	//     },
16092	//     "profileId": {
16093	//       "description": "User profile ID associated with this request.",
16094	//       "format": "int64",
16095	//       "location": "path",
16096	//       "required": true,
16097	//       "type": "string"
16098	//     },
16099	//     "searchString": {
16100	//       "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\".",
16101	//       "location": "query",
16102	//       "type": "string"
16103	//     },
16104	//     "sortField": {
16105	//       "default": "ID",
16106	//       "description": "Field by which to sort the list.",
16107	//       "enum": [
16108	//         "ID",
16109	//         "NAME"
16110	//       ],
16111	//       "enumDescriptions": [
16112	//         "",
16113	//         ""
16114	//       ],
16115	//       "location": "query",
16116	//       "type": "string"
16117	//     },
16118	//     "sortOrder": {
16119	//       "default": "ASCENDING",
16120	//       "description": "Order of sorted results.",
16121	//       "enum": [
16122	//         "ASCENDING",
16123	//         "DESCENDING"
16124	//       ],
16125	//       "enumDescriptions": [
16126	//         "",
16127	//         ""
16128	//       ],
16129	//       "location": "query",
16130	//       "type": "string"
16131	//     }
16132	//   },
16133	//   "path": "userprofiles/{profileId}/accounts",
16134	//   "response": {
16135	//     "$ref": "AccountsListResponse"
16136	//   },
16137	//   "scopes": [
16138	//     "https://www.googleapis.com/auth/dfatrafficking"
16139	//   ]
16140	// }
16141
16142}
16143
16144// Pages invokes f for each page of results.
16145// A non-nil error returned from f will halt the iteration.
16146// The provided context supersedes any context provided to the Context method.
16147func (c *AccountsListCall) Pages(ctx context.Context, f func(*AccountsListResponse) error) error {
16148	c.ctx_ = ctx
16149	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16150	for {
16151		x, err := c.Do()
16152		if err != nil {
16153			return err
16154		}
16155		if err := f(x); err != nil {
16156			return err
16157		}
16158		if x.NextPageToken == "" {
16159			return nil
16160		}
16161		c.PageToken(x.NextPageToken)
16162	}
16163}
16164
16165// method id "dfareporting.accounts.patch":
16166
16167type AccountsPatchCall struct {
16168	s          *Service
16169	profileId  int64
16170	account    *Account
16171	urlParams_ gensupport.URLParams
16172	ctx_       context.Context
16173	header_    http.Header
16174}
16175
16176// Patch: Updates an existing account. This method supports patch
16177// semantics.
16178//
16179// - id: Account ID.
16180// - profileId: User profile ID associated with this request.
16181func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
16182	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16183	c.profileId = profileId
16184	c.urlParams_.Set("id", fmt.Sprint(id))
16185	c.account = account
16186	return c
16187}
16188
16189// Fields allows partial responses to be retrieved. See
16190// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16191// for more information.
16192func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
16193	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16194	return c
16195}
16196
16197// Context sets the context to be used in this call's Do method. Any
16198// pending HTTP request will be aborted if the provided context is
16199// canceled.
16200func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
16201	c.ctx_ = ctx
16202	return c
16203}
16204
16205// Header returns an http.Header that can be modified by the caller to
16206// add HTTP headers to the request.
16207func (c *AccountsPatchCall) Header() http.Header {
16208	if c.header_ == nil {
16209		c.header_ = make(http.Header)
16210	}
16211	return c.header_
16212}
16213
16214func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
16215	reqHeaders := make(http.Header)
16216	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16217	for k, v := range c.header_ {
16218		reqHeaders[k] = v
16219	}
16220	reqHeaders.Set("User-Agent", c.s.userAgent())
16221	var body io.Reader = nil
16222	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
16223	if err != nil {
16224		return nil, err
16225	}
16226	reqHeaders.Set("Content-Type", "application/json")
16227	c.urlParams_.Set("alt", alt)
16228	c.urlParams_.Set("prettyPrint", "false")
16229	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16230	urls += "?" + c.urlParams_.Encode()
16231	req, err := http.NewRequest("PATCH", urls, body)
16232	if err != nil {
16233		return nil, err
16234	}
16235	req.Header = reqHeaders
16236	googleapi.Expand(req.URL, map[string]string{
16237		"profileId": strconv.FormatInt(c.profileId, 10),
16238	})
16239	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16240}
16241
16242// Do executes the "dfareporting.accounts.patch" call.
16243// Exactly one of *Account or error will be non-nil. Any non-2xx status
16244// code is an error. Response headers are in either
16245// *Account.ServerResponse.Header or (if a response was returned at all)
16246// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16247// check whether the returned error was because http.StatusNotModified
16248// was returned.
16249func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) {
16250	gensupport.SetOptions(c.urlParams_, opts...)
16251	res, err := c.doRequest("json")
16252	if res != nil && res.StatusCode == http.StatusNotModified {
16253		if res.Body != nil {
16254			res.Body.Close()
16255		}
16256		return nil, &googleapi.Error{
16257			Code:   res.StatusCode,
16258			Header: res.Header,
16259		}
16260	}
16261	if err != nil {
16262		return nil, err
16263	}
16264	defer googleapi.CloseBody(res)
16265	if err := googleapi.CheckResponse(res); err != nil {
16266		return nil, err
16267	}
16268	ret := &Account{
16269		ServerResponse: googleapi.ServerResponse{
16270			Header:         res.Header,
16271			HTTPStatusCode: res.StatusCode,
16272		},
16273	}
16274	target := &ret
16275	if err := gensupport.DecodeResponse(target, res); err != nil {
16276		return nil, err
16277	}
16278	return ret, nil
16279	// {
16280	//   "description": "Updates an existing account. This method supports patch semantics.",
16281	//   "flatPath": "userprofiles/{profileId}/accounts",
16282	//   "httpMethod": "PATCH",
16283	//   "id": "dfareporting.accounts.patch",
16284	//   "parameterOrder": [
16285	//     "profileId",
16286	//     "id"
16287	//   ],
16288	//   "parameters": {
16289	//     "id": {
16290	//       "description": "Account ID.",
16291	//       "format": "int64",
16292	//       "location": "query",
16293	//       "required": true,
16294	//       "type": "string"
16295	//     },
16296	//     "profileId": {
16297	//       "description": "User profile ID associated with this request.",
16298	//       "format": "int64",
16299	//       "location": "path",
16300	//       "required": true,
16301	//       "type": "string"
16302	//     }
16303	//   },
16304	//   "path": "userprofiles/{profileId}/accounts",
16305	//   "request": {
16306	//     "$ref": "Account"
16307	//   },
16308	//   "response": {
16309	//     "$ref": "Account"
16310	//   },
16311	//   "scopes": [
16312	//     "https://www.googleapis.com/auth/dfatrafficking"
16313	//   ]
16314	// }
16315
16316}
16317
16318// method id "dfareporting.accounts.update":
16319
16320type AccountsUpdateCall struct {
16321	s          *Service
16322	profileId  int64
16323	account    *Account
16324	urlParams_ gensupport.URLParams
16325	ctx_       context.Context
16326	header_    http.Header
16327}
16328
16329// Update: Updates an existing account.
16330//
16331// - profileId: User profile ID associated with this request.
16332func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
16333	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16334	c.profileId = profileId
16335	c.account = account
16336	return c
16337}
16338
16339// Fields allows partial responses to be retrieved. See
16340// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16341// for more information.
16342func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
16343	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16344	return c
16345}
16346
16347// Context sets the context to be used in this call's Do method. Any
16348// pending HTTP request will be aborted if the provided context is
16349// canceled.
16350func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
16351	c.ctx_ = ctx
16352	return c
16353}
16354
16355// Header returns an http.Header that can be modified by the caller to
16356// add HTTP headers to the request.
16357func (c *AccountsUpdateCall) Header() http.Header {
16358	if c.header_ == nil {
16359		c.header_ = make(http.Header)
16360	}
16361	return c.header_
16362}
16363
16364func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
16365	reqHeaders := make(http.Header)
16366	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16367	for k, v := range c.header_ {
16368		reqHeaders[k] = v
16369	}
16370	reqHeaders.Set("User-Agent", c.s.userAgent())
16371	var body io.Reader = nil
16372	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
16373	if err != nil {
16374		return nil, err
16375	}
16376	reqHeaders.Set("Content-Type", "application/json")
16377	c.urlParams_.Set("alt", alt)
16378	c.urlParams_.Set("prettyPrint", "false")
16379	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16380	urls += "?" + c.urlParams_.Encode()
16381	req, err := http.NewRequest("PUT", urls, body)
16382	if err != nil {
16383		return nil, err
16384	}
16385	req.Header = reqHeaders
16386	googleapi.Expand(req.URL, map[string]string{
16387		"profileId": strconv.FormatInt(c.profileId, 10),
16388	})
16389	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16390}
16391
16392// Do executes the "dfareporting.accounts.update" call.
16393// Exactly one of *Account or error will be non-nil. Any non-2xx status
16394// code is an error. Response headers are in either
16395// *Account.ServerResponse.Header or (if a response was returned at all)
16396// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16397// check whether the returned error was because http.StatusNotModified
16398// was returned.
16399func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
16400	gensupport.SetOptions(c.urlParams_, opts...)
16401	res, err := c.doRequest("json")
16402	if res != nil && res.StatusCode == http.StatusNotModified {
16403		if res.Body != nil {
16404			res.Body.Close()
16405		}
16406		return nil, &googleapi.Error{
16407			Code:   res.StatusCode,
16408			Header: res.Header,
16409		}
16410	}
16411	if err != nil {
16412		return nil, err
16413	}
16414	defer googleapi.CloseBody(res)
16415	if err := googleapi.CheckResponse(res); err != nil {
16416		return nil, err
16417	}
16418	ret := &Account{
16419		ServerResponse: googleapi.ServerResponse{
16420			Header:         res.Header,
16421			HTTPStatusCode: res.StatusCode,
16422		},
16423	}
16424	target := &ret
16425	if err := gensupport.DecodeResponse(target, res); err != nil {
16426		return nil, err
16427	}
16428	return ret, nil
16429	// {
16430	//   "description": "Updates an existing account.",
16431	//   "flatPath": "userprofiles/{profileId}/accounts",
16432	//   "httpMethod": "PUT",
16433	//   "id": "dfareporting.accounts.update",
16434	//   "parameterOrder": [
16435	//     "profileId"
16436	//   ],
16437	//   "parameters": {
16438	//     "profileId": {
16439	//       "description": "User profile ID associated with this request.",
16440	//       "format": "int64",
16441	//       "location": "path",
16442	//       "required": true,
16443	//       "type": "string"
16444	//     }
16445	//   },
16446	//   "path": "userprofiles/{profileId}/accounts",
16447	//   "request": {
16448	//     "$ref": "Account"
16449	//   },
16450	//   "response": {
16451	//     "$ref": "Account"
16452	//   },
16453	//   "scopes": [
16454	//     "https://www.googleapis.com/auth/dfatrafficking"
16455	//   ]
16456	// }
16457
16458}
16459
16460// method id "dfareporting.ads.get":
16461
16462type AdsGetCall struct {
16463	s            *Service
16464	profileId    int64
16465	id           int64
16466	urlParams_   gensupport.URLParams
16467	ifNoneMatch_ string
16468	ctx_         context.Context
16469	header_      http.Header
16470}
16471
16472// Get: Gets one ad by ID.
16473//
16474// - id: Ad ID.
16475// - profileId: User profile ID associated with this request.
16476func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
16477	c := &AdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16478	c.profileId = profileId
16479	c.id = id
16480	return c
16481}
16482
16483// Fields allows partial responses to be retrieved. See
16484// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16485// for more information.
16486func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
16487	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16488	return c
16489}
16490
16491// IfNoneMatch sets the optional parameter which makes the operation
16492// fail if the object's ETag matches the given value. This is useful for
16493// getting updates only after the object has changed since the last
16494// request. Use googleapi.IsNotModified to check whether the response
16495// error from Do is the result of In-None-Match.
16496func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
16497	c.ifNoneMatch_ = entityTag
16498	return c
16499}
16500
16501// Context sets the context to be used in this call's Do method. Any
16502// pending HTTP request will be aborted if the provided context is
16503// canceled.
16504func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
16505	c.ctx_ = ctx
16506	return c
16507}
16508
16509// Header returns an http.Header that can be modified by the caller to
16510// add HTTP headers to the request.
16511func (c *AdsGetCall) Header() http.Header {
16512	if c.header_ == nil {
16513		c.header_ = make(http.Header)
16514	}
16515	return c.header_
16516}
16517
16518func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
16519	reqHeaders := make(http.Header)
16520	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16521	for k, v := range c.header_ {
16522		reqHeaders[k] = v
16523	}
16524	reqHeaders.Set("User-Agent", c.s.userAgent())
16525	if c.ifNoneMatch_ != "" {
16526		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16527	}
16528	var body io.Reader = nil
16529	c.urlParams_.Set("alt", alt)
16530	c.urlParams_.Set("prettyPrint", "false")
16531	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
16532	urls += "?" + c.urlParams_.Encode()
16533	req, err := http.NewRequest("GET", urls, body)
16534	if err != nil {
16535		return nil, err
16536	}
16537	req.Header = reqHeaders
16538	googleapi.Expand(req.URL, map[string]string{
16539		"profileId": strconv.FormatInt(c.profileId, 10),
16540		"id":        strconv.FormatInt(c.id, 10),
16541	})
16542	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16543}
16544
16545// Do executes the "dfareporting.ads.get" call.
16546// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
16547// is an error. Response headers are in either *Ad.ServerResponse.Header
16548// or (if a response was returned at all) in
16549// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16550// whether the returned error was because http.StatusNotModified was
16551// returned.
16552func (c *AdsGetCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
16553	gensupport.SetOptions(c.urlParams_, opts...)
16554	res, err := c.doRequest("json")
16555	if res != nil && res.StatusCode == http.StatusNotModified {
16556		if res.Body != nil {
16557			res.Body.Close()
16558		}
16559		return nil, &googleapi.Error{
16560			Code:   res.StatusCode,
16561			Header: res.Header,
16562		}
16563	}
16564	if err != nil {
16565		return nil, err
16566	}
16567	defer googleapi.CloseBody(res)
16568	if err := googleapi.CheckResponse(res); err != nil {
16569		return nil, err
16570	}
16571	ret := &Ad{
16572		ServerResponse: googleapi.ServerResponse{
16573			Header:         res.Header,
16574			HTTPStatusCode: res.StatusCode,
16575		},
16576	}
16577	target := &ret
16578	if err := gensupport.DecodeResponse(target, res); err != nil {
16579		return nil, err
16580	}
16581	return ret, nil
16582	// {
16583	//   "description": "Gets one ad by ID.",
16584	//   "flatPath": "userprofiles/{profileId}/ads/{id}",
16585	//   "httpMethod": "GET",
16586	//   "id": "dfareporting.ads.get",
16587	//   "parameterOrder": [
16588	//     "profileId",
16589	//     "id"
16590	//   ],
16591	//   "parameters": {
16592	//     "id": {
16593	//       "description": "Ad ID.",
16594	//       "format": "int64",
16595	//       "location": "path",
16596	//       "required": true,
16597	//       "type": "string"
16598	//     },
16599	//     "profileId": {
16600	//       "description": "User profile ID associated with this request.",
16601	//       "format": "int64",
16602	//       "location": "path",
16603	//       "required": true,
16604	//       "type": "string"
16605	//     }
16606	//   },
16607	//   "path": "userprofiles/{profileId}/ads/{id}",
16608	//   "response": {
16609	//     "$ref": "Ad"
16610	//   },
16611	//   "scopes": [
16612	//     "https://www.googleapis.com/auth/dfatrafficking"
16613	//   ]
16614	// }
16615
16616}
16617
16618// method id "dfareporting.ads.insert":
16619
16620type AdsInsertCall struct {
16621	s          *Service
16622	profileId  int64
16623	ad         *Ad
16624	urlParams_ gensupport.URLParams
16625	ctx_       context.Context
16626	header_    http.Header
16627}
16628
16629// Insert: Inserts a new ad.
16630//
16631// - profileId: User profile ID associated with this request.
16632func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
16633	c := &AdsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16634	c.profileId = profileId
16635	c.ad = ad
16636	return c
16637}
16638
16639// Fields allows partial responses to be retrieved. See
16640// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16641// for more information.
16642func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
16643	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16644	return c
16645}
16646
16647// Context sets the context to be used in this call's Do method. Any
16648// pending HTTP request will be aborted if the provided context is
16649// canceled.
16650func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
16651	c.ctx_ = ctx
16652	return c
16653}
16654
16655// Header returns an http.Header that can be modified by the caller to
16656// add HTTP headers to the request.
16657func (c *AdsInsertCall) Header() http.Header {
16658	if c.header_ == nil {
16659		c.header_ = make(http.Header)
16660	}
16661	return c.header_
16662}
16663
16664func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
16665	reqHeaders := make(http.Header)
16666	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
16667	for k, v := range c.header_ {
16668		reqHeaders[k] = v
16669	}
16670	reqHeaders.Set("User-Agent", c.s.userAgent())
16671	var body io.Reader = nil
16672	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
16673	if err != nil {
16674		return nil, err
16675	}
16676	reqHeaders.Set("Content-Type", "application/json")
16677	c.urlParams_.Set("alt", alt)
16678	c.urlParams_.Set("prettyPrint", "false")
16679	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
16680	urls += "?" + c.urlParams_.Encode()
16681	req, err := http.NewRequest("POST", urls, body)
16682	if err != nil {
16683		return nil, err
16684	}
16685	req.Header = reqHeaders
16686	googleapi.Expand(req.URL, map[string]string{
16687		"profileId": strconv.FormatInt(c.profileId, 10),
16688	})
16689	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16690}
16691
16692// Do executes the "dfareporting.ads.insert" call.
16693// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
16694// is an error. Response headers are in either *Ad.ServerResponse.Header
16695// or (if a response was returned at all) in
16696// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16697// whether the returned error was because http.StatusNotModified was
16698// returned.
16699func (c *AdsInsertCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
16700	gensupport.SetOptions(c.urlParams_, opts...)
16701	res, err := c.doRequest("json")
16702	if res != nil && res.StatusCode == http.StatusNotModified {
16703		if res.Body != nil {
16704			res.Body.Close()
16705		}
16706		return nil, &googleapi.Error{
16707			Code:   res.StatusCode,
16708			Header: res.Header,
16709		}
16710	}
16711	if err != nil {
16712		return nil, err
16713	}
16714	defer googleapi.CloseBody(res)
16715	if err := googleapi.CheckResponse(res); err != nil {
16716		return nil, err
16717	}
16718	ret := &Ad{
16719		ServerResponse: googleapi.ServerResponse{
16720			Header:         res.Header,
16721			HTTPStatusCode: res.StatusCode,
16722		},
16723	}
16724	target := &ret
16725	if err := gensupport.DecodeResponse(target, res); err != nil {
16726		return nil, err
16727	}
16728	return ret, nil
16729	// {
16730	//   "description": "Inserts a new ad.",
16731	//   "flatPath": "userprofiles/{profileId}/ads",
16732	//   "httpMethod": "POST",
16733	//   "id": "dfareporting.ads.insert",
16734	//   "parameterOrder": [
16735	//     "profileId"
16736	//   ],
16737	//   "parameters": {
16738	//     "profileId": {
16739	//       "description": "User profile ID associated with this request.",
16740	//       "format": "int64",
16741	//       "location": "path",
16742	//       "required": true,
16743	//       "type": "string"
16744	//     }
16745	//   },
16746	//   "path": "userprofiles/{profileId}/ads",
16747	//   "request": {
16748	//     "$ref": "Ad"
16749	//   },
16750	//   "response": {
16751	//     "$ref": "Ad"
16752	//   },
16753	//   "scopes": [
16754	//     "https://www.googleapis.com/auth/dfatrafficking"
16755	//   ]
16756	// }
16757
16758}
16759
16760// method id "dfareporting.ads.list":
16761
16762type AdsListCall struct {
16763	s            *Service
16764	profileId    int64
16765	urlParams_   gensupport.URLParams
16766	ifNoneMatch_ string
16767	ctx_         context.Context
16768	header_      http.Header
16769}
16770
16771// List: Retrieves a list of ads, possibly filtered. This method
16772// supports paging.
16773//
16774// - profileId: User profile ID associated with this request.
16775func (r *AdsService) List(profileId int64) *AdsListCall {
16776	c := &AdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16777	c.profileId = profileId
16778	return c
16779}
16780
16781// Active sets the optional parameter "active": Select only active ads.
16782func (c *AdsListCall) Active(active bool) *AdsListCall {
16783	c.urlParams_.Set("active", fmt.Sprint(active))
16784	return c
16785}
16786
16787// AdvertiserId sets the optional parameter "advertiserId": Select only
16788// ads with this advertiser ID.
16789func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
16790	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
16791	return c
16792}
16793
16794// Archived sets the optional parameter "archived": Select only archived
16795// ads.
16796func (c *AdsListCall) Archived(archived bool) *AdsListCall {
16797	c.urlParams_.Set("archived", fmt.Sprint(archived))
16798	return c
16799}
16800
16801// AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
16802// Select only ads with these audience segment IDs.
16803func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds ...int64) *AdsListCall {
16804	var audienceSegmentIds_ []string
16805	for _, v := range audienceSegmentIds {
16806		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprint(v))
16807	}
16808	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
16809	return c
16810}
16811
16812// CampaignIds sets the optional parameter "campaignIds": Select only
16813// ads with these campaign IDs.
16814func (c *AdsListCall) CampaignIds(campaignIds ...int64) *AdsListCall {
16815	var campaignIds_ []string
16816	for _, v := range campaignIds {
16817		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
16818	}
16819	c.urlParams_.SetMulti("campaignIds", campaignIds_)
16820	return c
16821}
16822
16823// Compatibility sets the optional parameter "compatibility": Select
16824// default ads with the specified compatibility. Applicable when type is
16825// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
16826// rendering either on desktop or on mobile devices for regular or
16827// interstitial ads, respectively. APP and APP_INTERSTITIAL are for
16828// rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
16829// in-stream video ads developed with the VAST standard.
16830//
16831// Possible values:
16832//   "DISPLAY"
16833//   "DISPLAY_INTERSTITIAL"
16834//   "APP"
16835//   "APP_INTERSTITIAL"
16836//   "IN_STREAM_VIDEO"
16837//   "IN_STREAM_AUDIO"
16838func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
16839	c.urlParams_.Set("compatibility", compatibility)
16840	return c
16841}
16842
16843// CreativeIds sets the optional parameter "creativeIds": Select only
16844// ads with these creative IDs assigned.
16845func (c *AdsListCall) CreativeIds(creativeIds ...int64) *AdsListCall {
16846	var creativeIds_ []string
16847	for _, v := range creativeIds {
16848		creativeIds_ = append(creativeIds_, fmt.Sprint(v))
16849	}
16850	c.urlParams_.SetMulti("creativeIds", creativeIds_)
16851	return c
16852}
16853
16854// CreativeOptimizationConfigurationIds sets the optional parameter
16855// "creativeOptimizationConfigurationIds": Select only ads with these
16856// creative optimization configuration IDs.
16857func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds ...int64) *AdsListCall {
16858	var creativeOptimizationConfigurationIds_ []string
16859	for _, v := range creativeOptimizationConfigurationIds {
16860		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprint(v))
16861	}
16862	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
16863	return c
16864}
16865
16866// DynamicClickTracker sets the optional parameter
16867// "dynamicClickTracker": Select only dynamic click trackers. Applicable
16868// when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click
16869// trackers. If false, select static click trackers. Leave unset to
16870// select both.
16871func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
16872	c.urlParams_.Set("dynamicClickTracker", fmt.Sprint(dynamicClickTracker))
16873	return c
16874}
16875
16876// Ids sets the optional parameter "ids": Select only ads with these
16877// IDs.
16878func (c *AdsListCall) Ids(ids ...int64) *AdsListCall {
16879	var ids_ []string
16880	for _, v := range ids {
16881		ids_ = append(ids_, fmt.Sprint(v))
16882	}
16883	c.urlParams_.SetMulti("ids", ids_)
16884	return c
16885}
16886
16887// LandingPageIds sets the optional parameter "landingPageIds": Select
16888// only ads with these landing page IDs.
16889func (c *AdsListCall) LandingPageIds(landingPageIds ...int64) *AdsListCall {
16890	var landingPageIds_ []string
16891	for _, v := range landingPageIds {
16892		landingPageIds_ = append(landingPageIds_, fmt.Sprint(v))
16893	}
16894	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
16895	return c
16896}
16897
16898// MaxResults sets the optional parameter "maxResults": Maximum number
16899// of results to return.
16900func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
16901	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
16902	return c
16903}
16904
16905// OverriddenEventTagId sets the optional parameter
16906// "overriddenEventTagId": Select only ads with this event tag override
16907// ID.
16908func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
16909	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
16910	return c
16911}
16912
16913// PageToken sets the optional parameter "pageToken": Value of the
16914// nextPageToken from the previous result page.
16915func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
16916	c.urlParams_.Set("pageToken", pageToken)
16917	return c
16918}
16919
16920// PlacementIds sets the optional parameter "placementIds": Select only
16921// ads with these placement IDs assigned.
16922func (c *AdsListCall) PlacementIds(placementIds ...int64) *AdsListCall {
16923	var placementIds_ []string
16924	for _, v := range placementIds {
16925		placementIds_ = append(placementIds_, fmt.Sprint(v))
16926	}
16927	c.urlParams_.SetMulti("placementIds", placementIds_)
16928	return c
16929}
16930
16931// RemarketingListIds sets the optional parameter "remarketingListIds":
16932// Select only ads whose list targeting expression use these remarketing
16933// list IDs.
16934func (c *AdsListCall) RemarketingListIds(remarketingListIds ...int64) *AdsListCall {
16935	var remarketingListIds_ []string
16936	for _, v := range remarketingListIds {
16937		remarketingListIds_ = append(remarketingListIds_, fmt.Sprint(v))
16938	}
16939	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
16940	return c
16941}
16942
16943// SearchString sets the optional parameter "searchString": Allows
16944// searching for objects by name or ID. Wildcards (*) are allowed. For
16945// example, "ad*2015" will return objects with names like "ad June
16946// 2015", "ad April 2015", or simply "ad 2015". Most of the searches
16947// also add wildcards implicitly at the start and the end of the search
16948// string. For example, a search string of "ad" will match objects with
16949// name "my ad", "ad 2015", or simply "ad".
16950func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
16951	c.urlParams_.Set("searchString", searchString)
16952	return c
16953}
16954
16955// SizeIds sets the optional parameter "sizeIds": Select only ads with
16956// these size IDs.
16957func (c *AdsListCall) SizeIds(sizeIds ...int64) *AdsListCall {
16958	var sizeIds_ []string
16959	for _, v := range sizeIds {
16960		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
16961	}
16962	c.urlParams_.SetMulti("sizeIds", sizeIds_)
16963	return c
16964}
16965
16966// SortField sets the optional parameter "sortField": Field by which to
16967// sort the list.
16968//
16969// Possible values:
16970//   "ID" (default)
16971//   "NAME"
16972func (c *AdsListCall) SortField(sortField string) *AdsListCall {
16973	c.urlParams_.Set("sortField", sortField)
16974	return c
16975}
16976
16977// SortOrder sets the optional parameter "sortOrder": Order of sorted
16978// results.
16979//
16980// Possible values:
16981//   "ASCENDING" (default)
16982//   "DESCENDING"
16983func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
16984	c.urlParams_.Set("sortOrder", sortOrder)
16985	return c
16986}
16987
16988// SslCompliant sets the optional parameter "sslCompliant": Select only
16989// ads that are SSL-compliant.
16990func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
16991	c.urlParams_.Set("sslCompliant", fmt.Sprint(sslCompliant))
16992	return c
16993}
16994
16995// SslRequired sets the optional parameter "sslRequired": Select only
16996// ads that require SSL.
16997func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
16998	c.urlParams_.Set("sslRequired", fmt.Sprint(sslRequired))
16999	return c
17000}
17001
17002// Type sets the optional parameter "type": Select only ads with these
17003// types.
17004//
17005// Possible values:
17006//   "AD_SERVING_STANDARD_AD"
17007//   "AD_SERVING_DEFAULT_AD"
17008//   "AD_SERVING_CLICK_TRACKER"
17009//   "AD_SERVING_TRACKING"
17010//   "AD_SERVING_BRAND_SAFE_AD"
17011func (c *AdsListCall) Type(type_ ...string) *AdsListCall {
17012	c.urlParams_.SetMulti("type", append([]string{}, type_...))
17013	return c
17014}
17015
17016// Fields allows partial responses to be retrieved. See
17017// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17018// for more information.
17019func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
17020	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17021	return c
17022}
17023
17024// IfNoneMatch sets the optional parameter which makes the operation
17025// fail if the object's ETag matches the given value. This is useful for
17026// getting updates only after the object has changed since the last
17027// request. Use googleapi.IsNotModified to check whether the response
17028// error from Do is the result of In-None-Match.
17029func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
17030	c.ifNoneMatch_ = entityTag
17031	return c
17032}
17033
17034// Context sets the context to be used in this call's Do method. Any
17035// pending HTTP request will be aborted if the provided context is
17036// canceled.
17037func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
17038	c.ctx_ = ctx
17039	return c
17040}
17041
17042// Header returns an http.Header that can be modified by the caller to
17043// add HTTP headers to the request.
17044func (c *AdsListCall) Header() http.Header {
17045	if c.header_ == nil {
17046		c.header_ = make(http.Header)
17047	}
17048	return c.header_
17049}
17050
17051func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
17052	reqHeaders := make(http.Header)
17053	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17054	for k, v := range c.header_ {
17055		reqHeaders[k] = v
17056	}
17057	reqHeaders.Set("User-Agent", c.s.userAgent())
17058	if c.ifNoneMatch_ != "" {
17059		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17060	}
17061	var body io.Reader = nil
17062	c.urlParams_.Set("alt", alt)
17063	c.urlParams_.Set("prettyPrint", "false")
17064	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17065	urls += "?" + c.urlParams_.Encode()
17066	req, err := http.NewRequest("GET", urls, body)
17067	if err != nil {
17068		return nil, err
17069	}
17070	req.Header = reqHeaders
17071	googleapi.Expand(req.URL, map[string]string{
17072		"profileId": strconv.FormatInt(c.profileId, 10),
17073	})
17074	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17075}
17076
17077// Do executes the "dfareporting.ads.list" call.
17078// Exactly one of *AdsListResponse or error will be non-nil. Any non-2xx
17079// status code is an error. Response headers are in either
17080// *AdsListResponse.ServerResponse.Header or (if a response was returned
17081// at all) in error.(*googleapi.Error).Header. Use
17082// googleapi.IsNotModified to check whether the returned error was
17083// because http.StatusNotModified was returned.
17084func (c *AdsListCall) Do(opts ...googleapi.CallOption) (*AdsListResponse, error) {
17085	gensupport.SetOptions(c.urlParams_, opts...)
17086	res, err := c.doRequest("json")
17087	if res != nil && res.StatusCode == http.StatusNotModified {
17088		if res.Body != nil {
17089			res.Body.Close()
17090		}
17091		return nil, &googleapi.Error{
17092			Code:   res.StatusCode,
17093			Header: res.Header,
17094		}
17095	}
17096	if err != nil {
17097		return nil, err
17098	}
17099	defer googleapi.CloseBody(res)
17100	if err := googleapi.CheckResponse(res); err != nil {
17101		return nil, err
17102	}
17103	ret := &AdsListResponse{
17104		ServerResponse: googleapi.ServerResponse{
17105			Header:         res.Header,
17106			HTTPStatusCode: res.StatusCode,
17107		},
17108	}
17109	target := &ret
17110	if err := gensupport.DecodeResponse(target, res); err != nil {
17111		return nil, err
17112	}
17113	return ret, nil
17114	// {
17115	//   "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
17116	//   "flatPath": "userprofiles/{profileId}/ads",
17117	//   "httpMethod": "GET",
17118	//   "id": "dfareporting.ads.list",
17119	//   "parameterOrder": [
17120	//     "profileId"
17121	//   ],
17122	//   "parameters": {
17123	//     "active": {
17124	//       "description": "Select only active ads.",
17125	//       "location": "query",
17126	//       "type": "boolean"
17127	//     },
17128	//     "advertiserId": {
17129	//       "description": "Select only ads with this advertiser ID.",
17130	//       "format": "int64",
17131	//       "location": "query",
17132	//       "type": "string"
17133	//     },
17134	//     "archived": {
17135	//       "description": "Select only archived ads.",
17136	//       "location": "query",
17137	//       "type": "boolean"
17138	//     },
17139	//     "audienceSegmentIds": {
17140	//       "description": "Select only ads with these audience segment IDs.",
17141	//       "format": "int64",
17142	//       "location": "query",
17143	//       "repeated": true,
17144	//       "type": "string"
17145	//     },
17146	//     "campaignIds": {
17147	//       "description": "Select only ads with these campaign IDs.",
17148	//       "format": "int64",
17149	//       "location": "query",
17150	//       "repeated": true,
17151	//       "type": "string"
17152	//     },
17153	//     "compatibility": {
17154	//       "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.",
17155	//       "enum": [
17156	//         "DISPLAY",
17157	//         "DISPLAY_INTERSTITIAL",
17158	//         "APP",
17159	//         "APP_INTERSTITIAL",
17160	//         "IN_STREAM_VIDEO",
17161	//         "IN_STREAM_AUDIO"
17162	//       ],
17163	//       "enumDescriptions": [
17164	//         "",
17165	//         "",
17166	//         "",
17167	//         "",
17168	//         "",
17169	//         ""
17170	//       ],
17171	//       "location": "query",
17172	//       "type": "string"
17173	//     },
17174	//     "creativeIds": {
17175	//       "description": "Select only ads with these creative IDs assigned.",
17176	//       "format": "int64",
17177	//       "location": "query",
17178	//       "repeated": true,
17179	//       "type": "string"
17180	//     },
17181	//     "creativeOptimizationConfigurationIds": {
17182	//       "description": "Select only ads with these creative optimization configuration IDs.",
17183	//       "format": "int64",
17184	//       "location": "query",
17185	//       "repeated": true,
17186	//       "type": "string"
17187	//     },
17188	//     "dynamicClickTracker": {
17189	//       "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.",
17190	//       "location": "query",
17191	//       "type": "boolean"
17192	//     },
17193	//     "ids": {
17194	//       "description": "Select only ads with these IDs.",
17195	//       "format": "int64",
17196	//       "location": "query",
17197	//       "repeated": true,
17198	//       "type": "string"
17199	//     },
17200	//     "landingPageIds": {
17201	//       "description": "Select only ads with these landing page IDs.",
17202	//       "format": "int64",
17203	//       "location": "query",
17204	//       "repeated": true,
17205	//       "type": "string"
17206	//     },
17207	//     "maxResults": {
17208	//       "default": "1000",
17209	//       "description": "Maximum number of results to return.",
17210	//       "format": "int32",
17211	//       "location": "query",
17212	//       "maximum": "1000",
17213	//       "minimum": "0",
17214	//       "type": "integer"
17215	//     },
17216	//     "overriddenEventTagId": {
17217	//       "description": "Select only ads with this event tag override ID.",
17218	//       "format": "int64",
17219	//       "location": "query",
17220	//       "type": "string"
17221	//     },
17222	//     "pageToken": {
17223	//       "description": "Value of the nextPageToken from the previous result page.",
17224	//       "location": "query",
17225	//       "type": "string"
17226	//     },
17227	//     "placementIds": {
17228	//       "description": "Select only ads with these placement IDs assigned.",
17229	//       "format": "int64",
17230	//       "location": "query",
17231	//       "repeated": true,
17232	//       "type": "string"
17233	//     },
17234	//     "profileId": {
17235	//       "description": "User profile ID associated with this request.",
17236	//       "format": "int64",
17237	//       "location": "path",
17238	//       "required": true,
17239	//       "type": "string"
17240	//     },
17241	//     "remarketingListIds": {
17242	//       "description": "Select only ads whose list targeting expression use these remarketing list IDs.",
17243	//       "format": "int64",
17244	//       "location": "query",
17245	//       "repeated": true,
17246	//       "type": "string"
17247	//     },
17248	//     "searchString": {
17249	//       "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\".",
17250	//       "location": "query",
17251	//       "type": "string"
17252	//     },
17253	//     "sizeIds": {
17254	//       "description": "Select only ads with these size IDs.",
17255	//       "format": "int64",
17256	//       "location": "query",
17257	//       "repeated": true,
17258	//       "type": "string"
17259	//     },
17260	//     "sortField": {
17261	//       "default": "ID",
17262	//       "description": "Field by which to sort the list.",
17263	//       "enum": [
17264	//         "ID",
17265	//         "NAME"
17266	//       ],
17267	//       "enumDescriptions": [
17268	//         "",
17269	//         ""
17270	//       ],
17271	//       "location": "query",
17272	//       "type": "string"
17273	//     },
17274	//     "sortOrder": {
17275	//       "default": "ASCENDING",
17276	//       "description": "Order of sorted results.",
17277	//       "enum": [
17278	//         "ASCENDING",
17279	//         "DESCENDING"
17280	//       ],
17281	//       "enumDescriptions": [
17282	//         "",
17283	//         ""
17284	//       ],
17285	//       "location": "query",
17286	//       "type": "string"
17287	//     },
17288	//     "sslCompliant": {
17289	//       "description": "Select only ads that are SSL-compliant.",
17290	//       "location": "query",
17291	//       "type": "boolean"
17292	//     },
17293	//     "sslRequired": {
17294	//       "description": "Select only ads that require SSL.",
17295	//       "location": "query",
17296	//       "type": "boolean"
17297	//     },
17298	//     "type": {
17299	//       "description": "Select only ads with these types.",
17300	//       "enum": [
17301	//         "AD_SERVING_STANDARD_AD",
17302	//         "AD_SERVING_DEFAULT_AD",
17303	//         "AD_SERVING_CLICK_TRACKER",
17304	//         "AD_SERVING_TRACKING",
17305	//         "AD_SERVING_BRAND_SAFE_AD"
17306	//       ],
17307	//       "enumDescriptions": [
17308	//         "",
17309	//         "",
17310	//         "",
17311	//         "",
17312	//         ""
17313	//       ],
17314	//       "location": "query",
17315	//       "repeated": true,
17316	//       "type": "string"
17317	//     }
17318	//   },
17319	//   "path": "userprofiles/{profileId}/ads",
17320	//   "response": {
17321	//     "$ref": "AdsListResponse"
17322	//   },
17323	//   "scopes": [
17324	//     "https://www.googleapis.com/auth/dfatrafficking"
17325	//   ]
17326	// }
17327
17328}
17329
17330// Pages invokes f for each page of results.
17331// A non-nil error returned from f will halt the iteration.
17332// The provided context supersedes any context provided to the Context method.
17333func (c *AdsListCall) Pages(ctx context.Context, f func(*AdsListResponse) error) error {
17334	c.ctx_ = ctx
17335	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17336	for {
17337		x, err := c.Do()
17338		if err != nil {
17339			return err
17340		}
17341		if err := f(x); err != nil {
17342			return err
17343		}
17344		if x.NextPageToken == "" {
17345			return nil
17346		}
17347		c.PageToken(x.NextPageToken)
17348	}
17349}
17350
17351// method id "dfareporting.ads.patch":
17352
17353type AdsPatchCall struct {
17354	s          *Service
17355	profileId  int64
17356	ad         *Ad
17357	urlParams_ gensupport.URLParams
17358	ctx_       context.Context
17359	header_    http.Header
17360}
17361
17362// Patch: Updates an existing ad. This method supports patch semantics.
17363//
17364// - id: Ad ID.
17365// - profileId: User profile ID associated with this request.
17366func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
17367	c := &AdsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17368	c.profileId = profileId
17369	c.urlParams_.Set("id", fmt.Sprint(id))
17370	c.ad = ad
17371	return c
17372}
17373
17374// Fields allows partial responses to be retrieved. See
17375// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17376// for more information.
17377func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
17378	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17379	return c
17380}
17381
17382// Context sets the context to be used in this call's Do method. Any
17383// pending HTTP request will be aborted if the provided context is
17384// canceled.
17385func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
17386	c.ctx_ = ctx
17387	return c
17388}
17389
17390// Header returns an http.Header that can be modified by the caller to
17391// add HTTP headers to the request.
17392func (c *AdsPatchCall) Header() http.Header {
17393	if c.header_ == nil {
17394		c.header_ = make(http.Header)
17395	}
17396	return c.header_
17397}
17398
17399func (c *AdsPatchCall) doRequest(alt string) (*http.Response, error) {
17400	reqHeaders := make(http.Header)
17401	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17402	for k, v := range c.header_ {
17403		reqHeaders[k] = v
17404	}
17405	reqHeaders.Set("User-Agent", c.s.userAgent())
17406	var body io.Reader = nil
17407	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
17408	if err != nil {
17409		return nil, err
17410	}
17411	reqHeaders.Set("Content-Type", "application/json")
17412	c.urlParams_.Set("alt", alt)
17413	c.urlParams_.Set("prettyPrint", "false")
17414	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17415	urls += "?" + c.urlParams_.Encode()
17416	req, err := http.NewRequest("PATCH", urls, body)
17417	if err != nil {
17418		return nil, err
17419	}
17420	req.Header = reqHeaders
17421	googleapi.Expand(req.URL, map[string]string{
17422		"profileId": strconv.FormatInt(c.profileId, 10),
17423	})
17424	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17425}
17426
17427// Do executes the "dfareporting.ads.patch" call.
17428// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
17429// is an error. Response headers are in either *Ad.ServerResponse.Header
17430// or (if a response was returned at all) in
17431// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17432// whether the returned error was because http.StatusNotModified was
17433// returned.
17434func (c *AdsPatchCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
17435	gensupport.SetOptions(c.urlParams_, opts...)
17436	res, err := c.doRequest("json")
17437	if res != nil && res.StatusCode == http.StatusNotModified {
17438		if res.Body != nil {
17439			res.Body.Close()
17440		}
17441		return nil, &googleapi.Error{
17442			Code:   res.StatusCode,
17443			Header: res.Header,
17444		}
17445	}
17446	if err != nil {
17447		return nil, err
17448	}
17449	defer googleapi.CloseBody(res)
17450	if err := googleapi.CheckResponse(res); err != nil {
17451		return nil, err
17452	}
17453	ret := &Ad{
17454		ServerResponse: googleapi.ServerResponse{
17455			Header:         res.Header,
17456			HTTPStatusCode: res.StatusCode,
17457		},
17458	}
17459	target := &ret
17460	if err := gensupport.DecodeResponse(target, res); err != nil {
17461		return nil, err
17462	}
17463	return ret, nil
17464	// {
17465	//   "description": "Updates an existing ad. This method supports patch semantics.",
17466	//   "flatPath": "userprofiles/{profileId}/ads",
17467	//   "httpMethod": "PATCH",
17468	//   "id": "dfareporting.ads.patch",
17469	//   "parameterOrder": [
17470	//     "profileId",
17471	//     "id"
17472	//   ],
17473	//   "parameters": {
17474	//     "id": {
17475	//       "description": "Ad ID.",
17476	//       "format": "int64",
17477	//       "location": "query",
17478	//       "required": true,
17479	//       "type": "string"
17480	//     },
17481	//     "profileId": {
17482	//       "description": "User profile ID associated with this request.",
17483	//       "format": "int64",
17484	//       "location": "path",
17485	//       "required": true,
17486	//       "type": "string"
17487	//     }
17488	//   },
17489	//   "path": "userprofiles/{profileId}/ads",
17490	//   "request": {
17491	//     "$ref": "Ad"
17492	//   },
17493	//   "response": {
17494	//     "$ref": "Ad"
17495	//   },
17496	//   "scopes": [
17497	//     "https://www.googleapis.com/auth/dfatrafficking"
17498	//   ]
17499	// }
17500
17501}
17502
17503// method id "dfareporting.ads.update":
17504
17505type AdsUpdateCall struct {
17506	s          *Service
17507	profileId  int64
17508	ad         *Ad
17509	urlParams_ gensupport.URLParams
17510	ctx_       context.Context
17511	header_    http.Header
17512}
17513
17514// Update: Updates an existing ad.
17515//
17516// - profileId: User profile ID associated with this request.
17517func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
17518	c := &AdsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17519	c.profileId = profileId
17520	c.ad = ad
17521	return c
17522}
17523
17524// Fields allows partial responses to be retrieved. See
17525// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17526// for more information.
17527func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
17528	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17529	return c
17530}
17531
17532// Context sets the context to be used in this call's Do method. Any
17533// pending HTTP request will be aborted if the provided context is
17534// canceled.
17535func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
17536	c.ctx_ = ctx
17537	return c
17538}
17539
17540// Header returns an http.Header that can be modified by the caller to
17541// add HTTP headers to the request.
17542func (c *AdsUpdateCall) Header() http.Header {
17543	if c.header_ == nil {
17544		c.header_ = make(http.Header)
17545	}
17546	return c.header_
17547}
17548
17549func (c *AdsUpdateCall) doRequest(alt string) (*http.Response, error) {
17550	reqHeaders := make(http.Header)
17551	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17552	for k, v := range c.header_ {
17553		reqHeaders[k] = v
17554	}
17555	reqHeaders.Set("User-Agent", c.s.userAgent())
17556	var body io.Reader = nil
17557	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
17558	if err != nil {
17559		return nil, err
17560	}
17561	reqHeaders.Set("Content-Type", "application/json")
17562	c.urlParams_.Set("alt", alt)
17563	c.urlParams_.Set("prettyPrint", "false")
17564	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17565	urls += "?" + c.urlParams_.Encode()
17566	req, err := http.NewRequest("PUT", urls, body)
17567	if err != nil {
17568		return nil, err
17569	}
17570	req.Header = reqHeaders
17571	googleapi.Expand(req.URL, map[string]string{
17572		"profileId": strconv.FormatInt(c.profileId, 10),
17573	})
17574	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17575}
17576
17577// Do executes the "dfareporting.ads.update" call.
17578// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
17579// is an error. Response headers are in either *Ad.ServerResponse.Header
17580// or (if a response was returned at all) in
17581// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17582// whether the returned error was because http.StatusNotModified was
17583// returned.
17584func (c *AdsUpdateCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
17585	gensupport.SetOptions(c.urlParams_, opts...)
17586	res, err := c.doRequest("json")
17587	if res != nil && res.StatusCode == http.StatusNotModified {
17588		if res.Body != nil {
17589			res.Body.Close()
17590		}
17591		return nil, &googleapi.Error{
17592			Code:   res.StatusCode,
17593			Header: res.Header,
17594		}
17595	}
17596	if err != nil {
17597		return nil, err
17598	}
17599	defer googleapi.CloseBody(res)
17600	if err := googleapi.CheckResponse(res); err != nil {
17601		return nil, err
17602	}
17603	ret := &Ad{
17604		ServerResponse: googleapi.ServerResponse{
17605			Header:         res.Header,
17606			HTTPStatusCode: res.StatusCode,
17607		},
17608	}
17609	target := &ret
17610	if err := gensupport.DecodeResponse(target, res); err != nil {
17611		return nil, err
17612	}
17613	return ret, nil
17614	// {
17615	//   "description": "Updates an existing ad.",
17616	//   "flatPath": "userprofiles/{profileId}/ads",
17617	//   "httpMethod": "PUT",
17618	//   "id": "dfareporting.ads.update",
17619	//   "parameterOrder": [
17620	//     "profileId"
17621	//   ],
17622	//   "parameters": {
17623	//     "profileId": {
17624	//       "description": "User profile ID associated with this request.",
17625	//       "format": "int64",
17626	//       "location": "path",
17627	//       "required": true,
17628	//       "type": "string"
17629	//     }
17630	//   },
17631	//   "path": "userprofiles/{profileId}/ads",
17632	//   "request": {
17633	//     "$ref": "Ad"
17634	//   },
17635	//   "response": {
17636	//     "$ref": "Ad"
17637	//   },
17638	//   "scopes": [
17639	//     "https://www.googleapis.com/auth/dfatrafficking"
17640	//   ]
17641	// }
17642
17643}
17644
17645// method id "dfareporting.advertiserGroups.delete":
17646
17647type AdvertiserGroupsDeleteCall struct {
17648	s          *Service
17649	profileId  int64
17650	id         int64
17651	urlParams_ gensupport.URLParams
17652	ctx_       context.Context
17653	header_    http.Header
17654}
17655
17656// Delete: Deletes an existing advertiser group.
17657//
17658// - id: Advertiser group ID.
17659// - profileId: User profile ID associated with this request.
17660func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
17661	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17662	c.profileId = profileId
17663	c.id = id
17664	return c
17665}
17666
17667// Fields allows partial responses to be retrieved. See
17668// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17669// for more information.
17670func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
17671	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17672	return c
17673}
17674
17675// Context sets the context to be used in this call's Do method. Any
17676// pending HTTP request will be aborted if the provided context is
17677// canceled.
17678func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
17679	c.ctx_ = ctx
17680	return c
17681}
17682
17683// Header returns an http.Header that can be modified by the caller to
17684// add HTTP headers to the request.
17685func (c *AdvertiserGroupsDeleteCall) Header() http.Header {
17686	if c.header_ == nil {
17687		c.header_ = make(http.Header)
17688	}
17689	return c.header_
17690}
17691
17692func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
17693	reqHeaders := make(http.Header)
17694	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17695	for k, v := range c.header_ {
17696		reqHeaders[k] = v
17697	}
17698	reqHeaders.Set("User-Agent", c.s.userAgent())
17699	var body io.Reader = nil
17700	c.urlParams_.Set("alt", alt)
17701	c.urlParams_.Set("prettyPrint", "false")
17702	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
17703	urls += "?" + c.urlParams_.Encode()
17704	req, err := http.NewRequest("DELETE", urls, body)
17705	if err != nil {
17706		return nil, err
17707	}
17708	req.Header = reqHeaders
17709	googleapi.Expand(req.URL, map[string]string{
17710		"profileId": strconv.FormatInt(c.profileId, 10),
17711		"id":        strconv.FormatInt(c.id, 10),
17712	})
17713	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17714}
17715
17716// Do executes the "dfareporting.advertiserGroups.delete" call.
17717func (c *AdvertiserGroupsDeleteCall) Do(opts ...googleapi.CallOption) error {
17718	gensupport.SetOptions(c.urlParams_, opts...)
17719	res, err := c.doRequest("json")
17720	if err != nil {
17721		return err
17722	}
17723	defer googleapi.CloseBody(res)
17724	if err := googleapi.CheckResponse(res); err != nil {
17725		return err
17726	}
17727	return nil
17728	// {
17729	//   "description": "Deletes an existing advertiser group.",
17730	//   "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
17731	//   "httpMethod": "DELETE",
17732	//   "id": "dfareporting.advertiserGroups.delete",
17733	//   "parameterOrder": [
17734	//     "profileId",
17735	//     "id"
17736	//   ],
17737	//   "parameters": {
17738	//     "id": {
17739	//       "description": "Advertiser group ID.",
17740	//       "format": "int64",
17741	//       "location": "path",
17742	//       "required": true,
17743	//       "type": "string"
17744	//     },
17745	//     "profileId": {
17746	//       "description": "User profile ID associated with this request.",
17747	//       "format": "int64",
17748	//       "location": "path",
17749	//       "required": true,
17750	//       "type": "string"
17751	//     }
17752	//   },
17753	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
17754	//   "scopes": [
17755	//     "https://www.googleapis.com/auth/dfatrafficking"
17756	//   ]
17757	// }
17758
17759}
17760
17761// method id "dfareporting.advertiserGroups.get":
17762
17763type AdvertiserGroupsGetCall struct {
17764	s            *Service
17765	profileId    int64
17766	id           int64
17767	urlParams_   gensupport.URLParams
17768	ifNoneMatch_ string
17769	ctx_         context.Context
17770	header_      http.Header
17771}
17772
17773// Get: Gets one advertiser group by ID.
17774//
17775// - id: Advertiser group ID.
17776// - profileId: User profile ID associated with this request.
17777func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
17778	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17779	c.profileId = profileId
17780	c.id = id
17781	return c
17782}
17783
17784// Fields allows partial responses to be retrieved. See
17785// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17786// for more information.
17787func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
17788	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17789	return c
17790}
17791
17792// IfNoneMatch sets the optional parameter which makes the operation
17793// fail if the object's ETag matches the given value. This is useful for
17794// getting updates only after the object has changed since the last
17795// request. Use googleapi.IsNotModified to check whether the response
17796// error from Do is the result of In-None-Match.
17797func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
17798	c.ifNoneMatch_ = entityTag
17799	return c
17800}
17801
17802// Context sets the context to be used in this call's Do method. Any
17803// pending HTTP request will be aborted if the provided context is
17804// canceled.
17805func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
17806	c.ctx_ = ctx
17807	return c
17808}
17809
17810// Header returns an http.Header that can be modified by the caller to
17811// add HTTP headers to the request.
17812func (c *AdvertiserGroupsGetCall) Header() http.Header {
17813	if c.header_ == nil {
17814		c.header_ = make(http.Header)
17815	}
17816	return c.header_
17817}
17818
17819func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
17820	reqHeaders := make(http.Header)
17821	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17822	for k, v := range c.header_ {
17823		reqHeaders[k] = v
17824	}
17825	reqHeaders.Set("User-Agent", c.s.userAgent())
17826	if c.ifNoneMatch_ != "" {
17827		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17828	}
17829	var body io.Reader = nil
17830	c.urlParams_.Set("alt", alt)
17831	c.urlParams_.Set("prettyPrint", "false")
17832	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
17833	urls += "?" + c.urlParams_.Encode()
17834	req, err := http.NewRequest("GET", urls, body)
17835	if err != nil {
17836		return nil, err
17837	}
17838	req.Header = reqHeaders
17839	googleapi.Expand(req.URL, map[string]string{
17840		"profileId": strconv.FormatInt(c.profileId, 10),
17841		"id":        strconv.FormatInt(c.id, 10),
17842	})
17843	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17844}
17845
17846// Do executes the "dfareporting.advertiserGroups.get" call.
17847// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
17848// status code is an error. Response headers are in either
17849// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
17850// at all) in error.(*googleapi.Error).Header. Use
17851// googleapi.IsNotModified to check whether the returned error was
17852// because http.StatusNotModified was returned.
17853func (c *AdvertiserGroupsGetCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
17854	gensupport.SetOptions(c.urlParams_, opts...)
17855	res, err := c.doRequest("json")
17856	if res != nil && res.StatusCode == http.StatusNotModified {
17857		if res.Body != nil {
17858			res.Body.Close()
17859		}
17860		return nil, &googleapi.Error{
17861			Code:   res.StatusCode,
17862			Header: res.Header,
17863		}
17864	}
17865	if err != nil {
17866		return nil, err
17867	}
17868	defer googleapi.CloseBody(res)
17869	if err := googleapi.CheckResponse(res); err != nil {
17870		return nil, err
17871	}
17872	ret := &AdvertiserGroup{
17873		ServerResponse: googleapi.ServerResponse{
17874			Header:         res.Header,
17875			HTTPStatusCode: res.StatusCode,
17876		},
17877	}
17878	target := &ret
17879	if err := gensupport.DecodeResponse(target, res); err != nil {
17880		return nil, err
17881	}
17882	return ret, nil
17883	// {
17884	//   "description": "Gets one advertiser group by ID.",
17885	//   "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
17886	//   "httpMethod": "GET",
17887	//   "id": "dfareporting.advertiserGroups.get",
17888	//   "parameterOrder": [
17889	//     "profileId",
17890	//     "id"
17891	//   ],
17892	//   "parameters": {
17893	//     "id": {
17894	//       "description": "Advertiser group ID.",
17895	//       "format": "int64",
17896	//       "location": "path",
17897	//       "required": true,
17898	//       "type": "string"
17899	//     },
17900	//     "profileId": {
17901	//       "description": "User profile ID associated with this request.",
17902	//       "format": "int64",
17903	//       "location": "path",
17904	//       "required": true,
17905	//       "type": "string"
17906	//     }
17907	//   },
17908	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
17909	//   "response": {
17910	//     "$ref": "AdvertiserGroup"
17911	//   },
17912	//   "scopes": [
17913	//     "https://www.googleapis.com/auth/dfatrafficking"
17914	//   ]
17915	// }
17916
17917}
17918
17919// method id "dfareporting.advertiserGroups.insert":
17920
17921type AdvertiserGroupsInsertCall struct {
17922	s               *Service
17923	profileId       int64
17924	advertisergroup *AdvertiserGroup
17925	urlParams_      gensupport.URLParams
17926	ctx_            context.Context
17927	header_         http.Header
17928}
17929
17930// Insert: Inserts a new advertiser group.
17931//
17932// - profileId: User profile ID associated with this request.
17933func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
17934	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17935	c.profileId = profileId
17936	c.advertisergroup = advertisergroup
17937	return c
17938}
17939
17940// Fields allows partial responses to be retrieved. See
17941// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17942// for more information.
17943func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
17944	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17945	return c
17946}
17947
17948// Context sets the context to be used in this call's Do method. Any
17949// pending HTTP request will be aborted if the provided context is
17950// canceled.
17951func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
17952	c.ctx_ = ctx
17953	return c
17954}
17955
17956// Header returns an http.Header that can be modified by the caller to
17957// add HTTP headers to the request.
17958func (c *AdvertiserGroupsInsertCall) Header() http.Header {
17959	if c.header_ == nil {
17960		c.header_ = make(http.Header)
17961	}
17962	return c.header_
17963}
17964
17965func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
17966	reqHeaders := make(http.Header)
17967	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
17968	for k, v := range c.header_ {
17969		reqHeaders[k] = v
17970	}
17971	reqHeaders.Set("User-Agent", c.s.userAgent())
17972	var body io.Reader = nil
17973	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
17974	if err != nil {
17975		return nil, err
17976	}
17977	reqHeaders.Set("Content-Type", "application/json")
17978	c.urlParams_.Set("alt", alt)
17979	c.urlParams_.Set("prettyPrint", "false")
17980	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
17981	urls += "?" + c.urlParams_.Encode()
17982	req, err := http.NewRequest("POST", urls, body)
17983	if err != nil {
17984		return nil, err
17985	}
17986	req.Header = reqHeaders
17987	googleapi.Expand(req.URL, map[string]string{
17988		"profileId": strconv.FormatInt(c.profileId, 10),
17989	})
17990	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17991}
17992
17993// Do executes the "dfareporting.advertiserGroups.insert" call.
17994// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
17995// status code is an error. Response headers are in either
17996// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
17997// at all) in error.(*googleapi.Error).Header. Use
17998// googleapi.IsNotModified to check whether the returned error was
17999// because http.StatusNotModified was returned.
18000func (c *AdvertiserGroupsInsertCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18001	gensupport.SetOptions(c.urlParams_, opts...)
18002	res, err := c.doRequest("json")
18003	if res != nil && res.StatusCode == http.StatusNotModified {
18004		if res.Body != nil {
18005			res.Body.Close()
18006		}
18007		return nil, &googleapi.Error{
18008			Code:   res.StatusCode,
18009			Header: res.Header,
18010		}
18011	}
18012	if err != nil {
18013		return nil, err
18014	}
18015	defer googleapi.CloseBody(res)
18016	if err := googleapi.CheckResponse(res); err != nil {
18017		return nil, err
18018	}
18019	ret := &AdvertiserGroup{
18020		ServerResponse: googleapi.ServerResponse{
18021			Header:         res.Header,
18022			HTTPStatusCode: res.StatusCode,
18023		},
18024	}
18025	target := &ret
18026	if err := gensupport.DecodeResponse(target, res); err != nil {
18027		return nil, err
18028	}
18029	return ret, nil
18030	// {
18031	//   "description": "Inserts a new advertiser group.",
18032	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
18033	//   "httpMethod": "POST",
18034	//   "id": "dfareporting.advertiserGroups.insert",
18035	//   "parameterOrder": [
18036	//     "profileId"
18037	//   ],
18038	//   "parameters": {
18039	//     "profileId": {
18040	//       "description": "User profile ID associated with this request.",
18041	//       "format": "int64",
18042	//       "location": "path",
18043	//       "required": true,
18044	//       "type": "string"
18045	//     }
18046	//   },
18047	//   "path": "userprofiles/{profileId}/advertiserGroups",
18048	//   "request": {
18049	//     "$ref": "AdvertiserGroup"
18050	//   },
18051	//   "response": {
18052	//     "$ref": "AdvertiserGroup"
18053	//   },
18054	//   "scopes": [
18055	//     "https://www.googleapis.com/auth/dfatrafficking"
18056	//   ]
18057	// }
18058
18059}
18060
18061// method id "dfareporting.advertiserGroups.list":
18062
18063type AdvertiserGroupsListCall struct {
18064	s            *Service
18065	profileId    int64
18066	urlParams_   gensupport.URLParams
18067	ifNoneMatch_ string
18068	ctx_         context.Context
18069	header_      http.Header
18070}
18071
18072// List: Retrieves a list of advertiser groups, possibly filtered. This
18073// method supports paging.
18074//
18075// - profileId: User profile ID associated with this request.
18076func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
18077	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18078	c.profileId = profileId
18079	return c
18080}
18081
18082// Ids sets the optional parameter "ids": Select only advertiser groups
18083// with these IDs.
18084func (c *AdvertiserGroupsListCall) Ids(ids ...int64) *AdvertiserGroupsListCall {
18085	var ids_ []string
18086	for _, v := range ids {
18087		ids_ = append(ids_, fmt.Sprint(v))
18088	}
18089	c.urlParams_.SetMulti("ids", ids_)
18090	return c
18091}
18092
18093// MaxResults sets the optional parameter "maxResults": Maximum number
18094// of results to return.
18095func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
18096	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
18097	return c
18098}
18099
18100// PageToken sets the optional parameter "pageToken": Value of the
18101// nextPageToken from the previous result page.
18102func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
18103	c.urlParams_.Set("pageToken", pageToken)
18104	return c
18105}
18106
18107// SearchString sets the optional parameter "searchString": Allows
18108// searching for objects by name or ID. Wildcards (*) are allowed. For
18109// example, "advertiser*2015" will return objects with names like
18110// "advertiser group June 2015", "advertiser group April 2015", or
18111// simply "advertiser group 2015". Most of the searches also add
18112// wildcards implicitly at the start and the end of the search string.
18113// For example, a search string of "advertisergroup" will match objects
18114// with name "my advertisergroup", "advertisergroup 2015", or simply
18115// "advertisergroup".
18116func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
18117	c.urlParams_.Set("searchString", searchString)
18118	return c
18119}
18120
18121// SortField sets the optional parameter "sortField": Field by which to
18122// sort the list.
18123//
18124// Possible values:
18125//   "ID" (default)
18126//   "NAME"
18127func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
18128	c.urlParams_.Set("sortField", sortField)
18129	return c
18130}
18131
18132// SortOrder sets the optional parameter "sortOrder": Order of sorted
18133// results.
18134//
18135// Possible values:
18136//   "ASCENDING" (default)
18137//   "DESCENDING"
18138func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
18139	c.urlParams_.Set("sortOrder", sortOrder)
18140	return c
18141}
18142
18143// Fields allows partial responses to be retrieved. See
18144// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18145// for more information.
18146func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
18147	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18148	return c
18149}
18150
18151// IfNoneMatch sets the optional parameter which makes the operation
18152// fail if the object's ETag matches the given value. This is useful for
18153// getting updates only after the object has changed since the last
18154// request. Use googleapi.IsNotModified to check whether the response
18155// error from Do is the result of In-None-Match.
18156func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
18157	c.ifNoneMatch_ = entityTag
18158	return c
18159}
18160
18161// Context sets the context to be used in this call's Do method. Any
18162// pending HTTP request will be aborted if the provided context is
18163// canceled.
18164func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
18165	c.ctx_ = ctx
18166	return c
18167}
18168
18169// Header returns an http.Header that can be modified by the caller to
18170// add HTTP headers to the request.
18171func (c *AdvertiserGroupsListCall) Header() http.Header {
18172	if c.header_ == nil {
18173		c.header_ = make(http.Header)
18174	}
18175	return c.header_
18176}
18177
18178func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
18179	reqHeaders := make(http.Header)
18180	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18181	for k, v := range c.header_ {
18182		reqHeaders[k] = v
18183	}
18184	reqHeaders.Set("User-Agent", c.s.userAgent())
18185	if c.ifNoneMatch_ != "" {
18186		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18187	}
18188	var body io.Reader = nil
18189	c.urlParams_.Set("alt", alt)
18190	c.urlParams_.Set("prettyPrint", "false")
18191	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18192	urls += "?" + c.urlParams_.Encode()
18193	req, err := http.NewRequest("GET", urls, body)
18194	if err != nil {
18195		return nil, err
18196	}
18197	req.Header = reqHeaders
18198	googleapi.Expand(req.URL, map[string]string{
18199		"profileId": strconv.FormatInt(c.profileId, 10),
18200	})
18201	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18202}
18203
18204// Do executes the "dfareporting.advertiserGroups.list" call.
18205// Exactly one of *AdvertiserGroupsListResponse or error will be
18206// non-nil. Any non-2xx status code is an error. Response headers are in
18207// either *AdvertiserGroupsListResponse.ServerResponse.Header or (if a
18208// response was returned at all) in error.(*googleapi.Error).Header. Use
18209// googleapi.IsNotModified to check whether the returned error was
18210// because http.StatusNotModified was returned.
18211func (c *AdvertiserGroupsListCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroupsListResponse, error) {
18212	gensupport.SetOptions(c.urlParams_, opts...)
18213	res, err := c.doRequest("json")
18214	if res != nil && res.StatusCode == http.StatusNotModified {
18215		if res.Body != nil {
18216			res.Body.Close()
18217		}
18218		return nil, &googleapi.Error{
18219			Code:   res.StatusCode,
18220			Header: res.Header,
18221		}
18222	}
18223	if err != nil {
18224		return nil, err
18225	}
18226	defer googleapi.CloseBody(res)
18227	if err := googleapi.CheckResponse(res); err != nil {
18228		return nil, err
18229	}
18230	ret := &AdvertiserGroupsListResponse{
18231		ServerResponse: googleapi.ServerResponse{
18232			Header:         res.Header,
18233			HTTPStatusCode: res.StatusCode,
18234		},
18235	}
18236	target := &ret
18237	if err := gensupport.DecodeResponse(target, res); err != nil {
18238		return nil, err
18239	}
18240	return ret, nil
18241	// {
18242	//   "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
18243	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
18244	//   "httpMethod": "GET",
18245	//   "id": "dfareporting.advertiserGroups.list",
18246	//   "parameterOrder": [
18247	//     "profileId"
18248	//   ],
18249	//   "parameters": {
18250	//     "ids": {
18251	//       "description": "Select only advertiser groups with these IDs.",
18252	//       "format": "int64",
18253	//       "location": "query",
18254	//       "repeated": true,
18255	//       "type": "string"
18256	//     },
18257	//     "maxResults": {
18258	//       "default": "1000",
18259	//       "description": "Maximum number of results to return.",
18260	//       "format": "int32",
18261	//       "location": "query",
18262	//       "maximum": "1000",
18263	//       "minimum": "0",
18264	//       "type": "integer"
18265	//     },
18266	//     "pageToken": {
18267	//       "description": "Value of the nextPageToken from the previous result page.",
18268	//       "location": "query",
18269	//       "type": "string"
18270	//     },
18271	//     "profileId": {
18272	//       "description": "User profile ID associated with this request.",
18273	//       "format": "int64",
18274	//       "location": "path",
18275	//       "required": true,
18276	//       "type": "string"
18277	//     },
18278	//     "searchString": {
18279	//       "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\".",
18280	//       "location": "query",
18281	//       "type": "string"
18282	//     },
18283	//     "sortField": {
18284	//       "default": "ID",
18285	//       "description": "Field by which to sort the list.",
18286	//       "enum": [
18287	//         "ID",
18288	//         "NAME"
18289	//       ],
18290	//       "enumDescriptions": [
18291	//         "",
18292	//         ""
18293	//       ],
18294	//       "location": "query",
18295	//       "type": "string"
18296	//     },
18297	//     "sortOrder": {
18298	//       "default": "ASCENDING",
18299	//       "description": "Order of sorted results.",
18300	//       "enum": [
18301	//         "ASCENDING",
18302	//         "DESCENDING"
18303	//       ],
18304	//       "enumDescriptions": [
18305	//         "",
18306	//         ""
18307	//       ],
18308	//       "location": "query",
18309	//       "type": "string"
18310	//     }
18311	//   },
18312	//   "path": "userprofiles/{profileId}/advertiserGroups",
18313	//   "response": {
18314	//     "$ref": "AdvertiserGroupsListResponse"
18315	//   },
18316	//   "scopes": [
18317	//     "https://www.googleapis.com/auth/dfatrafficking"
18318	//   ]
18319	// }
18320
18321}
18322
18323// Pages invokes f for each page of results.
18324// A non-nil error returned from f will halt the iteration.
18325// The provided context supersedes any context provided to the Context method.
18326func (c *AdvertiserGroupsListCall) Pages(ctx context.Context, f func(*AdvertiserGroupsListResponse) error) error {
18327	c.ctx_ = ctx
18328	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18329	for {
18330		x, err := c.Do()
18331		if err != nil {
18332			return err
18333		}
18334		if err := f(x); err != nil {
18335			return err
18336		}
18337		if x.NextPageToken == "" {
18338			return nil
18339		}
18340		c.PageToken(x.NextPageToken)
18341	}
18342}
18343
18344// method id "dfareporting.advertiserGroups.patch":
18345
18346type AdvertiserGroupsPatchCall struct {
18347	s               *Service
18348	profileId       int64
18349	advertisergroup *AdvertiserGroup
18350	urlParams_      gensupport.URLParams
18351	ctx_            context.Context
18352	header_         http.Header
18353}
18354
18355// Patch: Updates an existing advertiser group. This method supports
18356// patch semantics.
18357//
18358// - id: AdvertiserGroup ID.
18359// - profileId: User profile ID associated with this request.
18360func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
18361	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18362	c.profileId = profileId
18363	c.urlParams_.Set("id", fmt.Sprint(id))
18364	c.advertisergroup = advertisergroup
18365	return c
18366}
18367
18368// Fields allows partial responses to be retrieved. See
18369// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18370// for more information.
18371func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
18372	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18373	return c
18374}
18375
18376// Context sets the context to be used in this call's Do method. Any
18377// pending HTTP request will be aborted if the provided context is
18378// canceled.
18379func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
18380	c.ctx_ = ctx
18381	return c
18382}
18383
18384// Header returns an http.Header that can be modified by the caller to
18385// add HTTP headers to the request.
18386func (c *AdvertiserGroupsPatchCall) Header() http.Header {
18387	if c.header_ == nil {
18388		c.header_ = make(http.Header)
18389	}
18390	return c.header_
18391}
18392
18393func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
18394	reqHeaders := make(http.Header)
18395	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18396	for k, v := range c.header_ {
18397		reqHeaders[k] = v
18398	}
18399	reqHeaders.Set("User-Agent", c.s.userAgent())
18400	var body io.Reader = nil
18401	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
18402	if err != nil {
18403		return nil, err
18404	}
18405	reqHeaders.Set("Content-Type", "application/json")
18406	c.urlParams_.Set("alt", alt)
18407	c.urlParams_.Set("prettyPrint", "false")
18408	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18409	urls += "?" + c.urlParams_.Encode()
18410	req, err := http.NewRequest("PATCH", urls, body)
18411	if err != nil {
18412		return nil, err
18413	}
18414	req.Header = reqHeaders
18415	googleapi.Expand(req.URL, map[string]string{
18416		"profileId": strconv.FormatInt(c.profileId, 10),
18417	})
18418	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18419}
18420
18421// Do executes the "dfareporting.advertiserGroups.patch" call.
18422// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18423// status code is an error. Response headers are in either
18424// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18425// at all) in error.(*googleapi.Error).Header. Use
18426// googleapi.IsNotModified to check whether the returned error was
18427// because http.StatusNotModified was returned.
18428func (c *AdvertiserGroupsPatchCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18429	gensupport.SetOptions(c.urlParams_, opts...)
18430	res, err := c.doRequest("json")
18431	if res != nil && res.StatusCode == http.StatusNotModified {
18432		if res.Body != nil {
18433			res.Body.Close()
18434		}
18435		return nil, &googleapi.Error{
18436			Code:   res.StatusCode,
18437			Header: res.Header,
18438		}
18439	}
18440	if err != nil {
18441		return nil, err
18442	}
18443	defer googleapi.CloseBody(res)
18444	if err := googleapi.CheckResponse(res); err != nil {
18445		return nil, err
18446	}
18447	ret := &AdvertiserGroup{
18448		ServerResponse: googleapi.ServerResponse{
18449			Header:         res.Header,
18450			HTTPStatusCode: res.StatusCode,
18451		},
18452	}
18453	target := &ret
18454	if err := gensupport.DecodeResponse(target, res); err != nil {
18455		return nil, err
18456	}
18457	return ret, nil
18458	// {
18459	//   "description": "Updates an existing advertiser group. This method supports patch semantics.",
18460	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
18461	//   "httpMethod": "PATCH",
18462	//   "id": "dfareporting.advertiserGroups.patch",
18463	//   "parameterOrder": [
18464	//     "profileId",
18465	//     "id"
18466	//   ],
18467	//   "parameters": {
18468	//     "id": {
18469	//       "description": "AdvertiserGroup ID.",
18470	//       "format": "int64",
18471	//       "location": "query",
18472	//       "required": true,
18473	//       "type": "string"
18474	//     },
18475	//     "profileId": {
18476	//       "description": "User profile ID associated with this request.",
18477	//       "format": "int64",
18478	//       "location": "path",
18479	//       "required": true,
18480	//       "type": "string"
18481	//     }
18482	//   },
18483	//   "path": "userprofiles/{profileId}/advertiserGroups",
18484	//   "request": {
18485	//     "$ref": "AdvertiserGroup"
18486	//   },
18487	//   "response": {
18488	//     "$ref": "AdvertiserGroup"
18489	//   },
18490	//   "scopes": [
18491	//     "https://www.googleapis.com/auth/dfatrafficking"
18492	//   ]
18493	// }
18494
18495}
18496
18497// method id "dfareporting.advertiserGroups.update":
18498
18499type AdvertiserGroupsUpdateCall struct {
18500	s               *Service
18501	profileId       int64
18502	advertisergroup *AdvertiserGroup
18503	urlParams_      gensupport.URLParams
18504	ctx_            context.Context
18505	header_         http.Header
18506}
18507
18508// Update: Updates an existing advertiser group.
18509//
18510// - profileId: User profile ID associated with this request.
18511func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
18512	c := &AdvertiserGroupsUpdateCall{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 *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
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 *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
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 *AdvertiserGroupsUpdateCall) Header() http.Header {
18537	if c.header_ == nil {
18538		c.header_ = make(http.Header)
18539	}
18540	return c.header_
18541}
18542
18543func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
18544	reqHeaders := make(http.Header)
18545	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
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("PUT", 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.update" 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 *AdvertiserGroupsUpdateCall) 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": "Updates an existing advertiser group.",
18610	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
18611	//   "httpMethod": "PUT",
18612	//   "id": "dfareporting.advertiserGroups.update",
18613	//   "parameterOrder": [
18614	//     "profileId"
18615	//   ],
18616	//   "parameters": {
18617	//     "profileId": {
18618	//       "description": "User profile ID associated with this request.",
18619	//       "format": "int64",
18620	//       "location": "path",
18621	//       "required": true,
18622	//       "type": "string"
18623	//     }
18624	//   },
18625	//   "path": "userprofiles/{profileId}/advertiserGroups",
18626	//   "request": {
18627	//     "$ref": "AdvertiserGroup"
18628	//   },
18629	//   "response": {
18630	//     "$ref": "AdvertiserGroup"
18631	//   },
18632	//   "scopes": [
18633	//     "https://www.googleapis.com/auth/dfatrafficking"
18634	//   ]
18635	// }
18636
18637}
18638
18639// method id "dfareporting.advertiserLandingPages.get":
18640
18641type AdvertiserLandingPagesGetCall struct {
18642	s            *Service
18643	profileId    int64
18644	id           int64
18645	urlParams_   gensupport.URLParams
18646	ifNoneMatch_ string
18647	ctx_         context.Context
18648	header_      http.Header
18649}
18650
18651// Get: Gets one landing page by ID.
18652//
18653// - id: Landing page ID.
18654// - profileId: User profile ID associated with this request.
18655func (r *AdvertiserLandingPagesService) Get(profileId int64, id int64) *AdvertiserLandingPagesGetCall {
18656	c := &AdvertiserLandingPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18657	c.profileId = profileId
18658	c.id = id
18659	return c
18660}
18661
18662// Fields allows partial responses to be retrieved. See
18663// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18664// for more information.
18665func (c *AdvertiserLandingPagesGetCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesGetCall {
18666	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18667	return c
18668}
18669
18670// IfNoneMatch sets the optional parameter which makes the operation
18671// fail if the object's ETag matches the given value. This is useful for
18672// getting updates only after the object has changed since the last
18673// request. Use googleapi.IsNotModified to check whether the response
18674// error from Do is the result of In-None-Match.
18675func (c *AdvertiserLandingPagesGetCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesGetCall {
18676	c.ifNoneMatch_ = entityTag
18677	return c
18678}
18679
18680// Context sets the context to be used in this call's Do method. Any
18681// pending HTTP request will be aborted if the provided context is
18682// canceled.
18683func (c *AdvertiserLandingPagesGetCall) Context(ctx context.Context) *AdvertiserLandingPagesGetCall {
18684	c.ctx_ = ctx
18685	return c
18686}
18687
18688// Header returns an http.Header that can be modified by the caller to
18689// add HTTP headers to the request.
18690func (c *AdvertiserLandingPagesGetCall) Header() http.Header {
18691	if c.header_ == nil {
18692		c.header_ = make(http.Header)
18693	}
18694	return c.header_
18695}
18696
18697func (c *AdvertiserLandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
18698	reqHeaders := make(http.Header)
18699	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18700	for k, v := range c.header_ {
18701		reqHeaders[k] = v
18702	}
18703	reqHeaders.Set("User-Agent", c.s.userAgent())
18704	if c.ifNoneMatch_ != "" {
18705		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18706	}
18707	var body io.Reader = nil
18708	c.urlParams_.Set("alt", alt)
18709	c.urlParams_.Set("prettyPrint", "false")
18710	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages/{id}")
18711	urls += "?" + c.urlParams_.Encode()
18712	req, err := http.NewRequest("GET", urls, body)
18713	if err != nil {
18714		return nil, err
18715	}
18716	req.Header = reqHeaders
18717	googleapi.Expand(req.URL, map[string]string{
18718		"profileId": strconv.FormatInt(c.profileId, 10),
18719		"id":        strconv.FormatInt(c.id, 10),
18720	})
18721	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18722}
18723
18724// Do executes the "dfareporting.advertiserLandingPages.get" call.
18725// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
18726// status code is an error. Response headers are in either
18727// *LandingPage.ServerResponse.Header or (if a response was returned at
18728// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18729// to check whether the returned error was because
18730// http.StatusNotModified was returned.
18731func (c *AdvertiserLandingPagesGetCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
18732	gensupport.SetOptions(c.urlParams_, opts...)
18733	res, err := c.doRequest("json")
18734	if res != nil && res.StatusCode == http.StatusNotModified {
18735		if res.Body != nil {
18736			res.Body.Close()
18737		}
18738		return nil, &googleapi.Error{
18739			Code:   res.StatusCode,
18740			Header: res.Header,
18741		}
18742	}
18743	if err != nil {
18744		return nil, err
18745	}
18746	defer googleapi.CloseBody(res)
18747	if err := googleapi.CheckResponse(res); err != nil {
18748		return nil, err
18749	}
18750	ret := &LandingPage{
18751		ServerResponse: googleapi.ServerResponse{
18752			Header:         res.Header,
18753			HTTPStatusCode: res.StatusCode,
18754		},
18755	}
18756	target := &ret
18757	if err := gensupport.DecodeResponse(target, res); err != nil {
18758		return nil, err
18759	}
18760	return ret, nil
18761	// {
18762	//   "description": "Gets one landing page by ID.",
18763	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages/{id}",
18764	//   "httpMethod": "GET",
18765	//   "id": "dfareporting.advertiserLandingPages.get",
18766	//   "parameterOrder": [
18767	//     "profileId",
18768	//     "id"
18769	//   ],
18770	//   "parameters": {
18771	//     "id": {
18772	//       "description": "Landing page ID.",
18773	//       "format": "int64",
18774	//       "location": "path",
18775	//       "required": true,
18776	//       "type": "string"
18777	//     },
18778	//     "profileId": {
18779	//       "description": "User profile ID associated with this request.",
18780	//       "format": "int64",
18781	//       "location": "path",
18782	//       "required": true,
18783	//       "type": "string"
18784	//     }
18785	//   },
18786	//   "path": "userprofiles/{profileId}/advertiserLandingPages/{id}",
18787	//   "response": {
18788	//     "$ref": "LandingPage"
18789	//   },
18790	//   "scopes": [
18791	//     "https://www.googleapis.com/auth/dfatrafficking"
18792	//   ]
18793	// }
18794
18795}
18796
18797// method id "dfareporting.advertiserLandingPages.insert":
18798
18799type AdvertiserLandingPagesInsertCall struct {
18800	s           *Service
18801	profileId   int64
18802	landingpage *LandingPage
18803	urlParams_  gensupport.URLParams
18804	ctx_        context.Context
18805	header_     http.Header
18806}
18807
18808// Insert: Inserts a new landing page.
18809//
18810// - profileId: User profile ID associated with this request.
18811func (r *AdvertiserLandingPagesService) Insert(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesInsertCall {
18812	c := &AdvertiserLandingPagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18813	c.profileId = profileId
18814	c.landingpage = landingpage
18815	return c
18816}
18817
18818// Fields allows partial responses to be retrieved. See
18819// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18820// for more information.
18821func (c *AdvertiserLandingPagesInsertCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesInsertCall {
18822	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18823	return c
18824}
18825
18826// Context sets the context to be used in this call's Do method. Any
18827// pending HTTP request will be aborted if the provided context is
18828// canceled.
18829func (c *AdvertiserLandingPagesInsertCall) Context(ctx context.Context) *AdvertiserLandingPagesInsertCall {
18830	c.ctx_ = ctx
18831	return c
18832}
18833
18834// Header returns an http.Header that can be modified by the caller to
18835// add HTTP headers to the request.
18836func (c *AdvertiserLandingPagesInsertCall) Header() http.Header {
18837	if c.header_ == nil {
18838		c.header_ = make(http.Header)
18839	}
18840	return c.header_
18841}
18842
18843func (c *AdvertiserLandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
18844	reqHeaders := make(http.Header)
18845	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
18846	for k, v := range c.header_ {
18847		reqHeaders[k] = v
18848	}
18849	reqHeaders.Set("User-Agent", c.s.userAgent())
18850	var body io.Reader = nil
18851	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
18852	if err != nil {
18853		return nil, err
18854	}
18855	reqHeaders.Set("Content-Type", "application/json")
18856	c.urlParams_.Set("alt", alt)
18857	c.urlParams_.Set("prettyPrint", "false")
18858	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
18859	urls += "?" + c.urlParams_.Encode()
18860	req, err := http.NewRequest("POST", urls, body)
18861	if err != nil {
18862		return nil, err
18863	}
18864	req.Header = reqHeaders
18865	googleapi.Expand(req.URL, map[string]string{
18866		"profileId": strconv.FormatInt(c.profileId, 10),
18867	})
18868	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18869}
18870
18871// Do executes the "dfareporting.advertiserLandingPages.insert" call.
18872// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
18873// status code is an error. Response headers are in either
18874// *LandingPage.ServerResponse.Header or (if a response was returned at
18875// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18876// to check whether the returned error was because
18877// http.StatusNotModified was returned.
18878func (c *AdvertiserLandingPagesInsertCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
18879	gensupport.SetOptions(c.urlParams_, opts...)
18880	res, err := c.doRequest("json")
18881	if res != nil && res.StatusCode == http.StatusNotModified {
18882		if res.Body != nil {
18883			res.Body.Close()
18884		}
18885		return nil, &googleapi.Error{
18886			Code:   res.StatusCode,
18887			Header: res.Header,
18888		}
18889	}
18890	if err != nil {
18891		return nil, err
18892	}
18893	defer googleapi.CloseBody(res)
18894	if err := googleapi.CheckResponse(res); err != nil {
18895		return nil, err
18896	}
18897	ret := &LandingPage{
18898		ServerResponse: googleapi.ServerResponse{
18899			Header:         res.Header,
18900			HTTPStatusCode: res.StatusCode,
18901		},
18902	}
18903	target := &ret
18904	if err := gensupport.DecodeResponse(target, res); err != nil {
18905		return nil, err
18906	}
18907	return ret, nil
18908	// {
18909	//   "description": "Inserts a new landing page.",
18910	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
18911	//   "httpMethod": "POST",
18912	//   "id": "dfareporting.advertiserLandingPages.insert",
18913	//   "parameterOrder": [
18914	//     "profileId"
18915	//   ],
18916	//   "parameters": {
18917	//     "profileId": {
18918	//       "description": "User profile ID associated with this request.",
18919	//       "format": "int64",
18920	//       "location": "path",
18921	//       "required": true,
18922	//       "type": "string"
18923	//     }
18924	//   },
18925	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
18926	//   "request": {
18927	//     "$ref": "LandingPage"
18928	//   },
18929	//   "response": {
18930	//     "$ref": "LandingPage"
18931	//   },
18932	//   "scopes": [
18933	//     "https://www.googleapis.com/auth/dfatrafficking"
18934	//   ]
18935	// }
18936
18937}
18938
18939// method id "dfareporting.advertiserLandingPages.list":
18940
18941type AdvertiserLandingPagesListCall struct {
18942	s            *Service
18943	profileId    int64
18944	urlParams_   gensupport.URLParams
18945	ifNoneMatch_ string
18946	ctx_         context.Context
18947	header_      http.Header
18948}
18949
18950// List: Retrieves a list of landing pages.
18951//
18952// - profileId: User profile ID associated with this request.
18953func (r *AdvertiserLandingPagesService) List(profileId int64) *AdvertiserLandingPagesListCall {
18954	c := &AdvertiserLandingPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18955	c.profileId = profileId
18956	return c
18957}
18958
18959// AdvertiserIds sets the optional parameter "advertiserIds": Select
18960// only landing pages that belong to these advertisers.
18961func (c *AdvertiserLandingPagesListCall) AdvertiserIds(advertiserIds ...int64) *AdvertiserLandingPagesListCall {
18962	var advertiserIds_ []string
18963	for _, v := range advertiserIds {
18964		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
18965	}
18966	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
18967	return c
18968}
18969
18970// Archived sets the optional parameter "archived": Select only archived
18971// landing pages. Don't set this field to select both archived and
18972// non-archived landing pages.
18973func (c *AdvertiserLandingPagesListCall) Archived(archived bool) *AdvertiserLandingPagesListCall {
18974	c.urlParams_.Set("archived", fmt.Sprint(archived))
18975	return c
18976}
18977
18978// CampaignIds sets the optional parameter "campaignIds": Select only
18979// landing pages that are associated with these campaigns.
18980func (c *AdvertiserLandingPagesListCall) CampaignIds(campaignIds ...int64) *AdvertiserLandingPagesListCall {
18981	var campaignIds_ []string
18982	for _, v := range campaignIds {
18983		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
18984	}
18985	c.urlParams_.SetMulti("campaignIds", campaignIds_)
18986	return c
18987}
18988
18989// Ids sets the optional parameter "ids": Select only landing pages with
18990// these IDs.
18991func (c *AdvertiserLandingPagesListCall) Ids(ids ...int64) *AdvertiserLandingPagesListCall {
18992	var ids_ []string
18993	for _, v := range ids {
18994		ids_ = append(ids_, fmt.Sprint(v))
18995	}
18996	c.urlParams_.SetMulti("ids", ids_)
18997	return c
18998}
18999
19000// MaxResults sets the optional parameter "maxResults": Maximum number
19001// of results to return.
19002func (c *AdvertiserLandingPagesListCall) MaxResults(maxResults int64) *AdvertiserLandingPagesListCall {
19003	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
19004	return c
19005}
19006
19007// PageToken sets the optional parameter "pageToken": Value of the
19008// nextPageToken from the previous result page.
19009func (c *AdvertiserLandingPagesListCall) PageToken(pageToken string) *AdvertiserLandingPagesListCall {
19010	c.urlParams_.Set("pageToken", pageToken)
19011	return c
19012}
19013
19014// SearchString sets the optional parameter "searchString": Allows
19015// searching for landing pages by name or ID. Wildcards (*) are allowed.
19016// For example, "landingpage*2017" will return landing pages with names
19017// like "landingpage July 2017", "landingpage March 2017", or simply
19018// "landingpage 2017". Most of the searches also add wildcards
19019// implicitly at the start and the end of the search string. For
19020// example, a search string of "landingpage" will match campaigns with
19021// name "my landingpage", "landingpage 2015", or simply "landingpage".
19022func (c *AdvertiserLandingPagesListCall) SearchString(searchString string) *AdvertiserLandingPagesListCall {
19023	c.urlParams_.Set("searchString", searchString)
19024	return c
19025}
19026
19027// SortField sets the optional parameter "sortField": Field by which to
19028// sort the list.
19029//
19030// Possible values:
19031//   "ID" (default)
19032//   "NAME"
19033func (c *AdvertiserLandingPagesListCall) SortField(sortField string) *AdvertiserLandingPagesListCall {
19034	c.urlParams_.Set("sortField", sortField)
19035	return c
19036}
19037
19038// SortOrder sets the optional parameter "sortOrder": Order of sorted
19039// results.
19040//
19041// Possible values:
19042//   "ASCENDING" (default)
19043//   "DESCENDING"
19044func (c *AdvertiserLandingPagesListCall) SortOrder(sortOrder string) *AdvertiserLandingPagesListCall {
19045	c.urlParams_.Set("sortOrder", sortOrder)
19046	return c
19047}
19048
19049// SubaccountId sets the optional parameter "subaccountId": Select only
19050// landing pages that belong to this subaccount.
19051func (c *AdvertiserLandingPagesListCall) SubaccountId(subaccountId int64) *AdvertiserLandingPagesListCall {
19052	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
19053	return c
19054}
19055
19056// Fields allows partial responses to be retrieved. See
19057// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19058// for more information.
19059func (c *AdvertiserLandingPagesListCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesListCall {
19060	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19061	return c
19062}
19063
19064// IfNoneMatch sets the optional parameter which makes the operation
19065// fail if the object's ETag matches the given value. This is useful for
19066// getting updates only after the object has changed since the last
19067// request. Use googleapi.IsNotModified to check whether the response
19068// error from Do is the result of In-None-Match.
19069func (c *AdvertiserLandingPagesListCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesListCall {
19070	c.ifNoneMatch_ = entityTag
19071	return c
19072}
19073
19074// Context sets the context to be used in this call's Do method. Any
19075// pending HTTP request will be aborted if the provided context is
19076// canceled.
19077func (c *AdvertiserLandingPagesListCall) Context(ctx context.Context) *AdvertiserLandingPagesListCall {
19078	c.ctx_ = ctx
19079	return c
19080}
19081
19082// Header returns an http.Header that can be modified by the caller to
19083// add HTTP headers to the request.
19084func (c *AdvertiserLandingPagesListCall) Header() http.Header {
19085	if c.header_ == nil {
19086		c.header_ = make(http.Header)
19087	}
19088	return c.header_
19089}
19090
19091func (c *AdvertiserLandingPagesListCall) doRequest(alt string) (*http.Response, error) {
19092	reqHeaders := make(http.Header)
19093	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19094	for k, v := range c.header_ {
19095		reqHeaders[k] = v
19096	}
19097	reqHeaders.Set("User-Agent", c.s.userAgent())
19098	if c.ifNoneMatch_ != "" {
19099		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19100	}
19101	var body io.Reader = nil
19102	c.urlParams_.Set("alt", alt)
19103	c.urlParams_.Set("prettyPrint", "false")
19104	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19105	urls += "?" + c.urlParams_.Encode()
19106	req, err := http.NewRequest("GET", urls, body)
19107	if err != nil {
19108		return nil, err
19109	}
19110	req.Header = reqHeaders
19111	googleapi.Expand(req.URL, map[string]string{
19112		"profileId": strconv.FormatInt(c.profileId, 10),
19113	})
19114	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19115}
19116
19117// Do executes the "dfareporting.advertiserLandingPages.list" call.
19118// Exactly one of *AdvertiserLandingPagesListResponse or error will be
19119// non-nil. Any non-2xx status code is an error. Response headers are in
19120// either *AdvertiserLandingPagesListResponse.ServerResponse.Header or
19121// (if a response was returned at all) in
19122// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19123// whether the returned error was because http.StatusNotModified was
19124// returned.
19125func (c *AdvertiserLandingPagesListCall) Do(opts ...googleapi.CallOption) (*AdvertiserLandingPagesListResponse, error) {
19126	gensupport.SetOptions(c.urlParams_, opts...)
19127	res, err := c.doRequest("json")
19128	if res != nil && res.StatusCode == http.StatusNotModified {
19129		if res.Body != nil {
19130			res.Body.Close()
19131		}
19132		return nil, &googleapi.Error{
19133			Code:   res.StatusCode,
19134			Header: res.Header,
19135		}
19136	}
19137	if err != nil {
19138		return nil, err
19139	}
19140	defer googleapi.CloseBody(res)
19141	if err := googleapi.CheckResponse(res); err != nil {
19142		return nil, err
19143	}
19144	ret := &AdvertiserLandingPagesListResponse{
19145		ServerResponse: googleapi.ServerResponse{
19146			Header:         res.Header,
19147			HTTPStatusCode: res.StatusCode,
19148		},
19149	}
19150	target := &ret
19151	if err := gensupport.DecodeResponse(target, res); err != nil {
19152		return nil, err
19153	}
19154	return ret, nil
19155	// {
19156	//   "description": "Retrieves a list of landing pages.",
19157	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
19158	//   "httpMethod": "GET",
19159	//   "id": "dfareporting.advertiserLandingPages.list",
19160	//   "parameterOrder": [
19161	//     "profileId"
19162	//   ],
19163	//   "parameters": {
19164	//     "advertiserIds": {
19165	//       "description": "Select only landing pages that belong to these advertisers.",
19166	//       "format": "int64",
19167	//       "location": "query",
19168	//       "repeated": true,
19169	//       "type": "string"
19170	//     },
19171	//     "archived": {
19172	//       "description": "Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages.",
19173	//       "location": "query",
19174	//       "type": "boolean"
19175	//     },
19176	//     "campaignIds": {
19177	//       "description": "Select only landing pages that are associated with these campaigns.",
19178	//       "format": "int64",
19179	//       "location": "query",
19180	//       "repeated": true,
19181	//       "type": "string"
19182	//     },
19183	//     "ids": {
19184	//       "description": "Select only landing pages with these IDs.",
19185	//       "format": "int64",
19186	//       "location": "query",
19187	//       "repeated": true,
19188	//       "type": "string"
19189	//     },
19190	//     "maxResults": {
19191	//       "default": "1000",
19192	//       "description": "Maximum number of results to return.",
19193	//       "format": "int32",
19194	//       "location": "query",
19195	//       "maximum": "1000",
19196	//       "minimum": "0",
19197	//       "type": "integer"
19198	//     },
19199	//     "pageToken": {
19200	//       "description": "Value of the nextPageToken from the previous result page.",
19201	//       "location": "query",
19202	//       "type": "string"
19203	//     },
19204	//     "profileId": {
19205	//       "description": "User profile ID associated with this request.",
19206	//       "format": "int64",
19207	//       "location": "path",
19208	//       "required": true,
19209	//       "type": "string"
19210	//     },
19211	//     "searchString": {
19212	//       "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\".",
19213	//       "location": "query",
19214	//       "type": "string"
19215	//     },
19216	//     "sortField": {
19217	//       "default": "ID",
19218	//       "description": "Field by which to sort the list.",
19219	//       "enum": [
19220	//         "ID",
19221	//         "NAME"
19222	//       ],
19223	//       "enumDescriptions": [
19224	//         "",
19225	//         ""
19226	//       ],
19227	//       "location": "query",
19228	//       "type": "string"
19229	//     },
19230	//     "sortOrder": {
19231	//       "default": "ASCENDING",
19232	//       "description": "Order of sorted results.",
19233	//       "enum": [
19234	//         "ASCENDING",
19235	//         "DESCENDING"
19236	//       ],
19237	//       "enumDescriptions": [
19238	//         "",
19239	//         ""
19240	//       ],
19241	//       "location": "query",
19242	//       "type": "string"
19243	//     },
19244	//     "subaccountId": {
19245	//       "description": "Select only landing pages that belong to this subaccount.",
19246	//       "format": "int64",
19247	//       "location": "query",
19248	//       "type": "string"
19249	//     }
19250	//   },
19251	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19252	//   "response": {
19253	//     "$ref": "AdvertiserLandingPagesListResponse"
19254	//   },
19255	//   "scopes": [
19256	//     "https://www.googleapis.com/auth/dfatrafficking"
19257	//   ]
19258	// }
19259
19260}
19261
19262// Pages invokes f for each page of results.
19263// A non-nil error returned from f will halt the iteration.
19264// The provided context supersedes any context provided to the Context method.
19265func (c *AdvertiserLandingPagesListCall) Pages(ctx context.Context, f func(*AdvertiserLandingPagesListResponse) error) error {
19266	c.ctx_ = ctx
19267	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
19268	for {
19269		x, err := c.Do()
19270		if err != nil {
19271			return err
19272		}
19273		if err := f(x); err != nil {
19274			return err
19275		}
19276		if x.NextPageToken == "" {
19277			return nil
19278		}
19279		c.PageToken(x.NextPageToken)
19280	}
19281}
19282
19283// method id "dfareporting.advertiserLandingPages.patch":
19284
19285type AdvertiserLandingPagesPatchCall struct {
19286	s           *Service
19287	profileId   int64
19288	landingpage *LandingPage
19289	urlParams_  gensupport.URLParams
19290	ctx_        context.Context
19291	header_     http.Header
19292}
19293
19294// Patch: Updates an existing advertiser landing page. This method
19295// supports patch semantics.
19296//
19297// - id: LandingPage ID.
19298// - profileId: User profile ID associated with this request.
19299func (r *AdvertiserLandingPagesService) Patch(profileId int64, id int64, landingpage *LandingPage) *AdvertiserLandingPagesPatchCall {
19300	c := &AdvertiserLandingPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19301	c.profileId = profileId
19302	c.urlParams_.Set("id", fmt.Sprint(id))
19303	c.landingpage = landingpage
19304	return c
19305}
19306
19307// Fields allows partial responses to be retrieved. See
19308// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19309// for more information.
19310func (c *AdvertiserLandingPagesPatchCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesPatchCall {
19311	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19312	return c
19313}
19314
19315// Context sets the context to be used in this call's Do method. Any
19316// pending HTTP request will be aborted if the provided context is
19317// canceled.
19318func (c *AdvertiserLandingPagesPatchCall) Context(ctx context.Context) *AdvertiserLandingPagesPatchCall {
19319	c.ctx_ = ctx
19320	return c
19321}
19322
19323// Header returns an http.Header that can be modified by the caller to
19324// add HTTP headers to the request.
19325func (c *AdvertiserLandingPagesPatchCall) Header() http.Header {
19326	if c.header_ == nil {
19327		c.header_ = make(http.Header)
19328	}
19329	return c.header_
19330}
19331
19332func (c *AdvertiserLandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
19333	reqHeaders := make(http.Header)
19334	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19335	for k, v := range c.header_ {
19336		reqHeaders[k] = v
19337	}
19338	reqHeaders.Set("User-Agent", c.s.userAgent())
19339	var body io.Reader = nil
19340	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
19341	if err != nil {
19342		return nil, err
19343	}
19344	reqHeaders.Set("Content-Type", "application/json")
19345	c.urlParams_.Set("alt", alt)
19346	c.urlParams_.Set("prettyPrint", "false")
19347	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19348	urls += "?" + c.urlParams_.Encode()
19349	req, err := http.NewRequest("PATCH", urls, body)
19350	if err != nil {
19351		return nil, err
19352	}
19353	req.Header = reqHeaders
19354	googleapi.Expand(req.URL, map[string]string{
19355		"profileId": strconv.FormatInt(c.profileId, 10),
19356	})
19357	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19358}
19359
19360// Do executes the "dfareporting.advertiserLandingPages.patch" call.
19361// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
19362// status code is an error. Response headers are in either
19363// *LandingPage.ServerResponse.Header or (if a response was returned at
19364// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19365// to check whether the returned error was because
19366// http.StatusNotModified was returned.
19367func (c *AdvertiserLandingPagesPatchCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
19368	gensupport.SetOptions(c.urlParams_, opts...)
19369	res, err := c.doRequest("json")
19370	if res != nil && res.StatusCode == http.StatusNotModified {
19371		if res.Body != nil {
19372			res.Body.Close()
19373		}
19374		return nil, &googleapi.Error{
19375			Code:   res.StatusCode,
19376			Header: res.Header,
19377		}
19378	}
19379	if err != nil {
19380		return nil, err
19381	}
19382	defer googleapi.CloseBody(res)
19383	if err := googleapi.CheckResponse(res); err != nil {
19384		return nil, err
19385	}
19386	ret := &LandingPage{
19387		ServerResponse: googleapi.ServerResponse{
19388			Header:         res.Header,
19389			HTTPStatusCode: res.StatusCode,
19390		},
19391	}
19392	target := &ret
19393	if err := gensupport.DecodeResponse(target, res); err != nil {
19394		return nil, err
19395	}
19396	return ret, nil
19397	// {
19398	//   "description": "Updates an existing advertiser landing page. This method supports patch semantics.",
19399	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
19400	//   "httpMethod": "PATCH",
19401	//   "id": "dfareporting.advertiserLandingPages.patch",
19402	//   "parameterOrder": [
19403	//     "profileId",
19404	//     "id"
19405	//   ],
19406	//   "parameters": {
19407	//     "id": {
19408	//       "description": "LandingPage ID.",
19409	//       "format": "int64",
19410	//       "location": "query",
19411	//       "required": true,
19412	//       "type": "string"
19413	//     },
19414	//     "profileId": {
19415	//       "description": "User profile ID associated with this request.",
19416	//       "format": "int64",
19417	//       "location": "path",
19418	//       "required": true,
19419	//       "type": "string"
19420	//     }
19421	//   },
19422	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19423	//   "request": {
19424	//     "$ref": "LandingPage"
19425	//   },
19426	//   "response": {
19427	//     "$ref": "LandingPage"
19428	//   },
19429	//   "scopes": [
19430	//     "https://www.googleapis.com/auth/dfatrafficking"
19431	//   ]
19432	// }
19433
19434}
19435
19436// method id "dfareporting.advertiserLandingPages.update":
19437
19438type AdvertiserLandingPagesUpdateCall struct {
19439	s           *Service
19440	profileId   int64
19441	landingpage *LandingPage
19442	urlParams_  gensupport.URLParams
19443	ctx_        context.Context
19444	header_     http.Header
19445}
19446
19447// Update: Updates an existing landing page.
19448//
19449// - profileId: User profile ID associated with this request.
19450func (r *AdvertiserLandingPagesService) Update(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesUpdateCall {
19451	c := &AdvertiserLandingPagesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19452	c.profileId = profileId
19453	c.landingpage = landingpage
19454	return c
19455}
19456
19457// Fields allows partial responses to be retrieved. See
19458// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19459// for more information.
19460func (c *AdvertiserLandingPagesUpdateCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesUpdateCall {
19461	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19462	return c
19463}
19464
19465// Context sets the context to be used in this call's Do method. Any
19466// pending HTTP request will be aborted if the provided context is
19467// canceled.
19468func (c *AdvertiserLandingPagesUpdateCall) Context(ctx context.Context) *AdvertiserLandingPagesUpdateCall {
19469	c.ctx_ = ctx
19470	return c
19471}
19472
19473// Header returns an http.Header that can be modified by the caller to
19474// add HTTP headers to the request.
19475func (c *AdvertiserLandingPagesUpdateCall) Header() http.Header {
19476	if c.header_ == nil {
19477		c.header_ = make(http.Header)
19478	}
19479	return c.header_
19480}
19481
19482func (c *AdvertiserLandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
19483	reqHeaders := make(http.Header)
19484	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19485	for k, v := range c.header_ {
19486		reqHeaders[k] = v
19487	}
19488	reqHeaders.Set("User-Agent", c.s.userAgent())
19489	var body io.Reader = nil
19490	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
19491	if err != nil {
19492		return nil, err
19493	}
19494	reqHeaders.Set("Content-Type", "application/json")
19495	c.urlParams_.Set("alt", alt)
19496	c.urlParams_.Set("prettyPrint", "false")
19497	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19498	urls += "?" + c.urlParams_.Encode()
19499	req, err := http.NewRequest("PUT", urls, body)
19500	if err != nil {
19501		return nil, err
19502	}
19503	req.Header = reqHeaders
19504	googleapi.Expand(req.URL, map[string]string{
19505		"profileId": strconv.FormatInt(c.profileId, 10),
19506	})
19507	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19508}
19509
19510// Do executes the "dfareporting.advertiserLandingPages.update" call.
19511// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
19512// status code is an error. Response headers are in either
19513// *LandingPage.ServerResponse.Header or (if a response was returned at
19514// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19515// to check whether the returned error was because
19516// http.StatusNotModified was returned.
19517func (c *AdvertiserLandingPagesUpdateCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
19518	gensupport.SetOptions(c.urlParams_, opts...)
19519	res, err := c.doRequest("json")
19520	if res != nil && res.StatusCode == http.StatusNotModified {
19521		if res.Body != nil {
19522			res.Body.Close()
19523		}
19524		return nil, &googleapi.Error{
19525			Code:   res.StatusCode,
19526			Header: res.Header,
19527		}
19528	}
19529	if err != nil {
19530		return nil, err
19531	}
19532	defer googleapi.CloseBody(res)
19533	if err := googleapi.CheckResponse(res); err != nil {
19534		return nil, err
19535	}
19536	ret := &LandingPage{
19537		ServerResponse: googleapi.ServerResponse{
19538			Header:         res.Header,
19539			HTTPStatusCode: res.StatusCode,
19540		},
19541	}
19542	target := &ret
19543	if err := gensupport.DecodeResponse(target, res); err != nil {
19544		return nil, err
19545	}
19546	return ret, nil
19547	// {
19548	//   "description": "Updates an existing landing page.",
19549	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
19550	//   "httpMethod": "PUT",
19551	//   "id": "dfareporting.advertiserLandingPages.update",
19552	//   "parameterOrder": [
19553	//     "profileId"
19554	//   ],
19555	//   "parameters": {
19556	//     "profileId": {
19557	//       "description": "User profile ID associated with this request.",
19558	//       "format": "int64",
19559	//       "location": "path",
19560	//       "required": true,
19561	//       "type": "string"
19562	//     }
19563	//   },
19564	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19565	//   "request": {
19566	//     "$ref": "LandingPage"
19567	//   },
19568	//   "response": {
19569	//     "$ref": "LandingPage"
19570	//   },
19571	//   "scopes": [
19572	//     "https://www.googleapis.com/auth/dfatrafficking"
19573	//   ]
19574	// }
19575
19576}
19577
19578// method id "dfareporting.advertisers.get":
19579
19580type AdvertisersGetCall struct {
19581	s            *Service
19582	profileId    int64
19583	id           int64
19584	urlParams_   gensupport.URLParams
19585	ifNoneMatch_ string
19586	ctx_         context.Context
19587	header_      http.Header
19588}
19589
19590// Get: Gets one advertiser by ID.
19591//
19592// - id: Advertiser ID.
19593// - profileId: User profile ID associated with this request.
19594func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
19595	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19596	c.profileId = profileId
19597	c.id = id
19598	return c
19599}
19600
19601// Fields allows partial responses to be retrieved. See
19602// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19603// for more information.
19604func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
19605	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19606	return c
19607}
19608
19609// IfNoneMatch sets the optional parameter which makes the operation
19610// fail if the object's ETag matches the given value. This is useful for
19611// getting updates only after the object has changed since the last
19612// request. Use googleapi.IsNotModified to check whether the response
19613// error from Do is the result of In-None-Match.
19614func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
19615	c.ifNoneMatch_ = entityTag
19616	return c
19617}
19618
19619// Context sets the context to be used in this call's Do method. Any
19620// pending HTTP request will be aborted if the provided context is
19621// canceled.
19622func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
19623	c.ctx_ = ctx
19624	return c
19625}
19626
19627// Header returns an http.Header that can be modified by the caller to
19628// add HTTP headers to the request.
19629func (c *AdvertisersGetCall) Header() http.Header {
19630	if c.header_ == nil {
19631		c.header_ = make(http.Header)
19632	}
19633	return c.header_
19634}
19635
19636func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
19637	reqHeaders := make(http.Header)
19638	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19639	for k, v := range c.header_ {
19640		reqHeaders[k] = v
19641	}
19642	reqHeaders.Set("User-Agent", c.s.userAgent())
19643	if c.ifNoneMatch_ != "" {
19644		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19645	}
19646	var body io.Reader = nil
19647	c.urlParams_.Set("alt", alt)
19648	c.urlParams_.Set("prettyPrint", "false")
19649	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
19650	urls += "?" + c.urlParams_.Encode()
19651	req, err := http.NewRequest("GET", urls, body)
19652	if err != nil {
19653		return nil, err
19654	}
19655	req.Header = reqHeaders
19656	googleapi.Expand(req.URL, map[string]string{
19657		"profileId": strconv.FormatInt(c.profileId, 10),
19658		"id":        strconv.FormatInt(c.id, 10),
19659	})
19660	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19661}
19662
19663// Do executes the "dfareporting.advertisers.get" call.
19664// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
19665// status code is an error. Response headers are in either
19666// *Advertiser.ServerResponse.Header or (if a response was returned at
19667// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19668// to check whether the returned error was because
19669// http.StatusNotModified was returned.
19670func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
19671	gensupport.SetOptions(c.urlParams_, opts...)
19672	res, err := c.doRequest("json")
19673	if res != nil && res.StatusCode == http.StatusNotModified {
19674		if res.Body != nil {
19675			res.Body.Close()
19676		}
19677		return nil, &googleapi.Error{
19678			Code:   res.StatusCode,
19679			Header: res.Header,
19680		}
19681	}
19682	if err != nil {
19683		return nil, err
19684	}
19685	defer googleapi.CloseBody(res)
19686	if err := googleapi.CheckResponse(res); err != nil {
19687		return nil, err
19688	}
19689	ret := &Advertiser{
19690		ServerResponse: googleapi.ServerResponse{
19691			Header:         res.Header,
19692			HTTPStatusCode: res.StatusCode,
19693		},
19694	}
19695	target := &ret
19696	if err := gensupport.DecodeResponse(target, res); err != nil {
19697		return nil, err
19698	}
19699	return ret, nil
19700	// {
19701	//   "description": "Gets one advertiser by ID.",
19702	//   "flatPath": "userprofiles/{profileId}/advertisers/{id}",
19703	//   "httpMethod": "GET",
19704	//   "id": "dfareporting.advertisers.get",
19705	//   "parameterOrder": [
19706	//     "profileId",
19707	//     "id"
19708	//   ],
19709	//   "parameters": {
19710	//     "id": {
19711	//       "description": "Advertiser ID.",
19712	//       "format": "int64",
19713	//       "location": "path",
19714	//       "required": true,
19715	//       "type": "string"
19716	//     },
19717	//     "profileId": {
19718	//       "description": "User profile ID associated with this request.",
19719	//       "format": "int64",
19720	//       "location": "path",
19721	//       "required": true,
19722	//       "type": "string"
19723	//     }
19724	//   },
19725	//   "path": "userprofiles/{profileId}/advertisers/{id}",
19726	//   "response": {
19727	//     "$ref": "Advertiser"
19728	//   },
19729	//   "scopes": [
19730	//     "https://www.googleapis.com/auth/dfatrafficking"
19731	//   ]
19732	// }
19733
19734}
19735
19736// method id "dfareporting.advertisers.insert":
19737
19738type AdvertisersInsertCall struct {
19739	s          *Service
19740	profileId  int64
19741	advertiser *Advertiser
19742	urlParams_ gensupport.URLParams
19743	ctx_       context.Context
19744	header_    http.Header
19745}
19746
19747// Insert: Inserts a new advertiser.
19748//
19749// - profileId: User profile ID associated with this request.
19750func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
19751	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19752	c.profileId = profileId
19753	c.advertiser = advertiser
19754	return c
19755}
19756
19757// Fields allows partial responses to be retrieved. See
19758// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19759// for more information.
19760func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
19761	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19762	return c
19763}
19764
19765// Context sets the context to be used in this call's Do method. Any
19766// pending HTTP request will be aborted if the provided context is
19767// canceled.
19768func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
19769	c.ctx_ = ctx
19770	return c
19771}
19772
19773// Header returns an http.Header that can be modified by the caller to
19774// add HTTP headers to the request.
19775func (c *AdvertisersInsertCall) Header() http.Header {
19776	if c.header_ == nil {
19777		c.header_ = make(http.Header)
19778	}
19779	return c.header_
19780}
19781
19782func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
19783	reqHeaders := make(http.Header)
19784	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
19785	for k, v := range c.header_ {
19786		reqHeaders[k] = v
19787	}
19788	reqHeaders.Set("User-Agent", c.s.userAgent())
19789	var body io.Reader = nil
19790	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
19791	if err != nil {
19792		return nil, err
19793	}
19794	reqHeaders.Set("Content-Type", "application/json")
19795	c.urlParams_.Set("alt", alt)
19796	c.urlParams_.Set("prettyPrint", "false")
19797	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
19798	urls += "?" + c.urlParams_.Encode()
19799	req, err := http.NewRequest("POST", urls, body)
19800	if err != nil {
19801		return nil, err
19802	}
19803	req.Header = reqHeaders
19804	googleapi.Expand(req.URL, map[string]string{
19805		"profileId": strconv.FormatInt(c.profileId, 10),
19806	})
19807	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19808}
19809
19810// Do executes the "dfareporting.advertisers.insert" call.
19811// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
19812// status code is an error. Response headers are in either
19813// *Advertiser.ServerResponse.Header or (if a response was returned at
19814// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19815// to check whether the returned error was because
19816// http.StatusNotModified was returned.
19817func (c *AdvertisersInsertCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
19818	gensupport.SetOptions(c.urlParams_, opts...)
19819	res, err := c.doRequest("json")
19820	if res != nil && res.StatusCode == http.StatusNotModified {
19821		if res.Body != nil {
19822			res.Body.Close()
19823		}
19824		return nil, &googleapi.Error{
19825			Code:   res.StatusCode,
19826			Header: res.Header,
19827		}
19828	}
19829	if err != nil {
19830		return nil, err
19831	}
19832	defer googleapi.CloseBody(res)
19833	if err := googleapi.CheckResponse(res); err != nil {
19834		return nil, err
19835	}
19836	ret := &Advertiser{
19837		ServerResponse: googleapi.ServerResponse{
19838			Header:         res.Header,
19839			HTTPStatusCode: res.StatusCode,
19840		},
19841	}
19842	target := &ret
19843	if err := gensupport.DecodeResponse(target, res); err != nil {
19844		return nil, err
19845	}
19846	return ret, nil
19847	// {
19848	//   "description": "Inserts a new advertiser.",
19849	//   "flatPath": "userprofiles/{profileId}/advertisers",
19850	//   "httpMethod": "POST",
19851	//   "id": "dfareporting.advertisers.insert",
19852	//   "parameterOrder": [
19853	//     "profileId"
19854	//   ],
19855	//   "parameters": {
19856	//     "profileId": {
19857	//       "description": "User profile ID associated with this request.",
19858	//       "format": "int64",
19859	//       "location": "path",
19860	//       "required": true,
19861	//       "type": "string"
19862	//     }
19863	//   },
19864	//   "path": "userprofiles/{profileId}/advertisers",
19865	//   "request": {
19866	//     "$ref": "Advertiser"
19867	//   },
19868	//   "response": {
19869	//     "$ref": "Advertiser"
19870	//   },
19871	//   "scopes": [
19872	//     "https://www.googleapis.com/auth/dfatrafficking"
19873	//   ]
19874	// }
19875
19876}
19877
19878// method id "dfareporting.advertisers.list":
19879
19880type AdvertisersListCall struct {
19881	s            *Service
19882	profileId    int64
19883	urlParams_   gensupport.URLParams
19884	ifNoneMatch_ string
19885	ctx_         context.Context
19886	header_      http.Header
19887}
19888
19889// List: Retrieves a list of advertisers, possibly filtered. This method
19890// supports paging.
19891//
19892// - profileId: User profile ID associated with this request.
19893func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
19894	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19895	c.profileId = profileId
19896	return c
19897}
19898
19899// AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
19900// Select only advertisers with these advertiser group IDs.
19901func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *AdvertisersListCall {
19902	var advertiserGroupIds_ []string
19903	for _, v := range advertiserGroupIds {
19904		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
19905	}
19906	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
19907	return c
19908}
19909
19910// FloodlightConfigurationIds sets the optional parameter
19911// "floodlightConfigurationIds": Select only advertisers with these
19912// floodlight configuration IDs.
19913func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds ...int64) *AdvertisersListCall {
19914	var floodlightConfigurationIds_ []string
19915	for _, v := range floodlightConfigurationIds {
19916		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprint(v))
19917	}
19918	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
19919	return c
19920}
19921
19922// Ids sets the optional parameter "ids": Select only advertisers with
19923// these IDs.
19924func (c *AdvertisersListCall) Ids(ids ...int64) *AdvertisersListCall {
19925	var ids_ []string
19926	for _, v := range ids {
19927		ids_ = append(ids_, fmt.Sprint(v))
19928	}
19929	c.urlParams_.SetMulti("ids", ids_)
19930	return c
19931}
19932
19933// IncludeAdvertisersWithoutGroupsOnly sets the optional parameter
19934// "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
19935// do not belong to any advertiser group.
19936func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
19937	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprint(includeAdvertisersWithoutGroupsOnly))
19938	return c
19939}
19940
19941// MaxResults sets the optional parameter "maxResults": Maximum number
19942// of results to return.
19943func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
19944	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
19945	return c
19946}
19947
19948// OnlyParent sets the optional parameter "onlyParent": Select only
19949// advertisers which use another advertiser's floodlight configuration.
19950func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
19951	c.urlParams_.Set("onlyParent", fmt.Sprint(onlyParent))
19952	return c
19953}
19954
19955// PageToken sets the optional parameter "pageToken": Value of the
19956// nextPageToken from the previous result page.
19957func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
19958	c.urlParams_.Set("pageToken", pageToken)
19959	return c
19960}
19961
19962// SearchString sets the optional parameter "searchString": Allows
19963// searching for objects by name or ID. Wildcards (*) are allowed. For
19964// example, "advertiser*2015" will return objects with names like
19965// "advertiser June 2015", "advertiser April 2015", or simply
19966// "advertiser 2015". Most of the searches also add wildcards implicitly
19967// at the start and the end of the search string. For example, a search
19968// string of "advertiser" will match objects with name "my advertiser",
19969// "advertiser 2015", or simply "advertiser" .
19970func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
19971	c.urlParams_.Set("searchString", searchString)
19972	return c
19973}
19974
19975// SortField sets the optional parameter "sortField": Field by which to
19976// sort the list.
19977//
19978// Possible values:
19979//   "ID" (default)
19980//   "NAME"
19981func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
19982	c.urlParams_.Set("sortField", sortField)
19983	return c
19984}
19985
19986// SortOrder sets the optional parameter "sortOrder": Order of sorted
19987// results.
19988//
19989// Possible values:
19990//   "ASCENDING" (default)
19991//   "DESCENDING"
19992func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
19993	c.urlParams_.Set("sortOrder", sortOrder)
19994	return c
19995}
19996
19997// Status sets the optional parameter "status": Select only advertisers
19998// with the specified status.
19999//
20000// Possible values:
20001//   "APPROVED"
20002//   "ON_HOLD"
20003func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
20004	c.urlParams_.Set("status", status)
20005	return c
20006}
20007
20008// SubaccountId sets the optional parameter "subaccountId": Select only
20009// advertisers with these subaccount IDs.
20010func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
20011	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
20012	return c
20013}
20014
20015// Fields allows partial responses to be retrieved. See
20016// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20017// for more information.
20018func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
20019	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20020	return c
20021}
20022
20023// IfNoneMatch sets the optional parameter which makes the operation
20024// fail if the object's ETag matches the given value. This is useful for
20025// getting updates only after the object has changed since the last
20026// request. Use googleapi.IsNotModified to check whether the response
20027// error from Do is the result of In-None-Match.
20028func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
20029	c.ifNoneMatch_ = entityTag
20030	return c
20031}
20032
20033// Context sets the context to be used in this call's Do method. Any
20034// pending HTTP request will be aborted if the provided context is
20035// canceled.
20036func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
20037	c.ctx_ = ctx
20038	return c
20039}
20040
20041// Header returns an http.Header that can be modified by the caller to
20042// add HTTP headers to the request.
20043func (c *AdvertisersListCall) Header() http.Header {
20044	if c.header_ == nil {
20045		c.header_ = make(http.Header)
20046	}
20047	return c.header_
20048}
20049
20050func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
20051	reqHeaders := make(http.Header)
20052	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20053	for k, v := range c.header_ {
20054		reqHeaders[k] = v
20055	}
20056	reqHeaders.Set("User-Agent", c.s.userAgent())
20057	if c.ifNoneMatch_ != "" {
20058		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20059	}
20060	var body io.Reader = nil
20061	c.urlParams_.Set("alt", alt)
20062	c.urlParams_.Set("prettyPrint", "false")
20063	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20064	urls += "?" + c.urlParams_.Encode()
20065	req, err := http.NewRequest("GET", urls, body)
20066	if err != nil {
20067		return nil, err
20068	}
20069	req.Header = reqHeaders
20070	googleapi.Expand(req.URL, map[string]string{
20071		"profileId": strconv.FormatInt(c.profileId, 10),
20072	})
20073	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20074}
20075
20076// Do executes the "dfareporting.advertisers.list" call.
20077// Exactly one of *AdvertisersListResponse or error will be non-nil. Any
20078// non-2xx status code is an error. Response headers are in either
20079// *AdvertisersListResponse.ServerResponse.Header or (if a response was
20080// returned at all) in error.(*googleapi.Error).Header. Use
20081// googleapi.IsNotModified to check whether the returned error was
20082// because http.StatusNotModified was returned.
20083func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*AdvertisersListResponse, error) {
20084	gensupport.SetOptions(c.urlParams_, opts...)
20085	res, err := c.doRequest("json")
20086	if res != nil && res.StatusCode == http.StatusNotModified {
20087		if res.Body != nil {
20088			res.Body.Close()
20089		}
20090		return nil, &googleapi.Error{
20091			Code:   res.StatusCode,
20092			Header: res.Header,
20093		}
20094	}
20095	if err != nil {
20096		return nil, err
20097	}
20098	defer googleapi.CloseBody(res)
20099	if err := googleapi.CheckResponse(res); err != nil {
20100		return nil, err
20101	}
20102	ret := &AdvertisersListResponse{
20103		ServerResponse: googleapi.ServerResponse{
20104			Header:         res.Header,
20105			HTTPStatusCode: res.StatusCode,
20106		},
20107	}
20108	target := &ret
20109	if err := gensupport.DecodeResponse(target, res); err != nil {
20110		return nil, err
20111	}
20112	return ret, nil
20113	// {
20114	//   "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
20115	//   "flatPath": "userprofiles/{profileId}/advertisers",
20116	//   "httpMethod": "GET",
20117	//   "id": "dfareporting.advertisers.list",
20118	//   "parameterOrder": [
20119	//     "profileId"
20120	//   ],
20121	//   "parameters": {
20122	//     "advertiserGroupIds": {
20123	//       "description": "Select only advertisers with these advertiser group IDs.",
20124	//       "format": "int64",
20125	//       "location": "query",
20126	//       "repeated": true,
20127	//       "type": "string"
20128	//     },
20129	//     "floodlightConfigurationIds": {
20130	//       "description": "Select only advertisers with these floodlight configuration IDs.",
20131	//       "format": "int64",
20132	//       "location": "query",
20133	//       "repeated": true,
20134	//       "type": "string"
20135	//     },
20136	//     "ids": {
20137	//       "description": "Select only advertisers with these IDs.",
20138	//       "format": "int64",
20139	//       "location": "query",
20140	//       "repeated": true,
20141	//       "type": "string"
20142	//     },
20143	//     "includeAdvertisersWithoutGroupsOnly": {
20144	//       "description": "Select only advertisers which do not belong to any advertiser group.",
20145	//       "location": "query",
20146	//       "type": "boolean"
20147	//     },
20148	//     "maxResults": {
20149	//       "default": "1000",
20150	//       "description": "Maximum number of results to return.",
20151	//       "format": "int32",
20152	//       "location": "query",
20153	//       "maximum": "1000",
20154	//       "minimum": "0",
20155	//       "type": "integer"
20156	//     },
20157	//     "onlyParent": {
20158	//       "description": "Select only advertisers which use another advertiser's floodlight configuration.",
20159	//       "location": "query",
20160	//       "type": "boolean"
20161	//     },
20162	//     "pageToken": {
20163	//       "description": "Value of the nextPageToken from the previous result page.",
20164	//       "location": "query",
20165	//       "type": "string"
20166	//     },
20167	//     "profileId": {
20168	//       "description": "User profile ID associated with this request.",
20169	//       "format": "int64",
20170	//       "location": "path",
20171	//       "required": true,
20172	//       "type": "string"
20173	//     },
20174	//     "searchString": {
20175	//       "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\" .",
20176	//       "location": "query",
20177	//       "type": "string"
20178	//     },
20179	//     "sortField": {
20180	//       "default": "ID",
20181	//       "description": "Field by which to sort the list.",
20182	//       "enum": [
20183	//         "ID",
20184	//         "NAME"
20185	//       ],
20186	//       "enumDescriptions": [
20187	//         "",
20188	//         ""
20189	//       ],
20190	//       "location": "query",
20191	//       "type": "string"
20192	//     },
20193	//     "sortOrder": {
20194	//       "default": "ASCENDING",
20195	//       "description": "Order of sorted results.",
20196	//       "enum": [
20197	//         "ASCENDING",
20198	//         "DESCENDING"
20199	//       ],
20200	//       "enumDescriptions": [
20201	//         "",
20202	//         ""
20203	//       ],
20204	//       "location": "query",
20205	//       "type": "string"
20206	//     },
20207	//     "status": {
20208	//       "description": "Select only advertisers with the specified status.",
20209	//       "enum": [
20210	//         "APPROVED",
20211	//         "ON_HOLD"
20212	//       ],
20213	//       "enumDescriptions": [
20214	//         "",
20215	//         ""
20216	//       ],
20217	//       "location": "query",
20218	//       "type": "string"
20219	//     },
20220	//     "subaccountId": {
20221	//       "description": "Select only advertisers with these subaccount IDs.",
20222	//       "format": "int64",
20223	//       "location": "query",
20224	//       "type": "string"
20225	//     }
20226	//   },
20227	//   "path": "userprofiles/{profileId}/advertisers",
20228	//   "response": {
20229	//     "$ref": "AdvertisersListResponse"
20230	//   },
20231	//   "scopes": [
20232	//     "https://www.googleapis.com/auth/dfatrafficking"
20233	//   ]
20234	// }
20235
20236}
20237
20238// Pages invokes f for each page of results.
20239// A non-nil error returned from f will halt the iteration.
20240// The provided context supersedes any context provided to the Context method.
20241func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*AdvertisersListResponse) error) error {
20242	c.ctx_ = ctx
20243	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20244	for {
20245		x, err := c.Do()
20246		if err != nil {
20247			return err
20248		}
20249		if err := f(x); err != nil {
20250			return err
20251		}
20252		if x.NextPageToken == "" {
20253			return nil
20254		}
20255		c.PageToken(x.NextPageToken)
20256	}
20257}
20258
20259// method id "dfareporting.advertisers.patch":
20260
20261type AdvertisersPatchCall struct {
20262	s          *Service
20263	profileId  int64
20264	advertiser *Advertiser
20265	urlParams_ gensupport.URLParams
20266	ctx_       context.Context
20267	header_    http.Header
20268}
20269
20270// Patch: Updates an existing advertiser. This method supports patch
20271// semantics.
20272//
20273// - id: Advertiser ID.
20274// - profileId: User profile ID associated with this request.
20275func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
20276	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20277	c.profileId = profileId
20278	c.urlParams_.Set("id", fmt.Sprint(id))
20279	c.advertiser = advertiser
20280	return c
20281}
20282
20283// Fields allows partial responses to be retrieved. See
20284// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20285// for more information.
20286func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
20287	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20288	return c
20289}
20290
20291// Context sets the context to be used in this call's Do method. Any
20292// pending HTTP request will be aborted if the provided context is
20293// canceled.
20294func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
20295	c.ctx_ = ctx
20296	return c
20297}
20298
20299// Header returns an http.Header that can be modified by the caller to
20300// add HTTP headers to the request.
20301func (c *AdvertisersPatchCall) Header() http.Header {
20302	if c.header_ == nil {
20303		c.header_ = make(http.Header)
20304	}
20305	return c.header_
20306}
20307
20308func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
20309	reqHeaders := make(http.Header)
20310	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20311	for k, v := range c.header_ {
20312		reqHeaders[k] = v
20313	}
20314	reqHeaders.Set("User-Agent", c.s.userAgent())
20315	var body io.Reader = nil
20316	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
20317	if err != nil {
20318		return nil, err
20319	}
20320	reqHeaders.Set("Content-Type", "application/json")
20321	c.urlParams_.Set("alt", alt)
20322	c.urlParams_.Set("prettyPrint", "false")
20323	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20324	urls += "?" + c.urlParams_.Encode()
20325	req, err := http.NewRequest("PATCH", urls, body)
20326	if err != nil {
20327		return nil, err
20328	}
20329	req.Header = reqHeaders
20330	googleapi.Expand(req.URL, map[string]string{
20331		"profileId": strconv.FormatInt(c.profileId, 10),
20332	})
20333	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20334}
20335
20336// Do executes the "dfareporting.advertisers.patch" call.
20337// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
20338// status code is an error. Response headers are in either
20339// *Advertiser.ServerResponse.Header or (if a response was returned at
20340// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20341// to check whether the returned error was because
20342// http.StatusNotModified was returned.
20343func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
20344	gensupport.SetOptions(c.urlParams_, opts...)
20345	res, err := c.doRequest("json")
20346	if res != nil && res.StatusCode == http.StatusNotModified {
20347		if res.Body != nil {
20348			res.Body.Close()
20349		}
20350		return nil, &googleapi.Error{
20351			Code:   res.StatusCode,
20352			Header: res.Header,
20353		}
20354	}
20355	if err != nil {
20356		return nil, err
20357	}
20358	defer googleapi.CloseBody(res)
20359	if err := googleapi.CheckResponse(res); err != nil {
20360		return nil, err
20361	}
20362	ret := &Advertiser{
20363		ServerResponse: googleapi.ServerResponse{
20364			Header:         res.Header,
20365			HTTPStatusCode: res.StatusCode,
20366		},
20367	}
20368	target := &ret
20369	if err := gensupport.DecodeResponse(target, res); err != nil {
20370		return nil, err
20371	}
20372	return ret, nil
20373	// {
20374	//   "description": "Updates an existing advertiser. This method supports patch semantics.",
20375	//   "flatPath": "userprofiles/{profileId}/advertisers",
20376	//   "httpMethod": "PATCH",
20377	//   "id": "dfareporting.advertisers.patch",
20378	//   "parameterOrder": [
20379	//     "profileId",
20380	//     "id"
20381	//   ],
20382	//   "parameters": {
20383	//     "id": {
20384	//       "description": "Advertiser ID.",
20385	//       "format": "int64",
20386	//       "location": "query",
20387	//       "required": true,
20388	//       "type": "string"
20389	//     },
20390	//     "profileId": {
20391	//       "description": "User profile ID associated with this request.",
20392	//       "format": "int64",
20393	//       "location": "path",
20394	//       "required": true,
20395	//       "type": "string"
20396	//     }
20397	//   },
20398	//   "path": "userprofiles/{profileId}/advertisers",
20399	//   "request": {
20400	//     "$ref": "Advertiser"
20401	//   },
20402	//   "response": {
20403	//     "$ref": "Advertiser"
20404	//   },
20405	//   "scopes": [
20406	//     "https://www.googleapis.com/auth/dfatrafficking"
20407	//   ]
20408	// }
20409
20410}
20411
20412// method id "dfareporting.advertisers.update":
20413
20414type AdvertisersUpdateCall struct {
20415	s          *Service
20416	profileId  int64
20417	advertiser *Advertiser
20418	urlParams_ gensupport.URLParams
20419	ctx_       context.Context
20420	header_    http.Header
20421}
20422
20423// Update: Updates an existing advertiser.
20424//
20425// - profileId: User profile ID associated with this request.
20426func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
20427	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20428	c.profileId = profileId
20429	c.advertiser = advertiser
20430	return c
20431}
20432
20433// Fields allows partial responses to be retrieved. See
20434// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20435// for more information.
20436func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
20437	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20438	return c
20439}
20440
20441// Context sets the context to be used in this call's Do method. Any
20442// pending HTTP request will be aborted if the provided context is
20443// canceled.
20444func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
20445	c.ctx_ = ctx
20446	return c
20447}
20448
20449// Header returns an http.Header that can be modified by the caller to
20450// add HTTP headers to the request.
20451func (c *AdvertisersUpdateCall) Header() http.Header {
20452	if c.header_ == nil {
20453		c.header_ = make(http.Header)
20454	}
20455	return c.header_
20456}
20457
20458func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
20459	reqHeaders := make(http.Header)
20460	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20461	for k, v := range c.header_ {
20462		reqHeaders[k] = v
20463	}
20464	reqHeaders.Set("User-Agent", c.s.userAgent())
20465	var body io.Reader = nil
20466	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
20467	if err != nil {
20468		return nil, err
20469	}
20470	reqHeaders.Set("Content-Type", "application/json")
20471	c.urlParams_.Set("alt", alt)
20472	c.urlParams_.Set("prettyPrint", "false")
20473	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20474	urls += "?" + c.urlParams_.Encode()
20475	req, err := http.NewRequest("PUT", urls, body)
20476	if err != nil {
20477		return nil, err
20478	}
20479	req.Header = reqHeaders
20480	googleapi.Expand(req.URL, map[string]string{
20481		"profileId": strconv.FormatInt(c.profileId, 10),
20482	})
20483	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20484}
20485
20486// Do executes the "dfareporting.advertisers.update" call.
20487// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
20488// status code is an error. Response headers are in either
20489// *Advertiser.ServerResponse.Header or (if a response was returned at
20490// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20491// to check whether the returned error was because
20492// http.StatusNotModified was returned.
20493func (c *AdvertisersUpdateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
20494	gensupport.SetOptions(c.urlParams_, opts...)
20495	res, err := c.doRequest("json")
20496	if res != nil && res.StatusCode == http.StatusNotModified {
20497		if res.Body != nil {
20498			res.Body.Close()
20499		}
20500		return nil, &googleapi.Error{
20501			Code:   res.StatusCode,
20502			Header: res.Header,
20503		}
20504	}
20505	if err != nil {
20506		return nil, err
20507	}
20508	defer googleapi.CloseBody(res)
20509	if err := googleapi.CheckResponse(res); err != nil {
20510		return nil, err
20511	}
20512	ret := &Advertiser{
20513		ServerResponse: googleapi.ServerResponse{
20514			Header:         res.Header,
20515			HTTPStatusCode: res.StatusCode,
20516		},
20517	}
20518	target := &ret
20519	if err := gensupport.DecodeResponse(target, res); err != nil {
20520		return nil, err
20521	}
20522	return ret, nil
20523	// {
20524	//   "description": "Updates an existing advertiser.",
20525	//   "flatPath": "userprofiles/{profileId}/advertisers",
20526	//   "httpMethod": "PUT",
20527	//   "id": "dfareporting.advertisers.update",
20528	//   "parameterOrder": [
20529	//     "profileId"
20530	//   ],
20531	//   "parameters": {
20532	//     "profileId": {
20533	//       "description": "User profile ID associated with this request.",
20534	//       "format": "int64",
20535	//       "location": "path",
20536	//       "required": true,
20537	//       "type": "string"
20538	//     }
20539	//   },
20540	//   "path": "userprofiles/{profileId}/advertisers",
20541	//   "request": {
20542	//     "$ref": "Advertiser"
20543	//   },
20544	//   "response": {
20545	//     "$ref": "Advertiser"
20546	//   },
20547	//   "scopes": [
20548	//     "https://www.googleapis.com/auth/dfatrafficking"
20549	//   ]
20550	// }
20551
20552}
20553
20554// method id "dfareporting.browsers.list":
20555
20556type BrowsersListCall struct {
20557	s            *Service
20558	profileId    int64
20559	urlParams_   gensupport.URLParams
20560	ifNoneMatch_ string
20561	ctx_         context.Context
20562	header_      http.Header
20563}
20564
20565// List: Retrieves a list of browsers.
20566//
20567// - profileId: User profile ID associated with this request.
20568func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
20569	c := &BrowsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20570	c.profileId = profileId
20571	return c
20572}
20573
20574// Fields allows partial responses to be retrieved. See
20575// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20576// for more information.
20577func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
20578	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20579	return c
20580}
20581
20582// IfNoneMatch sets the optional parameter which makes the operation
20583// fail if the object's ETag matches the given value. This is useful for
20584// getting updates only after the object has changed since the last
20585// request. Use googleapi.IsNotModified to check whether the response
20586// error from Do is the result of In-None-Match.
20587func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
20588	c.ifNoneMatch_ = entityTag
20589	return c
20590}
20591
20592// Context sets the context to be used in this call's Do method. Any
20593// pending HTTP request will be aborted if the provided context is
20594// canceled.
20595func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
20596	c.ctx_ = ctx
20597	return c
20598}
20599
20600// Header returns an http.Header that can be modified by the caller to
20601// add HTTP headers to the request.
20602func (c *BrowsersListCall) Header() http.Header {
20603	if c.header_ == nil {
20604		c.header_ = make(http.Header)
20605	}
20606	return c.header_
20607}
20608
20609func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
20610	reqHeaders := make(http.Header)
20611	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20612	for k, v := range c.header_ {
20613		reqHeaders[k] = v
20614	}
20615	reqHeaders.Set("User-Agent", c.s.userAgent())
20616	if c.ifNoneMatch_ != "" {
20617		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20618	}
20619	var body io.Reader = nil
20620	c.urlParams_.Set("alt", alt)
20621	c.urlParams_.Set("prettyPrint", "false")
20622	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
20623	urls += "?" + c.urlParams_.Encode()
20624	req, err := http.NewRequest("GET", urls, body)
20625	if err != nil {
20626		return nil, err
20627	}
20628	req.Header = reqHeaders
20629	googleapi.Expand(req.URL, map[string]string{
20630		"profileId": strconv.FormatInt(c.profileId, 10),
20631	})
20632	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20633}
20634
20635// Do executes the "dfareporting.browsers.list" call.
20636// Exactly one of *BrowsersListResponse or error will be non-nil. Any
20637// non-2xx status code is an error. Response headers are in either
20638// *BrowsersListResponse.ServerResponse.Header or (if a response was
20639// returned at all) in error.(*googleapi.Error).Header. Use
20640// googleapi.IsNotModified to check whether the returned error was
20641// because http.StatusNotModified was returned.
20642func (c *BrowsersListCall) Do(opts ...googleapi.CallOption) (*BrowsersListResponse, error) {
20643	gensupport.SetOptions(c.urlParams_, opts...)
20644	res, err := c.doRequest("json")
20645	if res != nil && res.StatusCode == http.StatusNotModified {
20646		if res.Body != nil {
20647			res.Body.Close()
20648		}
20649		return nil, &googleapi.Error{
20650			Code:   res.StatusCode,
20651			Header: res.Header,
20652		}
20653	}
20654	if err != nil {
20655		return nil, err
20656	}
20657	defer googleapi.CloseBody(res)
20658	if err := googleapi.CheckResponse(res); err != nil {
20659		return nil, err
20660	}
20661	ret := &BrowsersListResponse{
20662		ServerResponse: googleapi.ServerResponse{
20663			Header:         res.Header,
20664			HTTPStatusCode: res.StatusCode,
20665		},
20666	}
20667	target := &ret
20668	if err := gensupport.DecodeResponse(target, res); err != nil {
20669		return nil, err
20670	}
20671	return ret, nil
20672	// {
20673	//   "description": "Retrieves a list of browsers.",
20674	//   "flatPath": "userprofiles/{profileId}/browsers",
20675	//   "httpMethod": "GET",
20676	//   "id": "dfareporting.browsers.list",
20677	//   "parameterOrder": [
20678	//     "profileId"
20679	//   ],
20680	//   "parameters": {
20681	//     "profileId": {
20682	//       "description": "User profile ID associated with this request.",
20683	//       "format": "int64",
20684	//       "location": "path",
20685	//       "required": true,
20686	//       "type": "string"
20687	//     }
20688	//   },
20689	//   "path": "userprofiles/{profileId}/browsers",
20690	//   "response": {
20691	//     "$ref": "BrowsersListResponse"
20692	//   },
20693	//   "scopes": [
20694	//     "https://www.googleapis.com/auth/dfatrafficking"
20695	//   ]
20696	// }
20697
20698}
20699
20700// method id "dfareporting.campaignCreativeAssociations.insert":
20701
20702type CampaignCreativeAssociationsInsertCall struct {
20703	s                           *Service
20704	profileId                   int64
20705	campaignId                  int64
20706	campaigncreativeassociation *CampaignCreativeAssociation
20707	urlParams_                  gensupport.URLParams
20708	ctx_                        context.Context
20709	header_                     http.Header
20710}
20711
20712// Insert: Associates a creative with the specified campaign. This
20713// method creates a default ad with dimensions matching the creative in
20714// the campaign if such a default ad does not exist already.
20715//
20716// - campaignId: Campaign ID in this association.
20717// - profileId: User profile ID associated with this request.
20718func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
20719	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20720	c.profileId = profileId
20721	c.campaignId = campaignId
20722	c.campaigncreativeassociation = campaigncreativeassociation
20723	return c
20724}
20725
20726// Fields allows partial responses to be retrieved. See
20727// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20728// for more information.
20729func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
20730	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20731	return c
20732}
20733
20734// Context sets the context to be used in this call's Do method. Any
20735// pending HTTP request will be aborted if the provided context is
20736// canceled.
20737func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
20738	c.ctx_ = ctx
20739	return c
20740}
20741
20742// Header returns an http.Header that can be modified by the caller to
20743// add HTTP headers to the request.
20744func (c *CampaignCreativeAssociationsInsertCall) Header() http.Header {
20745	if c.header_ == nil {
20746		c.header_ = make(http.Header)
20747	}
20748	return c.header_
20749}
20750
20751func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
20752	reqHeaders := make(http.Header)
20753	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20754	for k, v := range c.header_ {
20755		reqHeaders[k] = v
20756	}
20757	reqHeaders.Set("User-Agent", c.s.userAgent())
20758	var body io.Reader = nil
20759	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaigncreativeassociation)
20760	if err != nil {
20761		return nil, err
20762	}
20763	reqHeaders.Set("Content-Type", "application/json")
20764	c.urlParams_.Set("alt", alt)
20765	c.urlParams_.Set("prettyPrint", "false")
20766	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
20767	urls += "?" + c.urlParams_.Encode()
20768	req, err := http.NewRequest("POST", urls, body)
20769	if err != nil {
20770		return nil, err
20771	}
20772	req.Header = reqHeaders
20773	googleapi.Expand(req.URL, map[string]string{
20774		"profileId":  strconv.FormatInt(c.profileId, 10),
20775		"campaignId": strconv.FormatInt(c.campaignId, 10),
20776	})
20777	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20778}
20779
20780// Do executes the "dfareporting.campaignCreativeAssociations.insert" call.
20781// Exactly one of *CampaignCreativeAssociation or error will be non-nil.
20782// Any non-2xx status code is an error. Response headers are in either
20783// *CampaignCreativeAssociation.ServerResponse.Header or (if a response
20784// was returned at all) in error.(*googleapi.Error).Header. Use
20785// googleapi.IsNotModified to check whether the returned error was
20786// because http.StatusNotModified was returned.
20787func (c *CampaignCreativeAssociationsInsertCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociation, error) {
20788	gensupport.SetOptions(c.urlParams_, opts...)
20789	res, err := c.doRequest("json")
20790	if res != nil && res.StatusCode == http.StatusNotModified {
20791		if res.Body != nil {
20792			res.Body.Close()
20793		}
20794		return nil, &googleapi.Error{
20795			Code:   res.StatusCode,
20796			Header: res.Header,
20797		}
20798	}
20799	if err != nil {
20800		return nil, err
20801	}
20802	defer googleapi.CloseBody(res)
20803	if err := googleapi.CheckResponse(res); err != nil {
20804		return nil, err
20805	}
20806	ret := &CampaignCreativeAssociation{
20807		ServerResponse: googleapi.ServerResponse{
20808			Header:         res.Header,
20809			HTTPStatusCode: res.StatusCode,
20810		},
20811	}
20812	target := &ret
20813	if err := gensupport.DecodeResponse(target, res); err != nil {
20814		return nil, err
20815	}
20816	return ret, nil
20817	// {
20818	//   "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.",
20819	//   "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
20820	//   "httpMethod": "POST",
20821	//   "id": "dfareporting.campaignCreativeAssociations.insert",
20822	//   "parameterOrder": [
20823	//     "profileId",
20824	//     "campaignId"
20825	//   ],
20826	//   "parameters": {
20827	//     "campaignId": {
20828	//       "description": "Campaign ID in this association.",
20829	//       "format": "int64",
20830	//       "location": "path",
20831	//       "required": true,
20832	//       "type": "string"
20833	//     },
20834	//     "profileId": {
20835	//       "description": "User profile ID associated with this request.",
20836	//       "format": "int64",
20837	//       "location": "path",
20838	//       "required": true,
20839	//       "type": "string"
20840	//     }
20841	//   },
20842	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
20843	//   "request": {
20844	//     "$ref": "CampaignCreativeAssociation"
20845	//   },
20846	//   "response": {
20847	//     "$ref": "CampaignCreativeAssociation"
20848	//   },
20849	//   "scopes": [
20850	//     "https://www.googleapis.com/auth/dfatrafficking"
20851	//   ]
20852	// }
20853
20854}
20855
20856// method id "dfareporting.campaignCreativeAssociations.list":
20857
20858type CampaignCreativeAssociationsListCall struct {
20859	s            *Service
20860	profileId    int64
20861	campaignId   int64
20862	urlParams_   gensupport.URLParams
20863	ifNoneMatch_ string
20864	ctx_         context.Context
20865	header_      http.Header
20866}
20867
20868// List: Retrieves the list of creative IDs associated with the
20869// specified campaign. This method supports paging.
20870//
20871// - campaignId: Campaign ID in this association.
20872// - profileId: User profile ID associated with this request.
20873func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
20874	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20875	c.profileId = profileId
20876	c.campaignId = campaignId
20877	return c
20878}
20879
20880// MaxResults sets the optional parameter "maxResults": Maximum number
20881// of results to return.
20882func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
20883	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
20884	return c
20885}
20886
20887// PageToken sets the optional parameter "pageToken": Value of the
20888// nextPageToken from the previous result page.
20889func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
20890	c.urlParams_.Set("pageToken", pageToken)
20891	return c
20892}
20893
20894// SortOrder sets the optional parameter "sortOrder": Order of sorted
20895// results.
20896//
20897// Possible values:
20898//   "ASCENDING" (default)
20899//   "DESCENDING"
20900func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
20901	c.urlParams_.Set("sortOrder", sortOrder)
20902	return c
20903}
20904
20905// Fields allows partial responses to be retrieved. See
20906// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20907// for more information.
20908func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
20909	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20910	return c
20911}
20912
20913// IfNoneMatch sets the optional parameter which makes the operation
20914// fail if the object's ETag matches the given value. This is useful for
20915// getting updates only after the object has changed since the last
20916// request. Use googleapi.IsNotModified to check whether the response
20917// error from Do is the result of In-None-Match.
20918func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
20919	c.ifNoneMatch_ = entityTag
20920	return c
20921}
20922
20923// Context sets the context to be used in this call's Do method. Any
20924// pending HTTP request will be aborted if the provided context is
20925// canceled.
20926func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
20927	c.ctx_ = ctx
20928	return c
20929}
20930
20931// Header returns an http.Header that can be modified by the caller to
20932// add HTTP headers to the request.
20933func (c *CampaignCreativeAssociationsListCall) Header() http.Header {
20934	if c.header_ == nil {
20935		c.header_ = make(http.Header)
20936	}
20937	return c.header_
20938}
20939
20940func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
20941	reqHeaders := make(http.Header)
20942	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
20943	for k, v := range c.header_ {
20944		reqHeaders[k] = v
20945	}
20946	reqHeaders.Set("User-Agent", c.s.userAgent())
20947	if c.ifNoneMatch_ != "" {
20948		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20949	}
20950	var body io.Reader = nil
20951	c.urlParams_.Set("alt", alt)
20952	c.urlParams_.Set("prettyPrint", "false")
20953	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
20954	urls += "?" + c.urlParams_.Encode()
20955	req, err := http.NewRequest("GET", urls, body)
20956	if err != nil {
20957		return nil, err
20958	}
20959	req.Header = reqHeaders
20960	googleapi.Expand(req.URL, map[string]string{
20961		"profileId":  strconv.FormatInt(c.profileId, 10),
20962		"campaignId": strconv.FormatInt(c.campaignId, 10),
20963	})
20964	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20965}
20966
20967// Do executes the "dfareporting.campaignCreativeAssociations.list" call.
20968// Exactly one of *CampaignCreativeAssociationsListResponse or error
20969// will be non-nil. Any non-2xx status code is an error. Response
20970// headers are in either
20971// *CampaignCreativeAssociationsListResponse.ServerResponse.Header or
20972// (if a response was returned at all) in
20973// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20974// whether the returned error was because http.StatusNotModified was
20975// returned.
20976func (c *CampaignCreativeAssociationsListCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociationsListResponse, error) {
20977	gensupport.SetOptions(c.urlParams_, opts...)
20978	res, err := c.doRequest("json")
20979	if res != nil && res.StatusCode == http.StatusNotModified {
20980		if res.Body != nil {
20981			res.Body.Close()
20982		}
20983		return nil, &googleapi.Error{
20984			Code:   res.StatusCode,
20985			Header: res.Header,
20986		}
20987	}
20988	if err != nil {
20989		return nil, err
20990	}
20991	defer googleapi.CloseBody(res)
20992	if err := googleapi.CheckResponse(res); err != nil {
20993		return nil, err
20994	}
20995	ret := &CampaignCreativeAssociationsListResponse{
20996		ServerResponse: googleapi.ServerResponse{
20997			Header:         res.Header,
20998			HTTPStatusCode: res.StatusCode,
20999		},
21000	}
21001	target := &ret
21002	if err := gensupport.DecodeResponse(target, res); err != nil {
21003		return nil, err
21004	}
21005	return ret, nil
21006	// {
21007	//   "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
21008	//   "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
21009	//   "httpMethod": "GET",
21010	//   "id": "dfareporting.campaignCreativeAssociations.list",
21011	//   "parameterOrder": [
21012	//     "profileId",
21013	//     "campaignId"
21014	//   ],
21015	//   "parameters": {
21016	//     "campaignId": {
21017	//       "description": "Campaign ID in this association.",
21018	//       "format": "int64",
21019	//       "location": "path",
21020	//       "required": true,
21021	//       "type": "string"
21022	//     },
21023	//     "maxResults": {
21024	//       "default": "1000",
21025	//       "description": "Maximum number of results to return.",
21026	//       "format": "int32",
21027	//       "location": "query",
21028	//       "maximum": "1000",
21029	//       "minimum": "0",
21030	//       "type": "integer"
21031	//     },
21032	//     "pageToken": {
21033	//       "description": "Value of the nextPageToken from the previous result page.",
21034	//       "location": "query",
21035	//       "type": "string"
21036	//     },
21037	//     "profileId": {
21038	//       "description": "User profile ID associated with this request.",
21039	//       "format": "int64",
21040	//       "location": "path",
21041	//       "required": true,
21042	//       "type": "string"
21043	//     },
21044	//     "sortOrder": {
21045	//       "default": "ASCENDING",
21046	//       "description": "Order of sorted results.",
21047	//       "enum": [
21048	//         "ASCENDING",
21049	//         "DESCENDING"
21050	//       ],
21051	//       "enumDescriptions": [
21052	//         "",
21053	//         ""
21054	//       ],
21055	//       "location": "query",
21056	//       "type": "string"
21057	//     }
21058	//   },
21059	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
21060	//   "response": {
21061	//     "$ref": "CampaignCreativeAssociationsListResponse"
21062	//   },
21063	//   "scopes": [
21064	//     "https://www.googleapis.com/auth/dfatrafficking"
21065	//   ]
21066	// }
21067
21068}
21069
21070// Pages invokes f for each page of results.
21071// A non-nil error returned from f will halt the iteration.
21072// The provided context supersedes any context provided to the Context method.
21073func (c *CampaignCreativeAssociationsListCall) Pages(ctx context.Context, f func(*CampaignCreativeAssociationsListResponse) error) error {
21074	c.ctx_ = ctx
21075	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21076	for {
21077		x, err := c.Do()
21078		if err != nil {
21079			return err
21080		}
21081		if err := f(x); err != nil {
21082			return err
21083		}
21084		if x.NextPageToken == "" {
21085			return nil
21086		}
21087		c.PageToken(x.NextPageToken)
21088	}
21089}
21090
21091// method id "dfareporting.campaigns.get":
21092
21093type CampaignsGetCall struct {
21094	s            *Service
21095	profileId    int64
21096	id           int64
21097	urlParams_   gensupport.URLParams
21098	ifNoneMatch_ string
21099	ctx_         context.Context
21100	header_      http.Header
21101}
21102
21103// Get: Gets one campaign by ID.
21104//
21105// - id: Campaign ID.
21106// - profileId: User profile ID associated with this request.
21107func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
21108	c := &CampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21109	c.profileId = profileId
21110	c.id = id
21111	return c
21112}
21113
21114// Fields allows partial responses to be retrieved. See
21115// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21116// for more information.
21117func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
21118	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21119	return c
21120}
21121
21122// IfNoneMatch sets the optional parameter which makes the operation
21123// fail if the object's ETag matches the given value. This is useful for
21124// getting updates only after the object has changed since the last
21125// request. Use googleapi.IsNotModified to check whether the response
21126// error from Do is the result of In-None-Match.
21127func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
21128	c.ifNoneMatch_ = entityTag
21129	return c
21130}
21131
21132// Context sets the context to be used in this call's Do method. Any
21133// pending HTTP request will be aborted if the provided context is
21134// canceled.
21135func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
21136	c.ctx_ = ctx
21137	return c
21138}
21139
21140// Header returns an http.Header that can be modified by the caller to
21141// add HTTP headers to the request.
21142func (c *CampaignsGetCall) Header() http.Header {
21143	if c.header_ == nil {
21144		c.header_ = make(http.Header)
21145	}
21146	return c.header_
21147}
21148
21149func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
21150	reqHeaders := make(http.Header)
21151	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21152	for k, v := range c.header_ {
21153		reqHeaders[k] = v
21154	}
21155	reqHeaders.Set("User-Agent", c.s.userAgent())
21156	if c.ifNoneMatch_ != "" {
21157		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21158	}
21159	var body io.Reader = nil
21160	c.urlParams_.Set("alt", alt)
21161	c.urlParams_.Set("prettyPrint", "false")
21162	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
21163	urls += "?" + c.urlParams_.Encode()
21164	req, err := http.NewRequest("GET", urls, body)
21165	if err != nil {
21166		return nil, err
21167	}
21168	req.Header = reqHeaders
21169	googleapi.Expand(req.URL, map[string]string{
21170		"profileId": strconv.FormatInt(c.profileId, 10),
21171		"id":        strconv.FormatInt(c.id, 10),
21172	})
21173	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21174}
21175
21176// Do executes the "dfareporting.campaigns.get" call.
21177// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21178// code is an error. Response headers are in either
21179// *Campaign.ServerResponse.Header or (if a response was returned at
21180// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21181// to check whether the returned error was because
21182// http.StatusNotModified was returned.
21183func (c *CampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21184	gensupport.SetOptions(c.urlParams_, opts...)
21185	res, err := c.doRequest("json")
21186	if res != nil && res.StatusCode == http.StatusNotModified {
21187		if res.Body != nil {
21188			res.Body.Close()
21189		}
21190		return nil, &googleapi.Error{
21191			Code:   res.StatusCode,
21192			Header: res.Header,
21193		}
21194	}
21195	if err != nil {
21196		return nil, err
21197	}
21198	defer googleapi.CloseBody(res)
21199	if err := googleapi.CheckResponse(res); err != nil {
21200		return nil, err
21201	}
21202	ret := &Campaign{
21203		ServerResponse: googleapi.ServerResponse{
21204			Header:         res.Header,
21205			HTTPStatusCode: res.StatusCode,
21206		},
21207	}
21208	target := &ret
21209	if err := gensupport.DecodeResponse(target, res); err != nil {
21210		return nil, err
21211	}
21212	return ret, nil
21213	// {
21214	//   "description": "Gets one campaign by ID.",
21215	//   "flatPath": "userprofiles/{profileId}/campaigns/{id}",
21216	//   "httpMethod": "GET",
21217	//   "id": "dfareporting.campaigns.get",
21218	//   "parameterOrder": [
21219	//     "profileId",
21220	//     "id"
21221	//   ],
21222	//   "parameters": {
21223	//     "id": {
21224	//       "description": "Campaign ID.",
21225	//       "format": "int64",
21226	//       "location": "path",
21227	//       "required": true,
21228	//       "type": "string"
21229	//     },
21230	//     "profileId": {
21231	//       "description": "User profile ID associated with this request.",
21232	//       "format": "int64",
21233	//       "location": "path",
21234	//       "required": true,
21235	//       "type": "string"
21236	//     }
21237	//   },
21238	//   "path": "userprofiles/{profileId}/campaigns/{id}",
21239	//   "response": {
21240	//     "$ref": "Campaign"
21241	//   },
21242	//   "scopes": [
21243	//     "https://www.googleapis.com/auth/dfatrafficking"
21244	//   ]
21245	// }
21246
21247}
21248
21249// method id "dfareporting.campaigns.insert":
21250
21251type CampaignsInsertCall struct {
21252	s          *Service
21253	profileId  int64
21254	campaign   *Campaign
21255	urlParams_ gensupport.URLParams
21256	ctx_       context.Context
21257	header_    http.Header
21258}
21259
21260// Insert: Inserts a new campaign.
21261//
21262// - profileId: User profile ID associated with this request.
21263func (r *CampaignsService) Insert(profileId int64, campaign *Campaign) *CampaignsInsertCall {
21264	c := &CampaignsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21265	c.profileId = profileId
21266	c.campaign = campaign
21267	return c
21268}
21269
21270// Fields allows partial responses to be retrieved. See
21271// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21272// for more information.
21273func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
21274	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21275	return c
21276}
21277
21278// Context sets the context to be used in this call's Do method. Any
21279// pending HTTP request will be aborted if the provided context is
21280// canceled.
21281func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
21282	c.ctx_ = ctx
21283	return c
21284}
21285
21286// Header returns an http.Header that can be modified by the caller to
21287// add HTTP headers to the request.
21288func (c *CampaignsInsertCall) Header() http.Header {
21289	if c.header_ == nil {
21290		c.header_ = make(http.Header)
21291	}
21292	return c.header_
21293}
21294
21295func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
21296	reqHeaders := make(http.Header)
21297	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21298	for k, v := range c.header_ {
21299		reqHeaders[k] = v
21300	}
21301	reqHeaders.Set("User-Agent", c.s.userAgent())
21302	var body io.Reader = nil
21303	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21304	if err != nil {
21305		return nil, err
21306	}
21307	reqHeaders.Set("Content-Type", "application/json")
21308	c.urlParams_.Set("alt", alt)
21309	c.urlParams_.Set("prettyPrint", "false")
21310	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21311	urls += "?" + c.urlParams_.Encode()
21312	req, err := http.NewRequest("POST", urls, body)
21313	if err != nil {
21314		return nil, err
21315	}
21316	req.Header = reqHeaders
21317	googleapi.Expand(req.URL, map[string]string{
21318		"profileId": strconv.FormatInt(c.profileId, 10),
21319	})
21320	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21321}
21322
21323// Do executes the "dfareporting.campaigns.insert" call.
21324// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21325// code is an error. Response headers are in either
21326// *Campaign.ServerResponse.Header or (if a response was returned at
21327// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21328// to check whether the returned error was because
21329// http.StatusNotModified was returned.
21330func (c *CampaignsInsertCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21331	gensupport.SetOptions(c.urlParams_, opts...)
21332	res, err := c.doRequest("json")
21333	if res != nil && res.StatusCode == http.StatusNotModified {
21334		if res.Body != nil {
21335			res.Body.Close()
21336		}
21337		return nil, &googleapi.Error{
21338			Code:   res.StatusCode,
21339			Header: res.Header,
21340		}
21341	}
21342	if err != nil {
21343		return nil, err
21344	}
21345	defer googleapi.CloseBody(res)
21346	if err := googleapi.CheckResponse(res); err != nil {
21347		return nil, err
21348	}
21349	ret := &Campaign{
21350		ServerResponse: googleapi.ServerResponse{
21351			Header:         res.Header,
21352			HTTPStatusCode: res.StatusCode,
21353		},
21354	}
21355	target := &ret
21356	if err := gensupport.DecodeResponse(target, res); err != nil {
21357		return nil, err
21358	}
21359	return ret, nil
21360	// {
21361	//   "description": "Inserts a new campaign.",
21362	//   "flatPath": "userprofiles/{profileId}/campaigns",
21363	//   "httpMethod": "POST",
21364	//   "id": "dfareporting.campaigns.insert",
21365	//   "parameterOrder": [
21366	//     "profileId"
21367	//   ],
21368	//   "parameters": {
21369	//     "profileId": {
21370	//       "description": "User profile ID associated with this request.",
21371	//       "format": "int64",
21372	//       "location": "path",
21373	//       "required": true,
21374	//       "type": "string"
21375	//     }
21376	//   },
21377	//   "path": "userprofiles/{profileId}/campaigns",
21378	//   "request": {
21379	//     "$ref": "Campaign"
21380	//   },
21381	//   "response": {
21382	//     "$ref": "Campaign"
21383	//   },
21384	//   "scopes": [
21385	//     "https://www.googleapis.com/auth/dfatrafficking"
21386	//   ]
21387	// }
21388
21389}
21390
21391// method id "dfareporting.campaigns.list":
21392
21393type CampaignsListCall struct {
21394	s            *Service
21395	profileId    int64
21396	urlParams_   gensupport.URLParams
21397	ifNoneMatch_ string
21398	ctx_         context.Context
21399	header_      http.Header
21400}
21401
21402// List: Retrieves a list of campaigns, possibly filtered. This method
21403// supports paging.
21404//
21405// - profileId: User profile ID associated with this request.
21406func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
21407	c := &CampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21408	c.profileId = profileId
21409	return c
21410}
21411
21412// AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
21413// Select only campaigns whose advertisers belong to these advertiser
21414// groups.
21415func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *CampaignsListCall {
21416	var advertiserGroupIds_ []string
21417	for _, v := range advertiserGroupIds {
21418		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
21419	}
21420	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
21421	return c
21422}
21423
21424// AdvertiserIds sets the optional parameter "advertiserIds": Select
21425// only campaigns that belong to these advertisers.
21426func (c *CampaignsListCall) AdvertiserIds(advertiserIds ...int64) *CampaignsListCall {
21427	var advertiserIds_ []string
21428	for _, v := range advertiserIds {
21429		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
21430	}
21431	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
21432	return c
21433}
21434
21435// Archived sets the optional parameter "archived": Select only archived
21436// campaigns. Don't set this field to select both archived and
21437// non-archived campaigns.
21438func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
21439	c.urlParams_.Set("archived", fmt.Sprint(archived))
21440	return c
21441}
21442
21443// AtLeastOneOptimizationActivity sets the optional parameter
21444// "atLeastOneOptimizationActivity": Select only campaigns that have at
21445// least one optimization activity.
21446func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
21447	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprint(atLeastOneOptimizationActivity))
21448	return c
21449}
21450
21451// ExcludedIds sets the optional parameter "excludedIds": Exclude
21452// campaigns with these IDs.
21453func (c *CampaignsListCall) ExcludedIds(excludedIds ...int64) *CampaignsListCall {
21454	var excludedIds_ []string
21455	for _, v := range excludedIds {
21456		excludedIds_ = append(excludedIds_, fmt.Sprint(v))
21457	}
21458	c.urlParams_.SetMulti("excludedIds", excludedIds_)
21459	return c
21460}
21461
21462// Ids sets the optional parameter "ids": Select only campaigns with
21463// these IDs.
21464func (c *CampaignsListCall) Ids(ids ...int64) *CampaignsListCall {
21465	var ids_ []string
21466	for _, v := range ids {
21467		ids_ = append(ids_, fmt.Sprint(v))
21468	}
21469	c.urlParams_.SetMulti("ids", ids_)
21470	return c
21471}
21472
21473// MaxResults sets the optional parameter "maxResults": Maximum number
21474// of results to return.
21475func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
21476	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
21477	return c
21478}
21479
21480// OverriddenEventTagId sets the optional parameter
21481// "overriddenEventTagId": Select only campaigns that have overridden
21482// this event tag ID.
21483func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
21484	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
21485	return c
21486}
21487
21488// PageToken sets the optional parameter "pageToken": Value of the
21489// nextPageToken from the previous result page.
21490func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
21491	c.urlParams_.Set("pageToken", pageToken)
21492	return c
21493}
21494
21495// SearchString sets the optional parameter "searchString": Allows
21496// searching for campaigns by name or ID. Wildcards (*) are allowed. For
21497// example, "campaign*2015" will return campaigns with names like
21498// "campaign June 2015", "campaign April 2015", or simply "campaign
21499// 2015". Most of the searches also add wildcards implicitly at the
21500// start and the end of the search string. For example, a search string
21501// of "campaign" will match campaigns with name "my campaign", "campaign
21502// 2015", or simply "campaign".
21503func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
21504	c.urlParams_.Set("searchString", searchString)
21505	return c
21506}
21507
21508// SortField sets the optional parameter "sortField": Field by which to
21509// sort the list.
21510//
21511// Possible values:
21512//   "ID" (default)
21513//   "NAME"
21514func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
21515	c.urlParams_.Set("sortField", sortField)
21516	return c
21517}
21518
21519// SortOrder sets the optional parameter "sortOrder": Order of sorted
21520// results.
21521//
21522// Possible values:
21523//   "ASCENDING" (default)
21524//   "DESCENDING"
21525func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
21526	c.urlParams_.Set("sortOrder", sortOrder)
21527	return c
21528}
21529
21530// SubaccountId sets the optional parameter "subaccountId": Select only
21531// campaigns that belong to this subaccount.
21532func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
21533	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
21534	return c
21535}
21536
21537// Fields allows partial responses to be retrieved. See
21538// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21539// for more information.
21540func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
21541	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21542	return c
21543}
21544
21545// IfNoneMatch sets the optional parameter which makes the operation
21546// fail if the object's ETag matches the given value. This is useful for
21547// getting updates only after the object has changed since the last
21548// request. Use googleapi.IsNotModified to check whether the response
21549// error from Do is the result of In-None-Match.
21550func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
21551	c.ifNoneMatch_ = entityTag
21552	return c
21553}
21554
21555// Context sets the context to be used in this call's Do method. Any
21556// pending HTTP request will be aborted if the provided context is
21557// canceled.
21558func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
21559	c.ctx_ = ctx
21560	return c
21561}
21562
21563// Header returns an http.Header that can be modified by the caller to
21564// add HTTP headers to the request.
21565func (c *CampaignsListCall) Header() http.Header {
21566	if c.header_ == nil {
21567		c.header_ = make(http.Header)
21568	}
21569	return c.header_
21570}
21571
21572func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
21573	reqHeaders := make(http.Header)
21574	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21575	for k, v := range c.header_ {
21576		reqHeaders[k] = v
21577	}
21578	reqHeaders.Set("User-Agent", c.s.userAgent())
21579	if c.ifNoneMatch_ != "" {
21580		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21581	}
21582	var body io.Reader = nil
21583	c.urlParams_.Set("alt", alt)
21584	c.urlParams_.Set("prettyPrint", "false")
21585	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21586	urls += "?" + c.urlParams_.Encode()
21587	req, err := http.NewRequest("GET", urls, body)
21588	if err != nil {
21589		return nil, err
21590	}
21591	req.Header = reqHeaders
21592	googleapi.Expand(req.URL, map[string]string{
21593		"profileId": strconv.FormatInt(c.profileId, 10),
21594	})
21595	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21596}
21597
21598// Do executes the "dfareporting.campaigns.list" call.
21599// Exactly one of *CampaignsListResponse or error will be non-nil. Any
21600// non-2xx status code is an error. Response headers are in either
21601// *CampaignsListResponse.ServerResponse.Header or (if a response was
21602// returned at all) in error.(*googleapi.Error).Header. Use
21603// googleapi.IsNotModified to check whether the returned error was
21604// because http.StatusNotModified was returned.
21605func (c *CampaignsListCall) Do(opts ...googleapi.CallOption) (*CampaignsListResponse, error) {
21606	gensupport.SetOptions(c.urlParams_, opts...)
21607	res, err := c.doRequest("json")
21608	if res != nil && res.StatusCode == http.StatusNotModified {
21609		if res.Body != nil {
21610			res.Body.Close()
21611		}
21612		return nil, &googleapi.Error{
21613			Code:   res.StatusCode,
21614			Header: res.Header,
21615		}
21616	}
21617	if err != nil {
21618		return nil, err
21619	}
21620	defer googleapi.CloseBody(res)
21621	if err := googleapi.CheckResponse(res); err != nil {
21622		return nil, err
21623	}
21624	ret := &CampaignsListResponse{
21625		ServerResponse: googleapi.ServerResponse{
21626			Header:         res.Header,
21627			HTTPStatusCode: res.StatusCode,
21628		},
21629	}
21630	target := &ret
21631	if err := gensupport.DecodeResponse(target, res); err != nil {
21632		return nil, err
21633	}
21634	return ret, nil
21635	// {
21636	//   "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
21637	//   "flatPath": "userprofiles/{profileId}/campaigns",
21638	//   "httpMethod": "GET",
21639	//   "id": "dfareporting.campaigns.list",
21640	//   "parameterOrder": [
21641	//     "profileId"
21642	//   ],
21643	//   "parameters": {
21644	//     "advertiserGroupIds": {
21645	//       "description": "Select only campaigns whose advertisers belong to these advertiser groups.",
21646	//       "format": "int64",
21647	//       "location": "query",
21648	//       "repeated": true,
21649	//       "type": "string"
21650	//     },
21651	//     "advertiserIds": {
21652	//       "description": "Select only campaigns that belong to these advertisers.",
21653	//       "format": "int64",
21654	//       "location": "query",
21655	//       "repeated": true,
21656	//       "type": "string"
21657	//     },
21658	//     "archived": {
21659	//       "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.",
21660	//       "location": "query",
21661	//       "type": "boolean"
21662	//     },
21663	//     "atLeastOneOptimizationActivity": {
21664	//       "description": "Select only campaigns that have at least one optimization activity.",
21665	//       "location": "query",
21666	//       "type": "boolean"
21667	//     },
21668	//     "excludedIds": {
21669	//       "description": "Exclude campaigns with these IDs.",
21670	//       "format": "int64",
21671	//       "location": "query",
21672	//       "repeated": true,
21673	//       "type": "string"
21674	//     },
21675	//     "ids": {
21676	//       "description": "Select only campaigns with these IDs.",
21677	//       "format": "int64",
21678	//       "location": "query",
21679	//       "repeated": true,
21680	//       "type": "string"
21681	//     },
21682	//     "maxResults": {
21683	//       "default": "1000",
21684	//       "description": "Maximum number of results to return.",
21685	//       "format": "int32",
21686	//       "location": "query",
21687	//       "maximum": "1000",
21688	//       "minimum": "0",
21689	//       "type": "integer"
21690	//     },
21691	//     "overriddenEventTagId": {
21692	//       "description": "Select only campaigns that have overridden this event tag ID.",
21693	//       "format": "int64",
21694	//       "location": "query",
21695	//       "type": "string"
21696	//     },
21697	//     "pageToken": {
21698	//       "description": "Value of the nextPageToken from the previous result page.",
21699	//       "location": "query",
21700	//       "type": "string"
21701	//     },
21702	//     "profileId": {
21703	//       "description": "User profile ID associated with this request.",
21704	//       "format": "int64",
21705	//       "location": "path",
21706	//       "required": true,
21707	//       "type": "string"
21708	//     },
21709	//     "searchString": {
21710	//       "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\".",
21711	//       "location": "query",
21712	//       "type": "string"
21713	//     },
21714	//     "sortField": {
21715	//       "default": "ID",
21716	//       "description": "Field by which to sort the list.",
21717	//       "enum": [
21718	//         "ID",
21719	//         "NAME"
21720	//       ],
21721	//       "enumDescriptions": [
21722	//         "",
21723	//         ""
21724	//       ],
21725	//       "location": "query",
21726	//       "type": "string"
21727	//     },
21728	//     "sortOrder": {
21729	//       "default": "ASCENDING",
21730	//       "description": "Order of sorted results.",
21731	//       "enum": [
21732	//         "ASCENDING",
21733	//         "DESCENDING"
21734	//       ],
21735	//       "enumDescriptions": [
21736	//         "",
21737	//         ""
21738	//       ],
21739	//       "location": "query",
21740	//       "type": "string"
21741	//     },
21742	//     "subaccountId": {
21743	//       "description": "Select only campaigns that belong to this subaccount.",
21744	//       "format": "int64",
21745	//       "location": "query",
21746	//       "type": "string"
21747	//     }
21748	//   },
21749	//   "path": "userprofiles/{profileId}/campaigns",
21750	//   "response": {
21751	//     "$ref": "CampaignsListResponse"
21752	//   },
21753	//   "scopes": [
21754	//     "https://www.googleapis.com/auth/dfatrafficking"
21755	//   ]
21756	// }
21757
21758}
21759
21760// Pages invokes f for each page of results.
21761// A non-nil error returned from f will halt the iteration.
21762// The provided context supersedes any context provided to the Context method.
21763func (c *CampaignsListCall) Pages(ctx context.Context, f func(*CampaignsListResponse) error) error {
21764	c.ctx_ = ctx
21765	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21766	for {
21767		x, err := c.Do()
21768		if err != nil {
21769			return err
21770		}
21771		if err := f(x); err != nil {
21772			return err
21773		}
21774		if x.NextPageToken == "" {
21775			return nil
21776		}
21777		c.PageToken(x.NextPageToken)
21778	}
21779}
21780
21781// method id "dfareporting.campaigns.patch":
21782
21783type CampaignsPatchCall struct {
21784	s          *Service
21785	profileId  int64
21786	campaign   *Campaign
21787	urlParams_ gensupport.URLParams
21788	ctx_       context.Context
21789	header_    http.Header
21790}
21791
21792// Patch: Updates an existing campaign. This method supports patch
21793// semantics.
21794//
21795// - id: Campaign ID.
21796// - profileId: User profile ID associated with this request.
21797func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
21798	c := &CampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21799	c.profileId = profileId
21800	c.urlParams_.Set("id", fmt.Sprint(id))
21801	c.campaign = campaign
21802	return c
21803}
21804
21805// Fields allows partial responses to be retrieved. See
21806// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21807// for more information.
21808func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
21809	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21810	return c
21811}
21812
21813// Context sets the context to be used in this call's Do method. Any
21814// pending HTTP request will be aborted if the provided context is
21815// canceled.
21816func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
21817	c.ctx_ = ctx
21818	return c
21819}
21820
21821// Header returns an http.Header that can be modified by the caller to
21822// add HTTP headers to the request.
21823func (c *CampaignsPatchCall) Header() http.Header {
21824	if c.header_ == nil {
21825		c.header_ = make(http.Header)
21826	}
21827	return c.header_
21828}
21829
21830func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
21831	reqHeaders := make(http.Header)
21832	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21833	for k, v := range c.header_ {
21834		reqHeaders[k] = v
21835	}
21836	reqHeaders.Set("User-Agent", c.s.userAgent())
21837	var body io.Reader = nil
21838	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21839	if err != nil {
21840		return nil, err
21841	}
21842	reqHeaders.Set("Content-Type", "application/json")
21843	c.urlParams_.Set("alt", alt)
21844	c.urlParams_.Set("prettyPrint", "false")
21845	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21846	urls += "?" + c.urlParams_.Encode()
21847	req, err := http.NewRequest("PATCH", urls, body)
21848	if err != nil {
21849		return nil, err
21850	}
21851	req.Header = reqHeaders
21852	googleapi.Expand(req.URL, map[string]string{
21853		"profileId": strconv.FormatInt(c.profileId, 10),
21854	})
21855	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21856}
21857
21858// Do executes the "dfareporting.campaigns.patch" call.
21859// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21860// code is an error. Response headers are in either
21861// *Campaign.ServerResponse.Header or (if a response was returned at
21862// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21863// to check whether the returned error was because
21864// http.StatusNotModified was returned.
21865func (c *CampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21866	gensupport.SetOptions(c.urlParams_, opts...)
21867	res, err := c.doRequest("json")
21868	if res != nil && res.StatusCode == http.StatusNotModified {
21869		if res.Body != nil {
21870			res.Body.Close()
21871		}
21872		return nil, &googleapi.Error{
21873			Code:   res.StatusCode,
21874			Header: res.Header,
21875		}
21876	}
21877	if err != nil {
21878		return nil, err
21879	}
21880	defer googleapi.CloseBody(res)
21881	if err := googleapi.CheckResponse(res); err != nil {
21882		return nil, err
21883	}
21884	ret := &Campaign{
21885		ServerResponse: googleapi.ServerResponse{
21886			Header:         res.Header,
21887			HTTPStatusCode: res.StatusCode,
21888		},
21889	}
21890	target := &ret
21891	if err := gensupport.DecodeResponse(target, res); err != nil {
21892		return nil, err
21893	}
21894	return ret, nil
21895	// {
21896	//   "description": "Updates an existing campaign. This method supports patch semantics.",
21897	//   "flatPath": "userprofiles/{profileId}/campaigns",
21898	//   "httpMethod": "PATCH",
21899	//   "id": "dfareporting.campaigns.patch",
21900	//   "parameterOrder": [
21901	//     "profileId",
21902	//     "id"
21903	//   ],
21904	//   "parameters": {
21905	//     "id": {
21906	//       "description": "Campaign ID.",
21907	//       "format": "int64",
21908	//       "location": "query",
21909	//       "required": true,
21910	//       "type": "string"
21911	//     },
21912	//     "profileId": {
21913	//       "description": "User profile ID associated with this request.",
21914	//       "format": "int64",
21915	//       "location": "path",
21916	//       "required": true,
21917	//       "type": "string"
21918	//     }
21919	//   },
21920	//   "path": "userprofiles/{profileId}/campaigns",
21921	//   "request": {
21922	//     "$ref": "Campaign"
21923	//   },
21924	//   "response": {
21925	//     "$ref": "Campaign"
21926	//   },
21927	//   "scopes": [
21928	//     "https://www.googleapis.com/auth/dfatrafficking"
21929	//   ]
21930	// }
21931
21932}
21933
21934// method id "dfareporting.campaigns.update":
21935
21936type CampaignsUpdateCall struct {
21937	s          *Service
21938	profileId  int64
21939	campaign   *Campaign
21940	urlParams_ gensupport.URLParams
21941	ctx_       context.Context
21942	header_    http.Header
21943}
21944
21945// Update: Updates an existing campaign.
21946//
21947// - profileId: User profile ID associated with this request.
21948func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
21949	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21950	c.profileId = profileId
21951	c.campaign = campaign
21952	return c
21953}
21954
21955// Fields allows partial responses to be retrieved. See
21956// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21957// for more information.
21958func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
21959	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21960	return c
21961}
21962
21963// Context sets the context to be used in this call's Do method. Any
21964// pending HTTP request will be aborted if the provided context is
21965// canceled.
21966func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
21967	c.ctx_ = ctx
21968	return c
21969}
21970
21971// Header returns an http.Header that can be modified by the caller to
21972// add HTTP headers to the request.
21973func (c *CampaignsUpdateCall) Header() http.Header {
21974	if c.header_ == nil {
21975		c.header_ = make(http.Header)
21976	}
21977	return c.header_
21978}
21979
21980func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
21981	reqHeaders := make(http.Header)
21982	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
21983	for k, v := range c.header_ {
21984		reqHeaders[k] = v
21985	}
21986	reqHeaders.Set("User-Agent", c.s.userAgent())
21987	var body io.Reader = nil
21988	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21989	if err != nil {
21990		return nil, err
21991	}
21992	reqHeaders.Set("Content-Type", "application/json")
21993	c.urlParams_.Set("alt", alt)
21994	c.urlParams_.Set("prettyPrint", "false")
21995	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21996	urls += "?" + c.urlParams_.Encode()
21997	req, err := http.NewRequest("PUT", urls, body)
21998	if err != nil {
21999		return nil, err
22000	}
22001	req.Header = reqHeaders
22002	googleapi.Expand(req.URL, map[string]string{
22003		"profileId": strconv.FormatInt(c.profileId, 10),
22004	})
22005	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22006}
22007
22008// Do executes the "dfareporting.campaigns.update" call.
22009// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
22010// code is an error. Response headers are in either
22011// *Campaign.ServerResponse.Header or (if a response was returned at
22012// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22013// to check whether the returned error was because
22014// http.StatusNotModified was returned.
22015func (c *CampaignsUpdateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
22016	gensupport.SetOptions(c.urlParams_, opts...)
22017	res, err := c.doRequest("json")
22018	if res != nil && res.StatusCode == http.StatusNotModified {
22019		if res.Body != nil {
22020			res.Body.Close()
22021		}
22022		return nil, &googleapi.Error{
22023			Code:   res.StatusCode,
22024			Header: res.Header,
22025		}
22026	}
22027	if err != nil {
22028		return nil, err
22029	}
22030	defer googleapi.CloseBody(res)
22031	if err := googleapi.CheckResponse(res); err != nil {
22032		return nil, err
22033	}
22034	ret := &Campaign{
22035		ServerResponse: googleapi.ServerResponse{
22036			Header:         res.Header,
22037			HTTPStatusCode: res.StatusCode,
22038		},
22039	}
22040	target := &ret
22041	if err := gensupport.DecodeResponse(target, res); err != nil {
22042		return nil, err
22043	}
22044	return ret, nil
22045	// {
22046	//   "description": "Updates an existing campaign.",
22047	//   "flatPath": "userprofiles/{profileId}/campaigns",
22048	//   "httpMethod": "PUT",
22049	//   "id": "dfareporting.campaigns.update",
22050	//   "parameterOrder": [
22051	//     "profileId"
22052	//   ],
22053	//   "parameters": {
22054	//     "profileId": {
22055	//       "description": "User profile ID associated with this request.",
22056	//       "format": "int64",
22057	//       "location": "path",
22058	//       "required": true,
22059	//       "type": "string"
22060	//     }
22061	//   },
22062	//   "path": "userprofiles/{profileId}/campaigns",
22063	//   "request": {
22064	//     "$ref": "Campaign"
22065	//   },
22066	//   "response": {
22067	//     "$ref": "Campaign"
22068	//   },
22069	//   "scopes": [
22070	//     "https://www.googleapis.com/auth/dfatrafficking"
22071	//   ]
22072	// }
22073
22074}
22075
22076// method id "dfareporting.changeLogs.get":
22077
22078type ChangeLogsGetCall struct {
22079	s            *Service
22080	profileId    int64
22081	id           int64
22082	urlParams_   gensupport.URLParams
22083	ifNoneMatch_ string
22084	ctx_         context.Context
22085	header_      http.Header
22086}
22087
22088// Get: Gets one change log by ID.
22089//
22090// - id: Change log ID.
22091// - profileId: User profile ID associated with this request.
22092func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
22093	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22094	c.profileId = profileId
22095	c.id = id
22096	return c
22097}
22098
22099// Fields allows partial responses to be retrieved. See
22100// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22101// for more information.
22102func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
22103	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22104	return c
22105}
22106
22107// IfNoneMatch sets the optional parameter which makes the operation
22108// fail if the object's ETag matches the given value. This is useful for
22109// getting updates only after the object has changed since the last
22110// request. Use googleapi.IsNotModified to check whether the response
22111// error from Do is the result of In-None-Match.
22112func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
22113	c.ifNoneMatch_ = entityTag
22114	return c
22115}
22116
22117// Context sets the context to be used in this call's Do method. Any
22118// pending HTTP request will be aborted if the provided context is
22119// canceled.
22120func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
22121	c.ctx_ = ctx
22122	return c
22123}
22124
22125// Header returns an http.Header that can be modified by the caller to
22126// add HTTP headers to the request.
22127func (c *ChangeLogsGetCall) Header() http.Header {
22128	if c.header_ == nil {
22129		c.header_ = make(http.Header)
22130	}
22131	return c.header_
22132}
22133
22134func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
22135	reqHeaders := make(http.Header)
22136	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22137	for k, v := range c.header_ {
22138		reqHeaders[k] = v
22139	}
22140	reqHeaders.Set("User-Agent", c.s.userAgent())
22141	if c.ifNoneMatch_ != "" {
22142		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22143	}
22144	var body io.Reader = nil
22145	c.urlParams_.Set("alt", alt)
22146	c.urlParams_.Set("prettyPrint", "false")
22147	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
22148	urls += "?" + c.urlParams_.Encode()
22149	req, err := http.NewRequest("GET", urls, body)
22150	if err != nil {
22151		return nil, err
22152	}
22153	req.Header = reqHeaders
22154	googleapi.Expand(req.URL, map[string]string{
22155		"profileId": strconv.FormatInt(c.profileId, 10),
22156		"id":        strconv.FormatInt(c.id, 10),
22157	})
22158	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22159}
22160
22161// Do executes the "dfareporting.changeLogs.get" call.
22162// Exactly one of *ChangeLog or error will be non-nil. Any non-2xx
22163// status code is an error. Response headers are in either
22164// *ChangeLog.ServerResponse.Header or (if a response was returned at
22165// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22166// to check whether the returned error was because
22167// http.StatusNotModified was returned.
22168func (c *ChangeLogsGetCall) Do(opts ...googleapi.CallOption) (*ChangeLog, error) {
22169	gensupport.SetOptions(c.urlParams_, opts...)
22170	res, err := c.doRequest("json")
22171	if res != nil && res.StatusCode == http.StatusNotModified {
22172		if res.Body != nil {
22173			res.Body.Close()
22174		}
22175		return nil, &googleapi.Error{
22176			Code:   res.StatusCode,
22177			Header: res.Header,
22178		}
22179	}
22180	if err != nil {
22181		return nil, err
22182	}
22183	defer googleapi.CloseBody(res)
22184	if err := googleapi.CheckResponse(res); err != nil {
22185		return nil, err
22186	}
22187	ret := &ChangeLog{
22188		ServerResponse: googleapi.ServerResponse{
22189			Header:         res.Header,
22190			HTTPStatusCode: res.StatusCode,
22191		},
22192	}
22193	target := &ret
22194	if err := gensupport.DecodeResponse(target, res); err != nil {
22195		return nil, err
22196	}
22197	return ret, nil
22198	// {
22199	//   "description": "Gets one change log by ID.",
22200	//   "flatPath": "userprofiles/{profileId}/changeLogs/{id}",
22201	//   "httpMethod": "GET",
22202	//   "id": "dfareporting.changeLogs.get",
22203	//   "parameterOrder": [
22204	//     "profileId",
22205	//     "id"
22206	//   ],
22207	//   "parameters": {
22208	//     "id": {
22209	//       "description": "Change log ID.",
22210	//       "format": "int64",
22211	//       "location": "path",
22212	//       "required": true,
22213	//       "type": "string"
22214	//     },
22215	//     "profileId": {
22216	//       "description": "User profile ID associated with this request.",
22217	//       "format": "int64",
22218	//       "location": "path",
22219	//       "required": true,
22220	//       "type": "string"
22221	//     }
22222	//   },
22223	//   "path": "userprofiles/{profileId}/changeLogs/{id}",
22224	//   "response": {
22225	//     "$ref": "ChangeLog"
22226	//   },
22227	//   "scopes": [
22228	//     "https://www.googleapis.com/auth/dfatrafficking"
22229	//   ]
22230	// }
22231
22232}
22233
22234// method id "dfareporting.changeLogs.list":
22235
22236type ChangeLogsListCall struct {
22237	s            *Service
22238	profileId    int64
22239	urlParams_   gensupport.URLParams
22240	ifNoneMatch_ string
22241	ctx_         context.Context
22242	header_      http.Header
22243}
22244
22245// List: Retrieves a list of change logs. This method supports paging.
22246//
22247// - profileId: User profile ID associated with this request.
22248func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
22249	c := &ChangeLogsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22250	c.profileId = profileId
22251	return c
22252}
22253
22254// Action sets the optional parameter "action": Select only change logs
22255// with the specified action.
22256//
22257// Possible values:
22258//   "ACTION_CREATE"
22259//   "ACTION_UPDATE"
22260//   "ACTION_DELETE"
22261//   "ACTION_ENABLE"
22262//   "ACTION_DISABLE"
22263//   "ACTION_ADD"
22264//   "ACTION_REMOVE"
22265//   "ACTION_MARK_AS_DEFAULT"
22266//   "ACTION_ASSOCIATE"
22267//   "ACTION_ASSIGN"
22268//   "ACTION_UNASSIGN"
22269//   "ACTION_SEND"
22270//   "ACTION_LINK"
22271//   "ACTION_UNLINK"
22272//   "ACTION_PUSH"
22273//   "ACTION_EMAIL_TAGS"
22274//   "ACTION_SHARE"
22275func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
22276	c.urlParams_.Set("action", action)
22277	return c
22278}
22279
22280// Ids sets the optional parameter "ids": Select only change logs with
22281// these IDs.
22282func (c *ChangeLogsListCall) Ids(ids ...int64) *ChangeLogsListCall {
22283	var ids_ []string
22284	for _, v := range ids {
22285		ids_ = append(ids_, fmt.Sprint(v))
22286	}
22287	c.urlParams_.SetMulti("ids", ids_)
22288	return c
22289}
22290
22291// MaxChangeTime sets the optional parameter "maxChangeTime": Select
22292// only change logs whose change time is before the specified
22293// maxChangeTime.The time should be formatted as an RFC3339 date/time
22294// string. For example, for 10:54 PM on July 18th, 2015, in the
22295// America/New York time zone, the format is
22296// "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
22297// the letter T, the hour (24-hour clock system), minute, second, and
22298// then the time zone offset.
22299func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
22300	c.urlParams_.Set("maxChangeTime", maxChangeTime)
22301	return c
22302}
22303
22304// MaxResults sets the optional parameter "maxResults": Maximum number
22305// of results to return.
22306func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
22307	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
22308	return c
22309}
22310
22311// MinChangeTime sets the optional parameter "minChangeTime": Select
22312// only change logs whose change time is after the specified
22313// minChangeTime.The time should be formatted as an RFC3339 date/time
22314// string. For example, for 10:54 PM on July 18th, 2015, in the
22315// America/New York time zone, the format is
22316// "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
22317// the letter T, the hour (24-hour clock system), minute, second, and
22318// then the time zone offset.
22319func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
22320	c.urlParams_.Set("minChangeTime", minChangeTime)
22321	return c
22322}
22323
22324// ObjectIds sets the optional parameter "objectIds": Select only change
22325// logs with these object IDs.
22326func (c *ChangeLogsListCall) ObjectIds(objectIds ...int64) *ChangeLogsListCall {
22327	var objectIds_ []string
22328	for _, v := range objectIds {
22329		objectIds_ = append(objectIds_, fmt.Sprint(v))
22330	}
22331	c.urlParams_.SetMulti("objectIds", objectIds_)
22332	return c
22333}
22334
22335// ObjectType sets the optional parameter "objectType": Select only
22336// change logs with the specified object type.
22337//
22338// Possible values:
22339//   "OBJECT_ADVERTISER"
22340//   "OBJECT_FLOODLIGHT_CONFIGURATION"
22341//   "OBJECT_AD"
22342//   "OBJECT_FLOODLIGHT_ACTVITY"
22343//   "OBJECT_CAMPAIGN"
22344//   "OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
22345//   "OBJECT_CREATIVE"
22346//   "OBJECT_PLACEMENT"
22347//   "OBJECT_DFA_SITE"
22348//   "OBJECT_USER_ROLE"
22349//   "OBJECT_USER_PROFILE"
22350//   "OBJECT_ADVERTISER_GROUP"
22351//   "OBJECT_ACCOUNT"
22352//   "OBJECT_SUBACCOUNT"
22353//   "OBJECT_RICHMEDIA_CREATIVE"
22354//   "OBJECT_INSTREAM_CREATIVE"
22355//   "OBJECT_MEDIA_ORDER"
22356//   "OBJECT_CONTENT_CATEGORY"
22357//   "OBJECT_PLACEMENT_STRATEGY"
22358//   "OBJECT_SD_SITE"
22359//   "OBJECT_SIZE"
22360//   "OBJECT_CREATIVE_GROUP"
22361//   "OBJECT_CREATIVE_ASSET"
22362//   "OBJECT_USER_PROFILE_FILTER"
22363//   "OBJECT_LANDING_PAGE"
22364//   "OBJECT_CREATIVE_FIELD"
22365//   "OBJECT_REMARKETING_LIST"
22366//   "OBJECT_PROVIDED_LIST_CLIENT"
22367//   "OBJECT_EVENT_TAG"
22368//   "OBJECT_CREATIVE_BUNDLE"
22369//   "OBJECT_BILLING_ACCOUNT_GROUP"
22370//   "OBJECT_BILLING_FEATURE"
22371//   "OBJECT_RATE_CARD"
22372//   "OBJECT_ACCOUNT_BILLING_FEATURE"
22373//   "OBJECT_BILLING_MINIMUM_FEE"
22374//   "OBJECT_BILLING_PROFILE"
22375//   "OBJECT_PLAYSTORE_LINK"
22376//   "OBJECT_TARGETING_TEMPLATE"
22377//   "OBJECT_SEARCH_LIFT_STUDY"
22378//   "OBJECT_FLOODLIGHT_DV360_LINK"
22379func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
22380	c.urlParams_.Set("objectType", objectType)
22381	return c
22382}
22383
22384// PageToken sets the optional parameter "pageToken": Value of the
22385// nextPageToken from the previous result page.
22386func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
22387	c.urlParams_.Set("pageToken", pageToken)
22388	return c
22389}
22390
22391// SearchString sets the optional parameter "searchString": Select only
22392// change logs whose object ID, user name, old or new values match the
22393// search string.
22394func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
22395	c.urlParams_.Set("searchString", searchString)
22396	return c
22397}
22398
22399// UserProfileIds sets the optional parameter "userProfileIds": Select
22400// only change logs with these user profile IDs.
22401func (c *ChangeLogsListCall) UserProfileIds(userProfileIds ...int64) *ChangeLogsListCall {
22402	var userProfileIds_ []string
22403	for _, v := range userProfileIds {
22404		userProfileIds_ = append(userProfileIds_, fmt.Sprint(v))
22405	}
22406	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
22407	return c
22408}
22409
22410// Fields allows partial responses to be retrieved. See
22411// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22412// for more information.
22413func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
22414	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22415	return c
22416}
22417
22418// IfNoneMatch sets the optional parameter which makes the operation
22419// fail if the object's ETag matches the given value. This is useful for
22420// getting updates only after the object has changed since the last
22421// request. Use googleapi.IsNotModified to check whether the response
22422// error from Do is the result of In-None-Match.
22423func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
22424	c.ifNoneMatch_ = entityTag
22425	return c
22426}
22427
22428// Context sets the context to be used in this call's Do method. Any
22429// pending HTTP request will be aborted if the provided context is
22430// canceled.
22431func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
22432	c.ctx_ = ctx
22433	return c
22434}
22435
22436// Header returns an http.Header that can be modified by the caller to
22437// add HTTP headers to the request.
22438func (c *ChangeLogsListCall) Header() http.Header {
22439	if c.header_ == nil {
22440		c.header_ = make(http.Header)
22441	}
22442	return c.header_
22443}
22444
22445func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
22446	reqHeaders := make(http.Header)
22447	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22448	for k, v := range c.header_ {
22449		reqHeaders[k] = v
22450	}
22451	reqHeaders.Set("User-Agent", c.s.userAgent())
22452	if c.ifNoneMatch_ != "" {
22453		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22454	}
22455	var body io.Reader = nil
22456	c.urlParams_.Set("alt", alt)
22457	c.urlParams_.Set("prettyPrint", "false")
22458	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
22459	urls += "?" + c.urlParams_.Encode()
22460	req, err := http.NewRequest("GET", urls, body)
22461	if err != nil {
22462		return nil, err
22463	}
22464	req.Header = reqHeaders
22465	googleapi.Expand(req.URL, map[string]string{
22466		"profileId": strconv.FormatInt(c.profileId, 10),
22467	})
22468	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22469}
22470
22471// Do executes the "dfareporting.changeLogs.list" call.
22472// Exactly one of *ChangeLogsListResponse or error will be non-nil. Any
22473// non-2xx status code is an error. Response headers are in either
22474// *ChangeLogsListResponse.ServerResponse.Header or (if a response was
22475// returned at all) in error.(*googleapi.Error).Header. Use
22476// googleapi.IsNotModified to check whether the returned error was
22477// because http.StatusNotModified was returned.
22478func (c *ChangeLogsListCall) Do(opts ...googleapi.CallOption) (*ChangeLogsListResponse, error) {
22479	gensupport.SetOptions(c.urlParams_, opts...)
22480	res, err := c.doRequest("json")
22481	if res != nil && res.StatusCode == http.StatusNotModified {
22482		if res.Body != nil {
22483			res.Body.Close()
22484		}
22485		return nil, &googleapi.Error{
22486			Code:   res.StatusCode,
22487			Header: res.Header,
22488		}
22489	}
22490	if err != nil {
22491		return nil, err
22492	}
22493	defer googleapi.CloseBody(res)
22494	if err := googleapi.CheckResponse(res); err != nil {
22495		return nil, err
22496	}
22497	ret := &ChangeLogsListResponse{
22498		ServerResponse: googleapi.ServerResponse{
22499			Header:         res.Header,
22500			HTTPStatusCode: res.StatusCode,
22501		},
22502	}
22503	target := &ret
22504	if err := gensupport.DecodeResponse(target, res); err != nil {
22505		return nil, err
22506	}
22507	return ret, nil
22508	// {
22509	//   "description": "Retrieves a list of change logs. This method supports paging.",
22510	//   "flatPath": "userprofiles/{profileId}/changeLogs",
22511	//   "httpMethod": "GET",
22512	//   "id": "dfareporting.changeLogs.list",
22513	//   "parameterOrder": [
22514	//     "profileId"
22515	//   ],
22516	//   "parameters": {
22517	//     "action": {
22518	//       "description": "Select only change logs with the specified action.",
22519	//       "enum": [
22520	//         "ACTION_CREATE",
22521	//         "ACTION_UPDATE",
22522	//         "ACTION_DELETE",
22523	//         "ACTION_ENABLE",
22524	//         "ACTION_DISABLE",
22525	//         "ACTION_ADD",
22526	//         "ACTION_REMOVE",
22527	//         "ACTION_MARK_AS_DEFAULT",
22528	//         "ACTION_ASSOCIATE",
22529	//         "ACTION_ASSIGN",
22530	//         "ACTION_UNASSIGN",
22531	//         "ACTION_SEND",
22532	//         "ACTION_LINK",
22533	//         "ACTION_UNLINK",
22534	//         "ACTION_PUSH",
22535	//         "ACTION_EMAIL_TAGS",
22536	//         "ACTION_SHARE"
22537	//       ],
22538	//       "enumDescriptions": [
22539	//         "",
22540	//         "",
22541	//         "",
22542	//         "",
22543	//         "",
22544	//         "",
22545	//         "",
22546	//         "",
22547	//         "",
22548	//         "",
22549	//         "",
22550	//         "",
22551	//         "",
22552	//         "",
22553	//         "",
22554	//         "",
22555	//         ""
22556	//       ],
22557	//       "location": "query",
22558	//       "type": "string"
22559	//     },
22560	//     "ids": {
22561	//       "description": "Select only change logs with these IDs.",
22562	//       "format": "int64",
22563	//       "location": "query",
22564	//       "repeated": true,
22565	//       "type": "string"
22566	//     },
22567	//     "maxChangeTime": {
22568	//       "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.",
22569	//       "location": "query",
22570	//       "type": "string"
22571	//     },
22572	//     "maxResults": {
22573	//       "default": "1000",
22574	//       "description": "Maximum number of results to return.",
22575	//       "format": "int32",
22576	//       "location": "query",
22577	//       "maximum": "1000",
22578	//       "minimum": "0",
22579	//       "type": "integer"
22580	//     },
22581	//     "minChangeTime": {
22582	//       "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.",
22583	//       "location": "query",
22584	//       "type": "string"
22585	//     },
22586	//     "objectIds": {
22587	//       "description": "Select only change logs with these object IDs.",
22588	//       "format": "int64",
22589	//       "location": "query",
22590	//       "repeated": true,
22591	//       "type": "string"
22592	//     },
22593	//     "objectType": {
22594	//       "description": "Select only change logs with the specified object type.",
22595	//       "enum": [
22596	//         "OBJECT_ADVERTISER",
22597	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
22598	//         "OBJECT_AD",
22599	//         "OBJECT_FLOODLIGHT_ACTVITY",
22600	//         "OBJECT_CAMPAIGN",
22601	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
22602	//         "OBJECT_CREATIVE",
22603	//         "OBJECT_PLACEMENT",
22604	//         "OBJECT_DFA_SITE",
22605	//         "OBJECT_USER_ROLE",
22606	//         "OBJECT_USER_PROFILE",
22607	//         "OBJECT_ADVERTISER_GROUP",
22608	//         "OBJECT_ACCOUNT",
22609	//         "OBJECT_SUBACCOUNT",
22610	//         "OBJECT_RICHMEDIA_CREATIVE",
22611	//         "OBJECT_INSTREAM_CREATIVE",
22612	//         "OBJECT_MEDIA_ORDER",
22613	//         "OBJECT_CONTENT_CATEGORY",
22614	//         "OBJECT_PLACEMENT_STRATEGY",
22615	//         "OBJECT_SD_SITE",
22616	//         "OBJECT_SIZE",
22617	//         "OBJECT_CREATIVE_GROUP",
22618	//         "OBJECT_CREATIVE_ASSET",
22619	//         "OBJECT_USER_PROFILE_FILTER",
22620	//         "OBJECT_LANDING_PAGE",
22621	//         "OBJECT_CREATIVE_FIELD",
22622	//         "OBJECT_REMARKETING_LIST",
22623	//         "OBJECT_PROVIDED_LIST_CLIENT",
22624	//         "OBJECT_EVENT_TAG",
22625	//         "OBJECT_CREATIVE_BUNDLE",
22626	//         "OBJECT_BILLING_ACCOUNT_GROUP",
22627	//         "OBJECT_BILLING_FEATURE",
22628	//         "OBJECT_RATE_CARD",
22629	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
22630	//         "OBJECT_BILLING_MINIMUM_FEE",
22631	//         "OBJECT_BILLING_PROFILE",
22632	//         "OBJECT_PLAYSTORE_LINK",
22633	//         "OBJECT_TARGETING_TEMPLATE",
22634	//         "OBJECT_SEARCH_LIFT_STUDY",
22635	//         "OBJECT_FLOODLIGHT_DV360_LINK"
22636	//       ],
22637	//       "enumDescriptions": [
22638	//         "",
22639	//         "",
22640	//         "",
22641	//         "",
22642	//         "",
22643	//         "",
22644	//         "",
22645	//         "",
22646	//         "",
22647	//         "",
22648	//         "",
22649	//         "",
22650	//         "",
22651	//         "",
22652	//         "",
22653	//         "",
22654	//         "",
22655	//         "",
22656	//         "",
22657	//         "",
22658	//         "",
22659	//         "",
22660	//         "",
22661	//         "",
22662	//         "",
22663	//         "",
22664	//         "",
22665	//         "",
22666	//         "",
22667	//         "",
22668	//         "",
22669	//         "",
22670	//         "",
22671	//         "",
22672	//         "",
22673	//         "",
22674	//         "",
22675	//         "",
22676	//         "",
22677	//         ""
22678	//       ],
22679	//       "location": "query",
22680	//       "type": "string"
22681	//     },
22682	//     "pageToken": {
22683	//       "description": "Value of the nextPageToken from the previous result page.",
22684	//       "location": "query",
22685	//       "type": "string"
22686	//     },
22687	//     "profileId": {
22688	//       "description": "User profile ID associated with this request.",
22689	//       "format": "int64",
22690	//       "location": "path",
22691	//       "required": true,
22692	//       "type": "string"
22693	//     },
22694	//     "searchString": {
22695	//       "description": "Select only change logs whose object ID, user name, old or new values match the search string.",
22696	//       "location": "query",
22697	//       "type": "string"
22698	//     },
22699	//     "userProfileIds": {
22700	//       "description": "Select only change logs with these user profile IDs.",
22701	//       "format": "int64",
22702	//       "location": "query",
22703	//       "repeated": true,
22704	//       "type": "string"
22705	//     }
22706	//   },
22707	//   "path": "userprofiles/{profileId}/changeLogs",
22708	//   "response": {
22709	//     "$ref": "ChangeLogsListResponse"
22710	//   },
22711	//   "scopes": [
22712	//     "https://www.googleapis.com/auth/dfatrafficking"
22713	//   ]
22714	// }
22715
22716}
22717
22718// Pages invokes f for each page of results.
22719// A non-nil error returned from f will halt the iteration.
22720// The provided context supersedes any context provided to the Context method.
22721func (c *ChangeLogsListCall) Pages(ctx context.Context, f func(*ChangeLogsListResponse) error) error {
22722	c.ctx_ = ctx
22723	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22724	for {
22725		x, err := c.Do()
22726		if err != nil {
22727			return err
22728		}
22729		if err := f(x); err != nil {
22730			return err
22731		}
22732		if x.NextPageToken == "" {
22733			return nil
22734		}
22735		c.PageToken(x.NextPageToken)
22736	}
22737}
22738
22739// method id "dfareporting.cities.list":
22740
22741type CitiesListCall struct {
22742	s            *Service
22743	profileId    int64
22744	urlParams_   gensupport.URLParams
22745	ifNoneMatch_ string
22746	ctx_         context.Context
22747	header_      http.Header
22748}
22749
22750// List: Retrieves a list of cities, possibly filtered.
22751//
22752// - profileId: User profile ID associated with this request.
22753func (r *CitiesService) List(profileId int64) *CitiesListCall {
22754	c := &CitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22755	c.profileId = profileId
22756	return c
22757}
22758
22759// CountryDartIds sets the optional parameter "countryDartIds": Select
22760// only cities from these countries.
22761func (c *CitiesListCall) CountryDartIds(countryDartIds ...int64) *CitiesListCall {
22762	var countryDartIds_ []string
22763	for _, v := range countryDartIds {
22764		countryDartIds_ = append(countryDartIds_, fmt.Sprint(v))
22765	}
22766	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
22767	return c
22768}
22769
22770// DartIds sets the optional parameter "dartIds": Select only cities
22771// with these DART IDs.
22772func (c *CitiesListCall) DartIds(dartIds ...int64) *CitiesListCall {
22773	var dartIds_ []string
22774	for _, v := range dartIds {
22775		dartIds_ = append(dartIds_, fmt.Sprint(v))
22776	}
22777	c.urlParams_.SetMulti("dartIds", dartIds_)
22778	return c
22779}
22780
22781// NamePrefix sets the optional parameter "namePrefix": Select only
22782// cities with names starting with this prefix.
22783func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
22784	c.urlParams_.Set("namePrefix", namePrefix)
22785	return c
22786}
22787
22788// RegionDartIds sets the optional parameter "regionDartIds": Select
22789// only cities from these regions.
22790func (c *CitiesListCall) RegionDartIds(regionDartIds ...int64) *CitiesListCall {
22791	var regionDartIds_ []string
22792	for _, v := range regionDartIds {
22793		regionDartIds_ = append(regionDartIds_, fmt.Sprint(v))
22794	}
22795	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
22796	return c
22797}
22798
22799// Fields allows partial responses to be retrieved. See
22800// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22801// for more information.
22802func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
22803	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22804	return c
22805}
22806
22807// IfNoneMatch sets the optional parameter which makes the operation
22808// fail if the object's ETag matches the given value. This is useful for
22809// getting updates only after the object has changed since the last
22810// request. Use googleapi.IsNotModified to check whether the response
22811// error from Do is the result of In-None-Match.
22812func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
22813	c.ifNoneMatch_ = entityTag
22814	return c
22815}
22816
22817// Context sets the context to be used in this call's Do method. Any
22818// pending HTTP request will be aborted if the provided context is
22819// canceled.
22820func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
22821	c.ctx_ = ctx
22822	return c
22823}
22824
22825// Header returns an http.Header that can be modified by the caller to
22826// add HTTP headers to the request.
22827func (c *CitiesListCall) Header() http.Header {
22828	if c.header_ == nil {
22829		c.header_ = make(http.Header)
22830	}
22831	return c.header_
22832}
22833
22834func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
22835	reqHeaders := make(http.Header)
22836	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
22837	for k, v := range c.header_ {
22838		reqHeaders[k] = v
22839	}
22840	reqHeaders.Set("User-Agent", c.s.userAgent())
22841	if c.ifNoneMatch_ != "" {
22842		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22843	}
22844	var body io.Reader = nil
22845	c.urlParams_.Set("alt", alt)
22846	c.urlParams_.Set("prettyPrint", "false")
22847	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
22848	urls += "?" + c.urlParams_.Encode()
22849	req, err := http.NewRequest("GET", urls, body)
22850	if err != nil {
22851		return nil, err
22852	}
22853	req.Header = reqHeaders
22854	googleapi.Expand(req.URL, map[string]string{
22855		"profileId": strconv.FormatInt(c.profileId, 10),
22856	})
22857	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22858}
22859
22860// Do executes the "dfareporting.cities.list" call.
22861// Exactly one of *CitiesListResponse or error will be non-nil. Any
22862// non-2xx status code is an error. Response headers are in either
22863// *CitiesListResponse.ServerResponse.Header or (if a response was
22864// returned at all) in error.(*googleapi.Error).Header. Use
22865// googleapi.IsNotModified to check whether the returned error was
22866// because http.StatusNotModified was returned.
22867func (c *CitiesListCall) Do(opts ...googleapi.CallOption) (*CitiesListResponse, error) {
22868	gensupport.SetOptions(c.urlParams_, opts...)
22869	res, err := c.doRequest("json")
22870	if res != nil && res.StatusCode == http.StatusNotModified {
22871		if res.Body != nil {
22872			res.Body.Close()
22873		}
22874		return nil, &googleapi.Error{
22875			Code:   res.StatusCode,
22876			Header: res.Header,
22877		}
22878	}
22879	if err != nil {
22880		return nil, err
22881	}
22882	defer googleapi.CloseBody(res)
22883	if err := googleapi.CheckResponse(res); err != nil {
22884		return nil, err
22885	}
22886	ret := &CitiesListResponse{
22887		ServerResponse: googleapi.ServerResponse{
22888			Header:         res.Header,
22889			HTTPStatusCode: res.StatusCode,
22890		},
22891	}
22892	target := &ret
22893	if err := gensupport.DecodeResponse(target, res); err != nil {
22894		return nil, err
22895	}
22896	return ret, nil
22897	// {
22898	//   "description": "Retrieves a list of cities, possibly filtered.",
22899	//   "flatPath": "userprofiles/{profileId}/cities",
22900	//   "httpMethod": "GET",
22901	//   "id": "dfareporting.cities.list",
22902	//   "parameterOrder": [
22903	//     "profileId"
22904	//   ],
22905	//   "parameters": {
22906	//     "countryDartIds": {
22907	//       "description": "Select only cities from these countries.",
22908	//       "format": "int64",
22909	//       "location": "query",
22910	//       "repeated": true,
22911	//       "type": "string"
22912	//     },
22913	//     "dartIds": {
22914	//       "description": "Select only cities with these DART IDs.",
22915	//       "format": "int64",
22916	//       "location": "query",
22917	//       "repeated": true,
22918	//       "type": "string"
22919	//     },
22920	//     "namePrefix": {
22921	//       "description": "Select only cities with names starting with this prefix.",
22922	//       "location": "query",
22923	//       "type": "string"
22924	//     },
22925	//     "profileId": {
22926	//       "description": "User profile ID associated with this request.",
22927	//       "format": "int64",
22928	//       "location": "path",
22929	//       "required": true,
22930	//       "type": "string"
22931	//     },
22932	//     "regionDartIds": {
22933	//       "description": "Select only cities from these regions.",
22934	//       "format": "int64",
22935	//       "location": "query",
22936	//       "repeated": true,
22937	//       "type": "string"
22938	//     }
22939	//   },
22940	//   "path": "userprofiles/{profileId}/cities",
22941	//   "response": {
22942	//     "$ref": "CitiesListResponse"
22943	//   },
22944	//   "scopes": [
22945	//     "https://www.googleapis.com/auth/dfatrafficking"
22946	//   ]
22947	// }
22948
22949}
22950
22951// method id "dfareporting.connectionTypes.get":
22952
22953type ConnectionTypesGetCall struct {
22954	s            *Service
22955	profileId    int64
22956	id           int64
22957	urlParams_   gensupport.URLParams
22958	ifNoneMatch_ string
22959	ctx_         context.Context
22960	header_      http.Header
22961}
22962
22963// Get: Gets one connection type by ID.
22964//
22965// - id: Connection type ID.
22966// - profileId: User profile ID associated with this request.
22967func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
22968	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22969	c.profileId = profileId
22970	c.id = id
22971	return c
22972}
22973
22974// Fields allows partial responses to be retrieved. See
22975// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22976// for more information.
22977func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
22978	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22979	return c
22980}
22981
22982// IfNoneMatch sets the optional parameter which makes the operation
22983// fail if the object's ETag matches the given value. This is useful for
22984// getting updates only after the object has changed since the last
22985// request. Use googleapi.IsNotModified to check whether the response
22986// error from Do is the result of In-None-Match.
22987func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
22988	c.ifNoneMatch_ = entityTag
22989	return c
22990}
22991
22992// Context sets the context to be used in this call's Do method. Any
22993// pending HTTP request will be aborted if the provided context is
22994// canceled.
22995func (c *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
22996	c.ctx_ = ctx
22997	return c
22998}
22999
23000// Header returns an http.Header that can be modified by the caller to
23001// add HTTP headers to the request.
23002func (c *ConnectionTypesGetCall) Header() http.Header {
23003	if c.header_ == nil {
23004		c.header_ = make(http.Header)
23005	}
23006	return c.header_
23007}
23008
23009func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
23010	reqHeaders := make(http.Header)
23011	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23012	for k, v := range c.header_ {
23013		reqHeaders[k] = v
23014	}
23015	reqHeaders.Set("User-Agent", c.s.userAgent())
23016	if c.ifNoneMatch_ != "" {
23017		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23018	}
23019	var body io.Reader = nil
23020	c.urlParams_.Set("alt", alt)
23021	c.urlParams_.Set("prettyPrint", "false")
23022	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
23023	urls += "?" + c.urlParams_.Encode()
23024	req, err := http.NewRequest("GET", urls, body)
23025	if err != nil {
23026		return nil, err
23027	}
23028	req.Header = reqHeaders
23029	googleapi.Expand(req.URL, map[string]string{
23030		"profileId": strconv.FormatInt(c.profileId, 10),
23031		"id":        strconv.FormatInt(c.id, 10),
23032	})
23033	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23034}
23035
23036// Do executes the "dfareporting.connectionTypes.get" call.
23037// Exactly one of *ConnectionType or error will be non-nil. Any non-2xx
23038// status code is an error. Response headers are in either
23039// *ConnectionType.ServerResponse.Header or (if a response was returned
23040// at all) in error.(*googleapi.Error).Header. Use
23041// googleapi.IsNotModified to check whether the returned error was
23042// because http.StatusNotModified was returned.
23043func (c *ConnectionTypesGetCall) Do(opts ...googleapi.CallOption) (*ConnectionType, error) {
23044	gensupport.SetOptions(c.urlParams_, opts...)
23045	res, err := c.doRequest("json")
23046	if res != nil && res.StatusCode == http.StatusNotModified {
23047		if res.Body != nil {
23048			res.Body.Close()
23049		}
23050		return nil, &googleapi.Error{
23051			Code:   res.StatusCode,
23052			Header: res.Header,
23053		}
23054	}
23055	if err != nil {
23056		return nil, err
23057	}
23058	defer googleapi.CloseBody(res)
23059	if err := googleapi.CheckResponse(res); err != nil {
23060		return nil, err
23061	}
23062	ret := &ConnectionType{
23063		ServerResponse: googleapi.ServerResponse{
23064			Header:         res.Header,
23065			HTTPStatusCode: res.StatusCode,
23066		},
23067	}
23068	target := &ret
23069	if err := gensupport.DecodeResponse(target, res); err != nil {
23070		return nil, err
23071	}
23072	return ret, nil
23073	// {
23074	//   "description": "Gets one connection type by ID.",
23075	//   "flatPath": "userprofiles/{profileId}/connectionTypes/{id}",
23076	//   "httpMethod": "GET",
23077	//   "id": "dfareporting.connectionTypes.get",
23078	//   "parameterOrder": [
23079	//     "profileId",
23080	//     "id"
23081	//   ],
23082	//   "parameters": {
23083	//     "id": {
23084	//       "description": "Connection type ID.",
23085	//       "format": "int64",
23086	//       "location": "path",
23087	//       "required": true,
23088	//       "type": "string"
23089	//     },
23090	//     "profileId": {
23091	//       "description": "User profile ID associated with this request.",
23092	//       "format": "int64",
23093	//       "location": "path",
23094	//       "required": true,
23095	//       "type": "string"
23096	//     }
23097	//   },
23098	//   "path": "userprofiles/{profileId}/connectionTypes/{id}",
23099	//   "response": {
23100	//     "$ref": "ConnectionType"
23101	//   },
23102	//   "scopes": [
23103	//     "https://www.googleapis.com/auth/dfatrafficking"
23104	//   ]
23105	// }
23106
23107}
23108
23109// method id "dfareporting.connectionTypes.list":
23110
23111type ConnectionTypesListCall struct {
23112	s            *Service
23113	profileId    int64
23114	urlParams_   gensupport.URLParams
23115	ifNoneMatch_ string
23116	ctx_         context.Context
23117	header_      http.Header
23118}
23119
23120// List: Retrieves a list of connection types.
23121//
23122// - profileId: User profile ID associated with this request.
23123func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
23124	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23125	c.profileId = profileId
23126	return c
23127}
23128
23129// Fields allows partial responses to be retrieved. See
23130// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23131// for more information.
23132func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
23133	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23134	return c
23135}
23136
23137// IfNoneMatch sets the optional parameter which makes the operation
23138// fail if the object's ETag matches the given value. This is useful for
23139// getting updates only after the object has changed since the last
23140// request. Use googleapi.IsNotModified to check whether the response
23141// error from Do is the result of In-None-Match.
23142func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
23143	c.ifNoneMatch_ = entityTag
23144	return c
23145}
23146
23147// Context sets the context to be used in this call's Do method. Any
23148// pending HTTP request will be aborted if the provided context is
23149// canceled.
23150func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
23151	c.ctx_ = ctx
23152	return c
23153}
23154
23155// Header returns an http.Header that can be modified by the caller to
23156// add HTTP headers to the request.
23157func (c *ConnectionTypesListCall) Header() http.Header {
23158	if c.header_ == nil {
23159		c.header_ = make(http.Header)
23160	}
23161	return c.header_
23162}
23163
23164func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
23165	reqHeaders := make(http.Header)
23166	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23167	for k, v := range c.header_ {
23168		reqHeaders[k] = v
23169	}
23170	reqHeaders.Set("User-Agent", c.s.userAgent())
23171	if c.ifNoneMatch_ != "" {
23172		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23173	}
23174	var body io.Reader = nil
23175	c.urlParams_.Set("alt", alt)
23176	c.urlParams_.Set("prettyPrint", "false")
23177	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
23178	urls += "?" + c.urlParams_.Encode()
23179	req, err := http.NewRequest("GET", urls, body)
23180	if err != nil {
23181		return nil, err
23182	}
23183	req.Header = reqHeaders
23184	googleapi.Expand(req.URL, map[string]string{
23185		"profileId": strconv.FormatInt(c.profileId, 10),
23186	})
23187	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23188}
23189
23190// Do executes the "dfareporting.connectionTypes.list" call.
23191// Exactly one of *ConnectionTypesListResponse or error will be non-nil.
23192// Any non-2xx status code is an error. Response headers are in either
23193// *ConnectionTypesListResponse.ServerResponse.Header or (if a response
23194// was returned at all) in error.(*googleapi.Error).Header. Use
23195// googleapi.IsNotModified to check whether the returned error was
23196// because http.StatusNotModified was returned.
23197func (c *ConnectionTypesListCall) Do(opts ...googleapi.CallOption) (*ConnectionTypesListResponse, error) {
23198	gensupport.SetOptions(c.urlParams_, opts...)
23199	res, err := c.doRequest("json")
23200	if res != nil && res.StatusCode == http.StatusNotModified {
23201		if res.Body != nil {
23202			res.Body.Close()
23203		}
23204		return nil, &googleapi.Error{
23205			Code:   res.StatusCode,
23206			Header: res.Header,
23207		}
23208	}
23209	if err != nil {
23210		return nil, err
23211	}
23212	defer googleapi.CloseBody(res)
23213	if err := googleapi.CheckResponse(res); err != nil {
23214		return nil, err
23215	}
23216	ret := &ConnectionTypesListResponse{
23217		ServerResponse: googleapi.ServerResponse{
23218			Header:         res.Header,
23219			HTTPStatusCode: res.StatusCode,
23220		},
23221	}
23222	target := &ret
23223	if err := gensupport.DecodeResponse(target, res); err != nil {
23224		return nil, err
23225	}
23226	return ret, nil
23227	// {
23228	//   "description": "Retrieves a list of connection types.",
23229	//   "flatPath": "userprofiles/{profileId}/connectionTypes",
23230	//   "httpMethod": "GET",
23231	//   "id": "dfareporting.connectionTypes.list",
23232	//   "parameterOrder": [
23233	//     "profileId"
23234	//   ],
23235	//   "parameters": {
23236	//     "profileId": {
23237	//       "description": "User profile ID associated with this request.",
23238	//       "format": "int64",
23239	//       "location": "path",
23240	//       "required": true,
23241	//       "type": "string"
23242	//     }
23243	//   },
23244	//   "path": "userprofiles/{profileId}/connectionTypes",
23245	//   "response": {
23246	//     "$ref": "ConnectionTypesListResponse"
23247	//   },
23248	//   "scopes": [
23249	//     "https://www.googleapis.com/auth/dfatrafficking"
23250	//   ]
23251	// }
23252
23253}
23254
23255// method id "dfareporting.contentCategories.delete":
23256
23257type ContentCategoriesDeleteCall struct {
23258	s          *Service
23259	profileId  int64
23260	id         int64
23261	urlParams_ gensupport.URLParams
23262	ctx_       context.Context
23263	header_    http.Header
23264}
23265
23266// Delete: Deletes an existing content category.
23267//
23268// - id: Content category ID.
23269// - profileId: User profile ID associated with this request.
23270func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
23271	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23272	c.profileId = profileId
23273	c.id = id
23274	return c
23275}
23276
23277// Fields allows partial responses to be retrieved. See
23278// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23279// for more information.
23280func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
23281	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23282	return c
23283}
23284
23285// Context sets the context to be used in this call's Do method. Any
23286// pending HTTP request will be aborted if the provided context is
23287// canceled.
23288func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
23289	c.ctx_ = ctx
23290	return c
23291}
23292
23293// Header returns an http.Header that can be modified by the caller to
23294// add HTTP headers to the request.
23295func (c *ContentCategoriesDeleteCall) Header() http.Header {
23296	if c.header_ == nil {
23297		c.header_ = make(http.Header)
23298	}
23299	return c.header_
23300}
23301
23302func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
23303	reqHeaders := make(http.Header)
23304	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23305	for k, v := range c.header_ {
23306		reqHeaders[k] = v
23307	}
23308	reqHeaders.Set("User-Agent", c.s.userAgent())
23309	var body io.Reader = nil
23310	c.urlParams_.Set("alt", alt)
23311	c.urlParams_.Set("prettyPrint", "false")
23312	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
23313	urls += "?" + c.urlParams_.Encode()
23314	req, err := http.NewRequest("DELETE", urls, body)
23315	if err != nil {
23316		return nil, err
23317	}
23318	req.Header = reqHeaders
23319	googleapi.Expand(req.URL, map[string]string{
23320		"profileId": strconv.FormatInt(c.profileId, 10),
23321		"id":        strconv.FormatInt(c.id, 10),
23322	})
23323	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23324}
23325
23326// Do executes the "dfareporting.contentCategories.delete" call.
23327func (c *ContentCategoriesDeleteCall) Do(opts ...googleapi.CallOption) error {
23328	gensupport.SetOptions(c.urlParams_, opts...)
23329	res, err := c.doRequest("json")
23330	if err != nil {
23331		return err
23332	}
23333	defer googleapi.CloseBody(res)
23334	if err := googleapi.CheckResponse(res); err != nil {
23335		return err
23336	}
23337	return nil
23338	// {
23339	//   "description": "Deletes an existing content category.",
23340	//   "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
23341	//   "httpMethod": "DELETE",
23342	//   "id": "dfareporting.contentCategories.delete",
23343	//   "parameterOrder": [
23344	//     "profileId",
23345	//     "id"
23346	//   ],
23347	//   "parameters": {
23348	//     "id": {
23349	//       "description": "Content category ID.",
23350	//       "format": "int64",
23351	//       "location": "path",
23352	//       "required": true,
23353	//       "type": "string"
23354	//     },
23355	//     "profileId": {
23356	//       "description": "User profile ID associated with this request.",
23357	//       "format": "int64",
23358	//       "location": "path",
23359	//       "required": true,
23360	//       "type": "string"
23361	//     }
23362	//   },
23363	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
23364	//   "scopes": [
23365	//     "https://www.googleapis.com/auth/dfatrafficking"
23366	//   ]
23367	// }
23368
23369}
23370
23371// method id "dfareporting.contentCategories.get":
23372
23373type ContentCategoriesGetCall struct {
23374	s            *Service
23375	profileId    int64
23376	id           int64
23377	urlParams_   gensupport.URLParams
23378	ifNoneMatch_ string
23379	ctx_         context.Context
23380	header_      http.Header
23381}
23382
23383// Get: Gets one content category by ID.
23384//
23385// - id: Content category ID.
23386// - profileId: User profile ID associated with this request.
23387func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
23388	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23389	c.profileId = profileId
23390	c.id = id
23391	return c
23392}
23393
23394// Fields allows partial responses to be retrieved. See
23395// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23396// for more information.
23397func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
23398	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23399	return c
23400}
23401
23402// IfNoneMatch sets the optional parameter which makes the operation
23403// fail if the object's ETag matches the given value. This is useful for
23404// getting updates only after the object has changed since the last
23405// request. Use googleapi.IsNotModified to check whether the response
23406// error from Do is the result of In-None-Match.
23407func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
23408	c.ifNoneMatch_ = entityTag
23409	return c
23410}
23411
23412// Context sets the context to be used in this call's Do method. Any
23413// pending HTTP request will be aborted if the provided context is
23414// canceled.
23415func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
23416	c.ctx_ = ctx
23417	return c
23418}
23419
23420// Header returns an http.Header that can be modified by the caller to
23421// add HTTP headers to the request.
23422func (c *ContentCategoriesGetCall) Header() http.Header {
23423	if c.header_ == nil {
23424		c.header_ = make(http.Header)
23425	}
23426	return c.header_
23427}
23428
23429func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
23430	reqHeaders := make(http.Header)
23431	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23432	for k, v := range c.header_ {
23433		reqHeaders[k] = v
23434	}
23435	reqHeaders.Set("User-Agent", c.s.userAgent())
23436	if c.ifNoneMatch_ != "" {
23437		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23438	}
23439	var body io.Reader = nil
23440	c.urlParams_.Set("alt", alt)
23441	c.urlParams_.Set("prettyPrint", "false")
23442	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
23443	urls += "?" + c.urlParams_.Encode()
23444	req, err := http.NewRequest("GET", urls, body)
23445	if err != nil {
23446		return nil, err
23447	}
23448	req.Header = reqHeaders
23449	googleapi.Expand(req.URL, map[string]string{
23450		"profileId": strconv.FormatInt(c.profileId, 10),
23451		"id":        strconv.FormatInt(c.id, 10),
23452	})
23453	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23454}
23455
23456// Do executes the "dfareporting.contentCategories.get" call.
23457// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
23458// status code is an error. Response headers are in either
23459// *ContentCategory.ServerResponse.Header or (if a response was returned
23460// at all) in error.(*googleapi.Error).Header. Use
23461// googleapi.IsNotModified to check whether the returned error was
23462// because http.StatusNotModified was returned.
23463func (c *ContentCategoriesGetCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
23464	gensupport.SetOptions(c.urlParams_, opts...)
23465	res, err := c.doRequest("json")
23466	if res != nil && res.StatusCode == http.StatusNotModified {
23467		if res.Body != nil {
23468			res.Body.Close()
23469		}
23470		return nil, &googleapi.Error{
23471			Code:   res.StatusCode,
23472			Header: res.Header,
23473		}
23474	}
23475	if err != nil {
23476		return nil, err
23477	}
23478	defer googleapi.CloseBody(res)
23479	if err := googleapi.CheckResponse(res); err != nil {
23480		return nil, err
23481	}
23482	ret := &ContentCategory{
23483		ServerResponse: googleapi.ServerResponse{
23484			Header:         res.Header,
23485			HTTPStatusCode: res.StatusCode,
23486		},
23487	}
23488	target := &ret
23489	if err := gensupport.DecodeResponse(target, res); err != nil {
23490		return nil, err
23491	}
23492	return ret, nil
23493	// {
23494	//   "description": "Gets one content category by ID.",
23495	//   "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
23496	//   "httpMethod": "GET",
23497	//   "id": "dfareporting.contentCategories.get",
23498	//   "parameterOrder": [
23499	//     "profileId",
23500	//     "id"
23501	//   ],
23502	//   "parameters": {
23503	//     "id": {
23504	//       "description": "Content category ID.",
23505	//       "format": "int64",
23506	//       "location": "path",
23507	//       "required": true,
23508	//       "type": "string"
23509	//     },
23510	//     "profileId": {
23511	//       "description": "User profile ID associated with this request.",
23512	//       "format": "int64",
23513	//       "location": "path",
23514	//       "required": true,
23515	//       "type": "string"
23516	//     }
23517	//   },
23518	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
23519	//   "response": {
23520	//     "$ref": "ContentCategory"
23521	//   },
23522	//   "scopes": [
23523	//     "https://www.googleapis.com/auth/dfatrafficking"
23524	//   ]
23525	// }
23526
23527}
23528
23529// method id "dfareporting.contentCategories.insert":
23530
23531type ContentCategoriesInsertCall struct {
23532	s               *Service
23533	profileId       int64
23534	contentcategory *ContentCategory
23535	urlParams_      gensupport.URLParams
23536	ctx_            context.Context
23537	header_         http.Header
23538}
23539
23540// Insert: Inserts a new content category.
23541//
23542// - profileId: User profile ID associated with this request.
23543func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
23544	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23545	c.profileId = profileId
23546	c.contentcategory = contentcategory
23547	return c
23548}
23549
23550// Fields allows partial responses to be retrieved. See
23551// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23552// for more information.
23553func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
23554	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23555	return c
23556}
23557
23558// Context sets the context to be used in this call's Do method. Any
23559// pending HTTP request will be aborted if the provided context is
23560// canceled.
23561func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
23562	c.ctx_ = ctx
23563	return c
23564}
23565
23566// Header returns an http.Header that can be modified by the caller to
23567// add HTTP headers to the request.
23568func (c *ContentCategoriesInsertCall) Header() http.Header {
23569	if c.header_ == nil {
23570		c.header_ = make(http.Header)
23571	}
23572	return c.header_
23573}
23574
23575func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
23576	reqHeaders := make(http.Header)
23577	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23578	for k, v := range c.header_ {
23579		reqHeaders[k] = v
23580	}
23581	reqHeaders.Set("User-Agent", c.s.userAgent())
23582	var body io.Reader = nil
23583	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
23584	if err != nil {
23585		return nil, err
23586	}
23587	reqHeaders.Set("Content-Type", "application/json")
23588	c.urlParams_.Set("alt", alt)
23589	c.urlParams_.Set("prettyPrint", "false")
23590	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
23591	urls += "?" + c.urlParams_.Encode()
23592	req, err := http.NewRequest("POST", urls, body)
23593	if err != nil {
23594		return nil, err
23595	}
23596	req.Header = reqHeaders
23597	googleapi.Expand(req.URL, map[string]string{
23598		"profileId": strconv.FormatInt(c.profileId, 10),
23599	})
23600	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23601}
23602
23603// Do executes the "dfareporting.contentCategories.insert" call.
23604// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
23605// status code is an error. Response headers are in either
23606// *ContentCategory.ServerResponse.Header or (if a response was returned
23607// at all) in error.(*googleapi.Error).Header. Use
23608// googleapi.IsNotModified to check whether the returned error was
23609// because http.StatusNotModified was returned.
23610func (c *ContentCategoriesInsertCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
23611	gensupport.SetOptions(c.urlParams_, opts...)
23612	res, err := c.doRequest("json")
23613	if res != nil && res.StatusCode == http.StatusNotModified {
23614		if res.Body != nil {
23615			res.Body.Close()
23616		}
23617		return nil, &googleapi.Error{
23618			Code:   res.StatusCode,
23619			Header: res.Header,
23620		}
23621	}
23622	if err != nil {
23623		return nil, err
23624	}
23625	defer googleapi.CloseBody(res)
23626	if err := googleapi.CheckResponse(res); err != nil {
23627		return nil, err
23628	}
23629	ret := &ContentCategory{
23630		ServerResponse: googleapi.ServerResponse{
23631			Header:         res.Header,
23632			HTTPStatusCode: res.StatusCode,
23633		},
23634	}
23635	target := &ret
23636	if err := gensupport.DecodeResponse(target, res); err != nil {
23637		return nil, err
23638	}
23639	return ret, nil
23640	// {
23641	//   "description": "Inserts a new content category.",
23642	//   "flatPath": "userprofiles/{profileId}/contentCategories",
23643	//   "httpMethod": "POST",
23644	//   "id": "dfareporting.contentCategories.insert",
23645	//   "parameterOrder": [
23646	//     "profileId"
23647	//   ],
23648	//   "parameters": {
23649	//     "profileId": {
23650	//       "description": "User profile ID associated with this request.",
23651	//       "format": "int64",
23652	//       "location": "path",
23653	//       "required": true,
23654	//       "type": "string"
23655	//     }
23656	//   },
23657	//   "path": "userprofiles/{profileId}/contentCategories",
23658	//   "request": {
23659	//     "$ref": "ContentCategory"
23660	//   },
23661	//   "response": {
23662	//     "$ref": "ContentCategory"
23663	//   },
23664	//   "scopes": [
23665	//     "https://www.googleapis.com/auth/dfatrafficking"
23666	//   ]
23667	// }
23668
23669}
23670
23671// method id "dfareporting.contentCategories.list":
23672
23673type ContentCategoriesListCall struct {
23674	s            *Service
23675	profileId    int64
23676	urlParams_   gensupport.URLParams
23677	ifNoneMatch_ string
23678	ctx_         context.Context
23679	header_      http.Header
23680}
23681
23682// List: Retrieves a list of content categories, possibly filtered. This
23683// method supports paging.
23684//
23685// - profileId: User profile ID associated with this request.
23686func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
23687	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23688	c.profileId = profileId
23689	return c
23690}
23691
23692// Ids sets the optional parameter "ids": Select only content categories
23693// with these IDs.
23694func (c *ContentCategoriesListCall) Ids(ids ...int64) *ContentCategoriesListCall {
23695	var ids_ []string
23696	for _, v := range ids {
23697		ids_ = append(ids_, fmt.Sprint(v))
23698	}
23699	c.urlParams_.SetMulti("ids", ids_)
23700	return c
23701}
23702
23703// MaxResults sets the optional parameter "maxResults": Maximum number
23704// of results to return.
23705func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
23706	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
23707	return c
23708}
23709
23710// PageToken sets the optional parameter "pageToken": Value of the
23711// nextPageToken from the previous result page.
23712func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
23713	c.urlParams_.Set("pageToken", pageToken)
23714	return c
23715}
23716
23717// SearchString sets the optional parameter "searchString": Allows
23718// searching for objects by name or ID. Wildcards (*) are allowed. For
23719// example, "contentcategory*2015" will return objects with names like
23720// "contentcategory June 2015", "contentcategory April 2015", or simply
23721// "contentcategory 2015". Most of the searches also add wildcards
23722// implicitly at the start and the end of the search string. For
23723// example, a search string of "contentcategory" will match objects with
23724// name "my contentcategory", "contentcategory 2015", or simply
23725// "contentcategory".
23726func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
23727	c.urlParams_.Set("searchString", searchString)
23728	return c
23729}
23730
23731// SortField sets the optional parameter "sortField": Field by which to
23732// sort the list.
23733//
23734// Possible values:
23735//   "ID" (default)
23736//   "NAME"
23737func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
23738	c.urlParams_.Set("sortField", sortField)
23739	return c
23740}
23741
23742// SortOrder sets the optional parameter "sortOrder": Order of sorted
23743// results.
23744//
23745// Possible values:
23746//   "ASCENDING" (default)
23747//   "DESCENDING"
23748func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
23749	c.urlParams_.Set("sortOrder", sortOrder)
23750	return c
23751}
23752
23753// Fields allows partial responses to be retrieved. See
23754// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23755// for more information.
23756func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
23757	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23758	return c
23759}
23760
23761// IfNoneMatch sets the optional parameter which makes the operation
23762// fail if the object's ETag matches the given value. This is useful for
23763// getting updates only after the object has changed since the last
23764// request. Use googleapi.IsNotModified to check whether the response
23765// error from Do is the result of In-None-Match.
23766func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
23767	c.ifNoneMatch_ = entityTag
23768	return c
23769}
23770
23771// Context sets the context to be used in this call's Do method. Any
23772// pending HTTP request will be aborted if the provided context is
23773// canceled.
23774func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
23775	c.ctx_ = ctx
23776	return c
23777}
23778
23779// Header returns an http.Header that can be modified by the caller to
23780// add HTTP headers to the request.
23781func (c *ContentCategoriesListCall) Header() http.Header {
23782	if c.header_ == nil {
23783		c.header_ = make(http.Header)
23784	}
23785	return c.header_
23786}
23787
23788func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
23789	reqHeaders := make(http.Header)
23790	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
23791	for k, v := range c.header_ {
23792		reqHeaders[k] = v
23793	}
23794	reqHeaders.Set("User-Agent", c.s.userAgent())
23795	if c.ifNoneMatch_ != "" {
23796		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23797	}
23798	var body io.Reader = nil
23799	c.urlParams_.Set("alt", alt)
23800	c.urlParams_.Set("prettyPrint", "false")
23801	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
23802	urls += "?" + c.urlParams_.Encode()
23803	req, err := http.NewRequest("GET", urls, body)
23804	if err != nil {
23805		return nil, err
23806	}
23807	req.Header = reqHeaders
23808	googleapi.Expand(req.URL, map[string]string{
23809		"profileId": strconv.FormatInt(c.profileId, 10),
23810	})
23811	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23812}
23813
23814// Do executes the "dfareporting.contentCategories.list" call.
23815// Exactly one of *ContentCategoriesListResponse or error will be
23816// non-nil. Any non-2xx status code is an error. Response headers are in
23817// either *ContentCategoriesListResponse.ServerResponse.Header or (if a
23818// response was returned at all) in error.(*googleapi.Error).Header. Use
23819// googleapi.IsNotModified to check whether the returned error was
23820// because http.StatusNotModified was returned.
23821func (c *ContentCategoriesListCall) Do(opts ...googleapi.CallOption) (*ContentCategoriesListResponse, error) {
23822	gensupport.SetOptions(c.urlParams_, opts...)
23823	res, err := c.doRequest("json")
23824	if res != nil && res.StatusCode == http.StatusNotModified {
23825		if res.Body != nil {
23826			res.Body.Close()
23827		}
23828		return nil, &googleapi.Error{
23829			Code:   res.StatusCode,
23830			Header: res.Header,
23831		}
23832	}
23833	if err != nil {
23834		return nil, err
23835	}
23836	defer googleapi.CloseBody(res)
23837	if err := googleapi.CheckResponse(res); err != nil {
23838		return nil, err
23839	}
23840	ret := &ContentCategoriesListResponse{
23841		ServerResponse: googleapi.ServerResponse{
23842			Header:         res.Header,
23843			HTTPStatusCode: res.StatusCode,
23844		},
23845	}
23846	target := &ret
23847	if err := gensupport.DecodeResponse(target, res); err != nil {
23848		return nil, err
23849	}
23850	return ret, nil
23851	// {
23852	//   "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
23853	//   "flatPath": "userprofiles/{profileId}/contentCategories",
23854	//   "httpMethod": "GET",
23855	//   "id": "dfareporting.contentCategories.list",
23856	//   "parameterOrder": [
23857	//     "profileId"
23858	//   ],
23859	//   "parameters": {
23860	//     "ids": {
23861	//       "description": "Select only content categories with these IDs.",
23862	//       "format": "int64",
23863	//       "location": "query",
23864	//       "repeated": true,
23865	//       "type": "string"
23866	//     },
23867	//     "maxResults": {
23868	//       "default": "1000",
23869	//       "description": "Maximum number of results to return.",
23870	//       "format": "int32",
23871	//       "location": "query",
23872	//       "maximum": "1000",
23873	//       "minimum": "0",
23874	//       "type": "integer"
23875	//     },
23876	//     "pageToken": {
23877	//       "description": "Value of the nextPageToken from the previous result page.",
23878	//       "location": "query",
23879	//       "type": "string"
23880	//     },
23881	//     "profileId": {
23882	//       "description": "User profile ID associated with this request.",
23883	//       "format": "int64",
23884	//       "location": "path",
23885	//       "required": true,
23886	//       "type": "string"
23887	//     },
23888	//     "searchString": {
23889	//       "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\".",
23890	//       "location": "query",
23891	//       "type": "string"
23892	//     },
23893	//     "sortField": {
23894	//       "default": "ID",
23895	//       "description": "Field by which to sort the list.",
23896	//       "enum": [
23897	//         "ID",
23898	//         "NAME"
23899	//       ],
23900	//       "enumDescriptions": [
23901	//         "",
23902	//         ""
23903	//       ],
23904	//       "location": "query",
23905	//       "type": "string"
23906	//     },
23907	//     "sortOrder": {
23908	//       "default": "ASCENDING",
23909	//       "description": "Order of sorted results.",
23910	//       "enum": [
23911	//         "ASCENDING",
23912	//         "DESCENDING"
23913	//       ],
23914	//       "enumDescriptions": [
23915	//         "",
23916	//         ""
23917	//       ],
23918	//       "location": "query",
23919	//       "type": "string"
23920	//     }
23921	//   },
23922	//   "path": "userprofiles/{profileId}/contentCategories",
23923	//   "response": {
23924	//     "$ref": "ContentCategoriesListResponse"
23925	//   },
23926	//   "scopes": [
23927	//     "https://www.googleapis.com/auth/dfatrafficking"
23928	//   ]
23929	// }
23930
23931}
23932
23933// Pages invokes f for each page of results.
23934// A non-nil error returned from f will halt the iteration.
23935// The provided context supersedes any context provided to the Context method.
23936func (c *ContentCategoriesListCall) Pages(ctx context.Context, f func(*ContentCategoriesListResponse) error) error {
23937	c.ctx_ = ctx
23938	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
23939	for {
23940		x, err := c.Do()
23941		if err != nil {
23942			return err
23943		}
23944		if err := f(x); err != nil {
23945			return err
23946		}
23947		if x.NextPageToken == "" {
23948			return nil
23949		}
23950		c.PageToken(x.NextPageToken)
23951	}
23952}
23953
23954// method id "dfareporting.contentCategories.patch":
23955
23956type ContentCategoriesPatchCall struct {
23957	s               *Service
23958	profileId       int64
23959	contentcategory *ContentCategory
23960	urlParams_      gensupport.URLParams
23961	ctx_            context.Context
23962	header_         http.Header
23963}
23964
23965// Patch: Updates an existing content category. This method supports
23966// patch semantics.
23967//
23968// - id: ContentCategory ID.
23969// - profileId: User profile ID associated with this request.
23970func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
23971	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23972	c.profileId = profileId
23973	c.urlParams_.Set("id", fmt.Sprint(id))
23974	c.contentcategory = contentcategory
23975	return c
23976}
23977
23978// Fields allows partial responses to be retrieved. See
23979// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23980// for more information.
23981func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
23982	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23983	return c
23984}
23985
23986// Context sets the context to be used in this call's Do method. Any
23987// pending HTTP request will be aborted if the provided context is
23988// canceled.
23989func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
23990	c.ctx_ = ctx
23991	return c
23992}
23993
23994// Header returns an http.Header that can be modified by the caller to
23995// add HTTP headers to the request.
23996func (c *ContentCategoriesPatchCall) Header() http.Header {
23997	if c.header_ == nil {
23998		c.header_ = make(http.Header)
23999	}
24000	return c.header_
24001}
24002
24003func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
24004	reqHeaders := make(http.Header)
24005	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24006	for k, v := range c.header_ {
24007		reqHeaders[k] = v
24008	}
24009	reqHeaders.Set("User-Agent", c.s.userAgent())
24010	var body io.Reader = nil
24011	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
24012	if err != nil {
24013		return nil, err
24014	}
24015	reqHeaders.Set("Content-Type", "application/json")
24016	c.urlParams_.Set("alt", alt)
24017	c.urlParams_.Set("prettyPrint", "false")
24018	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
24019	urls += "?" + c.urlParams_.Encode()
24020	req, err := http.NewRequest("PATCH", urls, body)
24021	if err != nil {
24022		return nil, err
24023	}
24024	req.Header = reqHeaders
24025	googleapi.Expand(req.URL, map[string]string{
24026		"profileId": strconv.FormatInt(c.profileId, 10),
24027	})
24028	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24029}
24030
24031// Do executes the "dfareporting.contentCategories.patch" call.
24032// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
24033// status code is an error. Response headers are in either
24034// *ContentCategory.ServerResponse.Header or (if a response was returned
24035// at all) in error.(*googleapi.Error).Header. Use
24036// googleapi.IsNotModified to check whether the returned error was
24037// because http.StatusNotModified was returned.
24038func (c *ContentCategoriesPatchCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
24039	gensupport.SetOptions(c.urlParams_, opts...)
24040	res, err := c.doRequest("json")
24041	if res != nil && res.StatusCode == http.StatusNotModified {
24042		if res.Body != nil {
24043			res.Body.Close()
24044		}
24045		return nil, &googleapi.Error{
24046			Code:   res.StatusCode,
24047			Header: res.Header,
24048		}
24049	}
24050	if err != nil {
24051		return nil, err
24052	}
24053	defer googleapi.CloseBody(res)
24054	if err := googleapi.CheckResponse(res); err != nil {
24055		return nil, err
24056	}
24057	ret := &ContentCategory{
24058		ServerResponse: googleapi.ServerResponse{
24059			Header:         res.Header,
24060			HTTPStatusCode: res.StatusCode,
24061		},
24062	}
24063	target := &ret
24064	if err := gensupport.DecodeResponse(target, res); err != nil {
24065		return nil, err
24066	}
24067	return ret, nil
24068	// {
24069	//   "description": "Updates an existing content category. This method supports patch semantics.",
24070	//   "flatPath": "userprofiles/{profileId}/contentCategories",
24071	//   "httpMethod": "PATCH",
24072	//   "id": "dfareporting.contentCategories.patch",
24073	//   "parameterOrder": [
24074	//     "profileId",
24075	//     "id"
24076	//   ],
24077	//   "parameters": {
24078	//     "id": {
24079	//       "description": "ContentCategory ID.",
24080	//       "format": "int64",
24081	//       "location": "query",
24082	//       "required": true,
24083	//       "type": "string"
24084	//     },
24085	//     "profileId": {
24086	//       "description": "User profile ID associated with this request.",
24087	//       "format": "int64",
24088	//       "location": "path",
24089	//       "required": true,
24090	//       "type": "string"
24091	//     }
24092	//   },
24093	//   "path": "userprofiles/{profileId}/contentCategories",
24094	//   "request": {
24095	//     "$ref": "ContentCategory"
24096	//   },
24097	//   "response": {
24098	//     "$ref": "ContentCategory"
24099	//   },
24100	//   "scopes": [
24101	//     "https://www.googleapis.com/auth/dfatrafficking"
24102	//   ]
24103	// }
24104
24105}
24106
24107// method id "dfareporting.contentCategories.update":
24108
24109type ContentCategoriesUpdateCall struct {
24110	s               *Service
24111	profileId       int64
24112	contentcategory *ContentCategory
24113	urlParams_      gensupport.URLParams
24114	ctx_            context.Context
24115	header_         http.Header
24116}
24117
24118// Update: Updates an existing content category.
24119//
24120// - profileId: User profile ID associated with this request.
24121func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
24122	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24123	c.profileId = profileId
24124	c.contentcategory = contentcategory
24125	return c
24126}
24127
24128// Fields allows partial responses to be retrieved. See
24129// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24130// for more information.
24131func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
24132	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24133	return c
24134}
24135
24136// Context sets the context to be used in this call's Do method. Any
24137// pending HTTP request will be aborted if the provided context is
24138// canceled.
24139func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
24140	c.ctx_ = ctx
24141	return c
24142}
24143
24144// Header returns an http.Header that can be modified by the caller to
24145// add HTTP headers to the request.
24146func (c *ContentCategoriesUpdateCall) Header() http.Header {
24147	if c.header_ == nil {
24148		c.header_ = make(http.Header)
24149	}
24150	return c.header_
24151}
24152
24153func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
24154	reqHeaders := make(http.Header)
24155	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24156	for k, v := range c.header_ {
24157		reqHeaders[k] = v
24158	}
24159	reqHeaders.Set("User-Agent", c.s.userAgent())
24160	var body io.Reader = nil
24161	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
24162	if err != nil {
24163		return nil, err
24164	}
24165	reqHeaders.Set("Content-Type", "application/json")
24166	c.urlParams_.Set("alt", alt)
24167	c.urlParams_.Set("prettyPrint", "false")
24168	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
24169	urls += "?" + c.urlParams_.Encode()
24170	req, err := http.NewRequest("PUT", urls, body)
24171	if err != nil {
24172		return nil, err
24173	}
24174	req.Header = reqHeaders
24175	googleapi.Expand(req.URL, map[string]string{
24176		"profileId": strconv.FormatInt(c.profileId, 10),
24177	})
24178	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24179}
24180
24181// Do executes the "dfareporting.contentCategories.update" call.
24182// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
24183// status code is an error. Response headers are in either
24184// *ContentCategory.ServerResponse.Header or (if a response was returned
24185// at all) in error.(*googleapi.Error).Header. Use
24186// googleapi.IsNotModified to check whether the returned error was
24187// because http.StatusNotModified was returned.
24188func (c *ContentCategoriesUpdateCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
24189	gensupport.SetOptions(c.urlParams_, opts...)
24190	res, err := c.doRequest("json")
24191	if res != nil && res.StatusCode == http.StatusNotModified {
24192		if res.Body != nil {
24193			res.Body.Close()
24194		}
24195		return nil, &googleapi.Error{
24196			Code:   res.StatusCode,
24197			Header: res.Header,
24198		}
24199	}
24200	if err != nil {
24201		return nil, err
24202	}
24203	defer googleapi.CloseBody(res)
24204	if err := googleapi.CheckResponse(res); err != nil {
24205		return nil, err
24206	}
24207	ret := &ContentCategory{
24208		ServerResponse: googleapi.ServerResponse{
24209			Header:         res.Header,
24210			HTTPStatusCode: res.StatusCode,
24211		},
24212	}
24213	target := &ret
24214	if err := gensupport.DecodeResponse(target, res); err != nil {
24215		return nil, err
24216	}
24217	return ret, nil
24218	// {
24219	//   "description": "Updates an existing content category.",
24220	//   "flatPath": "userprofiles/{profileId}/contentCategories",
24221	//   "httpMethod": "PUT",
24222	//   "id": "dfareporting.contentCategories.update",
24223	//   "parameterOrder": [
24224	//     "profileId"
24225	//   ],
24226	//   "parameters": {
24227	//     "profileId": {
24228	//       "description": "User profile ID associated with this request.",
24229	//       "format": "int64",
24230	//       "location": "path",
24231	//       "required": true,
24232	//       "type": "string"
24233	//     }
24234	//   },
24235	//   "path": "userprofiles/{profileId}/contentCategories",
24236	//   "request": {
24237	//     "$ref": "ContentCategory"
24238	//   },
24239	//   "response": {
24240	//     "$ref": "ContentCategory"
24241	//   },
24242	//   "scopes": [
24243	//     "https://www.googleapis.com/auth/dfatrafficking"
24244	//   ]
24245	// }
24246
24247}
24248
24249// method id "dfareporting.conversions.batchinsert":
24250
24251type ConversionsBatchinsertCall struct {
24252	s                             *Service
24253	profileId                     int64
24254	conversionsbatchinsertrequest *ConversionsBatchInsertRequest
24255	urlParams_                    gensupport.URLParams
24256	ctx_                          context.Context
24257	header_                       http.Header
24258}
24259
24260// Batchinsert: Inserts conversions.
24261//
24262// - profileId: User profile ID associated with this request.
24263func (r *ConversionsService) Batchinsert(profileId int64, conversionsbatchinsertrequest *ConversionsBatchInsertRequest) *ConversionsBatchinsertCall {
24264	c := &ConversionsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24265	c.profileId = profileId
24266	c.conversionsbatchinsertrequest = conversionsbatchinsertrequest
24267	return c
24268}
24269
24270// Fields allows partial responses to be retrieved. See
24271// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24272// for more information.
24273func (c *ConversionsBatchinsertCall) Fields(s ...googleapi.Field) *ConversionsBatchinsertCall {
24274	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24275	return c
24276}
24277
24278// Context sets the context to be used in this call's Do method. Any
24279// pending HTTP request will be aborted if the provided context is
24280// canceled.
24281func (c *ConversionsBatchinsertCall) Context(ctx context.Context) *ConversionsBatchinsertCall {
24282	c.ctx_ = ctx
24283	return c
24284}
24285
24286// Header returns an http.Header that can be modified by the caller to
24287// add HTTP headers to the request.
24288func (c *ConversionsBatchinsertCall) Header() http.Header {
24289	if c.header_ == nil {
24290		c.header_ = make(http.Header)
24291	}
24292	return c.header_
24293}
24294
24295func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
24296	reqHeaders := make(http.Header)
24297	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24298	for k, v := range c.header_ {
24299		reqHeaders[k] = v
24300	}
24301	reqHeaders.Set("User-Agent", c.s.userAgent())
24302	var body io.Reader = nil
24303	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchinsertrequest)
24304	if err != nil {
24305		return nil, err
24306	}
24307	reqHeaders.Set("Content-Type", "application/json")
24308	c.urlParams_.Set("alt", alt)
24309	c.urlParams_.Set("prettyPrint", "false")
24310	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchinsert")
24311	urls += "?" + c.urlParams_.Encode()
24312	req, err := http.NewRequest("POST", urls, body)
24313	if err != nil {
24314		return nil, err
24315	}
24316	req.Header = reqHeaders
24317	googleapi.Expand(req.URL, map[string]string{
24318		"profileId": strconv.FormatInt(c.profileId, 10),
24319	})
24320	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24321}
24322
24323// Do executes the "dfareporting.conversions.batchinsert" call.
24324// Exactly one of *ConversionsBatchInsertResponse or error will be
24325// non-nil. Any non-2xx status code is an error. Response headers are in
24326// either *ConversionsBatchInsertResponse.ServerResponse.Header or (if a
24327// response was returned at all) in error.(*googleapi.Error).Header. Use
24328// googleapi.IsNotModified to check whether the returned error was
24329// because http.StatusNotModified was returned.
24330func (c *ConversionsBatchinsertCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchInsertResponse, error) {
24331	gensupport.SetOptions(c.urlParams_, opts...)
24332	res, err := c.doRequest("json")
24333	if res != nil && res.StatusCode == http.StatusNotModified {
24334		if res.Body != nil {
24335			res.Body.Close()
24336		}
24337		return nil, &googleapi.Error{
24338			Code:   res.StatusCode,
24339			Header: res.Header,
24340		}
24341	}
24342	if err != nil {
24343		return nil, err
24344	}
24345	defer googleapi.CloseBody(res)
24346	if err := googleapi.CheckResponse(res); err != nil {
24347		return nil, err
24348	}
24349	ret := &ConversionsBatchInsertResponse{
24350		ServerResponse: googleapi.ServerResponse{
24351			Header:         res.Header,
24352			HTTPStatusCode: res.StatusCode,
24353		},
24354	}
24355	target := &ret
24356	if err := gensupport.DecodeResponse(target, res); err != nil {
24357		return nil, err
24358	}
24359	return ret, nil
24360	// {
24361	//   "description": "Inserts conversions.",
24362	//   "flatPath": "userprofiles/{profileId}/conversions/batchinsert",
24363	//   "httpMethod": "POST",
24364	//   "id": "dfareporting.conversions.batchinsert",
24365	//   "parameterOrder": [
24366	//     "profileId"
24367	//   ],
24368	//   "parameters": {
24369	//     "profileId": {
24370	//       "description": "User profile ID associated with this request.",
24371	//       "format": "int64",
24372	//       "location": "path",
24373	//       "required": true,
24374	//       "type": "string"
24375	//     }
24376	//   },
24377	//   "path": "userprofiles/{profileId}/conversions/batchinsert",
24378	//   "request": {
24379	//     "$ref": "ConversionsBatchInsertRequest"
24380	//   },
24381	//   "response": {
24382	//     "$ref": "ConversionsBatchInsertResponse"
24383	//   },
24384	//   "scopes": [
24385	//     "https://www.googleapis.com/auth/ddmconversions"
24386	//   ]
24387	// }
24388
24389}
24390
24391// method id "dfareporting.conversions.batchupdate":
24392
24393type ConversionsBatchupdateCall struct {
24394	s                             *Service
24395	profileId                     int64
24396	conversionsbatchupdaterequest *ConversionsBatchUpdateRequest
24397	urlParams_                    gensupport.URLParams
24398	ctx_                          context.Context
24399	header_                       http.Header
24400}
24401
24402// Batchupdate: Updates existing conversions.
24403//
24404// - profileId: User profile ID associated with this request.
24405func (r *ConversionsService) Batchupdate(profileId int64, conversionsbatchupdaterequest *ConversionsBatchUpdateRequest) *ConversionsBatchupdateCall {
24406	c := &ConversionsBatchupdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24407	c.profileId = profileId
24408	c.conversionsbatchupdaterequest = conversionsbatchupdaterequest
24409	return c
24410}
24411
24412// Fields allows partial responses to be retrieved. See
24413// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24414// for more information.
24415func (c *ConversionsBatchupdateCall) Fields(s ...googleapi.Field) *ConversionsBatchupdateCall {
24416	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24417	return c
24418}
24419
24420// Context sets the context to be used in this call's Do method. Any
24421// pending HTTP request will be aborted if the provided context is
24422// canceled.
24423func (c *ConversionsBatchupdateCall) Context(ctx context.Context) *ConversionsBatchupdateCall {
24424	c.ctx_ = ctx
24425	return c
24426}
24427
24428// Header returns an http.Header that can be modified by the caller to
24429// add HTTP headers to the request.
24430func (c *ConversionsBatchupdateCall) Header() http.Header {
24431	if c.header_ == nil {
24432		c.header_ = make(http.Header)
24433	}
24434	return c.header_
24435}
24436
24437func (c *ConversionsBatchupdateCall) doRequest(alt string) (*http.Response, error) {
24438	reqHeaders := make(http.Header)
24439	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24440	for k, v := range c.header_ {
24441		reqHeaders[k] = v
24442	}
24443	reqHeaders.Set("User-Agent", c.s.userAgent())
24444	var body io.Reader = nil
24445	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchupdaterequest)
24446	if err != nil {
24447		return nil, err
24448	}
24449	reqHeaders.Set("Content-Type", "application/json")
24450	c.urlParams_.Set("alt", alt)
24451	c.urlParams_.Set("prettyPrint", "false")
24452	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchupdate")
24453	urls += "?" + c.urlParams_.Encode()
24454	req, err := http.NewRequest("POST", urls, body)
24455	if err != nil {
24456		return nil, err
24457	}
24458	req.Header = reqHeaders
24459	googleapi.Expand(req.URL, map[string]string{
24460		"profileId": strconv.FormatInt(c.profileId, 10),
24461	})
24462	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24463}
24464
24465// Do executes the "dfareporting.conversions.batchupdate" call.
24466// Exactly one of *ConversionsBatchUpdateResponse or error will be
24467// non-nil. Any non-2xx status code is an error. Response headers are in
24468// either *ConversionsBatchUpdateResponse.ServerResponse.Header or (if a
24469// response was returned at all) in error.(*googleapi.Error).Header. Use
24470// googleapi.IsNotModified to check whether the returned error was
24471// because http.StatusNotModified was returned.
24472func (c *ConversionsBatchupdateCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchUpdateResponse, error) {
24473	gensupport.SetOptions(c.urlParams_, opts...)
24474	res, err := c.doRequest("json")
24475	if res != nil && res.StatusCode == http.StatusNotModified {
24476		if res.Body != nil {
24477			res.Body.Close()
24478		}
24479		return nil, &googleapi.Error{
24480			Code:   res.StatusCode,
24481			Header: res.Header,
24482		}
24483	}
24484	if err != nil {
24485		return nil, err
24486	}
24487	defer googleapi.CloseBody(res)
24488	if err := googleapi.CheckResponse(res); err != nil {
24489		return nil, err
24490	}
24491	ret := &ConversionsBatchUpdateResponse{
24492		ServerResponse: googleapi.ServerResponse{
24493			Header:         res.Header,
24494			HTTPStatusCode: res.StatusCode,
24495		},
24496	}
24497	target := &ret
24498	if err := gensupport.DecodeResponse(target, res); err != nil {
24499		return nil, err
24500	}
24501	return ret, nil
24502	// {
24503	//   "description": "Updates existing conversions.",
24504	//   "flatPath": "userprofiles/{profileId}/conversions/batchupdate",
24505	//   "httpMethod": "POST",
24506	//   "id": "dfareporting.conversions.batchupdate",
24507	//   "parameterOrder": [
24508	//     "profileId"
24509	//   ],
24510	//   "parameters": {
24511	//     "profileId": {
24512	//       "description": "User profile ID associated with this request.",
24513	//       "format": "int64",
24514	//       "location": "path",
24515	//       "required": true,
24516	//       "type": "string"
24517	//     }
24518	//   },
24519	//   "path": "userprofiles/{profileId}/conversions/batchupdate",
24520	//   "request": {
24521	//     "$ref": "ConversionsBatchUpdateRequest"
24522	//   },
24523	//   "response": {
24524	//     "$ref": "ConversionsBatchUpdateResponse"
24525	//   },
24526	//   "scopes": [
24527	//     "https://www.googleapis.com/auth/ddmconversions"
24528	//   ]
24529	// }
24530
24531}
24532
24533// method id "dfareporting.countries.get":
24534
24535type CountriesGetCall struct {
24536	s            *Service
24537	profileId    int64
24538	dartId       int64
24539	urlParams_   gensupport.URLParams
24540	ifNoneMatch_ string
24541	ctx_         context.Context
24542	header_      http.Header
24543}
24544
24545// Get: Gets one country by ID.
24546//
24547// - dartId: Country DART ID.
24548// - profileId: User profile ID associated with this request.
24549func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
24550	c := &CountriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24551	c.profileId = profileId
24552	c.dartId = dartId
24553	return c
24554}
24555
24556// Fields allows partial responses to be retrieved. See
24557// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24558// for more information.
24559func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
24560	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24561	return c
24562}
24563
24564// IfNoneMatch sets the optional parameter which makes the operation
24565// fail if the object's ETag matches the given value. This is useful for
24566// getting updates only after the object has changed since the last
24567// request. Use googleapi.IsNotModified to check whether the response
24568// error from Do is the result of In-None-Match.
24569func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
24570	c.ifNoneMatch_ = entityTag
24571	return c
24572}
24573
24574// Context sets the context to be used in this call's Do method. Any
24575// pending HTTP request will be aborted if the provided context is
24576// canceled.
24577func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
24578	c.ctx_ = ctx
24579	return c
24580}
24581
24582// Header returns an http.Header that can be modified by the caller to
24583// add HTTP headers to the request.
24584func (c *CountriesGetCall) Header() http.Header {
24585	if c.header_ == nil {
24586		c.header_ = make(http.Header)
24587	}
24588	return c.header_
24589}
24590
24591func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
24592	reqHeaders := make(http.Header)
24593	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24594	for k, v := range c.header_ {
24595		reqHeaders[k] = v
24596	}
24597	reqHeaders.Set("User-Agent", c.s.userAgent())
24598	if c.ifNoneMatch_ != "" {
24599		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24600	}
24601	var body io.Reader = nil
24602	c.urlParams_.Set("alt", alt)
24603	c.urlParams_.Set("prettyPrint", "false")
24604	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
24605	urls += "?" + c.urlParams_.Encode()
24606	req, err := http.NewRequest("GET", urls, body)
24607	if err != nil {
24608		return nil, err
24609	}
24610	req.Header = reqHeaders
24611	googleapi.Expand(req.URL, map[string]string{
24612		"profileId": strconv.FormatInt(c.profileId, 10),
24613		"dartId":    strconv.FormatInt(c.dartId, 10),
24614	})
24615	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24616}
24617
24618// Do executes the "dfareporting.countries.get" call.
24619// Exactly one of *Country or error will be non-nil. Any non-2xx status
24620// code is an error. Response headers are in either
24621// *Country.ServerResponse.Header or (if a response was returned at all)
24622// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24623// check whether the returned error was because http.StatusNotModified
24624// was returned.
24625func (c *CountriesGetCall) Do(opts ...googleapi.CallOption) (*Country, error) {
24626	gensupport.SetOptions(c.urlParams_, opts...)
24627	res, err := c.doRequest("json")
24628	if res != nil && res.StatusCode == http.StatusNotModified {
24629		if res.Body != nil {
24630			res.Body.Close()
24631		}
24632		return nil, &googleapi.Error{
24633			Code:   res.StatusCode,
24634			Header: res.Header,
24635		}
24636	}
24637	if err != nil {
24638		return nil, err
24639	}
24640	defer googleapi.CloseBody(res)
24641	if err := googleapi.CheckResponse(res); err != nil {
24642		return nil, err
24643	}
24644	ret := &Country{
24645		ServerResponse: googleapi.ServerResponse{
24646			Header:         res.Header,
24647			HTTPStatusCode: res.StatusCode,
24648		},
24649	}
24650	target := &ret
24651	if err := gensupport.DecodeResponse(target, res); err != nil {
24652		return nil, err
24653	}
24654	return ret, nil
24655	// {
24656	//   "description": "Gets one country by ID.",
24657	//   "flatPath": "userprofiles/{profileId}/countries/{dartId}",
24658	//   "httpMethod": "GET",
24659	//   "id": "dfareporting.countries.get",
24660	//   "parameterOrder": [
24661	//     "profileId",
24662	//     "dartId"
24663	//   ],
24664	//   "parameters": {
24665	//     "dartId": {
24666	//       "description": "Country DART ID.",
24667	//       "format": "int64",
24668	//       "location": "path",
24669	//       "required": true,
24670	//       "type": "string"
24671	//     },
24672	//     "profileId": {
24673	//       "description": "User profile ID associated with this request.",
24674	//       "format": "int64",
24675	//       "location": "path",
24676	//       "required": true,
24677	//       "type": "string"
24678	//     }
24679	//   },
24680	//   "path": "userprofiles/{profileId}/countries/{dartId}",
24681	//   "response": {
24682	//     "$ref": "Country"
24683	//   },
24684	//   "scopes": [
24685	//     "https://www.googleapis.com/auth/dfatrafficking"
24686	//   ]
24687	// }
24688
24689}
24690
24691// method id "dfareporting.countries.list":
24692
24693type CountriesListCall struct {
24694	s            *Service
24695	profileId    int64
24696	urlParams_   gensupport.URLParams
24697	ifNoneMatch_ string
24698	ctx_         context.Context
24699	header_      http.Header
24700}
24701
24702// List: Retrieves a list of countries.
24703//
24704// - profileId: User profile ID associated with this request.
24705func (r *CountriesService) List(profileId int64) *CountriesListCall {
24706	c := &CountriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24707	c.profileId = profileId
24708	return c
24709}
24710
24711// Fields allows partial responses to be retrieved. See
24712// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24713// for more information.
24714func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
24715	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24716	return c
24717}
24718
24719// IfNoneMatch sets the optional parameter which makes the operation
24720// fail if the object's ETag matches the given value. This is useful for
24721// getting updates only after the object has changed since the last
24722// request. Use googleapi.IsNotModified to check whether the response
24723// error from Do is the result of In-None-Match.
24724func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
24725	c.ifNoneMatch_ = entityTag
24726	return c
24727}
24728
24729// Context sets the context to be used in this call's Do method. Any
24730// pending HTTP request will be aborted if the provided context is
24731// canceled.
24732func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
24733	c.ctx_ = ctx
24734	return c
24735}
24736
24737// Header returns an http.Header that can be modified by the caller to
24738// add HTTP headers to the request.
24739func (c *CountriesListCall) Header() http.Header {
24740	if c.header_ == nil {
24741		c.header_ = make(http.Header)
24742	}
24743	return c.header_
24744}
24745
24746func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
24747	reqHeaders := make(http.Header)
24748	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24749	for k, v := range c.header_ {
24750		reqHeaders[k] = v
24751	}
24752	reqHeaders.Set("User-Agent", c.s.userAgent())
24753	if c.ifNoneMatch_ != "" {
24754		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24755	}
24756	var body io.Reader = nil
24757	c.urlParams_.Set("alt", alt)
24758	c.urlParams_.Set("prettyPrint", "false")
24759	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
24760	urls += "?" + c.urlParams_.Encode()
24761	req, err := http.NewRequest("GET", urls, body)
24762	if err != nil {
24763		return nil, err
24764	}
24765	req.Header = reqHeaders
24766	googleapi.Expand(req.URL, map[string]string{
24767		"profileId": strconv.FormatInt(c.profileId, 10),
24768	})
24769	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24770}
24771
24772// Do executes the "dfareporting.countries.list" call.
24773// Exactly one of *CountriesListResponse or error will be non-nil. Any
24774// non-2xx status code is an error. Response headers are in either
24775// *CountriesListResponse.ServerResponse.Header or (if a response was
24776// returned at all) in error.(*googleapi.Error).Header. Use
24777// googleapi.IsNotModified to check whether the returned error was
24778// because http.StatusNotModified was returned.
24779func (c *CountriesListCall) Do(opts ...googleapi.CallOption) (*CountriesListResponse, error) {
24780	gensupport.SetOptions(c.urlParams_, opts...)
24781	res, err := c.doRequest("json")
24782	if res != nil && res.StatusCode == http.StatusNotModified {
24783		if res.Body != nil {
24784			res.Body.Close()
24785		}
24786		return nil, &googleapi.Error{
24787			Code:   res.StatusCode,
24788			Header: res.Header,
24789		}
24790	}
24791	if err != nil {
24792		return nil, err
24793	}
24794	defer googleapi.CloseBody(res)
24795	if err := googleapi.CheckResponse(res); err != nil {
24796		return nil, err
24797	}
24798	ret := &CountriesListResponse{
24799		ServerResponse: googleapi.ServerResponse{
24800			Header:         res.Header,
24801			HTTPStatusCode: res.StatusCode,
24802		},
24803	}
24804	target := &ret
24805	if err := gensupport.DecodeResponse(target, res); err != nil {
24806		return nil, err
24807	}
24808	return ret, nil
24809	// {
24810	//   "description": "Retrieves a list of countries.",
24811	//   "flatPath": "userprofiles/{profileId}/countries",
24812	//   "httpMethod": "GET",
24813	//   "id": "dfareporting.countries.list",
24814	//   "parameterOrder": [
24815	//     "profileId"
24816	//   ],
24817	//   "parameters": {
24818	//     "profileId": {
24819	//       "description": "User profile ID associated with this request.",
24820	//       "format": "int64",
24821	//       "location": "path",
24822	//       "required": true,
24823	//       "type": "string"
24824	//     }
24825	//   },
24826	//   "path": "userprofiles/{profileId}/countries",
24827	//   "response": {
24828	//     "$ref": "CountriesListResponse"
24829	//   },
24830	//   "scopes": [
24831	//     "https://www.googleapis.com/auth/dfatrafficking"
24832	//   ]
24833	// }
24834
24835}
24836
24837// method id "dfareporting.creativeAssets.insert":
24838
24839type CreativeAssetsInsertCall struct {
24840	s                     *Service
24841	profileId             int64
24842	advertiserId          int64
24843	creativeassetmetadata *CreativeAssetMetadata
24844	urlParams_            gensupport.URLParams
24845	mediaInfo_            *gensupport.MediaInfo
24846	ctx_                  context.Context
24847	header_               http.Header
24848}
24849
24850// Insert: Inserts a new creative asset.
24851//
24852// - advertiserId: Advertiser ID of this creative. This is a required
24853//   field.
24854// - profileId: User profile ID associated with this request.
24855func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
24856	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24857	c.profileId = profileId
24858	c.advertiserId = advertiserId
24859	c.creativeassetmetadata = creativeassetmetadata
24860	return c
24861}
24862
24863// Media specifies the media to upload in one or more chunks. The chunk
24864// size may be controlled by supplying a MediaOption generated by
24865// googleapi.ChunkSize. The chunk size defaults to
24866// googleapi.DefaultUploadChunkSize.The Content-Type header used in the
24867// upload request will be determined by sniffing the contents of r,
24868// unless a MediaOption generated by googleapi.ContentType is
24869// supplied.
24870// At most one of Media and ResumableMedia may be set.
24871func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall {
24872	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
24873	return c
24874}
24875
24876// ResumableMedia specifies the media to upload in chunks and can be
24877// canceled with ctx.
24878//
24879// Deprecated: use Media instead.
24880//
24881// At most one of Media and ResumableMedia may be set. mediaType
24882// identifies the MIME media type of the upload, such as "image/png". If
24883// mediaType is "", it will be auto-detected. The provided ctx will
24884// supersede any context previously provided to the Context method.
24885func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
24886	c.ctx_ = ctx
24887	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
24888	return c
24889}
24890
24891// ProgressUpdater provides a callback function that will be called
24892// after every chunk. It should be a low-latency function in order to
24893// not slow down the upload operation. This should only be called when
24894// using ResumableMedia (as opposed to Media).
24895func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
24896	c.mediaInfo_.SetProgressUpdater(pu)
24897	return c
24898}
24899
24900// Fields allows partial responses to be retrieved. See
24901// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24902// for more information.
24903func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
24904	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24905	return c
24906}
24907
24908// Context sets the context to be used in this call's Do method. Any
24909// pending HTTP request will be aborted if the provided context is
24910// canceled.
24911// This context will supersede any context previously provided to the
24912// ResumableMedia method.
24913func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
24914	c.ctx_ = ctx
24915	return c
24916}
24917
24918// Header returns an http.Header that can be modified by the caller to
24919// add HTTP headers to the request.
24920func (c *CreativeAssetsInsertCall) Header() http.Header {
24921	if c.header_ == nil {
24922		c.header_ = make(http.Header)
24923	}
24924	return c.header_
24925}
24926
24927func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
24928	reqHeaders := make(http.Header)
24929	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
24930	for k, v := range c.header_ {
24931		reqHeaders[k] = v
24932	}
24933	reqHeaders.Set("User-Agent", c.s.userAgent())
24934	var body io.Reader = nil
24935	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativeassetmetadata)
24936	if err != nil {
24937		return nil, err
24938	}
24939	reqHeaders.Set("Content-Type", "application/json")
24940	c.urlParams_.Set("alt", alt)
24941	c.urlParams_.Set("prettyPrint", "false")
24942	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
24943	if c.mediaInfo_ != nil {
24944		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/dfareporting/v3.3/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
24945		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
24946	}
24947	if body == nil {
24948		body = new(bytes.Buffer)
24949		reqHeaders.Set("Content-Type", "application/json")
24950	}
24951	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
24952	defer cleanup()
24953	urls += "?" + c.urlParams_.Encode()
24954	req, err := http.NewRequest("POST", urls, body)
24955	if err != nil {
24956		return nil, err
24957	}
24958	req.Header = reqHeaders
24959	req.GetBody = getBody
24960	googleapi.Expand(req.URL, map[string]string{
24961		"profileId":    strconv.FormatInt(c.profileId, 10),
24962		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
24963	})
24964	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24965}
24966
24967// Do executes the "dfareporting.creativeAssets.insert" call.
24968// Exactly one of *CreativeAssetMetadata or error will be non-nil. Any
24969// non-2xx status code is an error. Response headers are in either
24970// *CreativeAssetMetadata.ServerResponse.Header or (if a response was
24971// returned at all) in error.(*googleapi.Error).Header. Use
24972// googleapi.IsNotModified to check whether the returned error was
24973// because http.StatusNotModified was returned.
24974func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAssetMetadata, error) {
24975	gensupport.SetOptions(c.urlParams_, opts...)
24976	res, err := c.doRequest("json")
24977	if res != nil && res.StatusCode == http.StatusNotModified {
24978		if res.Body != nil {
24979			res.Body.Close()
24980		}
24981		return nil, &googleapi.Error{
24982			Code:   res.StatusCode,
24983			Header: res.Header,
24984		}
24985	}
24986	if err != nil {
24987		return nil, err
24988	}
24989	defer googleapi.CloseBody(res)
24990	if err := googleapi.CheckResponse(res); err != nil {
24991		return nil, err
24992	}
24993	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
24994	if rx != nil {
24995		rx.Client = c.s.client
24996		rx.UserAgent = c.s.userAgent()
24997		ctx := c.ctx_
24998		if ctx == nil {
24999			ctx = context.TODO()
25000		}
25001		res, err = rx.Upload(ctx)
25002		if err != nil {
25003			return nil, err
25004		}
25005		defer res.Body.Close()
25006		if err := googleapi.CheckResponse(res); err != nil {
25007			return nil, err
25008		}
25009	}
25010	ret := &CreativeAssetMetadata{
25011		ServerResponse: googleapi.ServerResponse{
25012			Header:         res.Header,
25013			HTTPStatusCode: res.StatusCode,
25014		},
25015	}
25016	target := &ret
25017	if err := gensupport.DecodeResponse(target, res); err != nil {
25018		return nil, err
25019	}
25020	return ret, nil
25021	// {
25022	//   "description": "Inserts a new creative asset.",
25023	//   "flatPath": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
25024	//   "httpMethod": "POST",
25025	//   "id": "dfareporting.creativeAssets.insert",
25026	//   "mediaUpload": {
25027	//     "accept": [
25028	//       "*/*"
25029	//     ],
25030	//     "maxSize": "1073741824",
25031	//     "protocols": {
25032	//       "simple": {
25033	//         "multipart": true,
25034	//         "path": "/upload/dfareporting/v3.3/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
25035	//       }
25036	//     }
25037	//   },
25038	//   "parameterOrder": [
25039	//     "profileId",
25040	//     "advertiserId"
25041	//   ],
25042	//   "parameters": {
25043	//     "advertiserId": {
25044	//       "description": "Advertiser ID of this creative. This is a required field.",
25045	//       "format": "int64",
25046	//       "location": "path",
25047	//       "required": true,
25048	//       "type": "string"
25049	//     },
25050	//     "profileId": {
25051	//       "description": "User profile ID associated with this request.",
25052	//       "format": "int64",
25053	//       "location": "path",
25054	//       "required": true,
25055	//       "type": "string"
25056	//     }
25057	//   },
25058	//   "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
25059	//   "request": {
25060	//     "$ref": "CreativeAssetMetadata"
25061	//   },
25062	//   "response": {
25063	//     "$ref": "CreativeAssetMetadata"
25064	//   },
25065	//   "scopes": [
25066	//     "https://www.googleapis.com/auth/dfatrafficking"
25067	//   ],
25068	//   "supportsMediaUpload": true
25069	// }
25070
25071}
25072
25073// method id "dfareporting.creativeFieldValues.delete":
25074
25075type CreativeFieldValuesDeleteCall struct {
25076	s               *Service
25077	profileId       int64
25078	creativeFieldId int64
25079	id              int64
25080	urlParams_      gensupport.URLParams
25081	ctx_            context.Context
25082	header_         http.Header
25083}
25084
25085// Delete: Deletes an existing creative field value.
25086//
25087// - creativeFieldId: Creative field ID for this creative field value.
25088// - id: Creative Field Value ID.
25089// - profileId: User profile ID associated with this request.
25090func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
25091	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25092	c.profileId = profileId
25093	c.creativeFieldId = creativeFieldId
25094	c.id = id
25095	return c
25096}
25097
25098// Fields allows partial responses to be retrieved. See
25099// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25100// for more information.
25101func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
25102	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25103	return c
25104}
25105
25106// Context sets the context to be used in this call's Do method. Any
25107// pending HTTP request will be aborted if the provided context is
25108// canceled.
25109func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
25110	c.ctx_ = ctx
25111	return c
25112}
25113
25114// Header returns an http.Header that can be modified by the caller to
25115// add HTTP headers to the request.
25116func (c *CreativeFieldValuesDeleteCall) Header() http.Header {
25117	if c.header_ == nil {
25118		c.header_ = make(http.Header)
25119	}
25120	return c.header_
25121}
25122
25123func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
25124	reqHeaders := make(http.Header)
25125	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25126	for k, v := range c.header_ {
25127		reqHeaders[k] = v
25128	}
25129	reqHeaders.Set("User-Agent", c.s.userAgent())
25130	var body io.Reader = nil
25131	c.urlParams_.Set("alt", alt)
25132	c.urlParams_.Set("prettyPrint", "false")
25133	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
25134	urls += "?" + c.urlParams_.Encode()
25135	req, err := http.NewRequest("DELETE", urls, body)
25136	if err != nil {
25137		return nil, err
25138	}
25139	req.Header = reqHeaders
25140	googleapi.Expand(req.URL, map[string]string{
25141		"profileId":       strconv.FormatInt(c.profileId, 10),
25142		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25143		"id":              strconv.FormatInt(c.id, 10),
25144	})
25145	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25146}
25147
25148// Do executes the "dfareporting.creativeFieldValues.delete" call.
25149func (c *CreativeFieldValuesDeleteCall) Do(opts ...googleapi.CallOption) error {
25150	gensupport.SetOptions(c.urlParams_, opts...)
25151	res, err := c.doRequest("json")
25152	if err != nil {
25153		return err
25154	}
25155	defer googleapi.CloseBody(res)
25156	if err := googleapi.CheckResponse(res); err != nil {
25157		return err
25158	}
25159	return nil
25160	// {
25161	//   "description": "Deletes an existing creative field value.",
25162	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25163	//   "httpMethod": "DELETE",
25164	//   "id": "dfareporting.creativeFieldValues.delete",
25165	//   "parameterOrder": [
25166	//     "profileId",
25167	//     "creativeFieldId",
25168	//     "id"
25169	//   ],
25170	//   "parameters": {
25171	//     "creativeFieldId": {
25172	//       "description": "Creative field ID for this creative field value.",
25173	//       "format": "int64",
25174	//       "location": "path",
25175	//       "required": true,
25176	//       "type": "string"
25177	//     },
25178	//     "id": {
25179	//       "description": "Creative Field Value ID",
25180	//       "format": "int64",
25181	//       "location": "path",
25182	//       "required": true,
25183	//       "type": "string"
25184	//     },
25185	//     "profileId": {
25186	//       "description": "User profile ID associated with this request.",
25187	//       "format": "int64",
25188	//       "location": "path",
25189	//       "required": true,
25190	//       "type": "string"
25191	//     }
25192	//   },
25193	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25194	//   "scopes": [
25195	//     "https://www.googleapis.com/auth/dfatrafficking"
25196	//   ]
25197	// }
25198
25199}
25200
25201// method id "dfareporting.creativeFieldValues.get":
25202
25203type CreativeFieldValuesGetCall struct {
25204	s               *Service
25205	profileId       int64
25206	creativeFieldId int64
25207	id              int64
25208	urlParams_      gensupport.URLParams
25209	ifNoneMatch_    string
25210	ctx_            context.Context
25211	header_         http.Header
25212}
25213
25214// Get: Gets one creative field value by ID.
25215//
25216// - creativeFieldId: Creative field ID for this creative field value.
25217// - id: Creative Field Value ID.
25218// - profileId: User profile ID associated with this request.
25219func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
25220	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25221	c.profileId = profileId
25222	c.creativeFieldId = creativeFieldId
25223	c.id = id
25224	return c
25225}
25226
25227// Fields allows partial responses to be retrieved. See
25228// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25229// for more information.
25230func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
25231	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25232	return c
25233}
25234
25235// IfNoneMatch sets the optional parameter which makes the operation
25236// fail if the object's ETag matches the given value. This is useful for
25237// getting updates only after the object has changed since the last
25238// request. Use googleapi.IsNotModified to check whether the response
25239// error from Do is the result of In-None-Match.
25240func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
25241	c.ifNoneMatch_ = entityTag
25242	return c
25243}
25244
25245// Context sets the context to be used in this call's Do method. Any
25246// pending HTTP request will be aborted if the provided context is
25247// canceled.
25248func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
25249	c.ctx_ = ctx
25250	return c
25251}
25252
25253// Header returns an http.Header that can be modified by the caller to
25254// add HTTP headers to the request.
25255func (c *CreativeFieldValuesGetCall) Header() http.Header {
25256	if c.header_ == nil {
25257		c.header_ = make(http.Header)
25258	}
25259	return c.header_
25260}
25261
25262func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
25263	reqHeaders := make(http.Header)
25264	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25265	for k, v := range c.header_ {
25266		reqHeaders[k] = v
25267	}
25268	reqHeaders.Set("User-Agent", c.s.userAgent())
25269	if c.ifNoneMatch_ != "" {
25270		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25271	}
25272	var body io.Reader = nil
25273	c.urlParams_.Set("alt", alt)
25274	c.urlParams_.Set("prettyPrint", "false")
25275	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
25276	urls += "?" + c.urlParams_.Encode()
25277	req, err := http.NewRequest("GET", urls, body)
25278	if err != nil {
25279		return nil, err
25280	}
25281	req.Header = reqHeaders
25282	googleapi.Expand(req.URL, map[string]string{
25283		"profileId":       strconv.FormatInt(c.profileId, 10),
25284		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25285		"id":              strconv.FormatInt(c.id, 10),
25286	})
25287	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25288}
25289
25290// Do executes the "dfareporting.creativeFieldValues.get" call.
25291// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25292// non-2xx status code is an error. Response headers are in either
25293// *CreativeFieldValue.ServerResponse.Header or (if a response was
25294// returned at all) in error.(*googleapi.Error).Header. Use
25295// googleapi.IsNotModified to check whether the returned error was
25296// because http.StatusNotModified was returned.
25297func (c *CreativeFieldValuesGetCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25298	gensupport.SetOptions(c.urlParams_, opts...)
25299	res, err := c.doRequest("json")
25300	if res != nil && res.StatusCode == http.StatusNotModified {
25301		if res.Body != nil {
25302			res.Body.Close()
25303		}
25304		return nil, &googleapi.Error{
25305			Code:   res.StatusCode,
25306			Header: res.Header,
25307		}
25308	}
25309	if err != nil {
25310		return nil, err
25311	}
25312	defer googleapi.CloseBody(res)
25313	if err := googleapi.CheckResponse(res); err != nil {
25314		return nil, err
25315	}
25316	ret := &CreativeFieldValue{
25317		ServerResponse: googleapi.ServerResponse{
25318			Header:         res.Header,
25319			HTTPStatusCode: res.StatusCode,
25320		},
25321	}
25322	target := &ret
25323	if err := gensupport.DecodeResponse(target, res); err != nil {
25324		return nil, err
25325	}
25326	return ret, nil
25327	// {
25328	//   "description": "Gets one creative field value by ID.",
25329	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25330	//   "httpMethod": "GET",
25331	//   "id": "dfareporting.creativeFieldValues.get",
25332	//   "parameterOrder": [
25333	//     "profileId",
25334	//     "creativeFieldId",
25335	//     "id"
25336	//   ],
25337	//   "parameters": {
25338	//     "creativeFieldId": {
25339	//       "description": "Creative field ID for this creative field value.",
25340	//       "format": "int64",
25341	//       "location": "path",
25342	//       "required": true,
25343	//       "type": "string"
25344	//     },
25345	//     "id": {
25346	//       "description": "Creative Field Value ID",
25347	//       "format": "int64",
25348	//       "location": "path",
25349	//       "required": true,
25350	//       "type": "string"
25351	//     },
25352	//     "profileId": {
25353	//       "description": "User profile ID associated with this request.",
25354	//       "format": "int64",
25355	//       "location": "path",
25356	//       "required": true,
25357	//       "type": "string"
25358	//     }
25359	//   },
25360	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25361	//   "response": {
25362	//     "$ref": "CreativeFieldValue"
25363	//   },
25364	//   "scopes": [
25365	//     "https://www.googleapis.com/auth/dfatrafficking"
25366	//   ]
25367	// }
25368
25369}
25370
25371// method id "dfareporting.creativeFieldValues.insert":
25372
25373type CreativeFieldValuesInsertCall struct {
25374	s                  *Service
25375	profileId          int64
25376	creativeFieldId    int64
25377	creativefieldvalue *CreativeFieldValue
25378	urlParams_         gensupport.URLParams
25379	ctx_               context.Context
25380	header_            http.Header
25381}
25382
25383// Insert: Inserts a new creative field value.
25384//
25385// - creativeFieldId: Creative field ID for this creative field value.
25386// - profileId: User profile ID associated with this request.
25387func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
25388	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25389	c.profileId = profileId
25390	c.creativeFieldId = creativeFieldId
25391	c.creativefieldvalue = creativefieldvalue
25392	return c
25393}
25394
25395// Fields allows partial responses to be retrieved. See
25396// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25397// for more information.
25398func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
25399	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25400	return c
25401}
25402
25403// Context sets the context to be used in this call's Do method. Any
25404// pending HTTP request will be aborted if the provided context is
25405// canceled.
25406func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
25407	c.ctx_ = ctx
25408	return c
25409}
25410
25411// Header returns an http.Header that can be modified by the caller to
25412// add HTTP headers to the request.
25413func (c *CreativeFieldValuesInsertCall) Header() http.Header {
25414	if c.header_ == nil {
25415		c.header_ = make(http.Header)
25416	}
25417	return c.header_
25418}
25419
25420func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
25421	reqHeaders := make(http.Header)
25422	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25423	for k, v := range c.header_ {
25424		reqHeaders[k] = v
25425	}
25426	reqHeaders.Set("User-Agent", c.s.userAgent())
25427	var body io.Reader = nil
25428	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
25429	if err != nil {
25430		return nil, err
25431	}
25432	reqHeaders.Set("Content-Type", "application/json")
25433	c.urlParams_.Set("alt", alt)
25434	c.urlParams_.Set("prettyPrint", "false")
25435	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25436	urls += "?" + c.urlParams_.Encode()
25437	req, err := http.NewRequest("POST", urls, body)
25438	if err != nil {
25439		return nil, err
25440	}
25441	req.Header = reqHeaders
25442	googleapi.Expand(req.URL, map[string]string{
25443		"profileId":       strconv.FormatInt(c.profileId, 10),
25444		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25445	})
25446	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25447}
25448
25449// Do executes the "dfareporting.creativeFieldValues.insert" call.
25450// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25451// non-2xx status code is an error. Response headers are in either
25452// *CreativeFieldValue.ServerResponse.Header or (if a response was
25453// returned at all) in error.(*googleapi.Error).Header. Use
25454// googleapi.IsNotModified to check whether the returned error was
25455// because http.StatusNotModified was returned.
25456func (c *CreativeFieldValuesInsertCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25457	gensupport.SetOptions(c.urlParams_, opts...)
25458	res, err := c.doRequest("json")
25459	if res != nil && res.StatusCode == http.StatusNotModified {
25460		if res.Body != nil {
25461			res.Body.Close()
25462		}
25463		return nil, &googleapi.Error{
25464			Code:   res.StatusCode,
25465			Header: res.Header,
25466		}
25467	}
25468	if err != nil {
25469		return nil, err
25470	}
25471	defer googleapi.CloseBody(res)
25472	if err := googleapi.CheckResponse(res); err != nil {
25473		return nil, err
25474	}
25475	ret := &CreativeFieldValue{
25476		ServerResponse: googleapi.ServerResponse{
25477			Header:         res.Header,
25478			HTTPStatusCode: res.StatusCode,
25479		},
25480	}
25481	target := &ret
25482	if err := gensupport.DecodeResponse(target, res); err != nil {
25483		return nil, err
25484	}
25485	return ret, nil
25486	// {
25487	//   "description": "Inserts a new creative field value.",
25488	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25489	//   "httpMethod": "POST",
25490	//   "id": "dfareporting.creativeFieldValues.insert",
25491	//   "parameterOrder": [
25492	//     "profileId",
25493	//     "creativeFieldId"
25494	//   ],
25495	//   "parameters": {
25496	//     "creativeFieldId": {
25497	//       "description": "Creative field ID for this creative field value.",
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}/creativeFields/{creativeFieldId}/creativeFieldValues",
25512	//   "request": {
25513	//     "$ref": "CreativeFieldValue"
25514	//   },
25515	//   "response": {
25516	//     "$ref": "CreativeFieldValue"
25517	//   },
25518	//   "scopes": [
25519	//     "https://www.googleapis.com/auth/dfatrafficking"
25520	//   ]
25521	// }
25522
25523}
25524
25525// method id "dfareporting.creativeFieldValues.list":
25526
25527type CreativeFieldValuesListCall struct {
25528	s               *Service
25529	profileId       int64
25530	creativeFieldId int64
25531	urlParams_      gensupport.URLParams
25532	ifNoneMatch_    string
25533	ctx_            context.Context
25534	header_         http.Header
25535}
25536
25537// List: Retrieves a list of creative field values, possibly filtered.
25538// This method supports paging.
25539//
25540// - creativeFieldId: Creative field ID for this creative field value.
25541// - profileId: User profile ID associated with this request.
25542func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
25543	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25544	c.profileId = profileId
25545	c.creativeFieldId = creativeFieldId
25546	return c
25547}
25548
25549// Ids sets the optional parameter "ids": Select only creative field
25550// values with these IDs.
25551func (c *CreativeFieldValuesListCall) Ids(ids ...int64) *CreativeFieldValuesListCall {
25552	var ids_ []string
25553	for _, v := range ids {
25554		ids_ = append(ids_, fmt.Sprint(v))
25555	}
25556	c.urlParams_.SetMulti("ids", ids_)
25557	return c
25558}
25559
25560// MaxResults sets the optional parameter "maxResults": Maximum number
25561// of results to return.
25562func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
25563	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
25564	return c
25565}
25566
25567// PageToken sets the optional parameter "pageToken": Value of the
25568// nextPageToken from the previous result page.
25569func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
25570	c.urlParams_.Set("pageToken", pageToken)
25571	return c
25572}
25573
25574// SearchString sets the optional parameter "searchString": Allows
25575// searching for creative field values by their values. Wildcards (e.g.
25576// *) are not allowed.
25577func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
25578	c.urlParams_.Set("searchString", searchString)
25579	return c
25580}
25581
25582// SortField sets the optional parameter "sortField": Field by which to
25583// sort the list.
25584//
25585// Possible values:
25586//   "ID" (default)
25587//   "VALUE"
25588func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
25589	c.urlParams_.Set("sortField", sortField)
25590	return c
25591}
25592
25593// SortOrder sets the optional parameter "sortOrder": Order of sorted
25594// results.
25595//
25596// Possible values:
25597//   "ASCENDING" (default)
25598//   "DESCENDING"
25599func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
25600	c.urlParams_.Set("sortOrder", sortOrder)
25601	return c
25602}
25603
25604// Fields allows partial responses to be retrieved. See
25605// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25606// for more information.
25607func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
25608	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25609	return c
25610}
25611
25612// IfNoneMatch sets the optional parameter which makes the operation
25613// fail if the object's ETag matches the given value. This is useful for
25614// getting updates only after the object has changed since the last
25615// request. Use googleapi.IsNotModified to check whether the response
25616// error from Do is the result of In-None-Match.
25617func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
25618	c.ifNoneMatch_ = entityTag
25619	return c
25620}
25621
25622// Context sets the context to be used in this call's Do method. Any
25623// pending HTTP request will be aborted if the provided context is
25624// canceled.
25625func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
25626	c.ctx_ = ctx
25627	return c
25628}
25629
25630// Header returns an http.Header that can be modified by the caller to
25631// add HTTP headers to the request.
25632func (c *CreativeFieldValuesListCall) Header() http.Header {
25633	if c.header_ == nil {
25634		c.header_ = make(http.Header)
25635	}
25636	return c.header_
25637}
25638
25639func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
25640	reqHeaders := make(http.Header)
25641	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25642	for k, v := range c.header_ {
25643		reqHeaders[k] = v
25644	}
25645	reqHeaders.Set("User-Agent", c.s.userAgent())
25646	if c.ifNoneMatch_ != "" {
25647		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25648	}
25649	var body io.Reader = nil
25650	c.urlParams_.Set("alt", alt)
25651	c.urlParams_.Set("prettyPrint", "false")
25652	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25653	urls += "?" + c.urlParams_.Encode()
25654	req, err := http.NewRequest("GET", urls, body)
25655	if err != nil {
25656		return nil, err
25657	}
25658	req.Header = reqHeaders
25659	googleapi.Expand(req.URL, map[string]string{
25660		"profileId":       strconv.FormatInt(c.profileId, 10),
25661		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25662	})
25663	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25664}
25665
25666// Do executes the "dfareporting.creativeFieldValues.list" call.
25667// Exactly one of *CreativeFieldValuesListResponse or error will be
25668// non-nil. Any non-2xx status code is an error. Response headers are in
25669// either *CreativeFieldValuesListResponse.ServerResponse.Header or (if
25670// a response was returned at all) in error.(*googleapi.Error).Header.
25671// Use googleapi.IsNotModified to check whether the returned error was
25672// because http.StatusNotModified was returned.
25673func (c *CreativeFieldValuesListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValuesListResponse, error) {
25674	gensupport.SetOptions(c.urlParams_, opts...)
25675	res, err := c.doRequest("json")
25676	if res != nil && res.StatusCode == http.StatusNotModified {
25677		if res.Body != nil {
25678			res.Body.Close()
25679		}
25680		return nil, &googleapi.Error{
25681			Code:   res.StatusCode,
25682			Header: res.Header,
25683		}
25684	}
25685	if err != nil {
25686		return nil, err
25687	}
25688	defer googleapi.CloseBody(res)
25689	if err := googleapi.CheckResponse(res); err != nil {
25690		return nil, err
25691	}
25692	ret := &CreativeFieldValuesListResponse{
25693		ServerResponse: googleapi.ServerResponse{
25694			Header:         res.Header,
25695			HTTPStatusCode: res.StatusCode,
25696		},
25697	}
25698	target := &ret
25699	if err := gensupport.DecodeResponse(target, res); err != nil {
25700		return nil, err
25701	}
25702	return ret, nil
25703	// {
25704	//   "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
25705	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25706	//   "httpMethod": "GET",
25707	//   "id": "dfareporting.creativeFieldValues.list",
25708	//   "parameterOrder": [
25709	//     "profileId",
25710	//     "creativeFieldId"
25711	//   ],
25712	//   "parameters": {
25713	//     "creativeFieldId": {
25714	//       "description": "Creative field ID for this creative field value.",
25715	//       "format": "int64",
25716	//       "location": "path",
25717	//       "required": true,
25718	//       "type": "string"
25719	//     },
25720	//     "ids": {
25721	//       "description": "Select only creative field values with these IDs.",
25722	//       "format": "int64",
25723	//       "location": "query",
25724	//       "repeated": true,
25725	//       "type": "string"
25726	//     },
25727	//     "maxResults": {
25728	//       "default": "1000",
25729	//       "description": "Maximum number of results to return.",
25730	//       "format": "int32",
25731	//       "location": "query",
25732	//       "maximum": "1000",
25733	//       "minimum": "0",
25734	//       "type": "integer"
25735	//     },
25736	//     "pageToken": {
25737	//       "description": "Value of the nextPageToken from the previous result page.",
25738	//       "location": "query",
25739	//       "type": "string"
25740	//     },
25741	//     "profileId": {
25742	//       "description": "User profile ID associated with this request.",
25743	//       "format": "int64",
25744	//       "location": "path",
25745	//       "required": true,
25746	//       "type": "string"
25747	//     },
25748	//     "searchString": {
25749	//       "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.",
25750	//       "location": "query",
25751	//       "type": "string"
25752	//     },
25753	//     "sortField": {
25754	//       "default": "ID",
25755	//       "description": "Field by which to sort the list.",
25756	//       "enum": [
25757	//         "ID",
25758	//         "VALUE"
25759	//       ],
25760	//       "enumDescriptions": [
25761	//         "",
25762	//         ""
25763	//       ],
25764	//       "location": "query",
25765	//       "type": "string"
25766	//     },
25767	//     "sortOrder": {
25768	//       "default": "ASCENDING",
25769	//       "description": "Order of sorted results.",
25770	//       "enum": [
25771	//         "ASCENDING",
25772	//         "DESCENDING"
25773	//       ],
25774	//       "enumDescriptions": [
25775	//         "",
25776	//         ""
25777	//       ],
25778	//       "location": "query",
25779	//       "type": "string"
25780	//     }
25781	//   },
25782	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25783	//   "response": {
25784	//     "$ref": "CreativeFieldValuesListResponse"
25785	//   },
25786	//   "scopes": [
25787	//     "https://www.googleapis.com/auth/dfatrafficking"
25788	//   ]
25789	// }
25790
25791}
25792
25793// Pages invokes f for each page of results.
25794// A non-nil error returned from f will halt the iteration.
25795// The provided context supersedes any context provided to the Context method.
25796func (c *CreativeFieldValuesListCall) Pages(ctx context.Context, f func(*CreativeFieldValuesListResponse) error) error {
25797	c.ctx_ = ctx
25798	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
25799	for {
25800		x, err := c.Do()
25801		if err != nil {
25802			return err
25803		}
25804		if err := f(x); err != nil {
25805			return err
25806		}
25807		if x.NextPageToken == "" {
25808			return nil
25809		}
25810		c.PageToken(x.NextPageToken)
25811	}
25812}
25813
25814// method id "dfareporting.creativeFieldValues.patch":
25815
25816type CreativeFieldValuesPatchCall 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// Patch: Updates an existing creative field value. This method supports
25827// patch semantics.
25828//
25829// - creativeFieldId: CreativeField ID.
25830// - id: CreativeFieldValue ID.
25831// - profileId: User profile ID associated with this request.
25832func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
25833	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25834	c.profileId = profileId
25835	c.creativeFieldId = creativeFieldId
25836	c.urlParams_.Set("id", fmt.Sprint(id))
25837	c.creativefieldvalue = creativefieldvalue
25838	return c
25839}
25840
25841// Fields allows partial responses to be retrieved. See
25842// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25843// for more information.
25844func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
25845	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25846	return c
25847}
25848
25849// Context sets the context to be used in this call's Do method. Any
25850// pending HTTP request will be aborted if the provided context is
25851// canceled.
25852func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
25853	c.ctx_ = ctx
25854	return c
25855}
25856
25857// Header returns an http.Header that can be modified by the caller to
25858// add HTTP headers to the request.
25859func (c *CreativeFieldValuesPatchCall) Header() http.Header {
25860	if c.header_ == nil {
25861		c.header_ = make(http.Header)
25862	}
25863	return c.header_
25864}
25865
25866func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
25867	reqHeaders := make(http.Header)
25868	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
25869	for k, v := range c.header_ {
25870		reqHeaders[k] = v
25871	}
25872	reqHeaders.Set("User-Agent", c.s.userAgent())
25873	var body io.Reader = nil
25874	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
25875	if err != nil {
25876		return nil, err
25877	}
25878	reqHeaders.Set("Content-Type", "application/json")
25879	c.urlParams_.Set("alt", alt)
25880	c.urlParams_.Set("prettyPrint", "false")
25881	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25882	urls += "?" + c.urlParams_.Encode()
25883	req, err := http.NewRequest("PATCH", urls, body)
25884	if err != nil {
25885		return nil, err
25886	}
25887	req.Header = reqHeaders
25888	googleapi.Expand(req.URL, map[string]string{
25889		"profileId":       strconv.FormatInt(c.profileId, 10),
25890		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25891	})
25892	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25893}
25894
25895// Do executes the "dfareporting.creativeFieldValues.patch" call.
25896// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25897// non-2xx status code is an error. Response headers are in either
25898// *CreativeFieldValue.ServerResponse.Header or (if a response was
25899// returned at all) in error.(*googleapi.Error).Header. Use
25900// googleapi.IsNotModified to check whether the returned error was
25901// because http.StatusNotModified was returned.
25902func (c *CreativeFieldValuesPatchCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25903	gensupport.SetOptions(c.urlParams_, opts...)
25904	res, err := c.doRequest("json")
25905	if res != nil && res.StatusCode == http.StatusNotModified {
25906		if res.Body != nil {
25907			res.Body.Close()
25908		}
25909		return nil, &googleapi.Error{
25910			Code:   res.StatusCode,
25911			Header: res.Header,
25912		}
25913	}
25914	if err != nil {
25915		return nil, err
25916	}
25917	defer googleapi.CloseBody(res)
25918	if err := googleapi.CheckResponse(res); err != nil {
25919		return nil, err
25920	}
25921	ret := &CreativeFieldValue{
25922		ServerResponse: googleapi.ServerResponse{
25923			Header:         res.Header,
25924			HTTPStatusCode: res.StatusCode,
25925		},
25926	}
25927	target := &ret
25928	if err := gensupport.DecodeResponse(target, res); err != nil {
25929		return nil, err
25930	}
25931	return ret, nil
25932	// {
25933	//   "description": "Updates an existing creative field value. This method supports patch semantics.",
25934	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25935	//   "httpMethod": "PATCH",
25936	//   "id": "dfareporting.creativeFieldValues.patch",
25937	//   "parameterOrder": [
25938	//     "profileId",
25939	//     "creativeFieldId",
25940	//     "id"
25941	//   ],
25942	//   "parameters": {
25943	//     "creativeFieldId": {
25944	//       "description": "CreativeField ID.",
25945	//       "format": "int64",
25946	//       "location": "path",
25947	//       "required": true,
25948	//       "type": "string"
25949	//     },
25950	//     "id": {
25951	//       "description": "CreativeFieldValue ID.",
25952	//       "format": "int64",
25953	//       "location": "query",
25954	//       "required": true,
25955	//       "type": "string"
25956	//     },
25957	//     "profileId": {
25958	//       "description": "User profile ID associated with this request.",
25959	//       "format": "int64",
25960	//       "location": "path",
25961	//       "required": true,
25962	//       "type": "string"
25963	//     }
25964	//   },
25965	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25966	//   "request": {
25967	//     "$ref": "CreativeFieldValue"
25968	//   },
25969	//   "response": {
25970	//     "$ref": "CreativeFieldValue"
25971	//   },
25972	//   "scopes": [
25973	//     "https://www.googleapis.com/auth/dfatrafficking"
25974	//   ]
25975	// }
25976
25977}
25978
25979// method id "dfareporting.creativeFieldValues.update":
25980
25981type CreativeFieldValuesUpdateCall struct {
25982	s                  *Service
25983	profileId          int64
25984	creativeFieldId    int64
25985	creativefieldvalue *CreativeFieldValue
25986	urlParams_         gensupport.URLParams
25987	ctx_               context.Context
25988	header_            http.Header
25989}
25990
25991// Update: Updates an existing creative field value.
25992//
25993// - creativeFieldId: Creative field ID for this creative field value.
25994// - profileId: User profile ID associated with this request.
25995func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
25996	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25997	c.profileId = profileId
25998	c.creativeFieldId = creativeFieldId
25999	c.creativefieldvalue = creativefieldvalue
26000	return c
26001}
26002
26003// Fields allows partial responses to be retrieved. See
26004// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26005// for more information.
26006func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
26007	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26008	return c
26009}
26010
26011// Context sets the context to be used in this call's Do method. Any
26012// pending HTTP request will be aborted if the provided context is
26013// canceled.
26014func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
26015	c.ctx_ = ctx
26016	return c
26017}
26018
26019// Header returns an http.Header that can be modified by the caller to
26020// add HTTP headers to the request.
26021func (c *CreativeFieldValuesUpdateCall) Header() http.Header {
26022	if c.header_ == nil {
26023		c.header_ = make(http.Header)
26024	}
26025	return c.header_
26026}
26027
26028func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
26029	reqHeaders := make(http.Header)
26030	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26031	for k, v := range c.header_ {
26032		reqHeaders[k] = v
26033	}
26034	reqHeaders.Set("User-Agent", c.s.userAgent())
26035	var body io.Reader = nil
26036	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
26037	if err != nil {
26038		return nil, err
26039	}
26040	reqHeaders.Set("Content-Type", "application/json")
26041	c.urlParams_.Set("alt", alt)
26042	c.urlParams_.Set("prettyPrint", "false")
26043	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
26044	urls += "?" + c.urlParams_.Encode()
26045	req, err := http.NewRequest("PUT", urls, body)
26046	if err != nil {
26047		return nil, err
26048	}
26049	req.Header = reqHeaders
26050	googleapi.Expand(req.URL, map[string]string{
26051		"profileId":       strconv.FormatInt(c.profileId, 10),
26052		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
26053	})
26054	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26055}
26056
26057// Do executes the "dfareporting.creativeFieldValues.update" call.
26058// Exactly one of *CreativeFieldValue or error will be non-nil. Any
26059// non-2xx status code is an error. Response headers are in either
26060// *CreativeFieldValue.ServerResponse.Header or (if a response was
26061// returned at all) in error.(*googleapi.Error).Header. Use
26062// googleapi.IsNotModified to check whether the returned error was
26063// because http.StatusNotModified was returned.
26064func (c *CreativeFieldValuesUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
26065	gensupport.SetOptions(c.urlParams_, opts...)
26066	res, err := c.doRequest("json")
26067	if res != nil && res.StatusCode == http.StatusNotModified {
26068		if res.Body != nil {
26069			res.Body.Close()
26070		}
26071		return nil, &googleapi.Error{
26072			Code:   res.StatusCode,
26073			Header: res.Header,
26074		}
26075	}
26076	if err != nil {
26077		return nil, err
26078	}
26079	defer googleapi.CloseBody(res)
26080	if err := googleapi.CheckResponse(res); err != nil {
26081		return nil, err
26082	}
26083	ret := &CreativeFieldValue{
26084		ServerResponse: googleapi.ServerResponse{
26085			Header:         res.Header,
26086			HTTPStatusCode: res.StatusCode,
26087		},
26088	}
26089	target := &ret
26090	if err := gensupport.DecodeResponse(target, res); err != nil {
26091		return nil, err
26092	}
26093	return ret, nil
26094	// {
26095	//   "description": "Updates an existing creative field value.",
26096	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
26097	//   "httpMethod": "PUT",
26098	//   "id": "dfareporting.creativeFieldValues.update",
26099	//   "parameterOrder": [
26100	//     "profileId",
26101	//     "creativeFieldId"
26102	//   ],
26103	//   "parameters": {
26104	//     "creativeFieldId": {
26105	//       "description": "Creative field ID for this creative field value.",
26106	//       "format": "int64",
26107	//       "location": "path",
26108	//       "required": true,
26109	//       "type": "string"
26110	//     },
26111	//     "profileId": {
26112	//       "description": "User profile ID associated with this request.",
26113	//       "format": "int64",
26114	//       "location": "path",
26115	//       "required": true,
26116	//       "type": "string"
26117	//     }
26118	//   },
26119	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
26120	//   "request": {
26121	//     "$ref": "CreativeFieldValue"
26122	//   },
26123	//   "response": {
26124	//     "$ref": "CreativeFieldValue"
26125	//   },
26126	//   "scopes": [
26127	//     "https://www.googleapis.com/auth/dfatrafficking"
26128	//   ]
26129	// }
26130
26131}
26132
26133// method id "dfareporting.creativeFields.delete":
26134
26135type CreativeFieldsDeleteCall struct {
26136	s          *Service
26137	profileId  int64
26138	id         int64
26139	urlParams_ gensupport.URLParams
26140	ctx_       context.Context
26141	header_    http.Header
26142}
26143
26144// Delete: Deletes an existing creative field.
26145//
26146// - id: Creative Field ID.
26147// - profileId: User profile ID associated with this request.
26148func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
26149	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26150	c.profileId = profileId
26151	c.id = id
26152	return c
26153}
26154
26155// Fields allows partial responses to be retrieved. See
26156// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26157// for more information.
26158func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
26159	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26160	return c
26161}
26162
26163// Context sets the context to be used in this call's Do method. Any
26164// pending HTTP request will be aborted if the provided context is
26165// canceled.
26166func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
26167	c.ctx_ = ctx
26168	return c
26169}
26170
26171// Header returns an http.Header that can be modified by the caller to
26172// add HTTP headers to the request.
26173func (c *CreativeFieldsDeleteCall) Header() http.Header {
26174	if c.header_ == nil {
26175		c.header_ = make(http.Header)
26176	}
26177	return c.header_
26178}
26179
26180func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
26181	reqHeaders := make(http.Header)
26182	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26183	for k, v := range c.header_ {
26184		reqHeaders[k] = v
26185	}
26186	reqHeaders.Set("User-Agent", c.s.userAgent())
26187	var body io.Reader = nil
26188	c.urlParams_.Set("alt", alt)
26189	c.urlParams_.Set("prettyPrint", "false")
26190	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
26191	urls += "?" + c.urlParams_.Encode()
26192	req, err := http.NewRequest("DELETE", urls, body)
26193	if err != nil {
26194		return nil, err
26195	}
26196	req.Header = reqHeaders
26197	googleapi.Expand(req.URL, map[string]string{
26198		"profileId": strconv.FormatInt(c.profileId, 10),
26199		"id":        strconv.FormatInt(c.id, 10),
26200	})
26201	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26202}
26203
26204// Do executes the "dfareporting.creativeFields.delete" call.
26205func (c *CreativeFieldsDeleteCall) Do(opts ...googleapi.CallOption) error {
26206	gensupport.SetOptions(c.urlParams_, opts...)
26207	res, err := c.doRequest("json")
26208	if err != nil {
26209		return err
26210	}
26211	defer googleapi.CloseBody(res)
26212	if err := googleapi.CheckResponse(res); err != nil {
26213		return err
26214	}
26215	return nil
26216	// {
26217	//   "description": "Deletes an existing creative field.",
26218	//   "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
26219	//   "httpMethod": "DELETE",
26220	//   "id": "dfareporting.creativeFields.delete",
26221	//   "parameterOrder": [
26222	//     "profileId",
26223	//     "id"
26224	//   ],
26225	//   "parameters": {
26226	//     "id": {
26227	//       "description": "Creative Field ID",
26228	//       "format": "int64",
26229	//       "location": "path",
26230	//       "required": true,
26231	//       "type": "string"
26232	//     },
26233	//     "profileId": {
26234	//       "description": "User profile ID associated with this request.",
26235	//       "format": "int64",
26236	//       "location": "path",
26237	//       "required": true,
26238	//       "type": "string"
26239	//     }
26240	//   },
26241	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
26242	//   "scopes": [
26243	//     "https://www.googleapis.com/auth/dfatrafficking"
26244	//   ]
26245	// }
26246
26247}
26248
26249// method id "dfareporting.creativeFields.get":
26250
26251type CreativeFieldsGetCall struct {
26252	s            *Service
26253	profileId    int64
26254	id           int64
26255	urlParams_   gensupport.URLParams
26256	ifNoneMatch_ string
26257	ctx_         context.Context
26258	header_      http.Header
26259}
26260
26261// Get: Gets one creative field by ID.
26262//
26263// - id: Creative Field ID.
26264// - profileId: User profile ID associated with this request.
26265func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
26266	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26267	c.profileId = profileId
26268	c.id = id
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 *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
26276	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26277	return c
26278}
26279
26280// IfNoneMatch sets the optional parameter which makes the operation
26281// fail if the object's ETag matches the given value. This is useful for
26282// getting updates only after the object has changed since the last
26283// request. Use googleapi.IsNotModified to check whether the response
26284// error from Do is the result of In-None-Match.
26285func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
26286	c.ifNoneMatch_ = entityTag
26287	return c
26288}
26289
26290// Context sets the context to be used in this call's Do method. Any
26291// pending HTTP request will be aborted if the provided context is
26292// canceled.
26293func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
26294	c.ctx_ = ctx
26295	return c
26296}
26297
26298// Header returns an http.Header that can be modified by the caller to
26299// add HTTP headers to the request.
26300func (c *CreativeFieldsGetCall) Header() http.Header {
26301	if c.header_ == nil {
26302		c.header_ = make(http.Header)
26303	}
26304	return c.header_
26305}
26306
26307func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
26308	reqHeaders := make(http.Header)
26309	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26310	for k, v := range c.header_ {
26311		reqHeaders[k] = v
26312	}
26313	reqHeaders.Set("User-Agent", c.s.userAgent())
26314	if c.ifNoneMatch_ != "" {
26315		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26316	}
26317	var body io.Reader = nil
26318	c.urlParams_.Set("alt", alt)
26319	c.urlParams_.Set("prettyPrint", "false")
26320	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
26321	urls += "?" + c.urlParams_.Encode()
26322	req, err := http.NewRequest("GET", urls, body)
26323	if err != nil {
26324		return nil, err
26325	}
26326	req.Header = reqHeaders
26327	googleapi.Expand(req.URL, map[string]string{
26328		"profileId": strconv.FormatInt(c.profileId, 10),
26329		"id":        strconv.FormatInt(c.id, 10),
26330	})
26331	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26332}
26333
26334// Do executes the "dfareporting.creativeFields.get" call.
26335// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26336// status code is an error. Response headers are in either
26337// *CreativeField.ServerResponse.Header or (if a response was returned
26338// at all) in error.(*googleapi.Error).Header. Use
26339// googleapi.IsNotModified to check whether the returned error was
26340// because http.StatusNotModified was returned.
26341func (c *CreativeFieldsGetCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26342	gensupport.SetOptions(c.urlParams_, opts...)
26343	res, err := c.doRequest("json")
26344	if res != nil && res.StatusCode == http.StatusNotModified {
26345		if res.Body != nil {
26346			res.Body.Close()
26347		}
26348		return nil, &googleapi.Error{
26349			Code:   res.StatusCode,
26350			Header: res.Header,
26351		}
26352	}
26353	if err != nil {
26354		return nil, err
26355	}
26356	defer googleapi.CloseBody(res)
26357	if err := googleapi.CheckResponse(res); err != nil {
26358		return nil, err
26359	}
26360	ret := &CreativeField{
26361		ServerResponse: googleapi.ServerResponse{
26362			Header:         res.Header,
26363			HTTPStatusCode: res.StatusCode,
26364		},
26365	}
26366	target := &ret
26367	if err := gensupport.DecodeResponse(target, res); err != nil {
26368		return nil, err
26369	}
26370	return ret, nil
26371	// {
26372	//   "description": "Gets one creative field by ID.",
26373	//   "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
26374	//   "httpMethod": "GET",
26375	//   "id": "dfareporting.creativeFields.get",
26376	//   "parameterOrder": [
26377	//     "profileId",
26378	//     "id"
26379	//   ],
26380	//   "parameters": {
26381	//     "id": {
26382	//       "description": "Creative Field ID",
26383	//       "format": "int64",
26384	//       "location": "path",
26385	//       "required": true,
26386	//       "type": "string"
26387	//     },
26388	//     "profileId": {
26389	//       "description": "User profile ID associated with this request.",
26390	//       "format": "int64",
26391	//       "location": "path",
26392	//       "required": true,
26393	//       "type": "string"
26394	//     }
26395	//   },
26396	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
26397	//   "response": {
26398	//     "$ref": "CreativeField"
26399	//   },
26400	//   "scopes": [
26401	//     "https://www.googleapis.com/auth/dfatrafficking"
26402	//   ]
26403	// }
26404
26405}
26406
26407// method id "dfareporting.creativeFields.insert":
26408
26409type CreativeFieldsInsertCall struct {
26410	s             *Service
26411	profileId     int64
26412	creativefield *CreativeField
26413	urlParams_    gensupport.URLParams
26414	ctx_          context.Context
26415	header_       http.Header
26416}
26417
26418// Insert: Inserts a new creative field.
26419//
26420// - profileId: User profile ID associated with this request.
26421func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
26422	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26423	c.profileId = profileId
26424	c.creativefield = creativefield
26425	return c
26426}
26427
26428// Fields allows partial responses to be retrieved. See
26429// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26430// for more information.
26431func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
26432	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26433	return c
26434}
26435
26436// Context sets the context to be used in this call's Do method. Any
26437// pending HTTP request will be aborted if the provided context is
26438// canceled.
26439func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
26440	c.ctx_ = ctx
26441	return c
26442}
26443
26444// Header returns an http.Header that can be modified by the caller to
26445// add HTTP headers to the request.
26446func (c *CreativeFieldsInsertCall) Header() http.Header {
26447	if c.header_ == nil {
26448		c.header_ = make(http.Header)
26449	}
26450	return c.header_
26451}
26452
26453func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
26454	reqHeaders := make(http.Header)
26455	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26456	for k, v := range c.header_ {
26457		reqHeaders[k] = v
26458	}
26459	reqHeaders.Set("User-Agent", c.s.userAgent())
26460	var body io.Reader = nil
26461	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
26462	if err != nil {
26463		return nil, err
26464	}
26465	reqHeaders.Set("Content-Type", "application/json")
26466	c.urlParams_.Set("alt", alt)
26467	c.urlParams_.Set("prettyPrint", "false")
26468	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26469	urls += "?" + c.urlParams_.Encode()
26470	req, err := http.NewRequest("POST", urls, body)
26471	if err != nil {
26472		return nil, err
26473	}
26474	req.Header = reqHeaders
26475	googleapi.Expand(req.URL, map[string]string{
26476		"profileId": strconv.FormatInt(c.profileId, 10),
26477	})
26478	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26479}
26480
26481// Do executes the "dfareporting.creativeFields.insert" call.
26482// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26483// status code is an error. Response headers are in either
26484// *CreativeField.ServerResponse.Header or (if a response was returned
26485// at all) in error.(*googleapi.Error).Header. Use
26486// googleapi.IsNotModified to check whether the returned error was
26487// because http.StatusNotModified was returned.
26488func (c *CreativeFieldsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26489	gensupport.SetOptions(c.urlParams_, opts...)
26490	res, err := c.doRequest("json")
26491	if res != nil && res.StatusCode == http.StatusNotModified {
26492		if res.Body != nil {
26493			res.Body.Close()
26494		}
26495		return nil, &googleapi.Error{
26496			Code:   res.StatusCode,
26497			Header: res.Header,
26498		}
26499	}
26500	if err != nil {
26501		return nil, err
26502	}
26503	defer googleapi.CloseBody(res)
26504	if err := googleapi.CheckResponse(res); err != nil {
26505		return nil, err
26506	}
26507	ret := &CreativeField{
26508		ServerResponse: googleapi.ServerResponse{
26509			Header:         res.Header,
26510			HTTPStatusCode: res.StatusCode,
26511		},
26512	}
26513	target := &ret
26514	if err := gensupport.DecodeResponse(target, res); err != nil {
26515		return nil, err
26516	}
26517	return ret, nil
26518	// {
26519	//   "description": "Inserts a new creative field.",
26520	//   "flatPath": "userprofiles/{profileId}/creativeFields",
26521	//   "httpMethod": "POST",
26522	//   "id": "dfareporting.creativeFields.insert",
26523	//   "parameterOrder": [
26524	//     "profileId"
26525	//   ],
26526	//   "parameters": {
26527	//     "profileId": {
26528	//       "description": "User profile ID associated with this request.",
26529	//       "format": "int64",
26530	//       "location": "path",
26531	//       "required": true,
26532	//       "type": "string"
26533	//     }
26534	//   },
26535	//   "path": "userprofiles/{profileId}/creativeFields",
26536	//   "request": {
26537	//     "$ref": "CreativeField"
26538	//   },
26539	//   "response": {
26540	//     "$ref": "CreativeField"
26541	//   },
26542	//   "scopes": [
26543	//     "https://www.googleapis.com/auth/dfatrafficking"
26544	//   ]
26545	// }
26546
26547}
26548
26549// method id "dfareporting.creativeFields.list":
26550
26551type CreativeFieldsListCall struct {
26552	s            *Service
26553	profileId    int64
26554	urlParams_   gensupport.URLParams
26555	ifNoneMatch_ string
26556	ctx_         context.Context
26557	header_      http.Header
26558}
26559
26560// List: Retrieves a list of creative fields, possibly filtered. This
26561// method supports paging.
26562//
26563// - profileId: User profile ID associated with this request.
26564func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
26565	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26566	c.profileId = profileId
26567	return c
26568}
26569
26570// AdvertiserIds sets the optional parameter "advertiserIds": Select
26571// only creative fields that belong to these advertisers.
26572func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeFieldsListCall {
26573	var advertiserIds_ []string
26574	for _, v := range advertiserIds {
26575		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
26576	}
26577	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
26578	return c
26579}
26580
26581// Ids sets the optional parameter "ids": Select only creative fields
26582// with these IDs.
26583func (c *CreativeFieldsListCall) Ids(ids ...int64) *CreativeFieldsListCall {
26584	var ids_ []string
26585	for _, v := range ids {
26586		ids_ = append(ids_, fmt.Sprint(v))
26587	}
26588	c.urlParams_.SetMulti("ids", ids_)
26589	return c
26590}
26591
26592// MaxResults sets the optional parameter "maxResults": Maximum number
26593// of results to return.
26594func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
26595	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
26596	return c
26597}
26598
26599// PageToken sets the optional parameter "pageToken": Value of the
26600// nextPageToken from the previous result page.
26601func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
26602	c.urlParams_.Set("pageToken", pageToken)
26603	return c
26604}
26605
26606// SearchString sets the optional parameter "searchString": Allows
26607// searching for creative fields by name or ID. Wildcards (*) are
26608// allowed. For example, "creativefield*2015" will return creative
26609// fields with names like "creativefield June 2015", "creativefield
26610// April 2015", or simply "creativefield 2015". Most of the searches
26611// also add wild-cards implicitly at the start and the end of the search
26612// string. For example, a search string of "creativefield" will match
26613// creative fields with the name "my creativefield", "creativefield
26614// 2015", or simply "creativefield".
26615func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
26616	c.urlParams_.Set("searchString", searchString)
26617	return c
26618}
26619
26620// SortField sets the optional parameter "sortField": Field by which to
26621// sort the list.
26622//
26623// Possible values:
26624//   "ID" (default)
26625//   "NAME"
26626func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
26627	c.urlParams_.Set("sortField", sortField)
26628	return c
26629}
26630
26631// SortOrder sets the optional parameter "sortOrder": Order of sorted
26632// results.
26633//
26634// Possible values:
26635//   "ASCENDING" (default)
26636//   "DESCENDING"
26637func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
26638	c.urlParams_.Set("sortOrder", sortOrder)
26639	return c
26640}
26641
26642// Fields allows partial responses to be retrieved. See
26643// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26644// for more information.
26645func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
26646	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26647	return c
26648}
26649
26650// IfNoneMatch sets the optional parameter which makes the operation
26651// fail if the object's ETag matches the given value. This is useful for
26652// getting updates only after the object has changed since the last
26653// request. Use googleapi.IsNotModified to check whether the response
26654// error from Do is the result of In-None-Match.
26655func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
26656	c.ifNoneMatch_ = entityTag
26657	return c
26658}
26659
26660// Context sets the context to be used in this call's Do method. Any
26661// pending HTTP request will be aborted if the provided context is
26662// canceled.
26663func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
26664	c.ctx_ = ctx
26665	return c
26666}
26667
26668// Header returns an http.Header that can be modified by the caller to
26669// add HTTP headers to the request.
26670func (c *CreativeFieldsListCall) Header() http.Header {
26671	if c.header_ == nil {
26672		c.header_ = make(http.Header)
26673	}
26674	return c.header_
26675}
26676
26677func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
26678	reqHeaders := make(http.Header)
26679	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26680	for k, v := range c.header_ {
26681		reqHeaders[k] = v
26682	}
26683	reqHeaders.Set("User-Agent", c.s.userAgent())
26684	if c.ifNoneMatch_ != "" {
26685		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26686	}
26687	var body io.Reader = nil
26688	c.urlParams_.Set("alt", alt)
26689	c.urlParams_.Set("prettyPrint", "false")
26690	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26691	urls += "?" + c.urlParams_.Encode()
26692	req, err := http.NewRequest("GET", urls, body)
26693	if err != nil {
26694		return nil, err
26695	}
26696	req.Header = reqHeaders
26697	googleapi.Expand(req.URL, map[string]string{
26698		"profileId": strconv.FormatInt(c.profileId, 10),
26699	})
26700	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26701}
26702
26703// Do executes the "dfareporting.creativeFields.list" call.
26704// Exactly one of *CreativeFieldsListResponse or error will be non-nil.
26705// Any non-2xx status code is an error. Response headers are in either
26706// *CreativeFieldsListResponse.ServerResponse.Header or (if a response
26707// was returned at all) in error.(*googleapi.Error).Header. Use
26708// googleapi.IsNotModified to check whether the returned error was
26709// because http.StatusNotModified was returned.
26710func (c *CreativeFieldsListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldsListResponse, error) {
26711	gensupport.SetOptions(c.urlParams_, opts...)
26712	res, err := c.doRequest("json")
26713	if res != nil && res.StatusCode == http.StatusNotModified {
26714		if res.Body != nil {
26715			res.Body.Close()
26716		}
26717		return nil, &googleapi.Error{
26718			Code:   res.StatusCode,
26719			Header: res.Header,
26720		}
26721	}
26722	if err != nil {
26723		return nil, err
26724	}
26725	defer googleapi.CloseBody(res)
26726	if err := googleapi.CheckResponse(res); err != nil {
26727		return nil, err
26728	}
26729	ret := &CreativeFieldsListResponse{
26730		ServerResponse: googleapi.ServerResponse{
26731			Header:         res.Header,
26732			HTTPStatusCode: res.StatusCode,
26733		},
26734	}
26735	target := &ret
26736	if err := gensupport.DecodeResponse(target, res); err != nil {
26737		return nil, err
26738	}
26739	return ret, nil
26740	// {
26741	//   "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
26742	//   "flatPath": "userprofiles/{profileId}/creativeFields",
26743	//   "httpMethod": "GET",
26744	//   "id": "dfareporting.creativeFields.list",
26745	//   "parameterOrder": [
26746	//     "profileId"
26747	//   ],
26748	//   "parameters": {
26749	//     "advertiserIds": {
26750	//       "description": "Select only creative fields that belong to these advertisers.",
26751	//       "format": "int64",
26752	//       "location": "query",
26753	//       "repeated": true,
26754	//       "type": "string"
26755	//     },
26756	//     "ids": {
26757	//       "description": "Select only creative fields with these IDs.",
26758	//       "format": "int64",
26759	//       "location": "query",
26760	//       "repeated": true,
26761	//       "type": "string"
26762	//     },
26763	//     "maxResults": {
26764	//       "default": "1000",
26765	//       "description": "Maximum number of results to return.",
26766	//       "format": "int32",
26767	//       "location": "query",
26768	//       "maximum": "1000",
26769	//       "minimum": "0",
26770	//       "type": "integer"
26771	//     },
26772	//     "pageToken": {
26773	//       "description": "Value of the nextPageToken from the previous result page.",
26774	//       "location": "query",
26775	//       "type": "string"
26776	//     },
26777	//     "profileId": {
26778	//       "description": "User profile ID associated with this request.",
26779	//       "format": "int64",
26780	//       "location": "path",
26781	//       "required": true,
26782	//       "type": "string"
26783	//     },
26784	//     "searchString": {
26785	//       "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\".",
26786	//       "location": "query",
26787	//       "type": "string"
26788	//     },
26789	//     "sortField": {
26790	//       "default": "ID",
26791	//       "description": "Field by which to sort the list.",
26792	//       "enum": [
26793	//         "ID",
26794	//         "NAME"
26795	//       ],
26796	//       "enumDescriptions": [
26797	//         "",
26798	//         ""
26799	//       ],
26800	//       "location": "query",
26801	//       "type": "string"
26802	//     },
26803	//     "sortOrder": {
26804	//       "default": "ASCENDING",
26805	//       "description": "Order of sorted results.",
26806	//       "enum": [
26807	//         "ASCENDING",
26808	//         "DESCENDING"
26809	//       ],
26810	//       "enumDescriptions": [
26811	//         "",
26812	//         ""
26813	//       ],
26814	//       "location": "query",
26815	//       "type": "string"
26816	//     }
26817	//   },
26818	//   "path": "userprofiles/{profileId}/creativeFields",
26819	//   "response": {
26820	//     "$ref": "CreativeFieldsListResponse"
26821	//   },
26822	//   "scopes": [
26823	//     "https://www.googleapis.com/auth/dfatrafficking"
26824	//   ]
26825	// }
26826
26827}
26828
26829// Pages invokes f for each page of results.
26830// A non-nil error returned from f will halt the iteration.
26831// The provided context supersedes any context provided to the Context method.
26832func (c *CreativeFieldsListCall) Pages(ctx context.Context, f func(*CreativeFieldsListResponse) error) error {
26833	c.ctx_ = ctx
26834	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26835	for {
26836		x, err := c.Do()
26837		if err != nil {
26838			return err
26839		}
26840		if err := f(x); err != nil {
26841			return err
26842		}
26843		if x.NextPageToken == "" {
26844			return nil
26845		}
26846		c.PageToken(x.NextPageToken)
26847	}
26848}
26849
26850// method id "dfareporting.creativeFields.patch":
26851
26852type CreativeFieldsPatchCall struct {
26853	s             *Service
26854	profileId     int64
26855	creativefield *CreativeField
26856	urlParams_    gensupport.URLParams
26857	ctx_          context.Context
26858	header_       http.Header
26859}
26860
26861// Patch: Updates an existing creative field. This method supports patch
26862// semantics.
26863//
26864// - id: CreativeField ID.
26865// - profileId: User profile ID associated with this request.
26866func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
26867	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26868	c.profileId = profileId
26869	c.urlParams_.Set("id", fmt.Sprint(id))
26870	c.creativefield = creativefield
26871	return c
26872}
26873
26874// Fields allows partial responses to be retrieved. See
26875// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26876// for more information.
26877func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
26878	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26879	return c
26880}
26881
26882// Context sets the context to be used in this call's Do method. Any
26883// pending HTTP request will be aborted if the provided context is
26884// canceled.
26885func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
26886	c.ctx_ = ctx
26887	return c
26888}
26889
26890// Header returns an http.Header that can be modified by the caller to
26891// add HTTP headers to the request.
26892func (c *CreativeFieldsPatchCall) Header() http.Header {
26893	if c.header_ == nil {
26894		c.header_ = make(http.Header)
26895	}
26896	return c.header_
26897}
26898
26899func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
26900	reqHeaders := make(http.Header)
26901	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
26902	for k, v := range c.header_ {
26903		reqHeaders[k] = v
26904	}
26905	reqHeaders.Set("User-Agent", c.s.userAgent())
26906	var body io.Reader = nil
26907	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
26908	if err != nil {
26909		return nil, err
26910	}
26911	reqHeaders.Set("Content-Type", "application/json")
26912	c.urlParams_.Set("alt", alt)
26913	c.urlParams_.Set("prettyPrint", "false")
26914	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26915	urls += "?" + c.urlParams_.Encode()
26916	req, err := http.NewRequest("PATCH", urls, body)
26917	if err != nil {
26918		return nil, err
26919	}
26920	req.Header = reqHeaders
26921	googleapi.Expand(req.URL, map[string]string{
26922		"profileId": strconv.FormatInt(c.profileId, 10),
26923	})
26924	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26925}
26926
26927// Do executes the "dfareporting.creativeFields.patch" call.
26928// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26929// status code is an error. Response headers are in either
26930// *CreativeField.ServerResponse.Header or (if a response was returned
26931// at all) in error.(*googleapi.Error).Header. Use
26932// googleapi.IsNotModified to check whether the returned error was
26933// because http.StatusNotModified was returned.
26934func (c *CreativeFieldsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26935	gensupport.SetOptions(c.urlParams_, opts...)
26936	res, err := c.doRequest("json")
26937	if res != nil && res.StatusCode == http.StatusNotModified {
26938		if res.Body != nil {
26939			res.Body.Close()
26940		}
26941		return nil, &googleapi.Error{
26942			Code:   res.StatusCode,
26943			Header: res.Header,
26944		}
26945	}
26946	if err != nil {
26947		return nil, err
26948	}
26949	defer googleapi.CloseBody(res)
26950	if err := googleapi.CheckResponse(res); err != nil {
26951		return nil, err
26952	}
26953	ret := &CreativeField{
26954		ServerResponse: googleapi.ServerResponse{
26955			Header:         res.Header,
26956			HTTPStatusCode: res.StatusCode,
26957		},
26958	}
26959	target := &ret
26960	if err := gensupport.DecodeResponse(target, res); err != nil {
26961		return nil, err
26962	}
26963	return ret, nil
26964	// {
26965	//   "description": "Updates an existing creative field. This method supports patch semantics.",
26966	//   "flatPath": "userprofiles/{profileId}/creativeFields",
26967	//   "httpMethod": "PATCH",
26968	//   "id": "dfareporting.creativeFields.patch",
26969	//   "parameterOrder": [
26970	//     "profileId",
26971	//     "id"
26972	//   ],
26973	//   "parameters": {
26974	//     "id": {
26975	//       "description": "CreativeField ID.",
26976	//       "format": "int64",
26977	//       "location": "query",
26978	//       "required": true,
26979	//       "type": "string"
26980	//     },
26981	//     "profileId": {
26982	//       "description": "User profile ID associated with this request.",
26983	//       "format": "int64",
26984	//       "location": "path",
26985	//       "required": true,
26986	//       "type": "string"
26987	//     }
26988	//   },
26989	//   "path": "userprofiles/{profileId}/creativeFields",
26990	//   "request": {
26991	//     "$ref": "CreativeField"
26992	//   },
26993	//   "response": {
26994	//     "$ref": "CreativeField"
26995	//   },
26996	//   "scopes": [
26997	//     "https://www.googleapis.com/auth/dfatrafficking"
26998	//   ]
26999	// }
27000
27001}
27002
27003// method id "dfareporting.creativeFields.update":
27004
27005type CreativeFieldsUpdateCall struct {
27006	s             *Service
27007	profileId     int64
27008	creativefield *CreativeField
27009	urlParams_    gensupport.URLParams
27010	ctx_          context.Context
27011	header_       http.Header
27012}
27013
27014// Update: Updates an existing creative field.
27015//
27016// - profileId: User profile ID associated with this request.
27017func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
27018	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27019	c.profileId = profileId
27020	c.creativefield = creativefield
27021	return c
27022}
27023
27024// Fields allows partial responses to be retrieved. See
27025// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27026// for more information.
27027func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
27028	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27029	return c
27030}
27031
27032// Context sets the context to be used in this call's Do method. Any
27033// pending HTTP request will be aborted if the provided context is
27034// canceled.
27035func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
27036	c.ctx_ = ctx
27037	return c
27038}
27039
27040// Header returns an http.Header that can be modified by the caller to
27041// add HTTP headers to the request.
27042func (c *CreativeFieldsUpdateCall) Header() http.Header {
27043	if c.header_ == nil {
27044		c.header_ = make(http.Header)
27045	}
27046	return c.header_
27047}
27048
27049func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
27050	reqHeaders := make(http.Header)
27051	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27052	for k, v := range c.header_ {
27053		reqHeaders[k] = v
27054	}
27055	reqHeaders.Set("User-Agent", c.s.userAgent())
27056	var body io.Reader = nil
27057	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
27058	if err != nil {
27059		return nil, err
27060	}
27061	reqHeaders.Set("Content-Type", "application/json")
27062	c.urlParams_.Set("alt", alt)
27063	c.urlParams_.Set("prettyPrint", "false")
27064	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
27065	urls += "?" + c.urlParams_.Encode()
27066	req, err := http.NewRequest("PUT", urls, body)
27067	if err != nil {
27068		return nil, err
27069	}
27070	req.Header = reqHeaders
27071	googleapi.Expand(req.URL, map[string]string{
27072		"profileId": strconv.FormatInt(c.profileId, 10),
27073	})
27074	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27075}
27076
27077// Do executes the "dfareporting.creativeFields.update" call.
27078// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
27079// status code is an error. Response headers are in either
27080// *CreativeField.ServerResponse.Header or (if a response was returned
27081// at all) in error.(*googleapi.Error).Header. Use
27082// googleapi.IsNotModified to check whether the returned error was
27083// because http.StatusNotModified was returned.
27084func (c *CreativeFieldsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
27085	gensupport.SetOptions(c.urlParams_, opts...)
27086	res, err := c.doRequest("json")
27087	if res != nil && res.StatusCode == http.StatusNotModified {
27088		if res.Body != nil {
27089			res.Body.Close()
27090		}
27091		return nil, &googleapi.Error{
27092			Code:   res.StatusCode,
27093			Header: res.Header,
27094		}
27095	}
27096	if err != nil {
27097		return nil, err
27098	}
27099	defer googleapi.CloseBody(res)
27100	if err := googleapi.CheckResponse(res); err != nil {
27101		return nil, err
27102	}
27103	ret := &CreativeField{
27104		ServerResponse: googleapi.ServerResponse{
27105			Header:         res.Header,
27106			HTTPStatusCode: res.StatusCode,
27107		},
27108	}
27109	target := &ret
27110	if err := gensupport.DecodeResponse(target, res); err != nil {
27111		return nil, err
27112	}
27113	return ret, nil
27114	// {
27115	//   "description": "Updates an existing creative field.",
27116	//   "flatPath": "userprofiles/{profileId}/creativeFields",
27117	//   "httpMethod": "PUT",
27118	//   "id": "dfareporting.creativeFields.update",
27119	//   "parameterOrder": [
27120	//     "profileId"
27121	//   ],
27122	//   "parameters": {
27123	//     "profileId": {
27124	//       "description": "User profile ID associated with this request.",
27125	//       "format": "int64",
27126	//       "location": "path",
27127	//       "required": true,
27128	//       "type": "string"
27129	//     }
27130	//   },
27131	//   "path": "userprofiles/{profileId}/creativeFields",
27132	//   "request": {
27133	//     "$ref": "CreativeField"
27134	//   },
27135	//   "response": {
27136	//     "$ref": "CreativeField"
27137	//   },
27138	//   "scopes": [
27139	//     "https://www.googleapis.com/auth/dfatrafficking"
27140	//   ]
27141	// }
27142
27143}
27144
27145// method id "dfareporting.creativeGroups.get":
27146
27147type CreativeGroupsGetCall struct {
27148	s            *Service
27149	profileId    int64
27150	id           int64
27151	urlParams_   gensupport.URLParams
27152	ifNoneMatch_ string
27153	ctx_         context.Context
27154	header_      http.Header
27155}
27156
27157// Get: Gets one creative group by ID.
27158//
27159// - id: Creative group ID.
27160// - profileId: User profile ID associated with this request.
27161func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
27162	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27163	c.profileId = profileId
27164	c.id = id
27165	return c
27166}
27167
27168// Fields allows partial responses to be retrieved. See
27169// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27170// for more information.
27171func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
27172	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27173	return c
27174}
27175
27176// IfNoneMatch sets the optional parameter which makes the operation
27177// fail if the object's ETag matches the given value. This is useful for
27178// getting updates only after the object has changed since the last
27179// request. Use googleapi.IsNotModified to check whether the response
27180// error from Do is the result of In-None-Match.
27181func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
27182	c.ifNoneMatch_ = entityTag
27183	return c
27184}
27185
27186// Context sets the context to be used in this call's Do method. Any
27187// pending HTTP request will be aborted if the provided context is
27188// canceled.
27189func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
27190	c.ctx_ = ctx
27191	return c
27192}
27193
27194// Header returns an http.Header that can be modified by the caller to
27195// add HTTP headers to the request.
27196func (c *CreativeGroupsGetCall) Header() http.Header {
27197	if c.header_ == nil {
27198		c.header_ = make(http.Header)
27199	}
27200	return c.header_
27201}
27202
27203func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
27204	reqHeaders := make(http.Header)
27205	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27206	for k, v := range c.header_ {
27207		reqHeaders[k] = v
27208	}
27209	reqHeaders.Set("User-Agent", c.s.userAgent())
27210	if c.ifNoneMatch_ != "" {
27211		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27212	}
27213	var body io.Reader = nil
27214	c.urlParams_.Set("alt", alt)
27215	c.urlParams_.Set("prettyPrint", "false")
27216	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
27217	urls += "?" + c.urlParams_.Encode()
27218	req, err := http.NewRequest("GET", urls, body)
27219	if err != nil {
27220		return nil, err
27221	}
27222	req.Header = reqHeaders
27223	googleapi.Expand(req.URL, map[string]string{
27224		"profileId": strconv.FormatInt(c.profileId, 10),
27225		"id":        strconv.FormatInt(c.id, 10),
27226	})
27227	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27228}
27229
27230// Do executes the "dfareporting.creativeGroups.get" call.
27231// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27232// status code is an error. Response headers are in either
27233// *CreativeGroup.ServerResponse.Header or (if a response was returned
27234// at all) in error.(*googleapi.Error).Header. Use
27235// googleapi.IsNotModified to check whether the returned error was
27236// because http.StatusNotModified was returned.
27237func (c *CreativeGroupsGetCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27238	gensupport.SetOptions(c.urlParams_, opts...)
27239	res, err := c.doRequest("json")
27240	if res != nil && res.StatusCode == http.StatusNotModified {
27241		if res.Body != nil {
27242			res.Body.Close()
27243		}
27244		return nil, &googleapi.Error{
27245			Code:   res.StatusCode,
27246			Header: res.Header,
27247		}
27248	}
27249	if err != nil {
27250		return nil, err
27251	}
27252	defer googleapi.CloseBody(res)
27253	if err := googleapi.CheckResponse(res); err != nil {
27254		return nil, err
27255	}
27256	ret := &CreativeGroup{
27257		ServerResponse: googleapi.ServerResponse{
27258			Header:         res.Header,
27259			HTTPStatusCode: res.StatusCode,
27260		},
27261	}
27262	target := &ret
27263	if err := gensupport.DecodeResponse(target, res); err != nil {
27264		return nil, err
27265	}
27266	return ret, nil
27267	// {
27268	//   "description": "Gets one creative group by ID.",
27269	//   "flatPath": "userprofiles/{profileId}/creativeGroups/{id}",
27270	//   "httpMethod": "GET",
27271	//   "id": "dfareporting.creativeGroups.get",
27272	//   "parameterOrder": [
27273	//     "profileId",
27274	//     "id"
27275	//   ],
27276	//   "parameters": {
27277	//     "id": {
27278	//       "description": "Creative group ID.",
27279	//       "format": "int64",
27280	//       "location": "path",
27281	//       "required": true,
27282	//       "type": "string"
27283	//     },
27284	//     "profileId": {
27285	//       "description": "User profile ID associated with this request.",
27286	//       "format": "int64",
27287	//       "location": "path",
27288	//       "required": true,
27289	//       "type": "string"
27290	//     }
27291	//   },
27292	//   "path": "userprofiles/{profileId}/creativeGroups/{id}",
27293	//   "response": {
27294	//     "$ref": "CreativeGroup"
27295	//   },
27296	//   "scopes": [
27297	//     "https://www.googleapis.com/auth/dfatrafficking"
27298	//   ]
27299	// }
27300
27301}
27302
27303// method id "dfareporting.creativeGroups.insert":
27304
27305type CreativeGroupsInsertCall struct {
27306	s             *Service
27307	profileId     int64
27308	creativegroup *CreativeGroup
27309	urlParams_    gensupport.URLParams
27310	ctx_          context.Context
27311	header_       http.Header
27312}
27313
27314// Insert: Inserts a new creative group.
27315//
27316// - profileId: User profile ID associated with this request.
27317func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
27318	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27319	c.profileId = profileId
27320	c.creativegroup = creativegroup
27321	return c
27322}
27323
27324// Fields allows partial responses to be retrieved. See
27325// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27326// for more information.
27327func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
27328	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27329	return c
27330}
27331
27332// Context sets the context to be used in this call's Do method. Any
27333// pending HTTP request will be aborted if the provided context is
27334// canceled.
27335func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
27336	c.ctx_ = ctx
27337	return c
27338}
27339
27340// Header returns an http.Header that can be modified by the caller to
27341// add HTTP headers to the request.
27342func (c *CreativeGroupsInsertCall) Header() http.Header {
27343	if c.header_ == nil {
27344		c.header_ = make(http.Header)
27345	}
27346	return c.header_
27347}
27348
27349func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
27350	reqHeaders := make(http.Header)
27351	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27352	for k, v := range c.header_ {
27353		reqHeaders[k] = v
27354	}
27355	reqHeaders.Set("User-Agent", c.s.userAgent())
27356	var body io.Reader = nil
27357	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27358	if err != nil {
27359		return nil, err
27360	}
27361	reqHeaders.Set("Content-Type", "application/json")
27362	c.urlParams_.Set("alt", alt)
27363	c.urlParams_.Set("prettyPrint", "false")
27364	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27365	urls += "?" + c.urlParams_.Encode()
27366	req, err := http.NewRequest("POST", urls, body)
27367	if err != nil {
27368		return nil, err
27369	}
27370	req.Header = reqHeaders
27371	googleapi.Expand(req.URL, map[string]string{
27372		"profileId": strconv.FormatInt(c.profileId, 10),
27373	})
27374	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27375}
27376
27377// Do executes the "dfareporting.creativeGroups.insert" call.
27378// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27379// status code is an error. Response headers are in either
27380// *CreativeGroup.ServerResponse.Header or (if a response was returned
27381// at all) in error.(*googleapi.Error).Header. Use
27382// googleapi.IsNotModified to check whether the returned error was
27383// because http.StatusNotModified was returned.
27384func (c *CreativeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27385	gensupport.SetOptions(c.urlParams_, opts...)
27386	res, err := c.doRequest("json")
27387	if res != nil && res.StatusCode == http.StatusNotModified {
27388		if res.Body != nil {
27389			res.Body.Close()
27390		}
27391		return nil, &googleapi.Error{
27392			Code:   res.StatusCode,
27393			Header: res.Header,
27394		}
27395	}
27396	if err != nil {
27397		return nil, err
27398	}
27399	defer googleapi.CloseBody(res)
27400	if err := googleapi.CheckResponse(res); err != nil {
27401		return nil, err
27402	}
27403	ret := &CreativeGroup{
27404		ServerResponse: googleapi.ServerResponse{
27405			Header:         res.Header,
27406			HTTPStatusCode: res.StatusCode,
27407		},
27408	}
27409	target := &ret
27410	if err := gensupport.DecodeResponse(target, res); err != nil {
27411		return nil, err
27412	}
27413	return ret, nil
27414	// {
27415	//   "description": "Inserts a new creative group.",
27416	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
27417	//   "httpMethod": "POST",
27418	//   "id": "dfareporting.creativeGroups.insert",
27419	//   "parameterOrder": [
27420	//     "profileId"
27421	//   ],
27422	//   "parameters": {
27423	//     "profileId": {
27424	//       "description": "User profile ID associated with this request.",
27425	//       "format": "int64",
27426	//       "location": "path",
27427	//       "required": true,
27428	//       "type": "string"
27429	//     }
27430	//   },
27431	//   "path": "userprofiles/{profileId}/creativeGroups",
27432	//   "request": {
27433	//     "$ref": "CreativeGroup"
27434	//   },
27435	//   "response": {
27436	//     "$ref": "CreativeGroup"
27437	//   },
27438	//   "scopes": [
27439	//     "https://www.googleapis.com/auth/dfatrafficking"
27440	//   ]
27441	// }
27442
27443}
27444
27445// method id "dfareporting.creativeGroups.list":
27446
27447type CreativeGroupsListCall struct {
27448	s            *Service
27449	profileId    int64
27450	urlParams_   gensupport.URLParams
27451	ifNoneMatch_ string
27452	ctx_         context.Context
27453	header_      http.Header
27454}
27455
27456// List: Retrieves a list of creative groups, possibly filtered. This
27457// method supports paging.
27458//
27459// - profileId: User profile ID associated with this request.
27460func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
27461	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27462	c.profileId = profileId
27463	return c
27464}
27465
27466// AdvertiserIds sets the optional parameter "advertiserIds": Select
27467// only creative groups that belong to these advertisers.
27468func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeGroupsListCall {
27469	var advertiserIds_ []string
27470	for _, v := range advertiserIds {
27471		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
27472	}
27473	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
27474	return c
27475}
27476
27477// GroupNumber sets the optional parameter "groupNumber": Select only
27478// creative groups that belong to this subgroup.
27479func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
27480	c.urlParams_.Set("groupNumber", fmt.Sprint(groupNumber))
27481	return c
27482}
27483
27484// Ids sets the optional parameter "ids": Select only creative groups
27485// with these IDs.
27486func (c *CreativeGroupsListCall) Ids(ids ...int64) *CreativeGroupsListCall {
27487	var ids_ []string
27488	for _, v := range ids {
27489		ids_ = append(ids_, fmt.Sprint(v))
27490	}
27491	c.urlParams_.SetMulti("ids", ids_)
27492	return c
27493}
27494
27495// MaxResults sets the optional parameter "maxResults": Maximum number
27496// of results to return.
27497func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
27498	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
27499	return c
27500}
27501
27502// PageToken sets the optional parameter "pageToken": Value of the
27503// nextPageToken from the previous result page.
27504func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
27505	c.urlParams_.Set("pageToken", pageToken)
27506	return c
27507}
27508
27509// SearchString sets the optional parameter "searchString": Allows
27510// searching for creative groups by name or ID. Wildcards (*) are
27511// allowed. For example, "creativegroup*2015" will return creative
27512// groups with names like "creativegroup June 2015", "creativegroup
27513// April 2015", or simply "creativegroup 2015". Most of the searches
27514// also add wild-cards implicitly at the start and the end of the search
27515// string. For example, a search string of "creativegroup" will match
27516// creative groups with the name "my creativegroup", "creativegroup
27517// 2015", or simply "creativegroup".
27518func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
27519	c.urlParams_.Set("searchString", searchString)
27520	return c
27521}
27522
27523// SortField sets the optional parameter "sortField": Field by which to
27524// sort the list.
27525//
27526// Possible values:
27527//   "ID" (default)
27528//   "NAME"
27529func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
27530	c.urlParams_.Set("sortField", sortField)
27531	return c
27532}
27533
27534// SortOrder sets the optional parameter "sortOrder": Order of sorted
27535// results.
27536//
27537// Possible values:
27538//   "ASCENDING" (default)
27539//   "DESCENDING"
27540func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
27541	c.urlParams_.Set("sortOrder", sortOrder)
27542	return c
27543}
27544
27545// Fields allows partial responses to be retrieved. See
27546// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27547// for more information.
27548func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
27549	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27550	return c
27551}
27552
27553// IfNoneMatch sets the optional parameter which makes the operation
27554// fail if the object's ETag matches the given value. This is useful for
27555// getting updates only after the object has changed since the last
27556// request. Use googleapi.IsNotModified to check whether the response
27557// error from Do is the result of In-None-Match.
27558func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
27559	c.ifNoneMatch_ = entityTag
27560	return c
27561}
27562
27563// Context sets the context to be used in this call's Do method. Any
27564// pending HTTP request will be aborted if the provided context is
27565// canceled.
27566func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
27567	c.ctx_ = ctx
27568	return c
27569}
27570
27571// Header returns an http.Header that can be modified by the caller to
27572// add HTTP headers to the request.
27573func (c *CreativeGroupsListCall) Header() http.Header {
27574	if c.header_ == nil {
27575		c.header_ = make(http.Header)
27576	}
27577	return c.header_
27578}
27579
27580func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
27581	reqHeaders := make(http.Header)
27582	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27583	for k, v := range c.header_ {
27584		reqHeaders[k] = v
27585	}
27586	reqHeaders.Set("User-Agent", c.s.userAgent())
27587	if c.ifNoneMatch_ != "" {
27588		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27589	}
27590	var body io.Reader = nil
27591	c.urlParams_.Set("alt", alt)
27592	c.urlParams_.Set("prettyPrint", "false")
27593	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27594	urls += "?" + c.urlParams_.Encode()
27595	req, err := http.NewRequest("GET", urls, body)
27596	if err != nil {
27597		return nil, err
27598	}
27599	req.Header = reqHeaders
27600	googleapi.Expand(req.URL, map[string]string{
27601		"profileId": strconv.FormatInt(c.profileId, 10),
27602	})
27603	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27604}
27605
27606// Do executes the "dfareporting.creativeGroups.list" call.
27607// Exactly one of *CreativeGroupsListResponse or error will be non-nil.
27608// Any non-2xx status code is an error. Response headers are in either
27609// *CreativeGroupsListResponse.ServerResponse.Header or (if a response
27610// was returned at all) in error.(*googleapi.Error).Header. Use
27611// googleapi.IsNotModified to check whether the returned error was
27612// because http.StatusNotModified was returned.
27613func (c *CreativeGroupsListCall) Do(opts ...googleapi.CallOption) (*CreativeGroupsListResponse, error) {
27614	gensupport.SetOptions(c.urlParams_, opts...)
27615	res, err := c.doRequest("json")
27616	if res != nil && res.StatusCode == http.StatusNotModified {
27617		if res.Body != nil {
27618			res.Body.Close()
27619		}
27620		return nil, &googleapi.Error{
27621			Code:   res.StatusCode,
27622			Header: res.Header,
27623		}
27624	}
27625	if err != nil {
27626		return nil, err
27627	}
27628	defer googleapi.CloseBody(res)
27629	if err := googleapi.CheckResponse(res); err != nil {
27630		return nil, err
27631	}
27632	ret := &CreativeGroupsListResponse{
27633		ServerResponse: googleapi.ServerResponse{
27634			Header:         res.Header,
27635			HTTPStatusCode: res.StatusCode,
27636		},
27637	}
27638	target := &ret
27639	if err := gensupport.DecodeResponse(target, res); err != nil {
27640		return nil, err
27641	}
27642	return ret, nil
27643	// {
27644	//   "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
27645	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
27646	//   "httpMethod": "GET",
27647	//   "id": "dfareporting.creativeGroups.list",
27648	//   "parameterOrder": [
27649	//     "profileId"
27650	//   ],
27651	//   "parameters": {
27652	//     "advertiserIds": {
27653	//       "description": "Select only creative groups that belong to these advertisers.",
27654	//       "format": "int64",
27655	//       "location": "query",
27656	//       "repeated": true,
27657	//       "type": "string"
27658	//     },
27659	//     "groupNumber": {
27660	//       "description": "Select only creative groups that belong to this subgroup.",
27661	//       "format": "int32",
27662	//       "location": "query",
27663	//       "maximum": "2",
27664	//       "minimum": "1",
27665	//       "type": "integer"
27666	//     },
27667	//     "ids": {
27668	//       "description": "Select only creative groups with these IDs.",
27669	//       "format": "int64",
27670	//       "location": "query",
27671	//       "repeated": true,
27672	//       "type": "string"
27673	//     },
27674	//     "maxResults": {
27675	//       "default": "1000",
27676	//       "description": "Maximum number of results to return.",
27677	//       "format": "int32",
27678	//       "location": "query",
27679	//       "maximum": "1000",
27680	//       "minimum": "0",
27681	//       "type": "integer"
27682	//     },
27683	//     "pageToken": {
27684	//       "description": "Value of the nextPageToken from the previous result page.",
27685	//       "location": "query",
27686	//       "type": "string"
27687	//     },
27688	//     "profileId": {
27689	//       "description": "User profile ID associated with this request.",
27690	//       "format": "int64",
27691	//       "location": "path",
27692	//       "required": true,
27693	//       "type": "string"
27694	//     },
27695	//     "searchString": {
27696	//       "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\".",
27697	//       "location": "query",
27698	//       "type": "string"
27699	//     },
27700	//     "sortField": {
27701	//       "default": "ID",
27702	//       "description": "Field by which to sort the list.",
27703	//       "enum": [
27704	//         "ID",
27705	//         "NAME"
27706	//       ],
27707	//       "enumDescriptions": [
27708	//         "",
27709	//         ""
27710	//       ],
27711	//       "location": "query",
27712	//       "type": "string"
27713	//     },
27714	//     "sortOrder": {
27715	//       "default": "ASCENDING",
27716	//       "description": "Order of sorted results.",
27717	//       "enum": [
27718	//         "ASCENDING",
27719	//         "DESCENDING"
27720	//       ],
27721	//       "enumDescriptions": [
27722	//         "",
27723	//         ""
27724	//       ],
27725	//       "location": "query",
27726	//       "type": "string"
27727	//     }
27728	//   },
27729	//   "path": "userprofiles/{profileId}/creativeGroups",
27730	//   "response": {
27731	//     "$ref": "CreativeGroupsListResponse"
27732	//   },
27733	//   "scopes": [
27734	//     "https://www.googleapis.com/auth/dfatrafficking"
27735	//   ]
27736	// }
27737
27738}
27739
27740// Pages invokes f for each page of results.
27741// A non-nil error returned from f will halt the iteration.
27742// The provided context supersedes any context provided to the Context method.
27743func (c *CreativeGroupsListCall) Pages(ctx context.Context, f func(*CreativeGroupsListResponse) error) error {
27744	c.ctx_ = ctx
27745	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27746	for {
27747		x, err := c.Do()
27748		if err != nil {
27749			return err
27750		}
27751		if err := f(x); err != nil {
27752			return err
27753		}
27754		if x.NextPageToken == "" {
27755			return nil
27756		}
27757		c.PageToken(x.NextPageToken)
27758	}
27759}
27760
27761// method id "dfareporting.creativeGroups.patch":
27762
27763type CreativeGroupsPatchCall struct {
27764	s             *Service
27765	profileId     int64
27766	creativegroup *CreativeGroup
27767	urlParams_    gensupport.URLParams
27768	ctx_          context.Context
27769	header_       http.Header
27770}
27771
27772// Patch: Updates an existing creative group. This method supports patch
27773// semantics.
27774//
27775// - id: CreativeGroup ID.
27776// - profileId: User profile ID associated with this request.
27777func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
27778	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27779	c.profileId = profileId
27780	c.urlParams_.Set("id", fmt.Sprint(id))
27781	c.creativegroup = creativegroup
27782	return c
27783}
27784
27785// Fields allows partial responses to be retrieved. See
27786// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27787// for more information.
27788func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
27789	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27790	return c
27791}
27792
27793// Context sets the context to be used in this call's Do method. Any
27794// pending HTTP request will be aborted if the provided context is
27795// canceled.
27796func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
27797	c.ctx_ = ctx
27798	return c
27799}
27800
27801// Header returns an http.Header that can be modified by the caller to
27802// add HTTP headers to the request.
27803func (c *CreativeGroupsPatchCall) Header() http.Header {
27804	if c.header_ == nil {
27805		c.header_ = make(http.Header)
27806	}
27807	return c.header_
27808}
27809
27810func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
27811	reqHeaders := make(http.Header)
27812	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27813	for k, v := range c.header_ {
27814		reqHeaders[k] = v
27815	}
27816	reqHeaders.Set("User-Agent", c.s.userAgent())
27817	var body io.Reader = nil
27818	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27819	if err != nil {
27820		return nil, err
27821	}
27822	reqHeaders.Set("Content-Type", "application/json")
27823	c.urlParams_.Set("alt", alt)
27824	c.urlParams_.Set("prettyPrint", "false")
27825	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27826	urls += "?" + c.urlParams_.Encode()
27827	req, err := http.NewRequest("PATCH", urls, body)
27828	if err != nil {
27829		return nil, err
27830	}
27831	req.Header = reqHeaders
27832	googleapi.Expand(req.URL, map[string]string{
27833		"profileId": strconv.FormatInt(c.profileId, 10),
27834	})
27835	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27836}
27837
27838// Do executes the "dfareporting.creativeGroups.patch" call.
27839// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27840// status code is an error. Response headers are in either
27841// *CreativeGroup.ServerResponse.Header or (if a response was returned
27842// at all) in error.(*googleapi.Error).Header. Use
27843// googleapi.IsNotModified to check whether the returned error was
27844// because http.StatusNotModified was returned.
27845func (c *CreativeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27846	gensupport.SetOptions(c.urlParams_, opts...)
27847	res, err := c.doRequest("json")
27848	if res != nil && res.StatusCode == http.StatusNotModified {
27849		if res.Body != nil {
27850			res.Body.Close()
27851		}
27852		return nil, &googleapi.Error{
27853			Code:   res.StatusCode,
27854			Header: res.Header,
27855		}
27856	}
27857	if err != nil {
27858		return nil, err
27859	}
27860	defer googleapi.CloseBody(res)
27861	if err := googleapi.CheckResponse(res); err != nil {
27862		return nil, err
27863	}
27864	ret := &CreativeGroup{
27865		ServerResponse: googleapi.ServerResponse{
27866			Header:         res.Header,
27867			HTTPStatusCode: res.StatusCode,
27868		},
27869	}
27870	target := &ret
27871	if err := gensupport.DecodeResponse(target, res); err != nil {
27872		return nil, err
27873	}
27874	return ret, nil
27875	// {
27876	//   "description": "Updates an existing creative group. This method supports patch semantics.",
27877	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
27878	//   "httpMethod": "PATCH",
27879	//   "id": "dfareporting.creativeGroups.patch",
27880	//   "parameterOrder": [
27881	//     "profileId",
27882	//     "id"
27883	//   ],
27884	//   "parameters": {
27885	//     "id": {
27886	//       "description": "CreativeGroup ID.",
27887	//       "format": "int64",
27888	//       "location": "query",
27889	//       "required": true,
27890	//       "type": "string"
27891	//     },
27892	//     "profileId": {
27893	//       "description": "User profile ID associated with this request.",
27894	//       "format": "int64",
27895	//       "location": "path",
27896	//       "required": true,
27897	//       "type": "string"
27898	//     }
27899	//   },
27900	//   "path": "userprofiles/{profileId}/creativeGroups",
27901	//   "request": {
27902	//     "$ref": "CreativeGroup"
27903	//   },
27904	//   "response": {
27905	//     "$ref": "CreativeGroup"
27906	//   },
27907	//   "scopes": [
27908	//     "https://www.googleapis.com/auth/dfatrafficking"
27909	//   ]
27910	// }
27911
27912}
27913
27914// method id "dfareporting.creativeGroups.update":
27915
27916type CreativeGroupsUpdateCall struct {
27917	s             *Service
27918	profileId     int64
27919	creativegroup *CreativeGroup
27920	urlParams_    gensupport.URLParams
27921	ctx_          context.Context
27922	header_       http.Header
27923}
27924
27925// Update: Updates an existing creative group.
27926//
27927// - profileId: User profile ID associated with this request.
27928func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
27929	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27930	c.profileId = profileId
27931	c.creativegroup = creativegroup
27932	return c
27933}
27934
27935// Fields allows partial responses to be retrieved. See
27936// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27937// for more information.
27938func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
27939	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27940	return c
27941}
27942
27943// Context sets the context to be used in this call's Do method. Any
27944// pending HTTP request will be aborted if the provided context is
27945// canceled.
27946func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
27947	c.ctx_ = ctx
27948	return c
27949}
27950
27951// Header returns an http.Header that can be modified by the caller to
27952// add HTTP headers to the request.
27953func (c *CreativeGroupsUpdateCall) Header() http.Header {
27954	if c.header_ == nil {
27955		c.header_ = make(http.Header)
27956	}
27957	return c.header_
27958}
27959
27960func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
27961	reqHeaders := make(http.Header)
27962	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
27963	for k, v := range c.header_ {
27964		reqHeaders[k] = v
27965	}
27966	reqHeaders.Set("User-Agent", c.s.userAgent())
27967	var body io.Reader = nil
27968	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27969	if err != nil {
27970		return nil, err
27971	}
27972	reqHeaders.Set("Content-Type", "application/json")
27973	c.urlParams_.Set("alt", alt)
27974	c.urlParams_.Set("prettyPrint", "false")
27975	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27976	urls += "?" + c.urlParams_.Encode()
27977	req, err := http.NewRequest("PUT", urls, body)
27978	if err != nil {
27979		return nil, err
27980	}
27981	req.Header = reqHeaders
27982	googleapi.Expand(req.URL, map[string]string{
27983		"profileId": strconv.FormatInt(c.profileId, 10),
27984	})
27985	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27986}
27987
27988// Do executes the "dfareporting.creativeGroups.update" call.
27989// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27990// status code is an error. Response headers are in either
27991// *CreativeGroup.ServerResponse.Header or (if a response was returned
27992// at all) in error.(*googleapi.Error).Header. Use
27993// googleapi.IsNotModified to check whether the returned error was
27994// because http.StatusNotModified was returned.
27995func (c *CreativeGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27996	gensupport.SetOptions(c.urlParams_, opts...)
27997	res, err := c.doRequest("json")
27998	if res != nil && res.StatusCode == http.StatusNotModified {
27999		if res.Body != nil {
28000			res.Body.Close()
28001		}
28002		return nil, &googleapi.Error{
28003			Code:   res.StatusCode,
28004			Header: res.Header,
28005		}
28006	}
28007	if err != nil {
28008		return nil, err
28009	}
28010	defer googleapi.CloseBody(res)
28011	if err := googleapi.CheckResponse(res); err != nil {
28012		return nil, err
28013	}
28014	ret := &CreativeGroup{
28015		ServerResponse: googleapi.ServerResponse{
28016			Header:         res.Header,
28017			HTTPStatusCode: res.StatusCode,
28018		},
28019	}
28020	target := &ret
28021	if err := gensupport.DecodeResponse(target, res); err != nil {
28022		return nil, err
28023	}
28024	return ret, nil
28025	// {
28026	//   "description": "Updates an existing creative group.",
28027	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
28028	//   "httpMethod": "PUT",
28029	//   "id": "dfareporting.creativeGroups.update",
28030	//   "parameterOrder": [
28031	//     "profileId"
28032	//   ],
28033	//   "parameters": {
28034	//     "profileId": {
28035	//       "description": "User profile ID associated with this request.",
28036	//       "format": "int64",
28037	//       "location": "path",
28038	//       "required": true,
28039	//       "type": "string"
28040	//     }
28041	//   },
28042	//   "path": "userprofiles/{profileId}/creativeGroups",
28043	//   "request": {
28044	//     "$ref": "CreativeGroup"
28045	//   },
28046	//   "response": {
28047	//     "$ref": "CreativeGroup"
28048	//   },
28049	//   "scopes": [
28050	//     "https://www.googleapis.com/auth/dfatrafficking"
28051	//   ]
28052	// }
28053
28054}
28055
28056// method id "dfareporting.creatives.get":
28057
28058type CreativesGetCall struct {
28059	s            *Service
28060	profileId    int64
28061	id           int64
28062	urlParams_   gensupport.URLParams
28063	ifNoneMatch_ string
28064	ctx_         context.Context
28065	header_      http.Header
28066}
28067
28068// Get: Gets one creative by ID.
28069//
28070// - id: Creative ID.
28071// - profileId: User profile ID associated with this request.
28072func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
28073	c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28074	c.profileId = profileId
28075	c.id = id
28076	return c
28077}
28078
28079// Fields allows partial responses to be retrieved. See
28080// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28081// for more information.
28082func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
28083	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28084	return c
28085}
28086
28087// IfNoneMatch sets the optional parameter which makes the operation
28088// fail if the object's ETag matches the given value. This is useful for
28089// getting updates only after the object has changed since the last
28090// request. Use googleapi.IsNotModified to check whether the response
28091// error from Do is the result of In-None-Match.
28092func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
28093	c.ifNoneMatch_ = entityTag
28094	return c
28095}
28096
28097// Context sets the context to be used in this call's Do method. Any
28098// pending HTTP request will be aborted if the provided context is
28099// canceled.
28100func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
28101	c.ctx_ = ctx
28102	return c
28103}
28104
28105// Header returns an http.Header that can be modified by the caller to
28106// add HTTP headers to the request.
28107func (c *CreativesGetCall) Header() http.Header {
28108	if c.header_ == nil {
28109		c.header_ = make(http.Header)
28110	}
28111	return c.header_
28112}
28113
28114func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
28115	reqHeaders := make(http.Header)
28116	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28117	for k, v := range c.header_ {
28118		reqHeaders[k] = v
28119	}
28120	reqHeaders.Set("User-Agent", c.s.userAgent())
28121	if c.ifNoneMatch_ != "" {
28122		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28123	}
28124	var body io.Reader = nil
28125	c.urlParams_.Set("alt", alt)
28126	c.urlParams_.Set("prettyPrint", "false")
28127	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
28128	urls += "?" + c.urlParams_.Encode()
28129	req, err := http.NewRequest("GET", urls, body)
28130	if err != nil {
28131		return nil, err
28132	}
28133	req.Header = reqHeaders
28134	googleapi.Expand(req.URL, map[string]string{
28135		"profileId": strconv.FormatInt(c.profileId, 10),
28136		"id":        strconv.FormatInt(c.id, 10),
28137	})
28138	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28139}
28140
28141// Do executes the "dfareporting.creatives.get" call.
28142// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28143// code is an error. Response headers are in either
28144// *Creative.ServerResponse.Header or (if a response was returned at
28145// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28146// to check whether the returned error was because
28147// http.StatusNotModified was returned.
28148func (c *CreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28149	gensupport.SetOptions(c.urlParams_, opts...)
28150	res, err := c.doRequest("json")
28151	if res != nil && res.StatusCode == http.StatusNotModified {
28152		if res.Body != nil {
28153			res.Body.Close()
28154		}
28155		return nil, &googleapi.Error{
28156			Code:   res.StatusCode,
28157			Header: res.Header,
28158		}
28159	}
28160	if err != nil {
28161		return nil, err
28162	}
28163	defer googleapi.CloseBody(res)
28164	if err := googleapi.CheckResponse(res); err != nil {
28165		return nil, err
28166	}
28167	ret := &Creative{
28168		ServerResponse: googleapi.ServerResponse{
28169			Header:         res.Header,
28170			HTTPStatusCode: res.StatusCode,
28171		},
28172	}
28173	target := &ret
28174	if err := gensupport.DecodeResponse(target, res); err != nil {
28175		return nil, err
28176	}
28177	return ret, nil
28178	// {
28179	//   "description": "Gets one creative by ID.",
28180	//   "flatPath": "userprofiles/{profileId}/creatives/{id}",
28181	//   "httpMethod": "GET",
28182	//   "id": "dfareporting.creatives.get",
28183	//   "parameterOrder": [
28184	//     "profileId",
28185	//     "id"
28186	//   ],
28187	//   "parameters": {
28188	//     "id": {
28189	//       "description": "Creative ID.",
28190	//       "format": "int64",
28191	//       "location": "path",
28192	//       "required": true,
28193	//       "type": "string"
28194	//     },
28195	//     "profileId": {
28196	//       "description": "User profile ID associated with this request.",
28197	//       "format": "int64",
28198	//       "location": "path",
28199	//       "required": true,
28200	//       "type": "string"
28201	//     }
28202	//   },
28203	//   "path": "userprofiles/{profileId}/creatives/{id}",
28204	//   "response": {
28205	//     "$ref": "Creative"
28206	//   },
28207	//   "scopes": [
28208	//     "https://www.googleapis.com/auth/dfatrafficking"
28209	//   ]
28210	// }
28211
28212}
28213
28214// method id "dfareporting.creatives.insert":
28215
28216type CreativesInsertCall struct {
28217	s          *Service
28218	profileId  int64
28219	creative   *Creative
28220	urlParams_ gensupport.URLParams
28221	ctx_       context.Context
28222	header_    http.Header
28223}
28224
28225// Insert: Inserts a new creative.
28226//
28227// - profileId: User profile ID associated with this request.
28228func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
28229	c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28230	c.profileId = profileId
28231	c.creative = creative
28232	return c
28233}
28234
28235// Fields allows partial responses to be retrieved. See
28236// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28237// for more information.
28238func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
28239	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28240	return c
28241}
28242
28243// Context sets the context to be used in this call's Do method. Any
28244// pending HTTP request will be aborted if the provided context is
28245// canceled.
28246func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
28247	c.ctx_ = ctx
28248	return c
28249}
28250
28251// Header returns an http.Header that can be modified by the caller to
28252// add HTTP headers to the request.
28253func (c *CreativesInsertCall) Header() http.Header {
28254	if c.header_ == nil {
28255		c.header_ = make(http.Header)
28256	}
28257	return c.header_
28258}
28259
28260func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
28261	reqHeaders := make(http.Header)
28262	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28263	for k, v := range c.header_ {
28264		reqHeaders[k] = v
28265	}
28266	reqHeaders.Set("User-Agent", c.s.userAgent())
28267	var body io.Reader = nil
28268	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
28269	if err != nil {
28270		return nil, err
28271	}
28272	reqHeaders.Set("Content-Type", "application/json")
28273	c.urlParams_.Set("alt", alt)
28274	c.urlParams_.Set("prettyPrint", "false")
28275	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28276	urls += "?" + c.urlParams_.Encode()
28277	req, err := http.NewRequest("POST", urls, body)
28278	if err != nil {
28279		return nil, err
28280	}
28281	req.Header = reqHeaders
28282	googleapi.Expand(req.URL, map[string]string{
28283		"profileId": strconv.FormatInt(c.profileId, 10),
28284	})
28285	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28286}
28287
28288// Do executes the "dfareporting.creatives.insert" call.
28289// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28290// code is an error. Response headers are in either
28291// *Creative.ServerResponse.Header or (if a response was returned at
28292// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28293// to check whether the returned error was because
28294// http.StatusNotModified was returned.
28295func (c *CreativesInsertCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28296	gensupport.SetOptions(c.urlParams_, opts...)
28297	res, err := c.doRequest("json")
28298	if res != nil && res.StatusCode == http.StatusNotModified {
28299		if res.Body != nil {
28300			res.Body.Close()
28301		}
28302		return nil, &googleapi.Error{
28303			Code:   res.StatusCode,
28304			Header: res.Header,
28305		}
28306	}
28307	if err != nil {
28308		return nil, err
28309	}
28310	defer googleapi.CloseBody(res)
28311	if err := googleapi.CheckResponse(res); err != nil {
28312		return nil, err
28313	}
28314	ret := &Creative{
28315		ServerResponse: googleapi.ServerResponse{
28316			Header:         res.Header,
28317			HTTPStatusCode: res.StatusCode,
28318		},
28319	}
28320	target := &ret
28321	if err := gensupport.DecodeResponse(target, res); err != nil {
28322		return nil, err
28323	}
28324	return ret, nil
28325	// {
28326	//   "description": "Inserts a new creative.",
28327	//   "flatPath": "userprofiles/{profileId}/creatives",
28328	//   "httpMethod": "POST",
28329	//   "id": "dfareporting.creatives.insert",
28330	//   "parameterOrder": [
28331	//     "profileId"
28332	//   ],
28333	//   "parameters": {
28334	//     "profileId": {
28335	//       "description": "User profile ID associated with this request.",
28336	//       "format": "int64",
28337	//       "location": "path",
28338	//       "required": true,
28339	//       "type": "string"
28340	//     }
28341	//   },
28342	//   "path": "userprofiles/{profileId}/creatives",
28343	//   "request": {
28344	//     "$ref": "Creative"
28345	//   },
28346	//   "response": {
28347	//     "$ref": "Creative"
28348	//   },
28349	//   "scopes": [
28350	//     "https://www.googleapis.com/auth/dfatrafficking"
28351	//   ]
28352	// }
28353
28354}
28355
28356// method id "dfareporting.creatives.list":
28357
28358type CreativesListCall struct {
28359	s            *Service
28360	profileId    int64
28361	urlParams_   gensupport.URLParams
28362	ifNoneMatch_ string
28363	ctx_         context.Context
28364	header_      http.Header
28365}
28366
28367// List: Retrieves a list of creatives, possibly filtered. This method
28368// supports paging.
28369//
28370// - profileId: User profile ID associated with this request.
28371func (r *CreativesService) List(profileId int64) *CreativesListCall {
28372	c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28373	c.profileId = profileId
28374	return c
28375}
28376
28377// Active sets the optional parameter "active": Select only active
28378// creatives. Leave blank to select active and inactive creatives.
28379func (c *CreativesListCall) Active(active bool) *CreativesListCall {
28380	c.urlParams_.Set("active", fmt.Sprint(active))
28381	return c
28382}
28383
28384// AdvertiserId sets the optional parameter "advertiserId": Select only
28385// creatives with this advertiser ID.
28386func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
28387	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
28388	return c
28389}
28390
28391// Archived sets the optional parameter "archived": Select only archived
28392// creatives. Leave blank to select archived and unarchived creatives.
28393func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
28394	c.urlParams_.Set("archived", fmt.Sprint(archived))
28395	return c
28396}
28397
28398// CampaignId sets the optional parameter "campaignId": Select only
28399// creatives with this campaign ID.
28400func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
28401	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
28402	return c
28403}
28404
28405// CompanionCreativeIds sets the optional parameter
28406// "companionCreativeIds": Select only in-stream video creatives with
28407// these companion IDs.
28408func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds ...int64) *CreativesListCall {
28409	var companionCreativeIds_ []string
28410	for _, v := range companionCreativeIds {
28411		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprint(v))
28412	}
28413	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
28414	return c
28415}
28416
28417// CreativeFieldIds sets the optional parameter "creativeFieldIds":
28418// Select only creatives with these creative field IDs.
28419func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds ...int64) *CreativesListCall {
28420	var creativeFieldIds_ []string
28421	for _, v := range creativeFieldIds {
28422		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprint(v))
28423	}
28424	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
28425	return c
28426}
28427
28428// Ids sets the optional parameter "ids": Select only creatives with
28429// these IDs.
28430func (c *CreativesListCall) Ids(ids ...int64) *CreativesListCall {
28431	var ids_ []string
28432	for _, v := range ids {
28433		ids_ = append(ids_, fmt.Sprint(v))
28434	}
28435	c.urlParams_.SetMulti("ids", ids_)
28436	return c
28437}
28438
28439// MaxResults sets the optional parameter "maxResults": Maximum number
28440// of results to return.
28441func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
28442	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
28443	return c
28444}
28445
28446// PageToken sets the optional parameter "pageToken": Value of the
28447// nextPageToken from the previous result page.
28448func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
28449	c.urlParams_.Set("pageToken", pageToken)
28450	return c
28451}
28452
28453// RenderingIds sets the optional parameter "renderingIds": Select only
28454// creatives with these rendering IDs.
28455func (c *CreativesListCall) RenderingIds(renderingIds ...int64) *CreativesListCall {
28456	var renderingIds_ []string
28457	for _, v := range renderingIds {
28458		renderingIds_ = append(renderingIds_, fmt.Sprint(v))
28459	}
28460	c.urlParams_.SetMulti("renderingIds", renderingIds_)
28461	return c
28462}
28463
28464// SearchString sets the optional parameter "searchString": Allows
28465// searching for objects by name or ID. Wildcards (*) are allowed. For
28466// example, "creative*2015" will return objects with names like
28467// "creative June 2015", "creative April 2015", or simply "creative
28468// 2015". Most of the searches also add wildcards implicitly at the
28469// start and the end of the search string. For example, a search string
28470// of "creative" will match objects with name "my creative", "creative
28471// 2015", or simply "creative".
28472func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
28473	c.urlParams_.Set("searchString", searchString)
28474	return c
28475}
28476
28477// SizeIds sets the optional parameter "sizeIds": Select only creatives
28478// with these size IDs.
28479func (c *CreativesListCall) SizeIds(sizeIds ...int64) *CreativesListCall {
28480	var sizeIds_ []string
28481	for _, v := range sizeIds {
28482		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
28483	}
28484	c.urlParams_.SetMulti("sizeIds", sizeIds_)
28485	return c
28486}
28487
28488// SortField sets the optional parameter "sortField": Field by which to
28489// sort the list.
28490//
28491// Possible values:
28492//   "ID" (default)
28493//   "NAME"
28494func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
28495	c.urlParams_.Set("sortField", sortField)
28496	return c
28497}
28498
28499// SortOrder sets the optional parameter "sortOrder": Order of sorted
28500// results.
28501//
28502// Possible values:
28503//   "ASCENDING" (default)
28504//   "DESCENDING"
28505func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
28506	c.urlParams_.Set("sortOrder", sortOrder)
28507	return c
28508}
28509
28510// StudioCreativeId sets the optional parameter "studioCreativeId":
28511// Select only creatives corresponding to this Studio creative ID.
28512func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
28513	c.urlParams_.Set("studioCreativeId", fmt.Sprint(studioCreativeId))
28514	return c
28515}
28516
28517// Types sets the optional parameter "types": Select only creatives with
28518// these creative types.
28519//
28520// Possible values:
28521//   "IMAGE"
28522//   "DISPLAY_REDIRECT"
28523//   "CUSTOM_DISPLAY"
28524//   "INTERNAL_REDIRECT"
28525//   "CUSTOM_DISPLAY_INTERSTITIAL"
28526//   "INTERSTITIAL_INTERNAL_REDIRECT"
28527//   "TRACKING_TEXT"
28528//   "RICH_MEDIA_DISPLAY_BANNER"
28529//   "RICH_MEDIA_INPAGE_FLOATING"
28530//   "RICH_MEDIA_IM_EXPAND"
28531//   "RICH_MEDIA_DISPLAY_EXPANDING"
28532//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
28533//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
28534//   "RICH_MEDIA_MOBILE_IN_APP"
28535//   "FLASH_INPAGE"
28536//   "INSTREAM_VIDEO"
28537//   "VPAID_LINEAR_VIDEO"
28538//   "VPAID_NON_LINEAR_VIDEO"
28539//   "INSTREAM_VIDEO_REDIRECT"
28540//   "RICH_MEDIA_PEEL_DOWN"
28541//   "HTML5_BANNER"
28542//   "DISPLAY"
28543//   "DISPLAY_IMAGE_GALLERY"
28544//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
28545//   "INSTREAM_AUDIO"
28546func (c *CreativesListCall) Types(types ...string) *CreativesListCall {
28547	c.urlParams_.SetMulti("types", append([]string{}, types...))
28548	return c
28549}
28550
28551// Fields allows partial responses to be retrieved. See
28552// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28553// for more information.
28554func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
28555	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28556	return c
28557}
28558
28559// IfNoneMatch sets the optional parameter which makes the operation
28560// fail if the object's ETag matches the given value. This is useful for
28561// getting updates only after the object has changed since the last
28562// request. Use googleapi.IsNotModified to check whether the response
28563// error from Do is the result of In-None-Match.
28564func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
28565	c.ifNoneMatch_ = entityTag
28566	return c
28567}
28568
28569// Context sets the context to be used in this call's Do method. Any
28570// pending HTTP request will be aborted if the provided context is
28571// canceled.
28572func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
28573	c.ctx_ = ctx
28574	return c
28575}
28576
28577// Header returns an http.Header that can be modified by the caller to
28578// add HTTP headers to the request.
28579func (c *CreativesListCall) Header() http.Header {
28580	if c.header_ == nil {
28581		c.header_ = make(http.Header)
28582	}
28583	return c.header_
28584}
28585
28586func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
28587	reqHeaders := make(http.Header)
28588	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28589	for k, v := range c.header_ {
28590		reqHeaders[k] = v
28591	}
28592	reqHeaders.Set("User-Agent", c.s.userAgent())
28593	if c.ifNoneMatch_ != "" {
28594		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28595	}
28596	var body io.Reader = nil
28597	c.urlParams_.Set("alt", alt)
28598	c.urlParams_.Set("prettyPrint", "false")
28599	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28600	urls += "?" + c.urlParams_.Encode()
28601	req, err := http.NewRequest("GET", urls, body)
28602	if err != nil {
28603		return nil, err
28604	}
28605	req.Header = reqHeaders
28606	googleapi.Expand(req.URL, map[string]string{
28607		"profileId": strconv.FormatInt(c.profileId, 10),
28608	})
28609	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28610}
28611
28612// Do executes the "dfareporting.creatives.list" call.
28613// Exactly one of *CreativesListResponse or error will be non-nil. Any
28614// non-2xx status code is an error. Response headers are in either
28615// *CreativesListResponse.ServerResponse.Header or (if a response was
28616// returned at all) in error.(*googleapi.Error).Header. Use
28617// googleapi.IsNotModified to check whether the returned error was
28618// because http.StatusNotModified was returned.
28619func (c *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesListResponse, error) {
28620	gensupport.SetOptions(c.urlParams_, opts...)
28621	res, err := c.doRequest("json")
28622	if res != nil && res.StatusCode == http.StatusNotModified {
28623		if res.Body != nil {
28624			res.Body.Close()
28625		}
28626		return nil, &googleapi.Error{
28627			Code:   res.StatusCode,
28628			Header: res.Header,
28629		}
28630	}
28631	if err != nil {
28632		return nil, err
28633	}
28634	defer googleapi.CloseBody(res)
28635	if err := googleapi.CheckResponse(res); err != nil {
28636		return nil, err
28637	}
28638	ret := &CreativesListResponse{
28639		ServerResponse: googleapi.ServerResponse{
28640			Header:         res.Header,
28641			HTTPStatusCode: res.StatusCode,
28642		},
28643	}
28644	target := &ret
28645	if err := gensupport.DecodeResponse(target, res); err != nil {
28646		return nil, err
28647	}
28648	return ret, nil
28649	// {
28650	//   "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
28651	//   "flatPath": "userprofiles/{profileId}/creatives",
28652	//   "httpMethod": "GET",
28653	//   "id": "dfareporting.creatives.list",
28654	//   "parameterOrder": [
28655	//     "profileId"
28656	//   ],
28657	//   "parameters": {
28658	//     "active": {
28659	//       "description": "Select only active creatives. Leave blank to select active and inactive creatives.",
28660	//       "location": "query",
28661	//       "type": "boolean"
28662	//     },
28663	//     "advertiserId": {
28664	//       "description": "Select only creatives with this advertiser ID.",
28665	//       "format": "int64",
28666	//       "location": "query",
28667	//       "type": "string"
28668	//     },
28669	//     "archived": {
28670	//       "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.",
28671	//       "location": "query",
28672	//       "type": "boolean"
28673	//     },
28674	//     "campaignId": {
28675	//       "description": "Select only creatives with this campaign ID.",
28676	//       "format": "int64",
28677	//       "location": "query",
28678	//       "type": "string"
28679	//     },
28680	//     "companionCreativeIds": {
28681	//       "description": "Select only in-stream video creatives with these companion IDs.",
28682	//       "format": "int64",
28683	//       "location": "query",
28684	//       "repeated": true,
28685	//       "type": "string"
28686	//     },
28687	//     "creativeFieldIds": {
28688	//       "description": "Select only creatives with these creative field IDs.",
28689	//       "format": "int64",
28690	//       "location": "query",
28691	//       "repeated": true,
28692	//       "type": "string"
28693	//     },
28694	//     "ids": {
28695	//       "description": "Select only creatives with these IDs.",
28696	//       "format": "int64",
28697	//       "location": "query",
28698	//       "repeated": true,
28699	//       "type": "string"
28700	//     },
28701	//     "maxResults": {
28702	//       "default": "1000",
28703	//       "description": "Maximum number of results to return.",
28704	//       "format": "int32",
28705	//       "location": "query",
28706	//       "maximum": "1000",
28707	//       "minimum": "0",
28708	//       "type": "integer"
28709	//     },
28710	//     "pageToken": {
28711	//       "description": "Value of the nextPageToken from the previous result page.",
28712	//       "location": "query",
28713	//       "type": "string"
28714	//     },
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	//     "renderingIds": {
28723	//       "description": "Select only creatives with these rendering IDs.",
28724	//       "format": "int64",
28725	//       "location": "query",
28726	//       "repeated": true,
28727	//       "type": "string"
28728	//     },
28729	//     "searchString": {
28730	//       "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\".",
28731	//       "location": "query",
28732	//       "type": "string"
28733	//     },
28734	//     "sizeIds": {
28735	//       "description": "Select only creatives with these size IDs.",
28736	//       "format": "int64",
28737	//       "location": "query",
28738	//       "repeated": true,
28739	//       "type": "string"
28740	//     },
28741	//     "sortField": {
28742	//       "default": "ID",
28743	//       "description": "Field by which to sort the list.",
28744	//       "enum": [
28745	//         "ID",
28746	//         "NAME"
28747	//       ],
28748	//       "enumDescriptions": [
28749	//         "",
28750	//         ""
28751	//       ],
28752	//       "location": "query",
28753	//       "type": "string"
28754	//     },
28755	//     "sortOrder": {
28756	//       "default": "ASCENDING",
28757	//       "description": "Order of sorted results.",
28758	//       "enum": [
28759	//         "ASCENDING",
28760	//         "DESCENDING"
28761	//       ],
28762	//       "enumDescriptions": [
28763	//         "",
28764	//         ""
28765	//       ],
28766	//       "location": "query",
28767	//       "type": "string"
28768	//     },
28769	//     "studioCreativeId": {
28770	//       "description": "Select only creatives corresponding to this Studio creative ID.",
28771	//       "format": "int64",
28772	//       "location": "query",
28773	//       "type": "string"
28774	//     },
28775	//     "types": {
28776	//       "description": "Select only creatives with these creative types.",
28777	//       "enum": [
28778	//         "IMAGE",
28779	//         "DISPLAY_REDIRECT",
28780	//         "CUSTOM_DISPLAY",
28781	//         "INTERNAL_REDIRECT",
28782	//         "CUSTOM_DISPLAY_INTERSTITIAL",
28783	//         "INTERSTITIAL_INTERNAL_REDIRECT",
28784	//         "TRACKING_TEXT",
28785	//         "RICH_MEDIA_DISPLAY_BANNER",
28786	//         "RICH_MEDIA_INPAGE_FLOATING",
28787	//         "RICH_MEDIA_IM_EXPAND",
28788	//         "RICH_MEDIA_DISPLAY_EXPANDING",
28789	//         "RICH_MEDIA_DISPLAY_INTERSTITIAL",
28790	//         "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
28791	//         "RICH_MEDIA_MOBILE_IN_APP",
28792	//         "FLASH_INPAGE",
28793	//         "INSTREAM_VIDEO",
28794	//         "VPAID_LINEAR_VIDEO",
28795	//         "VPAID_NON_LINEAR_VIDEO",
28796	//         "INSTREAM_VIDEO_REDIRECT",
28797	//         "RICH_MEDIA_PEEL_DOWN",
28798	//         "HTML5_BANNER",
28799	//         "DISPLAY",
28800	//         "DISPLAY_IMAGE_GALLERY",
28801	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
28802	//         "INSTREAM_AUDIO"
28803	//       ],
28804	//       "enumDescriptions": [
28805	//         "",
28806	//         "",
28807	//         "",
28808	//         "",
28809	//         "",
28810	//         "",
28811	//         "",
28812	//         "",
28813	//         "",
28814	//         "",
28815	//         "",
28816	//         "",
28817	//         "",
28818	//         "",
28819	//         "",
28820	//         "",
28821	//         "",
28822	//         "",
28823	//         "",
28824	//         "",
28825	//         "",
28826	//         "",
28827	//         "",
28828	//         "",
28829	//         ""
28830	//       ],
28831	//       "location": "query",
28832	//       "repeated": true,
28833	//       "type": "string"
28834	//     }
28835	//   },
28836	//   "path": "userprofiles/{profileId}/creatives",
28837	//   "response": {
28838	//     "$ref": "CreativesListResponse"
28839	//   },
28840	//   "scopes": [
28841	//     "https://www.googleapis.com/auth/dfatrafficking"
28842	//   ]
28843	// }
28844
28845}
28846
28847// Pages invokes f for each page of results.
28848// A non-nil error returned from f will halt the iteration.
28849// The provided context supersedes any context provided to the Context method.
28850func (c *CreativesListCall) Pages(ctx context.Context, f func(*CreativesListResponse) error) error {
28851	c.ctx_ = ctx
28852	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
28853	for {
28854		x, err := c.Do()
28855		if err != nil {
28856			return err
28857		}
28858		if err := f(x); err != nil {
28859			return err
28860		}
28861		if x.NextPageToken == "" {
28862			return nil
28863		}
28864		c.PageToken(x.NextPageToken)
28865	}
28866}
28867
28868// method id "dfareporting.creatives.patch":
28869
28870type CreativesPatchCall struct {
28871	s          *Service
28872	profileId  int64
28873	creative   *Creative
28874	urlParams_ gensupport.URLParams
28875	ctx_       context.Context
28876	header_    http.Header
28877}
28878
28879// Patch: Updates an existing creative. This method supports patch
28880// semantics.
28881//
28882// - id: Creative ID.
28883// - profileId: User profile ID associated with this request.
28884func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
28885	c := &CreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28886	c.profileId = profileId
28887	c.urlParams_.Set("id", fmt.Sprint(id))
28888	c.creative = creative
28889	return c
28890}
28891
28892// Fields allows partial responses to be retrieved. See
28893// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28894// for more information.
28895func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
28896	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28897	return c
28898}
28899
28900// Context sets the context to be used in this call's Do method. Any
28901// pending HTTP request will be aborted if the provided context is
28902// canceled.
28903func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
28904	c.ctx_ = ctx
28905	return c
28906}
28907
28908// Header returns an http.Header that can be modified by the caller to
28909// add HTTP headers to the request.
28910func (c *CreativesPatchCall) Header() http.Header {
28911	if c.header_ == nil {
28912		c.header_ = make(http.Header)
28913	}
28914	return c.header_
28915}
28916
28917func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
28918	reqHeaders := make(http.Header)
28919	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
28920	for k, v := range c.header_ {
28921		reqHeaders[k] = v
28922	}
28923	reqHeaders.Set("User-Agent", c.s.userAgent())
28924	var body io.Reader = nil
28925	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
28926	if err != nil {
28927		return nil, err
28928	}
28929	reqHeaders.Set("Content-Type", "application/json")
28930	c.urlParams_.Set("alt", alt)
28931	c.urlParams_.Set("prettyPrint", "false")
28932	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28933	urls += "?" + c.urlParams_.Encode()
28934	req, err := http.NewRequest("PATCH", urls, body)
28935	if err != nil {
28936		return nil, err
28937	}
28938	req.Header = reqHeaders
28939	googleapi.Expand(req.URL, map[string]string{
28940		"profileId": strconv.FormatInt(c.profileId, 10),
28941	})
28942	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28943}
28944
28945// Do executes the "dfareporting.creatives.patch" call.
28946// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28947// code is an error. Response headers are in either
28948// *Creative.ServerResponse.Header or (if a response was returned at
28949// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28950// to check whether the returned error was because
28951// http.StatusNotModified was returned.
28952func (c *CreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28953	gensupport.SetOptions(c.urlParams_, opts...)
28954	res, err := c.doRequest("json")
28955	if res != nil && res.StatusCode == http.StatusNotModified {
28956		if res.Body != nil {
28957			res.Body.Close()
28958		}
28959		return nil, &googleapi.Error{
28960			Code:   res.StatusCode,
28961			Header: res.Header,
28962		}
28963	}
28964	if err != nil {
28965		return nil, err
28966	}
28967	defer googleapi.CloseBody(res)
28968	if err := googleapi.CheckResponse(res); err != nil {
28969		return nil, err
28970	}
28971	ret := &Creative{
28972		ServerResponse: googleapi.ServerResponse{
28973			Header:         res.Header,
28974			HTTPStatusCode: res.StatusCode,
28975		},
28976	}
28977	target := &ret
28978	if err := gensupport.DecodeResponse(target, res); err != nil {
28979		return nil, err
28980	}
28981	return ret, nil
28982	// {
28983	//   "description": "Updates an existing creative. This method supports patch semantics.",
28984	//   "flatPath": "userprofiles/{profileId}/creatives",
28985	//   "httpMethod": "PATCH",
28986	//   "id": "dfareporting.creatives.patch",
28987	//   "parameterOrder": [
28988	//     "profileId",
28989	//     "id"
28990	//   ],
28991	//   "parameters": {
28992	//     "id": {
28993	//       "description": "Creative ID.",
28994	//       "format": "int64",
28995	//       "location": "query",
28996	//       "required": true,
28997	//       "type": "string"
28998	//     },
28999	//     "profileId": {
29000	//       "description": "User profile ID associated with this request.",
29001	//       "format": "int64",
29002	//       "location": "path",
29003	//       "required": true,
29004	//       "type": "string"
29005	//     }
29006	//   },
29007	//   "path": "userprofiles/{profileId}/creatives",
29008	//   "request": {
29009	//     "$ref": "Creative"
29010	//   },
29011	//   "response": {
29012	//     "$ref": "Creative"
29013	//   },
29014	//   "scopes": [
29015	//     "https://www.googleapis.com/auth/dfatrafficking"
29016	//   ]
29017	// }
29018
29019}
29020
29021// method id "dfareporting.creatives.update":
29022
29023type CreativesUpdateCall struct {
29024	s          *Service
29025	profileId  int64
29026	creative   *Creative
29027	urlParams_ gensupport.URLParams
29028	ctx_       context.Context
29029	header_    http.Header
29030}
29031
29032// Update: Updates an existing creative.
29033//
29034// - profileId: User profile ID associated with this request.
29035func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
29036	c := &CreativesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29037	c.profileId = profileId
29038	c.creative = creative
29039	return c
29040}
29041
29042// Fields allows partial responses to be retrieved. See
29043// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29044// for more information.
29045func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
29046	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29047	return c
29048}
29049
29050// Context sets the context to be used in this call's Do method. Any
29051// pending HTTP request will be aborted if the provided context is
29052// canceled.
29053func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
29054	c.ctx_ = ctx
29055	return c
29056}
29057
29058// Header returns an http.Header that can be modified by the caller to
29059// add HTTP headers to the request.
29060func (c *CreativesUpdateCall) Header() http.Header {
29061	if c.header_ == nil {
29062		c.header_ = make(http.Header)
29063	}
29064	return c.header_
29065}
29066
29067func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
29068	reqHeaders := make(http.Header)
29069	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29070	for k, v := range c.header_ {
29071		reqHeaders[k] = v
29072	}
29073	reqHeaders.Set("User-Agent", c.s.userAgent())
29074	var body io.Reader = nil
29075	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
29076	if err != nil {
29077		return nil, err
29078	}
29079	reqHeaders.Set("Content-Type", "application/json")
29080	c.urlParams_.Set("alt", alt)
29081	c.urlParams_.Set("prettyPrint", "false")
29082	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
29083	urls += "?" + c.urlParams_.Encode()
29084	req, err := http.NewRequest("PUT", urls, body)
29085	if err != nil {
29086		return nil, err
29087	}
29088	req.Header = reqHeaders
29089	googleapi.Expand(req.URL, map[string]string{
29090		"profileId": strconv.FormatInt(c.profileId, 10),
29091	})
29092	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29093}
29094
29095// Do executes the "dfareporting.creatives.update" call.
29096// Exactly one of *Creative or error will be non-nil. Any non-2xx status
29097// code is an error. Response headers are in either
29098// *Creative.ServerResponse.Header or (if a response was returned at
29099// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
29100// to check whether the returned error was because
29101// http.StatusNotModified was returned.
29102func (c *CreativesUpdateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
29103	gensupport.SetOptions(c.urlParams_, opts...)
29104	res, err := c.doRequest("json")
29105	if res != nil && res.StatusCode == http.StatusNotModified {
29106		if res.Body != nil {
29107			res.Body.Close()
29108		}
29109		return nil, &googleapi.Error{
29110			Code:   res.StatusCode,
29111			Header: res.Header,
29112		}
29113	}
29114	if err != nil {
29115		return nil, err
29116	}
29117	defer googleapi.CloseBody(res)
29118	if err := googleapi.CheckResponse(res); err != nil {
29119		return nil, err
29120	}
29121	ret := &Creative{
29122		ServerResponse: googleapi.ServerResponse{
29123			Header:         res.Header,
29124			HTTPStatusCode: res.StatusCode,
29125		},
29126	}
29127	target := &ret
29128	if err := gensupport.DecodeResponse(target, res); err != nil {
29129		return nil, err
29130	}
29131	return ret, nil
29132	// {
29133	//   "description": "Updates an existing creative.",
29134	//   "flatPath": "userprofiles/{profileId}/creatives",
29135	//   "httpMethod": "PUT",
29136	//   "id": "dfareporting.creatives.update",
29137	//   "parameterOrder": [
29138	//     "profileId"
29139	//   ],
29140	//   "parameters": {
29141	//     "profileId": {
29142	//       "description": "User profile ID associated with this request.",
29143	//       "format": "int64",
29144	//       "location": "path",
29145	//       "required": true,
29146	//       "type": "string"
29147	//     }
29148	//   },
29149	//   "path": "userprofiles/{profileId}/creatives",
29150	//   "request": {
29151	//     "$ref": "Creative"
29152	//   },
29153	//   "response": {
29154	//     "$ref": "Creative"
29155	//   },
29156	//   "scopes": [
29157	//     "https://www.googleapis.com/auth/dfatrafficking"
29158	//   ]
29159	// }
29160
29161}
29162
29163// method id "dfareporting.dimensionValues.query":
29164
29165type DimensionValuesQueryCall struct {
29166	s                     *Service
29167	profileId             int64
29168	dimensionvaluerequest *DimensionValueRequest
29169	urlParams_            gensupport.URLParams
29170	ctx_                  context.Context
29171	header_               http.Header
29172}
29173
29174// Query: Retrieves list of report dimension values for a list of
29175// filters.
29176//
29177// - profileId: The Campaign Manager 360 user profile ID.
29178func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
29179	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29180	c.profileId = profileId
29181	c.dimensionvaluerequest = dimensionvaluerequest
29182	return c
29183}
29184
29185// MaxResults sets the optional parameter "maxResults": Maximum number
29186// of results to return.
29187func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
29188	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
29189	return c
29190}
29191
29192// PageToken sets the optional parameter "pageToken": The value of the
29193// nextToken from the previous result page.
29194func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
29195	c.urlParams_.Set("pageToken", pageToken)
29196	return c
29197}
29198
29199// Fields allows partial responses to be retrieved. See
29200// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29201// for more information.
29202func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
29203	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29204	return c
29205}
29206
29207// Context sets the context to be used in this call's Do method. Any
29208// pending HTTP request will be aborted if the provided context is
29209// canceled.
29210func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
29211	c.ctx_ = ctx
29212	return c
29213}
29214
29215// Header returns an http.Header that can be modified by the caller to
29216// add HTTP headers to the request.
29217func (c *DimensionValuesQueryCall) Header() http.Header {
29218	if c.header_ == nil {
29219		c.header_ = make(http.Header)
29220	}
29221	return c.header_
29222}
29223
29224func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
29225	reqHeaders := make(http.Header)
29226	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29227	for k, v := range c.header_ {
29228		reqHeaders[k] = v
29229	}
29230	reqHeaders.Set("User-Agent", c.s.userAgent())
29231	var body io.Reader = nil
29232	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dimensionvaluerequest)
29233	if err != nil {
29234		return nil, err
29235	}
29236	reqHeaders.Set("Content-Type", "application/json")
29237	c.urlParams_.Set("alt", alt)
29238	c.urlParams_.Set("prettyPrint", "false")
29239	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
29240	urls += "?" + c.urlParams_.Encode()
29241	req, err := http.NewRequest("POST", urls, body)
29242	if err != nil {
29243		return nil, err
29244	}
29245	req.Header = reqHeaders
29246	googleapi.Expand(req.URL, map[string]string{
29247		"profileId": strconv.FormatInt(c.profileId, 10),
29248	})
29249	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29250}
29251
29252// Do executes the "dfareporting.dimensionValues.query" call.
29253// Exactly one of *DimensionValueList or error will be non-nil. Any
29254// non-2xx status code is an error. Response headers are in either
29255// *DimensionValueList.ServerResponse.Header or (if a response was
29256// returned at all) in error.(*googleapi.Error).Header. Use
29257// googleapi.IsNotModified to check whether the returned error was
29258// because http.StatusNotModified was returned.
29259func (c *DimensionValuesQueryCall) Do(opts ...googleapi.CallOption) (*DimensionValueList, error) {
29260	gensupport.SetOptions(c.urlParams_, opts...)
29261	res, err := c.doRequest("json")
29262	if res != nil && res.StatusCode == http.StatusNotModified {
29263		if res.Body != nil {
29264			res.Body.Close()
29265		}
29266		return nil, &googleapi.Error{
29267			Code:   res.StatusCode,
29268			Header: res.Header,
29269		}
29270	}
29271	if err != nil {
29272		return nil, err
29273	}
29274	defer googleapi.CloseBody(res)
29275	if err := googleapi.CheckResponse(res); err != nil {
29276		return nil, err
29277	}
29278	ret := &DimensionValueList{
29279		ServerResponse: googleapi.ServerResponse{
29280			Header:         res.Header,
29281			HTTPStatusCode: res.StatusCode,
29282		},
29283	}
29284	target := &ret
29285	if err := gensupport.DecodeResponse(target, res); err != nil {
29286		return nil, err
29287	}
29288	return ret, nil
29289	// {
29290	//   "description": "Retrieves list of report dimension values for a list of filters.",
29291	//   "flatPath": "userprofiles/{profileId}/dimensionvalues/query",
29292	//   "httpMethod": "POST",
29293	//   "id": "dfareporting.dimensionValues.query",
29294	//   "parameterOrder": [
29295	//     "profileId"
29296	//   ],
29297	//   "parameters": {
29298	//     "maxResults": {
29299	//       "default": "100",
29300	//       "description": "Maximum number of results to return.",
29301	//       "format": "int32",
29302	//       "location": "query",
29303	//       "maximum": "100",
29304	//       "minimum": "0",
29305	//       "type": "integer"
29306	//     },
29307	//     "pageToken": {
29308	//       "description": "The value of the nextToken from the previous result page.",
29309	//       "location": "query",
29310	//       "type": "string"
29311	//     },
29312	//     "profileId": {
29313	//       "description": "The Campaign Manager 360 user profile ID.",
29314	//       "format": "int64",
29315	//       "location": "path",
29316	//       "required": true,
29317	//       "type": "string"
29318	//     }
29319	//   },
29320	//   "path": "userprofiles/{profileId}/dimensionvalues/query",
29321	//   "request": {
29322	//     "$ref": "DimensionValueRequest"
29323	//   },
29324	//   "response": {
29325	//     "$ref": "DimensionValueList"
29326	//   },
29327	//   "scopes": [
29328	//     "https://www.googleapis.com/auth/dfareporting"
29329	//   ]
29330	// }
29331
29332}
29333
29334// Pages invokes f for each page of results.
29335// A non-nil error returned from f will halt the iteration.
29336// The provided context supersedes any context provided to the Context method.
29337func (c *DimensionValuesQueryCall) Pages(ctx context.Context, f func(*DimensionValueList) error) error {
29338	c.ctx_ = ctx
29339	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29340	for {
29341		x, err := c.Do()
29342		if err != nil {
29343			return err
29344		}
29345		if err := f(x); err != nil {
29346			return err
29347		}
29348		if x.NextPageToken == "" {
29349			return nil
29350		}
29351		c.PageToken(x.NextPageToken)
29352	}
29353}
29354
29355// method id "dfareporting.directorySites.get":
29356
29357type DirectorySitesGetCall struct {
29358	s            *Service
29359	profileId    int64
29360	id           int64
29361	urlParams_   gensupport.URLParams
29362	ifNoneMatch_ string
29363	ctx_         context.Context
29364	header_      http.Header
29365}
29366
29367// Get: Gets one directory site by ID.
29368//
29369// - id: Directory site ID.
29370// - profileId: User profile ID associated with this request.
29371func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
29372	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29373	c.profileId = profileId
29374	c.id = id
29375	return c
29376}
29377
29378// Fields allows partial responses to be retrieved. See
29379// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29380// for more information.
29381func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
29382	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29383	return c
29384}
29385
29386// IfNoneMatch sets the optional parameter which makes the operation
29387// fail if the object's ETag matches the given value. This is useful for
29388// getting updates only after the object has changed since the last
29389// request. Use googleapi.IsNotModified to check whether the response
29390// error from Do is the result of In-None-Match.
29391func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
29392	c.ifNoneMatch_ = entityTag
29393	return c
29394}
29395
29396// Context sets the context to be used in this call's Do method. Any
29397// pending HTTP request will be aborted if the provided context is
29398// canceled.
29399func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
29400	c.ctx_ = ctx
29401	return c
29402}
29403
29404// Header returns an http.Header that can be modified by the caller to
29405// add HTTP headers to the request.
29406func (c *DirectorySitesGetCall) Header() http.Header {
29407	if c.header_ == nil {
29408		c.header_ = make(http.Header)
29409	}
29410	return c.header_
29411}
29412
29413func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
29414	reqHeaders := make(http.Header)
29415	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29416	for k, v := range c.header_ {
29417		reqHeaders[k] = v
29418	}
29419	reqHeaders.Set("User-Agent", c.s.userAgent())
29420	if c.ifNoneMatch_ != "" {
29421		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29422	}
29423	var body io.Reader = nil
29424	c.urlParams_.Set("alt", alt)
29425	c.urlParams_.Set("prettyPrint", "false")
29426	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
29427	urls += "?" + c.urlParams_.Encode()
29428	req, err := http.NewRequest("GET", urls, body)
29429	if err != nil {
29430		return nil, err
29431	}
29432	req.Header = reqHeaders
29433	googleapi.Expand(req.URL, map[string]string{
29434		"profileId": strconv.FormatInt(c.profileId, 10),
29435		"id":        strconv.FormatInt(c.id, 10),
29436	})
29437	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29438}
29439
29440// Do executes the "dfareporting.directorySites.get" call.
29441// Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
29442// status code is an error. Response headers are in either
29443// *DirectorySite.ServerResponse.Header or (if a response was returned
29444// at all) in error.(*googleapi.Error).Header. Use
29445// googleapi.IsNotModified to check whether the returned error was
29446// because http.StatusNotModified was returned.
29447func (c *DirectorySitesGetCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
29448	gensupport.SetOptions(c.urlParams_, opts...)
29449	res, err := c.doRequest("json")
29450	if res != nil && res.StatusCode == http.StatusNotModified {
29451		if res.Body != nil {
29452			res.Body.Close()
29453		}
29454		return nil, &googleapi.Error{
29455			Code:   res.StatusCode,
29456			Header: res.Header,
29457		}
29458	}
29459	if err != nil {
29460		return nil, err
29461	}
29462	defer googleapi.CloseBody(res)
29463	if err := googleapi.CheckResponse(res); err != nil {
29464		return nil, err
29465	}
29466	ret := &DirectorySite{
29467		ServerResponse: googleapi.ServerResponse{
29468			Header:         res.Header,
29469			HTTPStatusCode: res.StatusCode,
29470		},
29471	}
29472	target := &ret
29473	if err := gensupport.DecodeResponse(target, res); err != nil {
29474		return nil, err
29475	}
29476	return ret, nil
29477	// {
29478	//   "description": "Gets one directory site by ID.",
29479	//   "flatPath": "userprofiles/{profileId}/directorySites/{id}",
29480	//   "httpMethod": "GET",
29481	//   "id": "dfareporting.directorySites.get",
29482	//   "parameterOrder": [
29483	//     "profileId",
29484	//     "id"
29485	//   ],
29486	//   "parameters": {
29487	//     "id": {
29488	//       "description": "Directory site ID.",
29489	//       "format": "int64",
29490	//       "location": "path",
29491	//       "required": true,
29492	//       "type": "string"
29493	//     },
29494	//     "profileId": {
29495	//       "description": "User profile ID associated with this request.",
29496	//       "format": "int64",
29497	//       "location": "path",
29498	//       "required": true,
29499	//       "type": "string"
29500	//     }
29501	//   },
29502	//   "path": "userprofiles/{profileId}/directorySites/{id}",
29503	//   "response": {
29504	//     "$ref": "DirectorySite"
29505	//   },
29506	//   "scopes": [
29507	//     "https://www.googleapis.com/auth/dfatrafficking"
29508	//   ]
29509	// }
29510
29511}
29512
29513// method id "dfareporting.directorySites.insert":
29514
29515type DirectorySitesInsertCall struct {
29516	s             *Service
29517	profileId     int64
29518	directorysite *DirectorySite
29519	urlParams_    gensupport.URLParams
29520	ctx_          context.Context
29521	header_       http.Header
29522}
29523
29524// Insert: Inserts a new directory site.
29525//
29526// - profileId: User profile ID associated with this request.
29527func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
29528	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29529	c.profileId = profileId
29530	c.directorysite = directorysite
29531	return c
29532}
29533
29534// Fields allows partial responses to be retrieved. See
29535// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29536// for more information.
29537func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
29538	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29539	return c
29540}
29541
29542// Context sets the context to be used in this call's Do method. Any
29543// pending HTTP request will be aborted if the provided context is
29544// canceled.
29545func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
29546	c.ctx_ = ctx
29547	return c
29548}
29549
29550// Header returns an http.Header that can be modified by the caller to
29551// add HTTP headers to the request.
29552func (c *DirectorySitesInsertCall) Header() http.Header {
29553	if c.header_ == nil {
29554		c.header_ = make(http.Header)
29555	}
29556	return c.header_
29557}
29558
29559func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
29560	reqHeaders := make(http.Header)
29561	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29562	for k, v := range c.header_ {
29563		reqHeaders[k] = v
29564	}
29565	reqHeaders.Set("User-Agent", c.s.userAgent())
29566	var body io.Reader = nil
29567	body, err := googleapi.WithoutDataWrapper.JSONReader(c.directorysite)
29568	if err != nil {
29569		return nil, err
29570	}
29571	reqHeaders.Set("Content-Type", "application/json")
29572	c.urlParams_.Set("alt", alt)
29573	c.urlParams_.Set("prettyPrint", "false")
29574	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
29575	urls += "?" + c.urlParams_.Encode()
29576	req, err := http.NewRequest("POST", urls, body)
29577	if err != nil {
29578		return nil, err
29579	}
29580	req.Header = reqHeaders
29581	googleapi.Expand(req.URL, map[string]string{
29582		"profileId": strconv.FormatInt(c.profileId, 10),
29583	})
29584	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29585}
29586
29587// Do executes the "dfareporting.directorySites.insert" call.
29588// Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
29589// status code is an error. Response headers are in either
29590// *DirectorySite.ServerResponse.Header or (if a response was returned
29591// at all) in error.(*googleapi.Error).Header. Use
29592// googleapi.IsNotModified to check whether the returned error was
29593// because http.StatusNotModified was returned.
29594func (c *DirectorySitesInsertCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
29595	gensupport.SetOptions(c.urlParams_, opts...)
29596	res, err := c.doRequest("json")
29597	if res != nil && res.StatusCode == http.StatusNotModified {
29598		if res.Body != nil {
29599			res.Body.Close()
29600		}
29601		return nil, &googleapi.Error{
29602			Code:   res.StatusCode,
29603			Header: res.Header,
29604		}
29605	}
29606	if err != nil {
29607		return nil, err
29608	}
29609	defer googleapi.CloseBody(res)
29610	if err := googleapi.CheckResponse(res); err != nil {
29611		return nil, err
29612	}
29613	ret := &DirectorySite{
29614		ServerResponse: googleapi.ServerResponse{
29615			Header:         res.Header,
29616			HTTPStatusCode: res.StatusCode,
29617		},
29618	}
29619	target := &ret
29620	if err := gensupport.DecodeResponse(target, res); err != nil {
29621		return nil, err
29622	}
29623	return ret, nil
29624	// {
29625	//   "description": "Inserts a new directory site.",
29626	//   "flatPath": "userprofiles/{profileId}/directorySites",
29627	//   "httpMethod": "POST",
29628	//   "id": "dfareporting.directorySites.insert",
29629	//   "parameterOrder": [
29630	//     "profileId"
29631	//   ],
29632	//   "parameters": {
29633	//     "profileId": {
29634	//       "description": "User profile ID associated with this request.",
29635	//       "format": "int64",
29636	//       "location": "path",
29637	//       "required": true,
29638	//       "type": "string"
29639	//     }
29640	//   },
29641	//   "path": "userprofiles/{profileId}/directorySites",
29642	//   "request": {
29643	//     "$ref": "DirectorySite"
29644	//   },
29645	//   "response": {
29646	//     "$ref": "DirectorySite"
29647	//   },
29648	//   "scopes": [
29649	//     "https://www.googleapis.com/auth/dfatrafficking"
29650	//   ]
29651	// }
29652
29653}
29654
29655// method id "dfareporting.directorySites.list":
29656
29657type DirectorySitesListCall struct {
29658	s            *Service
29659	profileId    int64
29660	urlParams_   gensupport.URLParams
29661	ifNoneMatch_ string
29662	ctx_         context.Context
29663	header_      http.Header
29664}
29665
29666// List: Retrieves a list of directory sites, possibly filtered. This
29667// method supports paging.
29668//
29669// - profileId: User profile ID associated with this request.
29670func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
29671	c := &DirectorySitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29672	c.profileId = profileId
29673	return c
29674}
29675
29676// AcceptsInStreamVideoPlacements sets the optional parameter
29677// "acceptsInStreamVideoPlacements": This search filter is no longer
29678// supported and will have no effect on the results returned.
29679func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
29680	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
29681	return c
29682}
29683
29684// AcceptsInterstitialPlacements sets the optional parameter
29685// "acceptsInterstitialPlacements": This search filter is no longer
29686// supported and will have no effect on the results returned.
29687func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
29688	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
29689	return c
29690}
29691
29692// AcceptsPublisherPaidPlacements sets the optional parameter
29693// "acceptsPublisherPaidPlacements": Select only directory sites that
29694// accept publisher paid placements. This field can be left blank.
29695func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
29696	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
29697	return c
29698}
29699
29700// Active sets the optional parameter "active": Select only active
29701// directory sites. Leave blank to retrieve both active and inactive
29702// directory sites.
29703func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
29704	c.urlParams_.Set("active", fmt.Sprint(active))
29705	return c
29706}
29707
29708// DfpNetworkCode sets the optional parameter "dfpNetworkCode": Select
29709// only directory sites with this Ad Manager network code.
29710func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
29711	c.urlParams_.Set("dfpNetworkCode", dfpNetworkCode)
29712	return c
29713}
29714
29715// Ids sets the optional parameter "ids": Select only directory sites
29716// with these IDs.
29717func (c *DirectorySitesListCall) Ids(ids ...int64) *DirectorySitesListCall {
29718	var ids_ []string
29719	for _, v := range ids {
29720		ids_ = append(ids_, fmt.Sprint(v))
29721	}
29722	c.urlParams_.SetMulti("ids", ids_)
29723	return c
29724}
29725
29726// MaxResults sets the optional parameter "maxResults": Maximum number
29727// of results to return.
29728func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
29729	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
29730	return c
29731}
29732
29733// PageToken sets the optional parameter "pageToken": Value of the
29734// nextPageToken from the previous result page.
29735func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
29736	c.urlParams_.Set("pageToken", pageToken)
29737	return c
29738}
29739
29740// SearchString sets the optional parameter "searchString": Allows
29741// searching for objects by name, ID or URL. Wildcards (*) are allowed.
29742// For example, "directory site*2015" will return objects with names
29743// like "directory site June 2015", "directory site April 2015", or
29744// simply "directory site 2015". Most of the searches also add wildcards
29745// implicitly at the start and the end of the search string. For
29746// example, a search string of "directory site" will match objects with
29747// name "my directory site", "directory site 2015" or simply, "directory
29748// site".
29749func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
29750	c.urlParams_.Set("searchString", searchString)
29751	return c
29752}
29753
29754// SortField sets the optional parameter "sortField": Field by which to
29755// sort the list.
29756//
29757// Possible values:
29758//   "ID" (default)
29759//   "NAME"
29760func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
29761	c.urlParams_.Set("sortField", sortField)
29762	return c
29763}
29764
29765// SortOrder sets the optional parameter "sortOrder": Order of sorted
29766// results.
29767//
29768// Possible values:
29769//   "ASCENDING" (default)
29770//   "DESCENDING"
29771func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
29772	c.urlParams_.Set("sortOrder", sortOrder)
29773	return c
29774}
29775
29776// Fields allows partial responses to be retrieved. See
29777// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29778// for more information.
29779func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
29780	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29781	return c
29782}
29783
29784// IfNoneMatch sets the optional parameter which makes the operation
29785// fail if the object's ETag matches the given value. This is useful for
29786// getting updates only after the object has changed since the last
29787// request. Use googleapi.IsNotModified to check whether the response
29788// error from Do is the result of In-None-Match.
29789func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
29790	c.ifNoneMatch_ = entityTag
29791	return c
29792}
29793
29794// Context sets the context to be used in this call's Do method. Any
29795// pending HTTP request will be aborted if the provided context is
29796// canceled.
29797func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
29798	c.ctx_ = ctx
29799	return c
29800}
29801
29802// Header returns an http.Header that can be modified by the caller to
29803// add HTTP headers to the request.
29804func (c *DirectorySitesListCall) Header() http.Header {
29805	if c.header_ == nil {
29806		c.header_ = make(http.Header)
29807	}
29808	return c.header_
29809}
29810
29811func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
29812	reqHeaders := make(http.Header)
29813	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
29814	for k, v := range c.header_ {
29815		reqHeaders[k] = v
29816	}
29817	reqHeaders.Set("User-Agent", c.s.userAgent())
29818	if c.ifNoneMatch_ != "" {
29819		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29820	}
29821	var body io.Reader = nil
29822	c.urlParams_.Set("alt", alt)
29823	c.urlParams_.Set("prettyPrint", "false")
29824	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
29825	urls += "?" + c.urlParams_.Encode()
29826	req, err := http.NewRequest("GET", urls, body)
29827	if err != nil {
29828		return nil, err
29829	}
29830	req.Header = reqHeaders
29831	googleapi.Expand(req.URL, map[string]string{
29832		"profileId": strconv.FormatInt(c.profileId, 10),
29833	})
29834	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29835}
29836
29837// Do executes the "dfareporting.directorySites.list" call.
29838// Exactly one of *DirectorySitesListResponse or error will be non-nil.
29839// Any non-2xx status code is an error. Response headers are in either
29840// *DirectorySitesListResponse.ServerResponse.Header or (if a response
29841// was returned at all) in error.(*googleapi.Error).Header. Use
29842// googleapi.IsNotModified to check whether the returned error was
29843// because http.StatusNotModified was returned.
29844func (c *DirectorySitesListCall) Do(opts ...googleapi.CallOption) (*DirectorySitesListResponse, error) {
29845	gensupport.SetOptions(c.urlParams_, opts...)
29846	res, err := c.doRequest("json")
29847	if res != nil && res.StatusCode == http.StatusNotModified {
29848		if res.Body != nil {
29849			res.Body.Close()
29850		}
29851		return nil, &googleapi.Error{
29852			Code:   res.StatusCode,
29853			Header: res.Header,
29854		}
29855	}
29856	if err != nil {
29857		return nil, err
29858	}
29859	defer googleapi.CloseBody(res)
29860	if err := googleapi.CheckResponse(res); err != nil {
29861		return nil, err
29862	}
29863	ret := &DirectorySitesListResponse{
29864		ServerResponse: googleapi.ServerResponse{
29865			Header:         res.Header,
29866			HTTPStatusCode: res.StatusCode,
29867		},
29868	}
29869	target := &ret
29870	if err := gensupport.DecodeResponse(target, res); err != nil {
29871		return nil, err
29872	}
29873	return ret, nil
29874	// {
29875	//   "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
29876	//   "flatPath": "userprofiles/{profileId}/directorySites",
29877	//   "httpMethod": "GET",
29878	//   "id": "dfareporting.directorySites.list",
29879	//   "parameterOrder": [
29880	//     "profileId"
29881	//   ],
29882	//   "parameters": {
29883	//     "acceptsInStreamVideoPlacements": {
29884	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
29885	//       "location": "query",
29886	//       "type": "boolean"
29887	//     },
29888	//     "acceptsInterstitialPlacements": {
29889	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
29890	//       "location": "query",
29891	//       "type": "boolean"
29892	//     },
29893	//     "acceptsPublisherPaidPlacements": {
29894	//       "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.",
29895	//       "location": "query",
29896	//       "type": "boolean"
29897	//     },
29898	//     "active": {
29899	//       "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.",
29900	//       "location": "query",
29901	//       "type": "boolean"
29902	//     },
29903	//     "dfpNetworkCode": {
29904	//       "description": "Select only directory sites with this Ad Manager network code.",
29905	//       "location": "query",
29906	//       "type": "string"
29907	//     },
29908	//     "ids": {
29909	//       "description": "Select only directory sites with these IDs.",
29910	//       "format": "int64",
29911	//       "location": "query",
29912	//       "repeated": true,
29913	//       "type": "string"
29914	//     },
29915	//     "maxResults": {
29916	//       "default": "1000",
29917	//       "description": "Maximum number of results to return.",
29918	//       "format": "int32",
29919	//       "location": "query",
29920	//       "maximum": "1000",
29921	//       "minimum": "0",
29922	//       "type": "integer"
29923	//     },
29924	//     "pageToken": {
29925	//       "description": "Value of the nextPageToken from the previous result page.",
29926	//       "location": "query",
29927	//       "type": "string"
29928	//     },
29929	//     "profileId": {
29930	//       "description": "User profile ID associated with this request.",
29931	//       "format": "int64",
29932	//       "location": "path",
29933	//       "required": true,
29934	//       "type": "string"
29935	//     },
29936	//     "searchString": {
29937	//       "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\".",
29938	//       "location": "query",
29939	//       "type": "string"
29940	//     },
29941	//     "sortField": {
29942	//       "default": "ID",
29943	//       "description": "Field by which to sort the list.",
29944	//       "enum": [
29945	//         "ID",
29946	//         "NAME"
29947	//       ],
29948	//       "enumDescriptions": [
29949	//         "",
29950	//         ""
29951	//       ],
29952	//       "location": "query",
29953	//       "type": "string"
29954	//     },
29955	//     "sortOrder": {
29956	//       "default": "ASCENDING",
29957	//       "description": "Order of sorted results.",
29958	//       "enum": [
29959	//         "ASCENDING",
29960	//         "DESCENDING"
29961	//       ],
29962	//       "enumDescriptions": [
29963	//         "",
29964	//         ""
29965	//       ],
29966	//       "location": "query",
29967	//       "type": "string"
29968	//     }
29969	//   },
29970	//   "path": "userprofiles/{profileId}/directorySites",
29971	//   "response": {
29972	//     "$ref": "DirectorySitesListResponse"
29973	//   },
29974	//   "scopes": [
29975	//     "https://www.googleapis.com/auth/dfatrafficking"
29976	//   ]
29977	// }
29978
29979}
29980
29981// Pages invokes f for each page of results.
29982// A non-nil error returned from f will halt the iteration.
29983// The provided context supersedes any context provided to the Context method.
29984func (c *DirectorySitesListCall) Pages(ctx context.Context, f func(*DirectorySitesListResponse) error) error {
29985	c.ctx_ = ctx
29986	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29987	for {
29988		x, err := c.Do()
29989		if err != nil {
29990			return err
29991		}
29992		if err := f(x); err != nil {
29993			return err
29994		}
29995		if x.NextPageToken == "" {
29996			return nil
29997		}
29998		c.PageToken(x.NextPageToken)
29999	}
30000}
30001
30002// method id "dfareporting.dynamicTargetingKeys.delete":
30003
30004type DynamicTargetingKeysDeleteCall struct {
30005	s          *Service
30006	profileId  int64
30007	objectId   int64
30008	urlParams_ gensupport.URLParams
30009	ctx_       context.Context
30010	header_    http.Header
30011}
30012
30013// Delete: Deletes an existing dynamic targeting key.
30014//
30015// - name: Name of this dynamic targeting key. This is a required field.
30016//   Must be less than 256 characters long and cannot contain commas.
30017//   All characters are converted to lowercase.
30018// - objectId: ID of the object of this dynamic targeting key. This is a
30019//   required field.
30020// - objectType: Type of the object of this dynamic targeting key. This
30021//   is a required field.
30022// - profileId: User profile ID associated with this request.
30023func (r *DynamicTargetingKeysService) Delete(profileId int64, objectId int64, name string, objectType string) *DynamicTargetingKeysDeleteCall {
30024	c := &DynamicTargetingKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30025	c.profileId = profileId
30026	c.objectId = objectId
30027	c.urlParams_.Set("name", name)
30028	c.urlParams_.Set("objectType", objectType)
30029	return c
30030}
30031
30032// Fields allows partial responses to be retrieved. See
30033// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30034// for more information.
30035func (c *DynamicTargetingKeysDeleteCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysDeleteCall {
30036	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30037	return c
30038}
30039
30040// Context sets the context to be used in this call's Do method. Any
30041// pending HTTP request will be aborted if the provided context is
30042// canceled.
30043func (c *DynamicTargetingKeysDeleteCall) Context(ctx context.Context) *DynamicTargetingKeysDeleteCall {
30044	c.ctx_ = ctx
30045	return c
30046}
30047
30048// Header returns an http.Header that can be modified by the caller to
30049// add HTTP headers to the request.
30050func (c *DynamicTargetingKeysDeleteCall) Header() http.Header {
30051	if c.header_ == nil {
30052		c.header_ = make(http.Header)
30053	}
30054	return c.header_
30055}
30056
30057func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
30058	reqHeaders := make(http.Header)
30059	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
30060	for k, v := range c.header_ {
30061		reqHeaders[k] = v
30062	}
30063	reqHeaders.Set("User-Agent", c.s.userAgent())
30064	var body io.Reader = nil
30065	c.urlParams_.Set("alt", alt)
30066	c.urlParams_.Set("prettyPrint", "false")
30067	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}")
30068	urls += "?" + c.urlParams_.Encode()
30069	req, err := http.NewRequest("DELETE", urls, body)
30070	if err != nil {
30071		return nil, err
30072	}
30073	req.Header = reqHeaders
30074	googleapi.Expand(req.URL, map[string]string{
30075		"profileId": strconv.FormatInt(c.profileId, 10),
30076		"objectId":  strconv.FormatInt(c.objectId, 10),
30077	})
30078	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30079}
30080
30081// Do executes the "dfareporting.dynamicTargetingKeys.delete" call.
30082func (c *DynamicTargetingKeysDeleteCall) Do(opts ...googleapi.CallOption) error {
30083	gensupport.SetOptions(c.urlParams_, opts...)
30084	res, err := c.doRequest("json")
30085	if err != nil {
30086		return err
30087	}
30088	defer googleapi.CloseBody(res)
30089	if err := googleapi.CheckResponse(res); err != nil {
30090		return err
30091	}
30092	return nil
30093	// {
30094	//   "description": "Deletes an existing dynamic targeting key.",
30095	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
30096	//   "httpMethod": "DELETE",
30097	//   "id": "dfareporting.dynamicTargetingKeys.delete",
30098	//   "parameterOrder": [
30099	//     "profileId",
30100	//     "objectId",
30101	//     "name",
30102	//     "objectType"
30103	//   ],
30104	//   "parameters": {
30105	//     "name": {
30106	//       "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.",
30107	//       "location": "query",
30108	//       "required": true,
30109	//       "type": "string"
30110	//     },
30111	//     "objectId": {
30112	//       "description": "ID of the object of this dynamic targeting key. This is a required field.",
30113	//       "format": "int64",
30114	//       "location": "path",
30115	//       "required": true,
30116	//       "type": "string"
30117	//     },
30118	//     "objectType": {
30119	//       "description": "Type of the object of this dynamic targeting key. This is a required field.",
30120	//       "enum": [
30121	//         "OBJECT_ADVERTISER",
30122	//         "OBJECT_AD",
30123	//         "OBJECT_CREATIVE",
30124	//         "OBJECT_PLACEMENT"
30125	//       ],
30126	//       "enumDescriptions": [
30127	//         "",
30128	//         "",
30129	//         "",
30130	//         ""
30131	//       ],
30132	//       "location": "query",
30133	//       "required": true,
30134	//       "type": "string"
30135	//     },
30136	//     "profileId": {
30137	//       "description": "User profile ID associated with this request.",
30138	//       "format": "int64",
30139	//       "location": "path",
30140	//       "required": true,
30141	//       "type": "string"
30142	//     }
30143	//   },
30144	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
30145	//   "scopes": [
30146	//     "https://www.googleapis.com/auth/dfatrafficking"
30147	//   ]
30148	// }
30149
30150}
30151
30152// method id "dfareporting.dynamicTargetingKeys.insert":
30153
30154type DynamicTargetingKeysInsertCall struct {
30155	s                   *Service
30156	profileId           int64
30157	dynamictargetingkey *DynamicTargetingKey
30158	urlParams_          gensupport.URLParams
30159	ctx_                context.Context
30160	header_             http.Header
30161}
30162
30163// Insert: Inserts a new dynamic targeting key. Keys must be created at
30164// the advertiser level before being assigned to the advertiser's ads,
30165// creatives, or placements. There is a maximum of 1000 keys per
30166// advertiser, out of which a maximum of 20 keys can be assigned per ad,
30167// creative, or placement.
30168//
30169// - profileId: User profile ID associated with this request.
30170func (r *DynamicTargetingKeysService) Insert(profileId int64, dynamictargetingkey *DynamicTargetingKey) *DynamicTargetingKeysInsertCall {
30171	c := &DynamicTargetingKeysInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30172	c.profileId = profileId
30173	c.dynamictargetingkey = dynamictargetingkey
30174	return c
30175}
30176
30177// Fields allows partial responses to be retrieved. See
30178// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30179// for more information.
30180func (c *DynamicTargetingKeysInsertCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysInsertCall {
30181	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30182	return c
30183}
30184
30185// Context sets the context to be used in this call's Do method. Any
30186// pending HTTP request will be aborted if the provided context is
30187// canceled.
30188func (c *DynamicTargetingKeysInsertCall) Context(ctx context.Context) *DynamicTargetingKeysInsertCall {
30189	c.ctx_ = ctx
30190	return c
30191}
30192
30193// Header returns an http.Header that can be modified by the caller to
30194// add HTTP headers to the request.
30195func (c *DynamicTargetingKeysInsertCall) Header() http.Header {
30196	if c.header_ == nil {
30197		c.header_ = make(http.Header)
30198	}
30199	return c.header_
30200}
30201
30202func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
30203	reqHeaders := make(http.Header)
30204	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
30205	for k, v := range c.header_ {
30206		reqHeaders[k] = v
30207	}
30208	reqHeaders.Set("User-Agent", c.s.userAgent())
30209	var body io.Reader = nil
30210	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dynamictargetingkey)
30211	if err != nil {
30212		return nil, err
30213	}
30214	reqHeaders.Set("Content-Type", "application/json")
30215	c.urlParams_.Set("alt", alt)
30216	c.urlParams_.Set("prettyPrint", "false")
30217	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
30218	urls += "?" + c.urlParams_.Encode()
30219	req, err := http.NewRequest("POST", urls, body)
30220	if err != nil {
30221		return nil, err
30222	}
30223	req.Header = reqHeaders
30224	googleapi.Expand(req.URL, map[string]string{
30225		"profileId": strconv.FormatInt(c.profileId, 10),
30226	})
30227	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30228}
30229
30230// Do executes the "dfareporting.dynamicTargetingKeys.insert" call.
30231// Exactly one of *DynamicTargetingKey or error will be non-nil. Any
30232// non-2xx status code is an error. Response headers are in either
30233// *DynamicTargetingKey.ServerResponse.Header or (if a response was
30234// returned at all) in error.(*googleapi.Error).Header. Use
30235// googleapi.IsNotModified to check whether the returned error was
30236// because http.StatusNotModified was returned.
30237func (c *DynamicTargetingKeysInsertCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKey, error) {
30238	gensupport.SetOptions(c.urlParams_, opts...)
30239	res, err := c.doRequest("json")
30240	if res != nil && res.StatusCode == http.StatusNotModified {
30241		if res.Body != nil {
30242			res.Body.Close()
30243		}
30244		return nil, &googleapi.Error{
30245			Code:   res.StatusCode,
30246			Header: res.Header,
30247		}
30248	}
30249	if err != nil {
30250		return nil, err
30251	}
30252	defer googleapi.CloseBody(res)
30253	if err := googleapi.CheckResponse(res); err != nil {
30254		return nil, err
30255	}
30256	ret := &DynamicTargetingKey{
30257		ServerResponse: googleapi.ServerResponse{
30258			Header:         res.Header,
30259			HTTPStatusCode: res.StatusCode,
30260		},
30261	}
30262	target := &ret
30263	if err := gensupport.DecodeResponse(target, res); err != nil {
30264		return nil, err
30265	}
30266	return ret, nil
30267	// {
30268	//   "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.",
30269	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
30270	//   "httpMethod": "POST",
30271	//   "id": "dfareporting.dynamicTargetingKeys.insert",
30272	//   "parameterOrder": [
30273	//     "profileId"
30274	//   ],
30275	//   "parameters": {
30276	//     "profileId": {
30277	//       "description": "User profile ID associated with this request.",
30278	//       "format": "int64",
30279	//       "location": "path",
30280	//       "required": true,
30281	//       "type": "string"
30282	//     }
30283	//   },
30284	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
30285	//   "request": {
30286	//     "$ref": "DynamicTargetingKey"
30287	//   },
30288	//   "response": {
30289	//     "$ref": "DynamicTargetingKey"
30290	//   },
30291	//   "scopes": [
30292	//     "https://www.googleapis.com/auth/dfatrafficking"
30293	//   ]
30294	// }
30295
30296}
30297
30298// method id "dfareporting.dynamicTargetingKeys.list":
30299
30300type DynamicTargetingKeysListCall struct {
30301	s            *Service
30302	profileId    int64
30303	urlParams_   gensupport.URLParams
30304	ifNoneMatch_ string
30305	ctx_         context.Context
30306	header_      http.Header
30307}
30308
30309// List: Retrieves a list of dynamic targeting keys.
30310//
30311// - profileId: User profile ID associated with this request.
30312func (r *DynamicTargetingKeysService) List(profileId int64) *DynamicTargetingKeysListCall {
30313	c := &DynamicTargetingKeysListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30314	c.profileId = profileId
30315	return c
30316}
30317
30318// AdvertiserId sets the optional parameter "advertiserId": Select only
30319// dynamic targeting keys whose object has this advertiser ID.
30320func (c *DynamicTargetingKeysListCall) AdvertiserId(advertiserId int64) *DynamicTargetingKeysListCall {
30321	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30322	return c
30323}
30324
30325// Names sets the optional parameter "names": Select only dynamic
30326// targeting keys exactly matching these names.
30327func (c *DynamicTargetingKeysListCall) Names(names ...string) *DynamicTargetingKeysListCall {
30328	c.urlParams_.SetMulti("names", append([]string{}, names...))
30329	return c
30330}
30331
30332// ObjectId sets the optional parameter "objectId": Select only dynamic
30333// targeting keys with this object ID.
30334func (c *DynamicTargetingKeysListCall) ObjectId(objectId int64) *DynamicTargetingKeysListCall {
30335	c.urlParams_.Set("objectId", fmt.Sprint(objectId))
30336	return c
30337}
30338
30339// ObjectType sets the optional parameter "objectType": Select only
30340// dynamic targeting keys with this object type.
30341//
30342// Possible values:
30343//   "OBJECT_ADVERTISER"
30344//   "OBJECT_AD"
30345//   "OBJECT_CREATIVE"
30346//   "OBJECT_PLACEMENT"
30347func (c *DynamicTargetingKeysListCall) ObjectType(objectType string) *DynamicTargetingKeysListCall {
30348	c.urlParams_.Set("objectType", objectType)
30349	return c
30350}
30351
30352// Fields allows partial responses to be retrieved. See
30353// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30354// for more information.
30355func (c *DynamicTargetingKeysListCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysListCall {
30356	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30357	return c
30358}
30359
30360// IfNoneMatch sets the optional parameter which makes the operation
30361// fail if the object's ETag matches the given value. This is useful for
30362// getting updates only after the object has changed since the last
30363// request. Use googleapi.IsNotModified to check whether the response
30364// error from Do is the result of In-None-Match.
30365func (c *DynamicTargetingKeysListCall) IfNoneMatch(entityTag string) *DynamicTargetingKeysListCall {
30366	c.ifNoneMatch_ = entityTag
30367	return c
30368}
30369
30370// Context sets the context to be used in this call's Do method. Any
30371// pending HTTP request will be aborted if the provided context is
30372// canceled.
30373func (c *DynamicTargetingKeysListCall) Context(ctx context.Context) *DynamicTargetingKeysListCall {
30374	c.ctx_ = ctx
30375	return c
30376}
30377
30378// Header returns an http.Header that can be modified by the caller to
30379// add HTTP headers to the request.
30380func (c *DynamicTargetingKeysListCall) Header() http.Header {
30381	if c.header_ == nil {
30382		c.header_ = make(http.Header)
30383	}
30384	return c.header_
30385}
30386
30387func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
30388	reqHeaders := make(http.Header)
30389	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
30390	for k, v := range c.header_ {
30391		reqHeaders[k] = v
30392	}
30393	reqHeaders.Set("User-Agent", c.s.userAgent())
30394	if c.ifNoneMatch_ != "" {
30395		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30396	}
30397	var body io.Reader = nil
30398	c.urlParams_.Set("alt", alt)
30399	c.urlParams_.Set("prettyPrint", "false")
30400	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
30401	urls += "?" + c.urlParams_.Encode()
30402	req, err := http.NewRequest("GET", urls, body)
30403	if err != nil {
30404		return nil, err
30405	}
30406	req.Header = reqHeaders
30407	googleapi.Expand(req.URL, map[string]string{
30408		"profileId": strconv.FormatInt(c.profileId, 10),
30409	})
30410	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30411}
30412
30413// Do executes the "dfareporting.dynamicTargetingKeys.list" call.
30414// Exactly one of *DynamicTargetingKeysListResponse or error will be
30415// non-nil. Any non-2xx status code is an error. Response headers are in
30416// either *DynamicTargetingKeysListResponse.ServerResponse.Header or (if
30417// a response was returned at all) in error.(*googleapi.Error).Header.
30418// Use googleapi.IsNotModified to check whether the returned error was
30419// because http.StatusNotModified was returned.
30420func (c *DynamicTargetingKeysListCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKeysListResponse, error) {
30421	gensupport.SetOptions(c.urlParams_, opts...)
30422	res, err := c.doRequest("json")
30423	if res != nil && res.StatusCode == http.StatusNotModified {
30424		if res.Body != nil {
30425			res.Body.Close()
30426		}
30427		return nil, &googleapi.Error{
30428			Code:   res.StatusCode,
30429			Header: res.Header,
30430		}
30431	}
30432	if err != nil {
30433		return nil, err
30434	}
30435	defer googleapi.CloseBody(res)
30436	if err := googleapi.CheckResponse(res); err != nil {
30437		return nil, err
30438	}
30439	ret := &DynamicTargetingKeysListResponse{
30440		ServerResponse: googleapi.ServerResponse{
30441			Header:         res.Header,
30442			HTTPStatusCode: res.StatusCode,
30443		},
30444	}
30445	target := &ret
30446	if err := gensupport.DecodeResponse(target, res); err != nil {
30447		return nil, err
30448	}
30449	return ret, nil
30450	// {
30451	//   "description": "Retrieves a list of dynamic targeting keys.",
30452	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
30453	//   "httpMethod": "GET",
30454	//   "id": "dfareporting.dynamicTargetingKeys.list",
30455	//   "parameterOrder": [
30456	//     "profileId"
30457	//   ],
30458	//   "parameters": {
30459	//     "advertiserId": {
30460	//       "description": "Select only dynamic targeting keys whose object has this advertiser ID.",
30461	//       "format": "int64",
30462	//       "location": "query",
30463	//       "type": "string"
30464	//     },
30465	//     "names": {
30466	//       "description": "Select only dynamic targeting keys exactly matching these names.",
30467	//       "location": "query",
30468	//       "repeated": true,
30469	//       "type": "string"
30470	//     },
30471	//     "objectId": {
30472	//       "description": "Select only dynamic targeting keys with this object ID.",
30473	//       "format": "int64",
30474	//       "location": "query",
30475	//       "type": "string"
30476	//     },
30477	//     "objectType": {
30478	//       "description": "Select only dynamic targeting keys with this object type.",
30479	//       "enum": [
30480	//         "OBJECT_ADVERTISER",
30481	//         "OBJECT_AD",
30482	//         "OBJECT_CREATIVE",
30483	//         "OBJECT_PLACEMENT"
30484	//       ],
30485	//       "enumDescriptions": [
30486	//         "",
30487	//         "",
30488	//         "",
30489	//         ""
30490	//       ],
30491	//       "location": "query",
30492	//       "type": "string"
30493	//     },
30494	//     "profileId": {
30495	//       "description": "User profile ID associated with this request.",
30496	//       "format": "int64",
30497	//       "location": "path",
30498	//       "required": true,
30499	//       "type": "string"
30500	//     }
30501	//   },
30502	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
30503	//   "response": {
30504	//     "$ref": "DynamicTargetingKeysListResponse"
30505	//   },
30506	//   "scopes": [
30507	//     "https://www.googleapis.com/auth/dfatrafficking"
30508	//   ]
30509	// }
30510
30511}
30512
30513// method id "dfareporting.eventTags.delete":
30514
30515type EventTagsDeleteCall struct {
30516	s          *Service
30517	profileId  int64
30518	id         int64
30519	urlParams_ gensupport.URLParams
30520	ctx_       context.Context
30521	header_    http.Header
30522}
30523
30524// Delete: Deletes an existing event tag.
30525//
30526// - id: Event tag ID.
30527// - profileId: User profile ID associated with this request.
30528func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
30529	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30530	c.profileId = profileId
30531	c.id = id
30532	return c
30533}
30534
30535// Fields allows partial responses to be retrieved. See
30536// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30537// for more information.
30538func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
30539	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30540	return c
30541}
30542
30543// Context sets the context to be used in this call's Do method. Any
30544// pending HTTP request will be aborted if the provided context is
30545// canceled.
30546func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
30547	c.ctx_ = ctx
30548	return c
30549}
30550
30551// Header returns an http.Header that can be modified by the caller to
30552// add HTTP headers to the request.
30553func (c *EventTagsDeleteCall) Header() http.Header {
30554	if c.header_ == nil {
30555		c.header_ = make(http.Header)
30556	}
30557	return c.header_
30558}
30559
30560func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
30561	reqHeaders := make(http.Header)
30562	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
30563	for k, v := range c.header_ {
30564		reqHeaders[k] = v
30565	}
30566	reqHeaders.Set("User-Agent", c.s.userAgent())
30567	var body io.Reader = nil
30568	c.urlParams_.Set("alt", alt)
30569	c.urlParams_.Set("prettyPrint", "false")
30570	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
30571	urls += "?" + c.urlParams_.Encode()
30572	req, err := http.NewRequest("DELETE", urls, body)
30573	if err != nil {
30574		return nil, err
30575	}
30576	req.Header = reqHeaders
30577	googleapi.Expand(req.URL, map[string]string{
30578		"profileId": strconv.FormatInt(c.profileId, 10),
30579		"id":        strconv.FormatInt(c.id, 10),
30580	})
30581	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30582}
30583
30584// Do executes the "dfareporting.eventTags.delete" call.
30585func (c *EventTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
30586	gensupport.SetOptions(c.urlParams_, opts...)
30587	res, err := c.doRequest("json")
30588	if err != nil {
30589		return err
30590	}
30591	defer googleapi.CloseBody(res)
30592	if err := googleapi.CheckResponse(res); err != nil {
30593		return err
30594	}
30595	return nil
30596	// {
30597	//   "description": "Deletes an existing event tag.",
30598	//   "flatPath": "userprofiles/{profileId}/eventTags/{id}",
30599	//   "httpMethod": "DELETE",
30600	//   "id": "dfareporting.eventTags.delete",
30601	//   "parameterOrder": [
30602	//     "profileId",
30603	//     "id"
30604	//   ],
30605	//   "parameters": {
30606	//     "id": {
30607	//       "description": "Event tag ID.",
30608	//       "format": "int64",
30609	//       "location": "path",
30610	//       "required": true,
30611	//       "type": "string"
30612	//     },
30613	//     "profileId": {
30614	//       "description": "User profile ID associated with this request.",
30615	//       "format": "int64",
30616	//       "location": "path",
30617	//       "required": true,
30618	//       "type": "string"
30619	//     }
30620	//   },
30621	//   "path": "userprofiles/{profileId}/eventTags/{id}",
30622	//   "scopes": [
30623	//     "https://www.googleapis.com/auth/dfatrafficking"
30624	//   ]
30625	// }
30626
30627}
30628
30629// method id "dfareporting.eventTags.get":
30630
30631type EventTagsGetCall struct {
30632	s            *Service
30633	profileId    int64
30634	id           int64
30635	urlParams_   gensupport.URLParams
30636	ifNoneMatch_ string
30637	ctx_         context.Context
30638	header_      http.Header
30639}
30640
30641// Get: Gets one event tag by ID.
30642//
30643// - id: Event tag ID.
30644// - profileId: User profile ID associated with this request.
30645func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
30646	c := &EventTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30647	c.profileId = profileId
30648	c.id = id
30649	return c
30650}
30651
30652// Fields allows partial responses to be retrieved. See
30653// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30654// for more information.
30655func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
30656	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30657	return c
30658}
30659
30660// IfNoneMatch sets the optional parameter which makes the operation
30661// fail if the object's ETag matches the given value. This is useful for
30662// getting updates only after the object has changed since the last
30663// request. Use googleapi.IsNotModified to check whether the response
30664// error from Do is the result of In-None-Match.
30665func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
30666	c.ifNoneMatch_ = entityTag
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 *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
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 *EventTagsGetCall) Header() http.Header {
30681	if c.header_ == nil {
30682		c.header_ = make(http.Header)
30683	}
30684	return c.header_
30685}
30686
30687func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
30688	reqHeaders := make(http.Header)
30689	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
30690	for k, v := range c.header_ {
30691		reqHeaders[k] = v
30692	}
30693	reqHeaders.Set("User-Agent", c.s.userAgent())
30694	if c.ifNoneMatch_ != "" {
30695		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30696	}
30697	var body io.Reader = nil
30698	c.urlParams_.Set("alt", alt)
30699	c.urlParams_.Set("prettyPrint", "false")
30700	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
30701	urls += "?" + c.urlParams_.Encode()
30702	req, err := http.NewRequest("GET", urls, body)
30703	if err != nil {
30704		return nil, err
30705	}
30706	req.Header = reqHeaders
30707	googleapi.Expand(req.URL, map[string]string{
30708		"profileId": strconv.FormatInt(c.profileId, 10),
30709		"id":        strconv.FormatInt(c.id, 10),
30710	})
30711	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30712}
30713
30714// Do executes the "dfareporting.eventTags.get" call.
30715// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
30716// code is an error. Response headers are in either
30717// *EventTag.ServerResponse.Header or (if a response was returned at
30718// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
30719// to check whether the returned error was because
30720// http.StatusNotModified was returned.
30721func (c *EventTagsGetCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
30722	gensupport.SetOptions(c.urlParams_, opts...)
30723	res, err := c.doRequest("json")
30724	if res != nil && res.StatusCode == http.StatusNotModified {
30725		if res.Body != nil {
30726			res.Body.Close()
30727		}
30728		return nil, &googleapi.Error{
30729			Code:   res.StatusCode,
30730			Header: res.Header,
30731		}
30732	}
30733	if err != nil {
30734		return nil, err
30735	}
30736	defer googleapi.CloseBody(res)
30737	if err := googleapi.CheckResponse(res); err != nil {
30738		return nil, err
30739	}
30740	ret := &EventTag{
30741		ServerResponse: googleapi.ServerResponse{
30742			Header:         res.Header,
30743			HTTPStatusCode: res.StatusCode,
30744		},
30745	}
30746	target := &ret
30747	if err := gensupport.DecodeResponse(target, res); err != nil {
30748		return nil, err
30749	}
30750	return ret, nil
30751	// {
30752	//   "description": "Gets one event tag by ID.",
30753	//   "flatPath": "userprofiles/{profileId}/eventTags/{id}",
30754	//   "httpMethod": "GET",
30755	//   "id": "dfareporting.eventTags.get",
30756	//   "parameterOrder": [
30757	//     "profileId",
30758	//     "id"
30759	//   ],
30760	//   "parameters": {
30761	//     "id": {
30762	//       "description": "Event tag ID.",
30763	//       "format": "int64",
30764	//       "location": "path",
30765	//       "required": true,
30766	//       "type": "string"
30767	//     },
30768	//     "profileId": {
30769	//       "description": "User profile ID associated with this request.",
30770	//       "format": "int64",
30771	//       "location": "path",
30772	//       "required": true,
30773	//       "type": "string"
30774	//     }
30775	//   },
30776	//   "path": "userprofiles/{profileId}/eventTags/{id}",
30777	//   "response": {
30778	//     "$ref": "EventTag"
30779	//   },
30780	//   "scopes": [
30781	//     "https://www.googleapis.com/auth/dfatrafficking"
30782	//   ]
30783	// }
30784
30785}
30786
30787// method id "dfareporting.eventTags.insert":
30788
30789type EventTagsInsertCall struct {
30790	s          *Service
30791	profileId  int64
30792	eventtag   *EventTag
30793	urlParams_ gensupport.URLParams
30794	ctx_       context.Context
30795	header_    http.Header
30796}
30797
30798// Insert: Inserts a new event tag.
30799//
30800// - profileId: User profile ID associated with this request.
30801func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
30802	c := &EventTagsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30803	c.profileId = profileId
30804	c.eventtag = eventtag
30805	return c
30806}
30807
30808// Fields allows partial responses to be retrieved. See
30809// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30810// for more information.
30811func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
30812	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30813	return c
30814}
30815
30816// Context sets the context to be used in this call's Do method. Any
30817// pending HTTP request will be aborted if the provided context is
30818// canceled.
30819func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
30820	c.ctx_ = ctx
30821	return c
30822}
30823
30824// Header returns an http.Header that can be modified by the caller to
30825// add HTTP headers to the request.
30826func (c *EventTagsInsertCall) Header() http.Header {
30827	if c.header_ == nil {
30828		c.header_ = make(http.Header)
30829	}
30830	return c.header_
30831}
30832
30833func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
30834	reqHeaders := make(http.Header)
30835	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
30836	for k, v := range c.header_ {
30837		reqHeaders[k] = v
30838	}
30839	reqHeaders.Set("User-Agent", c.s.userAgent())
30840	var body io.Reader = nil
30841	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
30842	if err != nil {
30843		return nil, err
30844	}
30845	reqHeaders.Set("Content-Type", "application/json")
30846	c.urlParams_.Set("alt", alt)
30847	c.urlParams_.Set("prettyPrint", "false")
30848	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
30849	urls += "?" + c.urlParams_.Encode()
30850	req, err := http.NewRequest("POST", urls, body)
30851	if err != nil {
30852		return nil, err
30853	}
30854	req.Header = reqHeaders
30855	googleapi.Expand(req.URL, map[string]string{
30856		"profileId": strconv.FormatInt(c.profileId, 10),
30857	})
30858	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30859}
30860
30861// Do executes the "dfareporting.eventTags.insert" call.
30862// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
30863// code is an error. Response headers are in either
30864// *EventTag.ServerResponse.Header or (if a response was returned at
30865// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
30866// to check whether the returned error was because
30867// http.StatusNotModified was returned.
30868func (c *EventTagsInsertCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
30869	gensupport.SetOptions(c.urlParams_, opts...)
30870	res, err := c.doRequest("json")
30871	if res != nil && res.StatusCode == http.StatusNotModified {
30872		if res.Body != nil {
30873			res.Body.Close()
30874		}
30875		return nil, &googleapi.Error{
30876			Code:   res.StatusCode,
30877			Header: res.Header,
30878		}
30879	}
30880	if err != nil {
30881		return nil, err
30882	}
30883	defer googleapi.CloseBody(res)
30884	if err := googleapi.CheckResponse(res); err != nil {
30885		return nil, err
30886	}
30887	ret := &EventTag{
30888		ServerResponse: googleapi.ServerResponse{
30889			Header:         res.Header,
30890			HTTPStatusCode: res.StatusCode,
30891		},
30892	}
30893	target := &ret
30894	if err := gensupport.DecodeResponse(target, res); err != nil {
30895		return nil, err
30896	}
30897	return ret, nil
30898	// {
30899	//   "description": "Inserts a new event tag.",
30900	//   "flatPath": "userprofiles/{profileId}/eventTags",
30901	//   "httpMethod": "POST",
30902	//   "id": "dfareporting.eventTags.insert",
30903	//   "parameterOrder": [
30904	//     "profileId"
30905	//   ],
30906	//   "parameters": {
30907	//     "profileId": {
30908	//       "description": "User profile ID associated with this request.",
30909	//       "format": "int64",
30910	//       "location": "path",
30911	//       "required": true,
30912	//       "type": "string"
30913	//     }
30914	//   },
30915	//   "path": "userprofiles/{profileId}/eventTags",
30916	//   "request": {
30917	//     "$ref": "EventTag"
30918	//   },
30919	//   "response": {
30920	//     "$ref": "EventTag"
30921	//   },
30922	//   "scopes": [
30923	//     "https://www.googleapis.com/auth/dfatrafficking"
30924	//   ]
30925	// }
30926
30927}
30928
30929// method id "dfareporting.eventTags.list":
30930
30931type EventTagsListCall struct {
30932	s            *Service
30933	profileId    int64
30934	urlParams_   gensupport.URLParams
30935	ifNoneMatch_ string
30936	ctx_         context.Context
30937	header_      http.Header
30938}
30939
30940// List: Retrieves a list of event tags, possibly filtered.
30941//
30942// - profileId: User profile ID associated with this request.
30943func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
30944	c := &EventTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30945	c.profileId = profileId
30946	return c
30947}
30948
30949// AdId sets the optional parameter "adId": Select only event tags that
30950// belong to this ad.
30951func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
30952	c.urlParams_.Set("adId", fmt.Sprint(adId))
30953	return c
30954}
30955
30956// AdvertiserId sets the optional parameter "advertiserId": Select only
30957// event tags that belong to this advertiser.
30958func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
30959	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30960	return c
30961}
30962
30963// CampaignId sets the optional parameter "campaignId": Select only
30964// event tags that belong to this campaign.
30965func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
30966	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
30967	return c
30968}
30969
30970// DefinitionsOnly sets the optional parameter "definitionsOnly":
30971// Examine only the specified campaign or advertiser's event tags for
30972// matching selector criteria. When set to false, the parent advertiser
30973// and parent campaign of the specified ad or campaign is examined as
30974// well. In addition, when set to false, the status field is examined as
30975// well, along with the enabledByDefault field. This parameter can not
30976// be set to true when adId is specified as ads do not define their own
30977// even tags.
30978func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
30979	c.urlParams_.Set("definitionsOnly", fmt.Sprint(definitionsOnly))
30980	return c
30981}
30982
30983// Enabled sets the optional parameter "enabled": Select only enabled
30984// event tags. What is considered enabled or disabled depends on the
30985// definitionsOnly parameter. When definitionsOnly is set to true, only
30986// the specified advertiser or campaign's event tags' enabledByDefault
30987// field is examined. When definitionsOnly is set to false, the
30988// specified ad or specified campaign's parent advertiser's or parent
30989// campaign's event tags' enabledByDefault and status fields are
30990// examined as well.
30991func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
30992	c.urlParams_.Set("enabled", fmt.Sprint(enabled))
30993	return c
30994}
30995
30996// EventTagTypes sets the optional parameter "eventTagTypes": Select
30997// only event tags with the specified event tag types. Event tag types
30998// can be used to specify whether to use a third-party pixel, a
30999// third-party JavaScript URL, or a third-party click-through URL for
31000// either impression or click tracking.
31001//
31002// Possible values:
31003//   "IMPRESSION_IMAGE_EVENT_TAG"
31004//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
31005//   "CLICK_THROUGH_EVENT_TAG"
31006func (c *EventTagsListCall) EventTagTypes(eventTagTypes ...string) *EventTagsListCall {
31007	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
31008	return c
31009}
31010
31011// Ids sets the optional parameter "ids": Select only event tags with
31012// these IDs.
31013func (c *EventTagsListCall) Ids(ids ...int64) *EventTagsListCall {
31014	var ids_ []string
31015	for _, v := range ids {
31016		ids_ = append(ids_, fmt.Sprint(v))
31017	}
31018	c.urlParams_.SetMulti("ids", ids_)
31019	return c
31020}
31021
31022// SearchString sets the optional parameter "searchString": Allows
31023// searching for objects by name or ID. Wildcards (*) are allowed. For
31024// example, "eventtag*2015" will return objects with names like
31025// "eventtag June 2015", "eventtag April 2015", or simply "eventtag
31026// 2015". Most of the searches also add wildcards implicitly at the
31027// start and the end of the search string. For example, a search string
31028// of "eventtag" will match objects with name "my eventtag", "eventtag
31029// 2015", or simply "eventtag".
31030func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
31031	c.urlParams_.Set("searchString", searchString)
31032	return c
31033}
31034
31035// SortField sets the optional parameter "sortField": Field by which to
31036// sort the list.
31037//
31038// Possible values:
31039//   "ID" (default)
31040//   "NAME"
31041func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
31042	c.urlParams_.Set("sortField", sortField)
31043	return c
31044}
31045
31046// SortOrder sets the optional parameter "sortOrder": Order of sorted
31047// results.
31048//
31049// Possible values:
31050//   "ASCENDING" (default)
31051//   "DESCENDING"
31052func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
31053	c.urlParams_.Set("sortOrder", sortOrder)
31054	return c
31055}
31056
31057// Fields allows partial responses to be retrieved. See
31058// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31059// for more information.
31060func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
31061	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31062	return c
31063}
31064
31065// IfNoneMatch sets the optional parameter which makes the operation
31066// fail if the object's ETag matches the given value. This is useful for
31067// getting updates only after the object has changed since the last
31068// request. Use googleapi.IsNotModified to check whether the response
31069// error from Do is the result of In-None-Match.
31070func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
31071	c.ifNoneMatch_ = entityTag
31072	return c
31073}
31074
31075// Context sets the context to be used in this call's Do method. Any
31076// pending HTTP request will be aborted if the provided context is
31077// canceled.
31078func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
31079	c.ctx_ = ctx
31080	return c
31081}
31082
31083// Header returns an http.Header that can be modified by the caller to
31084// add HTTP headers to the request.
31085func (c *EventTagsListCall) Header() http.Header {
31086	if c.header_ == nil {
31087		c.header_ = make(http.Header)
31088	}
31089	return c.header_
31090}
31091
31092func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
31093	reqHeaders := make(http.Header)
31094	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
31095	for k, v := range c.header_ {
31096		reqHeaders[k] = v
31097	}
31098	reqHeaders.Set("User-Agent", c.s.userAgent())
31099	if c.ifNoneMatch_ != "" {
31100		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31101	}
31102	var body io.Reader = nil
31103	c.urlParams_.Set("alt", alt)
31104	c.urlParams_.Set("prettyPrint", "false")
31105	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31106	urls += "?" + c.urlParams_.Encode()
31107	req, err := http.NewRequest("GET", urls, body)
31108	if err != nil {
31109		return nil, err
31110	}
31111	req.Header = reqHeaders
31112	googleapi.Expand(req.URL, map[string]string{
31113		"profileId": strconv.FormatInt(c.profileId, 10),
31114	})
31115	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31116}
31117
31118// Do executes the "dfareporting.eventTags.list" call.
31119// Exactly one of *EventTagsListResponse or error will be non-nil. Any
31120// non-2xx status code is an error. Response headers are in either
31121// *EventTagsListResponse.ServerResponse.Header or (if a response was
31122// returned at all) in error.(*googleapi.Error).Header. Use
31123// googleapi.IsNotModified to check whether the returned error was
31124// because http.StatusNotModified was returned.
31125func (c *EventTagsListCall) Do(opts ...googleapi.CallOption) (*EventTagsListResponse, error) {
31126	gensupport.SetOptions(c.urlParams_, opts...)
31127	res, err := c.doRequest("json")
31128	if res != nil && res.StatusCode == http.StatusNotModified {
31129		if res.Body != nil {
31130			res.Body.Close()
31131		}
31132		return nil, &googleapi.Error{
31133			Code:   res.StatusCode,
31134			Header: res.Header,
31135		}
31136	}
31137	if err != nil {
31138		return nil, err
31139	}
31140	defer googleapi.CloseBody(res)
31141	if err := googleapi.CheckResponse(res); err != nil {
31142		return nil, err
31143	}
31144	ret := &EventTagsListResponse{
31145		ServerResponse: googleapi.ServerResponse{
31146			Header:         res.Header,
31147			HTTPStatusCode: res.StatusCode,
31148		},
31149	}
31150	target := &ret
31151	if err := gensupport.DecodeResponse(target, res); err != nil {
31152		return nil, err
31153	}
31154	return ret, nil
31155	// {
31156	//   "description": "Retrieves a list of event tags, possibly filtered.",
31157	//   "flatPath": "userprofiles/{profileId}/eventTags",
31158	//   "httpMethod": "GET",
31159	//   "id": "dfareporting.eventTags.list",
31160	//   "parameterOrder": [
31161	//     "profileId"
31162	//   ],
31163	//   "parameters": {
31164	//     "adId": {
31165	//       "description": "Select only event tags that belong to this ad.",
31166	//       "format": "int64",
31167	//       "location": "query",
31168	//       "type": "string"
31169	//     },
31170	//     "advertiserId": {
31171	//       "description": "Select only event tags that belong to this advertiser.",
31172	//       "format": "int64",
31173	//       "location": "query",
31174	//       "type": "string"
31175	//     },
31176	//     "campaignId": {
31177	//       "description": "Select only event tags that belong to this campaign.",
31178	//       "format": "int64",
31179	//       "location": "query",
31180	//       "type": "string"
31181	//     },
31182	//     "definitionsOnly": {
31183	//       "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.",
31184	//       "location": "query",
31185	//       "type": "boolean"
31186	//     },
31187	//     "enabled": {
31188	//       "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.",
31189	//       "location": "query",
31190	//       "type": "boolean"
31191	//     },
31192	//     "eventTagTypes": {
31193	//       "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.",
31194	//       "enum": [
31195	//         "IMPRESSION_IMAGE_EVENT_TAG",
31196	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG",
31197	//         "CLICK_THROUGH_EVENT_TAG"
31198	//       ],
31199	//       "enumDescriptions": [
31200	//         "",
31201	//         "",
31202	//         ""
31203	//       ],
31204	//       "location": "query",
31205	//       "repeated": true,
31206	//       "type": "string"
31207	//     },
31208	//     "ids": {
31209	//       "description": "Select only event tags with these IDs.",
31210	//       "format": "int64",
31211	//       "location": "query",
31212	//       "repeated": true,
31213	//       "type": "string"
31214	//     },
31215	//     "profileId": {
31216	//       "description": "User profile ID associated with this request.",
31217	//       "format": "int64",
31218	//       "location": "path",
31219	//       "required": true,
31220	//       "type": "string"
31221	//     },
31222	//     "searchString": {
31223	//       "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\".",
31224	//       "location": "query",
31225	//       "type": "string"
31226	//     },
31227	//     "sortField": {
31228	//       "default": "ID",
31229	//       "description": "Field by which to sort the list.",
31230	//       "enum": [
31231	//         "ID",
31232	//         "NAME"
31233	//       ],
31234	//       "enumDescriptions": [
31235	//         "",
31236	//         ""
31237	//       ],
31238	//       "location": "query",
31239	//       "type": "string"
31240	//     },
31241	//     "sortOrder": {
31242	//       "default": "ASCENDING",
31243	//       "description": "Order of sorted results.",
31244	//       "enum": [
31245	//         "ASCENDING",
31246	//         "DESCENDING"
31247	//       ],
31248	//       "enumDescriptions": [
31249	//         "",
31250	//         ""
31251	//       ],
31252	//       "location": "query",
31253	//       "type": "string"
31254	//     }
31255	//   },
31256	//   "path": "userprofiles/{profileId}/eventTags",
31257	//   "response": {
31258	//     "$ref": "EventTagsListResponse"
31259	//   },
31260	//   "scopes": [
31261	//     "https://www.googleapis.com/auth/dfatrafficking"
31262	//   ]
31263	// }
31264
31265}
31266
31267// method id "dfareporting.eventTags.patch":
31268
31269type EventTagsPatchCall struct {
31270	s          *Service
31271	profileId  int64
31272	eventtag   *EventTag
31273	urlParams_ gensupport.URLParams
31274	ctx_       context.Context
31275	header_    http.Header
31276}
31277
31278// Patch: Updates an existing event tag. This method supports patch
31279// semantics.
31280//
31281// - id: EventTag ID.
31282// - profileId: User profile ID associated with this request.
31283func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
31284	c := &EventTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31285	c.profileId = profileId
31286	c.urlParams_.Set("id", fmt.Sprint(id))
31287	c.eventtag = eventtag
31288	return c
31289}
31290
31291// Fields allows partial responses to be retrieved. See
31292// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31293// for more information.
31294func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
31295	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31296	return c
31297}
31298
31299// Context sets the context to be used in this call's Do method. Any
31300// pending HTTP request will be aborted if the provided context is
31301// canceled.
31302func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
31303	c.ctx_ = ctx
31304	return c
31305}
31306
31307// Header returns an http.Header that can be modified by the caller to
31308// add HTTP headers to the request.
31309func (c *EventTagsPatchCall) Header() http.Header {
31310	if c.header_ == nil {
31311		c.header_ = make(http.Header)
31312	}
31313	return c.header_
31314}
31315
31316func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
31317	reqHeaders := make(http.Header)
31318	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
31319	for k, v := range c.header_ {
31320		reqHeaders[k] = v
31321	}
31322	reqHeaders.Set("User-Agent", c.s.userAgent())
31323	var body io.Reader = nil
31324	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
31325	if err != nil {
31326		return nil, err
31327	}
31328	reqHeaders.Set("Content-Type", "application/json")
31329	c.urlParams_.Set("alt", alt)
31330	c.urlParams_.Set("prettyPrint", "false")
31331	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31332	urls += "?" + c.urlParams_.Encode()
31333	req, err := http.NewRequest("PATCH", urls, body)
31334	if err != nil {
31335		return nil, err
31336	}
31337	req.Header = reqHeaders
31338	googleapi.Expand(req.URL, map[string]string{
31339		"profileId": strconv.FormatInt(c.profileId, 10),
31340	})
31341	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31342}
31343
31344// Do executes the "dfareporting.eventTags.patch" call.
31345// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31346// code is an error. Response headers are in either
31347// *EventTag.ServerResponse.Header or (if a response was returned at
31348// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31349// to check whether the returned error was because
31350// http.StatusNotModified was returned.
31351func (c *EventTagsPatchCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31352	gensupport.SetOptions(c.urlParams_, opts...)
31353	res, err := c.doRequest("json")
31354	if res != nil && res.StatusCode == http.StatusNotModified {
31355		if res.Body != nil {
31356			res.Body.Close()
31357		}
31358		return nil, &googleapi.Error{
31359			Code:   res.StatusCode,
31360			Header: res.Header,
31361		}
31362	}
31363	if err != nil {
31364		return nil, err
31365	}
31366	defer googleapi.CloseBody(res)
31367	if err := googleapi.CheckResponse(res); err != nil {
31368		return nil, err
31369	}
31370	ret := &EventTag{
31371		ServerResponse: googleapi.ServerResponse{
31372			Header:         res.Header,
31373			HTTPStatusCode: res.StatusCode,
31374		},
31375	}
31376	target := &ret
31377	if err := gensupport.DecodeResponse(target, res); err != nil {
31378		return nil, err
31379	}
31380	return ret, nil
31381	// {
31382	//   "description": "Updates an existing event tag. This method supports patch semantics.",
31383	//   "flatPath": "userprofiles/{profileId}/eventTags",
31384	//   "httpMethod": "PATCH",
31385	//   "id": "dfareporting.eventTags.patch",
31386	//   "parameterOrder": [
31387	//     "profileId",
31388	//     "id"
31389	//   ],
31390	//   "parameters": {
31391	//     "id": {
31392	//       "description": "EventTag ID.",
31393	//       "format": "int64",
31394	//       "location": "query",
31395	//       "required": true,
31396	//       "type": "string"
31397	//     },
31398	//     "profileId": {
31399	//       "description": "User profile ID associated with this request.",
31400	//       "format": "int64",
31401	//       "location": "path",
31402	//       "required": true,
31403	//       "type": "string"
31404	//     }
31405	//   },
31406	//   "path": "userprofiles/{profileId}/eventTags",
31407	//   "request": {
31408	//     "$ref": "EventTag"
31409	//   },
31410	//   "response": {
31411	//     "$ref": "EventTag"
31412	//   },
31413	//   "scopes": [
31414	//     "https://www.googleapis.com/auth/dfatrafficking"
31415	//   ]
31416	// }
31417
31418}
31419
31420// method id "dfareporting.eventTags.update":
31421
31422type EventTagsUpdateCall struct {
31423	s          *Service
31424	profileId  int64
31425	eventtag   *EventTag
31426	urlParams_ gensupport.URLParams
31427	ctx_       context.Context
31428	header_    http.Header
31429}
31430
31431// Update: Updates an existing event tag.
31432//
31433// - profileId: User profile ID associated with this request.
31434func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
31435	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31436	c.profileId = profileId
31437	c.eventtag = eventtag
31438	return c
31439}
31440
31441// Fields allows partial responses to be retrieved. See
31442// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31443// for more information.
31444func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
31445	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31446	return c
31447}
31448
31449// Context sets the context to be used in this call's Do method. Any
31450// pending HTTP request will be aborted if the provided context is
31451// canceled.
31452func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
31453	c.ctx_ = ctx
31454	return c
31455}
31456
31457// Header returns an http.Header that can be modified by the caller to
31458// add HTTP headers to the request.
31459func (c *EventTagsUpdateCall) Header() http.Header {
31460	if c.header_ == nil {
31461		c.header_ = make(http.Header)
31462	}
31463	return c.header_
31464}
31465
31466func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
31467	reqHeaders := make(http.Header)
31468	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
31469	for k, v := range c.header_ {
31470		reqHeaders[k] = v
31471	}
31472	reqHeaders.Set("User-Agent", c.s.userAgent())
31473	var body io.Reader = nil
31474	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
31475	if err != nil {
31476		return nil, err
31477	}
31478	reqHeaders.Set("Content-Type", "application/json")
31479	c.urlParams_.Set("alt", alt)
31480	c.urlParams_.Set("prettyPrint", "false")
31481	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31482	urls += "?" + c.urlParams_.Encode()
31483	req, err := http.NewRequest("PUT", urls, body)
31484	if err != nil {
31485		return nil, err
31486	}
31487	req.Header = reqHeaders
31488	googleapi.Expand(req.URL, map[string]string{
31489		"profileId": strconv.FormatInt(c.profileId, 10),
31490	})
31491	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31492}
31493
31494// Do executes the "dfareporting.eventTags.update" call.
31495// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31496// code is an error. Response headers are in either
31497// *EventTag.ServerResponse.Header or (if a response was returned at
31498// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31499// to check whether the returned error was because
31500// http.StatusNotModified was returned.
31501func (c *EventTagsUpdateCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31502	gensupport.SetOptions(c.urlParams_, opts...)
31503	res, err := c.doRequest("json")
31504	if res != nil && res.StatusCode == http.StatusNotModified {
31505		if res.Body != nil {
31506			res.Body.Close()
31507		}
31508		return nil, &googleapi.Error{
31509			Code:   res.StatusCode,
31510			Header: res.Header,
31511		}
31512	}
31513	if err != nil {
31514		return nil, err
31515	}
31516	defer googleapi.CloseBody(res)
31517	if err := googleapi.CheckResponse(res); err != nil {
31518		return nil, err
31519	}
31520	ret := &EventTag{
31521		ServerResponse: googleapi.ServerResponse{
31522			Header:         res.Header,
31523			HTTPStatusCode: res.StatusCode,
31524		},
31525	}
31526	target := &ret
31527	if err := gensupport.DecodeResponse(target, res); err != nil {
31528		return nil, err
31529	}
31530	return ret, nil
31531	// {
31532	//   "description": "Updates an existing event tag.",
31533	//   "flatPath": "userprofiles/{profileId}/eventTags",
31534	//   "httpMethod": "PUT",
31535	//   "id": "dfareporting.eventTags.update",
31536	//   "parameterOrder": [
31537	//     "profileId"
31538	//   ],
31539	//   "parameters": {
31540	//     "profileId": {
31541	//       "description": "User profile ID associated with this request.",
31542	//       "format": "int64",
31543	//       "location": "path",
31544	//       "required": true,
31545	//       "type": "string"
31546	//     }
31547	//   },
31548	//   "path": "userprofiles/{profileId}/eventTags",
31549	//   "request": {
31550	//     "$ref": "EventTag"
31551	//   },
31552	//   "response": {
31553	//     "$ref": "EventTag"
31554	//   },
31555	//   "scopes": [
31556	//     "https://www.googleapis.com/auth/dfatrafficking"
31557	//   ]
31558	// }
31559
31560}
31561
31562// method id "dfareporting.files.get":
31563
31564type FilesGetCall struct {
31565	s            *Service
31566	reportId     int64
31567	fileId       int64
31568	urlParams_   gensupport.URLParams
31569	ifNoneMatch_ string
31570	ctx_         context.Context
31571	header_      http.Header
31572}
31573
31574// Get: Retrieves a report file by its report ID and file ID. This
31575// method supports media download.
31576//
31577// - fileId: The ID of the report file.
31578// - reportId: The ID of the report.
31579func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
31580	c := &FilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31581	c.reportId = reportId
31582	c.fileId = fileId
31583	return c
31584}
31585
31586// Fields allows partial responses to be retrieved. See
31587// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31588// for more information.
31589func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
31590	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31591	return c
31592}
31593
31594// IfNoneMatch sets the optional parameter which makes the operation
31595// fail if the object's ETag matches the given value. This is useful for
31596// getting updates only after the object has changed since the last
31597// request. Use googleapi.IsNotModified to check whether the response
31598// error from Do is the result of In-None-Match.
31599func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
31600	c.ifNoneMatch_ = entityTag
31601	return c
31602}
31603
31604// Context sets the context to be used in this call's Do and Download
31605// methods. Any pending HTTP request will be aborted if the provided
31606// context is canceled.
31607func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
31608	c.ctx_ = ctx
31609	return c
31610}
31611
31612// Header returns an http.Header that can be modified by the caller to
31613// add HTTP headers to the request.
31614func (c *FilesGetCall) Header() http.Header {
31615	if c.header_ == nil {
31616		c.header_ = make(http.Header)
31617	}
31618	return c.header_
31619}
31620
31621func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
31622	reqHeaders := make(http.Header)
31623	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
31624	for k, v := range c.header_ {
31625		reqHeaders[k] = v
31626	}
31627	reqHeaders.Set("User-Agent", c.s.userAgent())
31628	if c.ifNoneMatch_ != "" {
31629		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31630	}
31631	var body io.Reader = nil
31632	c.urlParams_.Set("alt", alt)
31633	c.urlParams_.Set("prettyPrint", "false")
31634	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
31635	urls += "?" + c.urlParams_.Encode()
31636	req, err := http.NewRequest("GET", urls, body)
31637	if err != nil {
31638		return nil, err
31639	}
31640	req.Header = reqHeaders
31641	googleapi.Expand(req.URL, map[string]string{
31642		"reportId": strconv.FormatInt(c.reportId, 10),
31643		"fileId":   strconv.FormatInt(c.fileId, 10),
31644	})
31645	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31646}
31647
31648// Download fetches the API endpoint's "media" value, instead of the normal
31649// API response value. If the returned error is nil, the Response is guaranteed to
31650// have a 2xx status code. Callers must close the Response.Body as usual.
31651func (c *FilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
31652	gensupport.SetOptions(c.urlParams_, opts...)
31653	res, err := c.doRequest("media")
31654	if err != nil {
31655		return nil, err
31656	}
31657	if err := googleapi.CheckResponse(res); err != nil {
31658		res.Body.Close()
31659		return nil, err
31660	}
31661	return res, nil
31662}
31663
31664// Do executes the "dfareporting.files.get" call.
31665// Exactly one of *File or error will be non-nil. Any non-2xx status
31666// code is an error. Response headers are in either
31667// *File.ServerResponse.Header or (if a response was returned at all) in
31668// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
31669// whether the returned error was because http.StatusNotModified was
31670// returned.
31671func (c *FilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
31672	gensupport.SetOptions(c.urlParams_, opts...)
31673	res, err := c.doRequest("json")
31674	if res != nil && res.StatusCode == http.StatusNotModified {
31675		if res.Body != nil {
31676			res.Body.Close()
31677		}
31678		return nil, &googleapi.Error{
31679			Code:   res.StatusCode,
31680			Header: res.Header,
31681		}
31682	}
31683	if err != nil {
31684		return nil, err
31685	}
31686	defer googleapi.CloseBody(res)
31687	if err := googleapi.CheckResponse(res); err != nil {
31688		return nil, err
31689	}
31690	ret := &File{
31691		ServerResponse: googleapi.ServerResponse{
31692			Header:         res.Header,
31693			HTTPStatusCode: res.StatusCode,
31694		},
31695	}
31696	target := &ret
31697	if err := gensupport.DecodeResponse(target, res); err != nil {
31698		return nil, err
31699	}
31700	return ret, nil
31701	// {
31702	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
31703	//   "flatPath": "reports/{reportId}/files/{fileId}",
31704	//   "httpMethod": "GET",
31705	//   "id": "dfareporting.files.get",
31706	//   "parameterOrder": [
31707	//     "reportId",
31708	//     "fileId"
31709	//   ],
31710	//   "parameters": {
31711	//     "fileId": {
31712	//       "description": "The ID of the report file.",
31713	//       "format": "int64",
31714	//       "location": "path",
31715	//       "required": true,
31716	//       "type": "string"
31717	//     },
31718	//     "reportId": {
31719	//       "description": "The ID of the report.",
31720	//       "format": "int64",
31721	//       "location": "path",
31722	//       "required": true,
31723	//       "type": "string"
31724	//     }
31725	//   },
31726	//   "path": "reports/{reportId}/files/{fileId}",
31727	//   "response": {
31728	//     "$ref": "File"
31729	//   },
31730	//   "scopes": [
31731	//     "https://www.googleapis.com/auth/dfareporting"
31732	//   ],
31733	//   "supportsMediaDownload": true
31734	// }
31735
31736}
31737
31738// method id "dfareporting.files.list":
31739
31740type FilesListCall struct {
31741	s            *Service
31742	profileId    int64
31743	urlParams_   gensupport.URLParams
31744	ifNoneMatch_ string
31745	ctx_         context.Context
31746	header_      http.Header
31747}
31748
31749// List: Lists files for a user profile.
31750//
31751// - profileId: The Campaign Manager 360 user profile ID.
31752func (r *FilesService) List(profileId int64) *FilesListCall {
31753	c := &FilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31754	c.profileId = profileId
31755	return c
31756}
31757
31758// MaxResults sets the optional parameter "maxResults": Maximum number
31759// of results to return.
31760func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
31761	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
31762	return c
31763}
31764
31765// PageToken sets the optional parameter "pageToken": The value of the
31766// nextToken from the previous result page.
31767func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
31768	c.urlParams_.Set("pageToken", pageToken)
31769	return c
31770}
31771
31772// Scope sets the optional parameter "scope": The scope that defines
31773// which results are returned.
31774//
31775// Possible values:
31776//   "ALL" - All files in account.
31777//   "MINE" (default) - My files.
31778//   "SHARED_WITH_ME" - Files shared with me.
31779func (c *FilesListCall) Scope(scope string) *FilesListCall {
31780	c.urlParams_.Set("scope", scope)
31781	return c
31782}
31783
31784// SortField sets the optional parameter "sortField": The field by which
31785// to sort the list.
31786//
31787// Possible values:
31788//   "ID" - Sort by file ID.
31789//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
31790func (c *FilesListCall) SortField(sortField string) *FilesListCall {
31791	c.urlParams_.Set("sortField", sortField)
31792	return c
31793}
31794
31795// SortOrder sets the optional parameter "sortOrder": Order of sorted
31796// results.
31797//
31798// Possible values:
31799//   "ASCENDING" - Ascending order.
31800//   "DESCENDING" (default) - Descending order.
31801func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
31802	c.urlParams_.Set("sortOrder", sortOrder)
31803	return c
31804}
31805
31806// Fields allows partial responses to be retrieved. See
31807// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31808// for more information.
31809func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
31810	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31811	return c
31812}
31813
31814// IfNoneMatch sets the optional parameter which makes the operation
31815// fail if the object's ETag matches the given value. This is useful for
31816// getting updates only after the object has changed since the last
31817// request. Use googleapi.IsNotModified to check whether the response
31818// error from Do is the result of In-None-Match.
31819func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
31820	c.ifNoneMatch_ = entityTag
31821	return c
31822}
31823
31824// Context sets the context to be used in this call's Do method. Any
31825// pending HTTP request will be aborted if the provided context is
31826// canceled.
31827func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
31828	c.ctx_ = ctx
31829	return c
31830}
31831
31832// Header returns an http.Header that can be modified by the caller to
31833// add HTTP headers to the request.
31834func (c *FilesListCall) Header() http.Header {
31835	if c.header_ == nil {
31836		c.header_ = make(http.Header)
31837	}
31838	return c.header_
31839}
31840
31841func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
31842	reqHeaders := make(http.Header)
31843	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
31844	for k, v := range c.header_ {
31845		reqHeaders[k] = v
31846	}
31847	reqHeaders.Set("User-Agent", c.s.userAgent())
31848	if c.ifNoneMatch_ != "" {
31849		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31850	}
31851	var body io.Reader = nil
31852	c.urlParams_.Set("alt", alt)
31853	c.urlParams_.Set("prettyPrint", "false")
31854	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
31855	urls += "?" + c.urlParams_.Encode()
31856	req, err := http.NewRequest("GET", urls, body)
31857	if err != nil {
31858		return nil, err
31859	}
31860	req.Header = reqHeaders
31861	googleapi.Expand(req.URL, map[string]string{
31862		"profileId": strconv.FormatInt(c.profileId, 10),
31863	})
31864	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31865}
31866
31867// Do executes the "dfareporting.files.list" call.
31868// Exactly one of *FileList or error will be non-nil. Any non-2xx status
31869// code is an error. Response headers are in either
31870// *FileList.ServerResponse.Header or (if a response was returned at
31871// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31872// to check whether the returned error was because
31873// http.StatusNotModified was returned.
31874func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
31875	gensupport.SetOptions(c.urlParams_, opts...)
31876	res, err := c.doRequest("json")
31877	if res != nil && res.StatusCode == http.StatusNotModified {
31878		if res.Body != nil {
31879			res.Body.Close()
31880		}
31881		return nil, &googleapi.Error{
31882			Code:   res.StatusCode,
31883			Header: res.Header,
31884		}
31885	}
31886	if err != nil {
31887		return nil, err
31888	}
31889	defer googleapi.CloseBody(res)
31890	if err := googleapi.CheckResponse(res); err != nil {
31891		return nil, err
31892	}
31893	ret := &FileList{
31894		ServerResponse: googleapi.ServerResponse{
31895			Header:         res.Header,
31896			HTTPStatusCode: res.StatusCode,
31897		},
31898	}
31899	target := &ret
31900	if err := gensupport.DecodeResponse(target, res); err != nil {
31901		return nil, err
31902	}
31903	return ret, nil
31904	// {
31905	//   "description": "Lists files for a user profile.",
31906	//   "flatPath": "userprofiles/{profileId}/files",
31907	//   "httpMethod": "GET",
31908	//   "id": "dfareporting.files.list",
31909	//   "parameterOrder": [
31910	//     "profileId"
31911	//   ],
31912	//   "parameters": {
31913	//     "maxResults": {
31914	//       "default": "10",
31915	//       "description": "Maximum number of results to return.",
31916	//       "format": "int32",
31917	//       "location": "query",
31918	//       "maximum": "10",
31919	//       "minimum": "0",
31920	//       "type": "integer"
31921	//     },
31922	//     "pageToken": {
31923	//       "description": "The value of the nextToken from the previous result page.",
31924	//       "location": "query",
31925	//       "type": "string"
31926	//     },
31927	//     "profileId": {
31928	//       "description": "The Campaign Manager 360 user profile ID.",
31929	//       "format": "int64",
31930	//       "location": "path",
31931	//       "required": true,
31932	//       "type": "string"
31933	//     },
31934	//     "scope": {
31935	//       "default": "MINE",
31936	//       "description": "The scope that defines which results are returned.",
31937	//       "enum": [
31938	//         "ALL",
31939	//         "MINE",
31940	//         "SHARED_WITH_ME"
31941	//       ],
31942	//       "enumDescriptions": [
31943	//         "All files in account.",
31944	//         "My files.",
31945	//         "Files shared with me."
31946	//       ],
31947	//       "location": "query",
31948	//       "type": "string"
31949	//     },
31950	//     "sortField": {
31951	//       "default": "LAST_MODIFIED_TIME",
31952	//       "description": "The field by which to sort the list.",
31953	//       "enum": [
31954	//         "ID",
31955	//         "LAST_MODIFIED_TIME"
31956	//       ],
31957	//       "enumDescriptions": [
31958	//         "Sort by file ID.",
31959	//         "Sort by 'lastmodifiedAt' field."
31960	//       ],
31961	//       "location": "query",
31962	//       "type": "string"
31963	//     },
31964	//     "sortOrder": {
31965	//       "default": "DESCENDING",
31966	//       "description": "Order of sorted results.",
31967	//       "enum": [
31968	//         "ASCENDING",
31969	//         "DESCENDING"
31970	//       ],
31971	//       "enumDescriptions": [
31972	//         "Ascending order.",
31973	//         "Descending order."
31974	//       ],
31975	//       "location": "query",
31976	//       "type": "string"
31977	//     }
31978	//   },
31979	//   "path": "userprofiles/{profileId}/files",
31980	//   "response": {
31981	//     "$ref": "FileList"
31982	//   },
31983	//   "scopes": [
31984	//     "https://www.googleapis.com/auth/dfareporting"
31985	//   ]
31986	// }
31987
31988}
31989
31990// Pages invokes f for each page of results.
31991// A non-nil error returned from f will halt the iteration.
31992// The provided context supersedes any context provided to the Context method.
31993func (c *FilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
31994	c.ctx_ = ctx
31995	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
31996	for {
31997		x, err := c.Do()
31998		if err != nil {
31999			return err
32000		}
32001		if err := f(x); err != nil {
32002			return err
32003		}
32004		if x.NextPageToken == "" {
32005			return nil
32006		}
32007		c.PageToken(x.NextPageToken)
32008	}
32009}
32010
32011// method id "dfareporting.floodlightActivities.delete":
32012
32013type FloodlightActivitiesDeleteCall struct {
32014	s          *Service
32015	profileId  int64
32016	id         int64
32017	urlParams_ gensupport.URLParams
32018	ctx_       context.Context
32019	header_    http.Header
32020}
32021
32022// Delete: Deletes an existing floodlight activity.
32023//
32024// - id: Floodlight activity ID.
32025// - profileId: User profile ID associated with this request.
32026func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
32027	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32028	c.profileId = profileId
32029	c.id = id
32030	return c
32031}
32032
32033// Fields allows partial responses to be retrieved. See
32034// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32035// for more information.
32036func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
32037	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32038	return c
32039}
32040
32041// Context sets the context to be used in this call's Do method. Any
32042// pending HTTP request will be aborted if the provided context is
32043// canceled.
32044func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
32045	c.ctx_ = ctx
32046	return c
32047}
32048
32049// Header returns an http.Header that can be modified by the caller to
32050// add HTTP headers to the request.
32051func (c *FloodlightActivitiesDeleteCall) Header() http.Header {
32052	if c.header_ == nil {
32053		c.header_ = make(http.Header)
32054	}
32055	return c.header_
32056}
32057
32058func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
32059	reqHeaders := make(http.Header)
32060	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
32061	for k, v := range c.header_ {
32062		reqHeaders[k] = v
32063	}
32064	reqHeaders.Set("User-Agent", c.s.userAgent())
32065	var body io.Reader = nil
32066	c.urlParams_.Set("alt", alt)
32067	c.urlParams_.Set("prettyPrint", "false")
32068	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
32069	urls += "?" + c.urlParams_.Encode()
32070	req, err := http.NewRequest("DELETE", urls, body)
32071	if err != nil {
32072		return nil, err
32073	}
32074	req.Header = reqHeaders
32075	googleapi.Expand(req.URL, map[string]string{
32076		"profileId": strconv.FormatInt(c.profileId, 10),
32077		"id":        strconv.FormatInt(c.id, 10),
32078	})
32079	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32080}
32081
32082// Do executes the "dfareporting.floodlightActivities.delete" call.
32083func (c *FloodlightActivitiesDeleteCall) Do(opts ...googleapi.CallOption) error {
32084	gensupport.SetOptions(c.urlParams_, opts...)
32085	res, err := c.doRequest("json")
32086	if err != nil {
32087		return err
32088	}
32089	defer googleapi.CloseBody(res)
32090	if err := googleapi.CheckResponse(res); err != nil {
32091		return err
32092	}
32093	return nil
32094	// {
32095	//   "description": "Deletes an existing floodlight activity.",
32096	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
32097	//   "httpMethod": "DELETE",
32098	//   "id": "dfareporting.floodlightActivities.delete",
32099	//   "parameterOrder": [
32100	//     "profileId",
32101	//     "id"
32102	//   ],
32103	//   "parameters": {
32104	//     "id": {
32105	//       "description": "Floodlight activity ID.",
32106	//       "format": "int64",
32107	//       "location": "path",
32108	//       "required": true,
32109	//       "type": "string"
32110	//     },
32111	//     "profileId": {
32112	//       "description": "User profile ID associated with this request.",
32113	//       "format": "int64",
32114	//       "location": "path",
32115	//       "required": true,
32116	//       "type": "string"
32117	//     }
32118	//   },
32119	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
32120	//   "scopes": [
32121	//     "https://www.googleapis.com/auth/dfatrafficking"
32122	//   ]
32123	// }
32124
32125}
32126
32127// method id "dfareporting.floodlightActivities.generatetag":
32128
32129type FloodlightActivitiesGeneratetagCall struct {
32130	s          *Service
32131	profileId  int64
32132	urlParams_ gensupport.URLParams
32133	ctx_       context.Context
32134	header_    http.Header
32135}
32136
32137// Generatetag: Generates a tag for a floodlight activity.
32138//
32139// - profileId: User profile ID associated with this request.
32140func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
32141	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32142	c.profileId = profileId
32143	return c
32144}
32145
32146// FloodlightActivityId sets the optional parameter
32147// "floodlightActivityId": Floodlight activity ID for which we want to
32148// generate a tag.
32149func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
32150	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
32151	return c
32152}
32153
32154// Fields allows partial responses to be retrieved. See
32155// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32156// for more information.
32157func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
32158	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32159	return c
32160}
32161
32162// Context sets the context to be used in this call's Do method. Any
32163// pending HTTP request will be aborted if the provided context is
32164// canceled.
32165func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
32166	c.ctx_ = ctx
32167	return c
32168}
32169
32170// Header returns an http.Header that can be modified by the caller to
32171// add HTTP headers to the request.
32172func (c *FloodlightActivitiesGeneratetagCall) Header() http.Header {
32173	if c.header_ == nil {
32174		c.header_ = make(http.Header)
32175	}
32176	return c.header_
32177}
32178
32179func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
32180	reqHeaders := make(http.Header)
32181	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
32182	for k, v := range c.header_ {
32183		reqHeaders[k] = v
32184	}
32185	reqHeaders.Set("User-Agent", c.s.userAgent())
32186	var body io.Reader = nil
32187	c.urlParams_.Set("alt", alt)
32188	c.urlParams_.Set("prettyPrint", "false")
32189	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
32190	urls += "?" + c.urlParams_.Encode()
32191	req, err := http.NewRequest("POST", urls, body)
32192	if err != nil {
32193		return nil, err
32194	}
32195	req.Header = reqHeaders
32196	googleapi.Expand(req.URL, map[string]string{
32197		"profileId": strconv.FormatInt(c.profileId, 10),
32198	})
32199	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32200}
32201
32202// Do executes the "dfareporting.floodlightActivities.generatetag" call.
32203// Exactly one of *FloodlightActivitiesGenerateTagResponse or error will
32204// be non-nil. Any non-2xx status code is an error. Response headers are
32205// in either
32206// *FloodlightActivitiesGenerateTagResponse.ServerResponse.Header or (if
32207// a response was returned at all) in error.(*googleapi.Error).Header.
32208// Use googleapi.IsNotModified to check whether the returned error was
32209// because http.StatusNotModified was returned.
32210func (c *FloodlightActivitiesGeneratetagCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesGenerateTagResponse, error) {
32211	gensupport.SetOptions(c.urlParams_, opts...)
32212	res, err := c.doRequest("json")
32213	if res != nil && res.StatusCode == http.StatusNotModified {
32214		if res.Body != nil {
32215			res.Body.Close()
32216		}
32217		return nil, &googleapi.Error{
32218			Code:   res.StatusCode,
32219			Header: res.Header,
32220		}
32221	}
32222	if err != nil {
32223		return nil, err
32224	}
32225	defer googleapi.CloseBody(res)
32226	if err := googleapi.CheckResponse(res); err != nil {
32227		return nil, err
32228	}
32229	ret := &FloodlightActivitiesGenerateTagResponse{
32230		ServerResponse: googleapi.ServerResponse{
32231			Header:         res.Header,
32232			HTTPStatusCode: res.StatusCode,
32233		},
32234	}
32235	target := &ret
32236	if err := gensupport.DecodeResponse(target, res); err != nil {
32237		return nil, err
32238	}
32239	return ret, nil
32240	// {
32241	//   "description": "Generates a tag for a floodlight activity.",
32242	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/generatetag",
32243	//   "httpMethod": "POST",
32244	//   "id": "dfareporting.floodlightActivities.generatetag",
32245	//   "parameterOrder": [
32246	//     "profileId"
32247	//   ],
32248	//   "parameters": {
32249	//     "floodlightActivityId": {
32250	//       "description": "Floodlight activity ID for which we want to generate a tag.",
32251	//       "format": "int64",
32252	//       "location": "query",
32253	//       "type": "string"
32254	//     },
32255	//     "profileId": {
32256	//       "description": "User profile ID associated with this request.",
32257	//       "format": "int64",
32258	//       "location": "path",
32259	//       "required": true,
32260	//       "type": "string"
32261	//     }
32262	//   },
32263	//   "path": "userprofiles/{profileId}/floodlightActivities/generatetag",
32264	//   "response": {
32265	//     "$ref": "FloodlightActivitiesGenerateTagResponse"
32266	//   },
32267	//   "scopes": [
32268	//     "https://www.googleapis.com/auth/dfatrafficking"
32269	//   ]
32270	// }
32271
32272}
32273
32274// method id "dfareporting.floodlightActivities.get":
32275
32276type FloodlightActivitiesGetCall struct {
32277	s            *Service
32278	profileId    int64
32279	id           int64
32280	urlParams_   gensupport.URLParams
32281	ifNoneMatch_ string
32282	ctx_         context.Context
32283	header_      http.Header
32284}
32285
32286// Get: Gets one floodlight activity by ID.
32287//
32288// - id: Floodlight activity ID.
32289// - profileId: User profile ID associated with this request.
32290func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
32291	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32292	c.profileId = profileId
32293	c.id = id
32294	return c
32295}
32296
32297// Fields allows partial responses to be retrieved. See
32298// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32299// for more information.
32300func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
32301	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32302	return c
32303}
32304
32305// IfNoneMatch sets the optional parameter which makes the operation
32306// fail if the object's ETag matches the given value. This is useful for
32307// getting updates only after the object has changed since the last
32308// request. Use googleapi.IsNotModified to check whether the response
32309// error from Do is the result of In-None-Match.
32310func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
32311	c.ifNoneMatch_ = entityTag
32312	return c
32313}
32314
32315// Context sets the context to be used in this call's Do method. Any
32316// pending HTTP request will be aborted if the provided context is
32317// canceled.
32318func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
32319	c.ctx_ = ctx
32320	return c
32321}
32322
32323// Header returns an http.Header that can be modified by the caller to
32324// add HTTP headers to the request.
32325func (c *FloodlightActivitiesGetCall) Header() http.Header {
32326	if c.header_ == nil {
32327		c.header_ = make(http.Header)
32328	}
32329	return c.header_
32330}
32331
32332func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
32333	reqHeaders := make(http.Header)
32334	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
32335	for k, v := range c.header_ {
32336		reqHeaders[k] = v
32337	}
32338	reqHeaders.Set("User-Agent", c.s.userAgent())
32339	if c.ifNoneMatch_ != "" {
32340		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32341	}
32342	var body io.Reader = nil
32343	c.urlParams_.Set("alt", alt)
32344	c.urlParams_.Set("prettyPrint", "false")
32345	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
32346	urls += "?" + c.urlParams_.Encode()
32347	req, err := http.NewRequest("GET", urls, body)
32348	if err != nil {
32349		return nil, err
32350	}
32351	req.Header = reqHeaders
32352	googleapi.Expand(req.URL, map[string]string{
32353		"profileId": strconv.FormatInt(c.profileId, 10),
32354		"id":        strconv.FormatInt(c.id, 10),
32355	})
32356	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32357}
32358
32359// Do executes the "dfareporting.floodlightActivities.get" call.
32360// Exactly one of *FloodlightActivity or error will be non-nil. Any
32361// non-2xx status code is an error. Response headers are in either
32362// *FloodlightActivity.ServerResponse.Header or (if a response was
32363// returned at all) in error.(*googleapi.Error).Header. Use
32364// googleapi.IsNotModified to check whether the returned error was
32365// because http.StatusNotModified was returned.
32366func (c *FloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32367	gensupport.SetOptions(c.urlParams_, opts...)
32368	res, err := c.doRequest("json")
32369	if res != nil && res.StatusCode == http.StatusNotModified {
32370		if res.Body != nil {
32371			res.Body.Close()
32372		}
32373		return nil, &googleapi.Error{
32374			Code:   res.StatusCode,
32375			Header: res.Header,
32376		}
32377	}
32378	if err != nil {
32379		return nil, err
32380	}
32381	defer googleapi.CloseBody(res)
32382	if err := googleapi.CheckResponse(res); err != nil {
32383		return nil, err
32384	}
32385	ret := &FloodlightActivity{
32386		ServerResponse: googleapi.ServerResponse{
32387			Header:         res.Header,
32388			HTTPStatusCode: res.StatusCode,
32389		},
32390	}
32391	target := &ret
32392	if err := gensupport.DecodeResponse(target, res); err != nil {
32393		return nil, err
32394	}
32395	return ret, nil
32396	// {
32397	//   "description": "Gets one floodlight activity by ID.",
32398	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
32399	//   "httpMethod": "GET",
32400	//   "id": "dfareporting.floodlightActivities.get",
32401	//   "parameterOrder": [
32402	//     "profileId",
32403	//     "id"
32404	//   ],
32405	//   "parameters": {
32406	//     "id": {
32407	//       "description": "Floodlight activity ID.",
32408	//       "format": "int64",
32409	//       "location": "path",
32410	//       "required": true,
32411	//       "type": "string"
32412	//     },
32413	//     "profileId": {
32414	//       "description": "User profile ID associated with this request.",
32415	//       "format": "int64",
32416	//       "location": "path",
32417	//       "required": true,
32418	//       "type": "string"
32419	//     }
32420	//   },
32421	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
32422	//   "response": {
32423	//     "$ref": "FloodlightActivity"
32424	//   },
32425	//   "scopes": [
32426	//     "https://www.googleapis.com/auth/dfatrafficking"
32427	//   ]
32428	// }
32429
32430}
32431
32432// method id "dfareporting.floodlightActivities.insert":
32433
32434type FloodlightActivitiesInsertCall struct {
32435	s                  *Service
32436	profileId          int64
32437	floodlightactivity *FloodlightActivity
32438	urlParams_         gensupport.URLParams
32439	ctx_               context.Context
32440	header_            http.Header
32441}
32442
32443// Insert: Inserts a new floodlight activity.
32444//
32445// - profileId: User profile ID associated with this request.
32446func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
32447	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32448	c.profileId = profileId
32449	c.floodlightactivity = floodlightactivity
32450	return c
32451}
32452
32453// Fields allows partial responses to be retrieved. See
32454// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32455// for more information.
32456func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
32457	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32458	return c
32459}
32460
32461// Context sets the context to be used in this call's Do method. Any
32462// pending HTTP request will be aborted if the provided context is
32463// canceled.
32464func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
32465	c.ctx_ = ctx
32466	return c
32467}
32468
32469// Header returns an http.Header that can be modified by the caller to
32470// add HTTP headers to the request.
32471func (c *FloodlightActivitiesInsertCall) Header() http.Header {
32472	if c.header_ == nil {
32473		c.header_ = make(http.Header)
32474	}
32475	return c.header_
32476}
32477
32478func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
32479	reqHeaders := make(http.Header)
32480	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
32481	for k, v := range c.header_ {
32482		reqHeaders[k] = v
32483	}
32484	reqHeaders.Set("User-Agent", c.s.userAgent())
32485	var body io.Reader = nil
32486	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
32487	if err != nil {
32488		return nil, err
32489	}
32490	reqHeaders.Set("Content-Type", "application/json")
32491	c.urlParams_.Set("alt", alt)
32492	c.urlParams_.Set("prettyPrint", "false")
32493	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
32494	urls += "?" + c.urlParams_.Encode()
32495	req, err := http.NewRequest("POST", urls, body)
32496	if err != nil {
32497		return nil, err
32498	}
32499	req.Header = reqHeaders
32500	googleapi.Expand(req.URL, map[string]string{
32501		"profileId": strconv.FormatInt(c.profileId, 10),
32502	})
32503	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32504}
32505
32506// Do executes the "dfareporting.floodlightActivities.insert" call.
32507// Exactly one of *FloodlightActivity or error will be non-nil. Any
32508// non-2xx status code is an error. Response headers are in either
32509// *FloodlightActivity.ServerResponse.Header or (if a response was
32510// returned at all) in error.(*googleapi.Error).Header. Use
32511// googleapi.IsNotModified to check whether the returned error was
32512// because http.StatusNotModified was returned.
32513func (c *FloodlightActivitiesInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32514	gensupport.SetOptions(c.urlParams_, opts...)
32515	res, err := c.doRequest("json")
32516	if res != nil && res.StatusCode == http.StatusNotModified {
32517		if res.Body != nil {
32518			res.Body.Close()
32519		}
32520		return nil, &googleapi.Error{
32521			Code:   res.StatusCode,
32522			Header: res.Header,
32523		}
32524	}
32525	if err != nil {
32526		return nil, err
32527	}
32528	defer googleapi.CloseBody(res)
32529	if err := googleapi.CheckResponse(res); err != nil {
32530		return nil, err
32531	}
32532	ret := &FloodlightActivity{
32533		ServerResponse: googleapi.ServerResponse{
32534			Header:         res.Header,
32535			HTTPStatusCode: res.StatusCode,
32536		},
32537	}
32538	target := &ret
32539	if err := gensupport.DecodeResponse(target, res); err != nil {
32540		return nil, err
32541	}
32542	return ret, nil
32543	// {
32544	//   "description": "Inserts a new floodlight activity.",
32545	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
32546	//   "httpMethod": "POST",
32547	//   "id": "dfareporting.floodlightActivities.insert",
32548	//   "parameterOrder": [
32549	//     "profileId"
32550	//   ],
32551	//   "parameters": {
32552	//     "profileId": {
32553	//       "description": "User profile ID associated with this request.",
32554	//       "format": "int64",
32555	//       "location": "path",
32556	//       "required": true,
32557	//       "type": "string"
32558	//     }
32559	//   },
32560	//   "path": "userprofiles/{profileId}/floodlightActivities",
32561	//   "request": {
32562	//     "$ref": "FloodlightActivity"
32563	//   },
32564	//   "response": {
32565	//     "$ref": "FloodlightActivity"
32566	//   },
32567	//   "scopes": [
32568	//     "https://www.googleapis.com/auth/dfatrafficking"
32569	//   ]
32570	// }
32571
32572}
32573
32574// method id "dfareporting.floodlightActivities.list":
32575
32576type FloodlightActivitiesListCall struct {
32577	s            *Service
32578	profileId    int64
32579	urlParams_   gensupport.URLParams
32580	ifNoneMatch_ string
32581	ctx_         context.Context
32582	header_      http.Header
32583}
32584
32585// List: Retrieves a list of floodlight activities, possibly filtered.
32586// This method supports paging.
32587//
32588// - profileId: User profile ID associated with this request.
32589func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
32590	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32591	c.profileId = profileId
32592	return c
32593}
32594
32595// AdvertiserId sets the optional parameter "advertiserId": Select only
32596// floodlight activities for the specified advertiser ID. Must specify
32597// either ids, advertiserId, or floodlightConfigurationId for a
32598// non-empty result.
32599func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
32600	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32601	return c
32602}
32603
32604// FloodlightActivityGroupIds sets the optional parameter
32605// "floodlightActivityGroupIds": Select only floodlight activities with
32606// the specified floodlight activity group IDs.
32607func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds ...int64) *FloodlightActivitiesListCall {
32608	var floodlightActivityGroupIds_ []string
32609	for _, v := range floodlightActivityGroupIds {
32610		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprint(v))
32611	}
32612	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
32613	return c
32614}
32615
32616// FloodlightActivityGroupName sets the optional parameter
32617// "floodlightActivityGroupName": Select only floodlight activities with
32618// the specified floodlight activity group name.
32619func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
32620	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
32621	return c
32622}
32623
32624// FloodlightActivityGroupTagString sets the optional parameter
32625// "floodlightActivityGroupTagString": Select only floodlight activities
32626// with the specified floodlight activity group tag string.
32627func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
32628	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
32629	return c
32630}
32631
32632// FloodlightActivityGroupType sets the optional parameter
32633// "floodlightActivityGroupType": Select only floodlight activities with
32634// the specified floodlight activity group type.
32635//
32636// Possible values:
32637//   "COUNTER"
32638//   "SALE"
32639func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
32640	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
32641	return c
32642}
32643
32644// FloodlightConfigurationId sets the optional parameter
32645// "floodlightConfigurationId": Select only floodlight activities for
32646// the specified floodlight configuration ID. Must specify either ids,
32647// advertiserId, or floodlightConfigurationId for a non-empty result.
32648func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
32649	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
32650	return c
32651}
32652
32653// Ids sets the optional parameter "ids": Select only floodlight
32654// activities with the specified IDs. Must specify either ids,
32655// advertiserId, or floodlightConfigurationId for a non-empty result.
32656func (c *FloodlightActivitiesListCall) Ids(ids ...int64) *FloodlightActivitiesListCall {
32657	var ids_ []string
32658	for _, v := range ids {
32659		ids_ = append(ids_, fmt.Sprint(v))
32660	}
32661	c.urlParams_.SetMulti("ids", ids_)
32662	return c
32663}
32664
32665// MaxResults sets the optional parameter "maxResults": Maximum number
32666// of results to return.
32667func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
32668	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
32669	return c
32670}
32671
32672// PageToken sets the optional parameter "pageToken": Value of the
32673// nextPageToken from the previous result page.
32674func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
32675	c.urlParams_.Set("pageToken", pageToken)
32676	return c
32677}
32678
32679// SearchString sets the optional parameter "searchString": Allows
32680// searching for objects by name or ID. Wildcards (*) are allowed. For
32681// example, "floodlightactivity*2015" will return objects with names
32682// like "floodlightactivity June 2015", "floodlightactivity April 2015",
32683// or simply "floodlightactivity 2015". Most of the searches also add
32684// wildcards implicitly at the start and the end of the search string.
32685// For example, a search string of "floodlightactivity" will match
32686// objects with name "my floodlightactivity activity",
32687// "floodlightactivity 2015", or simply "floodlightactivity".
32688func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
32689	c.urlParams_.Set("searchString", searchString)
32690	return c
32691}
32692
32693// SortField sets the optional parameter "sortField": Field by which to
32694// sort the list.
32695//
32696// Possible values:
32697//   "ID" (default)
32698//   "NAME"
32699func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
32700	c.urlParams_.Set("sortField", sortField)
32701	return c
32702}
32703
32704// SortOrder sets the optional parameter "sortOrder": Order of sorted
32705// results.
32706//
32707// Possible values:
32708//   "ASCENDING" (default)
32709//   "DESCENDING"
32710func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
32711	c.urlParams_.Set("sortOrder", sortOrder)
32712	return c
32713}
32714
32715// TagString sets the optional parameter "tagString": Select only
32716// floodlight activities with the specified tag string.
32717func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
32718	c.urlParams_.Set("tagString", tagString)
32719	return c
32720}
32721
32722// Fields allows partial responses to be retrieved. See
32723// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32724// for more information.
32725func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
32726	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32727	return c
32728}
32729
32730// IfNoneMatch sets the optional parameter which makes the operation
32731// fail if the object's ETag matches the given value. This is useful for
32732// getting updates only after the object has changed since the last
32733// request. Use googleapi.IsNotModified to check whether the response
32734// error from Do is the result of In-None-Match.
32735func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
32736	c.ifNoneMatch_ = entityTag
32737	return c
32738}
32739
32740// Context sets the context to be used in this call's Do method. Any
32741// pending HTTP request will be aborted if the provided context is
32742// canceled.
32743func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
32744	c.ctx_ = ctx
32745	return c
32746}
32747
32748// Header returns an http.Header that can be modified by the caller to
32749// add HTTP headers to the request.
32750func (c *FloodlightActivitiesListCall) Header() http.Header {
32751	if c.header_ == nil {
32752		c.header_ = make(http.Header)
32753	}
32754	return c.header_
32755}
32756
32757func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
32758	reqHeaders := make(http.Header)
32759	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
32760	for k, v := range c.header_ {
32761		reqHeaders[k] = v
32762	}
32763	reqHeaders.Set("User-Agent", c.s.userAgent())
32764	if c.ifNoneMatch_ != "" {
32765		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32766	}
32767	var body io.Reader = nil
32768	c.urlParams_.Set("alt", alt)
32769	c.urlParams_.Set("prettyPrint", "false")
32770	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
32771	urls += "?" + c.urlParams_.Encode()
32772	req, err := http.NewRequest("GET", urls, body)
32773	if err != nil {
32774		return nil, err
32775	}
32776	req.Header = reqHeaders
32777	googleapi.Expand(req.URL, map[string]string{
32778		"profileId": strconv.FormatInt(c.profileId, 10),
32779	})
32780	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32781}
32782
32783// Do executes the "dfareporting.floodlightActivities.list" call.
32784// Exactly one of *FloodlightActivitiesListResponse or error will be
32785// non-nil. Any non-2xx status code is an error. Response headers are in
32786// either *FloodlightActivitiesListResponse.ServerResponse.Header or (if
32787// a response was returned at all) in error.(*googleapi.Error).Header.
32788// Use googleapi.IsNotModified to check whether the returned error was
32789// because http.StatusNotModified was returned.
32790func (c *FloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesListResponse, error) {
32791	gensupport.SetOptions(c.urlParams_, opts...)
32792	res, err := c.doRequest("json")
32793	if res != nil && res.StatusCode == http.StatusNotModified {
32794		if res.Body != nil {
32795			res.Body.Close()
32796		}
32797		return nil, &googleapi.Error{
32798			Code:   res.StatusCode,
32799			Header: res.Header,
32800		}
32801	}
32802	if err != nil {
32803		return nil, err
32804	}
32805	defer googleapi.CloseBody(res)
32806	if err := googleapi.CheckResponse(res); err != nil {
32807		return nil, err
32808	}
32809	ret := &FloodlightActivitiesListResponse{
32810		ServerResponse: googleapi.ServerResponse{
32811			Header:         res.Header,
32812			HTTPStatusCode: res.StatusCode,
32813		},
32814	}
32815	target := &ret
32816	if err := gensupport.DecodeResponse(target, res); err != nil {
32817		return nil, err
32818	}
32819	return ret, nil
32820	// {
32821	//   "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
32822	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
32823	//   "httpMethod": "GET",
32824	//   "id": "dfareporting.floodlightActivities.list",
32825	//   "parameterOrder": [
32826	//     "profileId"
32827	//   ],
32828	//   "parameters": {
32829	//     "advertiserId": {
32830	//       "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
32831	//       "format": "int64",
32832	//       "location": "query",
32833	//       "type": "string"
32834	//     },
32835	//     "floodlightActivityGroupIds": {
32836	//       "description": "Select only floodlight activities with the specified floodlight activity group IDs.",
32837	//       "format": "int64",
32838	//       "location": "query",
32839	//       "repeated": true,
32840	//       "type": "string"
32841	//     },
32842	//     "floodlightActivityGroupName": {
32843	//       "description": "Select only floodlight activities with the specified floodlight activity group name.",
32844	//       "location": "query",
32845	//       "type": "string"
32846	//     },
32847	//     "floodlightActivityGroupTagString": {
32848	//       "description": "Select only floodlight activities with the specified floodlight activity group tag string.",
32849	//       "location": "query",
32850	//       "type": "string"
32851	//     },
32852	//     "floodlightActivityGroupType": {
32853	//       "description": "Select only floodlight activities with the specified floodlight activity group type.",
32854	//       "enum": [
32855	//         "COUNTER",
32856	//         "SALE"
32857	//       ],
32858	//       "enumDescriptions": [
32859	//         "",
32860	//         ""
32861	//       ],
32862	//       "location": "query",
32863	//       "type": "string"
32864	//     },
32865	//     "floodlightConfigurationId": {
32866	//       "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
32867	//       "format": "int64",
32868	//       "location": "query",
32869	//       "type": "string"
32870	//     },
32871	//     "ids": {
32872	//       "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
32873	//       "format": "int64",
32874	//       "location": "query",
32875	//       "repeated": true,
32876	//       "type": "string"
32877	//     },
32878	//     "maxResults": {
32879	//       "default": "1000",
32880	//       "description": "Maximum number of results to return.",
32881	//       "format": "int32",
32882	//       "location": "query",
32883	//       "maximum": "1000",
32884	//       "minimum": "0",
32885	//       "type": "integer"
32886	//     },
32887	//     "pageToken": {
32888	//       "description": "Value of the nextPageToken from the previous result page.",
32889	//       "location": "query",
32890	//       "type": "string"
32891	//     },
32892	//     "profileId": {
32893	//       "description": "User profile ID associated with this request.",
32894	//       "format": "int64",
32895	//       "location": "path",
32896	//       "required": true,
32897	//       "type": "string"
32898	//     },
32899	//     "searchString": {
32900	//       "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\".",
32901	//       "location": "query",
32902	//       "type": "string"
32903	//     },
32904	//     "sortField": {
32905	//       "default": "ID",
32906	//       "description": "Field by which to sort the list.",
32907	//       "enum": [
32908	//         "ID",
32909	//         "NAME"
32910	//       ],
32911	//       "enumDescriptions": [
32912	//         "",
32913	//         ""
32914	//       ],
32915	//       "location": "query",
32916	//       "type": "string"
32917	//     },
32918	//     "sortOrder": {
32919	//       "default": "ASCENDING",
32920	//       "description": "Order of sorted results.",
32921	//       "enum": [
32922	//         "ASCENDING",
32923	//         "DESCENDING"
32924	//       ],
32925	//       "enumDescriptions": [
32926	//         "",
32927	//         ""
32928	//       ],
32929	//       "location": "query",
32930	//       "type": "string"
32931	//     },
32932	//     "tagString": {
32933	//       "description": "Select only floodlight activities with the specified tag string.",
32934	//       "location": "query",
32935	//       "type": "string"
32936	//     }
32937	//   },
32938	//   "path": "userprofiles/{profileId}/floodlightActivities",
32939	//   "response": {
32940	//     "$ref": "FloodlightActivitiesListResponse"
32941	//   },
32942	//   "scopes": [
32943	//     "https://www.googleapis.com/auth/dfatrafficking"
32944	//   ]
32945	// }
32946
32947}
32948
32949// Pages invokes f for each page of results.
32950// A non-nil error returned from f will halt the iteration.
32951// The provided context supersedes any context provided to the Context method.
32952func (c *FloodlightActivitiesListCall) Pages(ctx context.Context, f func(*FloodlightActivitiesListResponse) error) error {
32953	c.ctx_ = ctx
32954	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
32955	for {
32956		x, err := c.Do()
32957		if err != nil {
32958			return err
32959		}
32960		if err := f(x); err != nil {
32961			return err
32962		}
32963		if x.NextPageToken == "" {
32964			return nil
32965		}
32966		c.PageToken(x.NextPageToken)
32967	}
32968}
32969
32970// method id "dfareporting.floodlightActivities.patch":
32971
32972type FloodlightActivitiesPatchCall struct {
32973	s                  *Service
32974	profileId          int64
32975	floodlightactivity *FloodlightActivity
32976	urlParams_         gensupport.URLParams
32977	ctx_               context.Context
32978	header_            http.Header
32979}
32980
32981// Patch: Updates an existing floodlight activity. This method supports
32982// patch semantics.
32983//
32984// - id: FloodlightActivity ID.
32985// - profileId: User profile ID associated with this request.
32986func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
32987	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32988	c.profileId = profileId
32989	c.urlParams_.Set("id", fmt.Sprint(id))
32990	c.floodlightactivity = floodlightactivity
32991	return c
32992}
32993
32994// Fields allows partial responses to be retrieved. See
32995// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32996// for more information.
32997func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
32998	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32999	return c
33000}
33001
33002// Context sets the context to be used in this call's Do method. Any
33003// pending HTTP request will be aborted if the provided context is
33004// canceled.
33005func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
33006	c.ctx_ = ctx
33007	return c
33008}
33009
33010// Header returns an http.Header that can be modified by the caller to
33011// add HTTP headers to the request.
33012func (c *FloodlightActivitiesPatchCall) Header() http.Header {
33013	if c.header_ == nil {
33014		c.header_ = make(http.Header)
33015	}
33016	return c.header_
33017}
33018
33019func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
33020	reqHeaders := make(http.Header)
33021	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
33022	for k, v := range c.header_ {
33023		reqHeaders[k] = v
33024	}
33025	reqHeaders.Set("User-Agent", c.s.userAgent())
33026	var body io.Reader = nil
33027	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
33028	if err != nil {
33029		return nil, err
33030	}
33031	reqHeaders.Set("Content-Type", "application/json")
33032	c.urlParams_.Set("alt", alt)
33033	c.urlParams_.Set("prettyPrint", "false")
33034	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
33035	urls += "?" + c.urlParams_.Encode()
33036	req, err := http.NewRequest("PATCH", urls, body)
33037	if err != nil {
33038		return nil, err
33039	}
33040	req.Header = reqHeaders
33041	googleapi.Expand(req.URL, map[string]string{
33042		"profileId": strconv.FormatInt(c.profileId, 10),
33043	})
33044	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33045}
33046
33047// Do executes the "dfareporting.floodlightActivities.patch" call.
33048// Exactly one of *FloodlightActivity or error will be non-nil. Any
33049// non-2xx status code is an error. Response headers are in either
33050// *FloodlightActivity.ServerResponse.Header or (if a response was
33051// returned at all) in error.(*googleapi.Error).Header. Use
33052// googleapi.IsNotModified to check whether the returned error was
33053// because http.StatusNotModified was returned.
33054func (c *FloodlightActivitiesPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
33055	gensupport.SetOptions(c.urlParams_, opts...)
33056	res, err := c.doRequest("json")
33057	if res != nil && res.StatusCode == http.StatusNotModified {
33058		if res.Body != nil {
33059			res.Body.Close()
33060		}
33061		return nil, &googleapi.Error{
33062			Code:   res.StatusCode,
33063			Header: res.Header,
33064		}
33065	}
33066	if err != nil {
33067		return nil, err
33068	}
33069	defer googleapi.CloseBody(res)
33070	if err := googleapi.CheckResponse(res); err != nil {
33071		return nil, err
33072	}
33073	ret := &FloodlightActivity{
33074		ServerResponse: googleapi.ServerResponse{
33075			Header:         res.Header,
33076			HTTPStatusCode: res.StatusCode,
33077		},
33078	}
33079	target := &ret
33080	if err := gensupport.DecodeResponse(target, res); err != nil {
33081		return nil, err
33082	}
33083	return ret, nil
33084	// {
33085	//   "description": "Updates an existing floodlight activity. This method supports patch semantics.",
33086	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
33087	//   "httpMethod": "PATCH",
33088	//   "id": "dfareporting.floodlightActivities.patch",
33089	//   "parameterOrder": [
33090	//     "profileId",
33091	//     "id"
33092	//   ],
33093	//   "parameters": {
33094	//     "id": {
33095	//       "description": "FloodlightActivity ID.",
33096	//       "format": "int64",
33097	//       "location": "query",
33098	//       "required": true,
33099	//       "type": "string"
33100	//     },
33101	//     "profileId": {
33102	//       "description": "User profile ID associated with this request.",
33103	//       "format": "int64",
33104	//       "location": "path",
33105	//       "required": true,
33106	//       "type": "string"
33107	//     }
33108	//   },
33109	//   "path": "userprofiles/{profileId}/floodlightActivities",
33110	//   "request": {
33111	//     "$ref": "FloodlightActivity"
33112	//   },
33113	//   "response": {
33114	//     "$ref": "FloodlightActivity"
33115	//   },
33116	//   "scopes": [
33117	//     "https://www.googleapis.com/auth/dfatrafficking"
33118	//   ]
33119	// }
33120
33121}
33122
33123// method id "dfareporting.floodlightActivities.update":
33124
33125type FloodlightActivitiesUpdateCall struct {
33126	s                  *Service
33127	profileId          int64
33128	floodlightactivity *FloodlightActivity
33129	urlParams_         gensupport.URLParams
33130	ctx_               context.Context
33131	header_            http.Header
33132}
33133
33134// Update: Updates an existing floodlight activity.
33135//
33136// - profileId: User profile ID associated with this request.
33137func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
33138	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33139	c.profileId = profileId
33140	c.floodlightactivity = floodlightactivity
33141	return c
33142}
33143
33144// Fields allows partial responses to be retrieved. See
33145// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33146// for more information.
33147func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
33148	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33149	return c
33150}
33151
33152// Context sets the context to be used in this call's Do method. Any
33153// pending HTTP request will be aborted if the provided context is
33154// canceled.
33155func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
33156	c.ctx_ = ctx
33157	return c
33158}
33159
33160// Header returns an http.Header that can be modified by the caller to
33161// add HTTP headers to the request.
33162func (c *FloodlightActivitiesUpdateCall) Header() http.Header {
33163	if c.header_ == nil {
33164		c.header_ = make(http.Header)
33165	}
33166	return c.header_
33167}
33168
33169func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
33170	reqHeaders := make(http.Header)
33171	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
33172	for k, v := range c.header_ {
33173		reqHeaders[k] = v
33174	}
33175	reqHeaders.Set("User-Agent", c.s.userAgent())
33176	var body io.Reader = nil
33177	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
33178	if err != nil {
33179		return nil, err
33180	}
33181	reqHeaders.Set("Content-Type", "application/json")
33182	c.urlParams_.Set("alt", alt)
33183	c.urlParams_.Set("prettyPrint", "false")
33184	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
33185	urls += "?" + c.urlParams_.Encode()
33186	req, err := http.NewRequest("PUT", urls, body)
33187	if err != nil {
33188		return nil, err
33189	}
33190	req.Header = reqHeaders
33191	googleapi.Expand(req.URL, map[string]string{
33192		"profileId": strconv.FormatInt(c.profileId, 10),
33193	})
33194	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33195}
33196
33197// Do executes the "dfareporting.floodlightActivities.update" call.
33198// Exactly one of *FloodlightActivity or error will be non-nil. Any
33199// non-2xx status code is an error. Response headers are in either
33200// *FloodlightActivity.ServerResponse.Header or (if a response was
33201// returned at all) in error.(*googleapi.Error).Header. Use
33202// googleapi.IsNotModified to check whether the returned error was
33203// because http.StatusNotModified was returned.
33204func (c *FloodlightActivitiesUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
33205	gensupport.SetOptions(c.urlParams_, opts...)
33206	res, err := c.doRequest("json")
33207	if res != nil && res.StatusCode == http.StatusNotModified {
33208		if res.Body != nil {
33209			res.Body.Close()
33210		}
33211		return nil, &googleapi.Error{
33212			Code:   res.StatusCode,
33213			Header: res.Header,
33214		}
33215	}
33216	if err != nil {
33217		return nil, err
33218	}
33219	defer googleapi.CloseBody(res)
33220	if err := googleapi.CheckResponse(res); err != nil {
33221		return nil, err
33222	}
33223	ret := &FloodlightActivity{
33224		ServerResponse: googleapi.ServerResponse{
33225			Header:         res.Header,
33226			HTTPStatusCode: res.StatusCode,
33227		},
33228	}
33229	target := &ret
33230	if err := gensupport.DecodeResponse(target, res); err != nil {
33231		return nil, err
33232	}
33233	return ret, nil
33234	// {
33235	//   "description": "Updates an existing floodlight activity.",
33236	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
33237	//   "httpMethod": "PUT",
33238	//   "id": "dfareporting.floodlightActivities.update",
33239	//   "parameterOrder": [
33240	//     "profileId"
33241	//   ],
33242	//   "parameters": {
33243	//     "profileId": {
33244	//       "description": "User profile ID associated with this request.",
33245	//       "format": "int64",
33246	//       "location": "path",
33247	//       "required": true,
33248	//       "type": "string"
33249	//     }
33250	//   },
33251	//   "path": "userprofiles/{profileId}/floodlightActivities",
33252	//   "request": {
33253	//     "$ref": "FloodlightActivity"
33254	//   },
33255	//   "response": {
33256	//     "$ref": "FloodlightActivity"
33257	//   },
33258	//   "scopes": [
33259	//     "https://www.googleapis.com/auth/dfatrafficking"
33260	//   ]
33261	// }
33262
33263}
33264
33265// method id "dfareporting.floodlightActivityGroups.get":
33266
33267type FloodlightActivityGroupsGetCall struct {
33268	s            *Service
33269	profileId    int64
33270	id           int64
33271	urlParams_   gensupport.URLParams
33272	ifNoneMatch_ string
33273	ctx_         context.Context
33274	header_      http.Header
33275}
33276
33277// Get: Gets one floodlight activity group by ID.
33278//
33279// - id: Floodlight activity Group ID.
33280// - profileId: User profile ID associated with this request.
33281func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
33282	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33283	c.profileId = profileId
33284	c.id = id
33285	return c
33286}
33287
33288// Fields allows partial responses to be retrieved. See
33289// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33290// for more information.
33291func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
33292	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33293	return c
33294}
33295
33296// IfNoneMatch sets the optional parameter which makes the operation
33297// fail if the object's ETag matches the given value. This is useful for
33298// getting updates only after the object has changed since the last
33299// request. Use googleapi.IsNotModified to check whether the response
33300// error from Do is the result of In-None-Match.
33301func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
33302	c.ifNoneMatch_ = entityTag
33303	return c
33304}
33305
33306// Context sets the context to be used in this call's Do method. Any
33307// pending HTTP request will be aborted if the provided context is
33308// canceled.
33309func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
33310	c.ctx_ = ctx
33311	return c
33312}
33313
33314// Header returns an http.Header that can be modified by the caller to
33315// add HTTP headers to the request.
33316func (c *FloodlightActivityGroupsGetCall) Header() http.Header {
33317	if c.header_ == nil {
33318		c.header_ = make(http.Header)
33319	}
33320	return c.header_
33321}
33322
33323func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
33324	reqHeaders := make(http.Header)
33325	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
33326	for k, v := range c.header_ {
33327		reqHeaders[k] = v
33328	}
33329	reqHeaders.Set("User-Agent", c.s.userAgent())
33330	if c.ifNoneMatch_ != "" {
33331		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33332	}
33333	var body io.Reader = nil
33334	c.urlParams_.Set("alt", alt)
33335	c.urlParams_.Set("prettyPrint", "false")
33336	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
33337	urls += "?" + c.urlParams_.Encode()
33338	req, err := http.NewRequest("GET", urls, body)
33339	if err != nil {
33340		return nil, err
33341	}
33342	req.Header = reqHeaders
33343	googleapi.Expand(req.URL, map[string]string{
33344		"profileId": strconv.FormatInt(c.profileId, 10),
33345		"id":        strconv.FormatInt(c.id, 10),
33346	})
33347	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33348}
33349
33350// Do executes the "dfareporting.floodlightActivityGroups.get" call.
33351// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33352// non-2xx status code is an error. Response headers are in either
33353// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33354// returned at all) in error.(*googleapi.Error).Header. Use
33355// googleapi.IsNotModified to check whether the returned error was
33356// because http.StatusNotModified was returned.
33357func (c *FloodlightActivityGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33358	gensupport.SetOptions(c.urlParams_, opts...)
33359	res, err := c.doRequest("json")
33360	if res != nil && res.StatusCode == http.StatusNotModified {
33361		if res.Body != nil {
33362			res.Body.Close()
33363		}
33364		return nil, &googleapi.Error{
33365			Code:   res.StatusCode,
33366			Header: res.Header,
33367		}
33368	}
33369	if err != nil {
33370		return nil, err
33371	}
33372	defer googleapi.CloseBody(res)
33373	if err := googleapi.CheckResponse(res); err != nil {
33374		return nil, err
33375	}
33376	ret := &FloodlightActivityGroup{
33377		ServerResponse: googleapi.ServerResponse{
33378			Header:         res.Header,
33379			HTTPStatusCode: res.StatusCode,
33380		},
33381	}
33382	target := &ret
33383	if err := gensupport.DecodeResponse(target, res); err != nil {
33384		return nil, err
33385	}
33386	return ret, nil
33387	// {
33388	//   "description": "Gets one floodlight activity group by ID.",
33389	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
33390	//   "httpMethod": "GET",
33391	//   "id": "dfareporting.floodlightActivityGroups.get",
33392	//   "parameterOrder": [
33393	//     "profileId",
33394	//     "id"
33395	//   ],
33396	//   "parameters": {
33397	//     "id": {
33398	//       "description": "Floodlight activity Group ID.",
33399	//       "format": "int64",
33400	//       "location": "path",
33401	//       "required": true,
33402	//       "type": "string"
33403	//     },
33404	//     "profileId": {
33405	//       "description": "User profile ID associated with this request.",
33406	//       "format": "int64",
33407	//       "location": "path",
33408	//       "required": true,
33409	//       "type": "string"
33410	//     }
33411	//   },
33412	//   "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
33413	//   "response": {
33414	//     "$ref": "FloodlightActivityGroup"
33415	//   },
33416	//   "scopes": [
33417	//     "https://www.googleapis.com/auth/dfatrafficking"
33418	//   ]
33419	// }
33420
33421}
33422
33423// method id "dfareporting.floodlightActivityGroups.insert":
33424
33425type FloodlightActivityGroupsInsertCall struct {
33426	s                       *Service
33427	profileId               int64
33428	floodlightactivitygroup *FloodlightActivityGroup
33429	urlParams_              gensupport.URLParams
33430	ctx_                    context.Context
33431	header_                 http.Header
33432}
33433
33434// Insert: Inserts a new floodlight activity group.
33435//
33436// - profileId: User profile ID associated with this request.
33437func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
33438	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33439	c.profileId = profileId
33440	c.floodlightactivitygroup = floodlightactivitygroup
33441	return c
33442}
33443
33444// Fields allows partial responses to be retrieved. See
33445// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33446// for more information.
33447func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
33448	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33449	return c
33450}
33451
33452// Context sets the context to be used in this call's Do method. Any
33453// pending HTTP request will be aborted if the provided context is
33454// canceled.
33455func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
33456	c.ctx_ = ctx
33457	return c
33458}
33459
33460// Header returns an http.Header that can be modified by the caller to
33461// add HTTP headers to the request.
33462func (c *FloodlightActivityGroupsInsertCall) Header() http.Header {
33463	if c.header_ == nil {
33464		c.header_ = make(http.Header)
33465	}
33466	return c.header_
33467}
33468
33469func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
33470	reqHeaders := make(http.Header)
33471	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
33472	for k, v := range c.header_ {
33473		reqHeaders[k] = v
33474	}
33475	reqHeaders.Set("User-Agent", c.s.userAgent())
33476	var body io.Reader = nil
33477	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
33478	if err != nil {
33479		return nil, err
33480	}
33481	reqHeaders.Set("Content-Type", "application/json")
33482	c.urlParams_.Set("alt", alt)
33483	c.urlParams_.Set("prettyPrint", "false")
33484	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33485	urls += "?" + c.urlParams_.Encode()
33486	req, err := http.NewRequest("POST", urls, body)
33487	if err != nil {
33488		return nil, err
33489	}
33490	req.Header = reqHeaders
33491	googleapi.Expand(req.URL, map[string]string{
33492		"profileId": strconv.FormatInt(c.profileId, 10),
33493	})
33494	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33495}
33496
33497// Do executes the "dfareporting.floodlightActivityGroups.insert" call.
33498// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33499// non-2xx status code is an error. Response headers are in either
33500// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33501// returned at all) in error.(*googleapi.Error).Header. Use
33502// googleapi.IsNotModified to check whether the returned error was
33503// because http.StatusNotModified was returned.
33504func (c *FloodlightActivityGroupsInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33505	gensupport.SetOptions(c.urlParams_, opts...)
33506	res, err := c.doRequest("json")
33507	if res != nil && res.StatusCode == http.StatusNotModified {
33508		if res.Body != nil {
33509			res.Body.Close()
33510		}
33511		return nil, &googleapi.Error{
33512			Code:   res.StatusCode,
33513			Header: res.Header,
33514		}
33515	}
33516	if err != nil {
33517		return nil, err
33518	}
33519	defer googleapi.CloseBody(res)
33520	if err := googleapi.CheckResponse(res); err != nil {
33521		return nil, err
33522	}
33523	ret := &FloodlightActivityGroup{
33524		ServerResponse: googleapi.ServerResponse{
33525			Header:         res.Header,
33526			HTTPStatusCode: res.StatusCode,
33527		},
33528	}
33529	target := &ret
33530	if err := gensupport.DecodeResponse(target, res); err != nil {
33531		return nil, err
33532	}
33533	return ret, nil
33534	// {
33535	//   "description": "Inserts a new floodlight activity group.",
33536	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
33537	//   "httpMethod": "POST",
33538	//   "id": "dfareporting.floodlightActivityGroups.insert",
33539	//   "parameterOrder": [
33540	//     "profileId"
33541	//   ],
33542	//   "parameters": {
33543	//     "profileId": {
33544	//       "description": "User profile ID associated with this request.",
33545	//       "format": "int64",
33546	//       "location": "path",
33547	//       "required": true,
33548	//       "type": "string"
33549	//     }
33550	//   },
33551	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
33552	//   "request": {
33553	//     "$ref": "FloodlightActivityGroup"
33554	//   },
33555	//   "response": {
33556	//     "$ref": "FloodlightActivityGroup"
33557	//   },
33558	//   "scopes": [
33559	//     "https://www.googleapis.com/auth/dfatrafficking"
33560	//   ]
33561	// }
33562
33563}
33564
33565// method id "dfareporting.floodlightActivityGroups.list":
33566
33567type FloodlightActivityGroupsListCall struct {
33568	s            *Service
33569	profileId    int64
33570	urlParams_   gensupport.URLParams
33571	ifNoneMatch_ string
33572	ctx_         context.Context
33573	header_      http.Header
33574}
33575
33576// List: Retrieves a list of floodlight activity groups, possibly
33577// filtered. This method supports paging.
33578//
33579// - profileId: User profile ID associated with this request.
33580func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
33581	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33582	c.profileId = profileId
33583	return c
33584}
33585
33586// AdvertiserId sets the optional parameter "advertiserId": Select only
33587// floodlight activity groups with the specified advertiser ID. Must
33588// specify either advertiserId or floodlightConfigurationId for a
33589// non-empty result.
33590func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
33591	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33592	return c
33593}
33594
33595// FloodlightConfigurationId sets the optional parameter
33596// "floodlightConfigurationId": Select only floodlight activity groups
33597// with the specified floodlight configuration ID. Must specify either
33598// advertiserId, or floodlightConfigurationId for a non-empty result.
33599func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
33600	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
33601	return c
33602}
33603
33604// Ids sets the optional parameter "ids": Select only floodlight
33605// activity groups with the specified IDs. Must specify either
33606// advertiserId or floodlightConfigurationId for a non-empty result.
33607func (c *FloodlightActivityGroupsListCall) Ids(ids ...int64) *FloodlightActivityGroupsListCall {
33608	var ids_ []string
33609	for _, v := range ids {
33610		ids_ = append(ids_, fmt.Sprint(v))
33611	}
33612	c.urlParams_.SetMulti("ids", ids_)
33613	return c
33614}
33615
33616// MaxResults sets the optional parameter "maxResults": Maximum number
33617// of results to return.
33618func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
33619	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
33620	return c
33621}
33622
33623// PageToken sets the optional parameter "pageToken": Value of the
33624// nextPageToken from the previous result page.
33625func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
33626	c.urlParams_.Set("pageToken", pageToken)
33627	return c
33628}
33629
33630// SearchString sets the optional parameter "searchString": Allows
33631// searching for objects by name or ID. Wildcards (*) are allowed. For
33632// example, "floodlightactivitygroup*2015" will return objects with
33633// names like "floodlightactivitygroup June 2015",
33634// "floodlightactivitygroup April 2015", or simply
33635// "floodlightactivitygroup 2015". Most of the searches also add
33636// wildcards implicitly at the start and the end of the search string.
33637// For example, a search string of "floodlightactivitygroup" will match
33638// objects with name "my floodlightactivitygroup activity",
33639// "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
33640func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
33641	c.urlParams_.Set("searchString", searchString)
33642	return c
33643}
33644
33645// SortField sets the optional parameter "sortField": Field by which to
33646// sort the list.
33647//
33648// Possible values:
33649//   "ID" (default)
33650//   "NAME"
33651func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
33652	c.urlParams_.Set("sortField", sortField)
33653	return c
33654}
33655
33656// SortOrder sets the optional parameter "sortOrder": Order of sorted
33657// results.
33658//
33659// Possible values:
33660//   "ASCENDING" (default)
33661//   "DESCENDING"
33662func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
33663	c.urlParams_.Set("sortOrder", sortOrder)
33664	return c
33665}
33666
33667// Type sets the optional parameter "type": Select only floodlight
33668// activity groups with the specified floodlight activity group type.
33669//
33670// Possible values:
33671//   "COUNTER"
33672//   "SALE"
33673func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
33674	c.urlParams_.Set("type", type_)
33675	return c
33676}
33677
33678// Fields allows partial responses to be retrieved. See
33679// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33680// for more information.
33681func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
33682	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33683	return c
33684}
33685
33686// IfNoneMatch sets the optional parameter which makes the operation
33687// fail if the object's ETag matches the given value. This is useful for
33688// getting updates only after the object has changed since the last
33689// request. Use googleapi.IsNotModified to check whether the response
33690// error from Do is the result of In-None-Match.
33691func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
33692	c.ifNoneMatch_ = entityTag
33693	return c
33694}
33695
33696// Context sets the context to be used in this call's Do method. Any
33697// pending HTTP request will be aborted if the provided context is
33698// canceled.
33699func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
33700	c.ctx_ = ctx
33701	return c
33702}
33703
33704// Header returns an http.Header that can be modified by the caller to
33705// add HTTP headers to the request.
33706func (c *FloodlightActivityGroupsListCall) Header() http.Header {
33707	if c.header_ == nil {
33708		c.header_ = make(http.Header)
33709	}
33710	return c.header_
33711}
33712
33713func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
33714	reqHeaders := make(http.Header)
33715	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
33716	for k, v := range c.header_ {
33717		reqHeaders[k] = v
33718	}
33719	reqHeaders.Set("User-Agent", c.s.userAgent())
33720	if c.ifNoneMatch_ != "" {
33721		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33722	}
33723	var body io.Reader = nil
33724	c.urlParams_.Set("alt", alt)
33725	c.urlParams_.Set("prettyPrint", "false")
33726	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33727	urls += "?" + c.urlParams_.Encode()
33728	req, err := http.NewRequest("GET", urls, body)
33729	if err != nil {
33730		return nil, err
33731	}
33732	req.Header = reqHeaders
33733	googleapi.Expand(req.URL, map[string]string{
33734		"profileId": strconv.FormatInt(c.profileId, 10),
33735	})
33736	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33737}
33738
33739// Do executes the "dfareporting.floodlightActivityGroups.list" call.
33740// Exactly one of *FloodlightActivityGroupsListResponse or error will be
33741// non-nil. Any non-2xx status code is an error. Response headers are in
33742// either *FloodlightActivityGroupsListResponse.ServerResponse.Header or
33743// (if a response was returned at all) in
33744// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
33745// whether the returned error was because http.StatusNotModified was
33746// returned.
33747func (c *FloodlightActivityGroupsListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroupsListResponse, error) {
33748	gensupport.SetOptions(c.urlParams_, opts...)
33749	res, err := c.doRequest("json")
33750	if res != nil && res.StatusCode == http.StatusNotModified {
33751		if res.Body != nil {
33752			res.Body.Close()
33753		}
33754		return nil, &googleapi.Error{
33755			Code:   res.StatusCode,
33756			Header: res.Header,
33757		}
33758	}
33759	if err != nil {
33760		return nil, err
33761	}
33762	defer googleapi.CloseBody(res)
33763	if err := googleapi.CheckResponse(res); err != nil {
33764		return nil, err
33765	}
33766	ret := &FloodlightActivityGroupsListResponse{
33767		ServerResponse: googleapi.ServerResponse{
33768			Header:         res.Header,
33769			HTTPStatusCode: res.StatusCode,
33770		},
33771	}
33772	target := &ret
33773	if err := gensupport.DecodeResponse(target, res); err != nil {
33774		return nil, err
33775	}
33776	return ret, nil
33777	// {
33778	//   "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
33779	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
33780	//   "httpMethod": "GET",
33781	//   "id": "dfareporting.floodlightActivityGroups.list",
33782	//   "parameterOrder": [
33783	//     "profileId"
33784	//   ],
33785	//   "parameters": {
33786	//     "advertiserId": {
33787	//       "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
33788	//       "format": "int64",
33789	//       "location": "query",
33790	//       "type": "string"
33791	//     },
33792	//     "floodlightConfigurationId": {
33793	//       "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.",
33794	//       "format": "int64",
33795	//       "location": "query",
33796	//       "type": "string"
33797	//     },
33798	//     "ids": {
33799	//       "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
33800	//       "format": "int64",
33801	//       "location": "query",
33802	//       "repeated": true,
33803	//       "type": "string"
33804	//     },
33805	//     "maxResults": {
33806	//       "default": "1000",
33807	//       "description": "Maximum number of results to return.",
33808	//       "format": "int32",
33809	//       "location": "query",
33810	//       "maximum": "1000",
33811	//       "minimum": "0",
33812	//       "type": "integer"
33813	//     },
33814	//     "pageToken": {
33815	//       "description": "Value of the nextPageToken from the previous result page.",
33816	//       "location": "query",
33817	//       "type": "string"
33818	//     },
33819	//     "profileId": {
33820	//       "description": "User profile ID associated with this request.",
33821	//       "format": "int64",
33822	//       "location": "path",
33823	//       "required": true,
33824	//       "type": "string"
33825	//     },
33826	//     "searchString": {
33827	//       "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\".",
33828	//       "location": "query",
33829	//       "type": "string"
33830	//     },
33831	//     "sortField": {
33832	//       "default": "ID",
33833	//       "description": "Field by which to sort the list.",
33834	//       "enum": [
33835	//         "ID",
33836	//         "NAME"
33837	//       ],
33838	//       "enumDescriptions": [
33839	//         "",
33840	//         ""
33841	//       ],
33842	//       "location": "query",
33843	//       "type": "string"
33844	//     },
33845	//     "sortOrder": {
33846	//       "default": "ASCENDING",
33847	//       "description": "Order of sorted results.",
33848	//       "enum": [
33849	//         "ASCENDING",
33850	//         "DESCENDING"
33851	//       ],
33852	//       "enumDescriptions": [
33853	//         "",
33854	//         ""
33855	//       ],
33856	//       "location": "query",
33857	//       "type": "string"
33858	//     },
33859	//     "type": {
33860	//       "description": "Select only floodlight activity groups with the specified floodlight activity group type.",
33861	//       "enum": [
33862	//         "COUNTER",
33863	//         "SALE"
33864	//       ],
33865	//       "enumDescriptions": [
33866	//         "",
33867	//         ""
33868	//       ],
33869	//       "location": "query",
33870	//       "type": "string"
33871	//     }
33872	//   },
33873	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
33874	//   "response": {
33875	//     "$ref": "FloodlightActivityGroupsListResponse"
33876	//   },
33877	//   "scopes": [
33878	//     "https://www.googleapis.com/auth/dfatrafficking"
33879	//   ]
33880	// }
33881
33882}
33883
33884// Pages invokes f for each page of results.
33885// A non-nil error returned from f will halt the iteration.
33886// The provided context supersedes any context provided to the Context method.
33887func (c *FloodlightActivityGroupsListCall) Pages(ctx context.Context, f func(*FloodlightActivityGroupsListResponse) error) error {
33888	c.ctx_ = ctx
33889	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
33890	for {
33891		x, err := c.Do()
33892		if err != nil {
33893			return err
33894		}
33895		if err := f(x); err != nil {
33896			return err
33897		}
33898		if x.NextPageToken == "" {
33899			return nil
33900		}
33901		c.PageToken(x.NextPageToken)
33902	}
33903}
33904
33905// method id "dfareporting.floodlightActivityGroups.patch":
33906
33907type FloodlightActivityGroupsPatchCall struct {
33908	s                       *Service
33909	profileId               int64
33910	floodlightactivitygroup *FloodlightActivityGroup
33911	urlParams_              gensupport.URLParams
33912	ctx_                    context.Context
33913	header_                 http.Header
33914}
33915
33916// Patch: Updates an existing floodlight activity group. This method
33917// supports patch semantics.
33918//
33919// - id: FloodlightActivityGroup ID.
33920// - profileId: User profile ID associated with this request.
33921func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
33922	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33923	c.profileId = profileId
33924	c.urlParams_.Set("id", fmt.Sprint(id))
33925	c.floodlightactivitygroup = floodlightactivitygroup
33926	return c
33927}
33928
33929// Fields allows partial responses to be retrieved. See
33930// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33931// for more information.
33932func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
33933	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33934	return c
33935}
33936
33937// Context sets the context to be used in this call's Do method. Any
33938// pending HTTP request will be aborted if the provided context is
33939// canceled.
33940func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
33941	c.ctx_ = ctx
33942	return c
33943}
33944
33945// Header returns an http.Header that can be modified by the caller to
33946// add HTTP headers to the request.
33947func (c *FloodlightActivityGroupsPatchCall) Header() http.Header {
33948	if c.header_ == nil {
33949		c.header_ = make(http.Header)
33950	}
33951	return c.header_
33952}
33953
33954func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
33955	reqHeaders := make(http.Header)
33956	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
33957	for k, v := range c.header_ {
33958		reqHeaders[k] = v
33959	}
33960	reqHeaders.Set("User-Agent", c.s.userAgent())
33961	var body io.Reader = nil
33962	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
33963	if err != nil {
33964		return nil, err
33965	}
33966	reqHeaders.Set("Content-Type", "application/json")
33967	c.urlParams_.Set("alt", alt)
33968	c.urlParams_.Set("prettyPrint", "false")
33969	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33970	urls += "?" + c.urlParams_.Encode()
33971	req, err := http.NewRequest("PATCH", urls, body)
33972	if err != nil {
33973		return nil, err
33974	}
33975	req.Header = reqHeaders
33976	googleapi.Expand(req.URL, map[string]string{
33977		"profileId": strconv.FormatInt(c.profileId, 10),
33978	})
33979	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33980}
33981
33982// Do executes the "dfareporting.floodlightActivityGroups.patch" call.
33983// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33984// non-2xx status code is an error. Response headers are in either
33985// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33986// returned at all) in error.(*googleapi.Error).Header. Use
33987// googleapi.IsNotModified to check whether the returned error was
33988// because http.StatusNotModified was returned.
33989func (c *FloodlightActivityGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33990	gensupport.SetOptions(c.urlParams_, opts...)
33991	res, err := c.doRequest("json")
33992	if res != nil && res.StatusCode == http.StatusNotModified {
33993		if res.Body != nil {
33994			res.Body.Close()
33995		}
33996		return nil, &googleapi.Error{
33997			Code:   res.StatusCode,
33998			Header: res.Header,
33999		}
34000	}
34001	if err != nil {
34002		return nil, err
34003	}
34004	defer googleapi.CloseBody(res)
34005	if err := googleapi.CheckResponse(res); err != nil {
34006		return nil, err
34007	}
34008	ret := &FloodlightActivityGroup{
34009		ServerResponse: googleapi.ServerResponse{
34010			Header:         res.Header,
34011			HTTPStatusCode: res.StatusCode,
34012		},
34013	}
34014	target := &ret
34015	if err := gensupport.DecodeResponse(target, res); err != nil {
34016		return nil, err
34017	}
34018	return ret, nil
34019	// {
34020	//   "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
34021	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
34022	//   "httpMethod": "PATCH",
34023	//   "id": "dfareporting.floodlightActivityGroups.patch",
34024	//   "parameterOrder": [
34025	//     "profileId",
34026	//     "id"
34027	//   ],
34028	//   "parameters": {
34029	//     "id": {
34030	//       "description": "FloodlightActivityGroup ID.",
34031	//       "format": "int64",
34032	//       "location": "query",
34033	//       "required": true,
34034	//       "type": "string"
34035	//     },
34036	//     "profileId": {
34037	//       "description": "User profile ID associated with this request.",
34038	//       "format": "int64",
34039	//       "location": "path",
34040	//       "required": true,
34041	//       "type": "string"
34042	//     }
34043	//   },
34044	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
34045	//   "request": {
34046	//     "$ref": "FloodlightActivityGroup"
34047	//   },
34048	//   "response": {
34049	//     "$ref": "FloodlightActivityGroup"
34050	//   },
34051	//   "scopes": [
34052	//     "https://www.googleapis.com/auth/dfatrafficking"
34053	//   ]
34054	// }
34055
34056}
34057
34058// method id "dfareporting.floodlightActivityGroups.update":
34059
34060type FloodlightActivityGroupsUpdateCall struct {
34061	s                       *Service
34062	profileId               int64
34063	floodlightactivitygroup *FloodlightActivityGroup
34064	urlParams_              gensupport.URLParams
34065	ctx_                    context.Context
34066	header_                 http.Header
34067}
34068
34069// Update: Updates an existing floodlight activity group.
34070//
34071// - profileId: User profile ID associated with this request.
34072func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
34073	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34074	c.profileId = profileId
34075	c.floodlightactivitygroup = floodlightactivitygroup
34076	return c
34077}
34078
34079// Fields allows partial responses to be retrieved. See
34080// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34081// for more information.
34082func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
34083	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34084	return c
34085}
34086
34087// Context sets the context to be used in this call's Do method. Any
34088// pending HTTP request will be aborted if the provided context is
34089// canceled.
34090func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
34091	c.ctx_ = ctx
34092	return c
34093}
34094
34095// Header returns an http.Header that can be modified by the caller to
34096// add HTTP headers to the request.
34097func (c *FloodlightActivityGroupsUpdateCall) Header() http.Header {
34098	if c.header_ == nil {
34099		c.header_ = make(http.Header)
34100	}
34101	return c.header_
34102}
34103
34104func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
34105	reqHeaders := make(http.Header)
34106	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
34107	for k, v := range c.header_ {
34108		reqHeaders[k] = v
34109	}
34110	reqHeaders.Set("User-Agent", c.s.userAgent())
34111	var body io.Reader = nil
34112	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
34113	if err != nil {
34114		return nil, err
34115	}
34116	reqHeaders.Set("Content-Type", "application/json")
34117	c.urlParams_.Set("alt", alt)
34118	c.urlParams_.Set("prettyPrint", "false")
34119	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
34120	urls += "?" + c.urlParams_.Encode()
34121	req, err := http.NewRequest("PUT", urls, body)
34122	if err != nil {
34123		return nil, err
34124	}
34125	req.Header = reqHeaders
34126	googleapi.Expand(req.URL, map[string]string{
34127		"profileId": strconv.FormatInt(c.profileId, 10),
34128	})
34129	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34130}
34131
34132// Do executes the "dfareporting.floodlightActivityGroups.update" call.
34133// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
34134// non-2xx status code is an error. Response headers are in either
34135// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
34136// returned at all) in error.(*googleapi.Error).Header. Use
34137// googleapi.IsNotModified to check whether the returned error was
34138// because http.StatusNotModified was returned.
34139func (c *FloodlightActivityGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
34140	gensupport.SetOptions(c.urlParams_, opts...)
34141	res, err := c.doRequest("json")
34142	if res != nil && res.StatusCode == http.StatusNotModified {
34143		if res.Body != nil {
34144			res.Body.Close()
34145		}
34146		return nil, &googleapi.Error{
34147			Code:   res.StatusCode,
34148			Header: res.Header,
34149		}
34150	}
34151	if err != nil {
34152		return nil, err
34153	}
34154	defer googleapi.CloseBody(res)
34155	if err := googleapi.CheckResponse(res); err != nil {
34156		return nil, err
34157	}
34158	ret := &FloodlightActivityGroup{
34159		ServerResponse: googleapi.ServerResponse{
34160			Header:         res.Header,
34161			HTTPStatusCode: res.StatusCode,
34162		},
34163	}
34164	target := &ret
34165	if err := gensupport.DecodeResponse(target, res); err != nil {
34166		return nil, err
34167	}
34168	return ret, nil
34169	// {
34170	//   "description": "Updates an existing floodlight activity group.",
34171	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
34172	//   "httpMethod": "PUT",
34173	//   "id": "dfareporting.floodlightActivityGroups.update",
34174	//   "parameterOrder": [
34175	//     "profileId"
34176	//   ],
34177	//   "parameters": {
34178	//     "profileId": {
34179	//       "description": "User profile ID associated with this request.",
34180	//       "format": "int64",
34181	//       "location": "path",
34182	//       "required": true,
34183	//       "type": "string"
34184	//     }
34185	//   },
34186	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
34187	//   "request": {
34188	//     "$ref": "FloodlightActivityGroup"
34189	//   },
34190	//   "response": {
34191	//     "$ref": "FloodlightActivityGroup"
34192	//   },
34193	//   "scopes": [
34194	//     "https://www.googleapis.com/auth/dfatrafficking"
34195	//   ]
34196	// }
34197
34198}
34199
34200// method id "dfareporting.floodlightConfigurations.get":
34201
34202type FloodlightConfigurationsGetCall struct {
34203	s            *Service
34204	profileId    int64
34205	id           int64
34206	urlParams_   gensupport.URLParams
34207	ifNoneMatch_ string
34208	ctx_         context.Context
34209	header_      http.Header
34210}
34211
34212// Get: Gets one floodlight configuration by ID.
34213//
34214// - id: Floodlight configuration ID.
34215// - profileId: User profile ID associated with this request.
34216func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
34217	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34218	c.profileId = profileId
34219	c.id = id
34220	return c
34221}
34222
34223// Fields allows partial responses to be retrieved. See
34224// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34225// for more information.
34226func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
34227	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34228	return c
34229}
34230
34231// IfNoneMatch sets the optional parameter which makes the operation
34232// fail if the object's ETag matches the given value. This is useful for
34233// getting updates only after the object has changed since the last
34234// request. Use googleapi.IsNotModified to check whether the response
34235// error from Do is the result of In-None-Match.
34236func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
34237	c.ifNoneMatch_ = entityTag
34238	return c
34239}
34240
34241// Context sets the context to be used in this call's Do method. Any
34242// pending HTTP request will be aborted if the provided context is
34243// canceled.
34244func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
34245	c.ctx_ = ctx
34246	return c
34247}
34248
34249// Header returns an http.Header that can be modified by the caller to
34250// add HTTP headers to the request.
34251func (c *FloodlightConfigurationsGetCall) Header() http.Header {
34252	if c.header_ == nil {
34253		c.header_ = make(http.Header)
34254	}
34255	return c.header_
34256}
34257
34258func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
34259	reqHeaders := make(http.Header)
34260	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
34261	for k, v := range c.header_ {
34262		reqHeaders[k] = v
34263	}
34264	reqHeaders.Set("User-Agent", c.s.userAgent())
34265	if c.ifNoneMatch_ != "" {
34266		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34267	}
34268	var body io.Reader = nil
34269	c.urlParams_.Set("alt", alt)
34270	c.urlParams_.Set("prettyPrint", "false")
34271	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
34272	urls += "?" + c.urlParams_.Encode()
34273	req, err := http.NewRequest("GET", urls, body)
34274	if err != nil {
34275		return nil, err
34276	}
34277	req.Header = reqHeaders
34278	googleapi.Expand(req.URL, map[string]string{
34279		"profileId": strconv.FormatInt(c.profileId, 10),
34280		"id":        strconv.FormatInt(c.id, 10),
34281	})
34282	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34283}
34284
34285// Do executes the "dfareporting.floodlightConfigurations.get" call.
34286// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34287// non-2xx status code is an error. Response headers are in either
34288// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34289// returned at all) in error.(*googleapi.Error).Header. Use
34290// googleapi.IsNotModified to check whether the returned error was
34291// because http.StatusNotModified was returned.
34292func (c *FloodlightConfigurationsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34293	gensupport.SetOptions(c.urlParams_, opts...)
34294	res, err := c.doRequest("json")
34295	if res != nil && res.StatusCode == http.StatusNotModified {
34296		if res.Body != nil {
34297			res.Body.Close()
34298		}
34299		return nil, &googleapi.Error{
34300			Code:   res.StatusCode,
34301			Header: res.Header,
34302		}
34303	}
34304	if err != nil {
34305		return nil, err
34306	}
34307	defer googleapi.CloseBody(res)
34308	if err := googleapi.CheckResponse(res); err != nil {
34309		return nil, err
34310	}
34311	ret := &FloodlightConfiguration{
34312		ServerResponse: googleapi.ServerResponse{
34313			Header:         res.Header,
34314			HTTPStatusCode: res.StatusCode,
34315		},
34316	}
34317	target := &ret
34318	if err := gensupport.DecodeResponse(target, res); err != nil {
34319		return nil, err
34320	}
34321	return ret, nil
34322	// {
34323	//   "description": "Gets one floodlight configuration by ID.",
34324	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations/{id}",
34325	//   "httpMethod": "GET",
34326	//   "id": "dfareporting.floodlightConfigurations.get",
34327	//   "parameterOrder": [
34328	//     "profileId",
34329	//     "id"
34330	//   ],
34331	//   "parameters": {
34332	//     "id": {
34333	//       "description": "Floodlight configuration ID.",
34334	//       "format": "int64",
34335	//       "location": "path",
34336	//       "required": true,
34337	//       "type": "string"
34338	//     },
34339	//     "profileId": {
34340	//       "description": "User profile ID associated with this request.",
34341	//       "format": "int64",
34342	//       "location": "path",
34343	//       "required": true,
34344	//       "type": "string"
34345	//     }
34346	//   },
34347	//   "path": "userprofiles/{profileId}/floodlightConfigurations/{id}",
34348	//   "response": {
34349	//     "$ref": "FloodlightConfiguration"
34350	//   },
34351	//   "scopes": [
34352	//     "https://www.googleapis.com/auth/dfatrafficking"
34353	//   ]
34354	// }
34355
34356}
34357
34358// method id "dfareporting.floodlightConfigurations.list":
34359
34360type FloodlightConfigurationsListCall struct {
34361	s            *Service
34362	profileId    int64
34363	urlParams_   gensupport.URLParams
34364	ifNoneMatch_ string
34365	ctx_         context.Context
34366	header_      http.Header
34367}
34368
34369// List: Retrieves a list of floodlight configurations, possibly
34370// filtered.
34371//
34372// - profileId: User profile ID associated with this request.
34373func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
34374	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34375	c.profileId = profileId
34376	return c
34377}
34378
34379// Ids sets the optional parameter "ids": Set of IDs of floodlight
34380// configurations to retrieve. Required field; otherwise an empty list
34381// will be returned.
34382func (c *FloodlightConfigurationsListCall) Ids(ids ...int64) *FloodlightConfigurationsListCall {
34383	var ids_ []string
34384	for _, v := range ids {
34385		ids_ = append(ids_, fmt.Sprint(v))
34386	}
34387	c.urlParams_.SetMulti("ids", ids_)
34388	return c
34389}
34390
34391// Fields allows partial responses to be retrieved. See
34392// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34393// for more information.
34394func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
34395	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34396	return c
34397}
34398
34399// IfNoneMatch sets the optional parameter which makes the operation
34400// fail if the object's ETag matches the given value. This is useful for
34401// getting updates only after the object has changed since the last
34402// request. Use googleapi.IsNotModified to check whether the response
34403// error from Do is the result of In-None-Match.
34404func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
34405	c.ifNoneMatch_ = entityTag
34406	return c
34407}
34408
34409// Context sets the context to be used in this call's Do method. Any
34410// pending HTTP request will be aborted if the provided context is
34411// canceled.
34412func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
34413	c.ctx_ = ctx
34414	return c
34415}
34416
34417// Header returns an http.Header that can be modified by the caller to
34418// add HTTP headers to the request.
34419func (c *FloodlightConfigurationsListCall) Header() http.Header {
34420	if c.header_ == nil {
34421		c.header_ = make(http.Header)
34422	}
34423	return c.header_
34424}
34425
34426func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
34427	reqHeaders := make(http.Header)
34428	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
34429	for k, v := range c.header_ {
34430		reqHeaders[k] = v
34431	}
34432	reqHeaders.Set("User-Agent", c.s.userAgent())
34433	if c.ifNoneMatch_ != "" {
34434		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34435	}
34436	var body io.Reader = nil
34437	c.urlParams_.Set("alt", alt)
34438	c.urlParams_.Set("prettyPrint", "false")
34439	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34440	urls += "?" + c.urlParams_.Encode()
34441	req, err := http.NewRequest("GET", urls, body)
34442	if err != nil {
34443		return nil, err
34444	}
34445	req.Header = reqHeaders
34446	googleapi.Expand(req.URL, map[string]string{
34447		"profileId": strconv.FormatInt(c.profileId, 10),
34448	})
34449	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34450}
34451
34452// Do executes the "dfareporting.floodlightConfigurations.list" call.
34453// Exactly one of *FloodlightConfigurationsListResponse or error will be
34454// non-nil. Any non-2xx status code is an error. Response headers are in
34455// either *FloodlightConfigurationsListResponse.ServerResponse.Header or
34456// (if a response was returned at all) in
34457// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
34458// whether the returned error was because http.StatusNotModified was
34459// returned.
34460func (c *FloodlightConfigurationsListCall) Do(opts ...googleapi.CallOption) (*FloodlightConfigurationsListResponse, error) {
34461	gensupport.SetOptions(c.urlParams_, opts...)
34462	res, err := c.doRequest("json")
34463	if res != nil && res.StatusCode == http.StatusNotModified {
34464		if res.Body != nil {
34465			res.Body.Close()
34466		}
34467		return nil, &googleapi.Error{
34468			Code:   res.StatusCode,
34469			Header: res.Header,
34470		}
34471	}
34472	if err != nil {
34473		return nil, err
34474	}
34475	defer googleapi.CloseBody(res)
34476	if err := googleapi.CheckResponse(res); err != nil {
34477		return nil, err
34478	}
34479	ret := &FloodlightConfigurationsListResponse{
34480		ServerResponse: googleapi.ServerResponse{
34481			Header:         res.Header,
34482			HTTPStatusCode: res.StatusCode,
34483		},
34484	}
34485	target := &ret
34486	if err := gensupport.DecodeResponse(target, res); err != nil {
34487		return nil, err
34488	}
34489	return ret, nil
34490	// {
34491	//   "description": "Retrieves a list of floodlight configurations, possibly filtered.",
34492	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
34493	//   "httpMethod": "GET",
34494	//   "id": "dfareporting.floodlightConfigurations.list",
34495	//   "parameterOrder": [
34496	//     "profileId"
34497	//   ],
34498	//   "parameters": {
34499	//     "ids": {
34500	//       "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.",
34501	//       "format": "int64",
34502	//       "location": "query",
34503	//       "repeated": true,
34504	//       "type": "string"
34505	//     },
34506	//     "profileId": {
34507	//       "description": "User profile ID associated with this request.",
34508	//       "format": "int64",
34509	//       "location": "path",
34510	//       "required": true,
34511	//       "type": "string"
34512	//     }
34513	//   },
34514	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34515	//   "response": {
34516	//     "$ref": "FloodlightConfigurationsListResponse"
34517	//   },
34518	//   "scopes": [
34519	//     "https://www.googleapis.com/auth/dfatrafficking"
34520	//   ]
34521	// }
34522
34523}
34524
34525// method id "dfareporting.floodlightConfigurations.patch":
34526
34527type FloodlightConfigurationsPatchCall struct {
34528	s                       *Service
34529	profileId               int64
34530	floodlightconfiguration *FloodlightConfiguration
34531	urlParams_              gensupport.URLParams
34532	ctx_                    context.Context
34533	header_                 http.Header
34534}
34535
34536// Patch: Updates an existing floodlight configuration. This method
34537// supports patch semantics.
34538//
34539// - id: FloodlightConfiguration ID.
34540// - profileId: User profile ID associated with this request.
34541func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
34542	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34543	c.profileId = profileId
34544	c.urlParams_.Set("id", fmt.Sprint(id))
34545	c.floodlightconfiguration = floodlightconfiguration
34546	return c
34547}
34548
34549// Fields allows partial responses to be retrieved. See
34550// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34551// for more information.
34552func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
34553	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34554	return c
34555}
34556
34557// Context sets the context to be used in this call's Do method. Any
34558// pending HTTP request will be aborted if the provided context is
34559// canceled.
34560func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
34561	c.ctx_ = ctx
34562	return c
34563}
34564
34565// Header returns an http.Header that can be modified by the caller to
34566// add HTTP headers to the request.
34567func (c *FloodlightConfigurationsPatchCall) Header() http.Header {
34568	if c.header_ == nil {
34569		c.header_ = make(http.Header)
34570	}
34571	return c.header_
34572}
34573
34574func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
34575	reqHeaders := make(http.Header)
34576	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
34577	for k, v := range c.header_ {
34578		reqHeaders[k] = v
34579	}
34580	reqHeaders.Set("User-Agent", c.s.userAgent())
34581	var body io.Reader = nil
34582	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
34583	if err != nil {
34584		return nil, err
34585	}
34586	reqHeaders.Set("Content-Type", "application/json")
34587	c.urlParams_.Set("alt", alt)
34588	c.urlParams_.Set("prettyPrint", "false")
34589	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34590	urls += "?" + c.urlParams_.Encode()
34591	req, err := http.NewRequest("PATCH", urls, body)
34592	if err != nil {
34593		return nil, err
34594	}
34595	req.Header = reqHeaders
34596	googleapi.Expand(req.URL, map[string]string{
34597		"profileId": strconv.FormatInt(c.profileId, 10),
34598	})
34599	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34600}
34601
34602// Do executes the "dfareporting.floodlightConfigurations.patch" call.
34603// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34604// non-2xx status code is an error. Response headers are in either
34605// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34606// returned at all) in error.(*googleapi.Error).Header. Use
34607// googleapi.IsNotModified to check whether the returned error was
34608// because http.StatusNotModified was returned.
34609func (c *FloodlightConfigurationsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34610	gensupport.SetOptions(c.urlParams_, opts...)
34611	res, err := c.doRequest("json")
34612	if res != nil && res.StatusCode == http.StatusNotModified {
34613		if res.Body != nil {
34614			res.Body.Close()
34615		}
34616		return nil, &googleapi.Error{
34617			Code:   res.StatusCode,
34618			Header: res.Header,
34619		}
34620	}
34621	if err != nil {
34622		return nil, err
34623	}
34624	defer googleapi.CloseBody(res)
34625	if err := googleapi.CheckResponse(res); err != nil {
34626		return nil, err
34627	}
34628	ret := &FloodlightConfiguration{
34629		ServerResponse: googleapi.ServerResponse{
34630			Header:         res.Header,
34631			HTTPStatusCode: res.StatusCode,
34632		},
34633	}
34634	target := &ret
34635	if err := gensupport.DecodeResponse(target, res); err != nil {
34636		return nil, err
34637	}
34638	return ret, nil
34639	// {
34640	//   "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
34641	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
34642	//   "httpMethod": "PATCH",
34643	//   "id": "dfareporting.floodlightConfigurations.patch",
34644	//   "parameterOrder": [
34645	//     "profileId",
34646	//     "id"
34647	//   ],
34648	//   "parameters": {
34649	//     "id": {
34650	//       "description": "FloodlightConfiguration ID.",
34651	//       "format": "int64",
34652	//       "location": "query",
34653	//       "required": true,
34654	//       "type": "string"
34655	//     },
34656	//     "profileId": {
34657	//       "description": "User profile ID associated with this request.",
34658	//       "format": "int64",
34659	//       "location": "path",
34660	//       "required": true,
34661	//       "type": "string"
34662	//     }
34663	//   },
34664	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34665	//   "request": {
34666	//     "$ref": "FloodlightConfiguration"
34667	//   },
34668	//   "response": {
34669	//     "$ref": "FloodlightConfiguration"
34670	//   },
34671	//   "scopes": [
34672	//     "https://www.googleapis.com/auth/dfatrafficking"
34673	//   ]
34674	// }
34675
34676}
34677
34678// method id "dfareporting.floodlightConfigurations.update":
34679
34680type FloodlightConfigurationsUpdateCall struct {
34681	s                       *Service
34682	profileId               int64
34683	floodlightconfiguration *FloodlightConfiguration
34684	urlParams_              gensupport.URLParams
34685	ctx_                    context.Context
34686	header_                 http.Header
34687}
34688
34689// Update: Updates an existing floodlight configuration.
34690//
34691// - profileId: User profile ID associated with this request.
34692func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
34693	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34694	c.profileId = profileId
34695	c.floodlightconfiguration = floodlightconfiguration
34696	return c
34697}
34698
34699// Fields allows partial responses to be retrieved. See
34700// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34701// for more information.
34702func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
34703	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34704	return c
34705}
34706
34707// Context sets the context to be used in this call's Do method. Any
34708// pending HTTP request will be aborted if the provided context is
34709// canceled.
34710func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
34711	c.ctx_ = ctx
34712	return c
34713}
34714
34715// Header returns an http.Header that can be modified by the caller to
34716// add HTTP headers to the request.
34717func (c *FloodlightConfigurationsUpdateCall) Header() http.Header {
34718	if c.header_ == nil {
34719		c.header_ = make(http.Header)
34720	}
34721	return c.header_
34722}
34723
34724func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
34725	reqHeaders := make(http.Header)
34726	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
34727	for k, v := range c.header_ {
34728		reqHeaders[k] = v
34729	}
34730	reqHeaders.Set("User-Agent", c.s.userAgent())
34731	var body io.Reader = nil
34732	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
34733	if err != nil {
34734		return nil, err
34735	}
34736	reqHeaders.Set("Content-Type", "application/json")
34737	c.urlParams_.Set("alt", alt)
34738	c.urlParams_.Set("prettyPrint", "false")
34739	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34740	urls += "?" + c.urlParams_.Encode()
34741	req, err := http.NewRequest("PUT", urls, body)
34742	if err != nil {
34743		return nil, err
34744	}
34745	req.Header = reqHeaders
34746	googleapi.Expand(req.URL, map[string]string{
34747		"profileId": strconv.FormatInt(c.profileId, 10),
34748	})
34749	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34750}
34751
34752// Do executes the "dfareporting.floodlightConfigurations.update" call.
34753// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34754// non-2xx status code is an error. Response headers are in either
34755// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34756// returned at all) in error.(*googleapi.Error).Header. Use
34757// googleapi.IsNotModified to check whether the returned error was
34758// because http.StatusNotModified was returned.
34759func (c *FloodlightConfigurationsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34760	gensupport.SetOptions(c.urlParams_, opts...)
34761	res, err := c.doRequest("json")
34762	if res != nil && res.StatusCode == http.StatusNotModified {
34763		if res.Body != nil {
34764			res.Body.Close()
34765		}
34766		return nil, &googleapi.Error{
34767			Code:   res.StatusCode,
34768			Header: res.Header,
34769		}
34770	}
34771	if err != nil {
34772		return nil, err
34773	}
34774	defer googleapi.CloseBody(res)
34775	if err := googleapi.CheckResponse(res); err != nil {
34776		return nil, err
34777	}
34778	ret := &FloodlightConfiguration{
34779		ServerResponse: googleapi.ServerResponse{
34780			Header:         res.Header,
34781			HTTPStatusCode: res.StatusCode,
34782		},
34783	}
34784	target := &ret
34785	if err := gensupport.DecodeResponse(target, res); err != nil {
34786		return nil, err
34787	}
34788	return ret, nil
34789	// {
34790	//   "description": "Updates an existing floodlight configuration.",
34791	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
34792	//   "httpMethod": "PUT",
34793	//   "id": "dfareporting.floodlightConfigurations.update",
34794	//   "parameterOrder": [
34795	//     "profileId"
34796	//   ],
34797	//   "parameters": {
34798	//     "profileId": {
34799	//       "description": "User profile ID associated with this request.",
34800	//       "format": "int64",
34801	//       "location": "path",
34802	//       "required": true,
34803	//       "type": "string"
34804	//     }
34805	//   },
34806	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34807	//   "request": {
34808	//     "$ref": "FloodlightConfiguration"
34809	//   },
34810	//   "response": {
34811	//     "$ref": "FloodlightConfiguration"
34812	//   },
34813	//   "scopes": [
34814	//     "https://www.googleapis.com/auth/dfatrafficking"
34815	//   ]
34816	// }
34817
34818}
34819
34820// method id "dfareporting.inventoryItems.get":
34821
34822type InventoryItemsGetCall struct {
34823	s            *Service
34824	profileId    int64
34825	projectId    int64
34826	id           int64
34827	urlParams_   gensupport.URLParams
34828	ifNoneMatch_ string
34829	ctx_         context.Context
34830	header_      http.Header
34831}
34832
34833// Get: Gets one inventory item by ID.
34834//
34835// - id: Inventory item ID.
34836// - profileId: User profile ID associated with this request.
34837// - projectId: Project ID for order documents.
34838func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
34839	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34840	c.profileId = profileId
34841	c.projectId = projectId
34842	c.id = id
34843	return c
34844}
34845
34846// Fields allows partial responses to be retrieved. See
34847// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34848// for more information.
34849func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
34850	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34851	return c
34852}
34853
34854// IfNoneMatch sets the optional parameter which makes the operation
34855// fail if the object's ETag matches the given value. This is useful for
34856// getting updates only after the object has changed since the last
34857// request. Use googleapi.IsNotModified to check whether the response
34858// error from Do is the result of In-None-Match.
34859func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
34860	c.ifNoneMatch_ = entityTag
34861	return c
34862}
34863
34864// Context sets the context to be used in this call's Do method. Any
34865// pending HTTP request will be aborted if the provided context is
34866// canceled.
34867func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
34868	c.ctx_ = ctx
34869	return c
34870}
34871
34872// Header returns an http.Header that can be modified by the caller to
34873// add HTTP headers to the request.
34874func (c *InventoryItemsGetCall) Header() http.Header {
34875	if c.header_ == nil {
34876		c.header_ = make(http.Header)
34877	}
34878	return c.header_
34879}
34880
34881func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
34882	reqHeaders := make(http.Header)
34883	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
34884	for k, v := range c.header_ {
34885		reqHeaders[k] = v
34886	}
34887	reqHeaders.Set("User-Agent", c.s.userAgent())
34888	if c.ifNoneMatch_ != "" {
34889		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34890	}
34891	var body io.Reader = nil
34892	c.urlParams_.Set("alt", alt)
34893	c.urlParams_.Set("prettyPrint", "false")
34894	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
34895	urls += "?" + c.urlParams_.Encode()
34896	req, err := http.NewRequest("GET", urls, body)
34897	if err != nil {
34898		return nil, err
34899	}
34900	req.Header = reqHeaders
34901	googleapi.Expand(req.URL, map[string]string{
34902		"profileId": strconv.FormatInt(c.profileId, 10),
34903		"projectId": strconv.FormatInt(c.projectId, 10),
34904		"id":        strconv.FormatInt(c.id, 10),
34905	})
34906	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34907}
34908
34909// Do executes the "dfareporting.inventoryItems.get" call.
34910// Exactly one of *InventoryItem or error will be non-nil. Any non-2xx
34911// status code is an error. Response headers are in either
34912// *InventoryItem.ServerResponse.Header or (if a response was returned
34913// at all) in error.(*googleapi.Error).Header. Use
34914// googleapi.IsNotModified to check whether the returned error was
34915// because http.StatusNotModified was returned.
34916func (c *InventoryItemsGetCall) Do(opts ...googleapi.CallOption) (*InventoryItem, error) {
34917	gensupport.SetOptions(c.urlParams_, opts...)
34918	res, err := c.doRequest("json")
34919	if res != nil && res.StatusCode == http.StatusNotModified {
34920		if res.Body != nil {
34921			res.Body.Close()
34922		}
34923		return nil, &googleapi.Error{
34924			Code:   res.StatusCode,
34925			Header: res.Header,
34926		}
34927	}
34928	if err != nil {
34929		return nil, err
34930	}
34931	defer googleapi.CloseBody(res)
34932	if err := googleapi.CheckResponse(res); err != nil {
34933		return nil, err
34934	}
34935	ret := &InventoryItem{
34936		ServerResponse: googleapi.ServerResponse{
34937			Header:         res.Header,
34938			HTTPStatusCode: res.StatusCode,
34939		},
34940	}
34941	target := &ret
34942	if err := gensupport.DecodeResponse(target, res); err != nil {
34943		return nil, err
34944	}
34945	return ret, nil
34946	// {
34947	//   "description": "Gets one inventory item by ID.",
34948	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
34949	//   "httpMethod": "GET",
34950	//   "id": "dfareporting.inventoryItems.get",
34951	//   "parameterOrder": [
34952	//     "profileId",
34953	//     "projectId",
34954	//     "id"
34955	//   ],
34956	//   "parameters": {
34957	//     "id": {
34958	//       "description": "Inventory item ID.",
34959	//       "format": "int64",
34960	//       "location": "path",
34961	//       "required": true,
34962	//       "type": "string"
34963	//     },
34964	//     "profileId": {
34965	//       "description": "User profile ID associated with this request.",
34966	//       "format": "int64",
34967	//       "location": "path",
34968	//       "required": true,
34969	//       "type": "string"
34970	//     },
34971	//     "projectId": {
34972	//       "description": "Project ID for order documents.",
34973	//       "format": "int64",
34974	//       "location": "path",
34975	//       "required": true,
34976	//       "type": "string"
34977	//     }
34978	//   },
34979	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
34980	//   "response": {
34981	//     "$ref": "InventoryItem"
34982	//   },
34983	//   "scopes": [
34984	//     "https://www.googleapis.com/auth/dfatrafficking"
34985	//   ]
34986	// }
34987
34988}
34989
34990// method id "dfareporting.inventoryItems.list":
34991
34992type InventoryItemsListCall struct {
34993	s            *Service
34994	profileId    int64
34995	projectId    int64
34996	urlParams_   gensupport.URLParams
34997	ifNoneMatch_ string
34998	ctx_         context.Context
34999	header_      http.Header
35000}
35001
35002// List: Retrieves a list of inventory items, possibly filtered. This
35003// method supports paging.
35004//
35005// - profileId: User profile ID associated with this request.
35006// - projectId: Project ID for order documents.
35007func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
35008	c := &InventoryItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35009	c.profileId = profileId
35010	c.projectId = projectId
35011	return c
35012}
35013
35014// Ids sets the optional parameter "ids": Select only inventory items
35015// with these IDs.
35016func (c *InventoryItemsListCall) Ids(ids ...int64) *InventoryItemsListCall {
35017	var ids_ []string
35018	for _, v := range ids {
35019		ids_ = append(ids_, fmt.Sprint(v))
35020	}
35021	c.urlParams_.SetMulti("ids", ids_)
35022	return c
35023}
35024
35025// InPlan sets the optional parameter "inPlan": Select only inventory
35026// items that are in plan.
35027func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
35028	c.urlParams_.Set("inPlan", fmt.Sprint(inPlan))
35029	return c
35030}
35031
35032// MaxResults sets the optional parameter "maxResults": Maximum number
35033// of results to return.
35034func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
35035	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
35036	return c
35037}
35038
35039// OrderId sets the optional parameter "orderId": Select only inventory
35040// items that belong to specified orders.
35041func (c *InventoryItemsListCall) OrderId(orderId ...int64) *InventoryItemsListCall {
35042	var orderId_ []string
35043	for _, v := range orderId {
35044		orderId_ = append(orderId_, fmt.Sprint(v))
35045	}
35046	c.urlParams_.SetMulti("orderId", orderId_)
35047	return c
35048}
35049
35050// PageToken sets the optional parameter "pageToken": Value of the
35051// nextPageToken from the previous result page.
35052func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
35053	c.urlParams_.Set("pageToken", pageToken)
35054	return c
35055}
35056
35057// SiteId sets the optional parameter "siteId": Select only inventory
35058// items that are associated with these sites.
35059func (c *InventoryItemsListCall) SiteId(siteId ...int64) *InventoryItemsListCall {
35060	var siteId_ []string
35061	for _, v := range siteId {
35062		siteId_ = append(siteId_, fmt.Sprint(v))
35063	}
35064	c.urlParams_.SetMulti("siteId", siteId_)
35065	return c
35066}
35067
35068// SortField sets the optional parameter "sortField": Field by which to
35069// sort the list.
35070//
35071// Possible values:
35072//   "ID" (default)
35073//   "NAME"
35074func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
35075	c.urlParams_.Set("sortField", sortField)
35076	return c
35077}
35078
35079// SortOrder sets the optional parameter "sortOrder": Order of sorted
35080// results.
35081//
35082// Possible values:
35083//   "ASCENDING" (default)
35084//   "DESCENDING"
35085func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
35086	c.urlParams_.Set("sortOrder", sortOrder)
35087	return c
35088}
35089
35090// Type sets the optional parameter "type": Select only inventory items
35091// with this type.
35092//
35093// Possible values:
35094//   "PLANNING_PLACEMENT_TYPE_REGULAR"
35095//   "PLANNING_PLACEMENT_TYPE_CREDIT"
35096func (c *InventoryItemsListCall) Type(type_ string) *InventoryItemsListCall {
35097	c.urlParams_.Set("type", type_)
35098	return c
35099}
35100
35101// Fields allows partial responses to be retrieved. See
35102// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35103// for more information.
35104func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
35105	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35106	return c
35107}
35108
35109// IfNoneMatch sets the optional parameter which makes the operation
35110// fail if the object's ETag matches the given value. This is useful for
35111// getting updates only after the object has changed since the last
35112// request. Use googleapi.IsNotModified to check whether the response
35113// error from Do is the result of In-None-Match.
35114func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
35115	c.ifNoneMatch_ = entityTag
35116	return c
35117}
35118
35119// Context sets the context to be used in this call's Do method. Any
35120// pending HTTP request will be aborted if the provided context is
35121// canceled.
35122func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
35123	c.ctx_ = ctx
35124	return c
35125}
35126
35127// Header returns an http.Header that can be modified by the caller to
35128// add HTTP headers to the request.
35129func (c *InventoryItemsListCall) Header() http.Header {
35130	if c.header_ == nil {
35131		c.header_ = make(http.Header)
35132	}
35133	return c.header_
35134}
35135
35136func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
35137	reqHeaders := make(http.Header)
35138	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
35139	for k, v := range c.header_ {
35140		reqHeaders[k] = v
35141	}
35142	reqHeaders.Set("User-Agent", c.s.userAgent())
35143	if c.ifNoneMatch_ != "" {
35144		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35145	}
35146	var body io.Reader = nil
35147	c.urlParams_.Set("alt", alt)
35148	c.urlParams_.Set("prettyPrint", "false")
35149	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
35150	urls += "?" + c.urlParams_.Encode()
35151	req, err := http.NewRequest("GET", urls, body)
35152	if err != nil {
35153		return nil, err
35154	}
35155	req.Header = reqHeaders
35156	googleapi.Expand(req.URL, map[string]string{
35157		"profileId": strconv.FormatInt(c.profileId, 10),
35158		"projectId": strconv.FormatInt(c.projectId, 10),
35159	})
35160	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35161}
35162
35163// Do executes the "dfareporting.inventoryItems.list" call.
35164// Exactly one of *InventoryItemsListResponse or error will be non-nil.
35165// Any non-2xx status code is an error. Response headers are in either
35166// *InventoryItemsListResponse.ServerResponse.Header or (if a response
35167// was returned at all) in error.(*googleapi.Error).Header. Use
35168// googleapi.IsNotModified to check whether the returned error was
35169// because http.StatusNotModified was returned.
35170func (c *InventoryItemsListCall) Do(opts ...googleapi.CallOption) (*InventoryItemsListResponse, error) {
35171	gensupport.SetOptions(c.urlParams_, opts...)
35172	res, err := c.doRequest("json")
35173	if res != nil && res.StatusCode == http.StatusNotModified {
35174		if res.Body != nil {
35175			res.Body.Close()
35176		}
35177		return nil, &googleapi.Error{
35178			Code:   res.StatusCode,
35179			Header: res.Header,
35180		}
35181	}
35182	if err != nil {
35183		return nil, err
35184	}
35185	defer googleapi.CloseBody(res)
35186	if err := googleapi.CheckResponse(res); err != nil {
35187		return nil, err
35188	}
35189	ret := &InventoryItemsListResponse{
35190		ServerResponse: googleapi.ServerResponse{
35191			Header:         res.Header,
35192			HTTPStatusCode: res.StatusCode,
35193		},
35194	}
35195	target := &ret
35196	if err := gensupport.DecodeResponse(target, res); err != nil {
35197		return nil, err
35198	}
35199	return ret, nil
35200	// {
35201	//   "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
35202	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
35203	//   "httpMethod": "GET",
35204	//   "id": "dfareporting.inventoryItems.list",
35205	//   "parameterOrder": [
35206	//     "profileId",
35207	//     "projectId"
35208	//   ],
35209	//   "parameters": {
35210	//     "ids": {
35211	//       "description": "Select only inventory items with these IDs.",
35212	//       "format": "int64",
35213	//       "location": "query",
35214	//       "repeated": true,
35215	//       "type": "string"
35216	//     },
35217	//     "inPlan": {
35218	//       "description": "Select only inventory items that are in plan.",
35219	//       "location": "query",
35220	//       "type": "boolean"
35221	//     },
35222	//     "maxResults": {
35223	//       "default": "1000",
35224	//       "description": "Maximum number of results to return.",
35225	//       "format": "int32",
35226	//       "location": "query",
35227	//       "maximum": "1000",
35228	//       "minimum": "0",
35229	//       "type": "integer"
35230	//     },
35231	//     "orderId": {
35232	//       "description": "Select only inventory items that belong to specified orders.",
35233	//       "format": "int64",
35234	//       "location": "query",
35235	//       "repeated": true,
35236	//       "type": "string"
35237	//     },
35238	//     "pageToken": {
35239	//       "description": "Value of the nextPageToken from the previous result page.",
35240	//       "location": "query",
35241	//       "type": "string"
35242	//     },
35243	//     "profileId": {
35244	//       "description": "User profile ID associated with this request.",
35245	//       "format": "int64",
35246	//       "location": "path",
35247	//       "required": true,
35248	//       "type": "string"
35249	//     },
35250	//     "projectId": {
35251	//       "description": "Project ID for order documents.",
35252	//       "format": "int64",
35253	//       "location": "path",
35254	//       "required": true,
35255	//       "type": "string"
35256	//     },
35257	//     "siteId": {
35258	//       "description": "Select only inventory items that are associated with these sites.",
35259	//       "format": "int64",
35260	//       "location": "query",
35261	//       "repeated": true,
35262	//       "type": "string"
35263	//     },
35264	//     "sortField": {
35265	//       "default": "ID",
35266	//       "description": "Field by which to sort the list.",
35267	//       "enum": [
35268	//         "ID",
35269	//         "NAME"
35270	//       ],
35271	//       "enumDescriptions": [
35272	//         "",
35273	//         ""
35274	//       ],
35275	//       "location": "query",
35276	//       "type": "string"
35277	//     },
35278	//     "sortOrder": {
35279	//       "default": "ASCENDING",
35280	//       "description": "Order of sorted results.",
35281	//       "enum": [
35282	//         "ASCENDING",
35283	//         "DESCENDING"
35284	//       ],
35285	//       "enumDescriptions": [
35286	//         "",
35287	//         ""
35288	//       ],
35289	//       "location": "query",
35290	//       "type": "string"
35291	//     },
35292	//     "type": {
35293	//       "description": "Select only inventory items with this type.",
35294	//       "enum": [
35295	//         "PLANNING_PLACEMENT_TYPE_REGULAR",
35296	//         "PLANNING_PLACEMENT_TYPE_CREDIT"
35297	//       ],
35298	//       "enumDescriptions": [
35299	//         "",
35300	//         ""
35301	//       ],
35302	//       "location": "query",
35303	//       "type": "string"
35304	//     }
35305	//   },
35306	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
35307	//   "response": {
35308	//     "$ref": "InventoryItemsListResponse"
35309	//   },
35310	//   "scopes": [
35311	//     "https://www.googleapis.com/auth/dfatrafficking"
35312	//   ]
35313	// }
35314
35315}
35316
35317// Pages invokes f for each page of results.
35318// A non-nil error returned from f will halt the iteration.
35319// The provided context supersedes any context provided to the Context method.
35320func (c *InventoryItemsListCall) Pages(ctx context.Context, f func(*InventoryItemsListResponse) error) error {
35321	c.ctx_ = ctx
35322	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
35323	for {
35324		x, err := c.Do()
35325		if err != nil {
35326			return err
35327		}
35328		if err := f(x); err != nil {
35329			return err
35330		}
35331		if x.NextPageToken == "" {
35332			return nil
35333		}
35334		c.PageToken(x.NextPageToken)
35335	}
35336}
35337
35338// method id "dfareporting.languages.list":
35339
35340type LanguagesListCall struct {
35341	s            *Service
35342	profileId    int64
35343	urlParams_   gensupport.URLParams
35344	ifNoneMatch_ string
35345	ctx_         context.Context
35346	header_      http.Header
35347}
35348
35349// List: Retrieves a list of languages.
35350//
35351// - profileId: User profile ID associated with this request.
35352func (r *LanguagesService) List(profileId int64) *LanguagesListCall {
35353	c := &LanguagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35354	c.profileId = profileId
35355	return c
35356}
35357
35358// Fields allows partial responses to be retrieved. See
35359// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35360// for more information.
35361func (c *LanguagesListCall) Fields(s ...googleapi.Field) *LanguagesListCall {
35362	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35363	return c
35364}
35365
35366// IfNoneMatch sets the optional parameter which makes the operation
35367// fail if the object's ETag matches the given value. This is useful for
35368// getting updates only after the object has changed since the last
35369// request. Use googleapi.IsNotModified to check whether the response
35370// error from Do is the result of In-None-Match.
35371func (c *LanguagesListCall) IfNoneMatch(entityTag string) *LanguagesListCall {
35372	c.ifNoneMatch_ = entityTag
35373	return c
35374}
35375
35376// Context sets the context to be used in this call's Do method. Any
35377// pending HTTP request will be aborted if the provided context is
35378// canceled.
35379func (c *LanguagesListCall) Context(ctx context.Context) *LanguagesListCall {
35380	c.ctx_ = ctx
35381	return c
35382}
35383
35384// Header returns an http.Header that can be modified by the caller to
35385// add HTTP headers to the request.
35386func (c *LanguagesListCall) Header() http.Header {
35387	if c.header_ == nil {
35388		c.header_ = make(http.Header)
35389	}
35390	return c.header_
35391}
35392
35393func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
35394	reqHeaders := make(http.Header)
35395	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
35396	for k, v := range c.header_ {
35397		reqHeaders[k] = v
35398	}
35399	reqHeaders.Set("User-Agent", c.s.userAgent())
35400	if c.ifNoneMatch_ != "" {
35401		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35402	}
35403	var body io.Reader = nil
35404	c.urlParams_.Set("alt", alt)
35405	c.urlParams_.Set("prettyPrint", "false")
35406	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/languages")
35407	urls += "?" + c.urlParams_.Encode()
35408	req, err := http.NewRequest("GET", urls, body)
35409	if err != nil {
35410		return nil, err
35411	}
35412	req.Header = reqHeaders
35413	googleapi.Expand(req.URL, map[string]string{
35414		"profileId": strconv.FormatInt(c.profileId, 10),
35415	})
35416	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35417}
35418
35419// Do executes the "dfareporting.languages.list" call.
35420// Exactly one of *LanguagesListResponse or error will be non-nil. Any
35421// non-2xx status code is an error. Response headers are in either
35422// *LanguagesListResponse.ServerResponse.Header or (if a response was
35423// returned at all) in error.(*googleapi.Error).Header. Use
35424// googleapi.IsNotModified to check whether the returned error was
35425// because http.StatusNotModified was returned.
35426func (c *LanguagesListCall) Do(opts ...googleapi.CallOption) (*LanguagesListResponse, error) {
35427	gensupport.SetOptions(c.urlParams_, opts...)
35428	res, err := c.doRequest("json")
35429	if res != nil && res.StatusCode == http.StatusNotModified {
35430		if res.Body != nil {
35431			res.Body.Close()
35432		}
35433		return nil, &googleapi.Error{
35434			Code:   res.StatusCode,
35435			Header: res.Header,
35436		}
35437	}
35438	if err != nil {
35439		return nil, err
35440	}
35441	defer googleapi.CloseBody(res)
35442	if err := googleapi.CheckResponse(res); err != nil {
35443		return nil, err
35444	}
35445	ret := &LanguagesListResponse{
35446		ServerResponse: googleapi.ServerResponse{
35447			Header:         res.Header,
35448			HTTPStatusCode: res.StatusCode,
35449		},
35450	}
35451	target := &ret
35452	if err := gensupport.DecodeResponse(target, res); err != nil {
35453		return nil, err
35454	}
35455	return ret, nil
35456	// {
35457	//   "description": "Retrieves a list of languages.",
35458	//   "flatPath": "userprofiles/{profileId}/languages",
35459	//   "httpMethod": "GET",
35460	//   "id": "dfareporting.languages.list",
35461	//   "parameterOrder": [
35462	//     "profileId"
35463	//   ],
35464	//   "parameters": {
35465	//     "profileId": {
35466	//       "description": "User profile ID associated with this request.",
35467	//       "format": "int64",
35468	//       "location": "path",
35469	//       "required": true,
35470	//       "type": "string"
35471	//     }
35472	//   },
35473	//   "path": "userprofiles/{profileId}/languages",
35474	//   "response": {
35475	//     "$ref": "LanguagesListResponse"
35476	//   },
35477	//   "scopes": [
35478	//     "https://www.googleapis.com/auth/dfatrafficking"
35479	//   ]
35480	// }
35481
35482}
35483
35484// method id "dfareporting.metros.list":
35485
35486type MetrosListCall struct {
35487	s            *Service
35488	profileId    int64
35489	urlParams_   gensupport.URLParams
35490	ifNoneMatch_ string
35491	ctx_         context.Context
35492	header_      http.Header
35493}
35494
35495// List: Retrieves a list of metros.
35496//
35497// - profileId: User profile ID associated with this request.
35498func (r *MetrosService) List(profileId int64) *MetrosListCall {
35499	c := &MetrosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35500	c.profileId = profileId
35501	return c
35502}
35503
35504// Fields allows partial responses to be retrieved. See
35505// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35506// for more information.
35507func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
35508	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35509	return c
35510}
35511
35512// IfNoneMatch sets the optional parameter which makes the operation
35513// fail if the object's ETag matches the given value. This is useful for
35514// getting updates only after the object has changed since the last
35515// request. Use googleapi.IsNotModified to check whether the response
35516// error from Do is the result of In-None-Match.
35517func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
35518	c.ifNoneMatch_ = entityTag
35519	return c
35520}
35521
35522// Context sets the context to be used in this call's Do method. Any
35523// pending HTTP request will be aborted if the provided context is
35524// canceled.
35525func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
35526	c.ctx_ = ctx
35527	return c
35528}
35529
35530// Header returns an http.Header that can be modified by the caller to
35531// add HTTP headers to the request.
35532func (c *MetrosListCall) Header() http.Header {
35533	if c.header_ == nil {
35534		c.header_ = make(http.Header)
35535	}
35536	return c.header_
35537}
35538
35539func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
35540	reqHeaders := make(http.Header)
35541	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
35542	for k, v := range c.header_ {
35543		reqHeaders[k] = v
35544	}
35545	reqHeaders.Set("User-Agent", c.s.userAgent())
35546	if c.ifNoneMatch_ != "" {
35547		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35548	}
35549	var body io.Reader = nil
35550	c.urlParams_.Set("alt", alt)
35551	c.urlParams_.Set("prettyPrint", "false")
35552	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
35553	urls += "?" + c.urlParams_.Encode()
35554	req, err := http.NewRequest("GET", urls, body)
35555	if err != nil {
35556		return nil, err
35557	}
35558	req.Header = reqHeaders
35559	googleapi.Expand(req.URL, map[string]string{
35560		"profileId": strconv.FormatInt(c.profileId, 10),
35561	})
35562	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35563}
35564
35565// Do executes the "dfareporting.metros.list" call.
35566// Exactly one of *MetrosListResponse or error will be non-nil. Any
35567// non-2xx status code is an error. Response headers are in either
35568// *MetrosListResponse.ServerResponse.Header or (if a response was
35569// returned at all) in error.(*googleapi.Error).Header. Use
35570// googleapi.IsNotModified to check whether the returned error was
35571// because http.StatusNotModified was returned.
35572func (c *MetrosListCall) Do(opts ...googleapi.CallOption) (*MetrosListResponse, error) {
35573	gensupport.SetOptions(c.urlParams_, opts...)
35574	res, err := c.doRequest("json")
35575	if res != nil && res.StatusCode == http.StatusNotModified {
35576		if res.Body != nil {
35577			res.Body.Close()
35578		}
35579		return nil, &googleapi.Error{
35580			Code:   res.StatusCode,
35581			Header: res.Header,
35582		}
35583	}
35584	if err != nil {
35585		return nil, err
35586	}
35587	defer googleapi.CloseBody(res)
35588	if err := googleapi.CheckResponse(res); err != nil {
35589		return nil, err
35590	}
35591	ret := &MetrosListResponse{
35592		ServerResponse: googleapi.ServerResponse{
35593			Header:         res.Header,
35594			HTTPStatusCode: res.StatusCode,
35595		},
35596	}
35597	target := &ret
35598	if err := gensupport.DecodeResponse(target, res); err != nil {
35599		return nil, err
35600	}
35601	return ret, nil
35602	// {
35603	//   "description": "Retrieves a list of metros.",
35604	//   "flatPath": "userprofiles/{profileId}/metros",
35605	//   "httpMethod": "GET",
35606	//   "id": "dfareporting.metros.list",
35607	//   "parameterOrder": [
35608	//     "profileId"
35609	//   ],
35610	//   "parameters": {
35611	//     "profileId": {
35612	//       "description": "User profile ID associated with this request.",
35613	//       "format": "int64",
35614	//       "location": "path",
35615	//       "required": true,
35616	//       "type": "string"
35617	//     }
35618	//   },
35619	//   "path": "userprofiles/{profileId}/metros",
35620	//   "response": {
35621	//     "$ref": "MetrosListResponse"
35622	//   },
35623	//   "scopes": [
35624	//     "https://www.googleapis.com/auth/dfatrafficking"
35625	//   ]
35626	// }
35627
35628}
35629
35630// method id "dfareporting.mobileApps.get":
35631
35632type MobileAppsGetCall struct {
35633	s            *Service
35634	profileId    int64
35635	id           string
35636	urlParams_   gensupport.URLParams
35637	ifNoneMatch_ string
35638	ctx_         context.Context
35639	header_      http.Header
35640}
35641
35642// Get: Gets one mobile app by ID.
35643//
35644// - id: Mobile app ID.
35645// - profileId: User profile ID associated with this request.
35646func (r *MobileAppsService) Get(profileId int64, id string) *MobileAppsGetCall {
35647	c := &MobileAppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35648	c.profileId = profileId
35649	c.id = id
35650	return c
35651}
35652
35653// Fields allows partial responses to be retrieved. See
35654// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35655// for more information.
35656func (c *MobileAppsGetCall) Fields(s ...googleapi.Field) *MobileAppsGetCall {
35657	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35658	return c
35659}
35660
35661// IfNoneMatch sets the optional parameter which makes the operation
35662// fail if the object's ETag matches the given value. This is useful for
35663// getting updates only after the object has changed since the last
35664// request. Use googleapi.IsNotModified to check whether the response
35665// error from Do is the result of In-None-Match.
35666func (c *MobileAppsGetCall) IfNoneMatch(entityTag string) *MobileAppsGetCall {
35667	c.ifNoneMatch_ = entityTag
35668	return c
35669}
35670
35671// Context sets the context to be used in this call's Do method. Any
35672// pending HTTP request will be aborted if the provided context is
35673// canceled.
35674func (c *MobileAppsGetCall) Context(ctx context.Context) *MobileAppsGetCall {
35675	c.ctx_ = ctx
35676	return c
35677}
35678
35679// Header returns an http.Header that can be modified by the caller to
35680// add HTTP headers to the request.
35681func (c *MobileAppsGetCall) Header() http.Header {
35682	if c.header_ == nil {
35683		c.header_ = make(http.Header)
35684	}
35685	return c.header_
35686}
35687
35688func (c *MobileAppsGetCall) doRequest(alt string) (*http.Response, error) {
35689	reqHeaders := make(http.Header)
35690	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
35691	for k, v := range c.header_ {
35692		reqHeaders[k] = v
35693	}
35694	reqHeaders.Set("User-Agent", c.s.userAgent())
35695	if c.ifNoneMatch_ != "" {
35696		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35697	}
35698	var body io.Reader = nil
35699	c.urlParams_.Set("alt", alt)
35700	c.urlParams_.Set("prettyPrint", "false")
35701	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps/{id}")
35702	urls += "?" + c.urlParams_.Encode()
35703	req, err := http.NewRequest("GET", urls, body)
35704	if err != nil {
35705		return nil, err
35706	}
35707	req.Header = reqHeaders
35708	googleapi.Expand(req.URL, map[string]string{
35709		"profileId": strconv.FormatInt(c.profileId, 10),
35710		"id":        c.id,
35711	})
35712	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35713}
35714
35715// Do executes the "dfareporting.mobileApps.get" call.
35716// Exactly one of *MobileApp or error will be non-nil. Any non-2xx
35717// status code is an error. Response headers are in either
35718// *MobileApp.ServerResponse.Header or (if a response was returned at
35719// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
35720// to check whether the returned error was because
35721// http.StatusNotModified was returned.
35722func (c *MobileAppsGetCall) Do(opts ...googleapi.CallOption) (*MobileApp, error) {
35723	gensupport.SetOptions(c.urlParams_, opts...)
35724	res, err := c.doRequest("json")
35725	if res != nil && res.StatusCode == http.StatusNotModified {
35726		if res.Body != nil {
35727			res.Body.Close()
35728		}
35729		return nil, &googleapi.Error{
35730			Code:   res.StatusCode,
35731			Header: res.Header,
35732		}
35733	}
35734	if err != nil {
35735		return nil, err
35736	}
35737	defer googleapi.CloseBody(res)
35738	if err := googleapi.CheckResponse(res); err != nil {
35739		return nil, err
35740	}
35741	ret := &MobileApp{
35742		ServerResponse: googleapi.ServerResponse{
35743			Header:         res.Header,
35744			HTTPStatusCode: res.StatusCode,
35745		},
35746	}
35747	target := &ret
35748	if err := gensupport.DecodeResponse(target, res); err != nil {
35749		return nil, err
35750	}
35751	return ret, nil
35752	// {
35753	//   "description": "Gets one mobile app by ID.",
35754	//   "flatPath": "userprofiles/{profileId}/mobileApps/{id}",
35755	//   "httpMethod": "GET",
35756	//   "id": "dfareporting.mobileApps.get",
35757	//   "parameterOrder": [
35758	//     "profileId",
35759	//     "id"
35760	//   ],
35761	//   "parameters": {
35762	//     "id": {
35763	//       "description": "Mobile app ID.",
35764	//       "location": "path",
35765	//       "required": true,
35766	//       "type": "string"
35767	//     },
35768	//     "profileId": {
35769	//       "description": "User profile ID associated with this request.",
35770	//       "format": "int64",
35771	//       "location": "path",
35772	//       "required": true,
35773	//       "type": "string"
35774	//     }
35775	//   },
35776	//   "path": "userprofiles/{profileId}/mobileApps/{id}",
35777	//   "response": {
35778	//     "$ref": "MobileApp"
35779	//   },
35780	//   "scopes": [
35781	//     "https://www.googleapis.com/auth/dfatrafficking"
35782	//   ]
35783	// }
35784
35785}
35786
35787// method id "dfareporting.mobileApps.list":
35788
35789type MobileAppsListCall struct {
35790	s            *Service
35791	profileId    int64
35792	urlParams_   gensupport.URLParams
35793	ifNoneMatch_ string
35794	ctx_         context.Context
35795	header_      http.Header
35796}
35797
35798// List: Retrieves list of available mobile apps.
35799//
35800// - profileId: User profile ID associated with this request.
35801func (r *MobileAppsService) List(profileId int64) *MobileAppsListCall {
35802	c := &MobileAppsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35803	c.profileId = profileId
35804	return c
35805}
35806
35807// Directories sets the optional parameter "directories": Select only
35808// apps from these directories.
35809//
35810// Possible values:
35811//   "UNKNOWN"
35812//   "APPLE_APP_STORE"
35813//   "GOOGLE_PLAY_STORE"
35814func (c *MobileAppsListCall) Directories(directories ...string) *MobileAppsListCall {
35815	c.urlParams_.SetMulti("directories", append([]string{}, directories...))
35816	return c
35817}
35818
35819// Ids sets the optional parameter "ids": Select only apps with these
35820// IDs.
35821func (c *MobileAppsListCall) Ids(ids ...string) *MobileAppsListCall {
35822	c.urlParams_.SetMulti("ids", append([]string{}, ids...))
35823	return c
35824}
35825
35826// MaxResults sets the optional parameter "maxResults": Maximum number
35827// of results to return.
35828func (c *MobileAppsListCall) MaxResults(maxResults int64) *MobileAppsListCall {
35829	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
35830	return c
35831}
35832
35833// PageToken sets the optional parameter "pageToken": Value of the
35834// nextPageToken from the previous result page.
35835func (c *MobileAppsListCall) PageToken(pageToken string) *MobileAppsListCall {
35836	c.urlParams_.Set("pageToken", pageToken)
35837	return c
35838}
35839
35840// SearchString sets the optional parameter "searchString": Allows
35841// searching for objects by name or ID. Wildcards (*) are allowed. For
35842// example, "app*2015" will return objects with names like "app Jan
35843// 2018", "app Jan 2018", or simply "app 2018". Most of the searches
35844// also add wildcards implicitly at the start and the end of the search
35845// string. For example, a search string of "app" will match objects with
35846// name "my app", "app 2018", or simply "app".
35847func (c *MobileAppsListCall) SearchString(searchString string) *MobileAppsListCall {
35848	c.urlParams_.Set("searchString", searchString)
35849	return c
35850}
35851
35852// Fields allows partial responses to be retrieved. See
35853// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35854// for more information.
35855func (c *MobileAppsListCall) Fields(s ...googleapi.Field) *MobileAppsListCall {
35856	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35857	return c
35858}
35859
35860// IfNoneMatch sets the optional parameter which makes the operation
35861// fail if the object's ETag matches the given value. This is useful for
35862// getting updates only after the object has changed since the last
35863// request. Use googleapi.IsNotModified to check whether the response
35864// error from Do is the result of In-None-Match.
35865func (c *MobileAppsListCall) IfNoneMatch(entityTag string) *MobileAppsListCall {
35866	c.ifNoneMatch_ = entityTag
35867	return c
35868}
35869
35870// Context sets the context to be used in this call's Do method. Any
35871// pending HTTP request will be aborted if the provided context is
35872// canceled.
35873func (c *MobileAppsListCall) Context(ctx context.Context) *MobileAppsListCall {
35874	c.ctx_ = ctx
35875	return c
35876}
35877
35878// Header returns an http.Header that can be modified by the caller to
35879// add HTTP headers to the request.
35880func (c *MobileAppsListCall) Header() http.Header {
35881	if c.header_ == nil {
35882		c.header_ = make(http.Header)
35883	}
35884	return c.header_
35885}
35886
35887func (c *MobileAppsListCall) doRequest(alt string) (*http.Response, error) {
35888	reqHeaders := make(http.Header)
35889	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
35890	for k, v := range c.header_ {
35891		reqHeaders[k] = v
35892	}
35893	reqHeaders.Set("User-Agent", c.s.userAgent())
35894	if c.ifNoneMatch_ != "" {
35895		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35896	}
35897	var body io.Reader = nil
35898	c.urlParams_.Set("alt", alt)
35899	c.urlParams_.Set("prettyPrint", "false")
35900	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps")
35901	urls += "?" + c.urlParams_.Encode()
35902	req, err := http.NewRequest("GET", urls, body)
35903	if err != nil {
35904		return nil, err
35905	}
35906	req.Header = reqHeaders
35907	googleapi.Expand(req.URL, map[string]string{
35908		"profileId": strconv.FormatInt(c.profileId, 10),
35909	})
35910	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35911}
35912
35913// Do executes the "dfareporting.mobileApps.list" call.
35914// Exactly one of *MobileAppsListResponse or error will be non-nil. Any
35915// non-2xx status code is an error. Response headers are in either
35916// *MobileAppsListResponse.ServerResponse.Header or (if a response was
35917// returned at all) in error.(*googleapi.Error).Header. Use
35918// googleapi.IsNotModified to check whether the returned error was
35919// because http.StatusNotModified was returned.
35920func (c *MobileAppsListCall) Do(opts ...googleapi.CallOption) (*MobileAppsListResponse, error) {
35921	gensupport.SetOptions(c.urlParams_, opts...)
35922	res, err := c.doRequest("json")
35923	if res != nil && res.StatusCode == http.StatusNotModified {
35924		if res.Body != nil {
35925			res.Body.Close()
35926		}
35927		return nil, &googleapi.Error{
35928			Code:   res.StatusCode,
35929			Header: res.Header,
35930		}
35931	}
35932	if err != nil {
35933		return nil, err
35934	}
35935	defer googleapi.CloseBody(res)
35936	if err := googleapi.CheckResponse(res); err != nil {
35937		return nil, err
35938	}
35939	ret := &MobileAppsListResponse{
35940		ServerResponse: googleapi.ServerResponse{
35941			Header:         res.Header,
35942			HTTPStatusCode: res.StatusCode,
35943		},
35944	}
35945	target := &ret
35946	if err := gensupport.DecodeResponse(target, res); err != nil {
35947		return nil, err
35948	}
35949	return ret, nil
35950	// {
35951	//   "description": "Retrieves list of available mobile apps.",
35952	//   "flatPath": "userprofiles/{profileId}/mobileApps",
35953	//   "httpMethod": "GET",
35954	//   "id": "dfareporting.mobileApps.list",
35955	//   "parameterOrder": [
35956	//     "profileId"
35957	//   ],
35958	//   "parameters": {
35959	//     "directories": {
35960	//       "description": "Select only apps from these directories.",
35961	//       "enum": [
35962	//         "UNKNOWN",
35963	//         "APPLE_APP_STORE",
35964	//         "GOOGLE_PLAY_STORE"
35965	//       ],
35966	//       "enumDescriptions": [
35967	//         "",
35968	//         "",
35969	//         ""
35970	//       ],
35971	//       "location": "query",
35972	//       "repeated": true,
35973	//       "type": "string"
35974	//     },
35975	//     "ids": {
35976	//       "description": "Select only apps with these IDs.",
35977	//       "location": "query",
35978	//       "repeated": true,
35979	//       "type": "string"
35980	//     },
35981	//     "maxResults": {
35982	//       "default": "1000",
35983	//       "description": "Maximum number of results to return.",
35984	//       "format": "int32",
35985	//       "location": "query",
35986	//       "maximum": "1000",
35987	//       "minimum": "0",
35988	//       "type": "integer"
35989	//     },
35990	//     "pageToken": {
35991	//       "description": "Value of the nextPageToken from the previous result page.",
35992	//       "location": "query",
35993	//       "type": "string"
35994	//     },
35995	//     "profileId": {
35996	//       "description": "User profile ID associated with this request.",
35997	//       "format": "int64",
35998	//       "location": "path",
35999	//       "required": true,
36000	//       "type": "string"
36001	//     },
36002	//     "searchString": {
36003	//       "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\".",
36004	//       "location": "query",
36005	//       "type": "string"
36006	//     }
36007	//   },
36008	//   "path": "userprofiles/{profileId}/mobileApps",
36009	//   "response": {
36010	//     "$ref": "MobileAppsListResponse"
36011	//   },
36012	//   "scopes": [
36013	//     "https://www.googleapis.com/auth/dfatrafficking"
36014	//   ]
36015	// }
36016
36017}
36018
36019// Pages invokes f for each page of results.
36020// A non-nil error returned from f will halt the iteration.
36021// The provided context supersedes any context provided to the Context method.
36022func (c *MobileAppsListCall) Pages(ctx context.Context, f func(*MobileAppsListResponse) error) error {
36023	c.ctx_ = ctx
36024	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
36025	for {
36026		x, err := c.Do()
36027		if err != nil {
36028			return err
36029		}
36030		if err := f(x); err != nil {
36031			return err
36032		}
36033		if x.NextPageToken == "" {
36034			return nil
36035		}
36036		c.PageToken(x.NextPageToken)
36037	}
36038}
36039
36040// method id "dfareporting.mobileCarriers.get":
36041
36042type MobileCarriersGetCall struct {
36043	s            *Service
36044	profileId    int64
36045	id           int64
36046	urlParams_   gensupport.URLParams
36047	ifNoneMatch_ string
36048	ctx_         context.Context
36049	header_      http.Header
36050}
36051
36052// Get: Gets one mobile carrier by ID.
36053//
36054// - id: Mobile carrier ID.
36055// - profileId: User profile ID associated with this request.
36056func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
36057	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36058	c.profileId = profileId
36059	c.id = id
36060	return c
36061}
36062
36063// Fields allows partial responses to be retrieved. See
36064// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36065// for more information.
36066func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
36067	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36068	return c
36069}
36070
36071// IfNoneMatch sets the optional parameter which makes the operation
36072// fail if the object's ETag matches the given value. This is useful for
36073// getting updates only after the object has changed since the last
36074// request. Use googleapi.IsNotModified to check whether the response
36075// error from Do is the result of In-None-Match.
36076func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
36077	c.ifNoneMatch_ = entityTag
36078	return c
36079}
36080
36081// Context sets the context to be used in this call's Do method. Any
36082// pending HTTP request will be aborted if the provided context is
36083// canceled.
36084func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
36085	c.ctx_ = ctx
36086	return c
36087}
36088
36089// Header returns an http.Header that can be modified by the caller to
36090// add HTTP headers to the request.
36091func (c *MobileCarriersGetCall) Header() http.Header {
36092	if c.header_ == nil {
36093		c.header_ = make(http.Header)
36094	}
36095	return c.header_
36096}
36097
36098func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
36099	reqHeaders := make(http.Header)
36100	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
36101	for k, v := range c.header_ {
36102		reqHeaders[k] = v
36103	}
36104	reqHeaders.Set("User-Agent", c.s.userAgent())
36105	if c.ifNoneMatch_ != "" {
36106		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36107	}
36108	var body io.Reader = nil
36109	c.urlParams_.Set("alt", alt)
36110	c.urlParams_.Set("prettyPrint", "false")
36111	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
36112	urls += "?" + c.urlParams_.Encode()
36113	req, err := http.NewRequest("GET", urls, body)
36114	if err != nil {
36115		return nil, err
36116	}
36117	req.Header = reqHeaders
36118	googleapi.Expand(req.URL, map[string]string{
36119		"profileId": strconv.FormatInt(c.profileId, 10),
36120		"id":        strconv.FormatInt(c.id, 10),
36121	})
36122	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36123}
36124
36125// Do executes the "dfareporting.mobileCarriers.get" call.
36126// Exactly one of *MobileCarrier or error will be non-nil. Any non-2xx
36127// status code is an error. Response headers are in either
36128// *MobileCarrier.ServerResponse.Header or (if a response was returned
36129// at all) in error.(*googleapi.Error).Header. Use
36130// googleapi.IsNotModified to check whether the returned error was
36131// because http.StatusNotModified was returned.
36132func (c *MobileCarriersGetCall) Do(opts ...googleapi.CallOption) (*MobileCarrier, error) {
36133	gensupport.SetOptions(c.urlParams_, opts...)
36134	res, err := c.doRequest("json")
36135	if res != nil && res.StatusCode == http.StatusNotModified {
36136		if res.Body != nil {
36137			res.Body.Close()
36138		}
36139		return nil, &googleapi.Error{
36140			Code:   res.StatusCode,
36141			Header: res.Header,
36142		}
36143	}
36144	if err != nil {
36145		return nil, err
36146	}
36147	defer googleapi.CloseBody(res)
36148	if err := googleapi.CheckResponse(res); err != nil {
36149		return nil, err
36150	}
36151	ret := &MobileCarrier{
36152		ServerResponse: googleapi.ServerResponse{
36153			Header:         res.Header,
36154			HTTPStatusCode: res.StatusCode,
36155		},
36156	}
36157	target := &ret
36158	if err := gensupport.DecodeResponse(target, res); err != nil {
36159		return nil, err
36160	}
36161	return ret, nil
36162	// {
36163	//   "description": "Gets one mobile carrier by ID.",
36164	//   "flatPath": "userprofiles/{profileId}/mobileCarriers/{id}",
36165	//   "httpMethod": "GET",
36166	//   "id": "dfareporting.mobileCarriers.get",
36167	//   "parameterOrder": [
36168	//     "profileId",
36169	//     "id"
36170	//   ],
36171	//   "parameters": {
36172	//     "id": {
36173	//       "description": "Mobile carrier ID.",
36174	//       "format": "int64",
36175	//       "location": "path",
36176	//       "required": true,
36177	//       "type": "string"
36178	//     },
36179	//     "profileId": {
36180	//       "description": "User profile ID associated with this request.",
36181	//       "format": "int64",
36182	//       "location": "path",
36183	//       "required": true,
36184	//       "type": "string"
36185	//     }
36186	//   },
36187	//   "path": "userprofiles/{profileId}/mobileCarriers/{id}",
36188	//   "response": {
36189	//     "$ref": "MobileCarrier"
36190	//   },
36191	//   "scopes": [
36192	//     "https://www.googleapis.com/auth/dfatrafficking"
36193	//   ]
36194	// }
36195
36196}
36197
36198// method id "dfareporting.mobileCarriers.list":
36199
36200type MobileCarriersListCall struct {
36201	s            *Service
36202	profileId    int64
36203	urlParams_   gensupport.URLParams
36204	ifNoneMatch_ string
36205	ctx_         context.Context
36206	header_      http.Header
36207}
36208
36209// List: Retrieves a list of mobile carriers.
36210//
36211// - profileId: User profile ID associated with this request.
36212func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
36213	c := &MobileCarriersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36214	c.profileId = profileId
36215	return c
36216}
36217
36218// Fields allows partial responses to be retrieved. See
36219// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36220// for more information.
36221func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
36222	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36223	return c
36224}
36225
36226// IfNoneMatch sets the optional parameter which makes the operation
36227// fail if the object's ETag matches the given value. This is useful for
36228// getting updates only after the object has changed since the last
36229// request. Use googleapi.IsNotModified to check whether the response
36230// error from Do is the result of In-None-Match.
36231func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
36232	c.ifNoneMatch_ = entityTag
36233	return c
36234}
36235
36236// Context sets the context to be used in this call's Do method. Any
36237// pending HTTP request will be aborted if the provided context is
36238// canceled.
36239func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
36240	c.ctx_ = ctx
36241	return c
36242}
36243
36244// Header returns an http.Header that can be modified by the caller to
36245// add HTTP headers to the request.
36246func (c *MobileCarriersListCall) Header() http.Header {
36247	if c.header_ == nil {
36248		c.header_ = make(http.Header)
36249	}
36250	return c.header_
36251}
36252
36253func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
36254	reqHeaders := make(http.Header)
36255	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
36256	for k, v := range c.header_ {
36257		reqHeaders[k] = v
36258	}
36259	reqHeaders.Set("User-Agent", c.s.userAgent())
36260	if c.ifNoneMatch_ != "" {
36261		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36262	}
36263	var body io.Reader = nil
36264	c.urlParams_.Set("alt", alt)
36265	c.urlParams_.Set("prettyPrint", "false")
36266	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
36267	urls += "?" + c.urlParams_.Encode()
36268	req, err := http.NewRequest("GET", urls, body)
36269	if err != nil {
36270		return nil, err
36271	}
36272	req.Header = reqHeaders
36273	googleapi.Expand(req.URL, map[string]string{
36274		"profileId": strconv.FormatInt(c.profileId, 10),
36275	})
36276	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36277}
36278
36279// Do executes the "dfareporting.mobileCarriers.list" call.
36280// Exactly one of *MobileCarriersListResponse or error will be non-nil.
36281// Any non-2xx status code is an error. Response headers are in either
36282// *MobileCarriersListResponse.ServerResponse.Header or (if a response
36283// was returned at all) in error.(*googleapi.Error).Header. Use
36284// googleapi.IsNotModified to check whether the returned error was
36285// because http.StatusNotModified was returned.
36286func (c *MobileCarriersListCall) Do(opts ...googleapi.CallOption) (*MobileCarriersListResponse, error) {
36287	gensupport.SetOptions(c.urlParams_, opts...)
36288	res, err := c.doRequest("json")
36289	if res != nil && res.StatusCode == http.StatusNotModified {
36290		if res.Body != nil {
36291			res.Body.Close()
36292		}
36293		return nil, &googleapi.Error{
36294			Code:   res.StatusCode,
36295			Header: res.Header,
36296		}
36297	}
36298	if err != nil {
36299		return nil, err
36300	}
36301	defer googleapi.CloseBody(res)
36302	if err := googleapi.CheckResponse(res); err != nil {
36303		return nil, err
36304	}
36305	ret := &MobileCarriersListResponse{
36306		ServerResponse: googleapi.ServerResponse{
36307			Header:         res.Header,
36308			HTTPStatusCode: res.StatusCode,
36309		},
36310	}
36311	target := &ret
36312	if err := gensupport.DecodeResponse(target, res); err != nil {
36313		return nil, err
36314	}
36315	return ret, nil
36316	// {
36317	//   "description": "Retrieves a list of mobile carriers.",
36318	//   "flatPath": "userprofiles/{profileId}/mobileCarriers",
36319	//   "httpMethod": "GET",
36320	//   "id": "dfareporting.mobileCarriers.list",
36321	//   "parameterOrder": [
36322	//     "profileId"
36323	//   ],
36324	//   "parameters": {
36325	//     "profileId": {
36326	//       "description": "User profile ID associated with this request.",
36327	//       "format": "int64",
36328	//       "location": "path",
36329	//       "required": true,
36330	//       "type": "string"
36331	//     }
36332	//   },
36333	//   "path": "userprofiles/{profileId}/mobileCarriers",
36334	//   "response": {
36335	//     "$ref": "MobileCarriersListResponse"
36336	//   },
36337	//   "scopes": [
36338	//     "https://www.googleapis.com/auth/dfatrafficking"
36339	//   ]
36340	// }
36341
36342}
36343
36344// method id "dfareporting.operatingSystemVersions.get":
36345
36346type OperatingSystemVersionsGetCall struct {
36347	s            *Service
36348	profileId    int64
36349	id           int64
36350	urlParams_   gensupport.URLParams
36351	ifNoneMatch_ string
36352	ctx_         context.Context
36353	header_      http.Header
36354}
36355
36356// Get: Gets one operating system version by ID.
36357//
36358// - id: Operating system version ID.
36359// - profileId: User profile ID associated with this request.
36360func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
36361	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36362	c.profileId = profileId
36363	c.id = id
36364	return c
36365}
36366
36367// Fields allows partial responses to be retrieved. See
36368// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36369// for more information.
36370func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
36371	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36372	return c
36373}
36374
36375// IfNoneMatch sets the optional parameter which makes the operation
36376// fail if the object's ETag matches the given value. This is useful for
36377// getting updates only after the object has changed since the last
36378// request. Use googleapi.IsNotModified to check whether the response
36379// error from Do is the result of In-None-Match.
36380func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
36381	c.ifNoneMatch_ = entityTag
36382	return c
36383}
36384
36385// Context sets the context to be used in this call's Do method. Any
36386// pending HTTP request will be aborted if the provided context is
36387// canceled.
36388func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
36389	c.ctx_ = ctx
36390	return c
36391}
36392
36393// Header returns an http.Header that can be modified by the caller to
36394// add HTTP headers to the request.
36395func (c *OperatingSystemVersionsGetCall) Header() http.Header {
36396	if c.header_ == nil {
36397		c.header_ = make(http.Header)
36398	}
36399	return c.header_
36400}
36401
36402func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
36403	reqHeaders := make(http.Header)
36404	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
36405	for k, v := range c.header_ {
36406		reqHeaders[k] = v
36407	}
36408	reqHeaders.Set("User-Agent", c.s.userAgent())
36409	if c.ifNoneMatch_ != "" {
36410		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36411	}
36412	var body io.Reader = nil
36413	c.urlParams_.Set("alt", alt)
36414	c.urlParams_.Set("prettyPrint", "false")
36415	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
36416	urls += "?" + c.urlParams_.Encode()
36417	req, err := http.NewRequest("GET", urls, body)
36418	if err != nil {
36419		return nil, err
36420	}
36421	req.Header = reqHeaders
36422	googleapi.Expand(req.URL, map[string]string{
36423		"profileId": strconv.FormatInt(c.profileId, 10),
36424		"id":        strconv.FormatInt(c.id, 10),
36425	})
36426	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36427}
36428
36429// Do executes the "dfareporting.operatingSystemVersions.get" call.
36430// Exactly one of *OperatingSystemVersion or error will be non-nil. Any
36431// non-2xx status code is an error. Response headers are in either
36432// *OperatingSystemVersion.ServerResponse.Header or (if a response was
36433// returned at all) in error.(*googleapi.Error).Header. Use
36434// googleapi.IsNotModified to check whether the returned error was
36435// because http.StatusNotModified was returned.
36436func (c *OperatingSystemVersionsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersion, error) {
36437	gensupport.SetOptions(c.urlParams_, opts...)
36438	res, err := c.doRequest("json")
36439	if res != nil && res.StatusCode == http.StatusNotModified {
36440		if res.Body != nil {
36441			res.Body.Close()
36442		}
36443		return nil, &googleapi.Error{
36444			Code:   res.StatusCode,
36445			Header: res.Header,
36446		}
36447	}
36448	if err != nil {
36449		return nil, err
36450	}
36451	defer googleapi.CloseBody(res)
36452	if err := googleapi.CheckResponse(res); err != nil {
36453		return nil, err
36454	}
36455	ret := &OperatingSystemVersion{
36456		ServerResponse: googleapi.ServerResponse{
36457			Header:         res.Header,
36458			HTTPStatusCode: res.StatusCode,
36459		},
36460	}
36461	target := &ret
36462	if err := gensupport.DecodeResponse(target, res); err != nil {
36463		return nil, err
36464	}
36465	return ret, nil
36466	// {
36467	//   "description": "Gets one operating system version by ID.",
36468	//   "flatPath": "userprofiles/{profileId}/operatingSystemVersions/{id}",
36469	//   "httpMethod": "GET",
36470	//   "id": "dfareporting.operatingSystemVersions.get",
36471	//   "parameterOrder": [
36472	//     "profileId",
36473	//     "id"
36474	//   ],
36475	//   "parameters": {
36476	//     "id": {
36477	//       "description": "Operating system version ID.",
36478	//       "format": "int64",
36479	//       "location": "path",
36480	//       "required": true,
36481	//       "type": "string"
36482	//     },
36483	//     "profileId": {
36484	//       "description": "User profile ID associated with this request.",
36485	//       "format": "int64",
36486	//       "location": "path",
36487	//       "required": true,
36488	//       "type": "string"
36489	//     }
36490	//   },
36491	//   "path": "userprofiles/{profileId}/operatingSystemVersions/{id}",
36492	//   "response": {
36493	//     "$ref": "OperatingSystemVersion"
36494	//   },
36495	//   "scopes": [
36496	//     "https://www.googleapis.com/auth/dfatrafficking"
36497	//   ]
36498	// }
36499
36500}
36501
36502// method id "dfareporting.operatingSystemVersions.list":
36503
36504type OperatingSystemVersionsListCall struct {
36505	s            *Service
36506	profileId    int64
36507	urlParams_   gensupport.URLParams
36508	ifNoneMatch_ string
36509	ctx_         context.Context
36510	header_      http.Header
36511}
36512
36513// List: Retrieves a list of operating system versions.
36514//
36515// - profileId: User profile ID associated with this request.
36516func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
36517	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36518	c.profileId = profileId
36519	return c
36520}
36521
36522// Fields allows partial responses to be retrieved. See
36523// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36524// for more information.
36525func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
36526	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36527	return c
36528}
36529
36530// IfNoneMatch sets the optional parameter which makes the operation
36531// fail if the object's ETag matches the given value. This is useful for
36532// getting updates only after the object has changed since the last
36533// request. Use googleapi.IsNotModified to check whether the response
36534// error from Do is the result of In-None-Match.
36535func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
36536	c.ifNoneMatch_ = entityTag
36537	return c
36538}
36539
36540// Context sets the context to be used in this call's Do method. Any
36541// pending HTTP request will be aborted if the provided context is
36542// canceled.
36543func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
36544	c.ctx_ = ctx
36545	return c
36546}
36547
36548// Header returns an http.Header that can be modified by the caller to
36549// add HTTP headers to the request.
36550func (c *OperatingSystemVersionsListCall) Header() http.Header {
36551	if c.header_ == nil {
36552		c.header_ = make(http.Header)
36553	}
36554	return c.header_
36555}
36556
36557func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
36558	reqHeaders := make(http.Header)
36559	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
36560	for k, v := range c.header_ {
36561		reqHeaders[k] = v
36562	}
36563	reqHeaders.Set("User-Agent", c.s.userAgent())
36564	if c.ifNoneMatch_ != "" {
36565		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36566	}
36567	var body io.Reader = nil
36568	c.urlParams_.Set("alt", alt)
36569	c.urlParams_.Set("prettyPrint", "false")
36570	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
36571	urls += "?" + c.urlParams_.Encode()
36572	req, err := http.NewRequest("GET", urls, body)
36573	if err != nil {
36574		return nil, err
36575	}
36576	req.Header = reqHeaders
36577	googleapi.Expand(req.URL, map[string]string{
36578		"profileId": strconv.FormatInt(c.profileId, 10),
36579	})
36580	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36581}
36582
36583// Do executes the "dfareporting.operatingSystemVersions.list" call.
36584// Exactly one of *OperatingSystemVersionsListResponse or error will be
36585// non-nil. Any non-2xx status code is an error. Response headers are in
36586// either *OperatingSystemVersionsListResponse.ServerResponse.Header or
36587// (if a response was returned at all) in
36588// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
36589// whether the returned error was because http.StatusNotModified was
36590// returned.
36591func (c *OperatingSystemVersionsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersionsListResponse, error) {
36592	gensupport.SetOptions(c.urlParams_, opts...)
36593	res, err := c.doRequest("json")
36594	if res != nil && res.StatusCode == http.StatusNotModified {
36595		if res.Body != nil {
36596			res.Body.Close()
36597		}
36598		return nil, &googleapi.Error{
36599			Code:   res.StatusCode,
36600			Header: res.Header,
36601		}
36602	}
36603	if err != nil {
36604		return nil, err
36605	}
36606	defer googleapi.CloseBody(res)
36607	if err := googleapi.CheckResponse(res); err != nil {
36608		return nil, err
36609	}
36610	ret := &OperatingSystemVersionsListResponse{
36611		ServerResponse: googleapi.ServerResponse{
36612			Header:         res.Header,
36613			HTTPStatusCode: res.StatusCode,
36614		},
36615	}
36616	target := &ret
36617	if err := gensupport.DecodeResponse(target, res); err != nil {
36618		return nil, err
36619	}
36620	return ret, nil
36621	// {
36622	//   "description": "Retrieves a list of operating system versions.",
36623	//   "flatPath": "userprofiles/{profileId}/operatingSystemVersions",
36624	//   "httpMethod": "GET",
36625	//   "id": "dfareporting.operatingSystemVersions.list",
36626	//   "parameterOrder": [
36627	//     "profileId"
36628	//   ],
36629	//   "parameters": {
36630	//     "profileId": {
36631	//       "description": "User profile ID associated with this request.",
36632	//       "format": "int64",
36633	//       "location": "path",
36634	//       "required": true,
36635	//       "type": "string"
36636	//     }
36637	//   },
36638	//   "path": "userprofiles/{profileId}/operatingSystemVersions",
36639	//   "response": {
36640	//     "$ref": "OperatingSystemVersionsListResponse"
36641	//   },
36642	//   "scopes": [
36643	//     "https://www.googleapis.com/auth/dfatrafficking"
36644	//   ]
36645	// }
36646
36647}
36648
36649// method id "dfareporting.operatingSystems.get":
36650
36651type OperatingSystemsGetCall struct {
36652	s            *Service
36653	profileId    int64
36654	dartId       int64
36655	urlParams_   gensupport.URLParams
36656	ifNoneMatch_ string
36657	ctx_         context.Context
36658	header_      http.Header
36659}
36660
36661// Get: Gets one operating system by DART ID.
36662//
36663// - dartId: Operating system DART ID.
36664// - profileId: User profile ID associated with this request.
36665func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
36666	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36667	c.profileId = profileId
36668	c.dartId = dartId
36669	return c
36670}
36671
36672// Fields allows partial responses to be retrieved. See
36673// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36674// for more information.
36675func (c *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
36676	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36677	return c
36678}
36679
36680// IfNoneMatch sets the optional parameter which makes the operation
36681// fail if the object's ETag matches the given value. This is useful for
36682// getting updates only after the object has changed since the last
36683// request. Use googleapi.IsNotModified to check whether the response
36684// error from Do is the result of In-None-Match.
36685func (c *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
36686	c.ifNoneMatch_ = entityTag
36687	return c
36688}
36689
36690// Context sets the context to be used in this call's Do method. Any
36691// pending HTTP request will be aborted if the provided context is
36692// canceled.
36693func (c *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
36694	c.ctx_ = ctx
36695	return c
36696}
36697
36698// Header returns an http.Header that can be modified by the caller to
36699// add HTTP headers to the request.
36700func (c *OperatingSystemsGetCall) Header() http.Header {
36701	if c.header_ == nil {
36702		c.header_ = make(http.Header)
36703	}
36704	return c.header_
36705}
36706
36707func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
36708	reqHeaders := make(http.Header)
36709	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
36710	for k, v := range c.header_ {
36711		reqHeaders[k] = v
36712	}
36713	reqHeaders.Set("User-Agent", c.s.userAgent())
36714	if c.ifNoneMatch_ != "" {
36715		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36716	}
36717	var body io.Reader = nil
36718	c.urlParams_.Set("alt", alt)
36719	c.urlParams_.Set("prettyPrint", "false")
36720	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems/{dartId}")
36721	urls += "?" + c.urlParams_.Encode()
36722	req, err := http.NewRequest("GET", urls, body)
36723	if err != nil {
36724		return nil, err
36725	}
36726	req.Header = reqHeaders
36727	googleapi.Expand(req.URL, map[string]string{
36728		"profileId": strconv.FormatInt(c.profileId, 10),
36729		"dartId":    strconv.FormatInt(c.dartId, 10),
36730	})
36731	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36732}
36733
36734// Do executes the "dfareporting.operatingSystems.get" call.
36735// Exactly one of *OperatingSystem or error will be non-nil. Any non-2xx
36736// status code is an error. Response headers are in either
36737// *OperatingSystem.ServerResponse.Header or (if a response was returned
36738// at all) in error.(*googleapi.Error).Header. Use
36739// googleapi.IsNotModified to check whether the returned error was
36740// because http.StatusNotModified was returned.
36741func (c *OperatingSystemsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystem, error) {
36742	gensupport.SetOptions(c.urlParams_, opts...)
36743	res, err := c.doRequest("json")
36744	if res != nil && res.StatusCode == http.StatusNotModified {
36745		if res.Body != nil {
36746			res.Body.Close()
36747		}
36748		return nil, &googleapi.Error{
36749			Code:   res.StatusCode,
36750			Header: res.Header,
36751		}
36752	}
36753	if err != nil {
36754		return nil, err
36755	}
36756	defer googleapi.CloseBody(res)
36757	if err := googleapi.CheckResponse(res); err != nil {
36758		return nil, err
36759	}
36760	ret := &OperatingSystem{
36761		ServerResponse: googleapi.ServerResponse{
36762			Header:         res.Header,
36763			HTTPStatusCode: res.StatusCode,
36764		},
36765	}
36766	target := &ret
36767	if err := gensupport.DecodeResponse(target, res); err != nil {
36768		return nil, err
36769	}
36770	return ret, nil
36771	// {
36772	//   "description": "Gets one operating system by DART ID.",
36773	//   "flatPath": "userprofiles/{profileId}/operatingSystems/{dartId}",
36774	//   "httpMethod": "GET",
36775	//   "id": "dfareporting.operatingSystems.get",
36776	//   "parameterOrder": [
36777	//     "profileId",
36778	//     "dartId"
36779	//   ],
36780	//   "parameters": {
36781	//     "dartId": {
36782	//       "description": "Operating system DART ID.",
36783	//       "format": "int64",
36784	//       "location": "path",
36785	//       "required": true,
36786	//       "type": "string"
36787	//     },
36788	//     "profileId": {
36789	//       "description": "User profile ID associated with this request.",
36790	//       "format": "int64",
36791	//       "location": "path",
36792	//       "required": true,
36793	//       "type": "string"
36794	//     }
36795	//   },
36796	//   "path": "userprofiles/{profileId}/operatingSystems/{dartId}",
36797	//   "response": {
36798	//     "$ref": "OperatingSystem"
36799	//   },
36800	//   "scopes": [
36801	//     "https://www.googleapis.com/auth/dfatrafficking"
36802	//   ]
36803	// }
36804
36805}
36806
36807// method id "dfareporting.operatingSystems.list":
36808
36809type OperatingSystemsListCall struct {
36810	s            *Service
36811	profileId    int64
36812	urlParams_   gensupport.URLParams
36813	ifNoneMatch_ string
36814	ctx_         context.Context
36815	header_      http.Header
36816}
36817
36818// List: Retrieves a list of operating systems.
36819//
36820// - profileId: User profile ID associated with this request.
36821func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
36822	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36823	c.profileId = profileId
36824	return c
36825}
36826
36827// Fields allows partial responses to be retrieved. See
36828// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36829// for more information.
36830func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
36831	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36832	return c
36833}
36834
36835// IfNoneMatch sets the optional parameter which makes the operation
36836// fail if the object's ETag matches the given value. This is useful for
36837// getting updates only after the object has changed since the last
36838// request. Use googleapi.IsNotModified to check whether the response
36839// error from Do is the result of In-None-Match.
36840func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
36841	c.ifNoneMatch_ = entityTag
36842	return c
36843}
36844
36845// Context sets the context to be used in this call's Do method. Any
36846// pending HTTP request will be aborted if the provided context is
36847// canceled.
36848func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
36849	c.ctx_ = ctx
36850	return c
36851}
36852
36853// Header returns an http.Header that can be modified by the caller to
36854// add HTTP headers to the request.
36855func (c *OperatingSystemsListCall) Header() http.Header {
36856	if c.header_ == nil {
36857		c.header_ = make(http.Header)
36858	}
36859	return c.header_
36860}
36861
36862func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
36863	reqHeaders := make(http.Header)
36864	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
36865	for k, v := range c.header_ {
36866		reqHeaders[k] = v
36867	}
36868	reqHeaders.Set("User-Agent", c.s.userAgent())
36869	if c.ifNoneMatch_ != "" {
36870		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36871	}
36872	var body io.Reader = nil
36873	c.urlParams_.Set("alt", alt)
36874	c.urlParams_.Set("prettyPrint", "false")
36875	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
36876	urls += "?" + c.urlParams_.Encode()
36877	req, err := http.NewRequest("GET", urls, body)
36878	if err != nil {
36879		return nil, err
36880	}
36881	req.Header = reqHeaders
36882	googleapi.Expand(req.URL, map[string]string{
36883		"profileId": strconv.FormatInt(c.profileId, 10),
36884	})
36885	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36886}
36887
36888// Do executes the "dfareporting.operatingSystems.list" call.
36889// Exactly one of *OperatingSystemsListResponse or error will be
36890// non-nil. Any non-2xx status code is an error. Response headers are in
36891// either *OperatingSystemsListResponse.ServerResponse.Header or (if a
36892// response was returned at all) in error.(*googleapi.Error).Header. Use
36893// googleapi.IsNotModified to check whether the returned error was
36894// because http.StatusNotModified was returned.
36895func (c *OperatingSystemsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemsListResponse, error) {
36896	gensupport.SetOptions(c.urlParams_, opts...)
36897	res, err := c.doRequest("json")
36898	if res != nil && res.StatusCode == http.StatusNotModified {
36899		if res.Body != nil {
36900			res.Body.Close()
36901		}
36902		return nil, &googleapi.Error{
36903			Code:   res.StatusCode,
36904			Header: res.Header,
36905		}
36906	}
36907	if err != nil {
36908		return nil, err
36909	}
36910	defer googleapi.CloseBody(res)
36911	if err := googleapi.CheckResponse(res); err != nil {
36912		return nil, err
36913	}
36914	ret := &OperatingSystemsListResponse{
36915		ServerResponse: googleapi.ServerResponse{
36916			Header:         res.Header,
36917			HTTPStatusCode: res.StatusCode,
36918		},
36919	}
36920	target := &ret
36921	if err := gensupport.DecodeResponse(target, res); err != nil {
36922		return nil, err
36923	}
36924	return ret, nil
36925	// {
36926	//   "description": "Retrieves a list of operating systems.",
36927	//   "flatPath": "userprofiles/{profileId}/operatingSystems",
36928	//   "httpMethod": "GET",
36929	//   "id": "dfareporting.operatingSystems.list",
36930	//   "parameterOrder": [
36931	//     "profileId"
36932	//   ],
36933	//   "parameters": {
36934	//     "profileId": {
36935	//       "description": "User profile ID associated with this request.",
36936	//       "format": "int64",
36937	//       "location": "path",
36938	//       "required": true,
36939	//       "type": "string"
36940	//     }
36941	//   },
36942	//   "path": "userprofiles/{profileId}/operatingSystems",
36943	//   "response": {
36944	//     "$ref": "OperatingSystemsListResponse"
36945	//   },
36946	//   "scopes": [
36947	//     "https://www.googleapis.com/auth/dfatrafficking"
36948	//   ]
36949	// }
36950
36951}
36952
36953// method id "dfareporting.orderDocuments.get":
36954
36955type OrderDocumentsGetCall struct {
36956	s            *Service
36957	profileId    int64
36958	projectId    int64
36959	id           int64
36960	urlParams_   gensupport.URLParams
36961	ifNoneMatch_ string
36962	ctx_         context.Context
36963	header_      http.Header
36964}
36965
36966// Get: Gets one order document by ID.
36967//
36968// - id: Order document ID.
36969// - profileId: User profile ID associated with this request.
36970// - projectId: Project ID for order documents.
36971func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
36972	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36973	c.profileId = profileId
36974	c.projectId = projectId
36975	c.id = id
36976	return c
36977}
36978
36979// Fields allows partial responses to be retrieved. See
36980// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36981// for more information.
36982func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
36983	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36984	return c
36985}
36986
36987// IfNoneMatch sets the optional parameter which makes the operation
36988// fail if the object's ETag matches the given value. This is useful for
36989// getting updates only after the object has changed since the last
36990// request. Use googleapi.IsNotModified to check whether the response
36991// error from Do is the result of In-None-Match.
36992func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
36993	c.ifNoneMatch_ = entityTag
36994	return c
36995}
36996
36997// Context sets the context to be used in this call's Do method. Any
36998// pending HTTP request will be aborted if the provided context is
36999// canceled.
37000func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
37001	c.ctx_ = ctx
37002	return c
37003}
37004
37005// Header returns an http.Header that can be modified by the caller to
37006// add HTTP headers to the request.
37007func (c *OrderDocumentsGetCall) Header() http.Header {
37008	if c.header_ == nil {
37009		c.header_ = make(http.Header)
37010	}
37011	return c.header_
37012}
37013
37014func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
37015	reqHeaders := make(http.Header)
37016	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
37017	for k, v := range c.header_ {
37018		reqHeaders[k] = v
37019	}
37020	reqHeaders.Set("User-Agent", c.s.userAgent())
37021	if c.ifNoneMatch_ != "" {
37022		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37023	}
37024	var body io.Reader = nil
37025	c.urlParams_.Set("alt", alt)
37026	c.urlParams_.Set("prettyPrint", "false")
37027	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
37028	urls += "?" + c.urlParams_.Encode()
37029	req, err := http.NewRequest("GET", urls, body)
37030	if err != nil {
37031		return nil, err
37032	}
37033	req.Header = reqHeaders
37034	googleapi.Expand(req.URL, map[string]string{
37035		"profileId": strconv.FormatInt(c.profileId, 10),
37036		"projectId": strconv.FormatInt(c.projectId, 10),
37037		"id":        strconv.FormatInt(c.id, 10),
37038	})
37039	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37040}
37041
37042// Do executes the "dfareporting.orderDocuments.get" call.
37043// Exactly one of *OrderDocument or error will be non-nil. Any non-2xx
37044// status code is an error. Response headers are in either
37045// *OrderDocument.ServerResponse.Header or (if a response was returned
37046// at all) in error.(*googleapi.Error).Header. Use
37047// googleapi.IsNotModified to check whether the returned error was
37048// because http.StatusNotModified was returned.
37049func (c *OrderDocumentsGetCall) Do(opts ...googleapi.CallOption) (*OrderDocument, error) {
37050	gensupport.SetOptions(c.urlParams_, opts...)
37051	res, err := c.doRequest("json")
37052	if res != nil && res.StatusCode == http.StatusNotModified {
37053		if res.Body != nil {
37054			res.Body.Close()
37055		}
37056		return nil, &googleapi.Error{
37057			Code:   res.StatusCode,
37058			Header: res.Header,
37059		}
37060	}
37061	if err != nil {
37062		return nil, err
37063	}
37064	defer googleapi.CloseBody(res)
37065	if err := googleapi.CheckResponse(res); err != nil {
37066		return nil, err
37067	}
37068	ret := &OrderDocument{
37069		ServerResponse: googleapi.ServerResponse{
37070			Header:         res.Header,
37071			HTTPStatusCode: res.StatusCode,
37072		},
37073	}
37074	target := &ret
37075	if err := gensupport.DecodeResponse(target, res); err != nil {
37076		return nil, err
37077	}
37078	return ret, nil
37079	// {
37080	//   "description": "Gets one order document by ID.",
37081	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
37082	//   "httpMethod": "GET",
37083	//   "id": "dfareporting.orderDocuments.get",
37084	//   "parameterOrder": [
37085	//     "profileId",
37086	//     "projectId",
37087	//     "id"
37088	//   ],
37089	//   "parameters": {
37090	//     "id": {
37091	//       "description": "Order document ID.",
37092	//       "format": "int64",
37093	//       "location": "path",
37094	//       "required": true,
37095	//       "type": "string"
37096	//     },
37097	//     "profileId": {
37098	//       "description": "User profile ID associated with this request.",
37099	//       "format": "int64",
37100	//       "location": "path",
37101	//       "required": true,
37102	//       "type": "string"
37103	//     },
37104	//     "projectId": {
37105	//       "description": "Project ID for order documents.",
37106	//       "format": "int64",
37107	//       "location": "path",
37108	//       "required": true,
37109	//       "type": "string"
37110	//     }
37111	//   },
37112	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
37113	//   "response": {
37114	//     "$ref": "OrderDocument"
37115	//   },
37116	//   "scopes": [
37117	//     "https://www.googleapis.com/auth/dfatrafficking"
37118	//   ]
37119	// }
37120
37121}
37122
37123// method id "dfareporting.orderDocuments.list":
37124
37125type OrderDocumentsListCall struct {
37126	s            *Service
37127	profileId    int64
37128	projectId    int64
37129	urlParams_   gensupport.URLParams
37130	ifNoneMatch_ string
37131	ctx_         context.Context
37132	header_      http.Header
37133}
37134
37135// List: Retrieves a list of order documents, possibly filtered. This
37136// method supports paging.
37137//
37138// - profileId: User profile ID associated with this request.
37139// - projectId: Project ID for order documents.
37140func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
37141	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37142	c.profileId = profileId
37143	c.projectId = projectId
37144	return c
37145}
37146
37147// Approved sets the optional parameter "approved": Select only order
37148// documents that have been approved by at least one user.
37149func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
37150	c.urlParams_.Set("approved", fmt.Sprint(approved))
37151	return c
37152}
37153
37154// Ids sets the optional parameter "ids": Select only order documents
37155// with these IDs.
37156func (c *OrderDocumentsListCall) Ids(ids ...int64) *OrderDocumentsListCall {
37157	var ids_ []string
37158	for _, v := range ids {
37159		ids_ = append(ids_, fmt.Sprint(v))
37160	}
37161	c.urlParams_.SetMulti("ids", ids_)
37162	return c
37163}
37164
37165// MaxResults sets the optional parameter "maxResults": Maximum number
37166// of results to return.
37167func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
37168	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
37169	return c
37170}
37171
37172// OrderId sets the optional parameter "orderId": Select only order
37173// documents for specified orders.
37174func (c *OrderDocumentsListCall) OrderId(orderId ...int64) *OrderDocumentsListCall {
37175	var orderId_ []string
37176	for _, v := range orderId {
37177		orderId_ = append(orderId_, fmt.Sprint(v))
37178	}
37179	c.urlParams_.SetMulti("orderId", orderId_)
37180	return c
37181}
37182
37183// PageToken sets the optional parameter "pageToken": Value of the
37184// nextPageToken from the previous result page.
37185func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
37186	c.urlParams_.Set("pageToken", pageToken)
37187	return c
37188}
37189
37190// SearchString sets the optional parameter "searchString": Allows
37191// searching for order documents by name or ID. Wildcards (*) are
37192// allowed. For example, "orderdocument*2015" will return order
37193// documents with names like "orderdocument June 2015", "orderdocument
37194// April 2015", or simply "orderdocument 2015". Most of the searches
37195// also add wildcards implicitly at the start and the end of the search
37196// string. For example, a search string of "orderdocument" will match
37197// order documents with name "my orderdocument", "orderdocument 2015",
37198// or simply "orderdocument".
37199func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
37200	c.urlParams_.Set("searchString", searchString)
37201	return c
37202}
37203
37204// SiteId sets the optional parameter "siteId": Select only order
37205// documents that are associated with these sites.
37206func (c *OrderDocumentsListCall) SiteId(siteId ...int64) *OrderDocumentsListCall {
37207	var siteId_ []string
37208	for _, v := range siteId {
37209		siteId_ = append(siteId_, fmt.Sprint(v))
37210	}
37211	c.urlParams_.SetMulti("siteId", siteId_)
37212	return c
37213}
37214
37215// SortField sets the optional parameter "sortField": Field by which to
37216// sort the list.
37217//
37218// Possible values:
37219//   "ID" (default)
37220//   "NAME"
37221func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
37222	c.urlParams_.Set("sortField", sortField)
37223	return c
37224}
37225
37226// SortOrder sets the optional parameter "sortOrder": Order of sorted
37227// results.
37228//
37229// Possible values:
37230//   "ASCENDING" (default)
37231//   "DESCENDING"
37232func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
37233	c.urlParams_.Set("sortOrder", sortOrder)
37234	return c
37235}
37236
37237// Fields allows partial responses to be retrieved. See
37238// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37239// for more information.
37240func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
37241	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37242	return c
37243}
37244
37245// IfNoneMatch sets the optional parameter which makes the operation
37246// fail if the object's ETag matches the given value. This is useful for
37247// getting updates only after the object has changed since the last
37248// request. Use googleapi.IsNotModified to check whether the response
37249// error from Do is the result of In-None-Match.
37250func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
37251	c.ifNoneMatch_ = entityTag
37252	return c
37253}
37254
37255// Context sets the context to be used in this call's Do method. Any
37256// pending HTTP request will be aborted if the provided context is
37257// canceled.
37258func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
37259	c.ctx_ = ctx
37260	return c
37261}
37262
37263// Header returns an http.Header that can be modified by the caller to
37264// add HTTP headers to the request.
37265func (c *OrderDocumentsListCall) Header() http.Header {
37266	if c.header_ == nil {
37267		c.header_ = make(http.Header)
37268	}
37269	return c.header_
37270}
37271
37272func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
37273	reqHeaders := make(http.Header)
37274	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
37275	for k, v := range c.header_ {
37276		reqHeaders[k] = v
37277	}
37278	reqHeaders.Set("User-Agent", c.s.userAgent())
37279	if c.ifNoneMatch_ != "" {
37280		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37281	}
37282	var body io.Reader = nil
37283	c.urlParams_.Set("alt", alt)
37284	c.urlParams_.Set("prettyPrint", "false")
37285	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
37286	urls += "?" + c.urlParams_.Encode()
37287	req, err := http.NewRequest("GET", urls, body)
37288	if err != nil {
37289		return nil, err
37290	}
37291	req.Header = reqHeaders
37292	googleapi.Expand(req.URL, map[string]string{
37293		"profileId": strconv.FormatInt(c.profileId, 10),
37294		"projectId": strconv.FormatInt(c.projectId, 10),
37295	})
37296	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37297}
37298
37299// Do executes the "dfareporting.orderDocuments.list" call.
37300// Exactly one of *OrderDocumentsListResponse or error will be non-nil.
37301// Any non-2xx status code is an error. Response headers are in either
37302// *OrderDocumentsListResponse.ServerResponse.Header or (if a response
37303// was returned at all) in error.(*googleapi.Error).Header. Use
37304// googleapi.IsNotModified to check whether the returned error was
37305// because http.StatusNotModified was returned.
37306func (c *OrderDocumentsListCall) Do(opts ...googleapi.CallOption) (*OrderDocumentsListResponse, error) {
37307	gensupport.SetOptions(c.urlParams_, opts...)
37308	res, err := c.doRequest("json")
37309	if res != nil && res.StatusCode == http.StatusNotModified {
37310		if res.Body != nil {
37311			res.Body.Close()
37312		}
37313		return nil, &googleapi.Error{
37314			Code:   res.StatusCode,
37315			Header: res.Header,
37316		}
37317	}
37318	if err != nil {
37319		return nil, err
37320	}
37321	defer googleapi.CloseBody(res)
37322	if err := googleapi.CheckResponse(res); err != nil {
37323		return nil, err
37324	}
37325	ret := &OrderDocumentsListResponse{
37326		ServerResponse: googleapi.ServerResponse{
37327			Header:         res.Header,
37328			HTTPStatusCode: res.StatusCode,
37329		},
37330	}
37331	target := &ret
37332	if err := gensupport.DecodeResponse(target, res); err != nil {
37333		return nil, err
37334	}
37335	return ret, nil
37336	// {
37337	//   "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
37338	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
37339	//   "httpMethod": "GET",
37340	//   "id": "dfareporting.orderDocuments.list",
37341	//   "parameterOrder": [
37342	//     "profileId",
37343	//     "projectId"
37344	//   ],
37345	//   "parameters": {
37346	//     "approved": {
37347	//       "description": "Select only order documents that have been approved by at least one user.",
37348	//       "location": "query",
37349	//       "type": "boolean"
37350	//     },
37351	//     "ids": {
37352	//       "description": "Select only order documents with these IDs.",
37353	//       "format": "int64",
37354	//       "location": "query",
37355	//       "repeated": true,
37356	//       "type": "string"
37357	//     },
37358	//     "maxResults": {
37359	//       "default": "1000",
37360	//       "description": "Maximum number of results to return.",
37361	//       "format": "int32",
37362	//       "location": "query",
37363	//       "maximum": "1000",
37364	//       "minimum": "0",
37365	//       "type": "integer"
37366	//     },
37367	//     "orderId": {
37368	//       "description": "Select only order documents for specified orders.",
37369	//       "format": "int64",
37370	//       "location": "query",
37371	//       "repeated": true,
37372	//       "type": "string"
37373	//     },
37374	//     "pageToken": {
37375	//       "description": "Value of the nextPageToken from the previous result page.",
37376	//       "location": "query",
37377	//       "type": "string"
37378	//     },
37379	//     "profileId": {
37380	//       "description": "User profile ID associated with this request.",
37381	//       "format": "int64",
37382	//       "location": "path",
37383	//       "required": true,
37384	//       "type": "string"
37385	//     },
37386	//     "projectId": {
37387	//       "description": "Project ID for order documents.",
37388	//       "format": "int64",
37389	//       "location": "path",
37390	//       "required": true,
37391	//       "type": "string"
37392	//     },
37393	//     "searchString": {
37394	//       "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\".",
37395	//       "location": "query",
37396	//       "type": "string"
37397	//     },
37398	//     "siteId": {
37399	//       "description": "Select only order documents that are associated with these sites.",
37400	//       "format": "int64",
37401	//       "location": "query",
37402	//       "repeated": true,
37403	//       "type": "string"
37404	//     },
37405	//     "sortField": {
37406	//       "default": "ID",
37407	//       "description": "Field by which to sort the list.",
37408	//       "enum": [
37409	//         "ID",
37410	//         "NAME"
37411	//       ],
37412	//       "enumDescriptions": [
37413	//         "",
37414	//         ""
37415	//       ],
37416	//       "location": "query",
37417	//       "type": "string"
37418	//     },
37419	//     "sortOrder": {
37420	//       "default": "ASCENDING",
37421	//       "description": "Order of sorted results.",
37422	//       "enum": [
37423	//         "ASCENDING",
37424	//         "DESCENDING"
37425	//       ],
37426	//       "enumDescriptions": [
37427	//         "",
37428	//         ""
37429	//       ],
37430	//       "location": "query",
37431	//       "type": "string"
37432	//     }
37433	//   },
37434	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
37435	//   "response": {
37436	//     "$ref": "OrderDocumentsListResponse"
37437	//   },
37438	//   "scopes": [
37439	//     "https://www.googleapis.com/auth/dfatrafficking"
37440	//   ]
37441	// }
37442
37443}
37444
37445// Pages invokes f for each page of results.
37446// A non-nil error returned from f will halt the iteration.
37447// The provided context supersedes any context provided to the Context method.
37448func (c *OrderDocumentsListCall) Pages(ctx context.Context, f func(*OrderDocumentsListResponse) error) error {
37449	c.ctx_ = ctx
37450	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
37451	for {
37452		x, err := c.Do()
37453		if err != nil {
37454			return err
37455		}
37456		if err := f(x); err != nil {
37457			return err
37458		}
37459		if x.NextPageToken == "" {
37460			return nil
37461		}
37462		c.PageToken(x.NextPageToken)
37463	}
37464}
37465
37466// method id "dfareporting.orders.get":
37467
37468type OrdersGetCall struct {
37469	s            *Service
37470	profileId    int64
37471	projectId    int64
37472	id           int64
37473	urlParams_   gensupport.URLParams
37474	ifNoneMatch_ string
37475	ctx_         context.Context
37476	header_      http.Header
37477}
37478
37479// Get: Gets one order by ID.
37480//
37481// - id: Order ID.
37482// - profileId: User profile ID associated with this request.
37483// - projectId: Project ID for orders.
37484func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
37485	c := &OrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37486	c.profileId = profileId
37487	c.projectId = projectId
37488	c.id = id
37489	return c
37490}
37491
37492// Fields allows partial responses to be retrieved. See
37493// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37494// for more information.
37495func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
37496	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37497	return c
37498}
37499
37500// IfNoneMatch sets the optional parameter which makes the operation
37501// fail if the object's ETag matches the given value. This is useful for
37502// getting updates only after the object has changed since the last
37503// request. Use googleapi.IsNotModified to check whether the response
37504// error from Do is the result of In-None-Match.
37505func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
37506	c.ifNoneMatch_ = entityTag
37507	return c
37508}
37509
37510// Context sets the context to be used in this call's Do method. Any
37511// pending HTTP request will be aborted if the provided context is
37512// canceled.
37513func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
37514	c.ctx_ = ctx
37515	return c
37516}
37517
37518// Header returns an http.Header that can be modified by the caller to
37519// add HTTP headers to the request.
37520func (c *OrdersGetCall) Header() http.Header {
37521	if c.header_ == nil {
37522		c.header_ = make(http.Header)
37523	}
37524	return c.header_
37525}
37526
37527func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
37528	reqHeaders := make(http.Header)
37529	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
37530	for k, v := range c.header_ {
37531		reqHeaders[k] = v
37532	}
37533	reqHeaders.Set("User-Agent", c.s.userAgent())
37534	if c.ifNoneMatch_ != "" {
37535		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37536	}
37537	var body io.Reader = nil
37538	c.urlParams_.Set("alt", alt)
37539	c.urlParams_.Set("prettyPrint", "false")
37540	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
37541	urls += "?" + c.urlParams_.Encode()
37542	req, err := http.NewRequest("GET", urls, body)
37543	if err != nil {
37544		return nil, err
37545	}
37546	req.Header = reqHeaders
37547	googleapi.Expand(req.URL, map[string]string{
37548		"profileId": strconv.FormatInt(c.profileId, 10),
37549		"projectId": strconv.FormatInt(c.projectId, 10),
37550		"id":        strconv.FormatInt(c.id, 10),
37551	})
37552	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37553}
37554
37555// Do executes the "dfareporting.orders.get" call.
37556// Exactly one of *Order or error will be non-nil. Any non-2xx status
37557// code is an error. Response headers are in either
37558// *Order.ServerResponse.Header or (if a response was returned at all)
37559// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
37560// check whether the returned error was because http.StatusNotModified
37561// was returned.
37562func (c *OrdersGetCall) Do(opts ...googleapi.CallOption) (*Order, error) {
37563	gensupport.SetOptions(c.urlParams_, opts...)
37564	res, err := c.doRequest("json")
37565	if res != nil && res.StatusCode == http.StatusNotModified {
37566		if res.Body != nil {
37567			res.Body.Close()
37568		}
37569		return nil, &googleapi.Error{
37570			Code:   res.StatusCode,
37571			Header: res.Header,
37572		}
37573	}
37574	if err != nil {
37575		return nil, err
37576	}
37577	defer googleapi.CloseBody(res)
37578	if err := googleapi.CheckResponse(res); err != nil {
37579		return nil, err
37580	}
37581	ret := &Order{
37582		ServerResponse: googleapi.ServerResponse{
37583			Header:         res.Header,
37584			HTTPStatusCode: res.StatusCode,
37585		},
37586	}
37587	target := &ret
37588	if err := gensupport.DecodeResponse(target, res); err != nil {
37589		return nil, err
37590	}
37591	return ret, nil
37592	// {
37593	//   "description": "Gets one order by ID.",
37594	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
37595	//   "httpMethod": "GET",
37596	//   "id": "dfareporting.orders.get",
37597	//   "parameterOrder": [
37598	//     "profileId",
37599	//     "projectId",
37600	//     "id"
37601	//   ],
37602	//   "parameters": {
37603	//     "id": {
37604	//       "description": "Order ID.",
37605	//       "format": "int64",
37606	//       "location": "path",
37607	//       "required": true,
37608	//       "type": "string"
37609	//     },
37610	//     "profileId": {
37611	//       "description": "User profile ID associated with this request.",
37612	//       "format": "int64",
37613	//       "location": "path",
37614	//       "required": true,
37615	//       "type": "string"
37616	//     },
37617	//     "projectId": {
37618	//       "description": "Project ID for orders.",
37619	//       "format": "int64",
37620	//       "location": "path",
37621	//       "required": true,
37622	//       "type": "string"
37623	//     }
37624	//   },
37625	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
37626	//   "response": {
37627	//     "$ref": "Order"
37628	//   },
37629	//   "scopes": [
37630	//     "https://www.googleapis.com/auth/dfatrafficking"
37631	//   ]
37632	// }
37633
37634}
37635
37636// method id "dfareporting.orders.list":
37637
37638type OrdersListCall struct {
37639	s            *Service
37640	profileId    int64
37641	projectId    int64
37642	urlParams_   gensupport.URLParams
37643	ifNoneMatch_ string
37644	ctx_         context.Context
37645	header_      http.Header
37646}
37647
37648// List: Retrieves a list of orders, possibly filtered. This method
37649// supports paging.
37650//
37651// - profileId: User profile ID associated with this request.
37652// - projectId: Project ID for orders.
37653func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
37654	c := &OrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37655	c.profileId = profileId
37656	c.projectId = projectId
37657	return c
37658}
37659
37660// Ids sets the optional parameter "ids": Select only orders with these
37661// IDs.
37662func (c *OrdersListCall) Ids(ids ...int64) *OrdersListCall {
37663	var ids_ []string
37664	for _, v := range ids {
37665		ids_ = append(ids_, fmt.Sprint(v))
37666	}
37667	c.urlParams_.SetMulti("ids", ids_)
37668	return c
37669}
37670
37671// MaxResults sets the optional parameter "maxResults": Maximum number
37672// of results to return.
37673func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
37674	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
37675	return c
37676}
37677
37678// PageToken sets the optional parameter "pageToken": Value of the
37679// nextPageToken from the previous result page.
37680func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
37681	c.urlParams_.Set("pageToken", pageToken)
37682	return c
37683}
37684
37685// SearchString sets the optional parameter "searchString": Allows
37686// searching for orders by name or ID. Wildcards (*) are allowed. For
37687// example, "order*2015" will return orders with names like "order June
37688// 2015", "order April 2015", or simply "order 2015". Most of the
37689// searches also add wildcards implicitly at the start and the end of
37690// the search string. For example, a search string of "order" will match
37691// orders with name "my order", "order 2015", or simply "order".
37692func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
37693	c.urlParams_.Set("searchString", searchString)
37694	return c
37695}
37696
37697// SiteId sets the optional parameter "siteId": Select only orders that
37698// are associated with these site IDs.
37699func (c *OrdersListCall) SiteId(siteId ...int64) *OrdersListCall {
37700	var siteId_ []string
37701	for _, v := range siteId {
37702		siteId_ = append(siteId_, fmt.Sprint(v))
37703	}
37704	c.urlParams_.SetMulti("siteId", siteId_)
37705	return c
37706}
37707
37708// SortField sets the optional parameter "sortField": Field by which to
37709// sort the list.
37710//
37711// Possible values:
37712//   "ID" (default)
37713//   "NAME"
37714func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
37715	c.urlParams_.Set("sortField", sortField)
37716	return c
37717}
37718
37719// SortOrder sets the optional parameter "sortOrder": Order of sorted
37720// results.
37721//
37722// Possible values:
37723//   "ASCENDING" (default)
37724//   "DESCENDING"
37725func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
37726	c.urlParams_.Set("sortOrder", sortOrder)
37727	return c
37728}
37729
37730// Fields allows partial responses to be retrieved. See
37731// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37732// for more information.
37733func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
37734	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37735	return c
37736}
37737
37738// IfNoneMatch sets the optional parameter which makes the operation
37739// fail if the object's ETag matches the given value. This is useful for
37740// getting updates only after the object has changed since the last
37741// request. Use googleapi.IsNotModified to check whether the response
37742// error from Do is the result of In-None-Match.
37743func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
37744	c.ifNoneMatch_ = entityTag
37745	return c
37746}
37747
37748// Context sets the context to be used in this call's Do method. Any
37749// pending HTTP request will be aborted if the provided context is
37750// canceled.
37751func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
37752	c.ctx_ = ctx
37753	return c
37754}
37755
37756// Header returns an http.Header that can be modified by the caller to
37757// add HTTP headers to the request.
37758func (c *OrdersListCall) Header() http.Header {
37759	if c.header_ == nil {
37760		c.header_ = make(http.Header)
37761	}
37762	return c.header_
37763}
37764
37765func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
37766	reqHeaders := make(http.Header)
37767	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
37768	for k, v := range c.header_ {
37769		reqHeaders[k] = v
37770	}
37771	reqHeaders.Set("User-Agent", c.s.userAgent())
37772	if c.ifNoneMatch_ != "" {
37773		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37774	}
37775	var body io.Reader = nil
37776	c.urlParams_.Set("alt", alt)
37777	c.urlParams_.Set("prettyPrint", "false")
37778	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
37779	urls += "?" + c.urlParams_.Encode()
37780	req, err := http.NewRequest("GET", urls, body)
37781	if err != nil {
37782		return nil, err
37783	}
37784	req.Header = reqHeaders
37785	googleapi.Expand(req.URL, map[string]string{
37786		"profileId": strconv.FormatInt(c.profileId, 10),
37787		"projectId": strconv.FormatInt(c.projectId, 10),
37788	})
37789	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37790}
37791
37792// Do executes the "dfareporting.orders.list" call.
37793// Exactly one of *OrdersListResponse or error will be non-nil. Any
37794// non-2xx status code is an error. Response headers are in either
37795// *OrdersListResponse.ServerResponse.Header or (if a response was
37796// returned at all) in error.(*googleapi.Error).Header. Use
37797// googleapi.IsNotModified to check whether the returned error was
37798// because http.StatusNotModified was returned.
37799func (c *OrdersListCall) Do(opts ...googleapi.CallOption) (*OrdersListResponse, error) {
37800	gensupport.SetOptions(c.urlParams_, opts...)
37801	res, err := c.doRequest("json")
37802	if res != nil && res.StatusCode == http.StatusNotModified {
37803		if res.Body != nil {
37804			res.Body.Close()
37805		}
37806		return nil, &googleapi.Error{
37807			Code:   res.StatusCode,
37808			Header: res.Header,
37809		}
37810	}
37811	if err != nil {
37812		return nil, err
37813	}
37814	defer googleapi.CloseBody(res)
37815	if err := googleapi.CheckResponse(res); err != nil {
37816		return nil, err
37817	}
37818	ret := &OrdersListResponse{
37819		ServerResponse: googleapi.ServerResponse{
37820			Header:         res.Header,
37821			HTTPStatusCode: res.StatusCode,
37822		},
37823	}
37824	target := &ret
37825	if err := gensupport.DecodeResponse(target, res); err != nil {
37826		return nil, err
37827	}
37828	return ret, nil
37829	// {
37830	//   "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
37831	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders",
37832	//   "httpMethod": "GET",
37833	//   "id": "dfareporting.orders.list",
37834	//   "parameterOrder": [
37835	//     "profileId",
37836	//     "projectId"
37837	//   ],
37838	//   "parameters": {
37839	//     "ids": {
37840	//       "description": "Select only orders with these IDs.",
37841	//       "format": "int64",
37842	//       "location": "query",
37843	//       "repeated": true,
37844	//       "type": "string"
37845	//     },
37846	//     "maxResults": {
37847	//       "default": "1000",
37848	//       "description": "Maximum number of results to return.",
37849	//       "format": "int32",
37850	//       "location": "query",
37851	//       "maximum": "1000",
37852	//       "minimum": "0",
37853	//       "type": "integer"
37854	//     },
37855	//     "pageToken": {
37856	//       "description": "Value of the nextPageToken from the previous result page.",
37857	//       "location": "query",
37858	//       "type": "string"
37859	//     },
37860	//     "profileId": {
37861	//       "description": "User profile ID associated with this request.",
37862	//       "format": "int64",
37863	//       "location": "path",
37864	//       "required": true,
37865	//       "type": "string"
37866	//     },
37867	//     "projectId": {
37868	//       "description": "Project ID for orders.",
37869	//       "format": "int64",
37870	//       "location": "path",
37871	//       "required": true,
37872	//       "type": "string"
37873	//     },
37874	//     "searchString": {
37875	//       "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\".",
37876	//       "location": "query",
37877	//       "type": "string"
37878	//     },
37879	//     "siteId": {
37880	//       "description": "Select only orders that are associated with these site IDs.",
37881	//       "format": "int64",
37882	//       "location": "query",
37883	//       "repeated": true,
37884	//       "type": "string"
37885	//     },
37886	//     "sortField": {
37887	//       "default": "ID",
37888	//       "description": "Field by which to sort the list.",
37889	//       "enum": [
37890	//         "ID",
37891	//         "NAME"
37892	//       ],
37893	//       "enumDescriptions": [
37894	//         "",
37895	//         ""
37896	//       ],
37897	//       "location": "query",
37898	//       "type": "string"
37899	//     },
37900	//     "sortOrder": {
37901	//       "default": "ASCENDING",
37902	//       "description": "Order of sorted results.",
37903	//       "enum": [
37904	//         "ASCENDING",
37905	//         "DESCENDING"
37906	//       ],
37907	//       "enumDescriptions": [
37908	//         "",
37909	//         ""
37910	//       ],
37911	//       "location": "query",
37912	//       "type": "string"
37913	//     }
37914	//   },
37915	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders",
37916	//   "response": {
37917	//     "$ref": "OrdersListResponse"
37918	//   },
37919	//   "scopes": [
37920	//     "https://www.googleapis.com/auth/dfatrafficking"
37921	//   ]
37922	// }
37923
37924}
37925
37926// Pages invokes f for each page of results.
37927// A non-nil error returned from f will halt the iteration.
37928// The provided context supersedes any context provided to the Context method.
37929func (c *OrdersListCall) Pages(ctx context.Context, f func(*OrdersListResponse) error) error {
37930	c.ctx_ = ctx
37931	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
37932	for {
37933		x, err := c.Do()
37934		if err != nil {
37935			return err
37936		}
37937		if err := f(x); err != nil {
37938			return err
37939		}
37940		if x.NextPageToken == "" {
37941			return nil
37942		}
37943		c.PageToken(x.NextPageToken)
37944	}
37945}
37946
37947// method id "dfareporting.placementGroups.get":
37948
37949type PlacementGroupsGetCall struct {
37950	s            *Service
37951	profileId    int64
37952	id           int64
37953	urlParams_   gensupport.URLParams
37954	ifNoneMatch_ string
37955	ctx_         context.Context
37956	header_      http.Header
37957}
37958
37959// Get: Gets one placement group by ID.
37960//
37961// - id: Placement group ID.
37962// - profileId: User profile ID associated with this request.
37963func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
37964	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37965	c.profileId = profileId
37966	c.id = id
37967	return c
37968}
37969
37970// Fields allows partial responses to be retrieved. See
37971// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37972// for more information.
37973func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
37974	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37975	return c
37976}
37977
37978// IfNoneMatch sets the optional parameter which makes the operation
37979// fail if the object's ETag matches the given value. This is useful for
37980// getting updates only after the object has changed since the last
37981// request. Use googleapi.IsNotModified to check whether the response
37982// error from Do is the result of In-None-Match.
37983func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
37984	c.ifNoneMatch_ = entityTag
37985	return c
37986}
37987
37988// Context sets the context to be used in this call's Do method. Any
37989// pending HTTP request will be aborted if the provided context is
37990// canceled.
37991func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
37992	c.ctx_ = ctx
37993	return c
37994}
37995
37996// Header returns an http.Header that can be modified by the caller to
37997// add HTTP headers to the request.
37998func (c *PlacementGroupsGetCall) Header() http.Header {
37999	if c.header_ == nil {
38000		c.header_ = make(http.Header)
38001	}
38002	return c.header_
38003}
38004
38005func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
38006	reqHeaders := make(http.Header)
38007	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
38008	for k, v := range c.header_ {
38009		reqHeaders[k] = v
38010	}
38011	reqHeaders.Set("User-Agent", c.s.userAgent())
38012	if c.ifNoneMatch_ != "" {
38013		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38014	}
38015	var body io.Reader = nil
38016	c.urlParams_.Set("alt", alt)
38017	c.urlParams_.Set("prettyPrint", "false")
38018	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
38019	urls += "?" + c.urlParams_.Encode()
38020	req, err := http.NewRequest("GET", urls, body)
38021	if err != nil {
38022		return nil, err
38023	}
38024	req.Header = reqHeaders
38025	googleapi.Expand(req.URL, map[string]string{
38026		"profileId": strconv.FormatInt(c.profileId, 10),
38027		"id":        strconv.FormatInt(c.id, 10),
38028	})
38029	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38030}
38031
38032// Do executes the "dfareporting.placementGroups.get" call.
38033// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38034// status code is an error. Response headers are in either
38035// *PlacementGroup.ServerResponse.Header or (if a response was returned
38036// at all) in error.(*googleapi.Error).Header. Use
38037// googleapi.IsNotModified to check whether the returned error was
38038// because http.StatusNotModified was returned.
38039func (c *PlacementGroupsGetCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38040	gensupport.SetOptions(c.urlParams_, opts...)
38041	res, err := c.doRequest("json")
38042	if res != nil && res.StatusCode == http.StatusNotModified {
38043		if res.Body != nil {
38044			res.Body.Close()
38045		}
38046		return nil, &googleapi.Error{
38047			Code:   res.StatusCode,
38048			Header: res.Header,
38049		}
38050	}
38051	if err != nil {
38052		return nil, err
38053	}
38054	defer googleapi.CloseBody(res)
38055	if err := googleapi.CheckResponse(res); err != nil {
38056		return nil, err
38057	}
38058	ret := &PlacementGroup{
38059		ServerResponse: googleapi.ServerResponse{
38060			Header:         res.Header,
38061			HTTPStatusCode: res.StatusCode,
38062		},
38063	}
38064	target := &ret
38065	if err := gensupport.DecodeResponse(target, res); err != nil {
38066		return nil, err
38067	}
38068	return ret, nil
38069	// {
38070	//   "description": "Gets one placement group by ID.",
38071	//   "flatPath": "userprofiles/{profileId}/placementGroups/{id}",
38072	//   "httpMethod": "GET",
38073	//   "id": "dfareporting.placementGroups.get",
38074	//   "parameterOrder": [
38075	//     "profileId",
38076	//     "id"
38077	//   ],
38078	//   "parameters": {
38079	//     "id": {
38080	//       "description": "Placement group ID.",
38081	//       "format": "int64",
38082	//       "location": "path",
38083	//       "required": true,
38084	//       "type": "string"
38085	//     },
38086	//     "profileId": {
38087	//       "description": "User profile ID associated with this request.",
38088	//       "format": "int64",
38089	//       "location": "path",
38090	//       "required": true,
38091	//       "type": "string"
38092	//     }
38093	//   },
38094	//   "path": "userprofiles/{profileId}/placementGroups/{id}",
38095	//   "response": {
38096	//     "$ref": "PlacementGroup"
38097	//   },
38098	//   "scopes": [
38099	//     "https://www.googleapis.com/auth/dfatrafficking"
38100	//   ]
38101	// }
38102
38103}
38104
38105// method id "dfareporting.placementGroups.insert":
38106
38107type PlacementGroupsInsertCall struct {
38108	s              *Service
38109	profileId      int64
38110	placementgroup *PlacementGroup
38111	urlParams_     gensupport.URLParams
38112	ctx_           context.Context
38113	header_        http.Header
38114}
38115
38116// Insert: Inserts a new placement group.
38117//
38118// - profileId: User profile ID associated with this request.
38119func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
38120	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38121	c.profileId = profileId
38122	c.placementgroup = placementgroup
38123	return c
38124}
38125
38126// Fields allows partial responses to be retrieved. See
38127// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38128// for more information.
38129func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
38130	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38131	return c
38132}
38133
38134// Context sets the context to be used in this call's Do method. Any
38135// pending HTTP request will be aborted if the provided context is
38136// canceled.
38137func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
38138	c.ctx_ = ctx
38139	return c
38140}
38141
38142// Header returns an http.Header that can be modified by the caller to
38143// add HTTP headers to the request.
38144func (c *PlacementGroupsInsertCall) Header() http.Header {
38145	if c.header_ == nil {
38146		c.header_ = make(http.Header)
38147	}
38148	return c.header_
38149}
38150
38151func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
38152	reqHeaders := make(http.Header)
38153	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
38154	for k, v := range c.header_ {
38155		reqHeaders[k] = v
38156	}
38157	reqHeaders.Set("User-Agent", c.s.userAgent())
38158	var body io.Reader = nil
38159	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
38160	if err != nil {
38161		return nil, err
38162	}
38163	reqHeaders.Set("Content-Type", "application/json")
38164	c.urlParams_.Set("alt", alt)
38165	c.urlParams_.Set("prettyPrint", "false")
38166	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38167	urls += "?" + c.urlParams_.Encode()
38168	req, err := http.NewRequest("POST", urls, body)
38169	if err != nil {
38170		return nil, err
38171	}
38172	req.Header = reqHeaders
38173	googleapi.Expand(req.URL, map[string]string{
38174		"profileId": strconv.FormatInt(c.profileId, 10),
38175	})
38176	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38177}
38178
38179// Do executes the "dfareporting.placementGroups.insert" call.
38180// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38181// status code is an error. Response headers are in either
38182// *PlacementGroup.ServerResponse.Header or (if a response was returned
38183// at all) in error.(*googleapi.Error).Header. Use
38184// googleapi.IsNotModified to check whether the returned error was
38185// because http.StatusNotModified was returned.
38186func (c *PlacementGroupsInsertCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38187	gensupport.SetOptions(c.urlParams_, opts...)
38188	res, err := c.doRequest("json")
38189	if res != nil && res.StatusCode == http.StatusNotModified {
38190		if res.Body != nil {
38191			res.Body.Close()
38192		}
38193		return nil, &googleapi.Error{
38194			Code:   res.StatusCode,
38195			Header: res.Header,
38196		}
38197	}
38198	if err != nil {
38199		return nil, err
38200	}
38201	defer googleapi.CloseBody(res)
38202	if err := googleapi.CheckResponse(res); err != nil {
38203		return nil, err
38204	}
38205	ret := &PlacementGroup{
38206		ServerResponse: googleapi.ServerResponse{
38207			Header:         res.Header,
38208			HTTPStatusCode: res.StatusCode,
38209		},
38210	}
38211	target := &ret
38212	if err := gensupport.DecodeResponse(target, res); err != nil {
38213		return nil, err
38214	}
38215	return ret, nil
38216	// {
38217	//   "description": "Inserts a new placement group.",
38218	//   "flatPath": "userprofiles/{profileId}/placementGroups",
38219	//   "httpMethod": "POST",
38220	//   "id": "dfareporting.placementGroups.insert",
38221	//   "parameterOrder": [
38222	//     "profileId"
38223	//   ],
38224	//   "parameters": {
38225	//     "profileId": {
38226	//       "description": "User profile ID associated with this request.",
38227	//       "format": "int64",
38228	//       "location": "path",
38229	//       "required": true,
38230	//       "type": "string"
38231	//     }
38232	//   },
38233	//   "path": "userprofiles/{profileId}/placementGroups",
38234	//   "request": {
38235	//     "$ref": "PlacementGroup"
38236	//   },
38237	//   "response": {
38238	//     "$ref": "PlacementGroup"
38239	//   },
38240	//   "scopes": [
38241	//     "https://www.googleapis.com/auth/dfatrafficking"
38242	//   ]
38243	// }
38244
38245}
38246
38247// method id "dfareporting.placementGroups.list":
38248
38249type PlacementGroupsListCall struct {
38250	s            *Service
38251	profileId    int64
38252	urlParams_   gensupport.URLParams
38253	ifNoneMatch_ string
38254	ctx_         context.Context
38255	header_      http.Header
38256}
38257
38258// List: Retrieves a list of placement groups, possibly filtered. This
38259// method supports paging.
38260//
38261// - profileId: User profile ID associated with this request.
38262func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
38263	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38264	c.profileId = profileId
38265	return c
38266}
38267
38268// AdvertiserIds sets the optional parameter "advertiserIds": Select
38269// only placement groups that belong to these advertisers.
38270func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementGroupsListCall {
38271	var advertiserIds_ []string
38272	for _, v := range advertiserIds {
38273		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
38274	}
38275	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
38276	return c
38277}
38278
38279// Archived sets the optional parameter "archived": Select only archived
38280// placements. Don't set this field to select both archived and
38281// non-archived placements.
38282func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
38283	c.urlParams_.Set("archived", fmt.Sprint(archived))
38284	return c
38285}
38286
38287// CampaignIds sets the optional parameter "campaignIds": Select only
38288// placement groups that belong to these campaigns.
38289func (c *PlacementGroupsListCall) CampaignIds(campaignIds ...int64) *PlacementGroupsListCall {
38290	var campaignIds_ []string
38291	for _, v := range campaignIds {
38292		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
38293	}
38294	c.urlParams_.SetMulti("campaignIds", campaignIds_)
38295	return c
38296}
38297
38298// ContentCategoryIds sets the optional parameter "contentCategoryIds":
38299// Select only placement groups that are associated with these content
38300// categories.
38301func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementGroupsListCall {
38302	var contentCategoryIds_ []string
38303	for _, v := range contentCategoryIds {
38304		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
38305	}
38306	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
38307	return c
38308}
38309
38310// DirectorySiteIds sets the optional parameter "directorySiteIds":
38311// Select only placement groups that are associated with these directory
38312// sites.
38313func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementGroupsListCall {
38314	var directorySiteIds_ []string
38315	for _, v := range directorySiteIds {
38316		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
38317	}
38318	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
38319	return c
38320}
38321
38322// Ids sets the optional parameter "ids": Select only placement groups
38323// with these IDs.
38324func (c *PlacementGroupsListCall) Ids(ids ...int64) *PlacementGroupsListCall {
38325	var ids_ []string
38326	for _, v := range ids {
38327		ids_ = append(ids_, fmt.Sprint(v))
38328	}
38329	c.urlParams_.SetMulti("ids", ids_)
38330	return c
38331}
38332
38333// MaxEndDate sets the optional parameter "maxEndDate": Select only
38334// placements or placement groups whose end date is on or before the
38335// specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
38336func (c *PlacementGroupsListCall) MaxEndDate(maxEndDate string) *PlacementGroupsListCall {
38337	c.urlParams_.Set("maxEndDate", maxEndDate)
38338	return c
38339}
38340
38341// MaxResults sets the optional parameter "maxResults": Maximum number
38342// of results to return.
38343func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
38344	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
38345	return c
38346}
38347
38348// MaxStartDate sets the optional parameter "maxStartDate": Select only
38349// placements or placement groups whose start date is on or before the
38350// specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
38351func (c *PlacementGroupsListCall) MaxStartDate(maxStartDate string) *PlacementGroupsListCall {
38352	c.urlParams_.Set("maxStartDate", maxStartDate)
38353	return c
38354}
38355
38356// MinEndDate sets the optional parameter "minEndDate": Select only
38357// placements or placement groups whose end date is on or after the
38358// specified minEndDate. The date should be formatted as "yyyy-MM-dd".
38359func (c *PlacementGroupsListCall) MinEndDate(minEndDate string) *PlacementGroupsListCall {
38360	c.urlParams_.Set("minEndDate", minEndDate)
38361	return c
38362}
38363
38364// MinStartDate sets the optional parameter "minStartDate": Select only
38365// placements or placement groups whose start date is on or after the
38366// specified minStartDate. The date should be formatted as "yyyy-MM-dd".
38367func (c *PlacementGroupsListCall) MinStartDate(minStartDate string) *PlacementGroupsListCall {
38368	c.urlParams_.Set("minStartDate", minStartDate)
38369	return c
38370}
38371
38372// PageToken sets the optional parameter "pageToken": Value of the
38373// nextPageToken from the previous result page.
38374func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
38375	c.urlParams_.Set("pageToken", pageToken)
38376	return c
38377}
38378
38379// PlacementGroupType sets the optional parameter "placementGroupType":
38380// Select only placement groups belonging with this group type. A
38381// package is a simple group of placements that acts as a single pricing
38382// point for a group of tags. A roadblock is a group of placements that
38383// not only acts as a single pricing point but also assumes that all the
38384// tags in it will be served at the same time. A roadblock requires one
38385// of its assigned placements to be marked as primary for reporting.
38386//
38387// Possible values:
38388//   "PLACEMENT_PACKAGE"
38389//   "PLACEMENT_ROADBLOCK"
38390func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
38391	c.urlParams_.Set("placementGroupType", placementGroupType)
38392	return c
38393}
38394
38395// PlacementStrategyIds sets the optional parameter
38396// "placementStrategyIds": Select only placement groups that are
38397// associated with these placement strategies.
38398func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementGroupsListCall {
38399	var placementStrategyIds_ []string
38400	for _, v := range placementStrategyIds {
38401		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
38402	}
38403	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
38404	return c
38405}
38406
38407// PricingTypes sets the optional parameter "pricingTypes": Select only
38408// placement groups with these pricing types.
38409//
38410// Possible values:
38411//   "PRICING_TYPE_CPM"
38412//   "PRICING_TYPE_CPC"
38413//   "PRICING_TYPE_CPA"
38414//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
38415//   "PRICING_TYPE_FLAT_RATE_CLICKS"
38416//   "PRICING_TYPE_CPM_ACTIVEVIEW"
38417func (c *PlacementGroupsListCall) PricingTypes(pricingTypes ...string) *PlacementGroupsListCall {
38418	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
38419	return c
38420}
38421
38422// SearchString sets the optional parameter "searchString": Allows
38423// searching for placement groups by name or ID. Wildcards (*) are
38424// allowed. For example, "placement*2015" will return placement groups
38425// with names like "placement group June 2015", "placement group May
38426// 2015", or simply "placements 2015". Most of the searches also add
38427// wildcards implicitly at the start and the end of the search string.
38428// For example, a search string of "placementgroup" will match placement
38429// groups with name "my placementgroup", "placementgroup 2015", or
38430// simply "placementgroup".
38431func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
38432	c.urlParams_.Set("searchString", searchString)
38433	return c
38434}
38435
38436// SiteIds sets the optional parameter "siteIds": Select only placement
38437// groups that are associated with these sites.
38438func (c *PlacementGroupsListCall) SiteIds(siteIds ...int64) *PlacementGroupsListCall {
38439	var siteIds_ []string
38440	for _, v := range siteIds {
38441		siteIds_ = append(siteIds_, fmt.Sprint(v))
38442	}
38443	c.urlParams_.SetMulti("siteIds", siteIds_)
38444	return c
38445}
38446
38447// SortField sets the optional parameter "sortField": Field by which to
38448// sort the list.
38449//
38450// Possible values:
38451//   "ID" (default)
38452//   "NAME"
38453func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
38454	c.urlParams_.Set("sortField", sortField)
38455	return c
38456}
38457
38458// SortOrder sets the optional parameter "sortOrder": Order of sorted
38459// results.
38460//
38461// Possible values:
38462//   "ASCENDING" (default)
38463//   "DESCENDING"
38464func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
38465	c.urlParams_.Set("sortOrder", sortOrder)
38466	return c
38467}
38468
38469// Fields allows partial responses to be retrieved. See
38470// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38471// for more information.
38472func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
38473	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38474	return c
38475}
38476
38477// IfNoneMatch sets the optional parameter which makes the operation
38478// fail if the object's ETag matches the given value. This is useful for
38479// getting updates only after the object has changed since the last
38480// request. Use googleapi.IsNotModified to check whether the response
38481// error from Do is the result of In-None-Match.
38482func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
38483	c.ifNoneMatch_ = entityTag
38484	return c
38485}
38486
38487// Context sets the context to be used in this call's Do method. Any
38488// pending HTTP request will be aborted if the provided context is
38489// canceled.
38490func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
38491	c.ctx_ = ctx
38492	return c
38493}
38494
38495// Header returns an http.Header that can be modified by the caller to
38496// add HTTP headers to the request.
38497func (c *PlacementGroupsListCall) Header() http.Header {
38498	if c.header_ == nil {
38499		c.header_ = make(http.Header)
38500	}
38501	return c.header_
38502}
38503
38504func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
38505	reqHeaders := make(http.Header)
38506	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
38507	for k, v := range c.header_ {
38508		reqHeaders[k] = v
38509	}
38510	reqHeaders.Set("User-Agent", c.s.userAgent())
38511	if c.ifNoneMatch_ != "" {
38512		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38513	}
38514	var body io.Reader = nil
38515	c.urlParams_.Set("alt", alt)
38516	c.urlParams_.Set("prettyPrint", "false")
38517	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38518	urls += "?" + c.urlParams_.Encode()
38519	req, err := http.NewRequest("GET", urls, body)
38520	if err != nil {
38521		return nil, err
38522	}
38523	req.Header = reqHeaders
38524	googleapi.Expand(req.URL, map[string]string{
38525		"profileId": strconv.FormatInt(c.profileId, 10),
38526	})
38527	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38528}
38529
38530// Do executes the "dfareporting.placementGroups.list" call.
38531// Exactly one of *PlacementGroupsListResponse or error will be non-nil.
38532// Any non-2xx status code is an error. Response headers are in either
38533// *PlacementGroupsListResponse.ServerResponse.Header or (if a response
38534// was returned at all) in error.(*googleapi.Error).Header. Use
38535// googleapi.IsNotModified to check whether the returned error was
38536// because http.StatusNotModified was returned.
38537func (c *PlacementGroupsListCall) Do(opts ...googleapi.CallOption) (*PlacementGroupsListResponse, error) {
38538	gensupport.SetOptions(c.urlParams_, opts...)
38539	res, err := c.doRequest("json")
38540	if res != nil && res.StatusCode == http.StatusNotModified {
38541		if res.Body != nil {
38542			res.Body.Close()
38543		}
38544		return nil, &googleapi.Error{
38545			Code:   res.StatusCode,
38546			Header: res.Header,
38547		}
38548	}
38549	if err != nil {
38550		return nil, err
38551	}
38552	defer googleapi.CloseBody(res)
38553	if err := googleapi.CheckResponse(res); err != nil {
38554		return nil, err
38555	}
38556	ret := &PlacementGroupsListResponse{
38557		ServerResponse: googleapi.ServerResponse{
38558			Header:         res.Header,
38559			HTTPStatusCode: res.StatusCode,
38560		},
38561	}
38562	target := &ret
38563	if err := gensupport.DecodeResponse(target, res); err != nil {
38564		return nil, err
38565	}
38566	return ret, nil
38567	// {
38568	//   "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
38569	//   "flatPath": "userprofiles/{profileId}/placementGroups",
38570	//   "httpMethod": "GET",
38571	//   "id": "dfareporting.placementGroups.list",
38572	//   "parameterOrder": [
38573	//     "profileId"
38574	//   ],
38575	//   "parameters": {
38576	//     "advertiserIds": {
38577	//       "description": "Select only placement groups that belong to these advertisers.",
38578	//       "format": "int64",
38579	//       "location": "query",
38580	//       "repeated": true,
38581	//       "type": "string"
38582	//     },
38583	//     "archived": {
38584	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
38585	//       "location": "query",
38586	//       "type": "boolean"
38587	//     },
38588	//     "campaignIds": {
38589	//       "description": "Select only placement groups that belong to these campaigns.",
38590	//       "format": "int64",
38591	//       "location": "query",
38592	//       "repeated": true,
38593	//       "type": "string"
38594	//     },
38595	//     "contentCategoryIds": {
38596	//       "description": "Select only placement groups that are associated with these content categories.",
38597	//       "format": "int64",
38598	//       "location": "query",
38599	//       "repeated": true,
38600	//       "type": "string"
38601	//     },
38602	//     "directorySiteIds": {
38603	//       "description": "Select only placement groups that are associated with these directory sites.",
38604	//       "format": "int64",
38605	//       "location": "query",
38606	//       "repeated": true,
38607	//       "type": "string"
38608	//     },
38609	//     "ids": {
38610	//       "description": "Select only placement groups with these IDs.",
38611	//       "format": "int64",
38612	//       "location": "query",
38613	//       "repeated": true,
38614	//       "type": "string"
38615	//     },
38616	//     "maxEndDate": {
38617	//       "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\".",
38618	//       "location": "query",
38619	//       "type": "string"
38620	//     },
38621	//     "maxResults": {
38622	//       "default": "800",
38623	//       "description": "Maximum number of results to return.",
38624	//       "format": "int32",
38625	//       "location": "query",
38626	//       "maximum": "800",
38627	//       "minimum": "0",
38628	//       "type": "integer"
38629	//     },
38630	//     "maxStartDate": {
38631	//       "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\".",
38632	//       "location": "query",
38633	//       "type": "string"
38634	//     },
38635	//     "minEndDate": {
38636	//       "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\".",
38637	//       "location": "query",
38638	//       "type": "string"
38639	//     },
38640	//     "minStartDate": {
38641	//       "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\".",
38642	//       "location": "query",
38643	//       "type": "string"
38644	//     },
38645	//     "pageToken": {
38646	//       "description": "Value of the nextPageToken from the previous result page.",
38647	//       "location": "query",
38648	//       "type": "string"
38649	//     },
38650	//     "placementGroupType": {
38651	//       "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.",
38652	//       "enum": [
38653	//         "PLACEMENT_PACKAGE",
38654	//         "PLACEMENT_ROADBLOCK"
38655	//       ],
38656	//       "enumDescriptions": [
38657	//         "",
38658	//         ""
38659	//       ],
38660	//       "location": "query",
38661	//       "type": "string"
38662	//     },
38663	//     "placementStrategyIds": {
38664	//       "description": "Select only placement groups that are associated with these placement strategies.",
38665	//       "format": "int64",
38666	//       "location": "query",
38667	//       "repeated": true,
38668	//       "type": "string"
38669	//     },
38670	//     "pricingTypes": {
38671	//       "description": "Select only placement groups with these pricing types.",
38672	//       "enum": [
38673	//         "PRICING_TYPE_CPM",
38674	//         "PRICING_TYPE_CPC",
38675	//         "PRICING_TYPE_CPA",
38676	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
38677	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
38678	//         "PRICING_TYPE_CPM_ACTIVEVIEW"
38679	//       ],
38680	//       "enumDescriptions": [
38681	//         "",
38682	//         "",
38683	//         "",
38684	//         "",
38685	//         "",
38686	//         ""
38687	//       ],
38688	//       "location": "query",
38689	//       "repeated": true,
38690	//       "type": "string"
38691	//     },
38692	//     "profileId": {
38693	//       "description": "User profile ID associated with this request.",
38694	//       "format": "int64",
38695	//       "location": "path",
38696	//       "required": true,
38697	//       "type": "string"
38698	//     },
38699	//     "searchString": {
38700	//       "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\".",
38701	//       "location": "query",
38702	//       "type": "string"
38703	//     },
38704	//     "siteIds": {
38705	//       "description": "Select only placement groups that are associated with these sites.",
38706	//       "format": "int64",
38707	//       "location": "query",
38708	//       "repeated": true,
38709	//       "type": "string"
38710	//     },
38711	//     "sortField": {
38712	//       "default": "ID",
38713	//       "description": "Field by which to sort the list.",
38714	//       "enum": [
38715	//         "ID",
38716	//         "NAME"
38717	//       ],
38718	//       "enumDescriptions": [
38719	//         "",
38720	//         ""
38721	//       ],
38722	//       "location": "query",
38723	//       "type": "string"
38724	//     },
38725	//     "sortOrder": {
38726	//       "default": "ASCENDING",
38727	//       "description": "Order of sorted results.",
38728	//       "enum": [
38729	//         "ASCENDING",
38730	//         "DESCENDING"
38731	//       ],
38732	//       "enumDescriptions": [
38733	//         "",
38734	//         ""
38735	//       ],
38736	//       "location": "query",
38737	//       "type": "string"
38738	//     }
38739	//   },
38740	//   "path": "userprofiles/{profileId}/placementGroups",
38741	//   "response": {
38742	//     "$ref": "PlacementGroupsListResponse"
38743	//   },
38744	//   "scopes": [
38745	//     "https://www.googleapis.com/auth/dfatrafficking"
38746	//   ]
38747	// }
38748
38749}
38750
38751// Pages invokes f for each page of results.
38752// A non-nil error returned from f will halt the iteration.
38753// The provided context supersedes any context provided to the Context method.
38754func (c *PlacementGroupsListCall) Pages(ctx context.Context, f func(*PlacementGroupsListResponse) error) error {
38755	c.ctx_ = ctx
38756	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
38757	for {
38758		x, err := c.Do()
38759		if err != nil {
38760			return err
38761		}
38762		if err := f(x); err != nil {
38763			return err
38764		}
38765		if x.NextPageToken == "" {
38766			return nil
38767		}
38768		c.PageToken(x.NextPageToken)
38769	}
38770}
38771
38772// method id "dfareporting.placementGroups.patch":
38773
38774type PlacementGroupsPatchCall struct {
38775	s              *Service
38776	profileId      int64
38777	placementgroup *PlacementGroup
38778	urlParams_     gensupport.URLParams
38779	ctx_           context.Context
38780	header_        http.Header
38781}
38782
38783// Patch: Updates an existing placement group. This method supports
38784// patch semantics.
38785//
38786// - id: PlacementGroup ID.
38787// - profileId: User profile ID associated with this request.
38788func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
38789	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38790	c.profileId = profileId
38791	c.urlParams_.Set("id", fmt.Sprint(id))
38792	c.placementgroup = placementgroup
38793	return c
38794}
38795
38796// Fields allows partial responses to be retrieved. See
38797// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38798// for more information.
38799func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
38800	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38801	return c
38802}
38803
38804// Context sets the context to be used in this call's Do method. Any
38805// pending HTTP request will be aborted if the provided context is
38806// canceled.
38807func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
38808	c.ctx_ = ctx
38809	return c
38810}
38811
38812// Header returns an http.Header that can be modified by the caller to
38813// add HTTP headers to the request.
38814func (c *PlacementGroupsPatchCall) Header() http.Header {
38815	if c.header_ == nil {
38816		c.header_ = make(http.Header)
38817	}
38818	return c.header_
38819}
38820
38821func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
38822	reqHeaders := make(http.Header)
38823	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
38824	for k, v := range c.header_ {
38825		reqHeaders[k] = v
38826	}
38827	reqHeaders.Set("User-Agent", c.s.userAgent())
38828	var body io.Reader = nil
38829	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
38830	if err != nil {
38831		return nil, err
38832	}
38833	reqHeaders.Set("Content-Type", "application/json")
38834	c.urlParams_.Set("alt", alt)
38835	c.urlParams_.Set("prettyPrint", "false")
38836	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38837	urls += "?" + c.urlParams_.Encode()
38838	req, err := http.NewRequest("PATCH", urls, body)
38839	if err != nil {
38840		return nil, err
38841	}
38842	req.Header = reqHeaders
38843	googleapi.Expand(req.URL, map[string]string{
38844		"profileId": strconv.FormatInt(c.profileId, 10),
38845	})
38846	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38847}
38848
38849// Do executes the "dfareporting.placementGroups.patch" call.
38850// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38851// status code is an error. Response headers are in either
38852// *PlacementGroup.ServerResponse.Header or (if a response was returned
38853// at all) in error.(*googleapi.Error).Header. Use
38854// googleapi.IsNotModified to check whether the returned error was
38855// because http.StatusNotModified was returned.
38856func (c *PlacementGroupsPatchCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38857	gensupport.SetOptions(c.urlParams_, opts...)
38858	res, err := c.doRequest("json")
38859	if res != nil && res.StatusCode == http.StatusNotModified {
38860		if res.Body != nil {
38861			res.Body.Close()
38862		}
38863		return nil, &googleapi.Error{
38864			Code:   res.StatusCode,
38865			Header: res.Header,
38866		}
38867	}
38868	if err != nil {
38869		return nil, err
38870	}
38871	defer googleapi.CloseBody(res)
38872	if err := googleapi.CheckResponse(res); err != nil {
38873		return nil, err
38874	}
38875	ret := &PlacementGroup{
38876		ServerResponse: googleapi.ServerResponse{
38877			Header:         res.Header,
38878			HTTPStatusCode: res.StatusCode,
38879		},
38880	}
38881	target := &ret
38882	if err := gensupport.DecodeResponse(target, res); err != nil {
38883		return nil, err
38884	}
38885	return ret, nil
38886	// {
38887	//   "description": "Updates an existing placement group. This method supports patch semantics.",
38888	//   "flatPath": "userprofiles/{profileId}/placementGroups",
38889	//   "httpMethod": "PATCH",
38890	//   "id": "dfareporting.placementGroups.patch",
38891	//   "parameterOrder": [
38892	//     "profileId",
38893	//     "id"
38894	//   ],
38895	//   "parameters": {
38896	//     "id": {
38897	//       "description": "PlacementGroup ID.",
38898	//       "format": "int64",
38899	//       "location": "query",
38900	//       "required": true,
38901	//       "type": "string"
38902	//     },
38903	//     "profileId": {
38904	//       "description": "User profile ID associated with this request.",
38905	//       "format": "int64",
38906	//       "location": "path",
38907	//       "required": true,
38908	//       "type": "string"
38909	//     }
38910	//   },
38911	//   "path": "userprofiles/{profileId}/placementGroups",
38912	//   "request": {
38913	//     "$ref": "PlacementGroup"
38914	//   },
38915	//   "response": {
38916	//     "$ref": "PlacementGroup"
38917	//   },
38918	//   "scopes": [
38919	//     "https://www.googleapis.com/auth/dfatrafficking"
38920	//   ]
38921	// }
38922
38923}
38924
38925// method id "dfareporting.placementGroups.update":
38926
38927type PlacementGroupsUpdateCall struct {
38928	s              *Service
38929	profileId      int64
38930	placementgroup *PlacementGroup
38931	urlParams_     gensupport.URLParams
38932	ctx_           context.Context
38933	header_        http.Header
38934}
38935
38936// Update: Updates an existing placement group.
38937//
38938// - profileId: User profile ID associated with this request.
38939func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
38940	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38941	c.profileId = profileId
38942	c.placementgroup = placementgroup
38943	return c
38944}
38945
38946// Fields allows partial responses to be retrieved. See
38947// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38948// for more information.
38949func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
38950	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38951	return c
38952}
38953
38954// Context sets the context to be used in this call's Do method. Any
38955// pending HTTP request will be aborted if the provided context is
38956// canceled.
38957func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
38958	c.ctx_ = ctx
38959	return c
38960}
38961
38962// Header returns an http.Header that can be modified by the caller to
38963// add HTTP headers to the request.
38964func (c *PlacementGroupsUpdateCall) Header() http.Header {
38965	if c.header_ == nil {
38966		c.header_ = make(http.Header)
38967	}
38968	return c.header_
38969}
38970
38971func (c *PlacementGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
38972	reqHeaders := make(http.Header)
38973	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
38974	for k, v := range c.header_ {
38975		reqHeaders[k] = v
38976	}
38977	reqHeaders.Set("User-Agent", c.s.userAgent())
38978	var body io.Reader = nil
38979	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
38980	if err != nil {
38981		return nil, err
38982	}
38983	reqHeaders.Set("Content-Type", "application/json")
38984	c.urlParams_.Set("alt", alt)
38985	c.urlParams_.Set("prettyPrint", "false")
38986	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38987	urls += "?" + c.urlParams_.Encode()
38988	req, err := http.NewRequest("PUT", urls, body)
38989	if err != nil {
38990		return nil, err
38991	}
38992	req.Header = reqHeaders
38993	googleapi.Expand(req.URL, map[string]string{
38994		"profileId": strconv.FormatInt(c.profileId, 10),
38995	})
38996	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38997}
38998
38999// Do executes the "dfareporting.placementGroups.update" call.
39000// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
39001// status code is an error. Response headers are in either
39002// *PlacementGroup.ServerResponse.Header or (if a response was returned
39003// at all) in error.(*googleapi.Error).Header. Use
39004// googleapi.IsNotModified to check whether the returned error was
39005// because http.StatusNotModified was returned.
39006func (c *PlacementGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
39007	gensupport.SetOptions(c.urlParams_, opts...)
39008	res, err := c.doRequest("json")
39009	if res != nil && res.StatusCode == http.StatusNotModified {
39010		if res.Body != nil {
39011			res.Body.Close()
39012		}
39013		return nil, &googleapi.Error{
39014			Code:   res.StatusCode,
39015			Header: res.Header,
39016		}
39017	}
39018	if err != nil {
39019		return nil, err
39020	}
39021	defer googleapi.CloseBody(res)
39022	if err := googleapi.CheckResponse(res); err != nil {
39023		return nil, err
39024	}
39025	ret := &PlacementGroup{
39026		ServerResponse: googleapi.ServerResponse{
39027			Header:         res.Header,
39028			HTTPStatusCode: res.StatusCode,
39029		},
39030	}
39031	target := &ret
39032	if err := gensupport.DecodeResponse(target, res); err != nil {
39033		return nil, err
39034	}
39035	return ret, nil
39036	// {
39037	//   "description": "Updates an existing placement group.",
39038	//   "flatPath": "userprofiles/{profileId}/placementGroups",
39039	//   "httpMethod": "PUT",
39040	//   "id": "dfareporting.placementGroups.update",
39041	//   "parameterOrder": [
39042	//     "profileId"
39043	//   ],
39044	//   "parameters": {
39045	//     "profileId": {
39046	//       "description": "User profile ID associated with this request.",
39047	//       "format": "int64",
39048	//       "location": "path",
39049	//       "required": true,
39050	//       "type": "string"
39051	//     }
39052	//   },
39053	//   "path": "userprofiles/{profileId}/placementGroups",
39054	//   "request": {
39055	//     "$ref": "PlacementGroup"
39056	//   },
39057	//   "response": {
39058	//     "$ref": "PlacementGroup"
39059	//   },
39060	//   "scopes": [
39061	//     "https://www.googleapis.com/auth/dfatrafficking"
39062	//   ]
39063	// }
39064
39065}
39066
39067// method id "dfareporting.placementStrategies.delete":
39068
39069type PlacementStrategiesDeleteCall struct {
39070	s          *Service
39071	profileId  int64
39072	id         int64
39073	urlParams_ gensupport.URLParams
39074	ctx_       context.Context
39075	header_    http.Header
39076}
39077
39078// Delete: Deletes an existing placement strategy.
39079//
39080// - id: Placement strategy ID.
39081// - profileId: User profile ID associated with this request.
39082func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
39083	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39084	c.profileId = profileId
39085	c.id = id
39086	return c
39087}
39088
39089// Fields allows partial responses to be retrieved. See
39090// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39091// for more information.
39092func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
39093	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39094	return c
39095}
39096
39097// Context sets the context to be used in this call's Do method. Any
39098// pending HTTP request will be aborted if the provided context is
39099// canceled.
39100func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
39101	c.ctx_ = ctx
39102	return c
39103}
39104
39105// Header returns an http.Header that can be modified by the caller to
39106// add HTTP headers to the request.
39107func (c *PlacementStrategiesDeleteCall) Header() http.Header {
39108	if c.header_ == nil {
39109		c.header_ = make(http.Header)
39110	}
39111	return c.header_
39112}
39113
39114func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
39115	reqHeaders := make(http.Header)
39116	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
39117	for k, v := range c.header_ {
39118		reqHeaders[k] = v
39119	}
39120	reqHeaders.Set("User-Agent", c.s.userAgent())
39121	var body io.Reader = nil
39122	c.urlParams_.Set("alt", alt)
39123	c.urlParams_.Set("prettyPrint", "false")
39124	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
39125	urls += "?" + c.urlParams_.Encode()
39126	req, err := http.NewRequest("DELETE", urls, body)
39127	if err != nil {
39128		return nil, err
39129	}
39130	req.Header = reqHeaders
39131	googleapi.Expand(req.URL, map[string]string{
39132		"profileId": strconv.FormatInt(c.profileId, 10),
39133		"id":        strconv.FormatInt(c.id, 10),
39134	})
39135	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39136}
39137
39138// Do executes the "dfareporting.placementStrategies.delete" call.
39139func (c *PlacementStrategiesDeleteCall) Do(opts ...googleapi.CallOption) error {
39140	gensupport.SetOptions(c.urlParams_, opts...)
39141	res, err := c.doRequest("json")
39142	if err != nil {
39143		return err
39144	}
39145	defer googleapi.CloseBody(res)
39146	if err := googleapi.CheckResponse(res); err != nil {
39147		return err
39148	}
39149	return nil
39150	// {
39151	//   "description": "Deletes an existing placement strategy.",
39152	//   "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
39153	//   "httpMethod": "DELETE",
39154	//   "id": "dfareporting.placementStrategies.delete",
39155	//   "parameterOrder": [
39156	//     "profileId",
39157	//     "id"
39158	//   ],
39159	//   "parameters": {
39160	//     "id": {
39161	//       "description": "Placement strategy ID.",
39162	//       "format": "int64",
39163	//       "location": "path",
39164	//       "required": true,
39165	//       "type": "string"
39166	//     },
39167	//     "profileId": {
39168	//       "description": "User profile ID associated with this request.",
39169	//       "format": "int64",
39170	//       "location": "path",
39171	//       "required": true,
39172	//       "type": "string"
39173	//     }
39174	//   },
39175	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
39176	//   "scopes": [
39177	//     "https://www.googleapis.com/auth/dfatrafficking"
39178	//   ]
39179	// }
39180
39181}
39182
39183// method id "dfareporting.placementStrategies.get":
39184
39185type PlacementStrategiesGetCall struct {
39186	s            *Service
39187	profileId    int64
39188	id           int64
39189	urlParams_   gensupport.URLParams
39190	ifNoneMatch_ string
39191	ctx_         context.Context
39192	header_      http.Header
39193}
39194
39195// Get: Gets one placement strategy by ID.
39196//
39197// - id: Placement strategy ID.
39198// - profileId: User profile ID associated with this request.
39199func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
39200	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39201	c.profileId = profileId
39202	c.id = id
39203	return c
39204}
39205
39206// Fields allows partial responses to be retrieved. See
39207// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39208// for more information.
39209func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
39210	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39211	return c
39212}
39213
39214// IfNoneMatch sets the optional parameter which makes the operation
39215// fail if the object's ETag matches the given value. This is useful for
39216// getting updates only after the object has changed since the last
39217// request. Use googleapi.IsNotModified to check whether the response
39218// error from Do is the result of In-None-Match.
39219func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
39220	c.ifNoneMatch_ = entityTag
39221	return c
39222}
39223
39224// Context sets the context to be used in this call's Do method. Any
39225// pending HTTP request will be aborted if the provided context is
39226// canceled.
39227func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
39228	c.ctx_ = ctx
39229	return c
39230}
39231
39232// Header returns an http.Header that can be modified by the caller to
39233// add HTTP headers to the request.
39234func (c *PlacementStrategiesGetCall) Header() http.Header {
39235	if c.header_ == nil {
39236		c.header_ = make(http.Header)
39237	}
39238	return c.header_
39239}
39240
39241func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
39242	reqHeaders := make(http.Header)
39243	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
39244	for k, v := range c.header_ {
39245		reqHeaders[k] = v
39246	}
39247	reqHeaders.Set("User-Agent", c.s.userAgent())
39248	if c.ifNoneMatch_ != "" {
39249		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
39250	}
39251	var body io.Reader = nil
39252	c.urlParams_.Set("alt", alt)
39253	c.urlParams_.Set("prettyPrint", "false")
39254	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
39255	urls += "?" + c.urlParams_.Encode()
39256	req, err := http.NewRequest("GET", urls, body)
39257	if err != nil {
39258		return nil, err
39259	}
39260	req.Header = reqHeaders
39261	googleapi.Expand(req.URL, map[string]string{
39262		"profileId": strconv.FormatInt(c.profileId, 10),
39263		"id":        strconv.FormatInt(c.id, 10),
39264	})
39265	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39266}
39267
39268// Do executes the "dfareporting.placementStrategies.get" call.
39269// Exactly one of *PlacementStrategy or error will be non-nil. Any
39270// non-2xx status code is an error. Response headers are in either
39271// *PlacementStrategy.ServerResponse.Header or (if a response was
39272// returned at all) in error.(*googleapi.Error).Header. Use
39273// googleapi.IsNotModified to check whether the returned error was
39274// because http.StatusNotModified was returned.
39275func (c *PlacementStrategiesGetCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39276	gensupport.SetOptions(c.urlParams_, opts...)
39277	res, err := c.doRequest("json")
39278	if res != nil && res.StatusCode == http.StatusNotModified {
39279		if res.Body != nil {
39280			res.Body.Close()
39281		}
39282		return nil, &googleapi.Error{
39283			Code:   res.StatusCode,
39284			Header: res.Header,
39285		}
39286	}
39287	if err != nil {
39288		return nil, err
39289	}
39290	defer googleapi.CloseBody(res)
39291	if err := googleapi.CheckResponse(res); err != nil {
39292		return nil, err
39293	}
39294	ret := &PlacementStrategy{
39295		ServerResponse: googleapi.ServerResponse{
39296			Header:         res.Header,
39297			HTTPStatusCode: res.StatusCode,
39298		},
39299	}
39300	target := &ret
39301	if err := gensupport.DecodeResponse(target, res); err != nil {
39302		return nil, err
39303	}
39304	return ret, nil
39305	// {
39306	//   "description": "Gets one placement strategy by ID.",
39307	//   "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
39308	//   "httpMethod": "GET",
39309	//   "id": "dfareporting.placementStrategies.get",
39310	//   "parameterOrder": [
39311	//     "profileId",
39312	//     "id"
39313	//   ],
39314	//   "parameters": {
39315	//     "id": {
39316	//       "description": "Placement strategy ID.",
39317	//       "format": "int64",
39318	//       "location": "path",
39319	//       "required": true,
39320	//       "type": "string"
39321	//     },
39322	//     "profileId": {
39323	//       "description": "User profile ID associated with this request.",
39324	//       "format": "int64",
39325	//       "location": "path",
39326	//       "required": true,
39327	//       "type": "string"
39328	//     }
39329	//   },
39330	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
39331	//   "response": {
39332	//     "$ref": "PlacementStrategy"
39333	//   },
39334	//   "scopes": [
39335	//     "https://www.googleapis.com/auth/dfatrafficking"
39336	//   ]
39337	// }
39338
39339}
39340
39341// method id "dfareporting.placementStrategies.insert":
39342
39343type PlacementStrategiesInsertCall struct {
39344	s                 *Service
39345	profileId         int64
39346	placementstrategy *PlacementStrategy
39347	urlParams_        gensupport.URLParams
39348	ctx_              context.Context
39349	header_           http.Header
39350}
39351
39352// Insert: Inserts a new placement strategy.
39353//
39354// - profileId: User profile ID associated with this request.
39355func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
39356	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39357	c.profileId = profileId
39358	c.placementstrategy = placementstrategy
39359	return c
39360}
39361
39362// Fields allows partial responses to be retrieved. See
39363// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39364// for more information.
39365func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
39366	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39367	return c
39368}
39369
39370// Context sets the context to be used in this call's Do method. Any
39371// pending HTTP request will be aborted if the provided context is
39372// canceled.
39373func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
39374	c.ctx_ = ctx
39375	return c
39376}
39377
39378// Header returns an http.Header that can be modified by the caller to
39379// add HTTP headers to the request.
39380func (c *PlacementStrategiesInsertCall) Header() http.Header {
39381	if c.header_ == nil {
39382		c.header_ = make(http.Header)
39383	}
39384	return c.header_
39385}
39386
39387func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
39388	reqHeaders := make(http.Header)
39389	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
39390	for k, v := range c.header_ {
39391		reqHeaders[k] = v
39392	}
39393	reqHeaders.Set("User-Agent", c.s.userAgent())
39394	var body io.Reader = nil
39395	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39396	if err != nil {
39397		return nil, err
39398	}
39399	reqHeaders.Set("Content-Type", "application/json")
39400	c.urlParams_.Set("alt", alt)
39401	c.urlParams_.Set("prettyPrint", "false")
39402	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39403	urls += "?" + c.urlParams_.Encode()
39404	req, err := http.NewRequest("POST", urls, body)
39405	if err != nil {
39406		return nil, err
39407	}
39408	req.Header = reqHeaders
39409	googleapi.Expand(req.URL, map[string]string{
39410		"profileId": strconv.FormatInt(c.profileId, 10),
39411	})
39412	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39413}
39414
39415// Do executes the "dfareporting.placementStrategies.insert" call.
39416// Exactly one of *PlacementStrategy or error will be non-nil. Any
39417// non-2xx status code is an error. Response headers are in either
39418// *PlacementStrategy.ServerResponse.Header or (if a response was
39419// returned at all) in error.(*googleapi.Error).Header. Use
39420// googleapi.IsNotModified to check whether the returned error was
39421// because http.StatusNotModified was returned.
39422func (c *PlacementStrategiesInsertCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39423	gensupport.SetOptions(c.urlParams_, opts...)
39424	res, err := c.doRequest("json")
39425	if res != nil && res.StatusCode == http.StatusNotModified {
39426		if res.Body != nil {
39427			res.Body.Close()
39428		}
39429		return nil, &googleapi.Error{
39430			Code:   res.StatusCode,
39431			Header: res.Header,
39432		}
39433	}
39434	if err != nil {
39435		return nil, err
39436	}
39437	defer googleapi.CloseBody(res)
39438	if err := googleapi.CheckResponse(res); err != nil {
39439		return nil, err
39440	}
39441	ret := &PlacementStrategy{
39442		ServerResponse: googleapi.ServerResponse{
39443			Header:         res.Header,
39444			HTTPStatusCode: res.StatusCode,
39445		},
39446	}
39447	target := &ret
39448	if err := gensupport.DecodeResponse(target, res); err != nil {
39449		return nil, err
39450	}
39451	return ret, nil
39452	// {
39453	//   "description": "Inserts a new placement strategy.",
39454	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
39455	//   "httpMethod": "POST",
39456	//   "id": "dfareporting.placementStrategies.insert",
39457	//   "parameterOrder": [
39458	//     "profileId"
39459	//   ],
39460	//   "parameters": {
39461	//     "profileId": {
39462	//       "description": "User profile ID associated with this request.",
39463	//       "format": "int64",
39464	//       "location": "path",
39465	//       "required": true,
39466	//       "type": "string"
39467	//     }
39468	//   },
39469	//   "path": "userprofiles/{profileId}/placementStrategies",
39470	//   "request": {
39471	//     "$ref": "PlacementStrategy"
39472	//   },
39473	//   "response": {
39474	//     "$ref": "PlacementStrategy"
39475	//   },
39476	//   "scopes": [
39477	//     "https://www.googleapis.com/auth/dfatrafficking"
39478	//   ]
39479	// }
39480
39481}
39482
39483// method id "dfareporting.placementStrategies.list":
39484
39485type PlacementStrategiesListCall struct {
39486	s            *Service
39487	profileId    int64
39488	urlParams_   gensupport.URLParams
39489	ifNoneMatch_ string
39490	ctx_         context.Context
39491	header_      http.Header
39492}
39493
39494// List: Retrieves a list of placement strategies, possibly filtered.
39495// This method supports paging.
39496//
39497// - profileId: User profile ID associated with this request.
39498func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
39499	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39500	c.profileId = profileId
39501	return c
39502}
39503
39504// Ids sets the optional parameter "ids": Select only placement
39505// strategies with these IDs.
39506func (c *PlacementStrategiesListCall) Ids(ids ...int64) *PlacementStrategiesListCall {
39507	var ids_ []string
39508	for _, v := range ids {
39509		ids_ = append(ids_, fmt.Sprint(v))
39510	}
39511	c.urlParams_.SetMulti("ids", ids_)
39512	return c
39513}
39514
39515// MaxResults sets the optional parameter "maxResults": Maximum number
39516// of results to return.
39517func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
39518	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
39519	return c
39520}
39521
39522// PageToken sets the optional parameter "pageToken": Value of the
39523// nextPageToken from the previous result page.
39524func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
39525	c.urlParams_.Set("pageToken", pageToken)
39526	return c
39527}
39528
39529// SearchString sets the optional parameter "searchString": Allows
39530// searching for objects by name or ID. Wildcards (*) are allowed. For
39531// example, "placementstrategy*2015" will return objects with names like
39532// "placementstrategy June 2015", "placementstrategy April 2015", or
39533// simply "placementstrategy 2015". Most of the searches also add
39534// wildcards implicitly at the start and the end of the search string.
39535// For example, a search string of "placementstrategy" will match
39536// objects with name "my placementstrategy", "placementstrategy 2015",
39537// or simply "placementstrategy".
39538func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
39539	c.urlParams_.Set("searchString", searchString)
39540	return c
39541}
39542
39543// SortField sets the optional parameter "sortField": Field by which to
39544// sort the list.
39545//
39546// Possible values:
39547//   "ID" (default)
39548//   "NAME"
39549func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
39550	c.urlParams_.Set("sortField", sortField)
39551	return c
39552}
39553
39554// SortOrder sets the optional parameter "sortOrder": Order of sorted
39555// results.
39556//
39557// Possible values:
39558//   "ASCENDING" (default)
39559//   "DESCENDING"
39560func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
39561	c.urlParams_.Set("sortOrder", sortOrder)
39562	return c
39563}
39564
39565// Fields allows partial responses to be retrieved. See
39566// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39567// for more information.
39568func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
39569	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39570	return c
39571}
39572
39573// IfNoneMatch sets the optional parameter which makes the operation
39574// fail if the object's ETag matches the given value. This is useful for
39575// getting updates only after the object has changed since the last
39576// request. Use googleapi.IsNotModified to check whether the response
39577// error from Do is the result of In-None-Match.
39578func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
39579	c.ifNoneMatch_ = entityTag
39580	return c
39581}
39582
39583// Context sets the context to be used in this call's Do method. Any
39584// pending HTTP request will be aborted if the provided context is
39585// canceled.
39586func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
39587	c.ctx_ = ctx
39588	return c
39589}
39590
39591// Header returns an http.Header that can be modified by the caller to
39592// add HTTP headers to the request.
39593func (c *PlacementStrategiesListCall) Header() http.Header {
39594	if c.header_ == nil {
39595		c.header_ = make(http.Header)
39596	}
39597	return c.header_
39598}
39599
39600func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
39601	reqHeaders := make(http.Header)
39602	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
39603	for k, v := range c.header_ {
39604		reqHeaders[k] = v
39605	}
39606	reqHeaders.Set("User-Agent", c.s.userAgent())
39607	if c.ifNoneMatch_ != "" {
39608		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
39609	}
39610	var body io.Reader = nil
39611	c.urlParams_.Set("alt", alt)
39612	c.urlParams_.Set("prettyPrint", "false")
39613	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39614	urls += "?" + c.urlParams_.Encode()
39615	req, err := http.NewRequest("GET", urls, body)
39616	if err != nil {
39617		return nil, err
39618	}
39619	req.Header = reqHeaders
39620	googleapi.Expand(req.URL, map[string]string{
39621		"profileId": strconv.FormatInt(c.profileId, 10),
39622	})
39623	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39624}
39625
39626// Do executes the "dfareporting.placementStrategies.list" call.
39627// Exactly one of *PlacementStrategiesListResponse or error will be
39628// non-nil. Any non-2xx status code is an error. Response headers are in
39629// either *PlacementStrategiesListResponse.ServerResponse.Header or (if
39630// a response was returned at all) in error.(*googleapi.Error).Header.
39631// Use googleapi.IsNotModified to check whether the returned error was
39632// because http.StatusNotModified was returned.
39633func (c *PlacementStrategiesListCall) Do(opts ...googleapi.CallOption) (*PlacementStrategiesListResponse, error) {
39634	gensupport.SetOptions(c.urlParams_, opts...)
39635	res, err := c.doRequest("json")
39636	if res != nil && res.StatusCode == http.StatusNotModified {
39637		if res.Body != nil {
39638			res.Body.Close()
39639		}
39640		return nil, &googleapi.Error{
39641			Code:   res.StatusCode,
39642			Header: res.Header,
39643		}
39644	}
39645	if err != nil {
39646		return nil, err
39647	}
39648	defer googleapi.CloseBody(res)
39649	if err := googleapi.CheckResponse(res); err != nil {
39650		return nil, err
39651	}
39652	ret := &PlacementStrategiesListResponse{
39653		ServerResponse: googleapi.ServerResponse{
39654			Header:         res.Header,
39655			HTTPStatusCode: res.StatusCode,
39656		},
39657	}
39658	target := &ret
39659	if err := gensupport.DecodeResponse(target, res); err != nil {
39660		return nil, err
39661	}
39662	return ret, nil
39663	// {
39664	//   "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
39665	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
39666	//   "httpMethod": "GET",
39667	//   "id": "dfareporting.placementStrategies.list",
39668	//   "parameterOrder": [
39669	//     "profileId"
39670	//   ],
39671	//   "parameters": {
39672	//     "ids": {
39673	//       "description": "Select only placement strategies with these IDs.",
39674	//       "format": "int64",
39675	//       "location": "query",
39676	//       "repeated": true,
39677	//       "type": "string"
39678	//     },
39679	//     "maxResults": {
39680	//       "default": "1000",
39681	//       "description": "Maximum number of results to return.",
39682	//       "format": "int32",
39683	//       "location": "query",
39684	//       "maximum": "1000",
39685	//       "minimum": "0",
39686	//       "type": "integer"
39687	//     },
39688	//     "pageToken": {
39689	//       "description": "Value of the nextPageToken from the previous result page.",
39690	//       "location": "query",
39691	//       "type": "string"
39692	//     },
39693	//     "profileId": {
39694	//       "description": "User profile ID associated with this request.",
39695	//       "format": "int64",
39696	//       "location": "path",
39697	//       "required": true,
39698	//       "type": "string"
39699	//     },
39700	//     "searchString": {
39701	//       "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\".",
39702	//       "location": "query",
39703	//       "type": "string"
39704	//     },
39705	//     "sortField": {
39706	//       "default": "ID",
39707	//       "description": "Field by which to sort the list.",
39708	//       "enum": [
39709	//         "ID",
39710	//         "NAME"
39711	//       ],
39712	//       "enumDescriptions": [
39713	//         "",
39714	//         ""
39715	//       ],
39716	//       "location": "query",
39717	//       "type": "string"
39718	//     },
39719	//     "sortOrder": {
39720	//       "default": "ASCENDING",
39721	//       "description": "Order of sorted results.",
39722	//       "enum": [
39723	//         "ASCENDING",
39724	//         "DESCENDING"
39725	//       ],
39726	//       "enumDescriptions": [
39727	//         "",
39728	//         ""
39729	//       ],
39730	//       "location": "query",
39731	//       "type": "string"
39732	//     }
39733	//   },
39734	//   "path": "userprofiles/{profileId}/placementStrategies",
39735	//   "response": {
39736	//     "$ref": "PlacementStrategiesListResponse"
39737	//   },
39738	//   "scopes": [
39739	//     "https://www.googleapis.com/auth/dfatrafficking"
39740	//   ]
39741	// }
39742
39743}
39744
39745// Pages invokes f for each page of results.
39746// A non-nil error returned from f will halt the iteration.
39747// The provided context supersedes any context provided to the Context method.
39748func (c *PlacementStrategiesListCall) Pages(ctx context.Context, f func(*PlacementStrategiesListResponse) error) error {
39749	c.ctx_ = ctx
39750	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
39751	for {
39752		x, err := c.Do()
39753		if err != nil {
39754			return err
39755		}
39756		if err := f(x); err != nil {
39757			return err
39758		}
39759		if x.NextPageToken == "" {
39760			return nil
39761		}
39762		c.PageToken(x.NextPageToken)
39763	}
39764}
39765
39766// method id "dfareporting.placementStrategies.patch":
39767
39768type PlacementStrategiesPatchCall struct {
39769	s                 *Service
39770	profileId         int64
39771	placementstrategy *PlacementStrategy
39772	urlParams_        gensupport.URLParams
39773	ctx_              context.Context
39774	header_           http.Header
39775}
39776
39777// Patch: Updates an existing placement strategy. This method supports
39778// patch semantics.
39779//
39780// - id: PlacementStrategy ID.
39781// - profileId: User profile ID associated with this request.
39782func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
39783	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39784	c.profileId = profileId
39785	c.urlParams_.Set("id", fmt.Sprint(id))
39786	c.placementstrategy = placementstrategy
39787	return c
39788}
39789
39790// Fields allows partial responses to be retrieved. See
39791// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39792// for more information.
39793func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
39794	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39795	return c
39796}
39797
39798// Context sets the context to be used in this call's Do method. Any
39799// pending HTTP request will be aborted if the provided context is
39800// canceled.
39801func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
39802	c.ctx_ = ctx
39803	return c
39804}
39805
39806// Header returns an http.Header that can be modified by the caller to
39807// add HTTP headers to the request.
39808func (c *PlacementStrategiesPatchCall) Header() http.Header {
39809	if c.header_ == nil {
39810		c.header_ = make(http.Header)
39811	}
39812	return c.header_
39813}
39814
39815func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
39816	reqHeaders := make(http.Header)
39817	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
39818	for k, v := range c.header_ {
39819		reqHeaders[k] = v
39820	}
39821	reqHeaders.Set("User-Agent", c.s.userAgent())
39822	var body io.Reader = nil
39823	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39824	if err != nil {
39825		return nil, err
39826	}
39827	reqHeaders.Set("Content-Type", "application/json")
39828	c.urlParams_.Set("alt", alt)
39829	c.urlParams_.Set("prettyPrint", "false")
39830	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39831	urls += "?" + c.urlParams_.Encode()
39832	req, err := http.NewRequest("PATCH", urls, body)
39833	if err != nil {
39834		return nil, err
39835	}
39836	req.Header = reqHeaders
39837	googleapi.Expand(req.URL, map[string]string{
39838		"profileId": strconv.FormatInt(c.profileId, 10),
39839	})
39840	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39841}
39842
39843// Do executes the "dfareporting.placementStrategies.patch" call.
39844// Exactly one of *PlacementStrategy or error will be non-nil. Any
39845// non-2xx status code is an error. Response headers are in either
39846// *PlacementStrategy.ServerResponse.Header or (if a response was
39847// returned at all) in error.(*googleapi.Error).Header. Use
39848// googleapi.IsNotModified to check whether the returned error was
39849// because http.StatusNotModified was returned.
39850func (c *PlacementStrategiesPatchCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39851	gensupport.SetOptions(c.urlParams_, opts...)
39852	res, err := c.doRequest("json")
39853	if res != nil && res.StatusCode == http.StatusNotModified {
39854		if res.Body != nil {
39855			res.Body.Close()
39856		}
39857		return nil, &googleapi.Error{
39858			Code:   res.StatusCode,
39859			Header: res.Header,
39860		}
39861	}
39862	if err != nil {
39863		return nil, err
39864	}
39865	defer googleapi.CloseBody(res)
39866	if err := googleapi.CheckResponse(res); err != nil {
39867		return nil, err
39868	}
39869	ret := &PlacementStrategy{
39870		ServerResponse: googleapi.ServerResponse{
39871			Header:         res.Header,
39872			HTTPStatusCode: res.StatusCode,
39873		},
39874	}
39875	target := &ret
39876	if err := gensupport.DecodeResponse(target, res); err != nil {
39877		return nil, err
39878	}
39879	return ret, nil
39880	// {
39881	//   "description": "Updates an existing placement strategy. This method supports patch semantics.",
39882	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
39883	//   "httpMethod": "PATCH",
39884	//   "id": "dfareporting.placementStrategies.patch",
39885	//   "parameterOrder": [
39886	//     "profileId",
39887	//     "id"
39888	//   ],
39889	//   "parameters": {
39890	//     "id": {
39891	//       "description": "PlacementStrategy ID.",
39892	//       "format": "int64",
39893	//       "location": "query",
39894	//       "required": true,
39895	//       "type": "string"
39896	//     },
39897	//     "profileId": {
39898	//       "description": "User profile ID associated with this request.",
39899	//       "format": "int64",
39900	//       "location": "path",
39901	//       "required": true,
39902	//       "type": "string"
39903	//     }
39904	//   },
39905	//   "path": "userprofiles/{profileId}/placementStrategies",
39906	//   "request": {
39907	//     "$ref": "PlacementStrategy"
39908	//   },
39909	//   "response": {
39910	//     "$ref": "PlacementStrategy"
39911	//   },
39912	//   "scopes": [
39913	//     "https://www.googleapis.com/auth/dfatrafficking"
39914	//   ]
39915	// }
39916
39917}
39918
39919// method id "dfareporting.placementStrategies.update":
39920
39921type PlacementStrategiesUpdateCall struct {
39922	s                 *Service
39923	profileId         int64
39924	placementstrategy *PlacementStrategy
39925	urlParams_        gensupport.URLParams
39926	ctx_              context.Context
39927	header_           http.Header
39928}
39929
39930// Update: Updates an existing placement strategy.
39931//
39932// - profileId: User profile ID associated with this request.
39933func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
39934	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39935	c.profileId = profileId
39936	c.placementstrategy = placementstrategy
39937	return c
39938}
39939
39940// Fields allows partial responses to be retrieved. See
39941// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39942// for more information.
39943func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
39944	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39945	return c
39946}
39947
39948// Context sets the context to be used in this call's Do method. Any
39949// pending HTTP request will be aborted if the provided context is
39950// canceled.
39951func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
39952	c.ctx_ = ctx
39953	return c
39954}
39955
39956// Header returns an http.Header that can be modified by the caller to
39957// add HTTP headers to the request.
39958func (c *PlacementStrategiesUpdateCall) Header() http.Header {
39959	if c.header_ == nil {
39960		c.header_ = make(http.Header)
39961	}
39962	return c.header_
39963}
39964
39965func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
39966	reqHeaders := make(http.Header)
39967	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
39968	for k, v := range c.header_ {
39969		reqHeaders[k] = v
39970	}
39971	reqHeaders.Set("User-Agent", c.s.userAgent())
39972	var body io.Reader = nil
39973	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39974	if err != nil {
39975		return nil, err
39976	}
39977	reqHeaders.Set("Content-Type", "application/json")
39978	c.urlParams_.Set("alt", alt)
39979	c.urlParams_.Set("prettyPrint", "false")
39980	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39981	urls += "?" + c.urlParams_.Encode()
39982	req, err := http.NewRequest("PUT", urls, body)
39983	if err != nil {
39984		return nil, err
39985	}
39986	req.Header = reqHeaders
39987	googleapi.Expand(req.URL, map[string]string{
39988		"profileId": strconv.FormatInt(c.profileId, 10),
39989	})
39990	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39991}
39992
39993// Do executes the "dfareporting.placementStrategies.update" call.
39994// Exactly one of *PlacementStrategy or error will be non-nil. Any
39995// non-2xx status code is an error. Response headers are in either
39996// *PlacementStrategy.ServerResponse.Header or (if a response was
39997// returned at all) in error.(*googleapi.Error).Header. Use
39998// googleapi.IsNotModified to check whether the returned error was
39999// because http.StatusNotModified was returned.
40000func (c *PlacementStrategiesUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
40001	gensupport.SetOptions(c.urlParams_, opts...)
40002	res, err := c.doRequest("json")
40003	if res != nil && res.StatusCode == http.StatusNotModified {
40004		if res.Body != nil {
40005			res.Body.Close()
40006		}
40007		return nil, &googleapi.Error{
40008			Code:   res.StatusCode,
40009			Header: res.Header,
40010		}
40011	}
40012	if err != nil {
40013		return nil, err
40014	}
40015	defer googleapi.CloseBody(res)
40016	if err := googleapi.CheckResponse(res); err != nil {
40017		return nil, err
40018	}
40019	ret := &PlacementStrategy{
40020		ServerResponse: googleapi.ServerResponse{
40021			Header:         res.Header,
40022			HTTPStatusCode: res.StatusCode,
40023		},
40024	}
40025	target := &ret
40026	if err := gensupport.DecodeResponse(target, res); err != nil {
40027		return nil, err
40028	}
40029	return ret, nil
40030	// {
40031	//   "description": "Updates an existing placement strategy.",
40032	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
40033	//   "httpMethod": "PUT",
40034	//   "id": "dfareporting.placementStrategies.update",
40035	//   "parameterOrder": [
40036	//     "profileId"
40037	//   ],
40038	//   "parameters": {
40039	//     "profileId": {
40040	//       "description": "User profile ID associated with this request.",
40041	//       "format": "int64",
40042	//       "location": "path",
40043	//       "required": true,
40044	//       "type": "string"
40045	//     }
40046	//   },
40047	//   "path": "userprofiles/{profileId}/placementStrategies",
40048	//   "request": {
40049	//     "$ref": "PlacementStrategy"
40050	//   },
40051	//   "response": {
40052	//     "$ref": "PlacementStrategy"
40053	//   },
40054	//   "scopes": [
40055	//     "https://www.googleapis.com/auth/dfatrafficking"
40056	//   ]
40057	// }
40058
40059}
40060
40061// method id "dfareporting.placements.generatetags":
40062
40063type PlacementsGeneratetagsCall struct {
40064	s          *Service
40065	profileId  int64
40066	urlParams_ gensupport.URLParams
40067	ctx_       context.Context
40068	header_    http.Header
40069}
40070
40071// Generatetags: Generates tags for a placement.
40072//
40073// - profileId: User profile ID associated with this request.
40074func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
40075	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40076	c.profileId = profileId
40077	return c
40078}
40079
40080// CampaignId sets the optional parameter "campaignId": Generate
40081// placements belonging to this campaign. This is a required field.
40082func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
40083	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
40084	return c
40085}
40086
40087// PlacementIds sets the optional parameter "placementIds": Generate
40088// tags for these placements.
40089func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *PlacementsGeneratetagsCall {
40090	var placementIds_ []string
40091	for _, v := range placementIds {
40092		placementIds_ = append(placementIds_, fmt.Sprint(v))
40093	}
40094	c.urlParams_.SetMulti("placementIds", placementIds_)
40095	return c
40096}
40097
40098// TagFormats sets the optional parameter "tagFormats": Tag formats to
40099// generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can
40100// only be generated for 1x1 placements.
40101//
40102// Possible values:
40103//   "PLACEMENT_TAG_STANDARD"
40104//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
40105//   "PLACEMENT_TAG_IFRAME_ILAYER"
40106//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
40107//   "PLACEMENT_TAG_JAVASCRIPT"
40108//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
40109//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
40110//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
40111//   "PLACEMENT_TAG_CLICK_COMMANDS"
40112//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
40113//   "PLACEMENT_TAG_TRACKING"
40114//   "PLACEMENT_TAG_TRACKING_IFRAME"
40115//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
40116//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
40117//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
40118//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
40119//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
40120//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
40121//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
40122func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats ...string) *PlacementsGeneratetagsCall {
40123	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
40124	return c
40125}
40126
40127// Fields allows partial responses to be retrieved. See
40128// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40129// for more information.
40130func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
40131	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40132	return c
40133}
40134
40135// Context sets the context to be used in this call's Do method. Any
40136// pending HTTP request will be aborted if the provided context is
40137// canceled.
40138func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
40139	c.ctx_ = ctx
40140	return c
40141}
40142
40143// Header returns an http.Header that can be modified by the caller to
40144// add HTTP headers to the request.
40145func (c *PlacementsGeneratetagsCall) Header() http.Header {
40146	if c.header_ == nil {
40147		c.header_ = make(http.Header)
40148	}
40149	return c.header_
40150}
40151
40152func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
40153	reqHeaders := make(http.Header)
40154	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
40155	for k, v := range c.header_ {
40156		reqHeaders[k] = v
40157	}
40158	reqHeaders.Set("User-Agent", c.s.userAgent())
40159	var body io.Reader = nil
40160	c.urlParams_.Set("alt", alt)
40161	c.urlParams_.Set("prettyPrint", "false")
40162	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
40163	urls += "?" + c.urlParams_.Encode()
40164	req, err := http.NewRequest("POST", urls, body)
40165	if err != nil {
40166		return nil, err
40167	}
40168	req.Header = reqHeaders
40169	googleapi.Expand(req.URL, map[string]string{
40170		"profileId": strconv.FormatInt(c.profileId, 10),
40171	})
40172	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40173}
40174
40175// Do executes the "dfareporting.placements.generatetags" call.
40176// Exactly one of *PlacementsGenerateTagsResponse or error will be
40177// non-nil. Any non-2xx status code is an error. Response headers are in
40178// either *PlacementsGenerateTagsResponse.ServerResponse.Header or (if a
40179// response was returned at all) in error.(*googleapi.Error).Header. Use
40180// googleapi.IsNotModified to check whether the returned error was
40181// because http.StatusNotModified was returned.
40182func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*PlacementsGenerateTagsResponse, error) {
40183	gensupport.SetOptions(c.urlParams_, opts...)
40184	res, err := c.doRequest("json")
40185	if res != nil && res.StatusCode == http.StatusNotModified {
40186		if res.Body != nil {
40187			res.Body.Close()
40188		}
40189		return nil, &googleapi.Error{
40190			Code:   res.StatusCode,
40191			Header: res.Header,
40192		}
40193	}
40194	if err != nil {
40195		return nil, err
40196	}
40197	defer googleapi.CloseBody(res)
40198	if err := googleapi.CheckResponse(res); err != nil {
40199		return nil, err
40200	}
40201	ret := &PlacementsGenerateTagsResponse{
40202		ServerResponse: googleapi.ServerResponse{
40203			Header:         res.Header,
40204			HTTPStatusCode: res.StatusCode,
40205		},
40206	}
40207	target := &ret
40208	if err := gensupport.DecodeResponse(target, res); err != nil {
40209		return nil, err
40210	}
40211	return ret, nil
40212	// {
40213	//   "description": "Generates tags for a placement.",
40214	//   "flatPath": "userprofiles/{profileId}/placements/generatetags",
40215	//   "httpMethod": "POST",
40216	//   "id": "dfareporting.placements.generatetags",
40217	//   "parameterOrder": [
40218	//     "profileId"
40219	//   ],
40220	//   "parameters": {
40221	//     "campaignId": {
40222	//       "description": "Generate placements belonging to this campaign. This is a required field.",
40223	//       "format": "int64",
40224	//       "location": "query",
40225	//       "type": "string"
40226	//     },
40227	//     "placementIds": {
40228	//       "description": "Generate tags for these placements.",
40229	//       "format": "int64",
40230	//       "location": "query",
40231	//       "repeated": true,
40232	//       "type": "string"
40233	//     },
40234	//     "profileId": {
40235	//       "description": "User profile ID associated with this request.",
40236	//       "format": "int64",
40237	//       "location": "path",
40238	//       "required": true,
40239	//       "type": "string"
40240	//     },
40241	//     "tagFormats": {
40242	//       "description": "Tag formats to generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
40243	//       "enum": [
40244	//         "PLACEMENT_TAG_STANDARD",
40245	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
40246	//         "PLACEMENT_TAG_IFRAME_ILAYER",
40247	//         "PLACEMENT_TAG_INTERNAL_REDIRECT",
40248	//         "PLACEMENT_TAG_JAVASCRIPT",
40249	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
40250	//         "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
40251	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
40252	//         "PLACEMENT_TAG_CLICK_COMMANDS",
40253	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
40254	//         "PLACEMENT_TAG_TRACKING",
40255	//         "PLACEMENT_TAG_TRACKING_IFRAME",
40256	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT",
40257	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
40258	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
40259	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
40260	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
40261	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
40262	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
40263	//       ],
40264	//       "enumDescriptions": [
40265	//         "",
40266	//         "",
40267	//         "",
40268	//         "",
40269	//         "",
40270	//         "",
40271	//         "",
40272	//         "",
40273	//         "",
40274	//         "",
40275	//         "",
40276	//         "",
40277	//         "",
40278	//         "",
40279	//         "",
40280	//         "",
40281	//         "",
40282	//         "",
40283	//         ""
40284	//       ],
40285	//       "location": "query",
40286	//       "repeated": true,
40287	//       "type": "string"
40288	//     }
40289	//   },
40290	//   "path": "userprofiles/{profileId}/placements/generatetags",
40291	//   "response": {
40292	//     "$ref": "PlacementsGenerateTagsResponse"
40293	//   },
40294	//   "scopes": [
40295	//     "https://www.googleapis.com/auth/dfatrafficking"
40296	//   ]
40297	// }
40298
40299}
40300
40301// method id "dfareporting.placements.get":
40302
40303type PlacementsGetCall struct {
40304	s            *Service
40305	profileId    int64
40306	id           int64
40307	urlParams_   gensupport.URLParams
40308	ifNoneMatch_ string
40309	ctx_         context.Context
40310	header_      http.Header
40311}
40312
40313// Get: Gets one placement by ID.
40314//
40315// - id: Placement ID.
40316// - profileId: User profile ID associated with this request.
40317func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
40318	c := &PlacementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40319	c.profileId = profileId
40320	c.id = id
40321	return c
40322}
40323
40324// Fields allows partial responses to be retrieved. See
40325// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40326// for more information.
40327func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
40328	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40329	return c
40330}
40331
40332// IfNoneMatch sets the optional parameter which makes the operation
40333// fail if the object's ETag matches the given value. This is useful for
40334// getting updates only after the object has changed since the last
40335// request. Use googleapi.IsNotModified to check whether the response
40336// error from Do is the result of In-None-Match.
40337func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
40338	c.ifNoneMatch_ = entityTag
40339	return c
40340}
40341
40342// Context sets the context to be used in this call's Do method. Any
40343// pending HTTP request will be aborted if the provided context is
40344// canceled.
40345func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
40346	c.ctx_ = ctx
40347	return c
40348}
40349
40350// Header returns an http.Header that can be modified by the caller to
40351// add HTTP headers to the request.
40352func (c *PlacementsGetCall) Header() http.Header {
40353	if c.header_ == nil {
40354		c.header_ = make(http.Header)
40355	}
40356	return c.header_
40357}
40358
40359func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
40360	reqHeaders := make(http.Header)
40361	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
40362	for k, v := range c.header_ {
40363		reqHeaders[k] = v
40364	}
40365	reqHeaders.Set("User-Agent", c.s.userAgent())
40366	if c.ifNoneMatch_ != "" {
40367		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40368	}
40369	var body io.Reader = nil
40370	c.urlParams_.Set("alt", alt)
40371	c.urlParams_.Set("prettyPrint", "false")
40372	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
40373	urls += "?" + c.urlParams_.Encode()
40374	req, err := http.NewRequest("GET", urls, body)
40375	if err != nil {
40376		return nil, err
40377	}
40378	req.Header = reqHeaders
40379	googleapi.Expand(req.URL, map[string]string{
40380		"profileId": strconv.FormatInt(c.profileId, 10),
40381		"id":        strconv.FormatInt(c.id, 10),
40382	})
40383	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40384}
40385
40386// Do executes the "dfareporting.placements.get" call.
40387// Exactly one of *Placement or error will be non-nil. Any non-2xx
40388// status code is an error. Response headers are in either
40389// *Placement.ServerResponse.Header or (if a response was returned at
40390// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40391// to check whether the returned error was because
40392// http.StatusNotModified was returned.
40393func (c *PlacementsGetCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40394	gensupport.SetOptions(c.urlParams_, opts...)
40395	res, err := c.doRequest("json")
40396	if res != nil && res.StatusCode == http.StatusNotModified {
40397		if res.Body != nil {
40398			res.Body.Close()
40399		}
40400		return nil, &googleapi.Error{
40401			Code:   res.StatusCode,
40402			Header: res.Header,
40403		}
40404	}
40405	if err != nil {
40406		return nil, err
40407	}
40408	defer googleapi.CloseBody(res)
40409	if err := googleapi.CheckResponse(res); err != nil {
40410		return nil, err
40411	}
40412	ret := &Placement{
40413		ServerResponse: googleapi.ServerResponse{
40414			Header:         res.Header,
40415			HTTPStatusCode: res.StatusCode,
40416		},
40417	}
40418	target := &ret
40419	if err := gensupport.DecodeResponse(target, res); err != nil {
40420		return nil, err
40421	}
40422	return ret, nil
40423	// {
40424	//   "description": "Gets one placement by ID.",
40425	//   "flatPath": "userprofiles/{profileId}/placements/{id}",
40426	//   "httpMethod": "GET",
40427	//   "id": "dfareporting.placements.get",
40428	//   "parameterOrder": [
40429	//     "profileId",
40430	//     "id"
40431	//   ],
40432	//   "parameters": {
40433	//     "id": {
40434	//       "description": "Placement ID.",
40435	//       "format": "int64",
40436	//       "location": "path",
40437	//       "required": true,
40438	//       "type": "string"
40439	//     },
40440	//     "profileId": {
40441	//       "description": "User profile ID associated with this request.",
40442	//       "format": "int64",
40443	//       "location": "path",
40444	//       "required": true,
40445	//       "type": "string"
40446	//     }
40447	//   },
40448	//   "path": "userprofiles/{profileId}/placements/{id}",
40449	//   "response": {
40450	//     "$ref": "Placement"
40451	//   },
40452	//   "scopes": [
40453	//     "https://www.googleapis.com/auth/dfatrafficking"
40454	//   ]
40455	// }
40456
40457}
40458
40459// method id "dfareporting.placements.insert":
40460
40461type PlacementsInsertCall struct {
40462	s          *Service
40463	profileId  int64
40464	placement  *Placement
40465	urlParams_ gensupport.URLParams
40466	ctx_       context.Context
40467	header_    http.Header
40468}
40469
40470// Insert: Inserts a new placement.
40471//
40472// - profileId: User profile ID associated with this request.
40473func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
40474	c := &PlacementsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40475	c.profileId = profileId
40476	c.placement = placement
40477	return c
40478}
40479
40480// Fields allows partial responses to be retrieved. See
40481// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40482// for more information.
40483func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
40484	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40485	return c
40486}
40487
40488// Context sets the context to be used in this call's Do method. Any
40489// pending HTTP request will be aborted if the provided context is
40490// canceled.
40491func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
40492	c.ctx_ = ctx
40493	return c
40494}
40495
40496// Header returns an http.Header that can be modified by the caller to
40497// add HTTP headers to the request.
40498func (c *PlacementsInsertCall) Header() http.Header {
40499	if c.header_ == nil {
40500		c.header_ = make(http.Header)
40501	}
40502	return c.header_
40503}
40504
40505func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
40506	reqHeaders := make(http.Header)
40507	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
40508	for k, v := range c.header_ {
40509		reqHeaders[k] = v
40510	}
40511	reqHeaders.Set("User-Agent", c.s.userAgent())
40512	var body io.Reader = nil
40513	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
40514	if err != nil {
40515		return nil, err
40516	}
40517	reqHeaders.Set("Content-Type", "application/json")
40518	c.urlParams_.Set("alt", alt)
40519	c.urlParams_.Set("prettyPrint", "false")
40520	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40521	urls += "?" + c.urlParams_.Encode()
40522	req, err := http.NewRequest("POST", urls, body)
40523	if err != nil {
40524		return nil, err
40525	}
40526	req.Header = reqHeaders
40527	googleapi.Expand(req.URL, map[string]string{
40528		"profileId": strconv.FormatInt(c.profileId, 10),
40529	})
40530	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40531}
40532
40533// Do executes the "dfareporting.placements.insert" call.
40534// Exactly one of *Placement or error will be non-nil. Any non-2xx
40535// status code is an error. Response headers are in either
40536// *Placement.ServerResponse.Header or (if a response was returned at
40537// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40538// to check whether the returned error was because
40539// http.StatusNotModified was returned.
40540func (c *PlacementsInsertCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40541	gensupport.SetOptions(c.urlParams_, opts...)
40542	res, err := c.doRequest("json")
40543	if res != nil && res.StatusCode == http.StatusNotModified {
40544		if res.Body != nil {
40545			res.Body.Close()
40546		}
40547		return nil, &googleapi.Error{
40548			Code:   res.StatusCode,
40549			Header: res.Header,
40550		}
40551	}
40552	if err != nil {
40553		return nil, err
40554	}
40555	defer googleapi.CloseBody(res)
40556	if err := googleapi.CheckResponse(res); err != nil {
40557		return nil, err
40558	}
40559	ret := &Placement{
40560		ServerResponse: googleapi.ServerResponse{
40561			Header:         res.Header,
40562			HTTPStatusCode: res.StatusCode,
40563		},
40564	}
40565	target := &ret
40566	if err := gensupport.DecodeResponse(target, res); err != nil {
40567		return nil, err
40568	}
40569	return ret, nil
40570	// {
40571	//   "description": "Inserts a new placement.",
40572	//   "flatPath": "userprofiles/{profileId}/placements",
40573	//   "httpMethod": "POST",
40574	//   "id": "dfareporting.placements.insert",
40575	//   "parameterOrder": [
40576	//     "profileId"
40577	//   ],
40578	//   "parameters": {
40579	//     "profileId": {
40580	//       "description": "User profile ID associated with this request.",
40581	//       "format": "int64",
40582	//       "location": "path",
40583	//       "required": true,
40584	//       "type": "string"
40585	//     }
40586	//   },
40587	//   "path": "userprofiles/{profileId}/placements",
40588	//   "request": {
40589	//     "$ref": "Placement"
40590	//   },
40591	//   "response": {
40592	//     "$ref": "Placement"
40593	//   },
40594	//   "scopes": [
40595	//     "https://www.googleapis.com/auth/dfatrafficking"
40596	//   ]
40597	// }
40598
40599}
40600
40601// method id "dfareporting.placements.list":
40602
40603type PlacementsListCall struct {
40604	s            *Service
40605	profileId    int64
40606	urlParams_   gensupport.URLParams
40607	ifNoneMatch_ string
40608	ctx_         context.Context
40609	header_      http.Header
40610}
40611
40612// List: Retrieves a list of placements, possibly filtered. This method
40613// supports paging.
40614//
40615// - profileId: User profile ID associated with this request.
40616func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
40617	c := &PlacementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40618	c.profileId = profileId
40619	return c
40620}
40621
40622// AdvertiserIds sets the optional parameter "advertiserIds": Select
40623// only placements that belong to these advertisers.
40624func (c *PlacementsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementsListCall {
40625	var advertiserIds_ []string
40626	for _, v := range advertiserIds {
40627		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
40628	}
40629	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
40630	return c
40631}
40632
40633// Archived sets the optional parameter "archived": Select only archived
40634// placements. Don't set this field to select both archived and
40635// non-archived placements.
40636func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
40637	c.urlParams_.Set("archived", fmt.Sprint(archived))
40638	return c
40639}
40640
40641// CampaignIds sets the optional parameter "campaignIds": Select only
40642// placements that belong to these campaigns.
40643func (c *PlacementsListCall) CampaignIds(campaignIds ...int64) *PlacementsListCall {
40644	var campaignIds_ []string
40645	for _, v := range campaignIds {
40646		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
40647	}
40648	c.urlParams_.SetMulti("campaignIds", campaignIds_)
40649	return c
40650}
40651
40652// Compatibilities sets the optional parameter "compatibilities": Select
40653// only placements that are associated with these compatibilities.
40654// DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
40655// or on mobile devices for regular or interstitial ads respectively.
40656// APP and APP_INTERSTITIAL are for rendering in mobile apps.
40657// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
40658// with the VAST standard.
40659//
40660// Possible values:
40661//   "DISPLAY"
40662//   "DISPLAY_INTERSTITIAL"
40663//   "APP"
40664//   "APP_INTERSTITIAL"
40665//   "IN_STREAM_VIDEO"
40666//   "IN_STREAM_AUDIO"
40667func (c *PlacementsListCall) Compatibilities(compatibilities ...string) *PlacementsListCall {
40668	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
40669	return c
40670}
40671
40672// ContentCategoryIds sets the optional parameter "contentCategoryIds":
40673// Select only placements that are associated with these content
40674// categories.
40675func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementsListCall {
40676	var contentCategoryIds_ []string
40677	for _, v := range contentCategoryIds {
40678		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
40679	}
40680	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
40681	return c
40682}
40683
40684// DirectorySiteIds sets the optional parameter "directorySiteIds":
40685// Select only placements that are associated with these directory
40686// sites.
40687func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementsListCall {
40688	var directorySiteIds_ []string
40689	for _, v := range directorySiteIds {
40690		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
40691	}
40692	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
40693	return c
40694}
40695
40696// GroupIds sets the optional parameter "groupIds": Select only
40697// placements that belong to these placement groups.
40698func (c *PlacementsListCall) GroupIds(groupIds ...int64) *PlacementsListCall {
40699	var groupIds_ []string
40700	for _, v := range groupIds {
40701		groupIds_ = append(groupIds_, fmt.Sprint(v))
40702	}
40703	c.urlParams_.SetMulti("groupIds", groupIds_)
40704	return c
40705}
40706
40707// Ids sets the optional parameter "ids": Select only placements with
40708// these IDs.
40709func (c *PlacementsListCall) Ids(ids ...int64) *PlacementsListCall {
40710	var ids_ []string
40711	for _, v := range ids {
40712		ids_ = append(ids_, fmt.Sprint(v))
40713	}
40714	c.urlParams_.SetMulti("ids", ids_)
40715	return c
40716}
40717
40718// MaxEndDate sets the optional parameter "maxEndDate": Select only
40719// placements or placement groups whose end date is on or before the
40720// specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
40721func (c *PlacementsListCall) MaxEndDate(maxEndDate string) *PlacementsListCall {
40722	c.urlParams_.Set("maxEndDate", maxEndDate)
40723	return c
40724}
40725
40726// MaxResults sets the optional parameter "maxResults": Maximum number
40727// of results to return.
40728func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
40729	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
40730	return c
40731}
40732
40733// MaxStartDate sets the optional parameter "maxStartDate": Select only
40734// placements or placement groups whose start date is on or before the
40735// specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
40736func (c *PlacementsListCall) MaxStartDate(maxStartDate string) *PlacementsListCall {
40737	c.urlParams_.Set("maxStartDate", maxStartDate)
40738	return c
40739}
40740
40741// MinEndDate sets the optional parameter "minEndDate": Select only
40742// placements or placement groups whose end date is on or after the
40743// specified minEndDate. The date should be formatted as "yyyy-MM-dd".
40744func (c *PlacementsListCall) MinEndDate(minEndDate string) *PlacementsListCall {
40745	c.urlParams_.Set("minEndDate", minEndDate)
40746	return c
40747}
40748
40749// MinStartDate sets the optional parameter "minStartDate": Select only
40750// placements or placement groups whose start date is on or after the
40751// specified minStartDate. The date should be formatted as "yyyy-MM-dd".
40752func (c *PlacementsListCall) MinStartDate(minStartDate string) *PlacementsListCall {
40753	c.urlParams_.Set("minStartDate", minStartDate)
40754	return c
40755}
40756
40757// PageToken sets the optional parameter "pageToken": Value of the
40758// nextPageToken from the previous result page.
40759func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
40760	c.urlParams_.Set("pageToken", pageToken)
40761	return c
40762}
40763
40764// PaymentSource sets the optional parameter "paymentSource": Select
40765// only placements with this payment source.
40766//
40767// Possible values:
40768//   "PLACEMENT_AGENCY_PAID"
40769//   "PLACEMENT_PUBLISHER_PAID"
40770func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
40771	c.urlParams_.Set("paymentSource", paymentSource)
40772	return c
40773}
40774
40775// PlacementStrategyIds sets the optional parameter
40776// "placementStrategyIds": Select only placements that are associated
40777// with these placement strategies.
40778func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementsListCall {
40779	var placementStrategyIds_ []string
40780	for _, v := range placementStrategyIds {
40781		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
40782	}
40783	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
40784	return c
40785}
40786
40787// PricingTypes sets the optional parameter "pricingTypes": Select only
40788// placements with these pricing types.
40789//
40790// Possible values:
40791//   "PRICING_TYPE_CPM"
40792//   "PRICING_TYPE_CPC"
40793//   "PRICING_TYPE_CPA"
40794//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
40795//   "PRICING_TYPE_FLAT_RATE_CLICKS"
40796//   "PRICING_TYPE_CPM_ACTIVEVIEW"
40797func (c *PlacementsListCall) PricingTypes(pricingTypes ...string) *PlacementsListCall {
40798	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
40799	return c
40800}
40801
40802// SearchString sets the optional parameter "searchString": Allows
40803// searching for placements by name or ID. Wildcards (*) are allowed.
40804// For example, "placement*2015" will return placements with names like
40805// "placement June 2015", "placement May 2015", or simply "placements
40806// 2015". Most of the searches also add wildcards implicitly at the
40807// start and the end of the search string. For example, a search string
40808// of "placement" will match placements with name "my placement",
40809// "placement 2015", or simply "placement" .
40810func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
40811	c.urlParams_.Set("searchString", searchString)
40812	return c
40813}
40814
40815// SiteIds sets the optional parameter "siteIds": Select only placements
40816// that are associated with these sites.
40817func (c *PlacementsListCall) SiteIds(siteIds ...int64) *PlacementsListCall {
40818	var siteIds_ []string
40819	for _, v := range siteIds {
40820		siteIds_ = append(siteIds_, fmt.Sprint(v))
40821	}
40822	c.urlParams_.SetMulti("siteIds", siteIds_)
40823	return c
40824}
40825
40826// SizeIds sets the optional parameter "sizeIds": Select only placements
40827// that are associated with these sizes.
40828func (c *PlacementsListCall) SizeIds(sizeIds ...int64) *PlacementsListCall {
40829	var sizeIds_ []string
40830	for _, v := range sizeIds {
40831		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
40832	}
40833	c.urlParams_.SetMulti("sizeIds", sizeIds_)
40834	return c
40835}
40836
40837// SortField sets the optional parameter "sortField": Field by which to
40838// sort the list.
40839//
40840// Possible values:
40841//   "ID" (default)
40842//   "NAME"
40843func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
40844	c.urlParams_.Set("sortField", sortField)
40845	return c
40846}
40847
40848// SortOrder sets the optional parameter "sortOrder": Order of sorted
40849// results.
40850//
40851// Possible values:
40852//   "ASCENDING" (default)
40853//   "DESCENDING"
40854func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
40855	c.urlParams_.Set("sortOrder", sortOrder)
40856	return c
40857}
40858
40859// Fields allows partial responses to be retrieved. See
40860// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40861// for more information.
40862func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
40863	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40864	return c
40865}
40866
40867// IfNoneMatch sets the optional parameter which makes the operation
40868// fail if the object's ETag matches the given value. This is useful for
40869// getting updates only after the object has changed since the last
40870// request. Use googleapi.IsNotModified to check whether the response
40871// error from Do is the result of In-None-Match.
40872func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
40873	c.ifNoneMatch_ = entityTag
40874	return c
40875}
40876
40877// Context sets the context to be used in this call's Do method. Any
40878// pending HTTP request will be aborted if the provided context is
40879// canceled.
40880func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
40881	c.ctx_ = ctx
40882	return c
40883}
40884
40885// Header returns an http.Header that can be modified by the caller to
40886// add HTTP headers to the request.
40887func (c *PlacementsListCall) Header() http.Header {
40888	if c.header_ == nil {
40889		c.header_ = make(http.Header)
40890	}
40891	return c.header_
40892}
40893
40894func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
40895	reqHeaders := make(http.Header)
40896	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
40897	for k, v := range c.header_ {
40898		reqHeaders[k] = v
40899	}
40900	reqHeaders.Set("User-Agent", c.s.userAgent())
40901	if c.ifNoneMatch_ != "" {
40902		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40903	}
40904	var body io.Reader = nil
40905	c.urlParams_.Set("alt", alt)
40906	c.urlParams_.Set("prettyPrint", "false")
40907	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40908	urls += "?" + c.urlParams_.Encode()
40909	req, err := http.NewRequest("GET", urls, body)
40910	if err != nil {
40911		return nil, err
40912	}
40913	req.Header = reqHeaders
40914	googleapi.Expand(req.URL, map[string]string{
40915		"profileId": strconv.FormatInt(c.profileId, 10),
40916	})
40917	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40918}
40919
40920// Do executes the "dfareporting.placements.list" call.
40921// Exactly one of *PlacementsListResponse or error will be non-nil. Any
40922// non-2xx status code is an error. Response headers are in either
40923// *PlacementsListResponse.ServerResponse.Header or (if a response was
40924// returned at all) in error.(*googleapi.Error).Header. Use
40925// googleapi.IsNotModified to check whether the returned error was
40926// because http.StatusNotModified was returned.
40927func (c *PlacementsListCall) Do(opts ...googleapi.CallOption) (*PlacementsListResponse, error) {
40928	gensupport.SetOptions(c.urlParams_, opts...)
40929	res, err := c.doRequest("json")
40930	if res != nil && res.StatusCode == http.StatusNotModified {
40931		if res.Body != nil {
40932			res.Body.Close()
40933		}
40934		return nil, &googleapi.Error{
40935			Code:   res.StatusCode,
40936			Header: res.Header,
40937		}
40938	}
40939	if err != nil {
40940		return nil, err
40941	}
40942	defer googleapi.CloseBody(res)
40943	if err := googleapi.CheckResponse(res); err != nil {
40944		return nil, err
40945	}
40946	ret := &PlacementsListResponse{
40947		ServerResponse: googleapi.ServerResponse{
40948			Header:         res.Header,
40949			HTTPStatusCode: res.StatusCode,
40950		},
40951	}
40952	target := &ret
40953	if err := gensupport.DecodeResponse(target, res); err != nil {
40954		return nil, err
40955	}
40956	return ret, nil
40957	// {
40958	//   "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
40959	//   "flatPath": "userprofiles/{profileId}/placements",
40960	//   "httpMethod": "GET",
40961	//   "id": "dfareporting.placements.list",
40962	//   "parameterOrder": [
40963	//     "profileId"
40964	//   ],
40965	//   "parameters": {
40966	//     "advertiserIds": {
40967	//       "description": "Select only placements that belong to these advertisers.",
40968	//       "format": "int64",
40969	//       "location": "query",
40970	//       "repeated": true,
40971	//       "type": "string"
40972	//     },
40973	//     "archived": {
40974	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
40975	//       "location": "query",
40976	//       "type": "boolean"
40977	//     },
40978	//     "campaignIds": {
40979	//       "description": "Select only placements that belong to these campaigns.",
40980	//       "format": "int64",
40981	//       "location": "query",
40982	//       "repeated": true,
40983	//       "type": "string"
40984	//     },
40985	//     "compatibilities": {
40986	//       "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.",
40987	//       "enum": [
40988	//         "DISPLAY",
40989	//         "DISPLAY_INTERSTITIAL",
40990	//         "APP",
40991	//         "APP_INTERSTITIAL",
40992	//         "IN_STREAM_VIDEO",
40993	//         "IN_STREAM_AUDIO"
40994	//       ],
40995	//       "enumDescriptions": [
40996	//         "",
40997	//         "",
40998	//         "",
40999	//         "",
41000	//         "",
41001	//         ""
41002	//       ],
41003	//       "location": "query",
41004	//       "repeated": true,
41005	//       "type": "string"
41006	//     },
41007	//     "contentCategoryIds": {
41008	//       "description": "Select only placements that are associated with these content categories.",
41009	//       "format": "int64",
41010	//       "location": "query",
41011	//       "repeated": true,
41012	//       "type": "string"
41013	//     },
41014	//     "directorySiteIds": {
41015	//       "description": "Select only placements that are associated with these directory sites.",
41016	//       "format": "int64",
41017	//       "location": "query",
41018	//       "repeated": true,
41019	//       "type": "string"
41020	//     },
41021	//     "groupIds": {
41022	//       "description": "Select only placements that belong to these placement groups.",
41023	//       "format": "int64",
41024	//       "location": "query",
41025	//       "repeated": true,
41026	//       "type": "string"
41027	//     },
41028	//     "ids": {
41029	//       "description": "Select only placements with these IDs.",
41030	//       "format": "int64",
41031	//       "location": "query",
41032	//       "repeated": true,
41033	//       "type": "string"
41034	//     },
41035	//     "maxEndDate": {
41036	//       "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\".",
41037	//       "location": "query",
41038	//       "type": "string"
41039	//     },
41040	//     "maxResults": {
41041	//       "default": "1000",
41042	//       "description": "Maximum number of results to return.",
41043	//       "format": "int32",
41044	//       "location": "query",
41045	//       "maximum": "1000",
41046	//       "minimum": "0",
41047	//       "type": "integer"
41048	//     },
41049	//     "maxStartDate": {
41050	//       "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\".",
41051	//       "location": "query",
41052	//       "type": "string"
41053	//     },
41054	//     "minEndDate": {
41055	//       "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\".",
41056	//       "location": "query",
41057	//       "type": "string"
41058	//     },
41059	//     "minStartDate": {
41060	//       "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\".",
41061	//       "location": "query",
41062	//       "type": "string"
41063	//     },
41064	//     "pageToken": {
41065	//       "description": "Value of the nextPageToken from the previous result page.",
41066	//       "location": "query",
41067	//       "type": "string"
41068	//     },
41069	//     "paymentSource": {
41070	//       "description": "Select only placements with this payment source.",
41071	//       "enum": [
41072	//         "PLACEMENT_AGENCY_PAID",
41073	//         "PLACEMENT_PUBLISHER_PAID"
41074	//       ],
41075	//       "enumDescriptions": [
41076	//         "",
41077	//         ""
41078	//       ],
41079	//       "location": "query",
41080	//       "type": "string"
41081	//     },
41082	//     "placementStrategyIds": {
41083	//       "description": "Select only placements that are associated with these placement strategies.",
41084	//       "format": "int64",
41085	//       "location": "query",
41086	//       "repeated": true,
41087	//       "type": "string"
41088	//     },
41089	//     "pricingTypes": {
41090	//       "description": "Select only placements with these pricing types.",
41091	//       "enum": [
41092	//         "PRICING_TYPE_CPM",
41093	//         "PRICING_TYPE_CPC",
41094	//         "PRICING_TYPE_CPA",
41095	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
41096	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
41097	//         "PRICING_TYPE_CPM_ACTIVEVIEW"
41098	//       ],
41099	//       "enumDescriptions": [
41100	//         "",
41101	//         "",
41102	//         "",
41103	//         "",
41104	//         "",
41105	//         ""
41106	//       ],
41107	//       "location": "query",
41108	//       "repeated": true,
41109	//       "type": "string"
41110	//     },
41111	//     "profileId": {
41112	//       "description": "User profile ID associated with this request.",
41113	//       "format": "int64",
41114	//       "location": "path",
41115	//       "required": true,
41116	//       "type": "string"
41117	//     },
41118	//     "searchString": {
41119	//       "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\" .",
41120	//       "location": "query",
41121	//       "type": "string"
41122	//     },
41123	//     "siteIds": {
41124	//       "description": "Select only placements that are associated with these sites.",
41125	//       "format": "int64",
41126	//       "location": "query",
41127	//       "repeated": true,
41128	//       "type": "string"
41129	//     },
41130	//     "sizeIds": {
41131	//       "description": "Select only placements that are associated with these sizes.",
41132	//       "format": "int64",
41133	//       "location": "query",
41134	//       "repeated": true,
41135	//       "type": "string"
41136	//     },
41137	//     "sortField": {
41138	//       "default": "ID",
41139	//       "description": "Field by which to sort the list.",
41140	//       "enum": [
41141	//         "ID",
41142	//         "NAME"
41143	//       ],
41144	//       "enumDescriptions": [
41145	//         "",
41146	//         ""
41147	//       ],
41148	//       "location": "query",
41149	//       "type": "string"
41150	//     },
41151	//     "sortOrder": {
41152	//       "default": "ASCENDING",
41153	//       "description": "Order of sorted results.",
41154	//       "enum": [
41155	//         "ASCENDING",
41156	//         "DESCENDING"
41157	//       ],
41158	//       "enumDescriptions": [
41159	//         "",
41160	//         ""
41161	//       ],
41162	//       "location": "query",
41163	//       "type": "string"
41164	//     }
41165	//   },
41166	//   "path": "userprofiles/{profileId}/placements",
41167	//   "response": {
41168	//     "$ref": "PlacementsListResponse"
41169	//   },
41170	//   "scopes": [
41171	//     "https://www.googleapis.com/auth/dfatrafficking"
41172	//   ]
41173	// }
41174
41175}
41176
41177// Pages invokes f for each page of results.
41178// A non-nil error returned from f will halt the iteration.
41179// The provided context supersedes any context provided to the Context method.
41180func (c *PlacementsListCall) Pages(ctx context.Context, f func(*PlacementsListResponse) error) error {
41181	c.ctx_ = ctx
41182	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
41183	for {
41184		x, err := c.Do()
41185		if err != nil {
41186			return err
41187		}
41188		if err := f(x); err != nil {
41189			return err
41190		}
41191		if x.NextPageToken == "" {
41192			return nil
41193		}
41194		c.PageToken(x.NextPageToken)
41195	}
41196}
41197
41198// method id "dfareporting.placements.patch":
41199
41200type PlacementsPatchCall struct {
41201	s          *Service
41202	profileId  int64
41203	placement  *Placement
41204	urlParams_ gensupport.URLParams
41205	ctx_       context.Context
41206	header_    http.Header
41207}
41208
41209// Patch: Updates an existing placement. This method supports patch
41210// semantics.
41211//
41212// - id: Placement ID.
41213// - profileId: User profile ID associated with this request.
41214func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
41215	c := &PlacementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41216	c.profileId = profileId
41217	c.urlParams_.Set("id", fmt.Sprint(id))
41218	c.placement = placement
41219	return c
41220}
41221
41222// Fields allows partial responses to be retrieved. See
41223// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41224// for more information.
41225func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
41226	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41227	return c
41228}
41229
41230// Context sets the context to be used in this call's Do method. Any
41231// pending HTTP request will be aborted if the provided context is
41232// canceled.
41233func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
41234	c.ctx_ = ctx
41235	return c
41236}
41237
41238// Header returns an http.Header that can be modified by the caller to
41239// add HTTP headers to the request.
41240func (c *PlacementsPatchCall) Header() http.Header {
41241	if c.header_ == nil {
41242		c.header_ = make(http.Header)
41243	}
41244	return c.header_
41245}
41246
41247func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
41248	reqHeaders := make(http.Header)
41249	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
41250	for k, v := range c.header_ {
41251		reqHeaders[k] = v
41252	}
41253	reqHeaders.Set("User-Agent", c.s.userAgent())
41254	var body io.Reader = nil
41255	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
41256	if err != nil {
41257		return nil, err
41258	}
41259	reqHeaders.Set("Content-Type", "application/json")
41260	c.urlParams_.Set("alt", alt)
41261	c.urlParams_.Set("prettyPrint", "false")
41262	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
41263	urls += "?" + c.urlParams_.Encode()
41264	req, err := http.NewRequest("PATCH", urls, body)
41265	if err != nil {
41266		return nil, err
41267	}
41268	req.Header = reqHeaders
41269	googleapi.Expand(req.URL, map[string]string{
41270		"profileId": strconv.FormatInt(c.profileId, 10),
41271	})
41272	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41273}
41274
41275// Do executes the "dfareporting.placements.patch" call.
41276// Exactly one of *Placement or error will be non-nil. Any non-2xx
41277// status code is an error. Response headers are in either
41278// *Placement.ServerResponse.Header or (if a response was returned at
41279// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41280// to check whether the returned error was because
41281// http.StatusNotModified was returned.
41282func (c *PlacementsPatchCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
41283	gensupport.SetOptions(c.urlParams_, opts...)
41284	res, err := c.doRequest("json")
41285	if res != nil && res.StatusCode == http.StatusNotModified {
41286		if res.Body != nil {
41287			res.Body.Close()
41288		}
41289		return nil, &googleapi.Error{
41290			Code:   res.StatusCode,
41291			Header: res.Header,
41292		}
41293	}
41294	if err != nil {
41295		return nil, err
41296	}
41297	defer googleapi.CloseBody(res)
41298	if err := googleapi.CheckResponse(res); err != nil {
41299		return nil, err
41300	}
41301	ret := &Placement{
41302		ServerResponse: googleapi.ServerResponse{
41303			Header:         res.Header,
41304			HTTPStatusCode: res.StatusCode,
41305		},
41306	}
41307	target := &ret
41308	if err := gensupport.DecodeResponse(target, res); err != nil {
41309		return nil, err
41310	}
41311	return ret, nil
41312	// {
41313	//   "description": "Updates an existing placement. This method supports patch semantics.",
41314	//   "flatPath": "userprofiles/{profileId}/placements",
41315	//   "httpMethod": "PATCH",
41316	//   "id": "dfareporting.placements.patch",
41317	//   "parameterOrder": [
41318	//     "profileId",
41319	//     "id"
41320	//   ],
41321	//   "parameters": {
41322	//     "id": {
41323	//       "description": "Placement ID.",
41324	//       "format": "int64",
41325	//       "location": "query",
41326	//       "required": true,
41327	//       "type": "string"
41328	//     },
41329	//     "profileId": {
41330	//       "description": "User profile ID associated with this request.",
41331	//       "format": "int64",
41332	//       "location": "path",
41333	//       "required": true,
41334	//       "type": "string"
41335	//     }
41336	//   },
41337	//   "path": "userprofiles/{profileId}/placements",
41338	//   "request": {
41339	//     "$ref": "Placement"
41340	//   },
41341	//   "response": {
41342	//     "$ref": "Placement"
41343	//   },
41344	//   "scopes": [
41345	//     "https://www.googleapis.com/auth/dfatrafficking"
41346	//   ]
41347	// }
41348
41349}
41350
41351// method id "dfareporting.placements.update":
41352
41353type PlacementsUpdateCall struct {
41354	s          *Service
41355	profileId  int64
41356	placement  *Placement
41357	urlParams_ gensupport.URLParams
41358	ctx_       context.Context
41359	header_    http.Header
41360}
41361
41362// Update: Updates an existing placement.
41363//
41364// - profileId: User profile ID associated with this request.
41365func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
41366	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41367	c.profileId = profileId
41368	c.placement = placement
41369	return c
41370}
41371
41372// Fields allows partial responses to be retrieved. See
41373// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41374// for more information.
41375func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
41376	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41377	return c
41378}
41379
41380// Context sets the context to be used in this call's Do method. Any
41381// pending HTTP request will be aborted if the provided context is
41382// canceled.
41383func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
41384	c.ctx_ = ctx
41385	return c
41386}
41387
41388// Header returns an http.Header that can be modified by the caller to
41389// add HTTP headers to the request.
41390func (c *PlacementsUpdateCall) Header() http.Header {
41391	if c.header_ == nil {
41392		c.header_ = make(http.Header)
41393	}
41394	return c.header_
41395}
41396
41397func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
41398	reqHeaders := make(http.Header)
41399	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
41400	for k, v := range c.header_ {
41401		reqHeaders[k] = v
41402	}
41403	reqHeaders.Set("User-Agent", c.s.userAgent())
41404	var body io.Reader = nil
41405	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
41406	if err != nil {
41407		return nil, err
41408	}
41409	reqHeaders.Set("Content-Type", "application/json")
41410	c.urlParams_.Set("alt", alt)
41411	c.urlParams_.Set("prettyPrint", "false")
41412	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
41413	urls += "?" + c.urlParams_.Encode()
41414	req, err := http.NewRequest("PUT", urls, body)
41415	if err != nil {
41416		return nil, err
41417	}
41418	req.Header = reqHeaders
41419	googleapi.Expand(req.URL, map[string]string{
41420		"profileId": strconv.FormatInt(c.profileId, 10),
41421	})
41422	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41423}
41424
41425// Do executes the "dfareporting.placements.update" call.
41426// Exactly one of *Placement or error will be non-nil. Any non-2xx
41427// status code is an error. Response headers are in either
41428// *Placement.ServerResponse.Header or (if a response was returned at
41429// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41430// to check whether the returned error was because
41431// http.StatusNotModified was returned.
41432func (c *PlacementsUpdateCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
41433	gensupport.SetOptions(c.urlParams_, opts...)
41434	res, err := c.doRequest("json")
41435	if res != nil && res.StatusCode == http.StatusNotModified {
41436		if res.Body != nil {
41437			res.Body.Close()
41438		}
41439		return nil, &googleapi.Error{
41440			Code:   res.StatusCode,
41441			Header: res.Header,
41442		}
41443	}
41444	if err != nil {
41445		return nil, err
41446	}
41447	defer googleapi.CloseBody(res)
41448	if err := googleapi.CheckResponse(res); err != nil {
41449		return nil, err
41450	}
41451	ret := &Placement{
41452		ServerResponse: googleapi.ServerResponse{
41453			Header:         res.Header,
41454			HTTPStatusCode: res.StatusCode,
41455		},
41456	}
41457	target := &ret
41458	if err := gensupport.DecodeResponse(target, res); err != nil {
41459		return nil, err
41460	}
41461	return ret, nil
41462	// {
41463	//   "description": "Updates an existing placement.",
41464	//   "flatPath": "userprofiles/{profileId}/placements",
41465	//   "httpMethod": "PUT",
41466	//   "id": "dfareporting.placements.update",
41467	//   "parameterOrder": [
41468	//     "profileId"
41469	//   ],
41470	//   "parameters": {
41471	//     "profileId": {
41472	//       "description": "User profile ID associated with this request.",
41473	//       "format": "int64",
41474	//       "location": "path",
41475	//       "required": true,
41476	//       "type": "string"
41477	//     }
41478	//   },
41479	//   "path": "userprofiles/{profileId}/placements",
41480	//   "request": {
41481	//     "$ref": "Placement"
41482	//   },
41483	//   "response": {
41484	//     "$ref": "Placement"
41485	//   },
41486	//   "scopes": [
41487	//     "https://www.googleapis.com/auth/dfatrafficking"
41488	//   ]
41489	// }
41490
41491}
41492
41493// method id "dfareporting.platformTypes.get":
41494
41495type PlatformTypesGetCall struct {
41496	s            *Service
41497	profileId    int64
41498	id           int64
41499	urlParams_   gensupport.URLParams
41500	ifNoneMatch_ string
41501	ctx_         context.Context
41502	header_      http.Header
41503}
41504
41505// Get: Gets one platform type by ID.
41506//
41507// - id: Platform type ID.
41508// - profileId: User profile ID associated with this request.
41509func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
41510	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41511	c.profileId = profileId
41512	c.id = id
41513	return c
41514}
41515
41516// Fields allows partial responses to be retrieved. See
41517// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41518// for more information.
41519func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
41520	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41521	return c
41522}
41523
41524// IfNoneMatch sets the optional parameter which makes the operation
41525// fail if the object's ETag matches the given value. This is useful for
41526// getting updates only after the object has changed since the last
41527// request. Use googleapi.IsNotModified to check whether the response
41528// error from Do is the result of In-None-Match.
41529func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
41530	c.ifNoneMatch_ = entityTag
41531	return c
41532}
41533
41534// Context sets the context to be used in this call's Do method. Any
41535// pending HTTP request will be aborted if the provided context is
41536// canceled.
41537func (c *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
41538	c.ctx_ = ctx
41539	return c
41540}
41541
41542// Header returns an http.Header that can be modified by the caller to
41543// add HTTP headers to the request.
41544func (c *PlatformTypesGetCall) Header() http.Header {
41545	if c.header_ == nil {
41546		c.header_ = make(http.Header)
41547	}
41548	return c.header_
41549}
41550
41551func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
41552	reqHeaders := make(http.Header)
41553	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
41554	for k, v := range c.header_ {
41555		reqHeaders[k] = v
41556	}
41557	reqHeaders.Set("User-Agent", c.s.userAgent())
41558	if c.ifNoneMatch_ != "" {
41559		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41560	}
41561	var body io.Reader = nil
41562	c.urlParams_.Set("alt", alt)
41563	c.urlParams_.Set("prettyPrint", "false")
41564	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
41565	urls += "?" + c.urlParams_.Encode()
41566	req, err := http.NewRequest("GET", urls, body)
41567	if err != nil {
41568		return nil, err
41569	}
41570	req.Header = reqHeaders
41571	googleapi.Expand(req.URL, map[string]string{
41572		"profileId": strconv.FormatInt(c.profileId, 10),
41573		"id":        strconv.FormatInt(c.id, 10),
41574	})
41575	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41576}
41577
41578// Do executes the "dfareporting.platformTypes.get" call.
41579// Exactly one of *PlatformType or error will be non-nil. Any non-2xx
41580// status code is an error. Response headers are in either
41581// *PlatformType.ServerResponse.Header or (if a response was returned at
41582// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41583// to check whether the returned error was because
41584// http.StatusNotModified was returned.
41585func (c *PlatformTypesGetCall) Do(opts ...googleapi.CallOption) (*PlatformType, error) {
41586	gensupport.SetOptions(c.urlParams_, opts...)
41587	res, err := c.doRequest("json")
41588	if res != nil && res.StatusCode == http.StatusNotModified {
41589		if res.Body != nil {
41590			res.Body.Close()
41591		}
41592		return nil, &googleapi.Error{
41593			Code:   res.StatusCode,
41594			Header: res.Header,
41595		}
41596	}
41597	if err != nil {
41598		return nil, err
41599	}
41600	defer googleapi.CloseBody(res)
41601	if err := googleapi.CheckResponse(res); err != nil {
41602		return nil, err
41603	}
41604	ret := &PlatformType{
41605		ServerResponse: googleapi.ServerResponse{
41606			Header:         res.Header,
41607			HTTPStatusCode: res.StatusCode,
41608		},
41609	}
41610	target := &ret
41611	if err := gensupport.DecodeResponse(target, res); err != nil {
41612		return nil, err
41613	}
41614	return ret, nil
41615	// {
41616	//   "description": "Gets one platform type by ID.",
41617	//   "flatPath": "userprofiles/{profileId}/platformTypes/{id}",
41618	//   "httpMethod": "GET",
41619	//   "id": "dfareporting.platformTypes.get",
41620	//   "parameterOrder": [
41621	//     "profileId",
41622	//     "id"
41623	//   ],
41624	//   "parameters": {
41625	//     "id": {
41626	//       "description": "Platform type ID.",
41627	//       "format": "int64",
41628	//       "location": "path",
41629	//       "required": true,
41630	//       "type": "string"
41631	//     },
41632	//     "profileId": {
41633	//       "description": "User profile ID associated with this request.",
41634	//       "format": "int64",
41635	//       "location": "path",
41636	//       "required": true,
41637	//       "type": "string"
41638	//     }
41639	//   },
41640	//   "path": "userprofiles/{profileId}/platformTypes/{id}",
41641	//   "response": {
41642	//     "$ref": "PlatformType"
41643	//   },
41644	//   "scopes": [
41645	//     "https://www.googleapis.com/auth/dfatrafficking"
41646	//   ]
41647	// }
41648
41649}
41650
41651// method id "dfareporting.platformTypes.list":
41652
41653type PlatformTypesListCall struct {
41654	s            *Service
41655	profileId    int64
41656	urlParams_   gensupport.URLParams
41657	ifNoneMatch_ string
41658	ctx_         context.Context
41659	header_      http.Header
41660}
41661
41662// List: Retrieves a list of platform types.
41663//
41664// - profileId: User profile ID associated with this request.
41665func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
41666	c := &PlatformTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41667	c.profileId = profileId
41668	return c
41669}
41670
41671// Fields allows partial responses to be retrieved. See
41672// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41673// for more information.
41674func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
41675	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41676	return c
41677}
41678
41679// IfNoneMatch sets the optional parameter which makes the operation
41680// fail if the object's ETag matches the given value. This is useful for
41681// getting updates only after the object has changed since the last
41682// request. Use googleapi.IsNotModified to check whether the response
41683// error from Do is the result of In-None-Match.
41684func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
41685	c.ifNoneMatch_ = entityTag
41686	return c
41687}
41688
41689// Context sets the context to be used in this call's Do method. Any
41690// pending HTTP request will be aborted if the provided context is
41691// canceled.
41692func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
41693	c.ctx_ = ctx
41694	return c
41695}
41696
41697// Header returns an http.Header that can be modified by the caller to
41698// add HTTP headers to the request.
41699func (c *PlatformTypesListCall) Header() http.Header {
41700	if c.header_ == nil {
41701		c.header_ = make(http.Header)
41702	}
41703	return c.header_
41704}
41705
41706func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
41707	reqHeaders := make(http.Header)
41708	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
41709	for k, v := range c.header_ {
41710		reqHeaders[k] = v
41711	}
41712	reqHeaders.Set("User-Agent", c.s.userAgent())
41713	if c.ifNoneMatch_ != "" {
41714		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41715	}
41716	var body io.Reader = nil
41717	c.urlParams_.Set("alt", alt)
41718	c.urlParams_.Set("prettyPrint", "false")
41719	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
41720	urls += "?" + c.urlParams_.Encode()
41721	req, err := http.NewRequest("GET", urls, body)
41722	if err != nil {
41723		return nil, err
41724	}
41725	req.Header = reqHeaders
41726	googleapi.Expand(req.URL, map[string]string{
41727		"profileId": strconv.FormatInt(c.profileId, 10),
41728	})
41729	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41730}
41731
41732// Do executes the "dfareporting.platformTypes.list" call.
41733// Exactly one of *PlatformTypesListResponse or error will be non-nil.
41734// Any non-2xx status code is an error. Response headers are in either
41735// *PlatformTypesListResponse.ServerResponse.Header or (if a response
41736// was returned at all) in error.(*googleapi.Error).Header. Use
41737// googleapi.IsNotModified to check whether the returned error was
41738// because http.StatusNotModified was returned.
41739func (c *PlatformTypesListCall) Do(opts ...googleapi.CallOption) (*PlatformTypesListResponse, error) {
41740	gensupport.SetOptions(c.urlParams_, opts...)
41741	res, err := c.doRequest("json")
41742	if res != nil && res.StatusCode == http.StatusNotModified {
41743		if res.Body != nil {
41744			res.Body.Close()
41745		}
41746		return nil, &googleapi.Error{
41747			Code:   res.StatusCode,
41748			Header: res.Header,
41749		}
41750	}
41751	if err != nil {
41752		return nil, err
41753	}
41754	defer googleapi.CloseBody(res)
41755	if err := googleapi.CheckResponse(res); err != nil {
41756		return nil, err
41757	}
41758	ret := &PlatformTypesListResponse{
41759		ServerResponse: googleapi.ServerResponse{
41760			Header:         res.Header,
41761			HTTPStatusCode: res.StatusCode,
41762		},
41763	}
41764	target := &ret
41765	if err := gensupport.DecodeResponse(target, res); err != nil {
41766		return nil, err
41767	}
41768	return ret, nil
41769	// {
41770	//   "description": "Retrieves a list of platform types.",
41771	//   "flatPath": "userprofiles/{profileId}/platformTypes",
41772	//   "httpMethod": "GET",
41773	//   "id": "dfareporting.platformTypes.list",
41774	//   "parameterOrder": [
41775	//     "profileId"
41776	//   ],
41777	//   "parameters": {
41778	//     "profileId": {
41779	//       "description": "User profile ID associated with this request.",
41780	//       "format": "int64",
41781	//       "location": "path",
41782	//       "required": true,
41783	//       "type": "string"
41784	//     }
41785	//   },
41786	//   "path": "userprofiles/{profileId}/platformTypes",
41787	//   "response": {
41788	//     "$ref": "PlatformTypesListResponse"
41789	//   },
41790	//   "scopes": [
41791	//     "https://www.googleapis.com/auth/dfatrafficking"
41792	//   ]
41793	// }
41794
41795}
41796
41797// method id "dfareporting.postalCodes.get":
41798
41799type PostalCodesGetCall struct {
41800	s            *Service
41801	profileId    int64
41802	code         string
41803	urlParams_   gensupport.URLParams
41804	ifNoneMatch_ string
41805	ctx_         context.Context
41806	header_      http.Header
41807}
41808
41809// Get: Gets one postal code by ID.
41810//
41811// - code: Postal code ID.
41812// - profileId: User profile ID associated with this request.
41813func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
41814	c := &PostalCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41815	c.profileId = profileId
41816	c.code = code
41817	return c
41818}
41819
41820// Fields allows partial responses to be retrieved. See
41821// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41822// for more information.
41823func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
41824	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41825	return c
41826}
41827
41828// IfNoneMatch sets the optional parameter which makes the operation
41829// fail if the object's ETag matches the given value. This is useful for
41830// getting updates only after the object has changed since the last
41831// request. Use googleapi.IsNotModified to check whether the response
41832// error from Do is the result of In-None-Match.
41833func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
41834	c.ifNoneMatch_ = entityTag
41835	return c
41836}
41837
41838// Context sets the context to be used in this call's Do method. Any
41839// pending HTTP request will be aborted if the provided context is
41840// canceled.
41841func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
41842	c.ctx_ = ctx
41843	return c
41844}
41845
41846// Header returns an http.Header that can be modified by the caller to
41847// add HTTP headers to the request.
41848func (c *PostalCodesGetCall) Header() http.Header {
41849	if c.header_ == nil {
41850		c.header_ = make(http.Header)
41851	}
41852	return c.header_
41853}
41854
41855func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
41856	reqHeaders := make(http.Header)
41857	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
41858	for k, v := range c.header_ {
41859		reqHeaders[k] = v
41860	}
41861	reqHeaders.Set("User-Agent", c.s.userAgent())
41862	if c.ifNoneMatch_ != "" {
41863		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41864	}
41865	var body io.Reader = nil
41866	c.urlParams_.Set("alt", alt)
41867	c.urlParams_.Set("prettyPrint", "false")
41868	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
41869	urls += "?" + c.urlParams_.Encode()
41870	req, err := http.NewRequest("GET", urls, body)
41871	if err != nil {
41872		return nil, err
41873	}
41874	req.Header = reqHeaders
41875	googleapi.Expand(req.URL, map[string]string{
41876		"profileId": strconv.FormatInt(c.profileId, 10),
41877		"code":      c.code,
41878	})
41879	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41880}
41881
41882// Do executes the "dfareporting.postalCodes.get" call.
41883// Exactly one of *PostalCode or error will be non-nil. Any non-2xx
41884// status code is an error. Response headers are in either
41885// *PostalCode.ServerResponse.Header or (if a response was returned at
41886// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41887// to check whether the returned error was because
41888// http.StatusNotModified was returned.
41889func (c *PostalCodesGetCall) Do(opts ...googleapi.CallOption) (*PostalCode, error) {
41890	gensupport.SetOptions(c.urlParams_, opts...)
41891	res, err := c.doRequest("json")
41892	if res != nil && res.StatusCode == http.StatusNotModified {
41893		if res.Body != nil {
41894			res.Body.Close()
41895		}
41896		return nil, &googleapi.Error{
41897			Code:   res.StatusCode,
41898			Header: res.Header,
41899		}
41900	}
41901	if err != nil {
41902		return nil, err
41903	}
41904	defer googleapi.CloseBody(res)
41905	if err := googleapi.CheckResponse(res); err != nil {
41906		return nil, err
41907	}
41908	ret := &PostalCode{
41909		ServerResponse: googleapi.ServerResponse{
41910			Header:         res.Header,
41911			HTTPStatusCode: res.StatusCode,
41912		},
41913	}
41914	target := &ret
41915	if err := gensupport.DecodeResponse(target, res); err != nil {
41916		return nil, err
41917	}
41918	return ret, nil
41919	// {
41920	//   "description": "Gets one postal code by ID.",
41921	//   "flatPath": "userprofiles/{profileId}/postalCodes/{code}",
41922	//   "httpMethod": "GET",
41923	//   "id": "dfareporting.postalCodes.get",
41924	//   "parameterOrder": [
41925	//     "profileId",
41926	//     "code"
41927	//   ],
41928	//   "parameters": {
41929	//     "code": {
41930	//       "description": "Postal code ID.",
41931	//       "location": "path",
41932	//       "required": true,
41933	//       "type": "string"
41934	//     },
41935	//     "profileId": {
41936	//       "description": "User profile ID associated with this request.",
41937	//       "format": "int64",
41938	//       "location": "path",
41939	//       "required": true,
41940	//       "type": "string"
41941	//     }
41942	//   },
41943	//   "path": "userprofiles/{profileId}/postalCodes/{code}",
41944	//   "response": {
41945	//     "$ref": "PostalCode"
41946	//   },
41947	//   "scopes": [
41948	//     "https://www.googleapis.com/auth/dfatrafficking"
41949	//   ]
41950	// }
41951
41952}
41953
41954// method id "dfareporting.postalCodes.list":
41955
41956type PostalCodesListCall struct {
41957	s            *Service
41958	profileId    int64
41959	urlParams_   gensupport.URLParams
41960	ifNoneMatch_ string
41961	ctx_         context.Context
41962	header_      http.Header
41963}
41964
41965// List: Retrieves a list of postal codes.
41966//
41967// - profileId: User profile ID associated with this request.
41968func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
41969	c := &PostalCodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41970	c.profileId = profileId
41971	return c
41972}
41973
41974// Fields allows partial responses to be retrieved. See
41975// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41976// for more information.
41977func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
41978	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41979	return c
41980}
41981
41982// IfNoneMatch sets the optional parameter which makes the operation
41983// fail if the object's ETag matches the given value. This is useful for
41984// getting updates only after the object has changed since the last
41985// request. Use googleapi.IsNotModified to check whether the response
41986// error from Do is the result of In-None-Match.
41987func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
41988	c.ifNoneMatch_ = entityTag
41989	return c
41990}
41991
41992// Context sets the context to be used in this call's Do method. Any
41993// pending HTTP request will be aborted if the provided context is
41994// canceled.
41995func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
41996	c.ctx_ = ctx
41997	return c
41998}
41999
42000// Header returns an http.Header that can be modified by the caller to
42001// add HTTP headers to the request.
42002func (c *PostalCodesListCall) Header() http.Header {
42003	if c.header_ == nil {
42004		c.header_ = make(http.Header)
42005	}
42006	return c.header_
42007}
42008
42009func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
42010	reqHeaders := make(http.Header)
42011	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
42012	for k, v := range c.header_ {
42013		reqHeaders[k] = v
42014	}
42015	reqHeaders.Set("User-Agent", c.s.userAgent())
42016	if c.ifNoneMatch_ != "" {
42017		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42018	}
42019	var body io.Reader = nil
42020	c.urlParams_.Set("alt", alt)
42021	c.urlParams_.Set("prettyPrint", "false")
42022	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
42023	urls += "?" + c.urlParams_.Encode()
42024	req, err := http.NewRequest("GET", urls, body)
42025	if err != nil {
42026		return nil, err
42027	}
42028	req.Header = reqHeaders
42029	googleapi.Expand(req.URL, map[string]string{
42030		"profileId": strconv.FormatInt(c.profileId, 10),
42031	})
42032	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42033}
42034
42035// Do executes the "dfareporting.postalCodes.list" call.
42036// Exactly one of *PostalCodesListResponse or error will be non-nil. Any
42037// non-2xx status code is an error. Response headers are in either
42038// *PostalCodesListResponse.ServerResponse.Header or (if a response was
42039// returned at all) in error.(*googleapi.Error).Header. Use
42040// googleapi.IsNotModified to check whether the returned error was
42041// because http.StatusNotModified was returned.
42042func (c *PostalCodesListCall) Do(opts ...googleapi.CallOption) (*PostalCodesListResponse, error) {
42043	gensupport.SetOptions(c.urlParams_, opts...)
42044	res, err := c.doRequest("json")
42045	if res != nil && res.StatusCode == http.StatusNotModified {
42046		if res.Body != nil {
42047			res.Body.Close()
42048		}
42049		return nil, &googleapi.Error{
42050			Code:   res.StatusCode,
42051			Header: res.Header,
42052		}
42053	}
42054	if err != nil {
42055		return nil, err
42056	}
42057	defer googleapi.CloseBody(res)
42058	if err := googleapi.CheckResponse(res); err != nil {
42059		return nil, err
42060	}
42061	ret := &PostalCodesListResponse{
42062		ServerResponse: googleapi.ServerResponse{
42063			Header:         res.Header,
42064			HTTPStatusCode: res.StatusCode,
42065		},
42066	}
42067	target := &ret
42068	if err := gensupport.DecodeResponse(target, res); err != nil {
42069		return nil, err
42070	}
42071	return ret, nil
42072	// {
42073	//   "description": "Retrieves a list of postal codes.",
42074	//   "flatPath": "userprofiles/{profileId}/postalCodes",
42075	//   "httpMethod": "GET",
42076	//   "id": "dfareporting.postalCodes.list",
42077	//   "parameterOrder": [
42078	//     "profileId"
42079	//   ],
42080	//   "parameters": {
42081	//     "profileId": {
42082	//       "description": "User profile ID associated with this request.",
42083	//       "format": "int64",
42084	//       "location": "path",
42085	//       "required": true,
42086	//       "type": "string"
42087	//     }
42088	//   },
42089	//   "path": "userprofiles/{profileId}/postalCodes",
42090	//   "response": {
42091	//     "$ref": "PostalCodesListResponse"
42092	//   },
42093	//   "scopes": [
42094	//     "https://www.googleapis.com/auth/dfatrafficking"
42095	//   ]
42096	// }
42097
42098}
42099
42100// method id "dfareporting.projects.get":
42101
42102type ProjectsGetCall struct {
42103	s            *Service
42104	profileId    int64
42105	id           int64
42106	urlParams_   gensupport.URLParams
42107	ifNoneMatch_ string
42108	ctx_         context.Context
42109	header_      http.Header
42110}
42111
42112// Get: Gets one project by ID.
42113//
42114// - id: Project ID.
42115// - profileId: User profile ID associated with this request.
42116func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
42117	c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42118	c.profileId = profileId
42119	c.id = id
42120	return c
42121}
42122
42123// Fields allows partial responses to be retrieved. See
42124// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42125// for more information.
42126func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
42127	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42128	return c
42129}
42130
42131// IfNoneMatch sets the optional parameter which makes the operation
42132// fail if the object's ETag matches the given value. This is useful for
42133// getting updates only after the object has changed since the last
42134// request. Use googleapi.IsNotModified to check whether the response
42135// error from Do is the result of In-None-Match.
42136func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
42137	c.ifNoneMatch_ = entityTag
42138	return c
42139}
42140
42141// Context sets the context to be used in this call's Do method. Any
42142// pending HTTP request will be aborted if the provided context is
42143// canceled.
42144func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
42145	c.ctx_ = ctx
42146	return c
42147}
42148
42149// Header returns an http.Header that can be modified by the caller to
42150// add HTTP headers to the request.
42151func (c *ProjectsGetCall) Header() http.Header {
42152	if c.header_ == nil {
42153		c.header_ = make(http.Header)
42154	}
42155	return c.header_
42156}
42157
42158func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
42159	reqHeaders := make(http.Header)
42160	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
42161	for k, v := range c.header_ {
42162		reqHeaders[k] = v
42163	}
42164	reqHeaders.Set("User-Agent", c.s.userAgent())
42165	if c.ifNoneMatch_ != "" {
42166		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42167	}
42168	var body io.Reader = nil
42169	c.urlParams_.Set("alt", alt)
42170	c.urlParams_.Set("prettyPrint", "false")
42171	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
42172	urls += "?" + c.urlParams_.Encode()
42173	req, err := http.NewRequest("GET", urls, body)
42174	if err != nil {
42175		return nil, err
42176	}
42177	req.Header = reqHeaders
42178	googleapi.Expand(req.URL, map[string]string{
42179		"profileId": strconv.FormatInt(c.profileId, 10),
42180		"id":        strconv.FormatInt(c.id, 10),
42181	})
42182	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42183}
42184
42185// Do executes the "dfareporting.projects.get" call.
42186// Exactly one of *Project or error will be non-nil. Any non-2xx status
42187// code is an error. Response headers are in either
42188// *Project.ServerResponse.Header or (if a response was returned at all)
42189// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
42190// check whether the returned error was because http.StatusNotModified
42191// was returned.
42192func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
42193	gensupport.SetOptions(c.urlParams_, opts...)
42194	res, err := c.doRequest("json")
42195	if res != nil && res.StatusCode == http.StatusNotModified {
42196		if res.Body != nil {
42197			res.Body.Close()
42198		}
42199		return nil, &googleapi.Error{
42200			Code:   res.StatusCode,
42201			Header: res.Header,
42202		}
42203	}
42204	if err != nil {
42205		return nil, err
42206	}
42207	defer googleapi.CloseBody(res)
42208	if err := googleapi.CheckResponse(res); err != nil {
42209		return nil, err
42210	}
42211	ret := &Project{
42212		ServerResponse: googleapi.ServerResponse{
42213			Header:         res.Header,
42214			HTTPStatusCode: res.StatusCode,
42215		},
42216	}
42217	target := &ret
42218	if err := gensupport.DecodeResponse(target, res); err != nil {
42219		return nil, err
42220	}
42221	return ret, nil
42222	// {
42223	//   "description": "Gets one project by ID.",
42224	//   "flatPath": "userprofiles/{profileId}/projects/{id}",
42225	//   "httpMethod": "GET",
42226	//   "id": "dfareporting.projects.get",
42227	//   "parameterOrder": [
42228	//     "profileId",
42229	//     "id"
42230	//   ],
42231	//   "parameters": {
42232	//     "id": {
42233	//       "description": "Project ID.",
42234	//       "format": "int64",
42235	//       "location": "path",
42236	//       "required": true,
42237	//       "type": "string"
42238	//     },
42239	//     "profileId": {
42240	//       "description": "User profile ID associated with this request.",
42241	//       "format": "int64",
42242	//       "location": "path",
42243	//       "required": true,
42244	//       "type": "string"
42245	//     }
42246	//   },
42247	//   "path": "userprofiles/{profileId}/projects/{id}",
42248	//   "response": {
42249	//     "$ref": "Project"
42250	//   },
42251	//   "scopes": [
42252	//     "https://www.googleapis.com/auth/dfatrafficking"
42253	//   ]
42254	// }
42255
42256}
42257
42258// method id "dfareporting.projects.list":
42259
42260type ProjectsListCall struct {
42261	s            *Service
42262	profileId    int64
42263	urlParams_   gensupport.URLParams
42264	ifNoneMatch_ string
42265	ctx_         context.Context
42266	header_      http.Header
42267}
42268
42269// List: Retrieves a list of projects, possibly filtered. This method
42270// supports paging .
42271//
42272// - profileId: User profile ID associated with this request.
42273func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
42274	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42275	c.profileId = profileId
42276	return c
42277}
42278
42279// AdvertiserIds sets the optional parameter "advertiserIds": Select
42280// only projects with these advertiser IDs.
42281func (c *ProjectsListCall) AdvertiserIds(advertiserIds ...int64) *ProjectsListCall {
42282	var advertiserIds_ []string
42283	for _, v := range advertiserIds {
42284		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
42285	}
42286	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
42287	return c
42288}
42289
42290// Ids sets the optional parameter "ids": Select only projects with
42291// these IDs.
42292func (c *ProjectsListCall) Ids(ids ...int64) *ProjectsListCall {
42293	var ids_ []string
42294	for _, v := range ids {
42295		ids_ = append(ids_, fmt.Sprint(v))
42296	}
42297	c.urlParams_.SetMulti("ids", ids_)
42298	return c
42299}
42300
42301// MaxResults sets the optional parameter "maxResults": Maximum number
42302// of results to return.
42303func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
42304	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
42305	return c
42306}
42307
42308// PageToken sets the optional parameter "pageToken": Value of the
42309// nextPageToken from the previous result page.
42310func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
42311	c.urlParams_.Set("pageToken", pageToken)
42312	return c
42313}
42314
42315// SearchString sets the optional parameter "searchString": Allows
42316// searching for projects by name or ID. Wildcards (*) are allowed. For
42317// example, "project*2015" will return projects with names like "project
42318// June 2015", "project April 2015", or simply "project 2015". Most of
42319// the searches also add wildcards implicitly at the start and the end
42320// of the search string. For example, a search string of "project" will
42321// match projects with name "my project", "project 2015", or simply
42322// "project".
42323func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
42324	c.urlParams_.Set("searchString", searchString)
42325	return c
42326}
42327
42328// SortField sets the optional parameter "sortField": Field by which to
42329// sort the list.
42330//
42331// Possible values:
42332//   "ID" (default)
42333//   "NAME"
42334func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
42335	c.urlParams_.Set("sortField", sortField)
42336	return c
42337}
42338
42339// SortOrder sets the optional parameter "sortOrder": Order of sorted
42340// results.
42341//
42342// Possible values:
42343//   "ASCENDING" (default)
42344//   "DESCENDING"
42345func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
42346	c.urlParams_.Set("sortOrder", sortOrder)
42347	return c
42348}
42349
42350// Fields allows partial responses to be retrieved. See
42351// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42352// for more information.
42353func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
42354	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42355	return c
42356}
42357
42358// IfNoneMatch sets the optional parameter which makes the operation
42359// fail if the object's ETag matches the given value. This is useful for
42360// getting updates only after the object has changed since the last
42361// request. Use googleapi.IsNotModified to check whether the response
42362// error from Do is the result of In-None-Match.
42363func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
42364	c.ifNoneMatch_ = entityTag
42365	return c
42366}
42367
42368// Context sets the context to be used in this call's Do method. Any
42369// pending HTTP request will be aborted if the provided context is
42370// canceled.
42371func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
42372	c.ctx_ = ctx
42373	return c
42374}
42375
42376// Header returns an http.Header that can be modified by the caller to
42377// add HTTP headers to the request.
42378func (c *ProjectsListCall) Header() http.Header {
42379	if c.header_ == nil {
42380		c.header_ = make(http.Header)
42381	}
42382	return c.header_
42383}
42384
42385func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
42386	reqHeaders := make(http.Header)
42387	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
42388	for k, v := range c.header_ {
42389		reqHeaders[k] = v
42390	}
42391	reqHeaders.Set("User-Agent", c.s.userAgent())
42392	if c.ifNoneMatch_ != "" {
42393		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42394	}
42395	var body io.Reader = nil
42396	c.urlParams_.Set("alt", alt)
42397	c.urlParams_.Set("prettyPrint", "false")
42398	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
42399	urls += "?" + c.urlParams_.Encode()
42400	req, err := http.NewRequest("GET", urls, body)
42401	if err != nil {
42402		return nil, err
42403	}
42404	req.Header = reqHeaders
42405	googleapi.Expand(req.URL, map[string]string{
42406		"profileId": strconv.FormatInt(c.profileId, 10),
42407	})
42408	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42409}
42410
42411// Do executes the "dfareporting.projects.list" call.
42412// Exactly one of *ProjectsListResponse or error will be non-nil. Any
42413// non-2xx status code is an error. Response headers are in either
42414// *ProjectsListResponse.ServerResponse.Header or (if a response was
42415// returned at all) in error.(*googleapi.Error).Header. Use
42416// googleapi.IsNotModified to check whether the returned error was
42417// because http.StatusNotModified was returned.
42418func (c *ProjectsListCall) Do(opts ...googleapi.CallOption) (*ProjectsListResponse, error) {
42419	gensupport.SetOptions(c.urlParams_, opts...)
42420	res, err := c.doRequest("json")
42421	if res != nil && res.StatusCode == http.StatusNotModified {
42422		if res.Body != nil {
42423			res.Body.Close()
42424		}
42425		return nil, &googleapi.Error{
42426			Code:   res.StatusCode,
42427			Header: res.Header,
42428		}
42429	}
42430	if err != nil {
42431		return nil, err
42432	}
42433	defer googleapi.CloseBody(res)
42434	if err := googleapi.CheckResponse(res); err != nil {
42435		return nil, err
42436	}
42437	ret := &ProjectsListResponse{
42438		ServerResponse: googleapi.ServerResponse{
42439			Header:         res.Header,
42440			HTTPStatusCode: res.StatusCode,
42441		},
42442	}
42443	target := &ret
42444	if err := gensupport.DecodeResponse(target, res); err != nil {
42445		return nil, err
42446	}
42447	return ret, nil
42448	// {
42449	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging .",
42450	//   "flatPath": "userprofiles/{profileId}/projects",
42451	//   "httpMethod": "GET",
42452	//   "id": "dfareporting.projects.list",
42453	//   "parameterOrder": [
42454	//     "profileId"
42455	//   ],
42456	//   "parameters": {
42457	//     "advertiserIds": {
42458	//       "description": "Select only projects with these advertiser IDs.",
42459	//       "format": "int64",
42460	//       "location": "query",
42461	//       "repeated": true,
42462	//       "type": "string"
42463	//     },
42464	//     "ids": {
42465	//       "description": "Select only projects with these IDs.",
42466	//       "format": "int64",
42467	//       "location": "query",
42468	//       "repeated": true,
42469	//       "type": "string"
42470	//     },
42471	//     "maxResults": {
42472	//       "default": "1000",
42473	//       "description": "Maximum number of results to return.",
42474	//       "format": "int32",
42475	//       "location": "query",
42476	//       "maximum": "1000",
42477	//       "minimum": "0",
42478	//       "type": "integer"
42479	//     },
42480	//     "pageToken": {
42481	//       "description": "Value of the nextPageToken from the previous result page.",
42482	//       "location": "query",
42483	//       "type": "string"
42484	//     },
42485	//     "profileId": {
42486	//       "description": "User profile ID associated with this request.",
42487	//       "format": "int64",
42488	//       "location": "path",
42489	//       "required": true,
42490	//       "type": "string"
42491	//     },
42492	//     "searchString": {
42493	//       "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\".",
42494	//       "location": "query",
42495	//       "type": "string"
42496	//     },
42497	//     "sortField": {
42498	//       "default": "ID",
42499	//       "description": "Field by which to sort the list.",
42500	//       "enum": [
42501	//         "ID",
42502	//         "NAME"
42503	//       ],
42504	//       "enumDescriptions": [
42505	//         "",
42506	//         ""
42507	//       ],
42508	//       "location": "query",
42509	//       "type": "string"
42510	//     },
42511	//     "sortOrder": {
42512	//       "default": "ASCENDING",
42513	//       "description": "Order of sorted results.",
42514	//       "enum": [
42515	//         "ASCENDING",
42516	//         "DESCENDING"
42517	//       ],
42518	//       "enumDescriptions": [
42519	//         "",
42520	//         ""
42521	//       ],
42522	//       "location": "query",
42523	//       "type": "string"
42524	//     }
42525	//   },
42526	//   "path": "userprofiles/{profileId}/projects",
42527	//   "response": {
42528	//     "$ref": "ProjectsListResponse"
42529	//   },
42530	//   "scopes": [
42531	//     "https://www.googleapis.com/auth/dfatrafficking"
42532	//   ]
42533	// }
42534
42535}
42536
42537// Pages invokes f for each page of results.
42538// A non-nil error returned from f will halt the iteration.
42539// The provided context supersedes any context provided to the Context method.
42540func (c *ProjectsListCall) Pages(ctx context.Context, f func(*ProjectsListResponse) error) error {
42541	c.ctx_ = ctx
42542	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
42543	for {
42544		x, err := c.Do()
42545		if err != nil {
42546			return err
42547		}
42548		if err := f(x); err != nil {
42549			return err
42550		}
42551		if x.NextPageToken == "" {
42552			return nil
42553		}
42554		c.PageToken(x.NextPageToken)
42555	}
42556}
42557
42558// method id "dfareporting.regions.list":
42559
42560type RegionsListCall struct {
42561	s            *Service
42562	profileId    int64
42563	urlParams_   gensupport.URLParams
42564	ifNoneMatch_ string
42565	ctx_         context.Context
42566	header_      http.Header
42567}
42568
42569// List: Retrieves a list of regions.
42570//
42571// - profileId: User profile ID associated with this request.
42572func (r *RegionsService) List(profileId int64) *RegionsListCall {
42573	c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42574	c.profileId = profileId
42575	return c
42576}
42577
42578// Fields allows partial responses to be retrieved. See
42579// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42580// for more information.
42581func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
42582	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42583	return c
42584}
42585
42586// IfNoneMatch sets the optional parameter which makes the operation
42587// fail if the object's ETag matches the given value. This is useful for
42588// getting updates only after the object has changed since the last
42589// request. Use googleapi.IsNotModified to check whether the response
42590// error from Do is the result of In-None-Match.
42591func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
42592	c.ifNoneMatch_ = entityTag
42593	return c
42594}
42595
42596// Context sets the context to be used in this call's Do method. Any
42597// pending HTTP request will be aborted if the provided context is
42598// canceled.
42599func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
42600	c.ctx_ = ctx
42601	return c
42602}
42603
42604// Header returns an http.Header that can be modified by the caller to
42605// add HTTP headers to the request.
42606func (c *RegionsListCall) Header() http.Header {
42607	if c.header_ == nil {
42608		c.header_ = make(http.Header)
42609	}
42610	return c.header_
42611}
42612
42613func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
42614	reqHeaders := make(http.Header)
42615	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
42616	for k, v := range c.header_ {
42617		reqHeaders[k] = v
42618	}
42619	reqHeaders.Set("User-Agent", c.s.userAgent())
42620	if c.ifNoneMatch_ != "" {
42621		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42622	}
42623	var body io.Reader = nil
42624	c.urlParams_.Set("alt", alt)
42625	c.urlParams_.Set("prettyPrint", "false")
42626	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
42627	urls += "?" + c.urlParams_.Encode()
42628	req, err := http.NewRequest("GET", urls, body)
42629	if err != nil {
42630		return nil, err
42631	}
42632	req.Header = reqHeaders
42633	googleapi.Expand(req.URL, map[string]string{
42634		"profileId": strconv.FormatInt(c.profileId, 10),
42635	})
42636	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42637}
42638
42639// Do executes the "dfareporting.regions.list" call.
42640// Exactly one of *RegionsListResponse or error will be non-nil. Any
42641// non-2xx status code is an error. Response headers are in either
42642// *RegionsListResponse.ServerResponse.Header or (if a response was
42643// returned at all) in error.(*googleapi.Error).Header. Use
42644// googleapi.IsNotModified to check whether the returned error was
42645// because http.StatusNotModified was returned.
42646func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionsListResponse, error) {
42647	gensupport.SetOptions(c.urlParams_, opts...)
42648	res, err := c.doRequest("json")
42649	if res != nil && res.StatusCode == http.StatusNotModified {
42650		if res.Body != nil {
42651			res.Body.Close()
42652		}
42653		return nil, &googleapi.Error{
42654			Code:   res.StatusCode,
42655			Header: res.Header,
42656		}
42657	}
42658	if err != nil {
42659		return nil, err
42660	}
42661	defer googleapi.CloseBody(res)
42662	if err := googleapi.CheckResponse(res); err != nil {
42663		return nil, err
42664	}
42665	ret := &RegionsListResponse{
42666		ServerResponse: googleapi.ServerResponse{
42667			Header:         res.Header,
42668			HTTPStatusCode: res.StatusCode,
42669		},
42670	}
42671	target := &ret
42672	if err := gensupport.DecodeResponse(target, res); err != nil {
42673		return nil, err
42674	}
42675	return ret, nil
42676	// {
42677	//   "description": "Retrieves a list of regions.",
42678	//   "flatPath": "userprofiles/{profileId}/regions",
42679	//   "httpMethod": "GET",
42680	//   "id": "dfareporting.regions.list",
42681	//   "parameterOrder": [
42682	//     "profileId"
42683	//   ],
42684	//   "parameters": {
42685	//     "profileId": {
42686	//       "description": "User profile ID associated with this request.",
42687	//       "format": "int64",
42688	//       "location": "path",
42689	//       "required": true,
42690	//       "type": "string"
42691	//     }
42692	//   },
42693	//   "path": "userprofiles/{profileId}/regions",
42694	//   "response": {
42695	//     "$ref": "RegionsListResponse"
42696	//   },
42697	//   "scopes": [
42698	//     "https://www.googleapis.com/auth/dfatrafficking"
42699	//   ]
42700	// }
42701
42702}
42703
42704// method id "dfareporting.remarketingListShares.get":
42705
42706type RemarketingListSharesGetCall struct {
42707	s                 *Service
42708	profileId         int64
42709	remarketingListId int64
42710	urlParams_        gensupport.URLParams
42711	ifNoneMatch_      string
42712	ctx_              context.Context
42713	header_           http.Header
42714}
42715
42716// Get: Gets one remarketing list share by remarketing list ID.
42717//
42718// - profileId: User profile ID associated with this request.
42719// - remarketingListId: Remarketing list ID.
42720func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
42721	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42722	c.profileId = profileId
42723	c.remarketingListId = remarketingListId
42724	return c
42725}
42726
42727// Fields allows partial responses to be retrieved. See
42728// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42729// for more information.
42730func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
42731	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42732	return c
42733}
42734
42735// IfNoneMatch sets the optional parameter which makes the operation
42736// fail if the object's ETag matches the given value. This is useful for
42737// getting updates only after the object has changed since the last
42738// request. Use googleapi.IsNotModified to check whether the response
42739// error from Do is the result of In-None-Match.
42740func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
42741	c.ifNoneMatch_ = entityTag
42742	return c
42743}
42744
42745// Context sets the context to be used in this call's Do method. Any
42746// pending HTTP request will be aborted if the provided context is
42747// canceled.
42748func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
42749	c.ctx_ = ctx
42750	return c
42751}
42752
42753// Header returns an http.Header that can be modified by the caller to
42754// add HTTP headers to the request.
42755func (c *RemarketingListSharesGetCall) Header() http.Header {
42756	if c.header_ == nil {
42757		c.header_ = make(http.Header)
42758	}
42759	return c.header_
42760}
42761
42762func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
42763	reqHeaders := make(http.Header)
42764	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
42765	for k, v := range c.header_ {
42766		reqHeaders[k] = v
42767	}
42768	reqHeaders.Set("User-Agent", c.s.userAgent())
42769	if c.ifNoneMatch_ != "" {
42770		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42771	}
42772	var body io.Reader = nil
42773	c.urlParams_.Set("alt", alt)
42774	c.urlParams_.Set("prettyPrint", "false")
42775	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
42776	urls += "?" + c.urlParams_.Encode()
42777	req, err := http.NewRequest("GET", urls, body)
42778	if err != nil {
42779		return nil, err
42780	}
42781	req.Header = reqHeaders
42782	googleapi.Expand(req.URL, map[string]string{
42783		"profileId":         strconv.FormatInt(c.profileId, 10),
42784		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
42785	})
42786	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42787}
42788
42789// Do executes the "dfareporting.remarketingListShares.get" call.
42790// Exactly one of *RemarketingListShare or error will be non-nil. Any
42791// non-2xx status code is an error. Response headers are in either
42792// *RemarketingListShare.ServerResponse.Header or (if a response was
42793// returned at all) in error.(*googleapi.Error).Header. Use
42794// googleapi.IsNotModified to check whether the returned error was
42795// because http.StatusNotModified was returned.
42796func (c *RemarketingListSharesGetCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
42797	gensupport.SetOptions(c.urlParams_, opts...)
42798	res, err := c.doRequest("json")
42799	if res != nil && res.StatusCode == http.StatusNotModified {
42800		if res.Body != nil {
42801			res.Body.Close()
42802		}
42803		return nil, &googleapi.Error{
42804			Code:   res.StatusCode,
42805			Header: res.Header,
42806		}
42807	}
42808	if err != nil {
42809		return nil, err
42810	}
42811	defer googleapi.CloseBody(res)
42812	if err := googleapi.CheckResponse(res); err != nil {
42813		return nil, err
42814	}
42815	ret := &RemarketingListShare{
42816		ServerResponse: googleapi.ServerResponse{
42817			Header:         res.Header,
42818			HTTPStatusCode: res.StatusCode,
42819		},
42820	}
42821	target := &ret
42822	if err := gensupport.DecodeResponse(target, res); err != nil {
42823		return nil, err
42824	}
42825	return ret, nil
42826	// {
42827	//   "description": "Gets one remarketing list share by remarketing list ID.",
42828	//   "flatPath": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
42829	//   "httpMethod": "GET",
42830	//   "id": "dfareporting.remarketingListShares.get",
42831	//   "parameterOrder": [
42832	//     "profileId",
42833	//     "remarketingListId"
42834	//   ],
42835	//   "parameters": {
42836	//     "profileId": {
42837	//       "description": "User profile ID associated with this request.",
42838	//       "format": "int64",
42839	//       "location": "path",
42840	//       "required": true,
42841	//       "type": "string"
42842	//     },
42843	//     "remarketingListId": {
42844	//       "description": "Remarketing list ID.",
42845	//       "format": "int64",
42846	//       "location": "path",
42847	//       "required": true,
42848	//       "type": "string"
42849	//     }
42850	//   },
42851	//   "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
42852	//   "response": {
42853	//     "$ref": "RemarketingListShare"
42854	//   },
42855	//   "scopes": [
42856	//     "https://www.googleapis.com/auth/dfatrafficking"
42857	//   ]
42858	// }
42859
42860}
42861
42862// method id "dfareporting.remarketingListShares.patch":
42863
42864type RemarketingListSharesPatchCall struct {
42865	s                    *Service
42866	profileId            int64
42867	remarketinglistshare *RemarketingListShare
42868	urlParams_           gensupport.URLParams
42869	ctx_                 context.Context
42870	header_              http.Header
42871}
42872
42873// Patch: Updates an existing remarketing list share. This method
42874// supports patch semantics.
42875//
42876// - id: RemarketingList ID.
42877// - profileId: User profile ID associated with this request.
42878func (r *RemarketingListSharesService) Patch(profileId int64, id int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
42879	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42880	c.profileId = profileId
42881	c.urlParams_.Set("id", fmt.Sprint(id))
42882	c.remarketinglistshare = remarketinglistshare
42883	return c
42884}
42885
42886// Fields allows partial responses to be retrieved. See
42887// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42888// for more information.
42889func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
42890	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42891	return c
42892}
42893
42894// Context sets the context to be used in this call's Do method. Any
42895// pending HTTP request will be aborted if the provided context is
42896// canceled.
42897func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
42898	c.ctx_ = ctx
42899	return c
42900}
42901
42902// Header returns an http.Header that can be modified by the caller to
42903// add HTTP headers to the request.
42904func (c *RemarketingListSharesPatchCall) Header() http.Header {
42905	if c.header_ == nil {
42906		c.header_ = make(http.Header)
42907	}
42908	return c.header_
42909}
42910
42911func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
42912	reqHeaders := make(http.Header)
42913	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
42914	for k, v := range c.header_ {
42915		reqHeaders[k] = v
42916	}
42917	reqHeaders.Set("User-Agent", c.s.userAgent())
42918	var body io.Reader = nil
42919	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
42920	if err != nil {
42921		return nil, err
42922	}
42923	reqHeaders.Set("Content-Type", "application/json")
42924	c.urlParams_.Set("alt", alt)
42925	c.urlParams_.Set("prettyPrint", "false")
42926	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
42927	urls += "?" + c.urlParams_.Encode()
42928	req, err := http.NewRequest("PATCH", urls, body)
42929	if err != nil {
42930		return nil, err
42931	}
42932	req.Header = reqHeaders
42933	googleapi.Expand(req.URL, map[string]string{
42934		"profileId": strconv.FormatInt(c.profileId, 10),
42935	})
42936	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42937}
42938
42939// Do executes the "dfareporting.remarketingListShares.patch" call.
42940// Exactly one of *RemarketingListShare or error will be non-nil. Any
42941// non-2xx status code is an error. Response headers are in either
42942// *RemarketingListShare.ServerResponse.Header or (if a response was
42943// returned at all) in error.(*googleapi.Error).Header. Use
42944// googleapi.IsNotModified to check whether the returned error was
42945// because http.StatusNotModified was returned.
42946func (c *RemarketingListSharesPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
42947	gensupport.SetOptions(c.urlParams_, opts...)
42948	res, err := c.doRequest("json")
42949	if res != nil && res.StatusCode == http.StatusNotModified {
42950		if res.Body != nil {
42951			res.Body.Close()
42952		}
42953		return nil, &googleapi.Error{
42954			Code:   res.StatusCode,
42955			Header: res.Header,
42956		}
42957	}
42958	if err != nil {
42959		return nil, err
42960	}
42961	defer googleapi.CloseBody(res)
42962	if err := googleapi.CheckResponse(res); err != nil {
42963		return nil, err
42964	}
42965	ret := &RemarketingListShare{
42966		ServerResponse: googleapi.ServerResponse{
42967			Header:         res.Header,
42968			HTTPStatusCode: res.StatusCode,
42969		},
42970	}
42971	target := &ret
42972	if err := gensupport.DecodeResponse(target, res); err != nil {
42973		return nil, err
42974	}
42975	return ret, nil
42976	// {
42977	//   "description": "Updates an existing remarketing list share. This method supports patch semantics.",
42978	//   "flatPath": "userprofiles/{profileId}/remarketingListShares",
42979	//   "httpMethod": "PATCH",
42980	//   "id": "dfareporting.remarketingListShares.patch",
42981	//   "parameterOrder": [
42982	//     "profileId",
42983	//     "id"
42984	//   ],
42985	//   "parameters": {
42986	//     "id": {
42987	//       "description": "RemarketingList ID.",
42988	//       "format": "int64",
42989	//       "location": "query",
42990	//       "required": true,
42991	//       "type": "string"
42992	//     },
42993	//     "profileId": {
42994	//       "description": "User profile ID associated with this request.",
42995	//       "format": "int64",
42996	//       "location": "path",
42997	//       "required": true,
42998	//       "type": "string"
42999	//     }
43000	//   },
43001	//   "path": "userprofiles/{profileId}/remarketingListShares",
43002	//   "request": {
43003	//     "$ref": "RemarketingListShare"
43004	//   },
43005	//   "response": {
43006	//     "$ref": "RemarketingListShare"
43007	//   },
43008	//   "scopes": [
43009	//     "https://www.googleapis.com/auth/dfatrafficking"
43010	//   ]
43011	// }
43012
43013}
43014
43015// method id "dfareporting.remarketingListShares.update":
43016
43017type RemarketingListSharesUpdateCall struct {
43018	s                    *Service
43019	profileId            int64
43020	remarketinglistshare *RemarketingListShare
43021	urlParams_           gensupport.URLParams
43022	ctx_                 context.Context
43023	header_              http.Header
43024}
43025
43026// Update: Updates an existing remarketing list share.
43027//
43028// - profileId: User profile ID associated with this request.
43029func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
43030	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43031	c.profileId = profileId
43032	c.remarketinglistshare = remarketinglistshare
43033	return c
43034}
43035
43036// Fields allows partial responses to be retrieved. See
43037// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43038// for more information.
43039func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
43040	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43041	return c
43042}
43043
43044// Context sets the context to be used in this call's Do method. Any
43045// pending HTTP request will be aborted if the provided context is
43046// canceled.
43047func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
43048	c.ctx_ = ctx
43049	return c
43050}
43051
43052// Header returns an http.Header that can be modified by the caller to
43053// add HTTP headers to the request.
43054func (c *RemarketingListSharesUpdateCall) Header() http.Header {
43055	if c.header_ == nil {
43056		c.header_ = make(http.Header)
43057	}
43058	return c.header_
43059}
43060
43061func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
43062	reqHeaders := make(http.Header)
43063	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
43064	for k, v := range c.header_ {
43065		reqHeaders[k] = v
43066	}
43067	reqHeaders.Set("User-Agent", c.s.userAgent())
43068	var body io.Reader = nil
43069	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
43070	if err != nil {
43071		return nil, err
43072	}
43073	reqHeaders.Set("Content-Type", "application/json")
43074	c.urlParams_.Set("alt", alt)
43075	c.urlParams_.Set("prettyPrint", "false")
43076	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
43077	urls += "?" + c.urlParams_.Encode()
43078	req, err := http.NewRequest("PUT", urls, body)
43079	if err != nil {
43080		return nil, err
43081	}
43082	req.Header = reqHeaders
43083	googleapi.Expand(req.URL, map[string]string{
43084		"profileId": strconv.FormatInt(c.profileId, 10),
43085	})
43086	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43087}
43088
43089// Do executes the "dfareporting.remarketingListShares.update" call.
43090// Exactly one of *RemarketingListShare or error will be non-nil. Any
43091// non-2xx status code is an error. Response headers are in either
43092// *RemarketingListShare.ServerResponse.Header or (if a response was
43093// returned at all) in error.(*googleapi.Error).Header. Use
43094// googleapi.IsNotModified to check whether the returned error was
43095// because http.StatusNotModified was returned.
43096func (c *RemarketingListSharesUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
43097	gensupport.SetOptions(c.urlParams_, opts...)
43098	res, err := c.doRequest("json")
43099	if res != nil && res.StatusCode == http.StatusNotModified {
43100		if res.Body != nil {
43101			res.Body.Close()
43102		}
43103		return nil, &googleapi.Error{
43104			Code:   res.StatusCode,
43105			Header: res.Header,
43106		}
43107	}
43108	if err != nil {
43109		return nil, err
43110	}
43111	defer googleapi.CloseBody(res)
43112	if err := googleapi.CheckResponse(res); err != nil {
43113		return nil, err
43114	}
43115	ret := &RemarketingListShare{
43116		ServerResponse: googleapi.ServerResponse{
43117			Header:         res.Header,
43118			HTTPStatusCode: res.StatusCode,
43119		},
43120	}
43121	target := &ret
43122	if err := gensupport.DecodeResponse(target, res); err != nil {
43123		return nil, err
43124	}
43125	return ret, nil
43126	// {
43127	//   "description": "Updates an existing remarketing list share.",
43128	//   "flatPath": "userprofiles/{profileId}/remarketingListShares",
43129	//   "httpMethod": "PUT",
43130	//   "id": "dfareporting.remarketingListShares.update",
43131	//   "parameterOrder": [
43132	//     "profileId"
43133	//   ],
43134	//   "parameters": {
43135	//     "profileId": {
43136	//       "description": "User profile ID associated with this request.",
43137	//       "format": "int64",
43138	//       "location": "path",
43139	//       "required": true,
43140	//       "type": "string"
43141	//     }
43142	//   },
43143	//   "path": "userprofiles/{profileId}/remarketingListShares",
43144	//   "request": {
43145	//     "$ref": "RemarketingListShare"
43146	//   },
43147	//   "response": {
43148	//     "$ref": "RemarketingListShare"
43149	//   },
43150	//   "scopes": [
43151	//     "https://www.googleapis.com/auth/dfatrafficking"
43152	//   ]
43153	// }
43154
43155}
43156
43157// method id "dfareporting.remarketingLists.get":
43158
43159type RemarketingListsGetCall struct {
43160	s            *Service
43161	profileId    int64
43162	id           int64
43163	urlParams_   gensupport.URLParams
43164	ifNoneMatch_ string
43165	ctx_         context.Context
43166	header_      http.Header
43167}
43168
43169// Get: Gets one remarketing list by ID.
43170//
43171// - id: Remarketing list ID.
43172// - profileId: User profile ID associated with this request.
43173func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
43174	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43175	c.profileId = profileId
43176	c.id = id
43177	return c
43178}
43179
43180// Fields allows partial responses to be retrieved. See
43181// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43182// for more information.
43183func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
43184	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43185	return c
43186}
43187
43188// IfNoneMatch sets the optional parameter which makes the operation
43189// fail if the object's ETag matches the given value. This is useful for
43190// getting updates only after the object has changed since the last
43191// request. Use googleapi.IsNotModified to check whether the response
43192// error from Do is the result of In-None-Match.
43193func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
43194	c.ifNoneMatch_ = entityTag
43195	return c
43196}
43197
43198// Context sets the context to be used in this call's Do method. Any
43199// pending HTTP request will be aborted if the provided context is
43200// canceled.
43201func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
43202	c.ctx_ = ctx
43203	return c
43204}
43205
43206// Header returns an http.Header that can be modified by the caller to
43207// add HTTP headers to the request.
43208func (c *RemarketingListsGetCall) Header() http.Header {
43209	if c.header_ == nil {
43210		c.header_ = make(http.Header)
43211	}
43212	return c.header_
43213}
43214
43215func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
43216	reqHeaders := make(http.Header)
43217	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
43218	for k, v := range c.header_ {
43219		reqHeaders[k] = v
43220	}
43221	reqHeaders.Set("User-Agent", c.s.userAgent())
43222	if c.ifNoneMatch_ != "" {
43223		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43224	}
43225	var body io.Reader = nil
43226	c.urlParams_.Set("alt", alt)
43227	c.urlParams_.Set("prettyPrint", "false")
43228	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
43229	urls += "?" + c.urlParams_.Encode()
43230	req, err := http.NewRequest("GET", urls, body)
43231	if err != nil {
43232		return nil, err
43233	}
43234	req.Header = reqHeaders
43235	googleapi.Expand(req.URL, map[string]string{
43236		"profileId": strconv.FormatInt(c.profileId, 10),
43237		"id":        strconv.FormatInt(c.id, 10),
43238	})
43239	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43240}
43241
43242// Do executes the "dfareporting.remarketingLists.get" call.
43243// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43244// status code is an error. Response headers are in either
43245// *RemarketingList.ServerResponse.Header or (if a response was returned
43246// at all) in error.(*googleapi.Error).Header. Use
43247// googleapi.IsNotModified to check whether the returned error was
43248// because http.StatusNotModified was returned.
43249func (c *RemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43250	gensupport.SetOptions(c.urlParams_, opts...)
43251	res, err := c.doRequest("json")
43252	if res != nil && res.StatusCode == http.StatusNotModified {
43253		if res.Body != nil {
43254			res.Body.Close()
43255		}
43256		return nil, &googleapi.Error{
43257			Code:   res.StatusCode,
43258			Header: res.Header,
43259		}
43260	}
43261	if err != nil {
43262		return nil, err
43263	}
43264	defer googleapi.CloseBody(res)
43265	if err := googleapi.CheckResponse(res); err != nil {
43266		return nil, err
43267	}
43268	ret := &RemarketingList{
43269		ServerResponse: googleapi.ServerResponse{
43270			Header:         res.Header,
43271			HTTPStatusCode: res.StatusCode,
43272		},
43273	}
43274	target := &ret
43275	if err := gensupport.DecodeResponse(target, res); err != nil {
43276		return nil, err
43277	}
43278	return ret, nil
43279	// {
43280	//   "description": "Gets one remarketing list by ID.",
43281	//   "flatPath": "userprofiles/{profileId}/remarketingLists/{id}",
43282	//   "httpMethod": "GET",
43283	//   "id": "dfareporting.remarketingLists.get",
43284	//   "parameterOrder": [
43285	//     "profileId",
43286	//     "id"
43287	//   ],
43288	//   "parameters": {
43289	//     "id": {
43290	//       "description": "Remarketing list ID.",
43291	//       "format": "int64",
43292	//       "location": "path",
43293	//       "required": true,
43294	//       "type": "string"
43295	//     },
43296	//     "profileId": {
43297	//       "description": "User profile ID associated with this request.",
43298	//       "format": "int64",
43299	//       "location": "path",
43300	//       "required": true,
43301	//       "type": "string"
43302	//     }
43303	//   },
43304	//   "path": "userprofiles/{profileId}/remarketingLists/{id}",
43305	//   "response": {
43306	//     "$ref": "RemarketingList"
43307	//   },
43308	//   "scopes": [
43309	//     "https://www.googleapis.com/auth/dfatrafficking"
43310	//   ]
43311	// }
43312
43313}
43314
43315// method id "dfareporting.remarketingLists.insert":
43316
43317type RemarketingListsInsertCall struct {
43318	s               *Service
43319	profileId       int64
43320	remarketinglist *RemarketingList
43321	urlParams_      gensupport.URLParams
43322	ctx_            context.Context
43323	header_         http.Header
43324}
43325
43326// Insert: Inserts a new remarketing list.
43327//
43328// - profileId: User profile ID associated with this request.
43329func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
43330	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43331	c.profileId = profileId
43332	c.remarketinglist = remarketinglist
43333	return c
43334}
43335
43336// Fields allows partial responses to be retrieved. See
43337// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43338// for more information.
43339func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
43340	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43341	return c
43342}
43343
43344// Context sets the context to be used in this call's Do method. Any
43345// pending HTTP request will be aborted if the provided context is
43346// canceled.
43347func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
43348	c.ctx_ = ctx
43349	return c
43350}
43351
43352// Header returns an http.Header that can be modified by the caller to
43353// add HTTP headers to the request.
43354func (c *RemarketingListsInsertCall) Header() http.Header {
43355	if c.header_ == nil {
43356		c.header_ = make(http.Header)
43357	}
43358	return c.header_
43359}
43360
43361func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
43362	reqHeaders := make(http.Header)
43363	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
43364	for k, v := range c.header_ {
43365		reqHeaders[k] = v
43366	}
43367	reqHeaders.Set("User-Agent", c.s.userAgent())
43368	var body io.Reader = nil
43369	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
43370	if err != nil {
43371		return nil, err
43372	}
43373	reqHeaders.Set("Content-Type", "application/json")
43374	c.urlParams_.Set("alt", alt)
43375	c.urlParams_.Set("prettyPrint", "false")
43376	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43377	urls += "?" + c.urlParams_.Encode()
43378	req, err := http.NewRequest("POST", urls, body)
43379	if err != nil {
43380		return nil, err
43381	}
43382	req.Header = reqHeaders
43383	googleapi.Expand(req.URL, map[string]string{
43384		"profileId": strconv.FormatInt(c.profileId, 10),
43385	})
43386	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43387}
43388
43389// Do executes the "dfareporting.remarketingLists.insert" call.
43390// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43391// status code is an error. Response headers are in either
43392// *RemarketingList.ServerResponse.Header or (if a response was returned
43393// at all) in error.(*googleapi.Error).Header. Use
43394// googleapi.IsNotModified to check whether the returned error was
43395// because http.StatusNotModified was returned.
43396func (c *RemarketingListsInsertCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43397	gensupport.SetOptions(c.urlParams_, opts...)
43398	res, err := c.doRequest("json")
43399	if res != nil && res.StatusCode == http.StatusNotModified {
43400		if res.Body != nil {
43401			res.Body.Close()
43402		}
43403		return nil, &googleapi.Error{
43404			Code:   res.StatusCode,
43405			Header: res.Header,
43406		}
43407	}
43408	if err != nil {
43409		return nil, err
43410	}
43411	defer googleapi.CloseBody(res)
43412	if err := googleapi.CheckResponse(res); err != nil {
43413		return nil, err
43414	}
43415	ret := &RemarketingList{
43416		ServerResponse: googleapi.ServerResponse{
43417			Header:         res.Header,
43418			HTTPStatusCode: res.StatusCode,
43419		},
43420	}
43421	target := &ret
43422	if err := gensupport.DecodeResponse(target, res); err != nil {
43423		return nil, err
43424	}
43425	return ret, nil
43426	// {
43427	//   "description": "Inserts a new remarketing list.",
43428	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
43429	//   "httpMethod": "POST",
43430	//   "id": "dfareporting.remarketingLists.insert",
43431	//   "parameterOrder": [
43432	//     "profileId"
43433	//   ],
43434	//   "parameters": {
43435	//     "profileId": {
43436	//       "description": "User profile ID associated with this request.",
43437	//       "format": "int64",
43438	//       "location": "path",
43439	//       "required": true,
43440	//       "type": "string"
43441	//     }
43442	//   },
43443	//   "path": "userprofiles/{profileId}/remarketingLists",
43444	//   "request": {
43445	//     "$ref": "RemarketingList"
43446	//   },
43447	//   "response": {
43448	//     "$ref": "RemarketingList"
43449	//   },
43450	//   "scopes": [
43451	//     "https://www.googleapis.com/auth/dfatrafficking"
43452	//   ]
43453	// }
43454
43455}
43456
43457// method id "dfareporting.remarketingLists.list":
43458
43459type RemarketingListsListCall struct {
43460	s            *Service
43461	profileId    int64
43462	urlParams_   gensupport.URLParams
43463	ifNoneMatch_ string
43464	ctx_         context.Context
43465	header_      http.Header
43466}
43467
43468// List: Retrieves a list of remarketing lists, possibly filtered. This
43469// method supports paging.
43470//
43471// - advertiserId: Select only remarketing lists owned by this
43472//   advertiser.
43473// - profileId: User profile ID associated with this request.
43474func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
43475	c := &RemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43476	c.profileId = profileId
43477	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
43478	return c
43479}
43480
43481// Active sets the optional parameter "active": Select only active or
43482// only inactive remarketing lists.
43483func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
43484	c.urlParams_.Set("active", fmt.Sprint(active))
43485	return c
43486}
43487
43488// FloodlightActivityId sets the optional parameter
43489// "floodlightActivityId": Select only remarketing lists that have this
43490// floodlight activity ID.
43491func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
43492	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
43493	return c
43494}
43495
43496// MaxResults sets the optional parameter "maxResults": Maximum number
43497// of results to return.
43498func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
43499	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
43500	return c
43501}
43502
43503// Name sets the optional parameter "name": Allows searching for objects
43504// by name or ID. Wildcards (*) are allowed. For example, "remarketing
43505// list*2015" will return objects with names like "remarketing list June
43506// 2015", "remarketing list April 2015", or simply "remarketing list
43507// 2015". Most of the searches also add wildcards implicitly at the
43508// start and the end of the search string. For example, a search string
43509// of "remarketing list" will match objects with name "my remarketing
43510// list", "remarketing list 2015", or simply "remarketing list".
43511func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
43512	c.urlParams_.Set("name", name)
43513	return c
43514}
43515
43516// PageToken sets the optional parameter "pageToken": Value of the
43517// nextPageToken from the previous result page.
43518func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
43519	c.urlParams_.Set("pageToken", pageToken)
43520	return c
43521}
43522
43523// SortField sets the optional parameter "sortField": Field by which to
43524// sort the list.
43525//
43526// Possible values:
43527//   "ID" (default)
43528//   "NAME"
43529func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
43530	c.urlParams_.Set("sortField", sortField)
43531	return c
43532}
43533
43534// SortOrder sets the optional parameter "sortOrder": Order of sorted
43535// results.
43536//
43537// Possible values:
43538//   "ASCENDING" (default)
43539//   "DESCENDING"
43540func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
43541	c.urlParams_.Set("sortOrder", sortOrder)
43542	return c
43543}
43544
43545// Fields allows partial responses to be retrieved. See
43546// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43547// for more information.
43548func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
43549	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43550	return c
43551}
43552
43553// IfNoneMatch sets the optional parameter which makes the operation
43554// fail if the object's ETag matches the given value. This is useful for
43555// getting updates only after the object has changed since the last
43556// request. Use googleapi.IsNotModified to check whether the response
43557// error from Do is the result of In-None-Match.
43558func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
43559	c.ifNoneMatch_ = entityTag
43560	return c
43561}
43562
43563// Context sets the context to be used in this call's Do method. Any
43564// pending HTTP request will be aborted if the provided context is
43565// canceled.
43566func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
43567	c.ctx_ = ctx
43568	return c
43569}
43570
43571// Header returns an http.Header that can be modified by the caller to
43572// add HTTP headers to the request.
43573func (c *RemarketingListsListCall) Header() http.Header {
43574	if c.header_ == nil {
43575		c.header_ = make(http.Header)
43576	}
43577	return c.header_
43578}
43579
43580func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
43581	reqHeaders := make(http.Header)
43582	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
43583	for k, v := range c.header_ {
43584		reqHeaders[k] = v
43585	}
43586	reqHeaders.Set("User-Agent", c.s.userAgent())
43587	if c.ifNoneMatch_ != "" {
43588		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43589	}
43590	var body io.Reader = nil
43591	c.urlParams_.Set("alt", alt)
43592	c.urlParams_.Set("prettyPrint", "false")
43593	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43594	urls += "?" + c.urlParams_.Encode()
43595	req, err := http.NewRequest("GET", urls, body)
43596	if err != nil {
43597		return nil, err
43598	}
43599	req.Header = reqHeaders
43600	googleapi.Expand(req.URL, map[string]string{
43601		"profileId": strconv.FormatInt(c.profileId, 10),
43602	})
43603	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43604}
43605
43606// Do executes the "dfareporting.remarketingLists.list" call.
43607// Exactly one of *RemarketingListsListResponse or error will be
43608// non-nil. Any non-2xx status code is an error. Response headers are in
43609// either *RemarketingListsListResponse.ServerResponse.Header or (if a
43610// response was returned at all) in error.(*googleapi.Error).Header. Use
43611// googleapi.IsNotModified to check whether the returned error was
43612// because http.StatusNotModified was returned.
43613func (c *RemarketingListsListCall) Do(opts ...googleapi.CallOption) (*RemarketingListsListResponse, error) {
43614	gensupport.SetOptions(c.urlParams_, opts...)
43615	res, err := c.doRequest("json")
43616	if res != nil && res.StatusCode == http.StatusNotModified {
43617		if res.Body != nil {
43618			res.Body.Close()
43619		}
43620		return nil, &googleapi.Error{
43621			Code:   res.StatusCode,
43622			Header: res.Header,
43623		}
43624	}
43625	if err != nil {
43626		return nil, err
43627	}
43628	defer googleapi.CloseBody(res)
43629	if err := googleapi.CheckResponse(res); err != nil {
43630		return nil, err
43631	}
43632	ret := &RemarketingListsListResponse{
43633		ServerResponse: googleapi.ServerResponse{
43634			Header:         res.Header,
43635			HTTPStatusCode: res.StatusCode,
43636		},
43637	}
43638	target := &ret
43639	if err := gensupport.DecodeResponse(target, res); err != nil {
43640		return nil, err
43641	}
43642	return ret, nil
43643	// {
43644	//   "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
43645	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
43646	//   "httpMethod": "GET",
43647	//   "id": "dfareporting.remarketingLists.list",
43648	//   "parameterOrder": [
43649	//     "profileId",
43650	//     "advertiserId"
43651	//   ],
43652	//   "parameters": {
43653	//     "active": {
43654	//       "description": "Select only active or only inactive remarketing lists.",
43655	//       "location": "query",
43656	//       "type": "boolean"
43657	//     },
43658	//     "advertiserId": {
43659	//       "description": "Select only remarketing lists owned by this advertiser.",
43660	//       "format": "int64",
43661	//       "location": "query",
43662	//       "required": true,
43663	//       "type": "string"
43664	//     },
43665	//     "floodlightActivityId": {
43666	//       "description": "Select only remarketing lists that have this floodlight activity ID.",
43667	//       "format": "int64",
43668	//       "location": "query",
43669	//       "type": "string"
43670	//     },
43671	//     "maxResults": {
43672	//       "default": "1000",
43673	//       "description": "Maximum number of results to return.",
43674	//       "format": "int32",
43675	//       "location": "query",
43676	//       "maximum": "1000",
43677	//       "minimum": "0",
43678	//       "type": "integer"
43679	//     },
43680	//     "name": {
43681	//       "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\".",
43682	//       "location": "query",
43683	//       "type": "string"
43684	//     },
43685	//     "pageToken": {
43686	//       "description": "Value of the nextPageToken from the previous result page.",
43687	//       "location": "query",
43688	//       "type": "string"
43689	//     },
43690	//     "profileId": {
43691	//       "description": "User profile ID associated with this request.",
43692	//       "format": "int64",
43693	//       "location": "path",
43694	//       "required": true,
43695	//       "type": "string"
43696	//     },
43697	//     "sortField": {
43698	//       "default": "ID",
43699	//       "description": "Field by which to sort the list.",
43700	//       "enum": [
43701	//         "ID",
43702	//         "NAME"
43703	//       ],
43704	//       "enumDescriptions": [
43705	//         "",
43706	//         ""
43707	//       ],
43708	//       "location": "query",
43709	//       "type": "string"
43710	//     },
43711	//     "sortOrder": {
43712	//       "default": "ASCENDING",
43713	//       "description": "Order of sorted results.",
43714	//       "enum": [
43715	//         "ASCENDING",
43716	//         "DESCENDING"
43717	//       ],
43718	//       "enumDescriptions": [
43719	//         "",
43720	//         ""
43721	//       ],
43722	//       "location": "query",
43723	//       "type": "string"
43724	//     }
43725	//   },
43726	//   "path": "userprofiles/{profileId}/remarketingLists",
43727	//   "response": {
43728	//     "$ref": "RemarketingListsListResponse"
43729	//   },
43730	//   "scopes": [
43731	//     "https://www.googleapis.com/auth/dfatrafficking"
43732	//   ]
43733	// }
43734
43735}
43736
43737// Pages invokes f for each page of results.
43738// A non-nil error returned from f will halt the iteration.
43739// The provided context supersedes any context provided to the Context method.
43740func (c *RemarketingListsListCall) Pages(ctx context.Context, f func(*RemarketingListsListResponse) error) error {
43741	c.ctx_ = ctx
43742	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
43743	for {
43744		x, err := c.Do()
43745		if err != nil {
43746			return err
43747		}
43748		if err := f(x); err != nil {
43749			return err
43750		}
43751		if x.NextPageToken == "" {
43752			return nil
43753		}
43754		c.PageToken(x.NextPageToken)
43755	}
43756}
43757
43758// method id "dfareporting.remarketingLists.patch":
43759
43760type RemarketingListsPatchCall struct {
43761	s               *Service
43762	profileId       int64
43763	remarketinglist *RemarketingList
43764	urlParams_      gensupport.URLParams
43765	ctx_            context.Context
43766	header_         http.Header
43767}
43768
43769// Patch: Updates an existing remarketing list. This method supports
43770// patch semantics.
43771//
43772// - id: RemarketingList ID.
43773// - profileId: User profile ID associated with this request.
43774func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
43775	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43776	c.profileId = profileId
43777	c.urlParams_.Set("id", fmt.Sprint(id))
43778	c.remarketinglist = remarketinglist
43779	return c
43780}
43781
43782// Fields allows partial responses to be retrieved. See
43783// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43784// for more information.
43785func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
43786	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43787	return c
43788}
43789
43790// Context sets the context to be used in this call's Do method. Any
43791// pending HTTP request will be aborted if the provided context is
43792// canceled.
43793func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
43794	c.ctx_ = ctx
43795	return c
43796}
43797
43798// Header returns an http.Header that can be modified by the caller to
43799// add HTTP headers to the request.
43800func (c *RemarketingListsPatchCall) Header() http.Header {
43801	if c.header_ == nil {
43802		c.header_ = make(http.Header)
43803	}
43804	return c.header_
43805}
43806
43807func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
43808	reqHeaders := make(http.Header)
43809	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
43810	for k, v := range c.header_ {
43811		reqHeaders[k] = v
43812	}
43813	reqHeaders.Set("User-Agent", c.s.userAgent())
43814	var body io.Reader = nil
43815	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
43816	if err != nil {
43817		return nil, err
43818	}
43819	reqHeaders.Set("Content-Type", "application/json")
43820	c.urlParams_.Set("alt", alt)
43821	c.urlParams_.Set("prettyPrint", "false")
43822	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43823	urls += "?" + c.urlParams_.Encode()
43824	req, err := http.NewRequest("PATCH", urls, body)
43825	if err != nil {
43826		return nil, err
43827	}
43828	req.Header = reqHeaders
43829	googleapi.Expand(req.URL, map[string]string{
43830		"profileId": strconv.FormatInt(c.profileId, 10),
43831	})
43832	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43833}
43834
43835// Do executes the "dfareporting.remarketingLists.patch" call.
43836// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43837// status code is an error. Response headers are in either
43838// *RemarketingList.ServerResponse.Header or (if a response was returned
43839// at all) in error.(*googleapi.Error).Header. Use
43840// googleapi.IsNotModified to check whether the returned error was
43841// because http.StatusNotModified was returned.
43842func (c *RemarketingListsPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43843	gensupport.SetOptions(c.urlParams_, opts...)
43844	res, err := c.doRequest("json")
43845	if res != nil && res.StatusCode == http.StatusNotModified {
43846		if res.Body != nil {
43847			res.Body.Close()
43848		}
43849		return nil, &googleapi.Error{
43850			Code:   res.StatusCode,
43851			Header: res.Header,
43852		}
43853	}
43854	if err != nil {
43855		return nil, err
43856	}
43857	defer googleapi.CloseBody(res)
43858	if err := googleapi.CheckResponse(res); err != nil {
43859		return nil, err
43860	}
43861	ret := &RemarketingList{
43862		ServerResponse: googleapi.ServerResponse{
43863			Header:         res.Header,
43864			HTTPStatusCode: res.StatusCode,
43865		},
43866	}
43867	target := &ret
43868	if err := gensupport.DecodeResponse(target, res); err != nil {
43869		return nil, err
43870	}
43871	return ret, nil
43872	// {
43873	//   "description": "Updates an existing remarketing list. This method supports patch semantics.",
43874	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
43875	//   "httpMethod": "PATCH",
43876	//   "id": "dfareporting.remarketingLists.patch",
43877	//   "parameterOrder": [
43878	//     "profileId",
43879	//     "id"
43880	//   ],
43881	//   "parameters": {
43882	//     "id": {
43883	//       "description": "RemarketingList ID.",
43884	//       "format": "int64",
43885	//       "location": "query",
43886	//       "required": true,
43887	//       "type": "string"
43888	//     },
43889	//     "profileId": {
43890	//       "description": "User profile ID associated with this request.",
43891	//       "format": "int64",
43892	//       "location": "path",
43893	//       "required": true,
43894	//       "type": "string"
43895	//     }
43896	//   },
43897	//   "path": "userprofiles/{profileId}/remarketingLists",
43898	//   "request": {
43899	//     "$ref": "RemarketingList"
43900	//   },
43901	//   "response": {
43902	//     "$ref": "RemarketingList"
43903	//   },
43904	//   "scopes": [
43905	//     "https://www.googleapis.com/auth/dfatrafficking"
43906	//   ]
43907	// }
43908
43909}
43910
43911// method id "dfareporting.remarketingLists.update":
43912
43913type RemarketingListsUpdateCall struct {
43914	s               *Service
43915	profileId       int64
43916	remarketinglist *RemarketingList
43917	urlParams_      gensupport.URLParams
43918	ctx_            context.Context
43919	header_         http.Header
43920}
43921
43922// Update: Updates an existing remarketing list.
43923//
43924// - profileId: User profile ID associated with this request.
43925func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
43926	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43927	c.profileId = profileId
43928	c.remarketinglist = remarketinglist
43929	return c
43930}
43931
43932// Fields allows partial responses to be retrieved. See
43933// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43934// for more information.
43935func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
43936	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43937	return c
43938}
43939
43940// Context sets the context to be used in this call's Do method. Any
43941// pending HTTP request will be aborted if the provided context is
43942// canceled.
43943func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
43944	c.ctx_ = ctx
43945	return c
43946}
43947
43948// Header returns an http.Header that can be modified by the caller to
43949// add HTTP headers to the request.
43950func (c *RemarketingListsUpdateCall) Header() http.Header {
43951	if c.header_ == nil {
43952		c.header_ = make(http.Header)
43953	}
43954	return c.header_
43955}
43956
43957func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
43958	reqHeaders := make(http.Header)
43959	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
43960	for k, v := range c.header_ {
43961		reqHeaders[k] = v
43962	}
43963	reqHeaders.Set("User-Agent", c.s.userAgent())
43964	var body io.Reader = nil
43965	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
43966	if err != nil {
43967		return nil, err
43968	}
43969	reqHeaders.Set("Content-Type", "application/json")
43970	c.urlParams_.Set("alt", alt)
43971	c.urlParams_.Set("prettyPrint", "false")
43972	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43973	urls += "?" + c.urlParams_.Encode()
43974	req, err := http.NewRequest("PUT", urls, body)
43975	if err != nil {
43976		return nil, err
43977	}
43978	req.Header = reqHeaders
43979	googleapi.Expand(req.URL, map[string]string{
43980		"profileId": strconv.FormatInt(c.profileId, 10),
43981	})
43982	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43983}
43984
43985// Do executes the "dfareporting.remarketingLists.update" call.
43986// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43987// status code is an error. Response headers are in either
43988// *RemarketingList.ServerResponse.Header or (if a response was returned
43989// at all) in error.(*googleapi.Error).Header. Use
43990// googleapi.IsNotModified to check whether the returned error was
43991// because http.StatusNotModified was returned.
43992func (c *RemarketingListsUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43993	gensupport.SetOptions(c.urlParams_, opts...)
43994	res, err := c.doRequest("json")
43995	if res != nil && res.StatusCode == http.StatusNotModified {
43996		if res.Body != nil {
43997			res.Body.Close()
43998		}
43999		return nil, &googleapi.Error{
44000			Code:   res.StatusCode,
44001			Header: res.Header,
44002		}
44003	}
44004	if err != nil {
44005		return nil, err
44006	}
44007	defer googleapi.CloseBody(res)
44008	if err := googleapi.CheckResponse(res); err != nil {
44009		return nil, err
44010	}
44011	ret := &RemarketingList{
44012		ServerResponse: googleapi.ServerResponse{
44013			Header:         res.Header,
44014			HTTPStatusCode: res.StatusCode,
44015		},
44016	}
44017	target := &ret
44018	if err := gensupport.DecodeResponse(target, res); err != nil {
44019		return nil, err
44020	}
44021	return ret, nil
44022	// {
44023	//   "description": "Updates an existing remarketing list.",
44024	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
44025	//   "httpMethod": "PUT",
44026	//   "id": "dfareporting.remarketingLists.update",
44027	//   "parameterOrder": [
44028	//     "profileId"
44029	//   ],
44030	//   "parameters": {
44031	//     "profileId": {
44032	//       "description": "User profile ID associated with this request.",
44033	//       "format": "int64",
44034	//       "location": "path",
44035	//       "required": true,
44036	//       "type": "string"
44037	//     }
44038	//   },
44039	//   "path": "userprofiles/{profileId}/remarketingLists",
44040	//   "request": {
44041	//     "$ref": "RemarketingList"
44042	//   },
44043	//   "response": {
44044	//     "$ref": "RemarketingList"
44045	//   },
44046	//   "scopes": [
44047	//     "https://www.googleapis.com/auth/dfatrafficking"
44048	//   ]
44049	// }
44050
44051}
44052
44053// method id "dfareporting.reports.delete":
44054
44055type ReportsDeleteCall struct {
44056	s          *Service
44057	profileId  int64
44058	reportId   int64
44059	urlParams_ gensupport.URLParams
44060	ctx_       context.Context
44061	header_    http.Header
44062}
44063
44064// Delete: Deletes a report by its ID.
44065//
44066// - profileId: The Campaign Manager 360 user profile ID.
44067// - reportId: The ID of the report.
44068func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
44069	c := &ReportsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44070	c.profileId = profileId
44071	c.reportId = reportId
44072	return c
44073}
44074
44075// Fields allows partial responses to be retrieved. See
44076// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44077// for more information.
44078func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
44079	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44080	return c
44081}
44082
44083// Context sets the context to be used in this call's Do method. Any
44084// pending HTTP request will be aborted if the provided context is
44085// canceled.
44086func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
44087	c.ctx_ = ctx
44088	return c
44089}
44090
44091// Header returns an http.Header that can be modified by the caller to
44092// add HTTP headers to the request.
44093func (c *ReportsDeleteCall) Header() http.Header {
44094	if c.header_ == nil {
44095		c.header_ = make(http.Header)
44096	}
44097	return c.header_
44098}
44099
44100func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
44101	reqHeaders := make(http.Header)
44102	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
44103	for k, v := range c.header_ {
44104		reqHeaders[k] = v
44105	}
44106	reqHeaders.Set("User-Agent", c.s.userAgent())
44107	var body io.Reader = nil
44108	c.urlParams_.Set("alt", alt)
44109	c.urlParams_.Set("prettyPrint", "false")
44110	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44111	urls += "?" + c.urlParams_.Encode()
44112	req, err := http.NewRequest("DELETE", urls, body)
44113	if err != nil {
44114		return nil, err
44115	}
44116	req.Header = reqHeaders
44117	googleapi.Expand(req.URL, map[string]string{
44118		"profileId": strconv.FormatInt(c.profileId, 10),
44119		"reportId":  strconv.FormatInt(c.reportId, 10),
44120	})
44121	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44122}
44123
44124// Do executes the "dfareporting.reports.delete" call.
44125func (c *ReportsDeleteCall) Do(opts ...googleapi.CallOption) error {
44126	gensupport.SetOptions(c.urlParams_, opts...)
44127	res, err := c.doRequest("json")
44128	if err != nil {
44129		return err
44130	}
44131	defer googleapi.CloseBody(res)
44132	if err := googleapi.CheckResponse(res); err != nil {
44133		return err
44134	}
44135	return nil
44136	// {
44137	//   "description": "Deletes a report by its ID.",
44138	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
44139	//   "httpMethod": "DELETE",
44140	//   "id": "dfareporting.reports.delete",
44141	//   "parameterOrder": [
44142	//     "profileId",
44143	//     "reportId"
44144	//   ],
44145	//   "parameters": {
44146	//     "profileId": {
44147	//       "description": "The Campaign Manager 360 user profile ID.",
44148	//       "format": "int64",
44149	//       "location": "path",
44150	//       "required": true,
44151	//       "type": "string"
44152	//     },
44153	//     "reportId": {
44154	//       "description": "The ID of the report.",
44155	//       "format": "int64",
44156	//       "location": "path",
44157	//       "required": true,
44158	//       "type": "string"
44159	//     }
44160	//   },
44161	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44162	//   "scopes": [
44163	//     "https://www.googleapis.com/auth/dfareporting"
44164	//   ]
44165	// }
44166
44167}
44168
44169// method id "dfareporting.reports.get":
44170
44171type ReportsGetCall struct {
44172	s            *Service
44173	profileId    int64
44174	reportId     int64
44175	urlParams_   gensupport.URLParams
44176	ifNoneMatch_ string
44177	ctx_         context.Context
44178	header_      http.Header
44179}
44180
44181// Get: Retrieves a report by its ID.
44182//
44183// - profileId: The Campaign Manager 360 user profile ID.
44184// - reportId: The ID of the report.
44185func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
44186	c := &ReportsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44187	c.profileId = profileId
44188	c.reportId = reportId
44189	return c
44190}
44191
44192// Fields allows partial responses to be retrieved. See
44193// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44194// for more information.
44195func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
44196	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44197	return c
44198}
44199
44200// IfNoneMatch sets the optional parameter which makes the operation
44201// fail if the object's ETag matches the given value. This is useful for
44202// getting updates only after the object has changed since the last
44203// request. Use googleapi.IsNotModified to check whether the response
44204// error from Do is the result of In-None-Match.
44205func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
44206	c.ifNoneMatch_ = entityTag
44207	return c
44208}
44209
44210// Context sets the context to be used in this call's Do method. Any
44211// pending HTTP request will be aborted if the provided context is
44212// canceled.
44213func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
44214	c.ctx_ = ctx
44215	return c
44216}
44217
44218// Header returns an http.Header that can be modified by the caller to
44219// add HTTP headers to the request.
44220func (c *ReportsGetCall) Header() http.Header {
44221	if c.header_ == nil {
44222		c.header_ = make(http.Header)
44223	}
44224	return c.header_
44225}
44226
44227func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
44228	reqHeaders := make(http.Header)
44229	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
44230	for k, v := range c.header_ {
44231		reqHeaders[k] = v
44232	}
44233	reqHeaders.Set("User-Agent", c.s.userAgent())
44234	if c.ifNoneMatch_ != "" {
44235		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44236	}
44237	var body io.Reader = nil
44238	c.urlParams_.Set("alt", alt)
44239	c.urlParams_.Set("prettyPrint", "false")
44240	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44241	urls += "?" + c.urlParams_.Encode()
44242	req, err := http.NewRequest("GET", urls, body)
44243	if err != nil {
44244		return nil, err
44245	}
44246	req.Header = reqHeaders
44247	googleapi.Expand(req.URL, map[string]string{
44248		"profileId": strconv.FormatInt(c.profileId, 10),
44249		"reportId":  strconv.FormatInt(c.reportId, 10),
44250	})
44251	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44252}
44253
44254// Do executes the "dfareporting.reports.get" call.
44255// Exactly one of *Report or error will be non-nil. Any non-2xx status
44256// code is an error. Response headers are in either
44257// *Report.ServerResponse.Header or (if a response was returned at all)
44258// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44259// check whether the returned error was because http.StatusNotModified
44260// was returned.
44261func (c *ReportsGetCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44262	gensupport.SetOptions(c.urlParams_, opts...)
44263	res, err := c.doRequest("json")
44264	if res != nil && res.StatusCode == http.StatusNotModified {
44265		if res.Body != nil {
44266			res.Body.Close()
44267		}
44268		return nil, &googleapi.Error{
44269			Code:   res.StatusCode,
44270			Header: res.Header,
44271		}
44272	}
44273	if err != nil {
44274		return nil, err
44275	}
44276	defer googleapi.CloseBody(res)
44277	if err := googleapi.CheckResponse(res); err != nil {
44278		return nil, err
44279	}
44280	ret := &Report{
44281		ServerResponse: googleapi.ServerResponse{
44282			Header:         res.Header,
44283			HTTPStatusCode: res.StatusCode,
44284		},
44285	}
44286	target := &ret
44287	if err := gensupport.DecodeResponse(target, res); err != nil {
44288		return nil, err
44289	}
44290	return ret, nil
44291	// {
44292	//   "description": "Retrieves a report by its ID.",
44293	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
44294	//   "httpMethod": "GET",
44295	//   "id": "dfareporting.reports.get",
44296	//   "parameterOrder": [
44297	//     "profileId",
44298	//     "reportId"
44299	//   ],
44300	//   "parameters": {
44301	//     "profileId": {
44302	//       "description": "The Campaign Manager 360 user profile ID.",
44303	//       "format": "int64",
44304	//       "location": "path",
44305	//       "required": true,
44306	//       "type": "string"
44307	//     },
44308	//     "reportId": {
44309	//       "description": "The ID of the report.",
44310	//       "format": "int64",
44311	//       "location": "path",
44312	//       "required": true,
44313	//       "type": "string"
44314	//     }
44315	//   },
44316	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44317	//   "response": {
44318	//     "$ref": "Report"
44319	//   },
44320	//   "scopes": [
44321	//     "https://www.googleapis.com/auth/dfareporting"
44322	//   ]
44323	// }
44324
44325}
44326
44327// method id "dfareporting.reports.insert":
44328
44329type ReportsInsertCall struct {
44330	s          *Service
44331	profileId  int64
44332	report     *Report
44333	urlParams_ gensupport.URLParams
44334	ctx_       context.Context
44335	header_    http.Header
44336}
44337
44338// Insert: Creates a report.
44339//
44340// - profileId: The Campaign Manager 360 user profile ID.
44341func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
44342	c := &ReportsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44343	c.profileId = profileId
44344	c.report = report
44345	return c
44346}
44347
44348// Fields allows partial responses to be retrieved. See
44349// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44350// for more information.
44351func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
44352	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44353	return c
44354}
44355
44356// Context sets the context to be used in this call's Do method. Any
44357// pending HTTP request will be aborted if the provided context is
44358// canceled.
44359func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
44360	c.ctx_ = ctx
44361	return c
44362}
44363
44364// Header returns an http.Header that can be modified by the caller to
44365// add HTTP headers to the request.
44366func (c *ReportsInsertCall) Header() http.Header {
44367	if c.header_ == nil {
44368		c.header_ = make(http.Header)
44369	}
44370	return c.header_
44371}
44372
44373func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
44374	reqHeaders := make(http.Header)
44375	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
44376	for k, v := range c.header_ {
44377		reqHeaders[k] = v
44378	}
44379	reqHeaders.Set("User-Agent", c.s.userAgent())
44380	var body io.Reader = nil
44381	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44382	if err != nil {
44383		return nil, err
44384	}
44385	reqHeaders.Set("Content-Type", "application/json")
44386	c.urlParams_.Set("alt", alt)
44387	c.urlParams_.Set("prettyPrint", "false")
44388	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
44389	urls += "?" + c.urlParams_.Encode()
44390	req, err := http.NewRequest("POST", urls, body)
44391	if err != nil {
44392		return nil, err
44393	}
44394	req.Header = reqHeaders
44395	googleapi.Expand(req.URL, map[string]string{
44396		"profileId": strconv.FormatInt(c.profileId, 10),
44397	})
44398	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44399}
44400
44401// Do executes the "dfareporting.reports.insert" call.
44402// Exactly one of *Report or error will be non-nil. Any non-2xx status
44403// code is an error. Response headers are in either
44404// *Report.ServerResponse.Header or (if a response was returned at all)
44405// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44406// check whether the returned error was because http.StatusNotModified
44407// was returned.
44408func (c *ReportsInsertCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44409	gensupport.SetOptions(c.urlParams_, opts...)
44410	res, err := c.doRequest("json")
44411	if res != nil && res.StatusCode == http.StatusNotModified {
44412		if res.Body != nil {
44413			res.Body.Close()
44414		}
44415		return nil, &googleapi.Error{
44416			Code:   res.StatusCode,
44417			Header: res.Header,
44418		}
44419	}
44420	if err != nil {
44421		return nil, err
44422	}
44423	defer googleapi.CloseBody(res)
44424	if err := googleapi.CheckResponse(res); err != nil {
44425		return nil, err
44426	}
44427	ret := &Report{
44428		ServerResponse: googleapi.ServerResponse{
44429			Header:         res.Header,
44430			HTTPStatusCode: res.StatusCode,
44431		},
44432	}
44433	target := &ret
44434	if err := gensupport.DecodeResponse(target, res); err != nil {
44435		return nil, err
44436	}
44437	return ret, nil
44438	// {
44439	//   "description": "Creates a report.",
44440	//   "flatPath": "userprofiles/{profileId}/reports",
44441	//   "httpMethod": "POST",
44442	//   "id": "dfareporting.reports.insert",
44443	//   "parameterOrder": [
44444	//     "profileId"
44445	//   ],
44446	//   "parameters": {
44447	//     "profileId": {
44448	//       "description": "The Campaign Manager 360 user profile ID.",
44449	//       "format": "int64",
44450	//       "location": "path",
44451	//       "required": true,
44452	//       "type": "string"
44453	//     }
44454	//   },
44455	//   "path": "userprofiles/{profileId}/reports",
44456	//   "request": {
44457	//     "$ref": "Report"
44458	//   },
44459	//   "response": {
44460	//     "$ref": "Report"
44461	//   },
44462	//   "scopes": [
44463	//     "https://www.googleapis.com/auth/dfareporting"
44464	//   ]
44465	// }
44466
44467}
44468
44469// method id "dfareporting.reports.list":
44470
44471type ReportsListCall struct {
44472	s            *Service
44473	profileId    int64
44474	urlParams_   gensupport.URLParams
44475	ifNoneMatch_ string
44476	ctx_         context.Context
44477	header_      http.Header
44478}
44479
44480// List: Retrieves list of reports.
44481//
44482// - profileId: The Campaign Manager 360 user profile ID.
44483func (r *ReportsService) List(profileId int64) *ReportsListCall {
44484	c := &ReportsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44485	c.profileId = profileId
44486	return c
44487}
44488
44489// MaxResults sets the optional parameter "maxResults": Maximum number
44490// of results to return.
44491func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
44492	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
44493	return c
44494}
44495
44496// PageToken sets the optional parameter "pageToken": The value of the
44497// nextToken from the previous result page.
44498func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
44499	c.urlParams_.Set("pageToken", pageToken)
44500	return c
44501}
44502
44503// Scope sets the optional parameter "scope": The scope that defines
44504// which results are returned.
44505//
44506// Possible values:
44507//   "ALL" - All reports in account.
44508//   "MINE" (default) - My reports.
44509func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
44510	c.urlParams_.Set("scope", scope)
44511	return c
44512}
44513
44514// SortField sets the optional parameter "sortField": The field by which
44515// to sort the list.
44516//
44517// Possible values:
44518//   "ID" - Sort by report ID.
44519//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
44520//   "NAME" - Sort by name of reports.
44521func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
44522	c.urlParams_.Set("sortField", sortField)
44523	return c
44524}
44525
44526// SortOrder sets the optional parameter "sortOrder": Order of sorted
44527// results.
44528//
44529// Possible values:
44530//   "ASCENDING" - Ascending order.
44531//   "DESCENDING" (default) - Descending order.
44532func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
44533	c.urlParams_.Set("sortOrder", sortOrder)
44534	return c
44535}
44536
44537// Fields allows partial responses to be retrieved. See
44538// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44539// for more information.
44540func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
44541	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44542	return c
44543}
44544
44545// IfNoneMatch sets the optional parameter which makes the operation
44546// fail if the object's ETag matches the given value. This is useful for
44547// getting updates only after the object has changed since the last
44548// request. Use googleapi.IsNotModified to check whether the response
44549// error from Do is the result of In-None-Match.
44550func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
44551	c.ifNoneMatch_ = entityTag
44552	return c
44553}
44554
44555// Context sets the context to be used in this call's Do method. Any
44556// pending HTTP request will be aborted if the provided context is
44557// canceled.
44558func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
44559	c.ctx_ = ctx
44560	return c
44561}
44562
44563// Header returns an http.Header that can be modified by the caller to
44564// add HTTP headers to the request.
44565func (c *ReportsListCall) Header() http.Header {
44566	if c.header_ == nil {
44567		c.header_ = make(http.Header)
44568	}
44569	return c.header_
44570}
44571
44572func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
44573	reqHeaders := make(http.Header)
44574	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
44575	for k, v := range c.header_ {
44576		reqHeaders[k] = v
44577	}
44578	reqHeaders.Set("User-Agent", c.s.userAgent())
44579	if c.ifNoneMatch_ != "" {
44580		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44581	}
44582	var body io.Reader = nil
44583	c.urlParams_.Set("alt", alt)
44584	c.urlParams_.Set("prettyPrint", "false")
44585	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
44586	urls += "?" + c.urlParams_.Encode()
44587	req, err := http.NewRequest("GET", urls, body)
44588	if err != nil {
44589		return nil, err
44590	}
44591	req.Header = reqHeaders
44592	googleapi.Expand(req.URL, map[string]string{
44593		"profileId": strconv.FormatInt(c.profileId, 10),
44594	})
44595	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44596}
44597
44598// Do executes the "dfareporting.reports.list" call.
44599// Exactly one of *ReportList or error will be non-nil. Any non-2xx
44600// status code is an error. Response headers are in either
44601// *ReportList.ServerResponse.Header or (if a response was returned at
44602// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
44603// to check whether the returned error was because
44604// http.StatusNotModified was returned.
44605func (c *ReportsListCall) Do(opts ...googleapi.CallOption) (*ReportList, error) {
44606	gensupport.SetOptions(c.urlParams_, opts...)
44607	res, err := c.doRequest("json")
44608	if res != nil && res.StatusCode == http.StatusNotModified {
44609		if res.Body != nil {
44610			res.Body.Close()
44611		}
44612		return nil, &googleapi.Error{
44613			Code:   res.StatusCode,
44614			Header: res.Header,
44615		}
44616	}
44617	if err != nil {
44618		return nil, err
44619	}
44620	defer googleapi.CloseBody(res)
44621	if err := googleapi.CheckResponse(res); err != nil {
44622		return nil, err
44623	}
44624	ret := &ReportList{
44625		ServerResponse: googleapi.ServerResponse{
44626			Header:         res.Header,
44627			HTTPStatusCode: res.StatusCode,
44628		},
44629	}
44630	target := &ret
44631	if err := gensupport.DecodeResponse(target, res); err != nil {
44632		return nil, err
44633	}
44634	return ret, nil
44635	// {
44636	//   "description": "Retrieves list of reports.",
44637	//   "flatPath": "userprofiles/{profileId}/reports",
44638	//   "httpMethod": "GET",
44639	//   "id": "dfareporting.reports.list",
44640	//   "parameterOrder": [
44641	//     "profileId"
44642	//   ],
44643	//   "parameters": {
44644	//     "maxResults": {
44645	//       "default": "10",
44646	//       "description": "Maximum number of results to return.",
44647	//       "format": "int32",
44648	//       "location": "query",
44649	//       "maximum": "10",
44650	//       "minimum": "0",
44651	//       "type": "integer"
44652	//     },
44653	//     "pageToken": {
44654	//       "description": "The value of the nextToken from the previous result page.",
44655	//       "location": "query",
44656	//       "type": "string"
44657	//     },
44658	//     "profileId": {
44659	//       "description": "The Campaign Manager 360 user profile ID.",
44660	//       "format": "int64",
44661	//       "location": "path",
44662	//       "required": true,
44663	//       "type": "string"
44664	//     },
44665	//     "scope": {
44666	//       "default": "MINE",
44667	//       "description": "The scope that defines which results are returned.",
44668	//       "enum": [
44669	//         "ALL",
44670	//         "MINE"
44671	//       ],
44672	//       "enumDescriptions": [
44673	//         "All reports in account.",
44674	//         "My reports."
44675	//       ],
44676	//       "location": "query",
44677	//       "type": "string"
44678	//     },
44679	//     "sortField": {
44680	//       "default": "LAST_MODIFIED_TIME",
44681	//       "description": "The field by which to sort the list.",
44682	//       "enum": [
44683	//         "ID",
44684	//         "LAST_MODIFIED_TIME",
44685	//         "NAME"
44686	//       ],
44687	//       "enumDescriptions": [
44688	//         "Sort by report ID.",
44689	//         "Sort by 'lastModifiedTime' field.",
44690	//         "Sort by name of reports."
44691	//       ],
44692	//       "location": "query",
44693	//       "type": "string"
44694	//     },
44695	//     "sortOrder": {
44696	//       "default": "DESCENDING",
44697	//       "description": "Order of sorted results.",
44698	//       "enum": [
44699	//         "ASCENDING",
44700	//         "DESCENDING"
44701	//       ],
44702	//       "enumDescriptions": [
44703	//         "Ascending order.",
44704	//         "Descending order."
44705	//       ],
44706	//       "location": "query",
44707	//       "type": "string"
44708	//     }
44709	//   },
44710	//   "path": "userprofiles/{profileId}/reports",
44711	//   "response": {
44712	//     "$ref": "ReportList"
44713	//   },
44714	//   "scopes": [
44715	//     "https://www.googleapis.com/auth/dfareporting"
44716	//   ]
44717	// }
44718
44719}
44720
44721// Pages invokes f for each page of results.
44722// A non-nil error returned from f will halt the iteration.
44723// The provided context supersedes any context provided to the Context method.
44724func (c *ReportsListCall) Pages(ctx context.Context, f func(*ReportList) error) error {
44725	c.ctx_ = ctx
44726	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
44727	for {
44728		x, err := c.Do()
44729		if err != nil {
44730			return err
44731		}
44732		if err := f(x); err != nil {
44733			return err
44734		}
44735		if x.NextPageToken == "" {
44736			return nil
44737		}
44738		c.PageToken(x.NextPageToken)
44739	}
44740}
44741
44742// method id "dfareporting.reports.patch":
44743
44744type ReportsPatchCall struct {
44745	s          *Service
44746	profileId  int64
44747	reportId   int64
44748	report     *Report
44749	urlParams_ gensupport.URLParams
44750	ctx_       context.Context
44751	header_    http.Header
44752}
44753
44754// Patch: Updates an existing report. This method supports patch
44755// semantics.
44756//
44757// - profileId: The DFA user profile ID.
44758// - reportId: The ID of the report.
44759func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
44760	c := &ReportsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44761	c.profileId = profileId
44762	c.reportId = reportId
44763	c.report = report
44764	return c
44765}
44766
44767// Fields allows partial responses to be retrieved. See
44768// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44769// for more information.
44770func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
44771	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44772	return c
44773}
44774
44775// Context sets the context to be used in this call's Do method. Any
44776// pending HTTP request will be aborted if the provided context is
44777// canceled.
44778func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
44779	c.ctx_ = ctx
44780	return c
44781}
44782
44783// Header returns an http.Header that can be modified by the caller to
44784// add HTTP headers to the request.
44785func (c *ReportsPatchCall) Header() http.Header {
44786	if c.header_ == nil {
44787		c.header_ = make(http.Header)
44788	}
44789	return c.header_
44790}
44791
44792func (c *ReportsPatchCall) doRequest(alt string) (*http.Response, error) {
44793	reqHeaders := make(http.Header)
44794	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
44795	for k, v := range c.header_ {
44796		reqHeaders[k] = v
44797	}
44798	reqHeaders.Set("User-Agent", c.s.userAgent())
44799	var body io.Reader = nil
44800	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44801	if err != nil {
44802		return nil, err
44803	}
44804	reqHeaders.Set("Content-Type", "application/json")
44805	c.urlParams_.Set("alt", alt)
44806	c.urlParams_.Set("prettyPrint", "false")
44807	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44808	urls += "?" + c.urlParams_.Encode()
44809	req, err := http.NewRequest("PATCH", urls, body)
44810	if err != nil {
44811		return nil, err
44812	}
44813	req.Header = reqHeaders
44814	googleapi.Expand(req.URL, map[string]string{
44815		"profileId": strconv.FormatInt(c.profileId, 10),
44816		"reportId":  strconv.FormatInt(c.reportId, 10),
44817	})
44818	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44819}
44820
44821// Do executes the "dfareporting.reports.patch" call.
44822// Exactly one of *Report or error will be non-nil. Any non-2xx status
44823// code is an error. Response headers are in either
44824// *Report.ServerResponse.Header or (if a response was returned at all)
44825// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44826// check whether the returned error was because http.StatusNotModified
44827// was returned.
44828func (c *ReportsPatchCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44829	gensupport.SetOptions(c.urlParams_, opts...)
44830	res, err := c.doRequest("json")
44831	if res != nil && res.StatusCode == http.StatusNotModified {
44832		if res.Body != nil {
44833			res.Body.Close()
44834		}
44835		return nil, &googleapi.Error{
44836			Code:   res.StatusCode,
44837			Header: res.Header,
44838		}
44839	}
44840	if err != nil {
44841		return nil, err
44842	}
44843	defer googleapi.CloseBody(res)
44844	if err := googleapi.CheckResponse(res); err != nil {
44845		return nil, err
44846	}
44847	ret := &Report{
44848		ServerResponse: googleapi.ServerResponse{
44849			Header:         res.Header,
44850			HTTPStatusCode: res.StatusCode,
44851		},
44852	}
44853	target := &ret
44854	if err := gensupport.DecodeResponse(target, res); err != nil {
44855		return nil, err
44856	}
44857	return ret, nil
44858	// {
44859	//   "description": "Updates an existing report. This method supports patch semantics.",
44860	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
44861	//   "httpMethod": "PATCH",
44862	//   "id": "dfareporting.reports.patch",
44863	//   "parameterOrder": [
44864	//     "profileId",
44865	//     "reportId"
44866	//   ],
44867	//   "parameters": {
44868	//     "profileId": {
44869	//       "description": "The DFA user profile ID.",
44870	//       "format": "int64",
44871	//       "location": "path",
44872	//       "required": true,
44873	//       "type": "string"
44874	//     },
44875	//     "reportId": {
44876	//       "description": "The ID of the report.",
44877	//       "format": "int64",
44878	//       "location": "path",
44879	//       "required": true,
44880	//       "type": "string"
44881	//     }
44882	//   },
44883	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44884	//   "request": {
44885	//     "$ref": "Report"
44886	//   },
44887	//   "response": {
44888	//     "$ref": "Report"
44889	//   },
44890	//   "scopes": [
44891	//     "https://www.googleapis.com/auth/dfareporting"
44892	//   ]
44893	// }
44894
44895}
44896
44897// method id "dfareporting.reports.run":
44898
44899type ReportsRunCall struct {
44900	s          *Service
44901	profileId  int64
44902	reportId   int64
44903	urlParams_ gensupport.URLParams
44904	ctx_       context.Context
44905	header_    http.Header
44906}
44907
44908// Run: Runs a report.
44909//
44910// - profileId: The Campaign Manager 360 user profile ID.
44911// - reportId: The ID of the report.
44912func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
44913	c := &ReportsRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44914	c.profileId = profileId
44915	c.reportId = reportId
44916	return c
44917}
44918
44919// Synchronous sets the optional parameter "synchronous": If set and
44920// true, tries to run the report synchronously.
44921func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
44922	c.urlParams_.Set("synchronous", fmt.Sprint(synchronous))
44923	return c
44924}
44925
44926// Fields allows partial responses to be retrieved. See
44927// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44928// for more information.
44929func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
44930	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44931	return c
44932}
44933
44934// Context sets the context to be used in this call's Do method. Any
44935// pending HTTP request will be aborted if the provided context is
44936// canceled.
44937func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
44938	c.ctx_ = ctx
44939	return c
44940}
44941
44942// Header returns an http.Header that can be modified by the caller to
44943// add HTTP headers to the request.
44944func (c *ReportsRunCall) Header() http.Header {
44945	if c.header_ == nil {
44946		c.header_ = make(http.Header)
44947	}
44948	return c.header_
44949}
44950
44951func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
44952	reqHeaders := make(http.Header)
44953	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
44954	for k, v := range c.header_ {
44955		reqHeaders[k] = v
44956	}
44957	reqHeaders.Set("User-Agent", c.s.userAgent())
44958	var body io.Reader = nil
44959	c.urlParams_.Set("alt", alt)
44960	c.urlParams_.Set("prettyPrint", "false")
44961	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
44962	urls += "?" + c.urlParams_.Encode()
44963	req, err := http.NewRequest("POST", urls, body)
44964	if err != nil {
44965		return nil, err
44966	}
44967	req.Header = reqHeaders
44968	googleapi.Expand(req.URL, map[string]string{
44969		"profileId": strconv.FormatInt(c.profileId, 10),
44970		"reportId":  strconv.FormatInt(c.reportId, 10),
44971	})
44972	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44973}
44974
44975// Do executes the "dfareporting.reports.run" call.
44976// Exactly one of *File or error will be non-nil. Any non-2xx status
44977// code is an error. Response headers are in either
44978// *File.ServerResponse.Header or (if a response was returned at all) in
44979// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
44980// whether the returned error was because http.StatusNotModified was
44981// returned.
44982func (c *ReportsRunCall) Do(opts ...googleapi.CallOption) (*File, error) {
44983	gensupport.SetOptions(c.urlParams_, opts...)
44984	res, err := c.doRequest("json")
44985	if res != nil && res.StatusCode == http.StatusNotModified {
44986		if res.Body != nil {
44987			res.Body.Close()
44988		}
44989		return nil, &googleapi.Error{
44990			Code:   res.StatusCode,
44991			Header: res.Header,
44992		}
44993	}
44994	if err != nil {
44995		return nil, err
44996	}
44997	defer googleapi.CloseBody(res)
44998	if err := googleapi.CheckResponse(res); err != nil {
44999		return nil, err
45000	}
45001	ret := &File{
45002		ServerResponse: googleapi.ServerResponse{
45003			Header:         res.Header,
45004			HTTPStatusCode: res.StatusCode,
45005		},
45006	}
45007	target := &ret
45008	if err := gensupport.DecodeResponse(target, res); err != nil {
45009		return nil, err
45010	}
45011	return ret, nil
45012	// {
45013	//   "description": "Runs a report.",
45014	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/run",
45015	//   "httpMethod": "POST",
45016	//   "id": "dfareporting.reports.run",
45017	//   "parameterOrder": [
45018	//     "profileId",
45019	//     "reportId"
45020	//   ],
45021	//   "parameters": {
45022	//     "profileId": {
45023	//       "description": "The Campaign Manager 360 user profile ID.",
45024	//       "format": "int64",
45025	//       "location": "path",
45026	//       "required": true,
45027	//       "type": "string"
45028	//     },
45029	//     "reportId": {
45030	//       "description": "The ID of the report.",
45031	//       "format": "int64",
45032	//       "location": "path",
45033	//       "required": true,
45034	//       "type": "string"
45035	//     },
45036	//     "synchronous": {
45037	//       "default": "false",
45038	//       "description": "If set and true, tries to run the report synchronously.",
45039	//       "location": "query",
45040	//       "type": "boolean"
45041	//     }
45042	//   },
45043	//   "path": "userprofiles/{profileId}/reports/{reportId}/run",
45044	//   "response": {
45045	//     "$ref": "File"
45046	//   },
45047	//   "scopes": [
45048	//     "https://www.googleapis.com/auth/dfareporting"
45049	//   ]
45050	// }
45051
45052}
45053
45054// method id "dfareporting.reports.update":
45055
45056type ReportsUpdateCall struct {
45057	s          *Service
45058	profileId  int64
45059	reportId   int64
45060	report     *Report
45061	urlParams_ gensupport.URLParams
45062	ctx_       context.Context
45063	header_    http.Header
45064}
45065
45066// Update: Updates a report.
45067//
45068// - profileId: The Campaign Manager 360 user profile ID.
45069// - reportId: The ID of the report.
45070func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
45071	c := &ReportsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45072	c.profileId = profileId
45073	c.reportId = reportId
45074	c.report = report
45075	return c
45076}
45077
45078// Fields allows partial responses to be retrieved. See
45079// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45080// for more information.
45081func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
45082	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45083	return c
45084}
45085
45086// Context sets the context to be used in this call's Do method. Any
45087// pending HTTP request will be aborted if the provided context is
45088// canceled.
45089func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
45090	c.ctx_ = ctx
45091	return c
45092}
45093
45094// Header returns an http.Header that can be modified by the caller to
45095// add HTTP headers to the request.
45096func (c *ReportsUpdateCall) Header() http.Header {
45097	if c.header_ == nil {
45098		c.header_ = make(http.Header)
45099	}
45100	return c.header_
45101}
45102
45103func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
45104	reqHeaders := make(http.Header)
45105	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
45106	for k, v := range c.header_ {
45107		reqHeaders[k] = v
45108	}
45109	reqHeaders.Set("User-Agent", c.s.userAgent())
45110	var body io.Reader = nil
45111	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
45112	if err != nil {
45113		return nil, err
45114	}
45115	reqHeaders.Set("Content-Type", "application/json")
45116	c.urlParams_.Set("alt", alt)
45117	c.urlParams_.Set("prettyPrint", "false")
45118	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
45119	urls += "?" + c.urlParams_.Encode()
45120	req, err := http.NewRequest("PUT", urls, body)
45121	if err != nil {
45122		return nil, err
45123	}
45124	req.Header = reqHeaders
45125	googleapi.Expand(req.URL, map[string]string{
45126		"profileId": strconv.FormatInt(c.profileId, 10),
45127		"reportId":  strconv.FormatInt(c.reportId, 10),
45128	})
45129	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45130}
45131
45132// Do executes the "dfareporting.reports.update" call.
45133// Exactly one of *Report or error will be non-nil. Any non-2xx status
45134// code is an error. Response headers are in either
45135// *Report.ServerResponse.Header or (if a response was returned at all)
45136// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
45137// check whether the returned error was because http.StatusNotModified
45138// was returned.
45139func (c *ReportsUpdateCall) Do(opts ...googleapi.CallOption) (*Report, error) {
45140	gensupport.SetOptions(c.urlParams_, opts...)
45141	res, err := c.doRequest("json")
45142	if res != nil && res.StatusCode == http.StatusNotModified {
45143		if res.Body != nil {
45144			res.Body.Close()
45145		}
45146		return nil, &googleapi.Error{
45147			Code:   res.StatusCode,
45148			Header: res.Header,
45149		}
45150	}
45151	if err != nil {
45152		return nil, err
45153	}
45154	defer googleapi.CloseBody(res)
45155	if err := googleapi.CheckResponse(res); err != nil {
45156		return nil, err
45157	}
45158	ret := &Report{
45159		ServerResponse: googleapi.ServerResponse{
45160			Header:         res.Header,
45161			HTTPStatusCode: res.StatusCode,
45162		},
45163	}
45164	target := &ret
45165	if err := gensupport.DecodeResponse(target, res); err != nil {
45166		return nil, err
45167	}
45168	return ret, nil
45169	// {
45170	//   "description": "Updates a report.",
45171	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
45172	//   "httpMethod": "PUT",
45173	//   "id": "dfareporting.reports.update",
45174	//   "parameterOrder": [
45175	//     "profileId",
45176	//     "reportId"
45177	//   ],
45178	//   "parameters": {
45179	//     "profileId": {
45180	//       "description": "The Campaign Manager 360 user profile ID.",
45181	//       "format": "int64",
45182	//       "location": "path",
45183	//       "required": true,
45184	//       "type": "string"
45185	//     },
45186	//     "reportId": {
45187	//       "description": "The ID of the report.",
45188	//       "format": "int64",
45189	//       "location": "path",
45190	//       "required": true,
45191	//       "type": "string"
45192	//     }
45193	//   },
45194	//   "path": "userprofiles/{profileId}/reports/{reportId}",
45195	//   "request": {
45196	//     "$ref": "Report"
45197	//   },
45198	//   "response": {
45199	//     "$ref": "Report"
45200	//   },
45201	//   "scopes": [
45202	//     "https://www.googleapis.com/auth/dfareporting"
45203	//   ]
45204	// }
45205
45206}
45207
45208// method id "dfareporting.reports.compatibleFields.query":
45209
45210type ReportsCompatibleFieldsQueryCall struct {
45211	s          *Service
45212	profileId  int64
45213	report     *Report
45214	urlParams_ gensupport.URLParams
45215	ctx_       context.Context
45216	header_    http.Header
45217}
45218
45219// Query: Returns the fields that are compatible to be selected in the
45220// respective sections of a report criteria, given the fields already
45221// selected in the input report and user permissions.
45222//
45223// - profileId: The Campaign Manager 360 user profile ID.
45224func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
45225	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45226	c.profileId = profileId
45227	c.report = report
45228	return c
45229}
45230
45231// Fields allows partial responses to be retrieved. See
45232// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45233// for more information.
45234func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
45235	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45236	return c
45237}
45238
45239// Context sets the context to be used in this call's Do method. Any
45240// pending HTTP request will be aborted if the provided context is
45241// canceled.
45242func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
45243	c.ctx_ = ctx
45244	return c
45245}
45246
45247// Header returns an http.Header that can be modified by the caller to
45248// add HTTP headers to the request.
45249func (c *ReportsCompatibleFieldsQueryCall) Header() http.Header {
45250	if c.header_ == nil {
45251		c.header_ = make(http.Header)
45252	}
45253	return c.header_
45254}
45255
45256func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
45257	reqHeaders := make(http.Header)
45258	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
45259	for k, v := range c.header_ {
45260		reqHeaders[k] = v
45261	}
45262	reqHeaders.Set("User-Agent", c.s.userAgent())
45263	var body io.Reader = nil
45264	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
45265	if err != nil {
45266		return nil, err
45267	}
45268	reqHeaders.Set("Content-Type", "application/json")
45269	c.urlParams_.Set("alt", alt)
45270	c.urlParams_.Set("prettyPrint", "false")
45271	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
45272	urls += "?" + c.urlParams_.Encode()
45273	req, err := http.NewRequest("POST", urls, body)
45274	if err != nil {
45275		return nil, err
45276	}
45277	req.Header = reqHeaders
45278	googleapi.Expand(req.URL, map[string]string{
45279		"profileId": strconv.FormatInt(c.profileId, 10),
45280	})
45281	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45282}
45283
45284// Do executes the "dfareporting.reports.compatibleFields.query" call.
45285// Exactly one of *CompatibleFields or error will be non-nil. Any
45286// non-2xx status code is an error. Response headers are in either
45287// *CompatibleFields.ServerResponse.Header or (if a response was
45288// returned at all) in error.(*googleapi.Error).Header. Use
45289// googleapi.IsNotModified to check whether the returned error was
45290// because http.StatusNotModified was returned.
45291func (c *ReportsCompatibleFieldsQueryCall) Do(opts ...googleapi.CallOption) (*CompatibleFields, error) {
45292	gensupport.SetOptions(c.urlParams_, opts...)
45293	res, err := c.doRequest("json")
45294	if res != nil && res.StatusCode == http.StatusNotModified {
45295		if res.Body != nil {
45296			res.Body.Close()
45297		}
45298		return nil, &googleapi.Error{
45299			Code:   res.StatusCode,
45300			Header: res.Header,
45301		}
45302	}
45303	if err != nil {
45304		return nil, err
45305	}
45306	defer googleapi.CloseBody(res)
45307	if err := googleapi.CheckResponse(res); err != nil {
45308		return nil, err
45309	}
45310	ret := &CompatibleFields{
45311		ServerResponse: googleapi.ServerResponse{
45312			Header:         res.Header,
45313			HTTPStatusCode: res.StatusCode,
45314		},
45315	}
45316	target := &ret
45317	if err := gensupport.DecodeResponse(target, res); err != nil {
45318		return nil, err
45319	}
45320	return ret, nil
45321	// {
45322	//   "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.",
45323	//   "flatPath": "userprofiles/{profileId}/reports/compatiblefields/query",
45324	//   "httpMethod": "POST",
45325	//   "id": "dfareporting.reports.compatibleFields.query",
45326	//   "parameterOrder": [
45327	//     "profileId"
45328	//   ],
45329	//   "parameters": {
45330	//     "profileId": {
45331	//       "description": "The Campaign Manager 360 user profile ID.",
45332	//       "format": "int64",
45333	//       "location": "path",
45334	//       "required": true,
45335	//       "type": "string"
45336	//     }
45337	//   },
45338	//   "path": "userprofiles/{profileId}/reports/compatiblefields/query",
45339	//   "request": {
45340	//     "$ref": "Report"
45341	//   },
45342	//   "response": {
45343	//     "$ref": "CompatibleFields"
45344	//   },
45345	//   "scopes": [
45346	//     "https://www.googleapis.com/auth/dfareporting"
45347	//   ]
45348	// }
45349
45350}
45351
45352// method id "dfareporting.reports.files.get":
45353
45354type ReportsFilesGetCall struct {
45355	s            *Service
45356	profileId    int64
45357	reportId     int64
45358	fileId       int64
45359	urlParams_   gensupport.URLParams
45360	ifNoneMatch_ string
45361	ctx_         context.Context
45362	header_      http.Header
45363}
45364
45365// Get: Retrieves a report file by its report ID and file ID. This
45366// method supports media download.
45367//
45368// - fileId: The ID of the report file.
45369// - profileId: The Campaign Manager 360 user profile ID.
45370// - reportId: The ID of the report.
45371func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
45372	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45373	c.profileId = profileId
45374	c.reportId = reportId
45375	c.fileId = fileId
45376	return c
45377}
45378
45379// Fields allows partial responses to be retrieved. See
45380// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45381// for more information.
45382func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
45383	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45384	return c
45385}
45386
45387// IfNoneMatch sets the optional parameter which makes the operation
45388// fail if the object's ETag matches the given value. This is useful for
45389// getting updates only after the object has changed since the last
45390// request. Use googleapi.IsNotModified to check whether the response
45391// error from Do is the result of In-None-Match.
45392func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
45393	c.ifNoneMatch_ = entityTag
45394	return c
45395}
45396
45397// Context sets the context to be used in this call's Do and Download
45398// methods. Any pending HTTP request will be aborted if the provided
45399// context is canceled.
45400func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
45401	c.ctx_ = ctx
45402	return c
45403}
45404
45405// Header returns an http.Header that can be modified by the caller to
45406// add HTTP headers to the request.
45407func (c *ReportsFilesGetCall) Header() http.Header {
45408	if c.header_ == nil {
45409		c.header_ = make(http.Header)
45410	}
45411	return c.header_
45412}
45413
45414func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
45415	reqHeaders := make(http.Header)
45416	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
45417	for k, v := range c.header_ {
45418		reqHeaders[k] = v
45419	}
45420	reqHeaders.Set("User-Agent", c.s.userAgent())
45421	if c.ifNoneMatch_ != "" {
45422		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45423	}
45424	var body io.Reader = nil
45425	c.urlParams_.Set("alt", alt)
45426	c.urlParams_.Set("prettyPrint", "false")
45427	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
45428	urls += "?" + c.urlParams_.Encode()
45429	req, err := http.NewRequest("GET", urls, body)
45430	if err != nil {
45431		return nil, err
45432	}
45433	req.Header = reqHeaders
45434	googleapi.Expand(req.URL, map[string]string{
45435		"profileId": strconv.FormatInt(c.profileId, 10),
45436		"reportId":  strconv.FormatInt(c.reportId, 10),
45437		"fileId":    strconv.FormatInt(c.fileId, 10),
45438	})
45439	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45440}
45441
45442// Download fetches the API endpoint's "media" value, instead of the normal
45443// API response value. If the returned error is nil, the Response is guaranteed to
45444// have a 2xx status code. Callers must close the Response.Body as usual.
45445func (c *ReportsFilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
45446	gensupport.SetOptions(c.urlParams_, opts...)
45447	res, err := c.doRequest("media")
45448	if err != nil {
45449		return nil, err
45450	}
45451	if err := googleapi.CheckResponse(res); err != nil {
45452		res.Body.Close()
45453		return nil, err
45454	}
45455	return res, nil
45456}
45457
45458// Do executes the "dfareporting.reports.files.get" call.
45459// Exactly one of *File or error will be non-nil. Any non-2xx status
45460// code is an error. Response headers are in either
45461// *File.ServerResponse.Header or (if a response was returned at all) in
45462// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45463// whether the returned error was because http.StatusNotModified was
45464// returned.
45465func (c *ReportsFilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
45466	gensupport.SetOptions(c.urlParams_, opts...)
45467	res, err := c.doRequest("json")
45468	if res != nil && res.StatusCode == http.StatusNotModified {
45469		if res.Body != nil {
45470			res.Body.Close()
45471		}
45472		return nil, &googleapi.Error{
45473			Code:   res.StatusCode,
45474			Header: res.Header,
45475		}
45476	}
45477	if err != nil {
45478		return nil, err
45479	}
45480	defer googleapi.CloseBody(res)
45481	if err := googleapi.CheckResponse(res); err != nil {
45482		return nil, err
45483	}
45484	ret := &File{
45485		ServerResponse: googleapi.ServerResponse{
45486			Header:         res.Header,
45487			HTTPStatusCode: res.StatusCode,
45488		},
45489	}
45490	target := &ret
45491	if err := gensupport.DecodeResponse(target, res); err != nil {
45492		return nil, err
45493	}
45494	return ret, nil
45495	// {
45496	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
45497	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
45498	//   "httpMethod": "GET",
45499	//   "id": "dfareporting.reports.files.get",
45500	//   "parameterOrder": [
45501	//     "profileId",
45502	//     "reportId",
45503	//     "fileId"
45504	//   ],
45505	//   "parameters": {
45506	//     "fileId": {
45507	//       "description": "The ID of the report file.",
45508	//       "format": "int64",
45509	//       "location": "path",
45510	//       "required": true,
45511	//       "type": "string"
45512	//     },
45513	//     "profileId": {
45514	//       "description": "The Campaign Manager 360 user profile ID.",
45515	//       "format": "int64",
45516	//       "location": "path",
45517	//       "required": true,
45518	//       "type": "string"
45519	//     },
45520	//     "reportId": {
45521	//       "description": "The ID of the report.",
45522	//       "format": "int64",
45523	//       "location": "path",
45524	//       "required": true,
45525	//       "type": "string"
45526	//     }
45527	//   },
45528	//   "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
45529	//   "response": {
45530	//     "$ref": "File"
45531	//   },
45532	//   "scopes": [
45533	//     "https://www.googleapis.com/auth/dfareporting"
45534	//   ],
45535	//   "supportsMediaDownload": true
45536	// }
45537
45538}
45539
45540// method id "dfareporting.reports.files.list":
45541
45542type ReportsFilesListCall struct {
45543	s            *Service
45544	profileId    int64
45545	reportId     int64
45546	urlParams_   gensupport.URLParams
45547	ifNoneMatch_ string
45548	ctx_         context.Context
45549	header_      http.Header
45550}
45551
45552// List: Lists files for a report.
45553//
45554// - profileId: The Campaign Manager 360 user profile ID.
45555// - reportId: The ID of the parent report.
45556func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
45557	c := &ReportsFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45558	c.profileId = profileId
45559	c.reportId = reportId
45560	return c
45561}
45562
45563// MaxResults sets the optional parameter "maxResults": Maximum number
45564// of results to return.
45565func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
45566	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
45567	return c
45568}
45569
45570// PageToken sets the optional parameter "pageToken": The value of the
45571// nextToken from the previous result page.
45572func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
45573	c.urlParams_.Set("pageToken", pageToken)
45574	return c
45575}
45576
45577// SortField sets the optional parameter "sortField": The field by which
45578// to sort the list.
45579//
45580// Possible values:
45581//   "ID"
45582//   "LAST_MODIFIED_TIME" (default)
45583func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
45584	c.urlParams_.Set("sortField", sortField)
45585	return c
45586}
45587
45588// SortOrder sets the optional parameter "sortOrder": Order of sorted
45589// results.
45590//
45591// Possible values:
45592//   "ASCENDING"
45593//   "DESCENDING" (default)
45594func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
45595	c.urlParams_.Set("sortOrder", sortOrder)
45596	return c
45597}
45598
45599// Fields allows partial responses to be retrieved. See
45600// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45601// for more information.
45602func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
45603	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45604	return c
45605}
45606
45607// IfNoneMatch sets the optional parameter which makes the operation
45608// fail if the object's ETag matches the given value. This is useful for
45609// getting updates only after the object has changed since the last
45610// request. Use googleapi.IsNotModified to check whether the response
45611// error from Do is the result of In-None-Match.
45612func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
45613	c.ifNoneMatch_ = entityTag
45614	return c
45615}
45616
45617// Context sets the context to be used in this call's Do method. Any
45618// pending HTTP request will be aborted if the provided context is
45619// canceled.
45620func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
45621	c.ctx_ = ctx
45622	return c
45623}
45624
45625// Header returns an http.Header that can be modified by the caller to
45626// add HTTP headers to the request.
45627func (c *ReportsFilesListCall) Header() http.Header {
45628	if c.header_ == nil {
45629		c.header_ = make(http.Header)
45630	}
45631	return c.header_
45632}
45633
45634func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
45635	reqHeaders := make(http.Header)
45636	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
45637	for k, v := range c.header_ {
45638		reqHeaders[k] = v
45639	}
45640	reqHeaders.Set("User-Agent", c.s.userAgent())
45641	if c.ifNoneMatch_ != "" {
45642		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45643	}
45644	var body io.Reader = nil
45645	c.urlParams_.Set("alt", alt)
45646	c.urlParams_.Set("prettyPrint", "false")
45647	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
45648	urls += "?" + c.urlParams_.Encode()
45649	req, err := http.NewRequest("GET", urls, body)
45650	if err != nil {
45651		return nil, err
45652	}
45653	req.Header = reqHeaders
45654	googleapi.Expand(req.URL, map[string]string{
45655		"profileId": strconv.FormatInt(c.profileId, 10),
45656		"reportId":  strconv.FormatInt(c.reportId, 10),
45657	})
45658	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45659}
45660
45661// Do executes the "dfareporting.reports.files.list" call.
45662// Exactly one of *FileList or error will be non-nil. Any non-2xx status
45663// code is an error. Response headers are in either
45664// *FileList.ServerResponse.Header or (if a response was returned at
45665// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
45666// to check whether the returned error was because
45667// http.StatusNotModified was returned.
45668func (c *ReportsFilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
45669	gensupport.SetOptions(c.urlParams_, opts...)
45670	res, err := c.doRequest("json")
45671	if res != nil && res.StatusCode == http.StatusNotModified {
45672		if res.Body != nil {
45673			res.Body.Close()
45674		}
45675		return nil, &googleapi.Error{
45676			Code:   res.StatusCode,
45677			Header: res.Header,
45678		}
45679	}
45680	if err != nil {
45681		return nil, err
45682	}
45683	defer googleapi.CloseBody(res)
45684	if err := googleapi.CheckResponse(res); err != nil {
45685		return nil, err
45686	}
45687	ret := &FileList{
45688		ServerResponse: googleapi.ServerResponse{
45689			Header:         res.Header,
45690			HTTPStatusCode: res.StatusCode,
45691		},
45692	}
45693	target := &ret
45694	if err := gensupport.DecodeResponse(target, res); err != nil {
45695		return nil, err
45696	}
45697	return ret, nil
45698	// {
45699	//   "description": "Lists files for a report.",
45700	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/files",
45701	//   "httpMethod": "GET",
45702	//   "id": "dfareporting.reports.files.list",
45703	//   "parameterOrder": [
45704	//     "profileId",
45705	//     "reportId"
45706	//   ],
45707	//   "parameters": {
45708	//     "maxResults": {
45709	//       "default": "10",
45710	//       "description": "Maximum number of results to return.",
45711	//       "format": "int32",
45712	//       "location": "query",
45713	//       "maximum": "10",
45714	//       "minimum": "0",
45715	//       "type": "integer"
45716	//     },
45717	//     "pageToken": {
45718	//       "description": "The value of the nextToken from the previous result page.",
45719	//       "location": "query",
45720	//       "type": "string"
45721	//     },
45722	//     "profileId": {
45723	//       "description": "The Campaign Manager 360 user profile ID.",
45724	//       "format": "int64",
45725	//       "location": "path",
45726	//       "required": true,
45727	//       "type": "string"
45728	//     },
45729	//     "reportId": {
45730	//       "description": "The ID of the parent report.",
45731	//       "format": "int64",
45732	//       "location": "path",
45733	//       "required": true,
45734	//       "type": "string"
45735	//     },
45736	//     "sortField": {
45737	//       "default": "LAST_MODIFIED_TIME",
45738	//       "description": "The field by which to sort the list.",
45739	//       "enum": [
45740	//         "ID",
45741	//         "LAST_MODIFIED_TIME"
45742	//       ],
45743	//       "enumDescriptions": [
45744	//         "",
45745	//         ""
45746	//       ],
45747	//       "location": "query",
45748	//       "type": "string"
45749	//     },
45750	//     "sortOrder": {
45751	//       "default": "DESCENDING",
45752	//       "description": "Order of sorted results.",
45753	//       "enum": [
45754	//         "ASCENDING",
45755	//         "DESCENDING"
45756	//       ],
45757	//       "enumDescriptions": [
45758	//         "",
45759	//         ""
45760	//       ],
45761	//       "location": "query",
45762	//       "type": "string"
45763	//     }
45764	//   },
45765	//   "path": "userprofiles/{profileId}/reports/{reportId}/files",
45766	//   "response": {
45767	//     "$ref": "FileList"
45768	//   },
45769	//   "scopes": [
45770	//     "https://www.googleapis.com/auth/dfareporting"
45771	//   ]
45772	// }
45773
45774}
45775
45776// Pages invokes f for each page of results.
45777// A non-nil error returned from f will halt the iteration.
45778// The provided context supersedes any context provided to the Context method.
45779func (c *ReportsFilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
45780	c.ctx_ = ctx
45781	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
45782	for {
45783		x, err := c.Do()
45784		if err != nil {
45785			return err
45786		}
45787		if err := f(x); err != nil {
45788			return err
45789		}
45790		if x.NextPageToken == "" {
45791			return nil
45792		}
45793		c.PageToken(x.NextPageToken)
45794	}
45795}
45796
45797// method id "dfareporting.sites.get":
45798
45799type SitesGetCall struct {
45800	s            *Service
45801	profileId    int64
45802	id           int64
45803	urlParams_   gensupport.URLParams
45804	ifNoneMatch_ string
45805	ctx_         context.Context
45806	header_      http.Header
45807}
45808
45809// Get: Gets one site by ID.
45810//
45811// - id: Site ID.
45812// - profileId: User profile ID associated with this request.
45813func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
45814	c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45815	c.profileId = profileId
45816	c.id = id
45817	return c
45818}
45819
45820// Fields allows partial responses to be retrieved. See
45821// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45822// for more information.
45823func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
45824	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45825	return c
45826}
45827
45828// IfNoneMatch sets the optional parameter which makes the operation
45829// fail if the object's ETag matches the given value. This is useful for
45830// getting updates only after the object has changed since the last
45831// request. Use googleapi.IsNotModified to check whether the response
45832// error from Do is the result of In-None-Match.
45833func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
45834	c.ifNoneMatch_ = entityTag
45835	return c
45836}
45837
45838// Context sets the context to be used in this call's Do method. Any
45839// pending HTTP request will be aborted if the provided context is
45840// canceled.
45841func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
45842	c.ctx_ = ctx
45843	return c
45844}
45845
45846// Header returns an http.Header that can be modified by the caller to
45847// add HTTP headers to the request.
45848func (c *SitesGetCall) Header() http.Header {
45849	if c.header_ == nil {
45850		c.header_ = make(http.Header)
45851	}
45852	return c.header_
45853}
45854
45855func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
45856	reqHeaders := make(http.Header)
45857	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
45858	for k, v := range c.header_ {
45859		reqHeaders[k] = v
45860	}
45861	reqHeaders.Set("User-Agent", c.s.userAgent())
45862	if c.ifNoneMatch_ != "" {
45863		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45864	}
45865	var body io.Reader = nil
45866	c.urlParams_.Set("alt", alt)
45867	c.urlParams_.Set("prettyPrint", "false")
45868	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
45869	urls += "?" + c.urlParams_.Encode()
45870	req, err := http.NewRequest("GET", urls, body)
45871	if err != nil {
45872		return nil, err
45873	}
45874	req.Header = reqHeaders
45875	googleapi.Expand(req.URL, map[string]string{
45876		"profileId": strconv.FormatInt(c.profileId, 10),
45877		"id":        strconv.FormatInt(c.id, 10),
45878	})
45879	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45880}
45881
45882// Do executes the "dfareporting.sites.get" call.
45883// Exactly one of *Site or error will be non-nil. Any non-2xx status
45884// code is an error. Response headers are in either
45885// *Site.ServerResponse.Header or (if a response was returned at all) in
45886// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45887// whether the returned error was because http.StatusNotModified was
45888// returned.
45889func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*Site, error) {
45890	gensupport.SetOptions(c.urlParams_, opts...)
45891	res, err := c.doRequest("json")
45892	if res != nil && res.StatusCode == http.StatusNotModified {
45893		if res.Body != nil {
45894			res.Body.Close()
45895		}
45896		return nil, &googleapi.Error{
45897			Code:   res.StatusCode,
45898			Header: res.Header,
45899		}
45900	}
45901	if err != nil {
45902		return nil, err
45903	}
45904	defer googleapi.CloseBody(res)
45905	if err := googleapi.CheckResponse(res); err != nil {
45906		return nil, err
45907	}
45908	ret := &Site{
45909		ServerResponse: googleapi.ServerResponse{
45910			Header:         res.Header,
45911			HTTPStatusCode: res.StatusCode,
45912		},
45913	}
45914	target := &ret
45915	if err := gensupport.DecodeResponse(target, res); err != nil {
45916		return nil, err
45917	}
45918	return ret, nil
45919	// {
45920	//   "description": "Gets one site by ID.",
45921	//   "flatPath": "userprofiles/{profileId}/sites/{id}",
45922	//   "httpMethod": "GET",
45923	//   "id": "dfareporting.sites.get",
45924	//   "parameterOrder": [
45925	//     "profileId",
45926	//     "id"
45927	//   ],
45928	//   "parameters": {
45929	//     "id": {
45930	//       "description": "Site ID.",
45931	//       "format": "int64",
45932	//       "location": "path",
45933	//       "required": true,
45934	//       "type": "string"
45935	//     },
45936	//     "profileId": {
45937	//       "description": "User profile ID associated with this request.",
45938	//       "format": "int64",
45939	//       "location": "path",
45940	//       "required": true,
45941	//       "type": "string"
45942	//     }
45943	//   },
45944	//   "path": "userprofiles/{profileId}/sites/{id}",
45945	//   "response": {
45946	//     "$ref": "Site"
45947	//   },
45948	//   "scopes": [
45949	//     "https://www.googleapis.com/auth/dfatrafficking"
45950	//   ]
45951	// }
45952
45953}
45954
45955// method id "dfareporting.sites.insert":
45956
45957type SitesInsertCall struct {
45958	s          *Service
45959	profileId  int64
45960	site       *Site
45961	urlParams_ gensupport.URLParams
45962	ctx_       context.Context
45963	header_    http.Header
45964}
45965
45966// Insert: Inserts a new site.
45967//
45968// - profileId: User profile ID associated with this request.
45969func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
45970	c := &SitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45971	c.profileId = profileId
45972	c.site = site
45973	return c
45974}
45975
45976// Fields allows partial responses to be retrieved. See
45977// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45978// for more information.
45979func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
45980	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45981	return c
45982}
45983
45984// Context sets the context to be used in this call's Do method. Any
45985// pending HTTP request will be aborted if the provided context is
45986// canceled.
45987func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
45988	c.ctx_ = ctx
45989	return c
45990}
45991
45992// Header returns an http.Header that can be modified by the caller to
45993// add HTTP headers to the request.
45994func (c *SitesInsertCall) Header() http.Header {
45995	if c.header_ == nil {
45996		c.header_ = make(http.Header)
45997	}
45998	return c.header_
45999}
46000
46001func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
46002	reqHeaders := make(http.Header)
46003	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
46004	for k, v := range c.header_ {
46005		reqHeaders[k] = v
46006	}
46007	reqHeaders.Set("User-Agent", c.s.userAgent())
46008	var body io.Reader = nil
46009	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46010	if err != nil {
46011		return nil, err
46012	}
46013	reqHeaders.Set("Content-Type", "application/json")
46014	c.urlParams_.Set("alt", alt)
46015	c.urlParams_.Set("prettyPrint", "false")
46016	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46017	urls += "?" + c.urlParams_.Encode()
46018	req, err := http.NewRequest("POST", urls, body)
46019	if err != nil {
46020		return nil, err
46021	}
46022	req.Header = reqHeaders
46023	googleapi.Expand(req.URL, map[string]string{
46024		"profileId": strconv.FormatInt(c.profileId, 10),
46025	})
46026	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46027}
46028
46029// Do executes the "dfareporting.sites.insert" call.
46030// Exactly one of *Site or error will be non-nil. Any non-2xx status
46031// code is an error. Response headers are in either
46032// *Site.ServerResponse.Header or (if a response was returned at all) in
46033// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46034// whether the returned error was because http.StatusNotModified was
46035// returned.
46036func (c *SitesInsertCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46037	gensupport.SetOptions(c.urlParams_, opts...)
46038	res, err := c.doRequest("json")
46039	if res != nil && res.StatusCode == http.StatusNotModified {
46040		if res.Body != nil {
46041			res.Body.Close()
46042		}
46043		return nil, &googleapi.Error{
46044			Code:   res.StatusCode,
46045			Header: res.Header,
46046		}
46047	}
46048	if err != nil {
46049		return nil, err
46050	}
46051	defer googleapi.CloseBody(res)
46052	if err := googleapi.CheckResponse(res); err != nil {
46053		return nil, err
46054	}
46055	ret := &Site{
46056		ServerResponse: googleapi.ServerResponse{
46057			Header:         res.Header,
46058			HTTPStatusCode: res.StatusCode,
46059		},
46060	}
46061	target := &ret
46062	if err := gensupport.DecodeResponse(target, res); err != nil {
46063		return nil, err
46064	}
46065	return ret, nil
46066	// {
46067	//   "description": "Inserts a new site.",
46068	//   "flatPath": "userprofiles/{profileId}/sites",
46069	//   "httpMethod": "POST",
46070	//   "id": "dfareporting.sites.insert",
46071	//   "parameterOrder": [
46072	//     "profileId"
46073	//   ],
46074	//   "parameters": {
46075	//     "profileId": {
46076	//       "description": "User profile ID associated with this request.",
46077	//       "format": "int64",
46078	//       "location": "path",
46079	//       "required": true,
46080	//       "type": "string"
46081	//     }
46082	//   },
46083	//   "path": "userprofiles/{profileId}/sites",
46084	//   "request": {
46085	//     "$ref": "Site"
46086	//   },
46087	//   "response": {
46088	//     "$ref": "Site"
46089	//   },
46090	//   "scopes": [
46091	//     "https://www.googleapis.com/auth/dfatrafficking"
46092	//   ]
46093	// }
46094
46095}
46096
46097// method id "dfareporting.sites.list":
46098
46099type SitesListCall struct {
46100	s            *Service
46101	profileId    int64
46102	urlParams_   gensupport.URLParams
46103	ifNoneMatch_ string
46104	ctx_         context.Context
46105	header_      http.Header
46106}
46107
46108// List: Retrieves a list of sites, possibly filtered. This method
46109// supports paging.
46110//
46111// - profileId: User profile ID associated with this request.
46112func (r *SitesService) List(profileId int64) *SitesListCall {
46113	c := &SitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46114	c.profileId = profileId
46115	return c
46116}
46117
46118// AcceptsInStreamVideoPlacements sets the optional parameter
46119// "acceptsInStreamVideoPlacements": This search filter is no longer
46120// supported and will have no effect on the results returned.
46121func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
46122	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
46123	return c
46124}
46125
46126// AcceptsInterstitialPlacements sets the optional parameter
46127// "acceptsInterstitialPlacements": This search filter is no longer
46128// supported and will have no effect on the results returned.
46129func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
46130	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
46131	return c
46132}
46133
46134// AcceptsPublisherPaidPlacements sets the optional parameter
46135// "acceptsPublisherPaidPlacements": Select only sites that accept
46136// publisher paid placements.
46137func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
46138	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
46139	return c
46140}
46141
46142// AdWordsSite sets the optional parameter "adWordsSite": Select only
46143// AdWords sites.
46144func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
46145	c.urlParams_.Set("adWordsSite", fmt.Sprint(adWordsSite))
46146	return c
46147}
46148
46149// Approved sets the optional parameter "approved": Select only approved
46150// sites.
46151func (c *SitesListCall) Approved(approved bool) *SitesListCall {
46152	c.urlParams_.Set("approved", fmt.Sprint(approved))
46153	return c
46154}
46155
46156// CampaignIds sets the optional parameter "campaignIds": Select only
46157// sites with these campaign IDs.
46158func (c *SitesListCall) CampaignIds(campaignIds ...int64) *SitesListCall {
46159	var campaignIds_ []string
46160	for _, v := range campaignIds {
46161		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
46162	}
46163	c.urlParams_.SetMulti("campaignIds", campaignIds_)
46164	return c
46165}
46166
46167// DirectorySiteIds sets the optional parameter "directorySiteIds":
46168// Select only sites with these directory site IDs.
46169func (c *SitesListCall) DirectorySiteIds(directorySiteIds ...int64) *SitesListCall {
46170	var directorySiteIds_ []string
46171	for _, v := range directorySiteIds {
46172		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
46173	}
46174	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
46175	return c
46176}
46177
46178// Ids sets the optional parameter "ids": Select only sites with these
46179// IDs.
46180func (c *SitesListCall) Ids(ids ...int64) *SitesListCall {
46181	var ids_ []string
46182	for _, v := range ids {
46183		ids_ = append(ids_, fmt.Sprint(v))
46184	}
46185	c.urlParams_.SetMulti("ids", ids_)
46186	return c
46187}
46188
46189// MaxResults sets the optional parameter "maxResults": Maximum number
46190// of results to return.
46191func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
46192	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
46193	return c
46194}
46195
46196// PageToken sets the optional parameter "pageToken": Value of the
46197// nextPageToken from the previous result page.
46198func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
46199	c.urlParams_.Set("pageToken", pageToken)
46200	return c
46201}
46202
46203// SearchString sets the optional parameter "searchString": Allows
46204// searching for objects by name, ID or keyName. Wildcards (*) are
46205// allowed. For example, "site*2015" will return objects with names like
46206// "site June 2015", "site April 2015", or simply "site 2015". Most of
46207// the searches also add wildcards implicitly at the start and the end
46208// of the search string. For example, a search string of "site" will
46209// match objects with name "my site", "site 2015", or simply "site".
46210func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
46211	c.urlParams_.Set("searchString", searchString)
46212	return c
46213}
46214
46215// SortField sets the optional parameter "sortField": Field by which to
46216// sort the list.
46217//
46218// Possible values:
46219//   "ID" (default)
46220//   "NAME"
46221func (c *SitesListCall) SortField(sortField string) *SitesListCall {
46222	c.urlParams_.Set("sortField", sortField)
46223	return c
46224}
46225
46226// SortOrder sets the optional parameter "sortOrder": Order of sorted
46227// results.
46228//
46229// Possible values:
46230//   "ASCENDING" (default)
46231//   "DESCENDING"
46232func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
46233	c.urlParams_.Set("sortOrder", sortOrder)
46234	return c
46235}
46236
46237// SubaccountId sets the optional parameter "subaccountId": Select only
46238// sites with this subaccount ID.
46239func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
46240	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
46241	return c
46242}
46243
46244// UnmappedSite sets the optional parameter "unmappedSite": Select only
46245// sites that have not been mapped to a directory site.
46246func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
46247	c.urlParams_.Set("unmappedSite", fmt.Sprint(unmappedSite))
46248	return c
46249}
46250
46251// Fields allows partial responses to be retrieved. See
46252// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46253// for more information.
46254func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
46255	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46256	return c
46257}
46258
46259// IfNoneMatch sets the optional parameter which makes the operation
46260// fail if the object's ETag matches the given value. This is useful for
46261// getting updates only after the object has changed since the last
46262// request. Use googleapi.IsNotModified to check whether the response
46263// error from Do is the result of In-None-Match.
46264func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
46265	c.ifNoneMatch_ = entityTag
46266	return c
46267}
46268
46269// Context sets the context to be used in this call's Do method. Any
46270// pending HTTP request will be aborted if the provided context is
46271// canceled.
46272func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
46273	c.ctx_ = ctx
46274	return c
46275}
46276
46277// Header returns an http.Header that can be modified by the caller to
46278// add HTTP headers to the request.
46279func (c *SitesListCall) Header() http.Header {
46280	if c.header_ == nil {
46281		c.header_ = make(http.Header)
46282	}
46283	return c.header_
46284}
46285
46286func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
46287	reqHeaders := make(http.Header)
46288	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
46289	for k, v := range c.header_ {
46290		reqHeaders[k] = v
46291	}
46292	reqHeaders.Set("User-Agent", c.s.userAgent())
46293	if c.ifNoneMatch_ != "" {
46294		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46295	}
46296	var body io.Reader = nil
46297	c.urlParams_.Set("alt", alt)
46298	c.urlParams_.Set("prettyPrint", "false")
46299	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46300	urls += "?" + c.urlParams_.Encode()
46301	req, err := http.NewRequest("GET", urls, body)
46302	if err != nil {
46303		return nil, err
46304	}
46305	req.Header = reqHeaders
46306	googleapi.Expand(req.URL, map[string]string{
46307		"profileId": strconv.FormatInt(c.profileId, 10),
46308	})
46309	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46310}
46311
46312// Do executes the "dfareporting.sites.list" call.
46313// Exactly one of *SitesListResponse or error will be non-nil. Any
46314// non-2xx status code is an error. Response headers are in either
46315// *SitesListResponse.ServerResponse.Header or (if a response was
46316// returned at all) in error.(*googleapi.Error).Header. Use
46317// googleapi.IsNotModified to check whether the returned error was
46318// because http.StatusNotModified was returned.
46319func (c *SitesListCall) Do(opts ...googleapi.CallOption) (*SitesListResponse, error) {
46320	gensupport.SetOptions(c.urlParams_, opts...)
46321	res, err := c.doRequest("json")
46322	if res != nil && res.StatusCode == http.StatusNotModified {
46323		if res.Body != nil {
46324			res.Body.Close()
46325		}
46326		return nil, &googleapi.Error{
46327			Code:   res.StatusCode,
46328			Header: res.Header,
46329		}
46330	}
46331	if err != nil {
46332		return nil, err
46333	}
46334	defer googleapi.CloseBody(res)
46335	if err := googleapi.CheckResponse(res); err != nil {
46336		return nil, err
46337	}
46338	ret := &SitesListResponse{
46339		ServerResponse: googleapi.ServerResponse{
46340			Header:         res.Header,
46341			HTTPStatusCode: res.StatusCode,
46342		},
46343	}
46344	target := &ret
46345	if err := gensupport.DecodeResponse(target, res); err != nil {
46346		return nil, err
46347	}
46348	return ret, nil
46349	// {
46350	//   "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
46351	//   "flatPath": "userprofiles/{profileId}/sites",
46352	//   "httpMethod": "GET",
46353	//   "id": "dfareporting.sites.list",
46354	//   "parameterOrder": [
46355	//     "profileId"
46356	//   ],
46357	//   "parameters": {
46358	//     "acceptsInStreamVideoPlacements": {
46359	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
46360	//       "location": "query",
46361	//       "type": "boolean"
46362	//     },
46363	//     "acceptsInterstitialPlacements": {
46364	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
46365	//       "location": "query",
46366	//       "type": "boolean"
46367	//     },
46368	//     "acceptsPublisherPaidPlacements": {
46369	//       "description": "Select only sites that accept publisher paid placements.",
46370	//       "location": "query",
46371	//       "type": "boolean"
46372	//     },
46373	//     "adWordsSite": {
46374	//       "description": "Select only AdWords sites.",
46375	//       "location": "query",
46376	//       "type": "boolean"
46377	//     },
46378	//     "approved": {
46379	//       "description": "Select only approved sites.",
46380	//       "location": "query",
46381	//       "type": "boolean"
46382	//     },
46383	//     "campaignIds": {
46384	//       "description": "Select only sites with these campaign IDs.",
46385	//       "format": "int64",
46386	//       "location": "query",
46387	//       "repeated": true,
46388	//       "type": "string"
46389	//     },
46390	//     "directorySiteIds": {
46391	//       "description": "Select only sites with these directory site IDs.",
46392	//       "format": "int64",
46393	//       "location": "query",
46394	//       "repeated": true,
46395	//       "type": "string"
46396	//     },
46397	//     "ids": {
46398	//       "description": "Select only sites with these IDs.",
46399	//       "format": "int64",
46400	//       "location": "query",
46401	//       "repeated": true,
46402	//       "type": "string"
46403	//     },
46404	//     "maxResults": {
46405	//       "default": "1000",
46406	//       "description": "Maximum number of results to return.",
46407	//       "format": "int32",
46408	//       "location": "query",
46409	//       "maximum": "1000",
46410	//       "minimum": "0",
46411	//       "type": "integer"
46412	//     },
46413	//     "pageToken": {
46414	//       "description": "Value of the nextPageToken from the previous result page.",
46415	//       "location": "query",
46416	//       "type": "string"
46417	//     },
46418	//     "profileId": {
46419	//       "description": "User profile ID associated with this request.",
46420	//       "format": "int64",
46421	//       "location": "path",
46422	//       "required": true,
46423	//       "type": "string"
46424	//     },
46425	//     "searchString": {
46426	//       "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\".",
46427	//       "location": "query",
46428	//       "type": "string"
46429	//     },
46430	//     "sortField": {
46431	//       "default": "ID",
46432	//       "description": "Field by which to sort the list.",
46433	//       "enum": [
46434	//         "ID",
46435	//         "NAME"
46436	//       ],
46437	//       "enumDescriptions": [
46438	//         "",
46439	//         ""
46440	//       ],
46441	//       "location": "query",
46442	//       "type": "string"
46443	//     },
46444	//     "sortOrder": {
46445	//       "default": "ASCENDING",
46446	//       "description": "Order of sorted results.",
46447	//       "enum": [
46448	//         "ASCENDING",
46449	//         "DESCENDING"
46450	//       ],
46451	//       "enumDescriptions": [
46452	//         "",
46453	//         ""
46454	//       ],
46455	//       "location": "query",
46456	//       "type": "string"
46457	//     },
46458	//     "subaccountId": {
46459	//       "description": "Select only sites with this subaccount ID.",
46460	//       "format": "int64",
46461	//       "location": "query",
46462	//       "type": "string"
46463	//     },
46464	//     "unmappedSite": {
46465	//       "description": "Select only sites that have not been mapped to a directory site.",
46466	//       "location": "query",
46467	//       "type": "boolean"
46468	//     }
46469	//   },
46470	//   "path": "userprofiles/{profileId}/sites",
46471	//   "response": {
46472	//     "$ref": "SitesListResponse"
46473	//   },
46474	//   "scopes": [
46475	//     "https://www.googleapis.com/auth/dfatrafficking"
46476	//   ]
46477	// }
46478
46479}
46480
46481// Pages invokes f for each page of results.
46482// A non-nil error returned from f will halt the iteration.
46483// The provided context supersedes any context provided to the Context method.
46484func (c *SitesListCall) Pages(ctx context.Context, f func(*SitesListResponse) error) error {
46485	c.ctx_ = ctx
46486	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
46487	for {
46488		x, err := c.Do()
46489		if err != nil {
46490			return err
46491		}
46492		if err := f(x); err != nil {
46493			return err
46494		}
46495		if x.NextPageToken == "" {
46496			return nil
46497		}
46498		c.PageToken(x.NextPageToken)
46499	}
46500}
46501
46502// method id "dfareporting.sites.patch":
46503
46504type SitesPatchCall struct {
46505	s          *Service
46506	profileId  int64
46507	site       *Site
46508	urlParams_ gensupport.URLParams
46509	ctx_       context.Context
46510	header_    http.Header
46511}
46512
46513// Patch: Updates an existing site. This method supports patch
46514// semantics.
46515//
46516// - id: Site ID.
46517// - profileId: User profile ID associated with this request.
46518func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
46519	c := &SitesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46520	c.profileId = profileId
46521	c.urlParams_.Set("id", fmt.Sprint(id))
46522	c.site = site
46523	return c
46524}
46525
46526// Fields allows partial responses to be retrieved. See
46527// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46528// for more information.
46529func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
46530	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46531	return c
46532}
46533
46534// Context sets the context to be used in this call's Do method. Any
46535// pending HTTP request will be aborted if the provided context is
46536// canceled.
46537func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
46538	c.ctx_ = ctx
46539	return c
46540}
46541
46542// Header returns an http.Header that can be modified by the caller to
46543// add HTTP headers to the request.
46544func (c *SitesPatchCall) Header() http.Header {
46545	if c.header_ == nil {
46546		c.header_ = make(http.Header)
46547	}
46548	return c.header_
46549}
46550
46551func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
46552	reqHeaders := make(http.Header)
46553	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
46554	for k, v := range c.header_ {
46555		reqHeaders[k] = v
46556	}
46557	reqHeaders.Set("User-Agent", c.s.userAgent())
46558	var body io.Reader = nil
46559	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46560	if err != nil {
46561		return nil, err
46562	}
46563	reqHeaders.Set("Content-Type", "application/json")
46564	c.urlParams_.Set("alt", alt)
46565	c.urlParams_.Set("prettyPrint", "false")
46566	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46567	urls += "?" + c.urlParams_.Encode()
46568	req, err := http.NewRequest("PATCH", urls, body)
46569	if err != nil {
46570		return nil, err
46571	}
46572	req.Header = reqHeaders
46573	googleapi.Expand(req.URL, map[string]string{
46574		"profileId": strconv.FormatInt(c.profileId, 10),
46575	})
46576	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46577}
46578
46579// Do executes the "dfareporting.sites.patch" call.
46580// Exactly one of *Site or error will be non-nil. Any non-2xx status
46581// code is an error. Response headers are in either
46582// *Site.ServerResponse.Header or (if a response was returned at all) in
46583// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46584// whether the returned error was because http.StatusNotModified was
46585// returned.
46586func (c *SitesPatchCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46587	gensupport.SetOptions(c.urlParams_, opts...)
46588	res, err := c.doRequest("json")
46589	if res != nil && res.StatusCode == http.StatusNotModified {
46590		if res.Body != nil {
46591			res.Body.Close()
46592		}
46593		return nil, &googleapi.Error{
46594			Code:   res.StatusCode,
46595			Header: res.Header,
46596		}
46597	}
46598	if err != nil {
46599		return nil, err
46600	}
46601	defer googleapi.CloseBody(res)
46602	if err := googleapi.CheckResponse(res); err != nil {
46603		return nil, err
46604	}
46605	ret := &Site{
46606		ServerResponse: googleapi.ServerResponse{
46607			Header:         res.Header,
46608			HTTPStatusCode: res.StatusCode,
46609		},
46610	}
46611	target := &ret
46612	if err := gensupport.DecodeResponse(target, res); err != nil {
46613		return nil, err
46614	}
46615	return ret, nil
46616	// {
46617	//   "description": "Updates an existing site. This method supports patch semantics.",
46618	//   "flatPath": "userprofiles/{profileId}/sites",
46619	//   "httpMethod": "PATCH",
46620	//   "id": "dfareporting.sites.patch",
46621	//   "parameterOrder": [
46622	//     "profileId",
46623	//     "id"
46624	//   ],
46625	//   "parameters": {
46626	//     "id": {
46627	//       "description": "Site ID.",
46628	//       "format": "int64",
46629	//       "location": "query",
46630	//       "required": true,
46631	//       "type": "string"
46632	//     },
46633	//     "profileId": {
46634	//       "description": "User profile ID associated with this request.",
46635	//       "format": "int64",
46636	//       "location": "path",
46637	//       "required": true,
46638	//       "type": "string"
46639	//     }
46640	//   },
46641	//   "path": "userprofiles/{profileId}/sites",
46642	//   "request": {
46643	//     "$ref": "Site"
46644	//   },
46645	//   "response": {
46646	//     "$ref": "Site"
46647	//   },
46648	//   "scopes": [
46649	//     "https://www.googleapis.com/auth/dfatrafficking"
46650	//   ]
46651	// }
46652
46653}
46654
46655// method id "dfareporting.sites.update":
46656
46657type SitesUpdateCall struct {
46658	s          *Service
46659	profileId  int64
46660	site       *Site
46661	urlParams_ gensupport.URLParams
46662	ctx_       context.Context
46663	header_    http.Header
46664}
46665
46666// Update: Updates an existing site.
46667//
46668// - profileId: User profile ID associated with this request.
46669func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
46670	c := &SitesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46671	c.profileId = profileId
46672	c.site = site
46673	return c
46674}
46675
46676// Fields allows partial responses to be retrieved. See
46677// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46678// for more information.
46679func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
46680	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46681	return c
46682}
46683
46684// Context sets the context to be used in this call's Do method. Any
46685// pending HTTP request will be aborted if the provided context is
46686// canceled.
46687func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
46688	c.ctx_ = ctx
46689	return c
46690}
46691
46692// Header returns an http.Header that can be modified by the caller to
46693// add HTTP headers to the request.
46694func (c *SitesUpdateCall) Header() http.Header {
46695	if c.header_ == nil {
46696		c.header_ = make(http.Header)
46697	}
46698	return c.header_
46699}
46700
46701func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
46702	reqHeaders := make(http.Header)
46703	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
46704	for k, v := range c.header_ {
46705		reqHeaders[k] = v
46706	}
46707	reqHeaders.Set("User-Agent", c.s.userAgent())
46708	var body io.Reader = nil
46709	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46710	if err != nil {
46711		return nil, err
46712	}
46713	reqHeaders.Set("Content-Type", "application/json")
46714	c.urlParams_.Set("alt", alt)
46715	c.urlParams_.Set("prettyPrint", "false")
46716	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46717	urls += "?" + c.urlParams_.Encode()
46718	req, err := http.NewRequest("PUT", urls, body)
46719	if err != nil {
46720		return nil, err
46721	}
46722	req.Header = reqHeaders
46723	googleapi.Expand(req.URL, map[string]string{
46724		"profileId": strconv.FormatInt(c.profileId, 10),
46725	})
46726	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46727}
46728
46729// Do executes the "dfareporting.sites.update" call.
46730// Exactly one of *Site or error will be non-nil. Any non-2xx status
46731// code is an error. Response headers are in either
46732// *Site.ServerResponse.Header or (if a response was returned at all) in
46733// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46734// whether the returned error was because http.StatusNotModified was
46735// returned.
46736func (c *SitesUpdateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46737	gensupport.SetOptions(c.urlParams_, opts...)
46738	res, err := c.doRequest("json")
46739	if res != nil && res.StatusCode == http.StatusNotModified {
46740		if res.Body != nil {
46741			res.Body.Close()
46742		}
46743		return nil, &googleapi.Error{
46744			Code:   res.StatusCode,
46745			Header: res.Header,
46746		}
46747	}
46748	if err != nil {
46749		return nil, err
46750	}
46751	defer googleapi.CloseBody(res)
46752	if err := googleapi.CheckResponse(res); err != nil {
46753		return nil, err
46754	}
46755	ret := &Site{
46756		ServerResponse: googleapi.ServerResponse{
46757			Header:         res.Header,
46758			HTTPStatusCode: res.StatusCode,
46759		},
46760	}
46761	target := &ret
46762	if err := gensupport.DecodeResponse(target, res); err != nil {
46763		return nil, err
46764	}
46765	return ret, nil
46766	// {
46767	//   "description": "Updates an existing site.",
46768	//   "flatPath": "userprofiles/{profileId}/sites",
46769	//   "httpMethod": "PUT",
46770	//   "id": "dfareporting.sites.update",
46771	//   "parameterOrder": [
46772	//     "profileId"
46773	//   ],
46774	//   "parameters": {
46775	//     "profileId": {
46776	//       "description": "User profile ID associated with this request.",
46777	//       "format": "int64",
46778	//       "location": "path",
46779	//       "required": true,
46780	//       "type": "string"
46781	//     }
46782	//   },
46783	//   "path": "userprofiles/{profileId}/sites",
46784	//   "request": {
46785	//     "$ref": "Site"
46786	//   },
46787	//   "response": {
46788	//     "$ref": "Site"
46789	//   },
46790	//   "scopes": [
46791	//     "https://www.googleapis.com/auth/dfatrafficking"
46792	//   ]
46793	// }
46794
46795}
46796
46797// method id "dfareporting.sizes.get":
46798
46799type SizesGetCall struct {
46800	s            *Service
46801	profileId    int64
46802	id           int64
46803	urlParams_   gensupport.URLParams
46804	ifNoneMatch_ string
46805	ctx_         context.Context
46806	header_      http.Header
46807}
46808
46809// Get: Gets one size by ID.
46810//
46811// - id: Size ID.
46812// - profileId: User profile ID associated with this request.
46813func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
46814	c := &SizesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46815	c.profileId = profileId
46816	c.id = id
46817	return c
46818}
46819
46820// Fields allows partial responses to be retrieved. See
46821// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46822// for more information.
46823func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
46824	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46825	return c
46826}
46827
46828// IfNoneMatch sets the optional parameter which makes the operation
46829// fail if the object's ETag matches the given value. This is useful for
46830// getting updates only after the object has changed since the last
46831// request. Use googleapi.IsNotModified to check whether the response
46832// error from Do is the result of In-None-Match.
46833func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
46834	c.ifNoneMatch_ = entityTag
46835	return c
46836}
46837
46838// Context sets the context to be used in this call's Do method. Any
46839// pending HTTP request will be aborted if the provided context is
46840// canceled.
46841func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
46842	c.ctx_ = ctx
46843	return c
46844}
46845
46846// Header returns an http.Header that can be modified by the caller to
46847// add HTTP headers to the request.
46848func (c *SizesGetCall) Header() http.Header {
46849	if c.header_ == nil {
46850		c.header_ = make(http.Header)
46851	}
46852	return c.header_
46853}
46854
46855func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
46856	reqHeaders := make(http.Header)
46857	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
46858	for k, v := range c.header_ {
46859		reqHeaders[k] = v
46860	}
46861	reqHeaders.Set("User-Agent", c.s.userAgent())
46862	if c.ifNoneMatch_ != "" {
46863		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46864	}
46865	var body io.Reader = nil
46866	c.urlParams_.Set("alt", alt)
46867	c.urlParams_.Set("prettyPrint", "false")
46868	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
46869	urls += "?" + c.urlParams_.Encode()
46870	req, err := http.NewRequest("GET", urls, body)
46871	if err != nil {
46872		return nil, err
46873	}
46874	req.Header = reqHeaders
46875	googleapi.Expand(req.URL, map[string]string{
46876		"profileId": strconv.FormatInt(c.profileId, 10),
46877		"id":        strconv.FormatInt(c.id, 10),
46878	})
46879	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46880}
46881
46882// Do executes the "dfareporting.sizes.get" call.
46883// Exactly one of *Size or error will be non-nil. Any non-2xx status
46884// code is an error. Response headers are in either
46885// *Size.ServerResponse.Header or (if a response was returned at all) in
46886// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46887// whether the returned error was because http.StatusNotModified was
46888// returned.
46889func (c *SizesGetCall) Do(opts ...googleapi.CallOption) (*Size, error) {
46890	gensupport.SetOptions(c.urlParams_, opts...)
46891	res, err := c.doRequest("json")
46892	if res != nil && res.StatusCode == http.StatusNotModified {
46893		if res.Body != nil {
46894			res.Body.Close()
46895		}
46896		return nil, &googleapi.Error{
46897			Code:   res.StatusCode,
46898			Header: res.Header,
46899		}
46900	}
46901	if err != nil {
46902		return nil, err
46903	}
46904	defer googleapi.CloseBody(res)
46905	if err := googleapi.CheckResponse(res); err != nil {
46906		return nil, err
46907	}
46908	ret := &Size{
46909		ServerResponse: googleapi.ServerResponse{
46910			Header:         res.Header,
46911			HTTPStatusCode: res.StatusCode,
46912		},
46913	}
46914	target := &ret
46915	if err := gensupport.DecodeResponse(target, res); err != nil {
46916		return nil, err
46917	}
46918	return ret, nil
46919	// {
46920	//   "description": "Gets one size by ID.",
46921	//   "flatPath": "userprofiles/{profileId}/sizes/{id}",
46922	//   "httpMethod": "GET",
46923	//   "id": "dfareporting.sizes.get",
46924	//   "parameterOrder": [
46925	//     "profileId",
46926	//     "id"
46927	//   ],
46928	//   "parameters": {
46929	//     "id": {
46930	//       "description": "Size ID.",
46931	//       "format": "int64",
46932	//       "location": "path",
46933	//       "required": true,
46934	//       "type": "string"
46935	//     },
46936	//     "profileId": {
46937	//       "description": "User profile ID associated with this request.",
46938	//       "format": "int64",
46939	//       "location": "path",
46940	//       "required": true,
46941	//       "type": "string"
46942	//     }
46943	//   },
46944	//   "path": "userprofiles/{profileId}/sizes/{id}",
46945	//   "response": {
46946	//     "$ref": "Size"
46947	//   },
46948	//   "scopes": [
46949	//     "https://www.googleapis.com/auth/dfatrafficking"
46950	//   ]
46951	// }
46952
46953}
46954
46955// method id "dfareporting.sizes.insert":
46956
46957type SizesInsertCall struct {
46958	s          *Service
46959	profileId  int64
46960	size       *Size
46961	urlParams_ gensupport.URLParams
46962	ctx_       context.Context
46963	header_    http.Header
46964}
46965
46966// Insert: Inserts a new size.
46967//
46968// - profileId: User profile ID associated with this request.
46969func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
46970	c := &SizesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46971	c.profileId = profileId
46972	c.size = size
46973	return c
46974}
46975
46976// Fields allows partial responses to be retrieved. See
46977// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46978// for more information.
46979func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
46980	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46981	return c
46982}
46983
46984// Context sets the context to be used in this call's Do method. Any
46985// pending HTTP request will be aborted if the provided context is
46986// canceled.
46987func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
46988	c.ctx_ = ctx
46989	return c
46990}
46991
46992// Header returns an http.Header that can be modified by the caller to
46993// add HTTP headers to the request.
46994func (c *SizesInsertCall) Header() http.Header {
46995	if c.header_ == nil {
46996		c.header_ = make(http.Header)
46997	}
46998	return c.header_
46999}
47000
47001func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
47002	reqHeaders := make(http.Header)
47003	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
47004	for k, v := range c.header_ {
47005		reqHeaders[k] = v
47006	}
47007	reqHeaders.Set("User-Agent", c.s.userAgent())
47008	var body io.Reader = nil
47009	body, err := googleapi.WithoutDataWrapper.JSONReader(c.size)
47010	if err != nil {
47011		return nil, err
47012	}
47013	reqHeaders.Set("Content-Type", "application/json")
47014	c.urlParams_.Set("alt", alt)
47015	c.urlParams_.Set("prettyPrint", "false")
47016	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
47017	urls += "?" + c.urlParams_.Encode()
47018	req, err := http.NewRequest("POST", urls, body)
47019	if err != nil {
47020		return nil, err
47021	}
47022	req.Header = reqHeaders
47023	googleapi.Expand(req.URL, map[string]string{
47024		"profileId": strconv.FormatInt(c.profileId, 10),
47025	})
47026	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47027}
47028
47029// Do executes the "dfareporting.sizes.insert" call.
47030// Exactly one of *Size or error will be non-nil. Any non-2xx status
47031// code is an error. Response headers are in either
47032// *Size.ServerResponse.Header or (if a response was returned at all) in
47033// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
47034// whether the returned error was because http.StatusNotModified was
47035// returned.
47036func (c *SizesInsertCall) Do(opts ...googleapi.CallOption) (*Size, error) {
47037	gensupport.SetOptions(c.urlParams_, opts...)
47038	res, err := c.doRequest("json")
47039	if res != nil && res.StatusCode == http.StatusNotModified {
47040		if res.Body != nil {
47041			res.Body.Close()
47042		}
47043		return nil, &googleapi.Error{
47044			Code:   res.StatusCode,
47045			Header: res.Header,
47046		}
47047	}
47048	if err != nil {
47049		return nil, err
47050	}
47051	defer googleapi.CloseBody(res)
47052	if err := googleapi.CheckResponse(res); err != nil {
47053		return nil, err
47054	}
47055	ret := &Size{
47056		ServerResponse: googleapi.ServerResponse{
47057			Header:         res.Header,
47058			HTTPStatusCode: res.StatusCode,
47059		},
47060	}
47061	target := &ret
47062	if err := gensupport.DecodeResponse(target, res); err != nil {
47063		return nil, err
47064	}
47065	return ret, nil
47066	// {
47067	//   "description": "Inserts a new size.",
47068	//   "flatPath": "userprofiles/{profileId}/sizes",
47069	//   "httpMethod": "POST",
47070	//   "id": "dfareporting.sizes.insert",
47071	//   "parameterOrder": [
47072	//     "profileId"
47073	//   ],
47074	//   "parameters": {
47075	//     "profileId": {
47076	//       "description": "User profile ID associated with this request.",
47077	//       "format": "int64",
47078	//       "location": "path",
47079	//       "required": true,
47080	//       "type": "string"
47081	//     }
47082	//   },
47083	//   "path": "userprofiles/{profileId}/sizes",
47084	//   "request": {
47085	//     "$ref": "Size"
47086	//   },
47087	//   "response": {
47088	//     "$ref": "Size"
47089	//   },
47090	//   "scopes": [
47091	//     "https://www.googleapis.com/auth/dfatrafficking"
47092	//   ]
47093	// }
47094
47095}
47096
47097// method id "dfareporting.sizes.list":
47098
47099type SizesListCall struct {
47100	s            *Service
47101	profileId    int64
47102	urlParams_   gensupport.URLParams
47103	ifNoneMatch_ string
47104	ctx_         context.Context
47105	header_      http.Header
47106}
47107
47108// List: Retrieves a list of sizes, possibly filtered. Retrieved sizes
47109// are globally unique and may include values not currently in use by
47110// your account. Due to this, the list of sizes returned by this method
47111// may differ from the list seen in the Trafficking UI.
47112//
47113// - profileId: User profile ID associated with this request.
47114func (r *SizesService) List(profileId int64) *SizesListCall {
47115	c := &SizesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47116	c.profileId = profileId
47117	return c
47118}
47119
47120// Height sets the optional parameter "height": Select only sizes with
47121// this height.
47122func (c *SizesListCall) Height(height int64) *SizesListCall {
47123	c.urlParams_.Set("height", fmt.Sprint(height))
47124	return c
47125}
47126
47127// IabStandard sets the optional parameter "iabStandard": Select only
47128// IAB standard sizes.
47129func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
47130	c.urlParams_.Set("iabStandard", fmt.Sprint(iabStandard))
47131	return c
47132}
47133
47134// Ids sets the optional parameter "ids": Select only sizes with these
47135// IDs.
47136func (c *SizesListCall) Ids(ids ...int64) *SizesListCall {
47137	var ids_ []string
47138	for _, v := range ids {
47139		ids_ = append(ids_, fmt.Sprint(v))
47140	}
47141	c.urlParams_.SetMulti("ids", ids_)
47142	return c
47143}
47144
47145// Width sets the optional parameter "width": Select only sizes with
47146// this width.
47147func (c *SizesListCall) Width(width int64) *SizesListCall {
47148	c.urlParams_.Set("width", fmt.Sprint(width))
47149	return c
47150}
47151
47152// Fields allows partial responses to be retrieved. See
47153// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47154// for more information.
47155func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
47156	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47157	return c
47158}
47159
47160// IfNoneMatch sets the optional parameter which makes the operation
47161// fail if the object's ETag matches the given value. This is useful for
47162// getting updates only after the object has changed since the last
47163// request. Use googleapi.IsNotModified to check whether the response
47164// error from Do is the result of In-None-Match.
47165func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
47166	c.ifNoneMatch_ = entityTag
47167	return c
47168}
47169
47170// Context sets the context to be used in this call's Do method. Any
47171// pending HTTP request will be aborted if the provided context is
47172// canceled.
47173func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
47174	c.ctx_ = ctx
47175	return c
47176}
47177
47178// Header returns an http.Header that can be modified by the caller to
47179// add HTTP headers to the request.
47180func (c *SizesListCall) Header() http.Header {
47181	if c.header_ == nil {
47182		c.header_ = make(http.Header)
47183	}
47184	return c.header_
47185}
47186
47187func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
47188	reqHeaders := make(http.Header)
47189	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
47190	for k, v := range c.header_ {
47191		reqHeaders[k] = v
47192	}
47193	reqHeaders.Set("User-Agent", c.s.userAgent())
47194	if c.ifNoneMatch_ != "" {
47195		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47196	}
47197	var body io.Reader = nil
47198	c.urlParams_.Set("alt", alt)
47199	c.urlParams_.Set("prettyPrint", "false")
47200	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
47201	urls += "?" + c.urlParams_.Encode()
47202	req, err := http.NewRequest("GET", urls, body)
47203	if err != nil {
47204		return nil, err
47205	}
47206	req.Header = reqHeaders
47207	googleapi.Expand(req.URL, map[string]string{
47208		"profileId": strconv.FormatInt(c.profileId, 10),
47209	})
47210	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47211}
47212
47213// Do executes the "dfareporting.sizes.list" call.
47214// Exactly one of *SizesListResponse or error will be non-nil. Any
47215// non-2xx status code is an error. Response headers are in either
47216// *SizesListResponse.ServerResponse.Header or (if a response was
47217// returned at all) in error.(*googleapi.Error).Header. Use
47218// googleapi.IsNotModified to check whether the returned error was
47219// because http.StatusNotModified was returned.
47220func (c *SizesListCall) Do(opts ...googleapi.CallOption) (*SizesListResponse, error) {
47221	gensupport.SetOptions(c.urlParams_, opts...)
47222	res, err := c.doRequest("json")
47223	if res != nil && res.StatusCode == http.StatusNotModified {
47224		if res.Body != nil {
47225			res.Body.Close()
47226		}
47227		return nil, &googleapi.Error{
47228			Code:   res.StatusCode,
47229			Header: res.Header,
47230		}
47231	}
47232	if err != nil {
47233		return nil, err
47234	}
47235	defer googleapi.CloseBody(res)
47236	if err := googleapi.CheckResponse(res); err != nil {
47237		return nil, err
47238	}
47239	ret := &SizesListResponse{
47240		ServerResponse: googleapi.ServerResponse{
47241			Header:         res.Header,
47242			HTTPStatusCode: res.StatusCode,
47243		},
47244	}
47245	target := &ret
47246	if err := gensupport.DecodeResponse(target, res); err != nil {
47247		return nil, err
47248	}
47249	return ret, nil
47250	// {
47251	//   "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.",
47252	//   "flatPath": "userprofiles/{profileId}/sizes",
47253	//   "httpMethod": "GET",
47254	//   "id": "dfareporting.sizes.list",
47255	//   "parameterOrder": [
47256	//     "profileId"
47257	//   ],
47258	//   "parameters": {
47259	//     "height": {
47260	//       "description": "Select only sizes with this height.",
47261	//       "format": "int32",
47262	//       "location": "query",
47263	//       "maximum": "32767",
47264	//       "minimum": "0",
47265	//       "type": "integer"
47266	//     },
47267	//     "iabStandard": {
47268	//       "description": "Select only IAB standard sizes.",
47269	//       "location": "query",
47270	//       "type": "boolean"
47271	//     },
47272	//     "ids": {
47273	//       "description": "Select only sizes with these IDs.",
47274	//       "format": "int64",
47275	//       "location": "query",
47276	//       "repeated": true,
47277	//       "type": "string"
47278	//     },
47279	//     "profileId": {
47280	//       "description": "User profile ID associated with this request.",
47281	//       "format": "int64",
47282	//       "location": "path",
47283	//       "required": true,
47284	//       "type": "string"
47285	//     },
47286	//     "width": {
47287	//       "description": "Select only sizes with this width.",
47288	//       "format": "int32",
47289	//       "location": "query",
47290	//       "maximum": "32767",
47291	//       "minimum": "0",
47292	//       "type": "integer"
47293	//     }
47294	//   },
47295	//   "path": "userprofiles/{profileId}/sizes",
47296	//   "response": {
47297	//     "$ref": "SizesListResponse"
47298	//   },
47299	//   "scopes": [
47300	//     "https://www.googleapis.com/auth/dfatrafficking"
47301	//   ]
47302	// }
47303
47304}
47305
47306// method id "dfareporting.subaccounts.get":
47307
47308type SubaccountsGetCall struct {
47309	s            *Service
47310	profileId    int64
47311	id           int64
47312	urlParams_   gensupport.URLParams
47313	ifNoneMatch_ string
47314	ctx_         context.Context
47315	header_      http.Header
47316}
47317
47318// Get: Gets one subaccount by ID.
47319//
47320// - id: Subaccount ID.
47321// - profileId: User profile ID associated with this request.
47322func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
47323	c := &SubaccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47324	c.profileId = profileId
47325	c.id = id
47326	return c
47327}
47328
47329// Fields allows partial responses to be retrieved. See
47330// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47331// for more information.
47332func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
47333	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47334	return c
47335}
47336
47337// IfNoneMatch sets the optional parameter which makes the operation
47338// fail if the object's ETag matches the given value. This is useful for
47339// getting updates only after the object has changed since the last
47340// request. Use googleapi.IsNotModified to check whether the response
47341// error from Do is the result of In-None-Match.
47342func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
47343	c.ifNoneMatch_ = entityTag
47344	return c
47345}
47346
47347// Context sets the context to be used in this call's Do method. Any
47348// pending HTTP request will be aborted if the provided context is
47349// canceled.
47350func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
47351	c.ctx_ = ctx
47352	return c
47353}
47354
47355// Header returns an http.Header that can be modified by the caller to
47356// add HTTP headers to the request.
47357func (c *SubaccountsGetCall) Header() http.Header {
47358	if c.header_ == nil {
47359		c.header_ = make(http.Header)
47360	}
47361	return c.header_
47362}
47363
47364func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
47365	reqHeaders := make(http.Header)
47366	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
47367	for k, v := range c.header_ {
47368		reqHeaders[k] = v
47369	}
47370	reqHeaders.Set("User-Agent", c.s.userAgent())
47371	if c.ifNoneMatch_ != "" {
47372		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47373	}
47374	var body io.Reader = nil
47375	c.urlParams_.Set("alt", alt)
47376	c.urlParams_.Set("prettyPrint", "false")
47377	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
47378	urls += "?" + c.urlParams_.Encode()
47379	req, err := http.NewRequest("GET", urls, body)
47380	if err != nil {
47381		return nil, err
47382	}
47383	req.Header = reqHeaders
47384	googleapi.Expand(req.URL, map[string]string{
47385		"profileId": strconv.FormatInt(c.profileId, 10),
47386		"id":        strconv.FormatInt(c.id, 10),
47387	})
47388	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47389}
47390
47391// Do executes the "dfareporting.subaccounts.get" call.
47392// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47393// status code is an error. Response headers are in either
47394// *Subaccount.ServerResponse.Header or (if a response was returned at
47395// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47396// to check whether the returned error was because
47397// http.StatusNotModified was returned.
47398func (c *SubaccountsGetCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47399	gensupport.SetOptions(c.urlParams_, opts...)
47400	res, err := c.doRequest("json")
47401	if res != nil && res.StatusCode == http.StatusNotModified {
47402		if res.Body != nil {
47403			res.Body.Close()
47404		}
47405		return nil, &googleapi.Error{
47406			Code:   res.StatusCode,
47407			Header: res.Header,
47408		}
47409	}
47410	if err != nil {
47411		return nil, err
47412	}
47413	defer googleapi.CloseBody(res)
47414	if err := googleapi.CheckResponse(res); err != nil {
47415		return nil, err
47416	}
47417	ret := &Subaccount{
47418		ServerResponse: googleapi.ServerResponse{
47419			Header:         res.Header,
47420			HTTPStatusCode: res.StatusCode,
47421		},
47422	}
47423	target := &ret
47424	if err := gensupport.DecodeResponse(target, res); err != nil {
47425		return nil, err
47426	}
47427	return ret, nil
47428	// {
47429	//   "description": "Gets one subaccount by ID.",
47430	//   "flatPath": "userprofiles/{profileId}/subaccounts/{id}",
47431	//   "httpMethod": "GET",
47432	//   "id": "dfareporting.subaccounts.get",
47433	//   "parameterOrder": [
47434	//     "profileId",
47435	//     "id"
47436	//   ],
47437	//   "parameters": {
47438	//     "id": {
47439	//       "description": "Subaccount ID.",
47440	//       "format": "int64",
47441	//       "location": "path",
47442	//       "required": true,
47443	//       "type": "string"
47444	//     },
47445	//     "profileId": {
47446	//       "description": "User profile ID associated with this request.",
47447	//       "format": "int64",
47448	//       "location": "path",
47449	//       "required": true,
47450	//       "type": "string"
47451	//     }
47452	//   },
47453	//   "path": "userprofiles/{profileId}/subaccounts/{id}",
47454	//   "response": {
47455	//     "$ref": "Subaccount"
47456	//   },
47457	//   "scopes": [
47458	//     "https://www.googleapis.com/auth/dfatrafficking"
47459	//   ]
47460	// }
47461
47462}
47463
47464// method id "dfareporting.subaccounts.insert":
47465
47466type SubaccountsInsertCall struct {
47467	s          *Service
47468	profileId  int64
47469	subaccount *Subaccount
47470	urlParams_ gensupport.URLParams
47471	ctx_       context.Context
47472	header_    http.Header
47473}
47474
47475// Insert: Inserts a new subaccount.
47476//
47477// - profileId: User profile ID associated with this request.
47478func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
47479	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47480	c.profileId = profileId
47481	c.subaccount = subaccount
47482	return c
47483}
47484
47485// Fields allows partial responses to be retrieved. See
47486// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47487// for more information.
47488func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
47489	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47490	return c
47491}
47492
47493// Context sets the context to be used in this call's Do method. Any
47494// pending HTTP request will be aborted if the provided context is
47495// canceled.
47496func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
47497	c.ctx_ = ctx
47498	return c
47499}
47500
47501// Header returns an http.Header that can be modified by the caller to
47502// add HTTP headers to the request.
47503func (c *SubaccountsInsertCall) Header() http.Header {
47504	if c.header_ == nil {
47505		c.header_ = make(http.Header)
47506	}
47507	return c.header_
47508}
47509
47510func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
47511	reqHeaders := make(http.Header)
47512	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
47513	for k, v := range c.header_ {
47514		reqHeaders[k] = v
47515	}
47516	reqHeaders.Set("User-Agent", c.s.userAgent())
47517	var body io.Reader = nil
47518	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47519	if err != nil {
47520		return nil, err
47521	}
47522	reqHeaders.Set("Content-Type", "application/json")
47523	c.urlParams_.Set("alt", alt)
47524	c.urlParams_.Set("prettyPrint", "false")
47525	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47526	urls += "?" + c.urlParams_.Encode()
47527	req, err := http.NewRequest("POST", urls, body)
47528	if err != nil {
47529		return nil, err
47530	}
47531	req.Header = reqHeaders
47532	googleapi.Expand(req.URL, map[string]string{
47533		"profileId": strconv.FormatInt(c.profileId, 10),
47534	})
47535	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47536}
47537
47538// Do executes the "dfareporting.subaccounts.insert" call.
47539// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47540// status code is an error. Response headers are in either
47541// *Subaccount.ServerResponse.Header or (if a response was returned at
47542// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47543// to check whether the returned error was because
47544// http.StatusNotModified was returned.
47545func (c *SubaccountsInsertCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47546	gensupport.SetOptions(c.urlParams_, opts...)
47547	res, err := c.doRequest("json")
47548	if res != nil && res.StatusCode == http.StatusNotModified {
47549		if res.Body != nil {
47550			res.Body.Close()
47551		}
47552		return nil, &googleapi.Error{
47553			Code:   res.StatusCode,
47554			Header: res.Header,
47555		}
47556	}
47557	if err != nil {
47558		return nil, err
47559	}
47560	defer googleapi.CloseBody(res)
47561	if err := googleapi.CheckResponse(res); err != nil {
47562		return nil, err
47563	}
47564	ret := &Subaccount{
47565		ServerResponse: googleapi.ServerResponse{
47566			Header:         res.Header,
47567			HTTPStatusCode: res.StatusCode,
47568		},
47569	}
47570	target := &ret
47571	if err := gensupport.DecodeResponse(target, res); err != nil {
47572		return nil, err
47573	}
47574	return ret, nil
47575	// {
47576	//   "description": "Inserts a new subaccount.",
47577	//   "flatPath": "userprofiles/{profileId}/subaccounts",
47578	//   "httpMethod": "POST",
47579	//   "id": "dfareporting.subaccounts.insert",
47580	//   "parameterOrder": [
47581	//     "profileId"
47582	//   ],
47583	//   "parameters": {
47584	//     "profileId": {
47585	//       "description": "User profile ID associated with this request.",
47586	//       "format": "int64",
47587	//       "location": "path",
47588	//       "required": true,
47589	//       "type": "string"
47590	//     }
47591	//   },
47592	//   "path": "userprofiles/{profileId}/subaccounts",
47593	//   "request": {
47594	//     "$ref": "Subaccount"
47595	//   },
47596	//   "response": {
47597	//     "$ref": "Subaccount"
47598	//   },
47599	//   "scopes": [
47600	//     "https://www.googleapis.com/auth/dfatrafficking"
47601	//   ]
47602	// }
47603
47604}
47605
47606// method id "dfareporting.subaccounts.list":
47607
47608type SubaccountsListCall struct {
47609	s            *Service
47610	profileId    int64
47611	urlParams_   gensupport.URLParams
47612	ifNoneMatch_ string
47613	ctx_         context.Context
47614	header_      http.Header
47615}
47616
47617// List: Gets a list of subaccounts, possibly filtered. This method
47618// supports paging.
47619//
47620// - profileId: User profile ID associated with this request.
47621func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
47622	c := &SubaccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47623	c.profileId = profileId
47624	return c
47625}
47626
47627// Ids sets the optional parameter "ids": Select only subaccounts with
47628// these IDs.
47629func (c *SubaccountsListCall) Ids(ids ...int64) *SubaccountsListCall {
47630	var ids_ []string
47631	for _, v := range ids {
47632		ids_ = append(ids_, fmt.Sprint(v))
47633	}
47634	c.urlParams_.SetMulti("ids", ids_)
47635	return c
47636}
47637
47638// MaxResults sets the optional parameter "maxResults": Maximum number
47639// of results to return.
47640func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
47641	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
47642	return c
47643}
47644
47645// PageToken sets the optional parameter "pageToken": Value of the
47646// nextPageToken from the previous result page.
47647func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
47648	c.urlParams_.Set("pageToken", pageToken)
47649	return c
47650}
47651
47652// SearchString sets the optional parameter "searchString": Allows
47653// searching for objects by name or ID. Wildcards (*) are allowed. For
47654// example, "subaccount*2015" will return objects with names like
47655// "subaccount June 2015", "subaccount April 2015", or simply
47656// "subaccount 2015". Most of the searches also add wildcards implicitly
47657// at the start and the end of the search string. For example, a search
47658// string of "subaccount" will match objects with name "my subaccount",
47659// "subaccount 2015", or simply "subaccount" .
47660func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
47661	c.urlParams_.Set("searchString", searchString)
47662	return c
47663}
47664
47665// SortField sets the optional parameter "sortField": Field by which to
47666// sort the list.
47667//
47668// Possible values:
47669//   "ID" (default)
47670//   "NAME"
47671func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
47672	c.urlParams_.Set("sortField", sortField)
47673	return c
47674}
47675
47676// SortOrder sets the optional parameter "sortOrder": Order of sorted
47677// results.
47678//
47679// Possible values:
47680//   "ASCENDING" (default)
47681//   "DESCENDING"
47682func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
47683	c.urlParams_.Set("sortOrder", sortOrder)
47684	return c
47685}
47686
47687// Fields allows partial responses to be retrieved. See
47688// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47689// for more information.
47690func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
47691	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47692	return c
47693}
47694
47695// IfNoneMatch sets the optional parameter which makes the operation
47696// fail if the object's ETag matches the given value. This is useful for
47697// getting updates only after the object has changed since the last
47698// request. Use googleapi.IsNotModified to check whether the response
47699// error from Do is the result of In-None-Match.
47700func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
47701	c.ifNoneMatch_ = entityTag
47702	return c
47703}
47704
47705// Context sets the context to be used in this call's Do method. Any
47706// pending HTTP request will be aborted if the provided context is
47707// canceled.
47708func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
47709	c.ctx_ = ctx
47710	return c
47711}
47712
47713// Header returns an http.Header that can be modified by the caller to
47714// add HTTP headers to the request.
47715func (c *SubaccountsListCall) Header() http.Header {
47716	if c.header_ == nil {
47717		c.header_ = make(http.Header)
47718	}
47719	return c.header_
47720}
47721
47722func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
47723	reqHeaders := make(http.Header)
47724	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
47725	for k, v := range c.header_ {
47726		reqHeaders[k] = v
47727	}
47728	reqHeaders.Set("User-Agent", c.s.userAgent())
47729	if c.ifNoneMatch_ != "" {
47730		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47731	}
47732	var body io.Reader = nil
47733	c.urlParams_.Set("alt", alt)
47734	c.urlParams_.Set("prettyPrint", "false")
47735	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47736	urls += "?" + c.urlParams_.Encode()
47737	req, err := http.NewRequest("GET", urls, body)
47738	if err != nil {
47739		return nil, err
47740	}
47741	req.Header = reqHeaders
47742	googleapi.Expand(req.URL, map[string]string{
47743		"profileId": strconv.FormatInt(c.profileId, 10),
47744	})
47745	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47746}
47747
47748// Do executes the "dfareporting.subaccounts.list" call.
47749// Exactly one of *SubaccountsListResponse or error will be non-nil. Any
47750// non-2xx status code is an error. Response headers are in either
47751// *SubaccountsListResponse.ServerResponse.Header or (if a response was
47752// returned at all) in error.(*googleapi.Error).Header. Use
47753// googleapi.IsNotModified to check whether the returned error was
47754// because http.StatusNotModified was returned.
47755func (c *SubaccountsListCall) Do(opts ...googleapi.CallOption) (*SubaccountsListResponse, error) {
47756	gensupport.SetOptions(c.urlParams_, opts...)
47757	res, err := c.doRequest("json")
47758	if res != nil && res.StatusCode == http.StatusNotModified {
47759		if res.Body != nil {
47760			res.Body.Close()
47761		}
47762		return nil, &googleapi.Error{
47763			Code:   res.StatusCode,
47764			Header: res.Header,
47765		}
47766	}
47767	if err != nil {
47768		return nil, err
47769	}
47770	defer googleapi.CloseBody(res)
47771	if err := googleapi.CheckResponse(res); err != nil {
47772		return nil, err
47773	}
47774	ret := &SubaccountsListResponse{
47775		ServerResponse: googleapi.ServerResponse{
47776			Header:         res.Header,
47777			HTTPStatusCode: res.StatusCode,
47778		},
47779	}
47780	target := &ret
47781	if err := gensupport.DecodeResponse(target, res); err != nil {
47782		return nil, err
47783	}
47784	return ret, nil
47785	// {
47786	//   "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
47787	//   "flatPath": "userprofiles/{profileId}/subaccounts",
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.
47901//
47902// - id: Subaccount ID.
47903// - profileId: User profile ID associated with this request.
47904func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
47905	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47906	c.profileId = profileId
47907	c.urlParams_.Set("id", fmt.Sprint(id))
47908	c.subaccount = subaccount
47909	return c
47910}
47911
47912// Fields allows partial responses to be retrieved. See
47913// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47914// for more information.
47915func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
47916	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47917	return c
47918}
47919
47920// Context sets the context to be used in this call's Do method. Any
47921// pending HTTP request will be aborted if the provided context is
47922// canceled.
47923func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
47924	c.ctx_ = ctx
47925	return c
47926}
47927
47928// Header returns an http.Header that can be modified by the caller to
47929// add HTTP headers to the request.
47930func (c *SubaccountsPatchCall) Header() http.Header {
47931	if c.header_ == nil {
47932		c.header_ = make(http.Header)
47933	}
47934	return c.header_
47935}
47936
47937func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
47938	reqHeaders := make(http.Header)
47939	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
47940	for k, v := range c.header_ {
47941		reqHeaders[k] = v
47942	}
47943	reqHeaders.Set("User-Agent", c.s.userAgent())
47944	var body io.Reader = nil
47945	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47946	if err != nil {
47947		return nil, err
47948	}
47949	reqHeaders.Set("Content-Type", "application/json")
47950	c.urlParams_.Set("alt", alt)
47951	c.urlParams_.Set("prettyPrint", "false")
47952	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47953	urls += "?" + c.urlParams_.Encode()
47954	req, err := http.NewRequest("PATCH", urls, body)
47955	if err != nil {
47956		return nil, err
47957	}
47958	req.Header = reqHeaders
47959	googleapi.Expand(req.URL, map[string]string{
47960		"profileId": strconv.FormatInt(c.profileId, 10),
47961	})
47962	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47963}
47964
47965// Do executes the "dfareporting.subaccounts.patch" call.
47966// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47967// status code is an error. Response headers are in either
47968// *Subaccount.ServerResponse.Header or (if a response was returned at
47969// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47970// to check whether the returned error was because
47971// http.StatusNotModified was returned.
47972func (c *SubaccountsPatchCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47973	gensupport.SetOptions(c.urlParams_, opts...)
47974	res, err := c.doRequest("json")
47975	if res != nil && res.StatusCode == http.StatusNotModified {
47976		if res.Body != nil {
47977			res.Body.Close()
47978		}
47979		return nil, &googleapi.Error{
47980			Code:   res.StatusCode,
47981			Header: res.Header,
47982		}
47983	}
47984	if err != nil {
47985		return nil, err
47986	}
47987	defer googleapi.CloseBody(res)
47988	if err := googleapi.CheckResponse(res); err != nil {
47989		return nil, err
47990	}
47991	ret := &Subaccount{
47992		ServerResponse: googleapi.ServerResponse{
47993			Header:         res.Header,
47994			HTTPStatusCode: res.StatusCode,
47995		},
47996	}
47997	target := &ret
47998	if err := gensupport.DecodeResponse(target, res); err != nil {
47999		return nil, err
48000	}
48001	return ret, nil
48002	// {
48003	//   "description": "Updates an existing subaccount. This method supports patch semantics.",
48004	//   "flatPath": "userprofiles/{profileId}/subaccounts",
48005	//   "httpMethod": "PATCH",
48006	//   "id": "dfareporting.subaccounts.patch",
48007	//   "parameterOrder": [
48008	//     "profileId",
48009	//     "id"
48010	//   ],
48011	//   "parameters": {
48012	//     "id": {
48013	//       "description": "Subaccount ID.",
48014	//       "format": "int64",
48015	//       "location": "query",
48016	//       "required": true,
48017	//       "type": "string"
48018	//     },
48019	//     "profileId": {
48020	//       "description": "User profile ID associated with this request.",
48021	//       "format": "int64",
48022	//       "location": "path",
48023	//       "required": true,
48024	//       "type": "string"
48025	//     }
48026	//   },
48027	//   "path": "userprofiles/{profileId}/subaccounts",
48028	//   "request": {
48029	//     "$ref": "Subaccount"
48030	//   },
48031	//   "response": {
48032	//     "$ref": "Subaccount"
48033	//   },
48034	//   "scopes": [
48035	//     "https://www.googleapis.com/auth/dfatrafficking"
48036	//   ]
48037	// }
48038
48039}
48040
48041// method id "dfareporting.subaccounts.update":
48042
48043type SubaccountsUpdateCall struct {
48044	s          *Service
48045	profileId  int64
48046	subaccount *Subaccount
48047	urlParams_ gensupport.URLParams
48048	ctx_       context.Context
48049	header_    http.Header
48050}
48051
48052// Update: Updates an existing subaccount.
48053//
48054// - profileId: User profile ID associated with this request.
48055func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
48056	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48057	c.profileId = profileId
48058	c.subaccount = subaccount
48059	return c
48060}
48061
48062// Fields allows partial responses to be retrieved. See
48063// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48064// for more information.
48065func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
48066	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48067	return c
48068}
48069
48070// Context sets the context to be used in this call's Do method. Any
48071// pending HTTP request will be aborted if the provided context is
48072// canceled.
48073func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
48074	c.ctx_ = ctx
48075	return c
48076}
48077
48078// Header returns an http.Header that can be modified by the caller to
48079// add HTTP headers to the request.
48080func (c *SubaccountsUpdateCall) Header() http.Header {
48081	if c.header_ == nil {
48082		c.header_ = make(http.Header)
48083	}
48084	return c.header_
48085}
48086
48087func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
48088	reqHeaders := make(http.Header)
48089	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
48090	for k, v := range c.header_ {
48091		reqHeaders[k] = v
48092	}
48093	reqHeaders.Set("User-Agent", c.s.userAgent())
48094	var body io.Reader = nil
48095	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
48096	if err != nil {
48097		return nil, err
48098	}
48099	reqHeaders.Set("Content-Type", "application/json")
48100	c.urlParams_.Set("alt", alt)
48101	c.urlParams_.Set("prettyPrint", "false")
48102	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
48103	urls += "?" + c.urlParams_.Encode()
48104	req, err := http.NewRequest("PUT", urls, body)
48105	if err != nil {
48106		return nil, err
48107	}
48108	req.Header = reqHeaders
48109	googleapi.Expand(req.URL, map[string]string{
48110		"profileId": strconv.FormatInt(c.profileId, 10),
48111	})
48112	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48113}
48114
48115// Do executes the "dfareporting.subaccounts.update" call.
48116// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
48117// status code is an error. Response headers are in either
48118// *Subaccount.ServerResponse.Header or (if a response was returned at
48119// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
48120// to check whether the returned error was because
48121// http.StatusNotModified was returned.
48122func (c *SubaccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
48123	gensupport.SetOptions(c.urlParams_, opts...)
48124	res, err := c.doRequest("json")
48125	if res != nil && res.StatusCode == http.StatusNotModified {
48126		if res.Body != nil {
48127			res.Body.Close()
48128		}
48129		return nil, &googleapi.Error{
48130			Code:   res.StatusCode,
48131			Header: res.Header,
48132		}
48133	}
48134	if err != nil {
48135		return nil, err
48136	}
48137	defer googleapi.CloseBody(res)
48138	if err := googleapi.CheckResponse(res); err != nil {
48139		return nil, err
48140	}
48141	ret := &Subaccount{
48142		ServerResponse: googleapi.ServerResponse{
48143			Header:         res.Header,
48144			HTTPStatusCode: res.StatusCode,
48145		},
48146	}
48147	target := &ret
48148	if err := gensupport.DecodeResponse(target, res); err != nil {
48149		return nil, err
48150	}
48151	return ret, nil
48152	// {
48153	//   "description": "Updates an existing subaccount.",
48154	//   "flatPath": "userprofiles/{profileId}/subaccounts",
48155	//   "httpMethod": "PUT",
48156	//   "id": "dfareporting.subaccounts.update",
48157	//   "parameterOrder": [
48158	//     "profileId"
48159	//   ],
48160	//   "parameters": {
48161	//     "profileId": {
48162	//       "description": "User profile ID associated with this request.",
48163	//       "format": "int64",
48164	//       "location": "path",
48165	//       "required": true,
48166	//       "type": "string"
48167	//     }
48168	//   },
48169	//   "path": "userprofiles/{profileId}/subaccounts",
48170	//   "request": {
48171	//     "$ref": "Subaccount"
48172	//   },
48173	//   "response": {
48174	//     "$ref": "Subaccount"
48175	//   },
48176	//   "scopes": [
48177	//     "https://www.googleapis.com/auth/dfatrafficking"
48178	//   ]
48179	// }
48180
48181}
48182
48183// method id "dfareporting.targetableRemarketingLists.get":
48184
48185type TargetableRemarketingListsGetCall struct {
48186	s            *Service
48187	profileId    int64
48188	id           int64
48189	urlParams_   gensupport.URLParams
48190	ifNoneMatch_ string
48191	ctx_         context.Context
48192	header_      http.Header
48193}
48194
48195// Get: Gets one remarketing list by ID.
48196//
48197// - id: Remarketing list ID.
48198// - profileId: User profile ID associated with this request.
48199func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
48200	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48201	c.profileId = profileId
48202	c.id = id
48203	return c
48204}
48205
48206// Fields allows partial responses to be retrieved. See
48207// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48208// for more information.
48209func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
48210	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48211	return c
48212}
48213
48214// IfNoneMatch sets the optional parameter which makes the operation
48215// fail if the object's ETag matches the given value. This is useful for
48216// getting updates only after the object has changed since the last
48217// request. Use googleapi.IsNotModified to check whether the response
48218// error from Do is the result of In-None-Match.
48219func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
48220	c.ifNoneMatch_ = entityTag
48221	return c
48222}
48223
48224// Context sets the context to be used in this call's Do method. Any
48225// pending HTTP request will be aborted if the provided context is
48226// canceled.
48227func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
48228	c.ctx_ = ctx
48229	return c
48230}
48231
48232// Header returns an http.Header that can be modified by the caller to
48233// add HTTP headers to the request.
48234func (c *TargetableRemarketingListsGetCall) Header() http.Header {
48235	if c.header_ == nil {
48236		c.header_ = make(http.Header)
48237	}
48238	return c.header_
48239}
48240
48241func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
48242	reqHeaders := make(http.Header)
48243	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
48244	for k, v := range c.header_ {
48245		reqHeaders[k] = v
48246	}
48247	reqHeaders.Set("User-Agent", c.s.userAgent())
48248	if c.ifNoneMatch_ != "" {
48249		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48250	}
48251	var body io.Reader = nil
48252	c.urlParams_.Set("alt", alt)
48253	c.urlParams_.Set("prettyPrint", "false")
48254	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
48255	urls += "?" + c.urlParams_.Encode()
48256	req, err := http.NewRequest("GET", urls, body)
48257	if err != nil {
48258		return nil, err
48259	}
48260	req.Header = reqHeaders
48261	googleapi.Expand(req.URL, map[string]string{
48262		"profileId": strconv.FormatInt(c.profileId, 10),
48263		"id":        strconv.FormatInt(c.id, 10),
48264	})
48265	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48266}
48267
48268// Do executes the "dfareporting.targetableRemarketingLists.get" call.
48269// Exactly one of *TargetableRemarketingList or error will be non-nil.
48270// Any non-2xx status code is an error. Response headers are in either
48271// *TargetableRemarketingList.ServerResponse.Header or (if a response
48272// was returned at all) in error.(*googleapi.Error).Header. Use
48273// googleapi.IsNotModified to check whether the returned error was
48274// because http.StatusNotModified was returned.
48275func (c *TargetableRemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingList, error) {
48276	gensupport.SetOptions(c.urlParams_, opts...)
48277	res, err := c.doRequest("json")
48278	if res != nil && res.StatusCode == http.StatusNotModified {
48279		if res.Body != nil {
48280			res.Body.Close()
48281		}
48282		return nil, &googleapi.Error{
48283			Code:   res.StatusCode,
48284			Header: res.Header,
48285		}
48286	}
48287	if err != nil {
48288		return nil, err
48289	}
48290	defer googleapi.CloseBody(res)
48291	if err := googleapi.CheckResponse(res); err != nil {
48292		return nil, err
48293	}
48294	ret := &TargetableRemarketingList{
48295		ServerResponse: googleapi.ServerResponse{
48296			Header:         res.Header,
48297			HTTPStatusCode: res.StatusCode,
48298		},
48299	}
48300	target := &ret
48301	if err := gensupport.DecodeResponse(target, res); err != nil {
48302		return nil, err
48303	}
48304	return ret, nil
48305	// {
48306	//   "description": "Gets one remarketing list by ID.",
48307	//   "flatPath": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
48308	//   "httpMethod": "GET",
48309	//   "id": "dfareporting.targetableRemarketingLists.get",
48310	//   "parameterOrder": [
48311	//     "profileId",
48312	//     "id"
48313	//   ],
48314	//   "parameters": {
48315	//     "id": {
48316	//       "description": "Remarketing list ID.",
48317	//       "format": "int64",
48318	//       "location": "path",
48319	//       "required": true,
48320	//       "type": "string"
48321	//     },
48322	//     "profileId": {
48323	//       "description": "User profile ID associated with this request.",
48324	//       "format": "int64",
48325	//       "location": "path",
48326	//       "required": true,
48327	//       "type": "string"
48328	//     }
48329	//   },
48330	//   "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
48331	//   "response": {
48332	//     "$ref": "TargetableRemarketingList"
48333	//   },
48334	//   "scopes": [
48335	//     "https://www.googleapis.com/auth/dfatrafficking"
48336	//   ]
48337	// }
48338
48339}
48340
48341// method id "dfareporting.targetableRemarketingLists.list":
48342
48343type TargetableRemarketingListsListCall struct {
48344	s            *Service
48345	profileId    int64
48346	urlParams_   gensupport.URLParams
48347	ifNoneMatch_ string
48348	ctx_         context.Context
48349	header_      http.Header
48350}
48351
48352// List: Retrieves a list of targetable remarketing lists, possibly
48353// filtered. This method supports paging.
48354//
48355// - advertiserId: Select only targetable remarketing lists targetable
48356//   by these advertisers.
48357// - profileId: User profile ID associated with this request.
48358func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
48359	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48360	c.profileId = profileId
48361	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
48362	return c
48363}
48364
48365// Active sets the optional parameter "active": Select only active or
48366// only inactive targetable remarketing lists.
48367func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
48368	c.urlParams_.Set("active", fmt.Sprint(active))
48369	return c
48370}
48371
48372// MaxResults sets the optional parameter "maxResults": Maximum number
48373// of results to return.
48374func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
48375	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
48376	return c
48377}
48378
48379// Name sets the optional parameter "name": Allows searching for objects
48380// by name or ID. Wildcards (*) are allowed. For example, "remarketing
48381// list*2015" will return objects with names like "remarketing list June
48382// 2015", "remarketing list April 2015", or simply "remarketing list
48383// 2015". Most of the searches also add wildcards implicitly at the
48384// start and the end of the search string. For example, a search string
48385// of "remarketing list" will match objects with name "my remarketing
48386// list", "remarketing list 2015", or simply "remarketing list".
48387func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
48388	c.urlParams_.Set("name", name)
48389	return c
48390}
48391
48392// PageToken sets the optional parameter "pageToken": Value of the
48393// nextPageToken from the previous result page.
48394func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
48395	c.urlParams_.Set("pageToken", pageToken)
48396	return c
48397}
48398
48399// SortField sets the optional parameter "sortField": Field by which to
48400// sort the list.
48401//
48402// Possible values:
48403//   "ID" (default)
48404//   "NAME"
48405func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
48406	c.urlParams_.Set("sortField", sortField)
48407	return c
48408}
48409
48410// SortOrder sets the optional parameter "sortOrder": Order of sorted
48411// results.
48412//
48413// Possible values:
48414//   "ASCENDING" (default)
48415//   "DESCENDING"
48416func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
48417	c.urlParams_.Set("sortOrder", sortOrder)
48418	return c
48419}
48420
48421// Fields allows partial responses to be retrieved. See
48422// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48423// for more information.
48424func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
48425	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48426	return c
48427}
48428
48429// IfNoneMatch sets the optional parameter which makes the operation
48430// fail if the object's ETag matches the given value. This is useful for
48431// getting updates only after the object has changed since the last
48432// request. Use googleapi.IsNotModified to check whether the response
48433// error from Do is the result of In-None-Match.
48434func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
48435	c.ifNoneMatch_ = entityTag
48436	return c
48437}
48438
48439// Context sets the context to be used in this call's Do method. Any
48440// pending HTTP request will be aborted if the provided context is
48441// canceled.
48442func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
48443	c.ctx_ = ctx
48444	return c
48445}
48446
48447// Header returns an http.Header that can be modified by the caller to
48448// add HTTP headers to the request.
48449func (c *TargetableRemarketingListsListCall) Header() http.Header {
48450	if c.header_ == nil {
48451		c.header_ = make(http.Header)
48452	}
48453	return c.header_
48454}
48455
48456func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
48457	reqHeaders := make(http.Header)
48458	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
48459	for k, v := range c.header_ {
48460		reqHeaders[k] = v
48461	}
48462	reqHeaders.Set("User-Agent", c.s.userAgent())
48463	if c.ifNoneMatch_ != "" {
48464		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48465	}
48466	var body io.Reader = nil
48467	c.urlParams_.Set("alt", alt)
48468	c.urlParams_.Set("prettyPrint", "false")
48469	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
48470	urls += "?" + c.urlParams_.Encode()
48471	req, err := http.NewRequest("GET", urls, body)
48472	if err != nil {
48473		return nil, err
48474	}
48475	req.Header = reqHeaders
48476	googleapi.Expand(req.URL, map[string]string{
48477		"profileId": strconv.FormatInt(c.profileId, 10),
48478	})
48479	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48480}
48481
48482// Do executes the "dfareporting.targetableRemarketingLists.list" call.
48483// Exactly one of *TargetableRemarketingListsListResponse or error will
48484// be non-nil. Any non-2xx status code is an error. Response headers are
48485// in either
48486// *TargetableRemarketingListsListResponse.ServerResponse.Header or (if
48487// a response was returned at all) in error.(*googleapi.Error).Header.
48488// Use googleapi.IsNotModified to check whether the returned error was
48489// because http.StatusNotModified was returned.
48490func (c *TargetableRemarketingListsListCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingListsListResponse, error) {
48491	gensupport.SetOptions(c.urlParams_, opts...)
48492	res, err := c.doRequest("json")
48493	if res != nil && res.StatusCode == http.StatusNotModified {
48494		if res.Body != nil {
48495			res.Body.Close()
48496		}
48497		return nil, &googleapi.Error{
48498			Code:   res.StatusCode,
48499			Header: res.Header,
48500		}
48501	}
48502	if err != nil {
48503		return nil, err
48504	}
48505	defer googleapi.CloseBody(res)
48506	if err := googleapi.CheckResponse(res); err != nil {
48507		return nil, err
48508	}
48509	ret := &TargetableRemarketingListsListResponse{
48510		ServerResponse: googleapi.ServerResponse{
48511			Header:         res.Header,
48512			HTTPStatusCode: res.StatusCode,
48513		},
48514	}
48515	target := &ret
48516	if err := gensupport.DecodeResponse(target, res); err != nil {
48517		return nil, err
48518	}
48519	return ret, nil
48520	// {
48521	//   "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
48522	//   "flatPath": "userprofiles/{profileId}/targetableRemarketingLists",
48523	//   "httpMethod": "GET",
48524	//   "id": "dfareporting.targetableRemarketingLists.list",
48525	//   "parameterOrder": [
48526	//     "profileId",
48527	//     "advertiserId"
48528	//   ],
48529	//   "parameters": {
48530	//     "active": {
48531	//       "description": "Select only active or only inactive targetable remarketing lists.",
48532	//       "location": "query",
48533	//       "type": "boolean"
48534	//     },
48535	//     "advertiserId": {
48536	//       "description": "Select only targetable remarketing lists targetable by these advertisers.",
48537	//       "format": "int64",
48538	//       "location": "query",
48539	//       "required": true,
48540	//       "type": "string"
48541	//     },
48542	//     "maxResults": {
48543	//       "default": "1000",
48544	//       "description": "Maximum number of results to return.",
48545	//       "format": "int32",
48546	//       "location": "query",
48547	//       "maximum": "1000",
48548	//       "minimum": "0",
48549	//       "type": "integer"
48550	//     },
48551	//     "name": {
48552	//       "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\".",
48553	//       "location": "query",
48554	//       "type": "string"
48555	//     },
48556	//     "pageToken": {
48557	//       "description": "Value of the nextPageToken from the previous result page.",
48558	//       "location": "query",
48559	//       "type": "string"
48560	//     },
48561	//     "profileId": {
48562	//       "description": "User profile ID associated with this request.",
48563	//       "format": "int64",
48564	//       "location": "path",
48565	//       "required": true,
48566	//       "type": "string"
48567	//     },
48568	//     "sortField": {
48569	//       "default": "ID",
48570	//       "description": "Field by which to sort the list.",
48571	//       "enum": [
48572	//         "ID",
48573	//         "NAME"
48574	//       ],
48575	//       "enumDescriptions": [
48576	//         "",
48577	//         ""
48578	//       ],
48579	//       "location": "query",
48580	//       "type": "string"
48581	//     },
48582	//     "sortOrder": {
48583	//       "default": "ASCENDING",
48584	//       "description": "Order of sorted results.",
48585	//       "enum": [
48586	//         "ASCENDING",
48587	//         "DESCENDING"
48588	//       ],
48589	//       "enumDescriptions": [
48590	//         "",
48591	//         ""
48592	//       ],
48593	//       "location": "query",
48594	//       "type": "string"
48595	//     }
48596	//   },
48597	//   "path": "userprofiles/{profileId}/targetableRemarketingLists",
48598	//   "response": {
48599	//     "$ref": "TargetableRemarketingListsListResponse"
48600	//   },
48601	//   "scopes": [
48602	//     "https://www.googleapis.com/auth/dfatrafficking"
48603	//   ]
48604	// }
48605
48606}
48607
48608// Pages invokes f for each page of results.
48609// A non-nil error returned from f will halt the iteration.
48610// The provided context supersedes any context provided to the Context method.
48611func (c *TargetableRemarketingListsListCall) Pages(ctx context.Context, f func(*TargetableRemarketingListsListResponse) error) error {
48612	c.ctx_ = ctx
48613	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
48614	for {
48615		x, err := c.Do()
48616		if err != nil {
48617			return err
48618		}
48619		if err := f(x); err != nil {
48620			return err
48621		}
48622		if x.NextPageToken == "" {
48623			return nil
48624		}
48625		c.PageToken(x.NextPageToken)
48626	}
48627}
48628
48629// method id "dfareporting.targetingTemplates.get":
48630
48631type TargetingTemplatesGetCall struct {
48632	s            *Service
48633	profileId    int64
48634	id           int64
48635	urlParams_   gensupport.URLParams
48636	ifNoneMatch_ string
48637	ctx_         context.Context
48638	header_      http.Header
48639}
48640
48641// Get: Gets one targeting template by ID.
48642//
48643// - id: Targeting template ID.
48644// - profileId: User profile ID associated with this request.
48645func (r *TargetingTemplatesService) Get(profileId int64, id int64) *TargetingTemplatesGetCall {
48646	c := &TargetingTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48647	c.profileId = profileId
48648	c.id = id
48649	return c
48650}
48651
48652// Fields allows partial responses to be retrieved. See
48653// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48654// for more information.
48655func (c *TargetingTemplatesGetCall) Fields(s ...googleapi.Field) *TargetingTemplatesGetCall {
48656	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48657	return c
48658}
48659
48660// IfNoneMatch sets the optional parameter which makes the operation
48661// fail if the object's ETag matches the given value. This is useful for
48662// getting updates only after the object has changed since the last
48663// request. Use googleapi.IsNotModified to check whether the response
48664// error from Do is the result of In-None-Match.
48665func (c *TargetingTemplatesGetCall) IfNoneMatch(entityTag string) *TargetingTemplatesGetCall {
48666	c.ifNoneMatch_ = entityTag
48667	return c
48668}
48669
48670// Context sets the context to be used in this call's Do method. Any
48671// pending HTTP request will be aborted if the provided context is
48672// canceled.
48673func (c *TargetingTemplatesGetCall) Context(ctx context.Context) *TargetingTemplatesGetCall {
48674	c.ctx_ = ctx
48675	return c
48676}
48677
48678// Header returns an http.Header that can be modified by the caller to
48679// add HTTP headers to the request.
48680func (c *TargetingTemplatesGetCall) Header() http.Header {
48681	if c.header_ == nil {
48682		c.header_ = make(http.Header)
48683	}
48684	return c.header_
48685}
48686
48687func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
48688	reqHeaders := make(http.Header)
48689	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
48690	for k, v := range c.header_ {
48691		reqHeaders[k] = v
48692	}
48693	reqHeaders.Set("User-Agent", c.s.userAgent())
48694	if c.ifNoneMatch_ != "" {
48695		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48696	}
48697	var body io.Reader = nil
48698	c.urlParams_.Set("alt", alt)
48699	c.urlParams_.Set("prettyPrint", "false")
48700	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates/{id}")
48701	urls += "?" + c.urlParams_.Encode()
48702	req, err := http.NewRequest("GET", urls, body)
48703	if err != nil {
48704		return nil, err
48705	}
48706	req.Header = reqHeaders
48707	googleapi.Expand(req.URL, map[string]string{
48708		"profileId": strconv.FormatInt(c.profileId, 10),
48709		"id":        strconv.FormatInt(c.id, 10),
48710	})
48711	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48712}
48713
48714// Do executes the "dfareporting.targetingTemplates.get" call.
48715// Exactly one of *TargetingTemplate or error will be non-nil. Any
48716// non-2xx status code is an error. Response headers are in either
48717// *TargetingTemplate.ServerResponse.Header or (if a response was
48718// returned at all) in error.(*googleapi.Error).Header. Use
48719// googleapi.IsNotModified to check whether the returned error was
48720// because http.StatusNotModified was returned.
48721func (c *TargetingTemplatesGetCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48722	gensupport.SetOptions(c.urlParams_, opts...)
48723	res, err := c.doRequest("json")
48724	if res != nil && res.StatusCode == http.StatusNotModified {
48725		if res.Body != nil {
48726			res.Body.Close()
48727		}
48728		return nil, &googleapi.Error{
48729			Code:   res.StatusCode,
48730			Header: res.Header,
48731		}
48732	}
48733	if err != nil {
48734		return nil, err
48735	}
48736	defer googleapi.CloseBody(res)
48737	if err := googleapi.CheckResponse(res); err != nil {
48738		return nil, err
48739	}
48740	ret := &TargetingTemplate{
48741		ServerResponse: googleapi.ServerResponse{
48742			Header:         res.Header,
48743			HTTPStatusCode: res.StatusCode,
48744		},
48745	}
48746	target := &ret
48747	if err := gensupport.DecodeResponse(target, res); err != nil {
48748		return nil, err
48749	}
48750	return ret, nil
48751	// {
48752	//   "description": "Gets one targeting template by ID.",
48753	//   "flatPath": "userprofiles/{profileId}/targetingTemplates/{id}",
48754	//   "httpMethod": "GET",
48755	//   "id": "dfareporting.targetingTemplates.get",
48756	//   "parameterOrder": [
48757	//     "profileId",
48758	//     "id"
48759	//   ],
48760	//   "parameters": {
48761	//     "id": {
48762	//       "description": "Targeting template ID.",
48763	//       "format": "int64",
48764	//       "location": "path",
48765	//       "required": true,
48766	//       "type": "string"
48767	//     },
48768	//     "profileId": {
48769	//       "description": "User profile ID associated with this request.",
48770	//       "format": "int64",
48771	//       "location": "path",
48772	//       "required": true,
48773	//       "type": "string"
48774	//     }
48775	//   },
48776	//   "path": "userprofiles/{profileId}/targetingTemplates/{id}",
48777	//   "response": {
48778	//     "$ref": "TargetingTemplate"
48779	//   },
48780	//   "scopes": [
48781	//     "https://www.googleapis.com/auth/dfatrafficking"
48782	//   ]
48783	// }
48784
48785}
48786
48787// method id "dfareporting.targetingTemplates.insert":
48788
48789type TargetingTemplatesInsertCall struct {
48790	s                 *Service
48791	profileId         int64
48792	targetingtemplate *TargetingTemplate
48793	urlParams_        gensupport.URLParams
48794	ctx_              context.Context
48795	header_           http.Header
48796}
48797
48798// Insert: Inserts a new targeting template.
48799//
48800// - profileId: User profile ID associated with this request.
48801func (r *TargetingTemplatesService) Insert(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesInsertCall {
48802	c := &TargetingTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48803	c.profileId = profileId
48804	c.targetingtemplate = targetingtemplate
48805	return c
48806}
48807
48808// Fields allows partial responses to be retrieved. See
48809// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48810// for more information.
48811func (c *TargetingTemplatesInsertCall) Fields(s ...googleapi.Field) *TargetingTemplatesInsertCall {
48812	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48813	return c
48814}
48815
48816// Context sets the context to be used in this call's Do method. Any
48817// pending HTTP request will be aborted if the provided context is
48818// canceled.
48819func (c *TargetingTemplatesInsertCall) Context(ctx context.Context) *TargetingTemplatesInsertCall {
48820	c.ctx_ = ctx
48821	return c
48822}
48823
48824// Header returns an http.Header that can be modified by the caller to
48825// add HTTP headers to the request.
48826func (c *TargetingTemplatesInsertCall) Header() http.Header {
48827	if c.header_ == nil {
48828		c.header_ = make(http.Header)
48829	}
48830	return c.header_
48831}
48832
48833func (c *TargetingTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
48834	reqHeaders := make(http.Header)
48835	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
48836	for k, v := range c.header_ {
48837		reqHeaders[k] = v
48838	}
48839	reqHeaders.Set("User-Agent", c.s.userAgent())
48840	var body io.Reader = nil
48841	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
48842	if err != nil {
48843		return nil, err
48844	}
48845	reqHeaders.Set("Content-Type", "application/json")
48846	c.urlParams_.Set("alt", alt)
48847	c.urlParams_.Set("prettyPrint", "false")
48848	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48849	urls += "?" + c.urlParams_.Encode()
48850	req, err := http.NewRequest("POST", urls, body)
48851	if err != nil {
48852		return nil, err
48853	}
48854	req.Header = reqHeaders
48855	googleapi.Expand(req.URL, map[string]string{
48856		"profileId": strconv.FormatInt(c.profileId, 10),
48857	})
48858	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48859}
48860
48861// Do executes the "dfareporting.targetingTemplates.insert" call.
48862// Exactly one of *TargetingTemplate or error will be non-nil. Any
48863// non-2xx status code is an error. Response headers are in either
48864// *TargetingTemplate.ServerResponse.Header or (if a response was
48865// returned at all) in error.(*googleapi.Error).Header. Use
48866// googleapi.IsNotModified to check whether the returned error was
48867// because http.StatusNotModified was returned.
48868func (c *TargetingTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48869	gensupport.SetOptions(c.urlParams_, opts...)
48870	res, err := c.doRequest("json")
48871	if res != nil && res.StatusCode == http.StatusNotModified {
48872		if res.Body != nil {
48873			res.Body.Close()
48874		}
48875		return nil, &googleapi.Error{
48876			Code:   res.StatusCode,
48877			Header: res.Header,
48878		}
48879	}
48880	if err != nil {
48881		return nil, err
48882	}
48883	defer googleapi.CloseBody(res)
48884	if err := googleapi.CheckResponse(res); err != nil {
48885		return nil, err
48886	}
48887	ret := &TargetingTemplate{
48888		ServerResponse: googleapi.ServerResponse{
48889			Header:         res.Header,
48890			HTTPStatusCode: res.StatusCode,
48891		},
48892	}
48893	target := &ret
48894	if err := gensupport.DecodeResponse(target, res); err != nil {
48895		return nil, err
48896	}
48897	return ret, nil
48898	// {
48899	//   "description": "Inserts a new targeting template.",
48900	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
48901	//   "httpMethod": "POST",
48902	//   "id": "dfareporting.targetingTemplates.insert",
48903	//   "parameterOrder": [
48904	//     "profileId"
48905	//   ],
48906	//   "parameters": {
48907	//     "profileId": {
48908	//       "description": "User profile ID associated with this request.",
48909	//       "format": "int64",
48910	//       "location": "path",
48911	//       "required": true,
48912	//       "type": "string"
48913	//     }
48914	//   },
48915	//   "path": "userprofiles/{profileId}/targetingTemplates",
48916	//   "request": {
48917	//     "$ref": "TargetingTemplate"
48918	//   },
48919	//   "response": {
48920	//     "$ref": "TargetingTemplate"
48921	//   },
48922	//   "scopes": [
48923	//     "https://www.googleapis.com/auth/dfatrafficking"
48924	//   ]
48925	// }
48926
48927}
48928
48929// method id "dfareporting.targetingTemplates.list":
48930
48931type TargetingTemplatesListCall struct {
48932	s            *Service
48933	profileId    int64
48934	urlParams_   gensupport.URLParams
48935	ifNoneMatch_ string
48936	ctx_         context.Context
48937	header_      http.Header
48938}
48939
48940// List: Retrieves a list of targeting templates, optionally filtered.
48941// This method supports paging.
48942//
48943// - profileId: User profile ID associated with this request.
48944func (r *TargetingTemplatesService) List(profileId int64) *TargetingTemplatesListCall {
48945	c := &TargetingTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48946	c.profileId = profileId
48947	return c
48948}
48949
48950// AdvertiserId sets the optional parameter "advertiserId": Select only
48951// targeting templates with this advertiser ID.
48952func (c *TargetingTemplatesListCall) AdvertiserId(advertiserId int64) *TargetingTemplatesListCall {
48953	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
48954	return c
48955}
48956
48957// Ids sets the optional parameter "ids": Select only targeting
48958// templates with these IDs.
48959func (c *TargetingTemplatesListCall) Ids(ids ...int64) *TargetingTemplatesListCall {
48960	var ids_ []string
48961	for _, v := range ids {
48962		ids_ = append(ids_, fmt.Sprint(v))
48963	}
48964	c.urlParams_.SetMulti("ids", ids_)
48965	return c
48966}
48967
48968// MaxResults sets the optional parameter "maxResults": Maximum number
48969// of results to return.
48970func (c *TargetingTemplatesListCall) MaxResults(maxResults int64) *TargetingTemplatesListCall {
48971	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
48972	return c
48973}
48974
48975// PageToken sets the optional parameter "pageToken": Value of the
48976// nextPageToken from the previous result page.
48977func (c *TargetingTemplatesListCall) PageToken(pageToken string) *TargetingTemplatesListCall {
48978	c.urlParams_.Set("pageToken", pageToken)
48979	return c
48980}
48981
48982// SearchString sets the optional parameter "searchString": Allows
48983// searching for objects by name or ID. Wildcards (*) are allowed. For
48984// example, "template*2015" will return objects with names like
48985// "template June 2015", "template April 2015", or simply "template
48986// 2015". Most of the searches also add wildcards implicitly at the
48987// start and the end of the search string. For example, a search string
48988// of "template" will match objects with name "my template", "template
48989// 2015", or simply "template".
48990func (c *TargetingTemplatesListCall) SearchString(searchString string) *TargetingTemplatesListCall {
48991	c.urlParams_.Set("searchString", searchString)
48992	return c
48993}
48994
48995// SortField sets the optional parameter "sortField": Field by which to
48996// sort the list.
48997//
48998// Possible values:
48999//   "ID" (default)
49000//   "NAME"
49001func (c *TargetingTemplatesListCall) SortField(sortField string) *TargetingTemplatesListCall {
49002	c.urlParams_.Set("sortField", sortField)
49003	return c
49004}
49005
49006// SortOrder sets the optional parameter "sortOrder": Order of sorted
49007// results.
49008//
49009// Possible values:
49010//   "ASCENDING" (default)
49011//   "DESCENDING"
49012func (c *TargetingTemplatesListCall) SortOrder(sortOrder string) *TargetingTemplatesListCall {
49013	c.urlParams_.Set("sortOrder", sortOrder)
49014	return c
49015}
49016
49017// Fields allows partial responses to be retrieved. See
49018// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49019// for more information.
49020func (c *TargetingTemplatesListCall) Fields(s ...googleapi.Field) *TargetingTemplatesListCall {
49021	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49022	return c
49023}
49024
49025// IfNoneMatch sets the optional parameter which makes the operation
49026// fail if the object's ETag matches the given value. This is useful for
49027// getting updates only after the object has changed since the last
49028// request. Use googleapi.IsNotModified to check whether the response
49029// error from Do is the result of In-None-Match.
49030func (c *TargetingTemplatesListCall) IfNoneMatch(entityTag string) *TargetingTemplatesListCall {
49031	c.ifNoneMatch_ = entityTag
49032	return c
49033}
49034
49035// Context sets the context to be used in this call's Do method. Any
49036// pending HTTP request will be aborted if the provided context is
49037// canceled.
49038func (c *TargetingTemplatesListCall) Context(ctx context.Context) *TargetingTemplatesListCall {
49039	c.ctx_ = ctx
49040	return c
49041}
49042
49043// Header returns an http.Header that can be modified by the caller to
49044// add HTTP headers to the request.
49045func (c *TargetingTemplatesListCall) Header() http.Header {
49046	if c.header_ == nil {
49047		c.header_ = make(http.Header)
49048	}
49049	return c.header_
49050}
49051
49052func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
49053	reqHeaders := make(http.Header)
49054	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
49055	for k, v := range c.header_ {
49056		reqHeaders[k] = v
49057	}
49058	reqHeaders.Set("User-Agent", c.s.userAgent())
49059	if c.ifNoneMatch_ != "" {
49060		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49061	}
49062	var body io.Reader = nil
49063	c.urlParams_.Set("alt", alt)
49064	c.urlParams_.Set("prettyPrint", "false")
49065	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
49066	urls += "?" + c.urlParams_.Encode()
49067	req, err := http.NewRequest("GET", urls, body)
49068	if err != nil {
49069		return nil, err
49070	}
49071	req.Header = reqHeaders
49072	googleapi.Expand(req.URL, map[string]string{
49073		"profileId": strconv.FormatInt(c.profileId, 10),
49074	})
49075	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49076}
49077
49078// Do executes the "dfareporting.targetingTemplates.list" call.
49079// Exactly one of *TargetingTemplatesListResponse or error will be
49080// non-nil. Any non-2xx status code is an error. Response headers are in
49081// either *TargetingTemplatesListResponse.ServerResponse.Header or (if a
49082// response was returned at all) in error.(*googleapi.Error).Header. Use
49083// googleapi.IsNotModified to check whether the returned error was
49084// because http.StatusNotModified was returned.
49085func (c *TargetingTemplatesListCall) Do(opts ...googleapi.CallOption) (*TargetingTemplatesListResponse, error) {
49086	gensupport.SetOptions(c.urlParams_, opts...)
49087	res, err := c.doRequest("json")
49088	if res != nil && res.StatusCode == http.StatusNotModified {
49089		if res.Body != nil {
49090			res.Body.Close()
49091		}
49092		return nil, &googleapi.Error{
49093			Code:   res.StatusCode,
49094			Header: res.Header,
49095		}
49096	}
49097	if err != nil {
49098		return nil, err
49099	}
49100	defer googleapi.CloseBody(res)
49101	if err := googleapi.CheckResponse(res); err != nil {
49102		return nil, err
49103	}
49104	ret := &TargetingTemplatesListResponse{
49105		ServerResponse: googleapi.ServerResponse{
49106			Header:         res.Header,
49107			HTTPStatusCode: res.StatusCode,
49108		},
49109	}
49110	target := &ret
49111	if err := gensupport.DecodeResponse(target, res); err != nil {
49112		return nil, err
49113	}
49114	return ret, nil
49115	// {
49116	//   "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
49117	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
49118	//   "httpMethod": "GET",
49119	//   "id": "dfareporting.targetingTemplates.list",
49120	//   "parameterOrder": [
49121	//     "profileId"
49122	//   ],
49123	//   "parameters": {
49124	//     "advertiserId": {
49125	//       "description": "Select only targeting templates with this advertiser ID.",
49126	//       "format": "int64",
49127	//       "location": "query",
49128	//       "type": "string"
49129	//     },
49130	//     "ids": {
49131	//       "description": "Select only targeting templates with these IDs.",
49132	//       "format": "int64",
49133	//       "location": "query",
49134	//       "repeated": true,
49135	//       "type": "string"
49136	//     },
49137	//     "maxResults": {
49138	//       "default": "1000",
49139	//       "description": "Maximum number of results to return.",
49140	//       "format": "int32",
49141	//       "location": "query",
49142	//       "maximum": "1000",
49143	//       "minimum": "0",
49144	//       "type": "integer"
49145	//     },
49146	//     "pageToken": {
49147	//       "description": "Value of the nextPageToken from the previous result page.",
49148	//       "location": "query",
49149	//       "type": "string"
49150	//     },
49151	//     "profileId": {
49152	//       "description": "User profile ID associated with this request.",
49153	//       "format": "int64",
49154	//       "location": "path",
49155	//       "required": true,
49156	//       "type": "string"
49157	//     },
49158	//     "searchString": {
49159	//       "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\".",
49160	//       "location": "query",
49161	//       "type": "string"
49162	//     },
49163	//     "sortField": {
49164	//       "default": "ID",
49165	//       "description": "Field by which to sort the list.",
49166	//       "enum": [
49167	//         "ID",
49168	//         "NAME"
49169	//       ],
49170	//       "enumDescriptions": [
49171	//         "",
49172	//         ""
49173	//       ],
49174	//       "location": "query",
49175	//       "type": "string"
49176	//     },
49177	//     "sortOrder": {
49178	//       "default": "ASCENDING",
49179	//       "description": "Order of sorted results.",
49180	//       "enum": [
49181	//         "ASCENDING",
49182	//         "DESCENDING"
49183	//       ],
49184	//       "enumDescriptions": [
49185	//         "",
49186	//         ""
49187	//       ],
49188	//       "location": "query",
49189	//       "type": "string"
49190	//     }
49191	//   },
49192	//   "path": "userprofiles/{profileId}/targetingTemplates",
49193	//   "response": {
49194	//     "$ref": "TargetingTemplatesListResponse"
49195	//   },
49196	//   "scopes": [
49197	//     "https://www.googleapis.com/auth/dfatrafficking"
49198	//   ]
49199	// }
49200
49201}
49202
49203// Pages invokes f for each page of results.
49204// A non-nil error returned from f will halt the iteration.
49205// The provided context supersedes any context provided to the Context method.
49206func (c *TargetingTemplatesListCall) Pages(ctx context.Context, f func(*TargetingTemplatesListResponse) error) error {
49207	c.ctx_ = ctx
49208	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
49209	for {
49210		x, err := c.Do()
49211		if err != nil {
49212			return err
49213		}
49214		if err := f(x); err != nil {
49215			return err
49216		}
49217		if x.NextPageToken == "" {
49218			return nil
49219		}
49220		c.PageToken(x.NextPageToken)
49221	}
49222}
49223
49224// method id "dfareporting.targetingTemplates.patch":
49225
49226type TargetingTemplatesPatchCall struct {
49227	s                 *Service
49228	profileId         int64
49229	targetingtemplate *TargetingTemplate
49230	urlParams_        gensupport.URLParams
49231	ctx_              context.Context
49232	header_           http.Header
49233}
49234
49235// Patch: Updates an existing targeting template. This method supports
49236// patch semantics.
49237//
49238// - id: TargetingTemplate ID.
49239// - profileId: User profile ID associated with this request.
49240func (r *TargetingTemplatesService) Patch(profileId int64, id int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
49241	c := &TargetingTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49242	c.profileId = profileId
49243	c.urlParams_.Set("id", fmt.Sprint(id))
49244	c.targetingtemplate = targetingtemplate
49245	return c
49246}
49247
49248// Fields allows partial responses to be retrieved. See
49249// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49250// for more information.
49251func (c *TargetingTemplatesPatchCall) Fields(s ...googleapi.Field) *TargetingTemplatesPatchCall {
49252	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49253	return c
49254}
49255
49256// Context sets the context to be used in this call's Do method. Any
49257// pending HTTP request will be aborted if the provided context is
49258// canceled.
49259func (c *TargetingTemplatesPatchCall) Context(ctx context.Context) *TargetingTemplatesPatchCall {
49260	c.ctx_ = ctx
49261	return c
49262}
49263
49264// Header returns an http.Header that can be modified by the caller to
49265// add HTTP headers to the request.
49266func (c *TargetingTemplatesPatchCall) Header() http.Header {
49267	if c.header_ == nil {
49268		c.header_ = make(http.Header)
49269	}
49270	return c.header_
49271}
49272
49273func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
49274	reqHeaders := make(http.Header)
49275	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
49276	for k, v := range c.header_ {
49277		reqHeaders[k] = v
49278	}
49279	reqHeaders.Set("User-Agent", c.s.userAgent())
49280	var body io.Reader = nil
49281	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
49282	if err != nil {
49283		return nil, err
49284	}
49285	reqHeaders.Set("Content-Type", "application/json")
49286	c.urlParams_.Set("alt", alt)
49287	c.urlParams_.Set("prettyPrint", "false")
49288	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
49289	urls += "?" + c.urlParams_.Encode()
49290	req, err := http.NewRequest("PATCH", urls, body)
49291	if err != nil {
49292		return nil, err
49293	}
49294	req.Header = reqHeaders
49295	googleapi.Expand(req.URL, map[string]string{
49296		"profileId": strconv.FormatInt(c.profileId, 10),
49297	})
49298	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49299}
49300
49301// Do executes the "dfareporting.targetingTemplates.patch" call.
49302// Exactly one of *TargetingTemplate or error will be non-nil. Any
49303// non-2xx status code is an error. Response headers are in either
49304// *TargetingTemplate.ServerResponse.Header or (if a response was
49305// returned at all) in error.(*googleapi.Error).Header. Use
49306// googleapi.IsNotModified to check whether the returned error was
49307// because http.StatusNotModified was returned.
49308func (c *TargetingTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
49309	gensupport.SetOptions(c.urlParams_, opts...)
49310	res, err := c.doRequest("json")
49311	if res != nil && res.StatusCode == http.StatusNotModified {
49312		if res.Body != nil {
49313			res.Body.Close()
49314		}
49315		return nil, &googleapi.Error{
49316			Code:   res.StatusCode,
49317			Header: res.Header,
49318		}
49319	}
49320	if err != nil {
49321		return nil, err
49322	}
49323	defer googleapi.CloseBody(res)
49324	if err := googleapi.CheckResponse(res); err != nil {
49325		return nil, err
49326	}
49327	ret := &TargetingTemplate{
49328		ServerResponse: googleapi.ServerResponse{
49329			Header:         res.Header,
49330			HTTPStatusCode: res.StatusCode,
49331		},
49332	}
49333	target := &ret
49334	if err := gensupport.DecodeResponse(target, res); err != nil {
49335		return nil, err
49336	}
49337	return ret, nil
49338	// {
49339	//   "description": "Updates an existing targeting template. This method supports patch semantics.",
49340	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
49341	//   "httpMethod": "PATCH",
49342	//   "id": "dfareporting.targetingTemplates.patch",
49343	//   "parameterOrder": [
49344	//     "profileId",
49345	//     "id"
49346	//   ],
49347	//   "parameters": {
49348	//     "id": {
49349	//       "description": "TargetingTemplate ID.",
49350	//       "format": "int64",
49351	//       "location": "query",
49352	//       "required": true,
49353	//       "type": "string"
49354	//     },
49355	//     "profileId": {
49356	//       "description": "User profile ID associated with this request.",
49357	//       "format": "int64",
49358	//       "location": "path",
49359	//       "required": true,
49360	//       "type": "string"
49361	//     }
49362	//   },
49363	//   "path": "userprofiles/{profileId}/targetingTemplates",
49364	//   "request": {
49365	//     "$ref": "TargetingTemplate"
49366	//   },
49367	//   "response": {
49368	//     "$ref": "TargetingTemplate"
49369	//   },
49370	//   "scopes": [
49371	//     "https://www.googleapis.com/auth/dfatrafficking"
49372	//   ]
49373	// }
49374
49375}
49376
49377// method id "dfareporting.targetingTemplates.update":
49378
49379type TargetingTemplatesUpdateCall struct {
49380	s                 *Service
49381	profileId         int64
49382	targetingtemplate *TargetingTemplate
49383	urlParams_        gensupport.URLParams
49384	ctx_              context.Context
49385	header_           http.Header
49386}
49387
49388// Update: Updates an existing targeting template.
49389//
49390// - profileId: User profile ID associated with this request.
49391func (r *TargetingTemplatesService) Update(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesUpdateCall {
49392	c := &TargetingTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49393	c.profileId = profileId
49394	c.targetingtemplate = targetingtemplate
49395	return c
49396}
49397
49398// Fields allows partial responses to be retrieved. See
49399// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49400// for more information.
49401func (c *TargetingTemplatesUpdateCall) Fields(s ...googleapi.Field) *TargetingTemplatesUpdateCall {
49402	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49403	return c
49404}
49405
49406// Context sets the context to be used in this call's Do method. Any
49407// pending HTTP request will be aborted if the provided context is
49408// canceled.
49409func (c *TargetingTemplatesUpdateCall) Context(ctx context.Context) *TargetingTemplatesUpdateCall {
49410	c.ctx_ = ctx
49411	return c
49412}
49413
49414// Header returns an http.Header that can be modified by the caller to
49415// add HTTP headers to the request.
49416func (c *TargetingTemplatesUpdateCall) Header() http.Header {
49417	if c.header_ == nil {
49418		c.header_ = make(http.Header)
49419	}
49420	return c.header_
49421}
49422
49423func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
49424	reqHeaders := make(http.Header)
49425	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
49426	for k, v := range c.header_ {
49427		reqHeaders[k] = v
49428	}
49429	reqHeaders.Set("User-Agent", c.s.userAgent())
49430	var body io.Reader = nil
49431	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
49432	if err != nil {
49433		return nil, err
49434	}
49435	reqHeaders.Set("Content-Type", "application/json")
49436	c.urlParams_.Set("alt", alt)
49437	c.urlParams_.Set("prettyPrint", "false")
49438	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
49439	urls += "?" + c.urlParams_.Encode()
49440	req, err := http.NewRequest("PUT", urls, body)
49441	if err != nil {
49442		return nil, err
49443	}
49444	req.Header = reqHeaders
49445	googleapi.Expand(req.URL, map[string]string{
49446		"profileId": strconv.FormatInt(c.profileId, 10),
49447	})
49448	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49449}
49450
49451// Do executes the "dfareporting.targetingTemplates.update" call.
49452// Exactly one of *TargetingTemplate or error will be non-nil. Any
49453// non-2xx status code is an error. Response headers are in either
49454// *TargetingTemplate.ServerResponse.Header or (if a response was
49455// returned at all) in error.(*googleapi.Error).Header. Use
49456// googleapi.IsNotModified to check whether the returned error was
49457// because http.StatusNotModified was returned.
49458func (c *TargetingTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
49459	gensupport.SetOptions(c.urlParams_, opts...)
49460	res, err := c.doRequest("json")
49461	if res != nil && res.StatusCode == http.StatusNotModified {
49462		if res.Body != nil {
49463			res.Body.Close()
49464		}
49465		return nil, &googleapi.Error{
49466			Code:   res.StatusCode,
49467			Header: res.Header,
49468		}
49469	}
49470	if err != nil {
49471		return nil, err
49472	}
49473	defer googleapi.CloseBody(res)
49474	if err := googleapi.CheckResponse(res); err != nil {
49475		return nil, err
49476	}
49477	ret := &TargetingTemplate{
49478		ServerResponse: googleapi.ServerResponse{
49479			Header:         res.Header,
49480			HTTPStatusCode: res.StatusCode,
49481		},
49482	}
49483	target := &ret
49484	if err := gensupport.DecodeResponse(target, res); err != nil {
49485		return nil, err
49486	}
49487	return ret, nil
49488	// {
49489	//   "description": "Updates an existing targeting template.",
49490	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
49491	//   "httpMethod": "PUT",
49492	//   "id": "dfareporting.targetingTemplates.update",
49493	//   "parameterOrder": [
49494	//     "profileId"
49495	//   ],
49496	//   "parameters": {
49497	//     "profileId": {
49498	//       "description": "User profile ID associated with this request.",
49499	//       "format": "int64",
49500	//       "location": "path",
49501	//       "required": true,
49502	//       "type": "string"
49503	//     }
49504	//   },
49505	//   "path": "userprofiles/{profileId}/targetingTemplates",
49506	//   "request": {
49507	//     "$ref": "TargetingTemplate"
49508	//   },
49509	//   "response": {
49510	//     "$ref": "TargetingTemplate"
49511	//   },
49512	//   "scopes": [
49513	//     "https://www.googleapis.com/auth/dfatrafficking"
49514	//   ]
49515	// }
49516
49517}
49518
49519// method id "dfareporting.userProfiles.get":
49520
49521type UserProfilesGetCall struct {
49522	s            *Service
49523	profileId    int64
49524	urlParams_   gensupport.URLParams
49525	ifNoneMatch_ string
49526	ctx_         context.Context
49527	header_      http.Header
49528}
49529
49530// Get: Gets one user profile by ID.
49531//
49532// - profileId: The user profile ID.
49533func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
49534	c := &UserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49535	c.profileId = profileId
49536	return c
49537}
49538
49539// Fields allows partial responses to be retrieved. See
49540// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49541// for more information.
49542func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
49543	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49544	return c
49545}
49546
49547// IfNoneMatch sets the optional parameter which makes the operation
49548// fail if the object's ETag matches the given value. This is useful for
49549// getting updates only after the object has changed since the last
49550// request. Use googleapi.IsNotModified to check whether the response
49551// error from Do is the result of In-None-Match.
49552func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
49553	c.ifNoneMatch_ = entityTag
49554	return c
49555}
49556
49557// Context sets the context to be used in this call's Do method. Any
49558// pending HTTP request will be aborted if the provided context is
49559// canceled.
49560func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
49561	c.ctx_ = ctx
49562	return c
49563}
49564
49565// Header returns an http.Header that can be modified by the caller to
49566// add HTTP headers to the request.
49567func (c *UserProfilesGetCall) Header() http.Header {
49568	if c.header_ == nil {
49569		c.header_ = make(http.Header)
49570	}
49571	return c.header_
49572}
49573
49574func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
49575	reqHeaders := make(http.Header)
49576	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
49577	for k, v := range c.header_ {
49578		reqHeaders[k] = v
49579	}
49580	reqHeaders.Set("User-Agent", c.s.userAgent())
49581	if c.ifNoneMatch_ != "" {
49582		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49583	}
49584	var body io.Reader = nil
49585	c.urlParams_.Set("alt", alt)
49586	c.urlParams_.Set("prettyPrint", "false")
49587	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
49588	urls += "?" + c.urlParams_.Encode()
49589	req, err := http.NewRequest("GET", urls, body)
49590	if err != nil {
49591		return nil, err
49592	}
49593	req.Header = reqHeaders
49594	googleapi.Expand(req.URL, map[string]string{
49595		"profileId": strconv.FormatInt(c.profileId, 10),
49596	})
49597	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49598}
49599
49600// Do executes the "dfareporting.userProfiles.get" call.
49601// Exactly one of *UserProfile or error will be non-nil. Any non-2xx
49602// status code is an error. Response headers are in either
49603// *UserProfile.ServerResponse.Header or (if a response was returned at
49604// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
49605// to check whether the returned error was because
49606// http.StatusNotModified was returned.
49607func (c *UserProfilesGetCall) Do(opts ...googleapi.CallOption) (*UserProfile, error) {
49608	gensupport.SetOptions(c.urlParams_, opts...)
49609	res, err := c.doRequest("json")
49610	if res != nil && res.StatusCode == http.StatusNotModified {
49611		if res.Body != nil {
49612			res.Body.Close()
49613		}
49614		return nil, &googleapi.Error{
49615			Code:   res.StatusCode,
49616			Header: res.Header,
49617		}
49618	}
49619	if err != nil {
49620		return nil, err
49621	}
49622	defer googleapi.CloseBody(res)
49623	if err := googleapi.CheckResponse(res); err != nil {
49624		return nil, err
49625	}
49626	ret := &UserProfile{
49627		ServerResponse: googleapi.ServerResponse{
49628			Header:         res.Header,
49629			HTTPStatusCode: res.StatusCode,
49630		},
49631	}
49632	target := &ret
49633	if err := gensupport.DecodeResponse(target, res); err != nil {
49634		return nil, err
49635	}
49636	return ret, nil
49637	// {
49638	//   "description": "Gets one user profile by ID.",
49639	//   "flatPath": "userprofiles/{profileId}",
49640	//   "httpMethod": "GET",
49641	//   "id": "dfareporting.userProfiles.get",
49642	//   "parameterOrder": [
49643	//     "profileId"
49644	//   ],
49645	//   "parameters": {
49646	//     "profileId": {
49647	//       "description": "The user profile ID.",
49648	//       "format": "int64",
49649	//       "location": "path",
49650	//       "required": true,
49651	//       "type": "string"
49652	//     }
49653	//   },
49654	//   "path": "userprofiles/{profileId}",
49655	//   "response": {
49656	//     "$ref": "UserProfile"
49657	//   },
49658	//   "scopes": [
49659	//     "https://www.googleapis.com/auth/ddmconversions",
49660	//     "https://www.googleapis.com/auth/dfareporting",
49661	//     "https://www.googleapis.com/auth/dfatrafficking"
49662	//   ]
49663	// }
49664
49665}
49666
49667// method id "dfareporting.userProfiles.list":
49668
49669type UserProfilesListCall struct {
49670	s            *Service
49671	urlParams_   gensupport.URLParams
49672	ifNoneMatch_ string
49673	ctx_         context.Context
49674	header_      http.Header
49675}
49676
49677// List: Retrieves list of user profiles for a user.
49678func (r *UserProfilesService) List() *UserProfilesListCall {
49679	c := &UserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49680	return c
49681}
49682
49683// Fields allows partial responses to be retrieved. See
49684// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49685// for more information.
49686func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
49687	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49688	return c
49689}
49690
49691// IfNoneMatch sets the optional parameter which makes the operation
49692// fail if the object's ETag matches the given value. This is useful for
49693// getting updates only after the object has changed since the last
49694// request. Use googleapi.IsNotModified to check whether the response
49695// error from Do is the result of In-None-Match.
49696func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
49697	c.ifNoneMatch_ = entityTag
49698	return c
49699}
49700
49701// Context sets the context to be used in this call's Do method. Any
49702// pending HTTP request will be aborted if the provided context is
49703// canceled.
49704func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
49705	c.ctx_ = ctx
49706	return c
49707}
49708
49709// Header returns an http.Header that can be modified by the caller to
49710// add HTTP headers to the request.
49711func (c *UserProfilesListCall) Header() http.Header {
49712	if c.header_ == nil {
49713		c.header_ = make(http.Header)
49714	}
49715	return c.header_
49716}
49717
49718func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
49719	reqHeaders := make(http.Header)
49720	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
49721	for k, v := range c.header_ {
49722		reqHeaders[k] = v
49723	}
49724	reqHeaders.Set("User-Agent", c.s.userAgent())
49725	if c.ifNoneMatch_ != "" {
49726		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49727	}
49728	var body io.Reader = nil
49729	c.urlParams_.Set("alt", alt)
49730	c.urlParams_.Set("prettyPrint", "false")
49731	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
49732	urls += "?" + c.urlParams_.Encode()
49733	req, err := http.NewRequest("GET", urls, body)
49734	if err != nil {
49735		return nil, err
49736	}
49737	req.Header = reqHeaders
49738	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49739}
49740
49741// Do executes the "dfareporting.userProfiles.list" call.
49742// Exactly one of *UserProfileList or error will be non-nil. Any non-2xx
49743// status code is an error. Response headers are in either
49744// *UserProfileList.ServerResponse.Header or (if a response was returned
49745// at all) in error.(*googleapi.Error).Header. Use
49746// googleapi.IsNotModified to check whether the returned error was
49747// because http.StatusNotModified was returned.
49748func (c *UserProfilesListCall) Do(opts ...googleapi.CallOption) (*UserProfileList, error) {
49749	gensupport.SetOptions(c.urlParams_, opts...)
49750	res, err := c.doRequest("json")
49751	if res != nil && res.StatusCode == http.StatusNotModified {
49752		if res.Body != nil {
49753			res.Body.Close()
49754		}
49755		return nil, &googleapi.Error{
49756			Code:   res.StatusCode,
49757			Header: res.Header,
49758		}
49759	}
49760	if err != nil {
49761		return nil, err
49762	}
49763	defer googleapi.CloseBody(res)
49764	if err := googleapi.CheckResponse(res); err != nil {
49765		return nil, err
49766	}
49767	ret := &UserProfileList{
49768		ServerResponse: googleapi.ServerResponse{
49769			Header:         res.Header,
49770			HTTPStatusCode: res.StatusCode,
49771		},
49772	}
49773	target := &ret
49774	if err := gensupport.DecodeResponse(target, res); err != nil {
49775		return nil, err
49776	}
49777	return ret, nil
49778	// {
49779	//   "description": "Retrieves list of user profiles for a user.",
49780	//   "flatPath": "userprofiles",
49781	//   "httpMethod": "GET",
49782	//   "id": "dfareporting.userProfiles.list",
49783	//   "parameterOrder": [],
49784	//   "parameters": {},
49785	//   "path": "userprofiles",
49786	//   "response": {
49787	//     "$ref": "UserProfileList"
49788	//   },
49789	//   "scopes": [
49790	//     "https://www.googleapis.com/auth/ddmconversions",
49791	//     "https://www.googleapis.com/auth/dfareporting",
49792	//     "https://www.googleapis.com/auth/dfatrafficking"
49793	//   ]
49794	// }
49795
49796}
49797
49798// method id "dfareporting.userRolePermissionGroups.get":
49799
49800type UserRolePermissionGroupsGetCall struct {
49801	s            *Service
49802	profileId    int64
49803	id           int64
49804	urlParams_   gensupport.URLParams
49805	ifNoneMatch_ string
49806	ctx_         context.Context
49807	header_      http.Header
49808}
49809
49810// Get: Gets one user role permission group by ID.
49811//
49812// - id: User role permission group ID.
49813// - profileId: User profile ID associated with this request.
49814func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
49815	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49816	c.profileId = profileId
49817	c.id = id
49818	return c
49819}
49820
49821// Fields allows partial responses to be retrieved. See
49822// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49823// for more information.
49824func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
49825	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49826	return c
49827}
49828
49829// IfNoneMatch sets the optional parameter which makes the operation
49830// fail if the object's ETag matches the given value. This is useful for
49831// getting updates only after the object has changed since the last
49832// request. Use googleapi.IsNotModified to check whether the response
49833// error from Do is the result of In-None-Match.
49834func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
49835	c.ifNoneMatch_ = entityTag
49836	return c
49837}
49838
49839// Context sets the context to be used in this call's Do method. Any
49840// pending HTTP request will be aborted if the provided context is
49841// canceled.
49842func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
49843	c.ctx_ = ctx
49844	return c
49845}
49846
49847// Header returns an http.Header that can be modified by the caller to
49848// add HTTP headers to the request.
49849func (c *UserRolePermissionGroupsGetCall) Header() http.Header {
49850	if c.header_ == nil {
49851		c.header_ = make(http.Header)
49852	}
49853	return c.header_
49854}
49855
49856func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
49857	reqHeaders := make(http.Header)
49858	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
49859	for k, v := range c.header_ {
49860		reqHeaders[k] = v
49861	}
49862	reqHeaders.Set("User-Agent", c.s.userAgent())
49863	if c.ifNoneMatch_ != "" {
49864		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49865	}
49866	var body io.Reader = nil
49867	c.urlParams_.Set("alt", alt)
49868	c.urlParams_.Set("prettyPrint", "false")
49869	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
49870	urls += "?" + c.urlParams_.Encode()
49871	req, err := http.NewRequest("GET", urls, body)
49872	if err != nil {
49873		return nil, err
49874	}
49875	req.Header = reqHeaders
49876	googleapi.Expand(req.URL, map[string]string{
49877		"profileId": strconv.FormatInt(c.profileId, 10),
49878		"id":        strconv.FormatInt(c.id, 10),
49879	})
49880	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49881}
49882
49883// Do executes the "dfareporting.userRolePermissionGroups.get" call.
49884// Exactly one of *UserRolePermissionGroup or error will be non-nil. Any
49885// non-2xx status code is an error. Response headers are in either
49886// *UserRolePermissionGroup.ServerResponse.Header or (if a response was
49887// returned at all) in error.(*googleapi.Error).Header. Use
49888// googleapi.IsNotModified to check whether the returned error was
49889// because http.StatusNotModified was returned.
49890func (c *UserRolePermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroup, error) {
49891	gensupport.SetOptions(c.urlParams_, opts...)
49892	res, err := c.doRequest("json")
49893	if res != nil && res.StatusCode == http.StatusNotModified {
49894		if res.Body != nil {
49895			res.Body.Close()
49896		}
49897		return nil, &googleapi.Error{
49898			Code:   res.StatusCode,
49899			Header: res.Header,
49900		}
49901	}
49902	if err != nil {
49903		return nil, err
49904	}
49905	defer googleapi.CloseBody(res)
49906	if err := googleapi.CheckResponse(res); err != nil {
49907		return nil, err
49908	}
49909	ret := &UserRolePermissionGroup{
49910		ServerResponse: googleapi.ServerResponse{
49911			Header:         res.Header,
49912			HTTPStatusCode: res.StatusCode,
49913		},
49914	}
49915	target := &ret
49916	if err := gensupport.DecodeResponse(target, res); err != nil {
49917		return nil, err
49918	}
49919	return ret, nil
49920	// {
49921	//   "description": "Gets one user role permission group by ID.",
49922	//   "flatPath": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
49923	//   "httpMethod": "GET",
49924	//   "id": "dfareporting.userRolePermissionGroups.get",
49925	//   "parameterOrder": [
49926	//     "profileId",
49927	//     "id"
49928	//   ],
49929	//   "parameters": {
49930	//     "id": {
49931	//       "description": "User role permission group ID.",
49932	//       "format": "int64",
49933	//       "location": "path",
49934	//       "required": true,
49935	//       "type": "string"
49936	//     },
49937	//     "profileId": {
49938	//       "description": "User profile ID associated with this request.",
49939	//       "format": "int64",
49940	//       "location": "path",
49941	//       "required": true,
49942	//       "type": "string"
49943	//     }
49944	//   },
49945	//   "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
49946	//   "response": {
49947	//     "$ref": "UserRolePermissionGroup"
49948	//   },
49949	//   "scopes": [
49950	//     "https://www.googleapis.com/auth/dfatrafficking"
49951	//   ]
49952	// }
49953
49954}
49955
49956// method id "dfareporting.userRolePermissionGroups.list":
49957
49958type UserRolePermissionGroupsListCall struct {
49959	s            *Service
49960	profileId    int64
49961	urlParams_   gensupport.URLParams
49962	ifNoneMatch_ string
49963	ctx_         context.Context
49964	header_      http.Header
49965}
49966
49967// List: Gets a list of all supported user role permission groups.
49968//
49969// - profileId: User profile ID associated with this request.
49970func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
49971	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49972	c.profileId = profileId
49973	return c
49974}
49975
49976// Fields allows partial responses to be retrieved. See
49977// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49978// for more information.
49979func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
49980	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49981	return c
49982}
49983
49984// IfNoneMatch sets the optional parameter which makes the operation
49985// fail if the object's ETag matches the given value. This is useful for
49986// getting updates only after the object has changed since the last
49987// request. Use googleapi.IsNotModified to check whether the response
49988// error from Do is the result of In-None-Match.
49989func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
49990	c.ifNoneMatch_ = entityTag
49991	return c
49992}
49993
49994// Context sets the context to be used in this call's Do method. Any
49995// pending HTTP request will be aborted if the provided context is
49996// canceled.
49997func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
49998	c.ctx_ = ctx
49999	return c
50000}
50001
50002// Header returns an http.Header that can be modified by the caller to
50003// add HTTP headers to the request.
50004func (c *UserRolePermissionGroupsListCall) Header() http.Header {
50005	if c.header_ == nil {
50006		c.header_ = make(http.Header)
50007	}
50008	return c.header_
50009}
50010
50011func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
50012	reqHeaders := make(http.Header)
50013	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
50014	for k, v := range c.header_ {
50015		reqHeaders[k] = v
50016	}
50017	reqHeaders.Set("User-Agent", c.s.userAgent())
50018	if c.ifNoneMatch_ != "" {
50019		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50020	}
50021	var body io.Reader = nil
50022	c.urlParams_.Set("alt", alt)
50023	c.urlParams_.Set("prettyPrint", "false")
50024	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
50025	urls += "?" + c.urlParams_.Encode()
50026	req, err := http.NewRequest("GET", urls, body)
50027	if err != nil {
50028		return nil, err
50029	}
50030	req.Header = reqHeaders
50031	googleapi.Expand(req.URL, map[string]string{
50032		"profileId": strconv.FormatInt(c.profileId, 10),
50033	})
50034	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50035}
50036
50037// Do executes the "dfareporting.userRolePermissionGroups.list" call.
50038// Exactly one of *UserRolePermissionGroupsListResponse or error will be
50039// non-nil. Any non-2xx status code is an error. Response headers are in
50040// either *UserRolePermissionGroupsListResponse.ServerResponse.Header or
50041// (if a response was returned at all) in
50042// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
50043// whether the returned error was because http.StatusNotModified was
50044// returned.
50045func (c *UserRolePermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroupsListResponse, error) {
50046	gensupport.SetOptions(c.urlParams_, opts...)
50047	res, err := c.doRequest("json")
50048	if res != nil && res.StatusCode == http.StatusNotModified {
50049		if res.Body != nil {
50050			res.Body.Close()
50051		}
50052		return nil, &googleapi.Error{
50053			Code:   res.StatusCode,
50054			Header: res.Header,
50055		}
50056	}
50057	if err != nil {
50058		return nil, err
50059	}
50060	defer googleapi.CloseBody(res)
50061	if err := googleapi.CheckResponse(res); err != nil {
50062		return nil, err
50063	}
50064	ret := &UserRolePermissionGroupsListResponse{
50065		ServerResponse: googleapi.ServerResponse{
50066			Header:         res.Header,
50067			HTTPStatusCode: res.StatusCode,
50068		},
50069	}
50070	target := &ret
50071	if err := gensupport.DecodeResponse(target, res); err != nil {
50072		return nil, err
50073	}
50074	return ret, nil
50075	// {
50076	//   "description": "Gets a list of all supported user role permission groups.",
50077	//   "flatPath": "userprofiles/{profileId}/userRolePermissionGroups",
50078	//   "httpMethod": "GET",
50079	//   "id": "dfareporting.userRolePermissionGroups.list",
50080	//   "parameterOrder": [
50081	//     "profileId"
50082	//   ],
50083	//   "parameters": {
50084	//     "profileId": {
50085	//       "description": "User profile ID associated with this request.",
50086	//       "format": "int64",
50087	//       "location": "path",
50088	//       "required": true,
50089	//       "type": "string"
50090	//     }
50091	//   },
50092	//   "path": "userprofiles/{profileId}/userRolePermissionGroups",
50093	//   "response": {
50094	//     "$ref": "UserRolePermissionGroupsListResponse"
50095	//   },
50096	//   "scopes": [
50097	//     "https://www.googleapis.com/auth/dfatrafficking"
50098	//   ]
50099	// }
50100
50101}
50102
50103// method id "dfareporting.userRolePermissions.get":
50104
50105type UserRolePermissionsGetCall struct {
50106	s            *Service
50107	profileId    int64
50108	id           int64
50109	urlParams_   gensupport.URLParams
50110	ifNoneMatch_ string
50111	ctx_         context.Context
50112	header_      http.Header
50113}
50114
50115// Get: Gets one user role permission by ID.
50116//
50117// - id: User role permission ID.
50118// - profileId: User profile ID associated with this request.
50119func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
50120	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50121	c.profileId = profileId
50122	c.id = id
50123	return c
50124}
50125
50126// Fields allows partial responses to be retrieved. See
50127// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50128// for more information.
50129func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
50130	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50131	return c
50132}
50133
50134// IfNoneMatch sets the optional parameter which makes the operation
50135// fail if the object's ETag matches the given value. This is useful for
50136// getting updates only after the object has changed since the last
50137// request. Use googleapi.IsNotModified to check whether the response
50138// error from Do is the result of In-None-Match.
50139func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
50140	c.ifNoneMatch_ = entityTag
50141	return c
50142}
50143
50144// Context sets the context to be used in this call's Do method. Any
50145// pending HTTP request will be aborted if the provided context is
50146// canceled.
50147func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
50148	c.ctx_ = ctx
50149	return c
50150}
50151
50152// Header returns an http.Header that can be modified by the caller to
50153// add HTTP headers to the request.
50154func (c *UserRolePermissionsGetCall) Header() http.Header {
50155	if c.header_ == nil {
50156		c.header_ = make(http.Header)
50157	}
50158	return c.header_
50159}
50160
50161func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
50162	reqHeaders := make(http.Header)
50163	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
50164	for k, v := range c.header_ {
50165		reqHeaders[k] = v
50166	}
50167	reqHeaders.Set("User-Agent", c.s.userAgent())
50168	if c.ifNoneMatch_ != "" {
50169		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50170	}
50171	var body io.Reader = nil
50172	c.urlParams_.Set("alt", alt)
50173	c.urlParams_.Set("prettyPrint", "false")
50174	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
50175	urls += "?" + c.urlParams_.Encode()
50176	req, err := http.NewRequest("GET", urls, body)
50177	if err != nil {
50178		return nil, err
50179	}
50180	req.Header = reqHeaders
50181	googleapi.Expand(req.URL, map[string]string{
50182		"profileId": strconv.FormatInt(c.profileId, 10),
50183		"id":        strconv.FormatInt(c.id, 10),
50184	})
50185	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50186}
50187
50188// Do executes the "dfareporting.userRolePermissions.get" call.
50189// Exactly one of *UserRolePermission or error will be non-nil. Any
50190// non-2xx status code is an error. Response headers are in either
50191// *UserRolePermission.ServerResponse.Header or (if a response was
50192// returned at all) in error.(*googleapi.Error).Header. Use
50193// googleapi.IsNotModified to check whether the returned error was
50194// because http.StatusNotModified was returned.
50195func (c *UserRolePermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermission, error) {
50196	gensupport.SetOptions(c.urlParams_, opts...)
50197	res, err := c.doRequest("json")
50198	if res != nil && res.StatusCode == http.StatusNotModified {
50199		if res.Body != nil {
50200			res.Body.Close()
50201		}
50202		return nil, &googleapi.Error{
50203			Code:   res.StatusCode,
50204			Header: res.Header,
50205		}
50206	}
50207	if err != nil {
50208		return nil, err
50209	}
50210	defer googleapi.CloseBody(res)
50211	if err := googleapi.CheckResponse(res); err != nil {
50212		return nil, err
50213	}
50214	ret := &UserRolePermission{
50215		ServerResponse: googleapi.ServerResponse{
50216			Header:         res.Header,
50217			HTTPStatusCode: res.StatusCode,
50218		},
50219	}
50220	target := &ret
50221	if err := gensupport.DecodeResponse(target, res); err != nil {
50222		return nil, err
50223	}
50224	return ret, nil
50225	// {
50226	//   "description": "Gets one user role permission by ID.",
50227	//   "flatPath": "userprofiles/{profileId}/userRolePermissions/{id}",
50228	//   "httpMethod": "GET",
50229	//   "id": "dfareporting.userRolePermissions.get",
50230	//   "parameterOrder": [
50231	//     "profileId",
50232	//     "id"
50233	//   ],
50234	//   "parameters": {
50235	//     "id": {
50236	//       "description": "User role permission ID.",
50237	//       "format": "int64",
50238	//       "location": "path",
50239	//       "required": true,
50240	//       "type": "string"
50241	//     },
50242	//     "profileId": {
50243	//       "description": "User profile ID associated with this request.",
50244	//       "format": "int64",
50245	//       "location": "path",
50246	//       "required": true,
50247	//       "type": "string"
50248	//     }
50249	//   },
50250	//   "path": "userprofiles/{profileId}/userRolePermissions/{id}",
50251	//   "response": {
50252	//     "$ref": "UserRolePermission"
50253	//   },
50254	//   "scopes": [
50255	//     "https://www.googleapis.com/auth/dfatrafficking"
50256	//   ]
50257	// }
50258
50259}
50260
50261// method id "dfareporting.userRolePermissions.list":
50262
50263type UserRolePermissionsListCall struct {
50264	s            *Service
50265	profileId    int64
50266	urlParams_   gensupport.URLParams
50267	ifNoneMatch_ string
50268	ctx_         context.Context
50269	header_      http.Header
50270}
50271
50272// List: Gets a list of user role permissions, possibly filtered.
50273//
50274// - profileId: User profile ID associated with this request.
50275func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
50276	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50277	c.profileId = profileId
50278	return c
50279}
50280
50281// Ids sets the optional parameter "ids": Select only user role
50282// permissions with these IDs.
50283func (c *UserRolePermissionsListCall) Ids(ids ...int64) *UserRolePermissionsListCall {
50284	var ids_ []string
50285	for _, v := range ids {
50286		ids_ = append(ids_, fmt.Sprint(v))
50287	}
50288	c.urlParams_.SetMulti("ids", ids_)
50289	return c
50290}
50291
50292// Fields allows partial responses to be retrieved. See
50293// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50294// for more information.
50295func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
50296	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50297	return c
50298}
50299
50300// IfNoneMatch sets the optional parameter which makes the operation
50301// fail if the object's ETag matches the given value. This is useful for
50302// getting updates only after the object has changed since the last
50303// request. Use googleapi.IsNotModified to check whether the response
50304// error from Do is the result of In-None-Match.
50305func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
50306	c.ifNoneMatch_ = entityTag
50307	return c
50308}
50309
50310// Context sets the context to be used in this call's Do method. Any
50311// pending HTTP request will be aborted if the provided context is
50312// canceled.
50313func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
50314	c.ctx_ = ctx
50315	return c
50316}
50317
50318// Header returns an http.Header that can be modified by the caller to
50319// add HTTP headers to the request.
50320func (c *UserRolePermissionsListCall) Header() http.Header {
50321	if c.header_ == nil {
50322		c.header_ = make(http.Header)
50323	}
50324	return c.header_
50325}
50326
50327func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
50328	reqHeaders := make(http.Header)
50329	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
50330	for k, v := range c.header_ {
50331		reqHeaders[k] = v
50332	}
50333	reqHeaders.Set("User-Agent", c.s.userAgent())
50334	if c.ifNoneMatch_ != "" {
50335		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50336	}
50337	var body io.Reader = nil
50338	c.urlParams_.Set("alt", alt)
50339	c.urlParams_.Set("prettyPrint", "false")
50340	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
50341	urls += "?" + c.urlParams_.Encode()
50342	req, err := http.NewRequest("GET", urls, body)
50343	if err != nil {
50344		return nil, err
50345	}
50346	req.Header = reqHeaders
50347	googleapi.Expand(req.URL, map[string]string{
50348		"profileId": strconv.FormatInt(c.profileId, 10),
50349	})
50350	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50351}
50352
50353// Do executes the "dfareporting.userRolePermissions.list" call.
50354// Exactly one of *UserRolePermissionsListResponse or error will be
50355// non-nil. Any non-2xx status code is an error. Response headers are in
50356// either *UserRolePermissionsListResponse.ServerResponse.Header or (if
50357// a response was returned at all) in error.(*googleapi.Error).Header.
50358// Use googleapi.IsNotModified to check whether the returned error was
50359// because http.StatusNotModified was returned.
50360func (c *UserRolePermissionsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionsListResponse, error) {
50361	gensupport.SetOptions(c.urlParams_, opts...)
50362	res, err := c.doRequest("json")
50363	if res != nil && res.StatusCode == http.StatusNotModified {
50364		if res.Body != nil {
50365			res.Body.Close()
50366		}
50367		return nil, &googleapi.Error{
50368			Code:   res.StatusCode,
50369			Header: res.Header,
50370		}
50371	}
50372	if err != nil {
50373		return nil, err
50374	}
50375	defer googleapi.CloseBody(res)
50376	if err := googleapi.CheckResponse(res); err != nil {
50377		return nil, err
50378	}
50379	ret := &UserRolePermissionsListResponse{
50380		ServerResponse: googleapi.ServerResponse{
50381			Header:         res.Header,
50382			HTTPStatusCode: res.StatusCode,
50383		},
50384	}
50385	target := &ret
50386	if err := gensupport.DecodeResponse(target, res); err != nil {
50387		return nil, err
50388	}
50389	return ret, nil
50390	// {
50391	//   "description": "Gets a list of user role permissions, possibly filtered.",
50392	//   "flatPath": "userprofiles/{profileId}/userRolePermissions",
50393	//   "httpMethod": "GET",
50394	//   "id": "dfareporting.userRolePermissions.list",
50395	//   "parameterOrder": [
50396	//     "profileId"
50397	//   ],
50398	//   "parameters": {
50399	//     "ids": {
50400	//       "description": "Select only user role permissions with these IDs.",
50401	//       "format": "int64",
50402	//       "location": "query",
50403	//       "repeated": true,
50404	//       "type": "string"
50405	//     },
50406	//     "profileId": {
50407	//       "description": "User profile ID associated with this request.",
50408	//       "format": "int64",
50409	//       "location": "path",
50410	//       "required": true,
50411	//       "type": "string"
50412	//     }
50413	//   },
50414	//   "path": "userprofiles/{profileId}/userRolePermissions",
50415	//   "response": {
50416	//     "$ref": "UserRolePermissionsListResponse"
50417	//   },
50418	//   "scopes": [
50419	//     "https://www.googleapis.com/auth/dfatrafficking"
50420	//   ]
50421	// }
50422
50423}
50424
50425// method id "dfareporting.userRoles.delete":
50426
50427type UserRolesDeleteCall struct {
50428	s          *Service
50429	profileId  int64
50430	id         int64
50431	urlParams_ gensupport.URLParams
50432	ctx_       context.Context
50433	header_    http.Header
50434}
50435
50436// Delete: Deletes an existing user role.
50437//
50438// - id: User role ID.
50439// - profileId: User profile ID associated with this request.
50440func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
50441	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50442	c.profileId = profileId
50443	c.id = id
50444	return c
50445}
50446
50447// Fields allows partial responses to be retrieved. See
50448// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50449// for more information.
50450func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
50451	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50452	return c
50453}
50454
50455// Context sets the context to be used in this call's Do method. Any
50456// pending HTTP request will be aborted if the provided context is
50457// canceled.
50458func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
50459	c.ctx_ = ctx
50460	return c
50461}
50462
50463// Header returns an http.Header that can be modified by the caller to
50464// add HTTP headers to the request.
50465func (c *UserRolesDeleteCall) Header() http.Header {
50466	if c.header_ == nil {
50467		c.header_ = make(http.Header)
50468	}
50469	return c.header_
50470}
50471
50472func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
50473	reqHeaders := make(http.Header)
50474	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
50475	for k, v := range c.header_ {
50476		reqHeaders[k] = v
50477	}
50478	reqHeaders.Set("User-Agent", c.s.userAgent())
50479	var body io.Reader = nil
50480	c.urlParams_.Set("alt", alt)
50481	c.urlParams_.Set("prettyPrint", "false")
50482	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
50483	urls += "?" + c.urlParams_.Encode()
50484	req, err := http.NewRequest("DELETE", urls, body)
50485	if err != nil {
50486		return nil, err
50487	}
50488	req.Header = reqHeaders
50489	googleapi.Expand(req.URL, map[string]string{
50490		"profileId": strconv.FormatInt(c.profileId, 10),
50491		"id":        strconv.FormatInt(c.id, 10),
50492	})
50493	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50494}
50495
50496// Do executes the "dfareporting.userRoles.delete" call.
50497func (c *UserRolesDeleteCall) Do(opts ...googleapi.CallOption) error {
50498	gensupport.SetOptions(c.urlParams_, opts...)
50499	res, err := c.doRequest("json")
50500	if err != nil {
50501		return err
50502	}
50503	defer googleapi.CloseBody(res)
50504	if err := googleapi.CheckResponse(res); err != nil {
50505		return err
50506	}
50507	return nil
50508	// {
50509	//   "description": "Deletes an existing user role.",
50510	//   "flatPath": "userprofiles/{profileId}/userRoles/{id}",
50511	//   "httpMethod": "DELETE",
50512	//   "id": "dfareporting.userRoles.delete",
50513	//   "parameterOrder": [
50514	//     "profileId",
50515	//     "id"
50516	//   ],
50517	//   "parameters": {
50518	//     "id": {
50519	//       "description": "User role ID.",
50520	//       "format": "int64",
50521	//       "location": "path",
50522	//       "required": true,
50523	//       "type": "string"
50524	//     },
50525	//     "profileId": {
50526	//       "description": "User profile ID associated with this request.",
50527	//       "format": "int64",
50528	//       "location": "path",
50529	//       "required": true,
50530	//       "type": "string"
50531	//     }
50532	//   },
50533	//   "path": "userprofiles/{profileId}/userRoles/{id}",
50534	//   "scopes": [
50535	//     "https://www.googleapis.com/auth/dfatrafficking"
50536	//   ]
50537	// }
50538
50539}
50540
50541// method id "dfareporting.userRoles.get":
50542
50543type UserRolesGetCall struct {
50544	s            *Service
50545	profileId    int64
50546	id           int64
50547	urlParams_   gensupport.URLParams
50548	ifNoneMatch_ string
50549	ctx_         context.Context
50550	header_      http.Header
50551}
50552
50553// Get: Gets one user role by ID.
50554//
50555// - id: User role ID.
50556// - profileId: User profile ID associated with this request.
50557func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
50558	c := &UserRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50559	c.profileId = profileId
50560	c.id = id
50561	return c
50562}
50563
50564// Fields allows partial responses to be retrieved. See
50565// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50566// for more information.
50567func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
50568	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50569	return c
50570}
50571
50572// IfNoneMatch sets the optional parameter which makes the operation
50573// fail if the object's ETag matches the given value. This is useful for
50574// getting updates only after the object has changed since the last
50575// request. Use googleapi.IsNotModified to check whether the response
50576// error from Do is the result of In-None-Match.
50577func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
50578	c.ifNoneMatch_ = entityTag
50579	return c
50580}
50581
50582// Context sets the context to be used in this call's Do method. Any
50583// pending HTTP request will be aborted if the provided context is
50584// canceled.
50585func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
50586	c.ctx_ = ctx
50587	return c
50588}
50589
50590// Header returns an http.Header that can be modified by the caller to
50591// add HTTP headers to the request.
50592func (c *UserRolesGetCall) Header() http.Header {
50593	if c.header_ == nil {
50594		c.header_ = make(http.Header)
50595	}
50596	return c.header_
50597}
50598
50599func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
50600	reqHeaders := make(http.Header)
50601	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
50602	for k, v := range c.header_ {
50603		reqHeaders[k] = v
50604	}
50605	reqHeaders.Set("User-Agent", c.s.userAgent())
50606	if c.ifNoneMatch_ != "" {
50607		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50608	}
50609	var body io.Reader = nil
50610	c.urlParams_.Set("alt", alt)
50611	c.urlParams_.Set("prettyPrint", "false")
50612	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
50613	urls += "?" + c.urlParams_.Encode()
50614	req, err := http.NewRequest("GET", urls, body)
50615	if err != nil {
50616		return nil, err
50617	}
50618	req.Header = reqHeaders
50619	googleapi.Expand(req.URL, map[string]string{
50620		"profileId": strconv.FormatInt(c.profileId, 10),
50621		"id":        strconv.FormatInt(c.id, 10),
50622	})
50623	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50624}
50625
50626// Do executes the "dfareporting.userRoles.get" call.
50627// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50628// code is an error. Response headers are in either
50629// *UserRole.ServerResponse.Header or (if a response was returned at
50630// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50631// to check whether the returned error was because
50632// http.StatusNotModified was returned.
50633func (c *UserRolesGetCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50634	gensupport.SetOptions(c.urlParams_, opts...)
50635	res, err := c.doRequest("json")
50636	if res != nil && res.StatusCode == http.StatusNotModified {
50637		if res.Body != nil {
50638			res.Body.Close()
50639		}
50640		return nil, &googleapi.Error{
50641			Code:   res.StatusCode,
50642			Header: res.Header,
50643		}
50644	}
50645	if err != nil {
50646		return nil, err
50647	}
50648	defer googleapi.CloseBody(res)
50649	if err := googleapi.CheckResponse(res); err != nil {
50650		return nil, err
50651	}
50652	ret := &UserRole{
50653		ServerResponse: googleapi.ServerResponse{
50654			Header:         res.Header,
50655			HTTPStatusCode: res.StatusCode,
50656		},
50657	}
50658	target := &ret
50659	if err := gensupport.DecodeResponse(target, res); err != nil {
50660		return nil, err
50661	}
50662	return ret, nil
50663	// {
50664	//   "description": "Gets one user role by ID.",
50665	//   "flatPath": "userprofiles/{profileId}/userRoles/{id}",
50666	//   "httpMethod": "GET",
50667	//   "id": "dfareporting.userRoles.get",
50668	//   "parameterOrder": [
50669	//     "profileId",
50670	//     "id"
50671	//   ],
50672	//   "parameters": {
50673	//     "id": {
50674	//       "description": "User role ID.",
50675	//       "format": "int64",
50676	//       "location": "path",
50677	//       "required": true,
50678	//       "type": "string"
50679	//     },
50680	//     "profileId": {
50681	//       "description": "User profile ID associated with this request.",
50682	//       "format": "int64",
50683	//       "location": "path",
50684	//       "required": true,
50685	//       "type": "string"
50686	//     }
50687	//   },
50688	//   "path": "userprofiles/{profileId}/userRoles/{id}",
50689	//   "response": {
50690	//     "$ref": "UserRole"
50691	//   },
50692	//   "scopes": [
50693	//     "https://www.googleapis.com/auth/dfatrafficking"
50694	//   ]
50695	// }
50696
50697}
50698
50699// method id "dfareporting.userRoles.insert":
50700
50701type UserRolesInsertCall struct {
50702	s          *Service
50703	profileId  int64
50704	userrole   *UserRole
50705	urlParams_ gensupport.URLParams
50706	ctx_       context.Context
50707	header_    http.Header
50708}
50709
50710// Insert: Inserts a new user role.
50711//
50712// - profileId: User profile ID associated with this request.
50713func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
50714	c := &UserRolesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50715	c.profileId = profileId
50716	c.userrole = userrole
50717	return c
50718}
50719
50720// Fields allows partial responses to be retrieved. See
50721// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50722// for more information.
50723func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
50724	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50725	return c
50726}
50727
50728// Context sets the context to be used in this call's Do method. Any
50729// pending HTTP request will be aborted if the provided context is
50730// canceled.
50731func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
50732	c.ctx_ = ctx
50733	return c
50734}
50735
50736// Header returns an http.Header that can be modified by the caller to
50737// add HTTP headers to the request.
50738func (c *UserRolesInsertCall) Header() http.Header {
50739	if c.header_ == nil {
50740		c.header_ = make(http.Header)
50741	}
50742	return c.header_
50743}
50744
50745func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
50746	reqHeaders := make(http.Header)
50747	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
50748	for k, v := range c.header_ {
50749		reqHeaders[k] = v
50750	}
50751	reqHeaders.Set("User-Agent", c.s.userAgent())
50752	var body io.Reader = nil
50753	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
50754	if err != nil {
50755		return nil, err
50756	}
50757	reqHeaders.Set("Content-Type", "application/json")
50758	c.urlParams_.Set("alt", alt)
50759	c.urlParams_.Set("prettyPrint", "false")
50760	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50761	urls += "?" + c.urlParams_.Encode()
50762	req, err := http.NewRequest("POST", urls, body)
50763	if err != nil {
50764		return nil, err
50765	}
50766	req.Header = reqHeaders
50767	googleapi.Expand(req.URL, map[string]string{
50768		"profileId": strconv.FormatInt(c.profileId, 10),
50769	})
50770	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50771}
50772
50773// Do executes the "dfareporting.userRoles.insert" call.
50774// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50775// code is an error. Response headers are in either
50776// *UserRole.ServerResponse.Header or (if a response was returned at
50777// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50778// to check whether the returned error was because
50779// http.StatusNotModified was returned.
50780func (c *UserRolesInsertCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50781	gensupport.SetOptions(c.urlParams_, opts...)
50782	res, err := c.doRequest("json")
50783	if res != nil && res.StatusCode == http.StatusNotModified {
50784		if res.Body != nil {
50785			res.Body.Close()
50786		}
50787		return nil, &googleapi.Error{
50788			Code:   res.StatusCode,
50789			Header: res.Header,
50790		}
50791	}
50792	if err != nil {
50793		return nil, err
50794	}
50795	defer googleapi.CloseBody(res)
50796	if err := googleapi.CheckResponse(res); err != nil {
50797		return nil, err
50798	}
50799	ret := &UserRole{
50800		ServerResponse: googleapi.ServerResponse{
50801			Header:         res.Header,
50802			HTTPStatusCode: res.StatusCode,
50803		},
50804	}
50805	target := &ret
50806	if err := gensupport.DecodeResponse(target, res); err != nil {
50807		return nil, err
50808	}
50809	return ret, nil
50810	// {
50811	//   "description": "Inserts a new user role.",
50812	//   "flatPath": "userprofiles/{profileId}/userRoles",
50813	//   "httpMethod": "POST",
50814	//   "id": "dfareporting.userRoles.insert",
50815	//   "parameterOrder": [
50816	//     "profileId"
50817	//   ],
50818	//   "parameters": {
50819	//     "profileId": {
50820	//       "description": "User profile ID associated with this request.",
50821	//       "format": "int64",
50822	//       "location": "path",
50823	//       "required": true,
50824	//       "type": "string"
50825	//     }
50826	//   },
50827	//   "path": "userprofiles/{profileId}/userRoles",
50828	//   "request": {
50829	//     "$ref": "UserRole"
50830	//   },
50831	//   "response": {
50832	//     "$ref": "UserRole"
50833	//   },
50834	//   "scopes": [
50835	//     "https://www.googleapis.com/auth/dfatrafficking"
50836	//   ]
50837	// }
50838
50839}
50840
50841// method id "dfareporting.userRoles.list":
50842
50843type UserRolesListCall struct {
50844	s            *Service
50845	profileId    int64
50846	urlParams_   gensupport.URLParams
50847	ifNoneMatch_ string
50848	ctx_         context.Context
50849	header_      http.Header
50850}
50851
50852// List: Retrieves a list of user roles, possibly filtered. This method
50853// supports paging.
50854//
50855// - profileId: User profile ID associated with this request.
50856func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
50857	c := &UserRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50858	c.profileId = profileId
50859	return c
50860}
50861
50862// AccountUserRoleOnly sets the optional parameter
50863// "accountUserRoleOnly": Select only account level user roles not
50864// associated with any specific subaccount.
50865func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
50866	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprint(accountUserRoleOnly))
50867	return c
50868}
50869
50870// Ids sets the optional parameter "ids": Select only user roles with
50871// the specified IDs.
50872func (c *UserRolesListCall) Ids(ids ...int64) *UserRolesListCall {
50873	var ids_ []string
50874	for _, v := range ids {
50875		ids_ = append(ids_, fmt.Sprint(v))
50876	}
50877	c.urlParams_.SetMulti("ids", ids_)
50878	return c
50879}
50880
50881// MaxResults sets the optional parameter "maxResults": Maximum number
50882// of results to return.
50883func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
50884	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
50885	return c
50886}
50887
50888// PageToken sets the optional parameter "pageToken": Value of the
50889// nextPageToken from the previous result page.
50890func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
50891	c.urlParams_.Set("pageToken", pageToken)
50892	return c
50893}
50894
50895// SearchString sets the optional parameter "searchString": Allows
50896// searching for objects by name or ID. Wildcards (*) are allowed. For
50897// example, "userrole*2015" will return objects with names like
50898// "userrole June 2015", "userrole April 2015", or simply "userrole
50899// 2015". Most of the searches also add wildcards implicitly at the
50900// start and the end of the search string. For example, a search string
50901// of "userrole" will match objects with name "my userrole", "userrole
50902// 2015", or simply "userrole".
50903func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
50904	c.urlParams_.Set("searchString", searchString)
50905	return c
50906}
50907
50908// SortField sets the optional parameter "sortField": Field by which to
50909// sort the list.
50910//
50911// Possible values:
50912//   "ID" (default)
50913//   "NAME"
50914func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
50915	c.urlParams_.Set("sortField", sortField)
50916	return c
50917}
50918
50919// SortOrder sets the optional parameter "sortOrder": Order of sorted
50920// results.
50921//
50922// Possible values:
50923//   "ASCENDING" (default)
50924//   "DESCENDING"
50925func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
50926	c.urlParams_.Set("sortOrder", sortOrder)
50927	return c
50928}
50929
50930// SubaccountId sets the optional parameter "subaccountId": Select only
50931// user roles that belong to this subaccount.
50932func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
50933	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
50934	return c
50935}
50936
50937// Fields allows partial responses to be retrieved. See
50938// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50939// for more information.
50940func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
50941	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50942	return c
50943}
50944
50945// IfNoneMatch sets the optional parameter which makes the operation
50946// fail if the object's ETag matches the given value. This is useful for
50947// getting updates only after the object has changed since the last
50948// request. Use googleapi.IsNotModified to check whether the response
50949// error from Do is the result of In-None-Match.
50950func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
50951	c.ifNoneMatch_ = entityTag
50952	return c
50953}
50954
50955// Context sets the context to be used in this call's Do method. Any
50956// pending HTTP request will be aborted if the provided context is
50957// canceled.
50958func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
50959	c.ctx_ = ctx
50960	return c
50961}
50962
50963// Header returns an http.Header that can be modified by the caller to
50964// add HTTP headers to the request.
50965func (c *UserRolesListCall) Header() http.Header {
50966	if c.header_ == nil {
50967		c.header_ = make(http.Header)
50968	}
50969	return c.header_
50970}
50971
50972func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
50973	reqHeaders := make(http.Header)
50974	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
50975	for k, v := range c.header_ {
50976		reqHeaders[k] = v
50977	}
50978	reqHeaders.Set("User-Agent", c.s.userAgent())
50979	if c.ifNoneMatch_ != "" {
50980		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50981	}
50982	var body io.Reader = nil
50983	c.urlParams_.Set("alt", alt)
50984	c.urlParams_.Set("prettyPrint", "false")
50985	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50986	urls += "?" + c.urlParams_.Encode()
50987	req, err := http.NewRequest("GET", urls, body)
50988	if err != nil {
50989		return nil, err
50990	}
50991	req.Header = reqHeaders
50992	googleapi.Expand(req.URL, map[string]string{
50993		"profileId": strconv.FormatInt(c.profileId, 10),
50994	})
50995	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50996}
50997
50998// Do executes the "dfareporting.userRoles.list" call.
50999// Exactly one of *UserRolesListResponse or error will be non-nil. Any
51000// non-2xx status code is an error. Response headers are in either
51001// *UserRolesListResponse.ServerResponse.Header or (if a response was
51002// returned at all) in error.(*googleapi.Error).Header. Use
51003// googleapi.IsNotModified to check whether the returned error was
51004// because http.StatusNotModified was returned.
51005func (c *UserRolesListCall) Do(opts ...googleapi.CallOption) (*UserRolesListResponse, error) {
51006	gensupport.SetOptions(c.urlParams_, opts...)
51007	res, err := c.doRequest("json")
51008	if res != nil && res.StatusCode == http.StatusNotModified {
51009		if res.Body != nil {
51010			res.Body.Close()
51011		}
51012		return nil, &googleapi.Error{
51013			Code:   res.StatusCode,
51014			Header: res.Header,
51015		}
51016	}
51017	if err != nil {
51018		return nil, err
51019	}
51020	defer googleapi.CloseBody(res)
51021	if err := googleapi.CheckResponse(res); err != nil {
51022		return nil, err
51023	}
51024	ret := &UserRolesListResponse{
51025		ServerResponse: googleapi.ServerResponse{
51026			Header:         res.Header,
51027			HTTPStatusCode: res.StatusCode,
51028		},
51029	}
51030	target := &ret
51031	if err := gensupport.DecodeResponse(target, res); err != nil {
51032		return nil, err
51033	}
51034	return ret, nil
51035	// {
51036	//   "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
51037	//   "flatPath": "userprofiles/{profileId}/userRoles",
51038	//   "httpMethod": "GET",
51039	//   "id": "dfareporting.userRoles.list",
51040	//   "parameterOrder": [
51041	//     "profileId"
51042	//   ],
51043	//   "parameters": {
51044	//     "accountUserRoleOnly": {
51045	//       "description": "Select only account level user roles not associated with any specific subaccount.",
51046	//       "location": "query",
51047	//       "type": "boolean"
51048	//     },
51049	//     "ids": {
51050	//       "description": "Select only user roles with the specified IDs.",
51051	//       "format": "int64",
51052	//       "location": "query",
51053	//       "repeated": true,
51054	//       "type": "string"
51055	//     },
51056	//     "maxResults": {
51057	//       "default": "1000",
51058	//       "description": "Maximum number of results to return.",
51059	//       "format": "int32",
51060	//       "location": "query",
51061	//       "maximum": "1000",
51062	//       "minimum": "0",
51063	//       "type": "integer"
51064	//     },
51065	//     "pageToken": {
51066	//       "description": "Value of the nextPageToken from the previous result page.",
51067	//       "location": "query",
51068	//       "type": "string"
51069	//     },
51070	//     "profileId": {
51071	//       "description": "User profile ID associated with this request.",
51072	//       "format": "int64",
51073	//       "location": "path",
51074	//       "required": true,
51075	//       "type": "string"
51076	//     },
51077	//     "searchString": {
51078	//       "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\".",
51079	//       "location": "query",
51080	//       "type": "string"
51081	//     },
51082	//     "sortField": {
51083	//       "default": "ID",
51084	//       "description": "Field by which to sort the list.",
51085	//       "enum": [
51086	//         "ID",
51087	//         "NAME"
51088	//       ],
51089	//       "enumDescriptions": [
51090	//         "",
51091	//         ""
51092	//       ],
51093	//       "location": "query",
51094	//       "type": "string"
51095	//     },
51096	//     "sortOrder": {
51097	//       "default": "ASCENDING",
51098	//       "description": "Order of sorted results.",
51099	//       "enum": [
51100	//         "ASCENDING",
51101	//         "DESCENDING"
51102	//       ],
51103	//       "enumDescriptions": [
51104	//         "",
51105	//         ""
51106	//       ],
51107	//       "location": "query",
51108	//       "type": "string"
51109	//     },
51110	//     "subaccountId": {
51111	//       "description": "Select only user roles that belong to this subaccount.",
51112	//       "format": "int64",
51113	//       "location": "query",
51114	//       "type": "string"
51115	//     }
51116	//   },
51117	//   "path": "userprofiles/{profileId}/userRoles",
51118	//   "response": {
51119	//     "$ref": "UserRolesListResponse"
51120	//   },
51121	//   "scopes": [
51122	//     "https://www.googleapis.com/auth/dfatrafficking"
51123	//   ]
51124	// }
51125
51126}
51127
51128// Pages invokes f for each page of results.
51129// A non-nil error returned from f will halt the iteration.
51130// The provided context supersedes any context provided to the Context method.
51131func (c *UserRolesListCall) Pages(ctx context.Context, f func(*UserRolesListResponse) error) error {
51132	c.ctx_ = ctx
51133	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
51134	for {
51135		x, err := c.Do()
51136		if err != nil {
51137			return err
51138		}
51139		if err := f(x); err != nil {
51140			return err
51141		}
51142		if x.NextPageToken == "" {
51143			return nil
51144		}
51145		c.PageToken(x.NextPageToken)
51146	}
51147}
51148
51149// method id "dfareporting.userRoles.patch":
51150
51151type UserRolesPatchCall struct {
51152	s          *Service
51153	profileId  int64
51154	userrole   *UserRole
51155	urlParams_ gensupport.URLParams
51156	ctx_       context.Context
51157	header_    http.Header
51158}
51159
51160// Patch: Updates an existing user role. This method supports patch
51161// semantics.
51162//
51163// - id: UserRole ID.
51164// - profileId: User profile ID associated with this request.
51165func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
51166	c := &UserRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51167	c.profileId = profileId
51168	c.urlParams_.Set("id", fmt.Sprint(id))
51169	c.userrole = userrole
51170	return c
51171}
51172
51173// Fields allows partial responses to be retrieved. See
51174// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51175// for more information.
51176func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
51177	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51178	return c
51179}
51180
51181// Context sets the context to be used in this call's Do method. Any
51182// pending HTTP request will be aborted if the provided context is
51183// canceled.
51184func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
51185	c.ctx_ = ctx
51186	return c
51187}
51188
51189// Header returns an http.Header that can be modified by the caller to
51190// add HTTP headers to the request.
51191func (c *UserRolesPatchCall) Header() http.Header {
51192	if c.header_ == nil {
51193		c.header_ = make(http.Header)
51194	}
51195	return c.header_
51196}
51197
51198func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
51199	reqHeaders := make(http.Header)
51200	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
51201	for k, v := range c.header_ {
51202		reqHeaders[k] = v
51203	}
51204	reqHeaders.Set("User-Agent", c.s.userAgent())
51205	var body io.Reader = nil
51206	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
51207	if err != nil {
51208		return nil, err
51209	}
51210	reqHeaders.Set("Content-Type", "application/json")
51211	c.urlParams_.Set("alt", alt)
51212	c.urlParams_.Set("prettyPrint", "false")
51213	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
51214	urls += "?" + c.urlParams_.Encode()
51215	req, err := http.NewRequest("PATCH", urls, body)
51216	if err != nil {
51217		return nil, err
51218	}
51219	req.Header = reqHeaders
51220	googleapi.Expand(req.URL, map[string]string{
51221		"profileId": strconv.FormatInt(c.profileId, 10),
51222	})
51223	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51224}
51225
51226// Do executes the "dfareporting.userRoles.patch" call.
51227// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
51228// code is an error. Response headers are in either
51229// *UserRole.ServerResponse.Header or (if a response was returned at
51230// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
51231// to check whether the returned error was because
51232// http.StatusNotModified was returned.
51233func (c *UserRolesPatchCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
51234	gensupport.SetOptions(c.urlParams_, opts...)
51235	res, err := c.doRequest("json")
51236	if res != nil && res.StatusCode == http.StatusNotModified {
51237		if res.Body != nil {
51238			res.Body.Close()
51239		}
51240		return nil, &googleapi.Error{
51241			Code:   res.StatusCode,
51242			Header: res.Header,
51243		}
51244	}
51245	if err != nil {
51246		return nil, err
51247	}
51248	defer googleapi.CloseBody(res)
51249	if err := googleapi.CheckResponse(res); err != nil {
51250		return nil, err
51251	}
51252	ret := &UserRole{
51253		ServerResponse: googleapi.ServerResponse{
51254			Header:         res.Header,
51255			HTTPStatusCode: res.StatusCode,
51256		},
51257	}
51258	target := &ret
51259	if err := gensupport.DecodeResponse(target, res); err != nil {
51260		return nil, err
51261	}
51262	return ret, nil
51263	// {
51264	//   "description": "Updates an existing user role. This method supports patch semantics.",
51265	//   "flatPath": "userprofiles/{profileId}/userRoles",
51266	//   "httpMethod": "PATCH",
51267	//   "id": "dfareporting.userRoles.patch",
51268	//   "parameterOrder": [
51269	//     "profileId",
51270	//     "id"
51271	//   ],
51272	//   "parameters": {
51273	//     "id": {
51274	//       "description": "UserRole ID.",
51275	//       "format": "int64",
51276	//       "location": "query",
51277	//       "required": true,
51278	//       "type": "string"
51279	//     },
51280	//     "profileId": {
51281	//       "description": "User profile ID associated with this request.",
51282	//       "format": "int64",
51283	//       "location": "path",
51284	//       "required": true,
51285	//       "type": "string"
51286	//     }
51287	//   },
51288	//   "path": "userprofiles/{profileId}/userRoles",
51289	//   "request": {
51290	//     "$ref": "UserRole"
51291	//   },
51292	//   "response": {
51293	//     "$ref": "UserRole"
51294	//   },
51295	//   "scopes": [
51296	//     "https://www.googleapis.com/auth/dfatrafficking"
51297	//   ]
51298	// }
51299
51300}
51301
51302// method id "dfareporting.userRoles.update":
51303
51304type UserRolesUpdateCall struct {
51305	s          *Service
51306	profileId  int64
51307	userrole   *UserRole
51308	urlParams_ gensupport.URLParams
51309	ctx_       context.Context
51310	header_    http.Header
51311}
51312
51313// Update: Updates an existing user role.
51314//
51315// - profileId: User profile ID associated with this request.
51316func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
51317	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51318	c.profileId = profileId
51319	c.userrole = userrole
51320	return c
51321}
51322
51323// Fields allows partial responses to be retrieved. See
51324// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51325// for more information.
51326func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
51327	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51328	return c
51329}
51330
51331// Context sets the context to be used in this call's Do method. Any
51332// pending HTTP request will be aborted if the provided context is
51333// canceled.
51334func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
51335	c.ctx_ = ctx
51336	return c
51337}
51338
51339// Header returns an http.Header that can be modified by the caller to
51340// add HTTP headers to the request.
51341func (c *UserRolesUpdateCall) Header() http.Header {
51342	if c.header_ == nil {
51343		c.header_ = make(http.Header)
51344	}
51345	return c.header_
51346}
51347
51348func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
51349	reqHeaders := make(http.Header)
51350	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
51351	for k, v := range c.header_ {
51352		reqHeaders[k] = v
51353	}
51354	reqHeaders.Set("User-Agent", c.s.userAgent())
51355	var body io.Reader = nil
51356	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
51357	if err != nil {
51358		return nil, err
51359	}
51360	reqHeaders.Set("Content-Type", "application/json")
51361	c.urlParams_.Set("alt", alt)
51362	c.urlParams_.Set("prettyPrint", "false")
51363	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
51364	urls += "?" + c.urlParams_.Encode()
51365	req, err := http.NewRequest("PUT", urls, body)
51366	if err != nil {
51367		return nil, err
51368	}
51369	req.Header = reqHeaders
51370	googleapi.Expand(req.URL, map[string]string{
51371		"profileId": strconv.FormatInt(c.profileId, 10),
51372	})
51373	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51374}
51375
51376// Do executes the "dfareporting.userRoles.update" call.
51377// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
51378// code is an error. Response headers are in either
51379// *UserRole.ServerResponse.Header or (if a response was returned at
51380// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
51381// to check whether the returned error was because
51382// http.StatusNotModified was returned.
51383func (c *UserRolesUpdateCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
51384	gensupport.SetOptions(c.urlParams_, opts...)
51385	res, err := c.doRequest("json")
51386	if res != nil && res.StatusCode == http.StatusNotModified {
51387		if res.Body != nil {
51388			res.Body.Close()
51389		}
51390		return nil, &googleapi.Error{
51391			Code:   res.StatusCode,
51392			Header: res.Header,
51393		}
51394	}
51395	if err != nil {
51396		return nil, err
51397	}
51398	defer googleapi.CloseBody(res)
51399	if err := googleapi.CheckResponse(res); err != nil {
51400		return nil, err
51401	}
51402	ret := &UserRole{
51403		ServerResponse: googleapi.ServerResponse{
51404			Header:         res.Header,
51405			HTTPStatusCode: res.StatusCode,
51406		},
51407	}
51408	target := &ret
51409	if err := gensupport.DecodeResponse(target, res); err != nil {
51410		return nil, err
51411	}
51412	return ret, nil
51413	// {
51414	//   "description": "Updates an existing user role.",
51415	//   "flatPath": "userprofiles/{profileId}/userRoles",
51416	//   "httpMethod": "PUT",
51417	//   "id": "dfareporting.userRoles.update",
51418	//   "parameterOrder": [
51419	//     "profileId"
51420	//   ],
51421	//   "parameters": {
51422	//     "profileId": {
51423	//       "description": "User profile ID associated with this request.",
51424	//       "format": "int64",
51425	//       "location": "path",
51426	//       "required": true,
51427	//       "type": "string"
51428	//     }
51429	//   },
51430	//   "path": "userprofiles/{profileId}/userRoles",
51431	//   "request": {
51432	//     "$ref": "UserRole"
51433	//   },
51434	//   "response": {
51435	//     "$ref": "UserRole"
51436	//   },
51437	//   "scopes": [
51438	//     "https://www.googleapis.com/auth/dfatrafficking"
51439	//   ]
51440	// }
51441
51442}
51443
51444// method id "dfareporting.videoFormats.get":
51445
51446type VideoFormatsGetCall struct {
51447	s            *Service
51448	profileId    int64
51449	id           int64
51450	urlParams_   gensupport.URLParams
51451	ifNoneMatch_ string
51452	ctx_         context.Context
51453	header_      http.Header
51454}
51455
51456// Get: Gets one video format by ID.
51457//
51458// - id: Video format ID.
51459// - profileId: User profile ID associated with this request.
51460func (r *VideoFormatsService) Get(profileId int64, id int64) *VideoFormatsGetCall {
51461	c := &VideoFormatsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51462	c.profileId = profileId
51463	c.id = id
51464	return c
51465}
51466
51467// Fields allows partial responses to be retrieved. See
51468// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51469// for more information.
51470func (c *VideoFormatsGetCall) Fields(s ...googleapi.Field) *VideoFormatsGetCall {
51471	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51472	return c
51473}
51474
51475// IfNoneMatch sets the optional parameter which makes the operation
51476// fail if the object's ETag matches the given value. This is useful for
51477// getting updates only after the object has changed since the last
51478// request. Use googleapi.IsNotModified to check whether the response
51479// error from Do is the result of In-None-Match.
51480func (c *VideoFormatsGetCall) IfNoneMatch(entityTag string) *VideoFormatsGetCall {
51481	c.ifNoneMatch_ = entityTag
51482	return c
51483}
51484
51485// Context sets the context to be used in this call's Do method. Any
51486// pending HTTP request will be aborted if the provided context is
51487// canceled.
51488func (c *VideoFormatsGetCall) Context(ctx context.Context) *VideoFormatsGetCall {
51489	c.ctx_ = ctx
51490	return c
51491}
51492
51493// Header returns an http.Header that can be modified by the caller to
51494// add HTTP headers to the request.
51495func (c *VideoFormatsGetCall) Header() http.Header {
51496	if c.header_ == nil {
51497		c.header_ = make(http.Header)
51498	}
51499	return c.header_
51500}
51501
51502func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
51503	reqHeaders := make(http.Header)
51504	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
51505	for k, v := range c.header_ {
51506		reqHeaders[k] = v
51507	}
51508	reqHeaders.Set("User-Agent", c.s.userAgent())
51509	if c.ifNoneMatch_ != "" {
51510		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
51511	}
51512	var body io.Reader = nil
51513	c.urlParams_.Set("alt", alt)
51514	c.urlParams_.Set("prettyPrint", "false")
51515	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats/{id}")
51516	urls += "?" + c.urlParams_.Encode()
51517	req, err := http.NewRequest("GET", urls, body)
51518	if err != nil {
51519		return nil, err
51520	}
51521	req.Header = reqHeaders
51522	googleapi.Expand(req.URL, map[string]string{
51523		"profileId": strconv.FormatInt(c.profileId, 10),
51524		"id":        strconv.FormatInt(c.id, 10),
51525	})
51526	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51527}
51528
51529// Do executes the "dfareporting.videoFormats.get" call.
51530// Exactly one of *VideoFormat or error will be non-nil. Any non-2xx
51531// status code is an error. Response headers are in either
51532// *VideoFormat.ServerResponse.Header or (if a response was returned at
51533// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
51534// to check whether the returned error was because
51535// http.StatusNotModified was returned.
51536func (c *VideoFormatsGetCall) Do(opts ...googleapi.CallOption) (*VideoFormat, error) {
51537	gensupport.SetOptions(c.urlParams_, opts...)
51538	res, err := c.doRequest("json")
51539	if res != nil && res.StatusCode == http.StatusNotModified {
51540		if res.Body != nil {
51541			res.Body.Close()
51542		}
51543		return nil, &googleapi.Error{
51544			Code:   res.StatusCode,
51545			Header: res.Header,
51546		}
51547	}
51548	if err != nil {
51549		return nil, err
51550	}
51551	defer googleapi.CloseBody(res)
51552	if err := googleapi.CheckResponse(res); err != nil {
51553		return nil, err
51554	}
51555	ret := &VideoFormat{
51556		ServerResponse: googleapi.ServerResponse{
51557			Header:         res.Header,
51558			HTTPStatusCode: res.StatusCode,
51559		},
51560	}
51561	target := &ret
51562	if err := gensupport.DecodeResponse(target, res); err != nil {
51563		return nil, err
51564	}
51565	return ret, nil
51566	// {
51567	//   "description": "Gets one video format by ID.",
51568	//   "flatPath": "userprofiles/{profileId}/videoFormats/{id}",
51569	//   "httpMethod": "GET",
51570	//   "id": "dfareporting.videoFormats.get",
51571	//   "parameterOrder": [
51572	//     "profileId",
51573	//     "id"
51574	//   ],
51575	//   "parameters": {
51576	//     "id": {
51577	//       "description": "Video format ID.",
51578	//       "format": "int32",
51579	//       "location": "path",
51580	//       "required": true,
51581	//       "type": "integer"
51582	//     },
51583	//     "profileId": {
51584	//       "description": "User profile ID associated with this request.",
51585	//       "format": "int64",
51586	//       "location": "path",
51587	//       "required": true,
51588	//       "type": "string"
51589	//     }
51590	//   },
51591	//   "path": "userprofiles/{profileId}/videoFormats/{id}",
51592	//   "response": {
51593	//     "$ref": "VideoFormat"
51594	//   },
51595	//   "scopes": [
51596	//     "https://www.googleapis.com/auth/dfatrafficking"
51597	//   ]
51598	// }
51599
51600}
51601
51602// method id "dfareporting.videoFormats.list":
51603
51604type VideoFormatsListCall struct {
51605	s            *Service
51606	profileId    int64
51607	urlParams_   gensupport.URLParams
51608	ifNoneMatch_ string
51609	ctx_         context.Context
51610	header_      http.Header
51611}
51612
51613// List: Lists available video formats.
51614//
51615// - profileId: User profile ID associated with this request.
51616func (r *VideoFormatsService) List(profileId int64) *VideoFormatsListCall {
51617	c := &VideoFormatsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51618	c.profileId = profileId
51619	return c
51620}
51621
51622// Fields allows partial responses to be retrieved. See
51623// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51624// for more information.
51625func (c *VideoFormatsListCall) Fields(s ...googleapi.Field) *VideoFormatsListCall {
51626	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51627	return c
51628}
51629
51630// IfNoneMatch sets the optional parameter which makes the operation
51631// fail if the object's ETag matches the given value. This is useful for
51632// getting updates only after the object has changed since the last
51633// request. Use googleapi.IsNotModified to check whether the response
51634// error from Do is the result of In-None-Match.
51635func (c *VideoFormatsListCall) IfNoneMatch(entityTag string) *VideoFormatsListCall {
51636	c.ifNoneMatch_ = entityTag
51637	return c
51638}
51639
51640// Context sets the context to be used in this call's Do method. Any
51641// pending HTTP request will be aborted if the provided context is
51642// canceled.
51643func (c *VideoFormatsListCall) Context(ctx context.Context) *VideoFormatsListCall {
51644	c.ctx_ = ctx
51645	return c
51646}
51647
51648// Header returns an http.Header that can be modified by the caller to
51649// add HTTP headers to the request.
51650func (c *VideoFormatsListCall) Header() http.Header {
51651	if c.header_ == nil {
51652		c.header_ = make(http.Header)
51653	}
51654	return c.header_
51655}
51656
51657func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
51658	reqHeaders := make(http.Header)
51659	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210410")
51660	for k, v := range c.header_ {
51661		reqHeaders[k] = v
51662	}
51663	reqHeaders.Set("User-Agent", c.s.userAgent())
51664	if c.ifNoneMatch_ != "" {
51665		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
51666	}
51667	var body io.Reader = nil
51668	c.urlParams_.Set("alt", alt)
51669	c.urlParams_.Set("prettyPrint", "false")
51670	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats")
51671	urls += "?" + c.urlParams_.Encode()
51672	req, err := http.NewRequest("GET", urls, body)
51673	if err != nil {
51674		return nil, err
51675	}
51676	req.Header = reqHeaders
51677	googleapi.Expand(req.URL, map[string]string{
51678		"profileId": strconv.FormatInt(c.profileId, 10),
51679	})
51680	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51681}
51682
51683// Do executes the "dfareporting.videoFormats.list" call.
51684// Exactly one of *VideoFormatsListResponse or error will be non-nil.
51685// Any non-2xx status code is an error. Response headers are in either
51686// *VideoFormatsListResponse.ServerResponse.Header or (if a response was
51687// returned at all) in error.(*googleapi.Error).Header. Use
51688// googleapi.IsNotModified to check whether the returned error was
51689// because http.StatusNotModified was returned.
51690func (c *VideoFormatsListCall) Do(opts ...googleapi.CallOption) (*VideoFormatsListResponse, error) {
51691	gensupport.SetOptions(c.urlParams_, opts...)
51692	res, err := c.doRequest("json")
51693	if res != nil && res.StatusCode == http.StatusNotModified {
51694		if res.Body != nil {
51695			res.Body.Close()
51696		}
51697		return nil, &googleapi.Error{
51698			Code:   res.StatusCode,
51699			Header: res.Header,
51700		}
51701	}
51702	if err != nil {
51703		return nil, err
51704	}
51705	defer googleapi.CloseBody(res)
51706	if err := googleapi.CheckResponse(res); err != nil {
51707		return nil, err
51708	}
51709	ret := &VideoFormatsListResponse{
51710		ServerResponse: googleapi.ServerResponse{
51711			Header:         res.Header,
51712			HTTPStatusCode: res.StatusCode,
51713		},
51714	}
51715	target := &ret
51716	if err := gensupport.DecodeResponse(target, res); err != nil {
51717		return nil, err
51718	}
51719	return ret, nil
51720	// {
51721	//   "description": "Lists available video formats.",
51722	//   "flatPath": "userprofiles/{profileId}/videoFormats",
51723	//   "httpMethod": "GET",
51724	//   "id": "dfareporting.videoFormats.list",
51725	//   "parameterOrder": [
51726	//     "profileId"
51727	//   ],
51728	//   "parameters": {
51729	//     "profileId": {
51730	//       "description": "User profile ID associated with this request.",
51731	//       "format": "int64",
51732	//       "location": "path",
51733	//       "required": true,
51734	//       "type": "string"
51735	//     }
51736	//   },
51737	//   "path": "userprofiles/{profileId}/videoFormats",
51738	//   "response": {
51739	//     "$ref": "VideoFormatsListResponse"
51740	//   },
51741	//   "scopes": [
51742	//     "https://www.googleapis.com/auth/dfatrafficking"
51743	//   ]
51744	// }
51745
51746}
51747