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	//   "CLICK_TAG_IN_RICH_MEDIA"
4825	WarnedValidationRules []string `json:"warnedValidationRules,omitempty"`
4826
4827	// ServerResponse contains the HTTP response code and headers from the
4828	// server.
4829	googleapi.ServerResponse `json:"-"`
4830
4831	// ForceSendFields is a list of field names (e.g. "AssetIdentifier") to
4832	// unconditionally include in API requests. By default, fields with
4833	// empty values are omitted from API requests. However, any non-pointer,
4834	// non-interface field appearing in ForceSendFields will be sent to the
4835	// server regardless of whether the field is empty or not. This may be
4836	// used to include empty fields in Patch requests.
4837	ForceSendFields []string `json:"-"`
4838
4839	// NullFields is a list of field names (e.g. "AssetIdentifier") to
4840	// include in API requests with the JSON null value. By default, fields
4841	// with empty values are omitted from API requests. However, any field
4842	// with an empty value appearing in NullFields will be sent to the
4843	// server as null. It is an error if a field in this list has a
4844	// non-empty value. This may be used to include null fields in Patch
4845	// requests.
4846	NullFields []string `json:"-"`
4847}
4848
4849func (s *CreativeAssetMetadata) MarshalJSON() ([]byte, error) {
4850	type NoMethod CreativeAssetMetadata
4851	raw := NoMethod(*s)
4852	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4853}
4854
4855// CreativeAssetSelection: Encapsulates the list of rules for asset
4856// selection and a default asset in case none of the rules match.
4857// Applicable to INSTREAM_VIDEO creatives.
4858type CreativeAssetSelection struct {
4859	// DefaultAssetId: A creativeAssets[].id. This should refer to one of
4860	// the parent assets in this creative, and will be served if none of the
4861	// rules match. This is a required field.
4862	DefaultAssetId int64 `json:"defaultAssetId,omitempty,string"`
4863
4864	// Rules: Rules determine which asset will be served to a viewer. Rules
4865	// will be evaluated in the order in which they are stored in this list.
4866	// This list must contain at least one rule. Applicable to
4867	// INSTREAM_VIDEO creatives.
4868	Rules []*Rule `json:"rules,omitempty"`
4869
4870	// ForceSendFields is a list of field names (e.g. "DefaultAssetId") to
4871	// unconditionally include in API requests. By default, fields with
4872	// empty values are omitted from API requests. However, any non-pointer,
4873	// non-interface field appearing in ForceSendFields will be sent to the
4874	// server regardless of whether the field is empty or not. This may be
4875	// used to include empty fields in Patch requests.
4876	ForceSendFields []string `json:"-"`
4877
4878	// NullFields is a list of field names (e.g. "DefaultAssetId") to
4879	// include in API requests with the JSON null value. By default, fields
4880	// with empty values are omitted from API requests. However, any field
4881	// with an empty value appearing in NullFields will be sent to the
4882	// server as null. It is an error if a field in this list has a
4883	// non-empty value. This may be used to include null fields in Patch
4884	// requests.
4885	NullFields []string `json:"-"`
4886}
4887
4888func (s *CreativeAssetSelection) MarshalJSON() ([]byte, error) {
4889	type NoMethod CreativeAssetSelection
4890	raw := NoMethod(*s)
4891	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4892}
4893
4894// CreativeAssignment: Creative Assignment.
4895type CreativeAssignment struct {
4896	// Active: Whether this creative assignment is active. When true, the
4897	// creative will be included in the ad's rotation.
4898	Active bool `json:"active,omitempty"`
4899
4900	// ApplyEventTags: Whether applicable event tags should fire when this
4901	// creative assignment is rendered. If this value is unset when the ad
4902	// is inserted or updated, it will default to true for all creative
4903	// types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT,
4904	// and INSTREAM_VIDEO.
4905	ApplyEventTags bool `json:"applyEventTags,omitempty"`
4906
4907	// ClickThroughUrl: Click-through URL of the creative assignment.
4908	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
4909
4910	// CompanionCreativeOverrides: Companion creative overrides for this
4911	// creative assignment. Applicable to video ads.
4912	CompanionCreativeOverrides []*CompanionClickThroughOverride `json:"companionCreativeOverrides,omitempty"`
4913
4914	// CreativeGroupAssignments: Creative group assignments for this
4915	// creative assignment. Only one assignment per creative group number is
4916	// allowed for a maximum of two assignments.
4917	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
4918
4919	// CreativeId: ID of the creative to be assigned. This is a required
4920	// field.
4921	CreativeId int64 `json:"creativeId,omitempty,string"`
4922
4923	// CreativeIdDimensionValue: Dimension value for the ID of the creative.
4924	// This is a read-only, auto-generated field.
4925	CreativeIdDimensionValue *DimensionValue `json:"creativeIdDimensionValue,omitempty"`
4926
4927	EndTime string `json:"endTime,omitempty"`
4928
4929	// RichMediaExitOverrides: Rich media exit overrides for this creative
4930	// assignment. Applicable when the creative type is any of the
4931	// following: - DISPLAY - RICH_MEDIA_INPAGE - RICH_MEDIA_INPAGE_FLOATING
4932	// - RICH_MEDIA_IM_EXPAND - RICH_MEDIA_EXPANDING -
4933	// RICH_MEDIA_INTERSTITIAL_FLOAT - RICH_MEDIA_MOBILE_IN_APP -
4934	// RICH_MEDIA_MULTI_FLOATING - RICH_MEDIA_PEEL_DOWN - VPAID_LINEAR -
4935	// VPAID_NON_LINEAR
4936	RichMediaExitOverrides []*RichMediaExitOverride `json:"richMediaExitOverrides,omitempty"`
4937
4938	// Sequence: Sequence number of the creative assignment, applicable when
4939	// the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable
4940	// values are 1 to 65535, inclusive.
4941	Sequence int64 `json:"sequence,omitempty"`
4942
4943	// SslCompliant: Whether the creative to be assigned is SSL-compliant.
4944	// This is a read-only field that is auto-generated when the ad is
4945	// inserted or updated.
4946	SslCompliant bool `json:"sslCompliant,omitempty"`
4947
4948	StartTime string `json:"startTime,omitempty"`
4949
4950	// Weight: Weight of the creative assignment, applicable when the
4951	// rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater
4952	// than or equal to 1.
4953	Weight int64 `json:"weight,omitempty"`
4954
4955	// ForceSendFields is a list of field names (e.g. "Active") to
4956	// unconditionally include in API requests. By default, fields with
4957	// empty values are omitted from API requests. However, any non-pointer,
4958	// non-interface field appearing in ForceSendFields will be sent to the
4959	// server regardless of whether the field is empty or not. This may be
4960	// used to include empty fields in Patch requests.
4961	ForceSendFields []string `json:"-"`
4962
4963	// NullFields is a list of field names (e.g. "Active") to include in API
4964	// requests with the JSON null value. By default, fields with empty
4965	// values are omitted from API requests. However, any field with an
4966	// empty value appearing in NullFields will be sent to the server as
4967	// null. It is an error if a field in this list has a non-empty value.
4968	// This may be used to include null fields in Patch requests.
4969	NullFields []string `json:"-"`
4970}
4971
4972func (s *CreativeAssignment) MarshalJSON() ([]byte, error) {
4973	type NoMethod CreativeAssignment
4974	raw := NoMethod(*s)
4975	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4976}
4977
4978// CreativeClickThroughUrl: Click-through URL
4979type CreativeClickThroughUrl struct {
4980	// ComputedClickThroughUrl: Read-only convenience field representing the
4981	// actual URL that will be used for this click-through. The URL is
4982	// computed as follows: - If landingPageId is specified then that
4983	// landing page's URL is assigned to this field. - Otherwise, the
4984	// customClickThroughUrl is assigned to this field.
4985	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
4986
4987	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
4988	// landingPageId field is left unset.
4989	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
4990
4991	// LandingPageId: ID of the landing page for the click-through URL.
4992	LandingPageId int64 `json:"landingPageId,omitempty,string"`
4993
4994	// ForceSendFields is a list of field names (e.g.
4995	// "ComputedClickThroughUrl") to unconditionally include in API
4996	// requests. By default, fields with empty values are omitted from API
4997	// requests. However, any non-pointer, non-interface field appearing in
4998	// ForceSendFields will be sent to the server regardless of whether the
4999	// field is empty or not. This may be used to include empty fields in
5000	// Patch requests.
5001	ForceSendFields []string `json:"-"`
5002
5003	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
5004	// to include in API requests with the JSON null value. By default,
5005	// fields with empty values are omitted from API requests. However, any
5006	// field with an empty value appearing in NullFields will be sent to the
5007	// server as null. It is an error if a field in this list has a
5008	// non-empty value. This may be used to include null fields in Patch
5009	// requests.
5010	NullFields []string `json:"-"`
5011}
5012
5013func (s *CreativeClickThroughUrl) MarshalJSON() ([]byte, error) {
5014	type NoMethod CreativeClickThroughUrl
5015	raw := NoMethod(*s)
5016	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5017}
5018
5019// CreativeCustomEvent: Creative Custom Event.
5020type CreativeCustomEvent struct {
5021	// AdvertiserCustomEventId: Unique ID of this event used by Reporting
5022	// and Data Transfer. This is a read-only field.
5023	AdvertiserCustomEventId int64 `json:"advertiserCustomEventId,omitempty,string"`
5024
5025	// AdvertiserCustomEventName: User-entered name for the event.
5026	AdvertiserCustomEventName string `json:"advertiserCustomEventName,omitempty"`
5027
5028	// AdvertiserCustomEventType: Type of the event. This is a read-only
5029	// field.
5030	//
5031	// Possible values:
5032	//   "ADVERTISER_EVENT_TIMER"
5033	//   "ADVERTISER_EVENT_EXIT"
5034	//   "ADVERTISER_EVENT_COUNTER"
5035	AdvertiserCustomEventType string `json:"advertiserCustomEventType,omitempty"`
5036
5037	// ArtworkLabel: Artwork label column, used to link events in Campaign
5038	// Manager back to events in Studio. This is a required field and should
5039	// not be modified after insertion.
5040	ArtworkLabel string `json:"artworkLabel,omitempty"`
5041
5042	// ArtworkType: Artwork type used by the creative.This is a read-only
5043	// field.
5044	//
5045	// Possible values:
5046	//   "ARTWORK_TYPE_FLASH"
5047	//   "ARTWORK_TYPE_HTML5"
5048	//   "ARTWORK_TYPE_MIXED"
5049	//   "ARTWORK_TYPE_IMAGE"
5050	ArtworkType string `json:"artworkType,omitempty"`
5051
5052	// ExitClickThroughUrl: Exit click-through URL for the event. This field
5053	// is used only for exit events.
5054	ExitClickThroughUrl *CreativeClickThroughUrl `json:"exitClickThroughUrl,omitempty"`
5055
5056	// Id: ID of this event. This is a required field and should not be
5057	// modified after insertion.
5058	Id int64 `json:"id,omitempty,string"`
5059
5060	// PopupWindowProperties: Properties for rich media popup windows. This
5061	// field is used only for exit events.
5062	PopupWindowProperties *PopupWindowProperties `json:"popupWindowProperties,omitempty"`
5063
5064	// TargetType: Target type used by the event.
5065	//
5066	// Possible values:
5067	//   "TARGET_BLANK"
5068	//   "TARGET_TOP"
5069	//   "TARGET_SELF"
5070	//   "TARGET_PARENT"
5071	//   "TARGET_POPUP"
5072	TargetType string `json:"targetType,omitempty"`
5073
5074	// VideoReportingId: Video reporting ID, used to differentiate multiple
5075	// videos in a single creative. This is a read-only field.
5076	VideoReportingId string `json:"videoReportingId,omitempty"`
5077
5078	// ForceSendFields is a list of field names (e.g.
5079	// "AdvertiserCustomEventId") to unconditionally include in API
5080	// requests. By default, fields with empty values are omitted from API
5081	// requests. However, any non-pointer, non-interface field appearing in
5082	// ForceSendFields will be sent to the server regardless of whether the
5083	// field is empty or not. This may be used to include empty fields in
5084	// Patch requests.
5085	ForceSendFields []string `json:"-"`
5086
5087	// NullFields is a list of field names (e.g. "AdvertiserCustomEventId")
5088	// to include in API requests with the JSON null value. By default,
5089	// fields with empty values are omitted from API requests. However, any
5090	// field with an empty value appearing in NullFields will be sent to the
5091	// server as null. It is an error if a field in this list has a
5092	// non-empty value. This may be used to include null fields in Patch
5093	// requests.
5094	NullFields []string `json:"-"`
5095}
5096
5097func (s *CreativeCustomEvent) MarshalJSON() ([]byte, error) {
5098	type NoMethod CreativeCustomEvent
5099	raw := NoMethod(*s)
5100	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5101}
5102
5103// CreativeField: Contains properties of a creative field.
5104type CreativeField struct {
5105	// AccountId: Account ID of this creative field. This is a read-only
5106	// field that can be left blank.
5107	AccountId int64 `json:"accountId,omitempty,string"`
5108
5109	// AdvertiserId: Advertiser ID of this creative field. This is a
5110	// required field on insertion.
5111	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5112
5113	// AdvertiserIdDimensionValue: Dimension value for the ID of the
5114	// advertiser. This is a read-only, auto-generated field.
5115	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
5116
5117	// Id: ID of this creative field. This is a read-only, auto-generated
5118	// field.
5119	Id int64 `json:"id,omitempty,string"`
5120
5121	// Kind: Identifies what kind of resource this is. Value: the fixed
5122	// string "dfareporting#creativeField".
5123	Kind string `json:"kind,omitempty"`
5124
5125	// Name: Name of this creative field. This is a required field and must
5126	// be less than 256 characters long and unique among creative fields of
5127	// the same advertiser.
5128	Name string `json:"name,omitempty"`
5129
5130	// SubaccountId: Subaccount ID of this creative field. This is a
5131	// read-only field that can be left blank.
5132	SubaccountId int64 `json:"subaccountId,omitempty,string"`
5133
5134	// ServerResponse contains the HTTP response code and headers from the
5135	// server.
5136	googleapi.ServerResponse `json:"-"`
5137
5138	// ForceSendFields is a list of field names (e.g. "AccountId") to
5139	// unconditionally include in API requests. By default, fields with
5140	// empty values are omitted from API requests. However, any non-pointer,
5141	// non-interface field appearing in ForceSendFields will be sent to the
5142	// server regardless of whether the field is empty or not. This may be
5143	// used to include empty fields in Patch requests.
5144	ForceSendFields []string `json:"-"`
5145
5146	// NullFields is a list of field names (e.g. "AccountId") to include in
5147	// API requests with the JSON null value. By default, fields with empty
5148	// values are omitted from API requests. However, any field with an
5149	// empty value appearing in NullFields will be sent to the server as
5150	// null. It is an error if a field in this list has a non-empty value.
5151	// This may be used to include null fields in Patch requests.
5152	NullFields []string `json:"-"`
5153}
5154
5155func (s *CreativeField) MarshalJSON() ([]byte, error) {
5156	type NoMethod CreativeField
5157	raw := NoMethod(*s)
5158	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5159}
5160
5161// CreativeFieldAssignment: Creative Field Assignment.
5162type CreativeFieldAssignment struct {
5163	// CreativeFieldId: ID of the creative field.
5164	CreativeFieldId int64 `json:"creativeFieldId,omitempty,string"`
5165
5166	// CreativeFieldValueId: ID of the creative field value.
5167	CreativeFieldValueId int64 `json:"creativeFieldValueId,omitempty,string"`
5168
5169	// ForceSendFields is a list of field names (e.g. "CreativeFieldId") to
5170	// unconditionally include in API requests. By default, fields with
5171	// empty values are omitted from API requests. However, any non-pointer,
5172	// non-interface field appearing in ForceSendFields will be sent to the
5173	// server regardless of whether the field is empty or not. This may be
5174	// used to include empty fields in Patch requests.
5175	ForceSendFields []string `json:"-"`
5176
5177	// NullFields is a list of field names (e.g. "CreativeFieldId") to
5178	// include in API requests with the JSON null value. By default, fields
5179	// with empty values are omitted from API requests. However, any field
5180	// with an empty value appearing in NullFields will be sent to the
5181	// server as null. It is an error if a field in this list has a
5182	// non-empty value. This may be used to include null fields in Patch
5183	// requests.
5184	NullFields []string `json:"-"`
5185}
5186
5187func (s *CreativeFieldAssignment) MarshalJSON() ([]byte, error) {
5188	type NoMethod CreativeFieldAssignment
5189	raw := NoMethod(*s)
5190	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5191}
5192
5193// CreativeFieldValue: Contains properties of a creative field value.
5194type CreativeFieldValue struct {
5195	// Id: ID of this creative field value. This is a read-only,
5196	// auto-generated field.
5197	Id int64 `json:"id,omitempty,string"`
5198
5199	// Kind: Identifies what kind of resource this is. Value: the fixed
5200	// string "dfareporting#creativeFieldValue".
5201	Kind string `json:"kind,omitempty"`
5202
5203	// Value: Value of this creative field value. It needs to be less than
5204	// 256 characters in length and unique per creative field.
5205	Value string `json:"value,omitempty"`
5206
5207	// ServerResponse contains the HTTP response code and headers from the
5208	// server.
5209	googleapi.ServerResponse `json:"-"`
5210
5211	// ForceSendFields is a list of field names (e.g. "Id") to
5212	// unconditionally include in API requests. By default, fields with
5213	// empty values are omitted from API requests. However, any non-pointer,
5214	// non-interface field appearing in ForceSendFields will be sent to the
5215	// server regardless of whether the field is empty or not. This may be
5216	// used to include empty fields in Patch requests.
5217	ForceSendFields []string `json:"-"`
5218
5219	// NullFields is a list of field names (e.g. "Id") to include in API
5220	// requests with the JSON null value. By default, fields with empty
5221	// values are omitted from API requests. However, any field with an
5222	// empty value appearing in NullFields will be sent to the server as
5223	// null. It is an error if a field in this list has a non-empty value.
5224	// This may be used to include null fields in Patch requests.
5225	NullFields []string `json:"-"`
5226}
5227
5228func (s *CreativeFieldValue) MarshalJSON() ([]byte, error) {
5229	type NoMethod CreativeFieldValue
5230	raw := NoMethod(*s)
5231	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5232}
5233
5234// CreativeFieldValuesListResponse: Creative Field Value List Response
5235type CreativeFieldValuesListResponse struct {
5236	// CreativeFieldValues: Creative field value collection.
5237	CreativeFieldValues []*CreativeFieldValue `json:"creativeFieldValues,omitempty"`
5238
5239	// Kind: Identifies what kind of resource this is. Value: the fixed
5240	// string "dfareporting#creativeFieldValuesListResponse".
5241	Kind string `json:"kind,omitempty"`
5242
5243	// NextPageToken: Pagination token to be used for the next list
5244	// operation.
5245	NextPageToken string `json:"nextPageToken,omitempty"`
5246
5247	// ServerResponse contains the HTTP response code and headers from the
5248	// server.
5249	googleapi.ServerResponse `json:"-"`
5250
5251	// ForceSendFields is a list of field names (e.g. "CreativeFieldValues")
5252	// to unconditionally include in API requests. By default, fields with
5253	// empty values are omitted from API requests. However, any non-pointer,
5254	// non-interface field appearing in ForceSendFields will be sent to the
5255	// server regardless of whether the field is empty or not. This may be
5256	// used to include empty fields in Patch requests.
5257	ForceSendFields []string `json:"-"`
5258
5259	// NullFields is a list of field names (e.g. "CreativeFieldValues") to
5260	// include in API requests with the JSON null value. By default, fields
5261	// with empty values are omitted from API requests. However, any field
5262	// with an empty value appearing in NullFields will be sent to the
5263	// server as null. It is an error if a field in this list has a
5264	// non-empty value. This may be used to include null fields in Patch
5265	// requests.
5266	NullFields []string `json:"-"`
5267}
5268
5269func (s *CreativeFieldValuesListResponse) MarshalJSON() ([]byte, error) {
5270	type NoMethod CreativeFieldValuesListResponse
5271	raw := NoMethod(*s)
5272	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5273}
5274
5275// CreativeFieldsListResponse: Creative Field List Response
5276type CreativeFieldsListResponse struct {
5277	// CreativeFields: Creative field collection.
5278	CreativeFields []*CreativeField `json:"creativeFields,omitempty"`
5279
5280	// Kind: Identifies what kind of resource this is. Value: the fixed
5281	// string "dfareporting#creativeFieldsListResponse".
5282	Kind string `json:"kind,omitempty"`
5283
5284	// NextPageToken: Pagination token to be used for the next list
5285	// operation.
5286	NextPageToken string `json:"nextPageToken,omitempty"`
5287
5288	// ServerResponse contains the HTTP response code and headers from the
5289	// server.
5290	googleapi.ServerResponse `json:"-"`
5291
5292	// ForceSendFields is a list of field names (e.g. "CreativeFields") to
5293	// unconditionally include in API requests. By default, fields with
5294	// empty values are omitted from API requests. However, any non-pointer,
5295	// non-interface field appearing in ForceSendFields will be sent to the
5296	// server regardless of whether the field is empty or not. This may be
5297	// used to include empty fields in Patch requests.
5298	ForceSendFields []string `json:"-"`
5299
5300	// NullFields is a list of field names (e.g. "CreativeFields") to
5301	// include in API requests with the JSON null value. By default, fields
5302	// with empty values are omitted from API requests. However, any field
5303	// with an empty value appearing in NullFields will be sent to the
5304	// server as null. It is an error if a field in this list has a
5305	// non-empty value. This may be used to include null fields in Patch
5306	// requests.
5307	NullFields []string `json:"-"`
5308}
5309
5310func (s *CreativeFieldsListResponse) MarshalJSON() ([]byte, error) {
5311	type NoMethod CreativeFieldsListResponse
5312	raw := NoMethod(*s)
5313	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5314}
5315
5316// CreativeGroup: Contains properties of a creative group.
5317type CreativeGroup struct {
5318	// AccountId: Account ID of this creative group. This is a read-only
5319	// field that can be left blank.
5320	AccountId int64 `json:"accountId,omitempty,string"`
5321
5322	// AdvertiserId: Advertiser ID of this creative group. This is a
5323	// required field on insertion.
5324	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5325
5326	// AdvertiserIdDimensionValue: Dimension value for the ID of the
5327	// advertiser. This is a read-only, auto-generated field.
5328	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
5329
5330	// GroupNumber: Subgroup of the creative group. Assign your creative
5331	// groups to a subgroup in order to filter or manage them more easily.
5332	// This field is required on insertion and is read-only after insertion.
5333	// Acceptable values are 1 to 2, inclusive.
5334	GroupNumber int64 `json:"groupNumber,omitempty"`
5335
5336	// Id: ID of this creative group. This is a read-only, auto-generated
5337	// field.
5338	Id int64 `json:"id,omitempty,string"`
5339
5340	// Kind: Identifies what kind of resource this is. Value: the fixed
5341	// string "dfareporting#creativeGroup".
5342	Kind string `json:"kind,omitempty"`
5343
5344	// Name: Name of this creative group. This is a required field and must
5345	// be less than 256 characters long and unique among creative groups of
5346	// the same advertiser.
5347	Name string `json:"name,omitempty"`
5348
5349	// SubaccountId: Subaccount ID of this creative group. This is a
5350	// read-only field that can be left blank.
5351	SubaccountId int64 `json:"subaccountId,omitempty,string"`
5352
5353	// ServerResponse contains the HTTP response code and headers from the
5354	// server.
5355	googleapi.ServerResponse `json:"-"`
5356
5357	// ForceSendFields is a list of field names (e.g. "AccountId") to
5358	// unconditionally include in API requests. By default, fields with
5359	// empty values are omitted from API requests. However, any non-pointer,
5360	// non-interface field appearing in ForceSendFields will be sent to the
5361	// server regardless of whether the field is empty or not. This may be
5362	// used to include empty fields in Patch requests.
5363	ForceSendFields []string `json:"-"`
5364
5365	// NullFields is a list of field names (e.g. "AccountId") to include in
5366	// API requests with the JSON null value. By default, fields with empty
5367	// values are omitted from API requests. However, any field with an
5368	// empty value appearing in NullFields will be sent to the server as
5369	// null. It is an error if a field in this list has a non-empty value.
5370	// This may be used to include null fields in Patch requests.
5371	NullFields []string `json:"-"`
5372}
5373
5374func (s *CreativeGroup) MarshalJSON() ([]byte, error) {
5375	type NoMethod CreativeGroup
5376	raw := NoMethod(*s)
5377	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5378}
5379
5380// CreativeGroupAssignment: Creative Group Assignment.
5381type CreativeGroupAssignment struct {
5382	// CreativeGroupId: ID of the creative group to be assigned.
5383	CreativeGroupId int64 `json:"creativeGroupId,omitempty,string"`
5384
5385	// CreativeGroupNumber: Creative group number of the creative group
5386	// assignment.
5387	//
5388	// Possible values:
5389	//   "CREATIVE_GROUP_ONE"
5390	//   "CREATIVE_GROUP_TWO"
5391	CreativeGroupNumber string `json:"creativeGroupNumber,omitempty"`
5392
5393	// ForceSendFields is a list of field names (e.g. "CreativeGroupId") to
5394	// unconditionally include in API requests. By default, fields with
5395	// empty values are omitted from API requests. However, any non-pointer,
5396	// non-interface field appearing in ForceSendFields will be sent to the
5397	// server regardless of whether the field is empty or not. This may be
5398	// used to include empty fields in Patch requests.
5399	ForceSendFields []string `json:"-"`
5400
5401	// NullFields is a list of field names (e.g. "CreativeGroupId") to
5402	// include in API requests with the JSON null value. By default, fields
5403	// with empty values are omitted from API requests. However, any field
5404	// with an empty value appearing in NullFields will be sent to the
5405	// server as null. It is an error if a field in this list has a
5406	// non-empty value. This may be used to include null fields in Patch
5407	// requests.
5408	NullFields []string `json:"-"`
5409}
5410
5411func (s *CreativeGroupAssignment) MarshalJSON() ([]byte, error) {
5412	type NoMethod CreativeGroupAssignment
5413	raw := NoMethod(*s)
5414	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5415}
5416
5417// CreativeGroupsListResponse: Creative Group List Response
5418type CreativeGroupsListResponse struct {
5419	// CreativeGroups: Creative group collection.
5420	CreativeGroups []*CreativeGroup `json:"creativeGroups,omitempty"`
5421
5422	// Kind: Identifies what kind of resource this is. Value: the fixed
5423	// string "dfareporting#creativeGroupsListResponse".
5424	Kind string `json:"kind,omitempty"`
5425
5426	// NextPageToken: Pagination token to be used for the next list
5427	// operation.
5428	NextPageToken string `json:"nextPageToken,omitempty"`
5429
5430	// ServerResponse contains the HTTP response code and headers from the
5431	// server.
5432	googleapi.ServerResponse `json:"-"`
5433
5434	// ForceSendFields is a list of field names (e.g. "CreativeGroups") to
5435	// unconditionally include in API requests. By default, fields with
5436	// empty values are omitted from API requests. However, any non-pointer,
5437	// non-interface field appearing in ForceSendFields will be sent to the
5438	// server regardless of whether the field is empty or not. This may be
5439	// used to include empty fields in Patch requests.
5440	ForceSendFields []string `json:"-"`
5441
5442	// NullFields is a list of field names (e.g. "CreativeGroups") to
5443	// include in API requests with the JSON null value. By default, fields
5444	// with empty values are omitted from API requests. However, any field
5445	// with an empty value appearing in NullFields will be sent to the
5446	// server as null. It is an error if a field in this list has a
5447	// non-empty value. This may be used to include null fields in Patch
5448	// requests.
5449	NullFields []string `json:"-"`
5450}
5451
5452func (s *CreativeGroupsListResponse) MarshalJSON() ([]byte, error) {
5453	type NoMethod CreativeGroupsListResponse
5454	raw := NoMethod(*s)
5455	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5456}
5457
5458// CreativeOptimizationConfiguration: Creative optimization settings.
5459type CreativeOptimizationConfiguration struct {
5460	// Id: ID of this creative optimization config. This field is
5461	// auto-generated when the campaign is inserted or updated. It can be
5462	// null for existing campaigns.
5463	Id int64 `json:"id,omitempty,string"`
5464
5465	// Name: Name of this creative optimization config. This is a required
5466	// field and must be less than 129 characters long.
5467	Name string `json:"name,omitempty"`
5468
5469	// OptimizationActivitys: List of optimization activities associated
5470	// with this configuration.
5471	OptimizationActivitys []*OptimizationActivity `json:"optimizationActivitys,omitempty"`
5472
5473	// OptimizationModel: Optimization model for this configuration.
5474	//
5475	// Possible values:
5476	//   "CLICK"
5477	//   "POST_CLICK"
5478	//   "POST_IMPRESSION"
5479	//   "POST_CLICK_AND_IMPRESSION"
5480	//   "VIDEO_COMPLETION"
5481	OptimizationModel string `json:"optimizationModel,omitempty"`
5482
5483	// ForceSendFields is a list of field names (e.g. "Id") to
5484	// unconditionally include in API requests. By default, fields with
5485	// empty values are omitted from API requests. However, any non-pointer,
5486	// non-interface field appearing in ForceSendFields will be sent to the
5487	// server regardless of whether the field is empty or not. This may be
5488	// used to include empty fields in Patch requests.
5489	ForceSendFields []string `json:"-"`
5490
5491	// NullFields is a list of field names (e.g. "Id") to include in API
5492	// requests with the JSON null value. By default, fields with empty
5493	// values are omitted from API requests. However, any field with an
5494	// empty value appearing in NullFields will be sent to the server as
5495	// null. It is an error if a field in this list has a non-empty value.
5496	// This may be used to include null fields in Patch requests.
5497	NullFields []string `json:"-"`
5498}
5499
5500func (s *CreativeOptimizationConfiguration) MarshalJSON() ([]byte, error) {
5501	type NoMethod CreativeOptimizationConfiguration
5502	raw := NoMethod(*s)
5503	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5504}
5505
5506// CreativeRotation: Creative Rotation.
5507type CreativeRotation struct {
5508	// CreativeAssignments: Creative assignments in this creative rotation.
5509	CreativeAssignments []*CreativeAssignment `json:"creativeAssignments,omitempty"`
5510
5511	// CreativeOptimizationConfigurationId: Creative optimization
5512	// configuration that is used by this ad. It should refer to one of the
5513	// existing optimization configurations in the ad's campaign. If it is
5514	// unset or set to 0, then the campaign's default optimization
5515	// configuration will be used for this ad.
5516	CreativeOptimizationConfigurationId int64 `json:"creativeOptimizationConfigurationId,omitempty,string"`
5517
5518	// Type: Type of creative rotation. Can be used to specify whether to
5519	// use sequential or random rotation.
5520	//
5521	// Possible values:
5522	//   "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
5523	//   "CREATIVE_ROTATION_TYPE_RANDOM"
5524	Type string `json:"type,omitempty"`
5525
5526	// WeightCalculationStrategy: Strategy for calculating weights. Used
5527	// with CREATIVE_ROTATION_TYPE_RANDOM.
5528	//
5529	// Possible values:
5530	//   "WEIGHT_STRATEGY_EQUAL"
5531	//   "WEIGHT_STRATEGY_CUSTOM"
5532	//   "WEIGHT_STRATEGY_HIGHEST_CTR"
5533	//   "WEIGHT_STRATEGY_OPTIMIZED"
5534	WeightCalculationStrategy string `json:"weightCalculationStrategy,omitempty"`
5535
5536	// ForceSendFields is a list of field names (e.g. "CreativeAssignments")
5537	// to unconditionally include in API requests. By default, fields with
5538	// empty values are omitted from API requests. However, any non-pointer,
5539	// non-interface field appearing in ForceSendFields will be sent to the
5540	// server regardless of whether the field is empty or not. This may be
5541	// used to include empty fields in Patch requests.
5542	ForceSendFields []string `json:"-"`
5543
5544	// NullFields is a list of field names (e.g. "CreativeAssignments") to
5545	// include in API requests with the JSON null value. By default, fields
5546	// with empty values are omitted from API requests. However, any field
5547	// with an empty value appearing in NullFields will be sent to the
5548	// server as null. It is an error if a field in this list has a
5549	// non-empty value. This may be used to include null fields in Patch
5550	// requests.
5551	NullFields []string `json:"-"`
5552}
5553
5554func (s *CreativeRotation) MarshalJSON() ([]byte, error) {
5555	type NoMethod CreativeRotation
5556	raw := NoMethod(*s)
5557	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5558}
5559
5560// CreativesListResponse: Creative List Response
5561type CreativesListResponse struct {
5562	// Creatives: Creative collection.
5563	Creatives []*Creative `json:"creatives,omitempty"`
5564
5565	// Kind: Identifies what kind of resource this is. Value: the fixed
5566	// string "dfareporting#creativesListResponse".
5567	Kind string `json:"kind,omitempty"`
5568
5569	// NextPageToken: Pagination token to be used for the next list
5570	// operation.
5571	NextPageToken string `json:"nextPageToken,omitempty"`
5572
5573	// ServerResponse contains the HTTP response code and headers from the
5574	// server.
5575	googleapi.ServerResponse `json:"-"`
5576
5577	// ForceSendFields is a list of field names (e.g. "Creatives") to
5578	// unconditionally include in API requests. By default, fields with
5579	// empty values are omitted from API requests. However, any non-pointer,
5580	// non-interface field appearing in ForceSendFields will be sent to the
5581	// server regardless of whether the field is empty or not. This may be
5582	// used to include empty fields in Patch requests.
5583	ForceSendFields []string `json:"-"`
5584
5585	// NullFields is a list of field names (e.g. "Creatives") to include in
5586	// API requests with the JSON null value. By default, fields with empty
5587	// values are omitted from API requests. However, any field with an
5588	// empty value appearing in NullFields will be sent to the server as
5589	// null. It is an error if a field in this list has a non-empty value.
5590	// This may be used to include null fields in Patch requests.
5591	NullFields []string `json:"-"`
5592}
5593
5594func (s *CreativesListResponse) MarshalJSON() ([]byte, error) {
5595	type NoMethod CreativesListResponse
5596	raw := NoMethod(*s)
5597	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5598}
5599
5600// CrossDimensionReachReportCompatibleFields: Represents fields that are
5601// compatible to be selected for a report of type
5602// "CROSS_DIMENSION_REACH".
5603type CrossDimensionReachReportCompatibleFields struct {
5604	// Breakdown: Dimensions which are compatible to be selected in the
5605	// "breakdown" section of the report.
5606	Breakdown []*Dimension `json:"breakdown,omitempty"`
5607
5608	// DimensionFilters: Dimensions which are compatible to be selected in
5609	// the "dimensionFilters" section of the report.
5610	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
5611
5612	// Kind: The kind of resource this is, in this case
5613	// dfareporting#crossDimensionReachReportCompatibleFields.
5614	Kind string `json:"kind,omitempty"`
5615
5616	// Metrics: Metrics which are compatible to be selected in the
5617	// "metricNames" section of the report.
5618	Metrics []*Metric `json:"metrics,omitempty"`
5619
5620	// OverlapMetrics: Metrics which are compatible to be selected in the
5621	// "overlapMetricNames" section of the report.
5622	OverlapMetrics []*Metric `json:"overlapMetrics,omitempty"`
5623
5624	// ForceSendFields is a list of field names (e.g. "Breakdown") to
5625	// unconditionally include in API requests. By default, fields with
5626	// empty values are omitted from API requests. However, any non-pointer,
5627	// non-interface field appearing in ForceSendFields will be sent to the
5628	// server regardless of whether the field is empty or not. This may be
5629	// used to include empty fields in Patch requests.
5630	ForceSendFields []string `json:"-"`
5631
5632	// NullFields is a list of field names (e.g. "Breakdown") to include in
5633	// API requests with the JSON null value. By default, fields with empty
5634	// values are omitted from API requests. However, any field with an
5635	// empty value appearing in NullFields will be sent to the server as
5636	// null. It is an error if a field in this list has a non-empty value.
5637	// This may be used to include null fields in Patch requests.
5638	NullFields []string `json:"-"`
5639}
5640
5641func (s *CrossDimensionReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
5642	type NoMethod CrossDimensionReachReportCompatibleFields
5643	raw := NoMethod(*s)
5644	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5645}
5646
5647// CustomFloodlightVariable: A custom floodlight variable.
5648type CustomFloodlightVariable struct {
5649	// Kind: Identifies what kind of resource this is. Value: the fixed
5650	// string "dfareporting#customFloodlightVariable".
5651	Kind string `json:"kind,omitempty"`
5652
5653	// Type: The type of custom floodlight variable to supply a value for.
5654	// These map to the "u[1-20]=" in the tags.
5655	//
5656	// Possible values:
5657	//   "U1"
5658	//   "U2"
5659	//   "U3"
5660	//   "U4"
5661	//   "U5"
5662	//   "U6"
5663	//   "U7"
5664	//   "U8"
5665	//   "U9"
5666	//   "U10"
5667	//   "U11"
5668	//   "U12"
5669	//   "U13"
5670	//   "U14"
5671	//   "U15"
5672	//   "U16"
5673	//   "U17"
5674	//   "U18"
5675	//   "U19"
5676	//   "U20"
5677	//   "U21"
5678	//   "U22"
5679	//   "U23"
5680	//   "U24"
5681	//   "U25"
5682	//   "U26"
5683	//   "U27"
5684	//   "U28"
5685	//   "U29"
5686	//   "U30"
5687	//   "U31"
5688	//   "U32"
5689	//   "U33"
5690	//   "U34"
5691	//   "U35"
5692	//   "U36"
5693	//   "U37"
5694	//   "U38"
5695	//   "U39"
5696	//   "U40"
5697	//   "U41"
5698	//   "U42"
5699	//   "U43"
5700	//   "U44"
5701	//   "U45"
5702	//   "U46"
5703	//   "U47"
5704	//   "U48"
5705	//   "U49"
5706	//   "U50"
5707	//   "U51"
5708	//   "U52"
5709	//   "U53"
5710	//   "U54"
5711	//   "U55"
5712	//   "U56"
5713	//   "U57"
5714	//   "U58"
5715	//   "U59"
5716	//   "U60"
5717	//   "U61"
5718	//   "U62"
5719	//   "U63"
5720	//   "U64"
5721	//   "U65"
5722	//   "U66"
5723	//   "U67"
5724	//   "U68"
5725	//   "U69"
5726	//   "U70"
5727	//   "U71"
5728	//   "U72"
5729	//   "U73"
5730	//   "U74"
5731	//   "U75"
5732	//   "U76"
5733	//   "U77"
5734	//   "U78"
5735	//   "U79"
5736	//   "U80"
5737	//   "U81"
5738	//   "U82"
5739	//   "U83"
5740	//   "U84"
5741	//   "U85"
5742	//   "U86"
5743	//   "U87"
5744	//   "U88"
5745	//   "U89"
5746	//   "U90"
5747	//   "U91"
5748	//   "U92"
5749	//   "U93"
5750	//   "U94"
5751	//   "U95"
5752	//   "U96"
5753	//   "U97"
5754	//   "U98"
5755	//   "U99"
5756	//   "U100"
5757	Type string `json:"type,omitempty"`
5758
5759	// Value: The value of the custom floodlight variable. The length of
5760	// string must not exceed 100 characters.
5761	Value string `json:"value,omitempty"`
5762
5763	// ForceSendFields is a list of field names (e.g. "Kind") to
5764	// unconditionally include in API requests. By default, fields with
5765	// empty values are omitted from API requests. However, any non-pointer,
5766	// non-interface field appearing in ForceSendFields will be sent to the
5767	// server regardless of whether the field is empty or not. This may be
5768	// used to include empty fields in Patch requests.
5769	ForceSendFields []string `json:"-"`
5770
5771	// NullFields is a list of field names (e.g. "Kind") to include in API
5772	// requests with the JSON null value. By default, fields with empty
5773	// values are omitted from API requests. However, any field with an
5774	// empty value appearing in NullFields will be sent to the server as
5775	// null. It is an error if a field in this list has a non-empty value.
5776	// This may be used to include null fields in Patch requests.
5777	NullFields []string `json:"-"`
5778}
5779
5780func (s *CustomFloodlightVariable) MarshalJSON() ([]byte, error) {
5781	type NoMethod CustomFloodlightVariable
5782	raw := NoMethod(*s)
5783	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5784}
5785
5786// CustomRichMediaEvents: Represents a Custom Rich Media Events group.
5787type CustomRichMediaEvents struct {
5788	// FilteredEventIds: List of custom rich media event IDs. Dimension
5789	// values must be all of type dfa:richMediaEventTypeIdAndName.
5790	FilteredEventIds []*DimensionValue `json:"filteredEventIds,omitempty"`
5791
5792	// Kind: The kind of resource this is, in this case
5793	// dfareporting#customRichMediaEvents.
5794	Kind string `json:"kind,omitempty"`
5795
5796	// ForceSendFields is a list of field names (e.g. "FilteredEventIds") to
5797	// unconditionally include in API requests. By default, fields with
5798	// empty values are omitted from API requests. However, any non-pointer,
5799	// non-interface field appearing in ForceSendFields will be sent to the
5800	// server regardless of whether the field is empty or not. This may be
5801	// used to include empty fields in Patch requests.
5802	ForceSendFields []string `json:"-"`
5803
5804	// NullFields is a list of field names (e.g. "FilteredEventIds") to
5805	// include in API requests with the JSON null value. By default, fields
5806	// with empty values are omitted from API requests. However, any field
5807	// with an empty value appearing in NullFields will be sent to the
5808	// server as null. It is an error if a field in this list has a
5809	// non-empty value. This may be used to include null fields in Patch
5810	// requests.
5811	NullFields []string `json:"-"`
5812}
5813
5814func (s *CustomRichMediaEvents) MarshalJSON() ([]byte, error) {
5815	type NoMethod CustomRichMediaEvents
5816	raw := NoMethod(*s)
5817	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5818}
5819
5820// CustomViewabilityMetric: Custom Viewability Metric
5821type CustomViewabilityMetric struct {
5822	// Configuration: Configuration of the custom viewability metric.
5823	Configuration *CustomViewabilityMetricConfiguration `json:"configuration,omitempty"`
5824
5825	// Id: ID of the custom viewability metric.
5826	Id int64 `json:"id,omitempty,string"`
5827
5828	// Name: Name of the custom viewability metric.
5829	Name string `json:"name,omitempty"`
5830
5831	// ForceSendFields is a list of field names (e.g. "Configuration") to
5832	// unconditionally include in API requests. By default, fields with
5833	// empty values are omitted from API requests. However, any non-pointer,
5834	// non-interface field appearing in ForceSendFields will be sent to the
5835	// server regardless of whether the field is empty or not. This may be
5836	// used to include empty fields in Patch requests.
5837	ForceSendFields []string `json:"-"`
5838
5839	// NullFields is a list of field names (e.g. "Configuration") to include
5840	// in API requests with the JSON null value. By default, fields with
5841	// empty values are omitted from API requests. However, any field with
5842	// an empty value appearing in NullFields will be sent to the server as
5843	// null. It is an error if a field in this list has a non-empty value.
5844	// This may be used to include null fields in Patch requests.
5845	NullFields []string `json:"-"`
5846}
5847
5848func (s *CustomViewabilityMetric) MarshalJSON() ([]byte, error) {
5849	type NoMethod CustomViewabilityMetric
5850	raw := NoMethod(*s)
5851	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5852}
5853
5854// CustomViewabilityMetricConfiguration: The attributes, like playtime
5855// and percent onscreen, that define the Custom Viewability Metric.
5856type CustomViewabilityMetricConfiguration struct {
5857	// Audible: Whether the video must be audible to count an impression.
5858	Audible bool `json:"audible,omitempty"`
5859
5860	// TimeMillis: The time in milliseconds the video must play for the
5861	// Custom Viewability Metric to count an impression. If both this and
5862	// timePercent are specified, the earlier of the two will be used.
5863	TimeMillis int64 `json:"timeMillis,omitempty"`
5864
5865	// TimePercent: The percentage of video that must play for the Custom
5866	// Viewability Metric to count an impression. If both this and
5867	// timeMillis are specified, the earlier of the two will be used.
5868	TimePercent int64 `json:"timePercent,omitempty"`
5869
5870	// ViewabilityPercent: The percentage of video that must be on screen
5871	// for the Custom Viewability Metric to count an impression.
5872	ViewabilityPercent int64 `json:"viewabilityPercent,omitempty"`
5873
5874	// ForceSendFields is a list of field names (e.g. "Audible") to
5875	// unconditionally include in API requests. By default, fields with
5876	// empty values are omitted from API requests. However, any non-pointer,
5877	// non-interface field appearing in ForceSendFields will be sent to the
5878	// server regardless of whether the field is empty or not. This may be
5879	// used to include empty fields in Patch requests.
5880	ForceSendFields []string `json:"-"`
5881
5882	// NullFields is a list of field names (e.g. "Audible") to include in
5883	// API requests with the JSON null value. By default, fields with empty
5884	// values are omitted from API requests. However, any field with an
5885	// empty value appearing in NullFields will be sent to the server as
5886	// null. It is an error if a field in this list has a non-empty value.
5887	// This may be used to include null fields in Patch requests.
5888	NullFields []string `json:"-"`
5889}
5890
5891func (s *CustomViewabilityMetricConfiguration) MarshalJSON() ([]byte, error) {
5892	type NoMethod CustomViewabilityMetricConfiguration
5893	raw := NoMethod(*s)
5894	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5895}
5896
5897// DateRange: Represents a date range.
5898type DateRange struct {
5899	EndDate string `json:"endDate,omitempty"`
5900
5901	// Kind: The kind of resource this is, in this case
5902	// dfareporting#dateRange.
5903	Kind string `json:"kind,omitempty"`
5904
5905	// RelativeDateRange: The date range relative to the date of when the
5906	// report is run.
5907	//
5908	// Possible values:
5909	//   "TODAY"
5910	//   "YESTERDAY"
5911	//   "WEEK_TO_DATE"
5912	//   "MONTH_TO_DATE"
5913	//   "QUARTER_TO_DATE"
5914	//   "YEAR_TO_DATE"
5915	//   "PREVIOUS_WEEK"
5916	//   "PREVIOUS_MONTH"
5917	//   "PREVIOUS_QUARTER"
5918	//   "PREVIOUS_YEAR"
5919	//   "LAST_7_DAYS"
5920	//   "LAST_30_DAYS"
5921	//   "LAST_90_DAYS"
5922	//   "LAST_365_DAYS"
5923	//   "LAST_24_MONTHS"
5924	//   "LAST_14_DAYS"
5925	//   "LAST_60_DAYS"
5926	RelativeDateRange string `json:"relativeDateRange,omitempty"`
5927
5928	StartDate string `json:"startDate,omitempty"`
5929
5930	// ForceSendFields is a list of field names (e.g. "EndDate") to
5931	// unconditionally include in API requests. By default, fields with
5932	// empty values are omitted from API requests. However, any non-pointer,
5933	// non-interface field appearing in ForceSendFields will be sent to the
5934	// server regardless of whether the field is empty or not. This may be
5935	// used to include empty fields in Patch requests.
5936	ForceSendFields []string `json:"-"`
5937
5938	// NullFields is a list of field names (e.g. "EndDate") to include in
5939	// API requests with the JSON null value. By default, fields with empty
5940	// values are omitted from API requests. However, any field with an
5941	// empty value appearing in NullFields will be sent to the server as
5942	// null. It is an error if a field in this list has a non-empty value.
5943	// This may be used to include null fields in Patch requests.
5944	NullFields []string `json:"-"`
5945}
5946
5947func (s *DateRange) MarshalJSON() ([]byte, error) {
5948	type NoMethod DateRange
5949	raw := NoMethod(*s)
5950	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5951}
5952
5953// DayPartTargeting: Day Part Targeting.
5954type DayPartTargeting struct {
5955	// DaysOfWeek: Days of the week when the ad will serve. Acceptable
5956	// values are: - "SUNDAY" - "MONDAY" - "TUESDAY" - "WEDNESDAY" -
5957	// "THURSDAY" - "FRIDAY" - "SATURDAY"
5958	//
5959	// Possible values:
5960	//   "MONDAY"
5961	//   "TUESDAY"
5962	//   "WEDNESDAY"
5963	//   "THURSDAY"
5964	//   "FRIDAY"
5965	//   "SATURDAY"
5966	//   "SUNDAY"
5967	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
5968
5969	// HoursOfDay: Hours of the day when the ad will serve, where 0 is
5970	// midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with
5971	// days of week, in which case the ad would serve during these hours on
5972	// the specified days. For example if Monday, Wednesday, Friday are the
5973	// days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is
5974	// specified, the ad would serve Monday, Wednesdays, and Fridays at
5975	// 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.
5976	HoursOfDay []int64 `json:"hoursOfDay,omitempty"`
5977
5978	// UserLocalTime: Whether or not to use the user's local time. If false,
5979	// the America/New York time zone applies.
5980	UserLocalTime bool `json:"userLocalTime,omitempty"`
5981
5982	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
5983	// unconditionally include in API requests. By default, fields with
5984	// empty values are omitted from API requests. However, any non-pointer,
5985	// non-interface field appearing in ForceSendFields will be sent to the
5986	// server regardless of whether the field is empty or not. This may be
5987	// used to include empty fields in Patch requests.
5988	ForceSendFields []string `json:"-"`
5989
5990	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in
5991	// API requests with the JSON null value. By default, fields with empty
5992	// values are omitted from API requests. However, any field with an
5993	// empty value appearing in NullFields will be sent to the server as
5994	// null. It is an error if a field in this list has a non-empty value.
5995	// This may be used to include null fields in Patch requests.
5996	NullFields []string `json:"-"`
5997}
5998
5999func (s *DayPartTargeting) MarshalJSON() ([]byte, error) {
6000	type NoMethod DayPartTargeting
6001	raw := NoMethod(*s)
6002	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6003}
6004
6005// DeepLink: Contains information about a landing page deep link.
6006type DeepLink struct {
6007	// AppUrl: The URL of the mobile app being linked to.
6008	AppUrl string `json:"appUrl,omitempty"`
6009
6010	// FallbackUrl: The fallback URL. This URL will be served to users who
6011	// do not have the mobile app installed.
6012	FallbackUrl string `json:"fallbackUrl,omitempty"`
6013
6014	// Kind: Identifies what kind of resource this is. Value: the fixed
6015	// string "dfareporting#deepLink".
6016	Kind string `json:"kind,omitempty"`
6017
6018	// MobileApp: The mobile app targeted by this deep link.
6019	MobileApp *MobileApp `json:"mobileApp,omitempty"`
6020
6021	// RemarketingListIds: Ads served to users on these remarketing lists
6022	// will use this deep link. Applicable when mobileApp.directory is
6023	// APPLE_APP_STORE.
6024	RemarketingListIds googleapi.Int64s `json:"remarketingListIds,omitempty"`
6025
6026	// ForceSendFields is a list of field names (e.g. "AppUrl") to
6027	// unconditionally include in API requests. By default, fields with
6028	// empty values are omitted from API requests. However, any non-pointer,
6029	// non-interface field appearing in ForceSendFields will be sent to the
6030	// server regardless of whether the field is empty or not. This may be
6031	// used to include empty fields in Patch requests.
6032	ForceSendFields []string `json:"-"`
6033
6034	// NullFields is a list of field names (e.g. "AppUrl") to include in API
6035	// requests with the JSON null value. By default, fields with empty
6036	// values are omitted from API requests. However, any field with an
6037	// empty value appearing in NullFields will be sent to the server as
6038	// null. It is an error if a field in this list has a non-empty value.
6039	// This may be used to include null fields in Patch requests.
6040	NullFields []string `json:"-"`
6041}
6042
6043func (s *DeepLink) MarshalJSON() ([]byte, error) {
6044	type NoMethod DeepLink
6045	raw := NoMethod(*s)
6046	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6047}
6048
6049// DefaultClickThroughEventTagProperties: Properties of inheriting and
6050// overriding the default click-through event tag. A campaign may
6051// override the event tag defined at the advertiser level, and an ad may
6052// also override the campaign's setting further.
6053type DefaultClickThroughEventTagProperties struct {
6054	// DefaultClickThroughEventTagId: ID of the click-through event tag to
6055	// apply to all ads in this entity's scope.
6056	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
6057
6058	// OverrideInheritedEventTag: Whether this entity should override the
6059	// inherited default click-through event tag with its own defined value.
6060	OverrideInheritedEventTag bool `json:"overrideInheritedEventTag,omitempty"`
6061
6062	// ForceSendFields is a list of field names (e.g.
6063	// "DefaultClickThroughEventTagId") to unconditionally include in API
6064	// requests. By default, fields with empty values are omitted from API
6065	// requests. However, any non-pointer, non-interface field appearing in
6066	// ForceSendFields will be sent to the server regardless of whether the
6067	// field is empty or not. This may be used to include empty fields in
6068	// Patch requests.
6069	ForceSendFields []string `json:"-"`
6070
6071	// NullFields is a list of field names (e.g.
6072	// "DefaultClickThroughEventTagId") to include in API requests with the
6073	// JSON null value. By default, fields with empty values are omitted
6074	// from API requests. However, any field with an empty value appearing
6075	// in NullFields will be sent to the server as null. It is an error if a
6076	// field in this list has a non-empty value. This may be used to include
6077	// null fields in Patch requests.
6078	NullFields []string `json:"-"`
6079}
6080
6081func (s *DefaultClickThroughEventTagProperties) MarshalJSON() ([]byte, error) {
6082	type NoMethod DefaultClickThroughEventTagProperties
6083	raw := NoMethod(*s)
6084	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6085}
6086
6087// DeliverySchedule: Delivery Schedule.
6088type DeliverySchedule struct {
6089	// FrequencyCap: Limit on the number of times an individual user can be
6090	// served the ad within a specified period of time.
6091	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
6092
6093	// HardCutoff: Whether or not hard cutoff is enabled. If true, the ad
6094	// will not serve after the end date and time. Otherwise the ad will
6095	// continue to be served until it has reached its delivery goals.
6096	HardCutoff bool `json:"hardCutoff,omitempty"`
6097
6098	// ImpressionRatio: Impression ratio for this ad. This ratio determines
6099	// how often each ad is served relative to the others. For example, if
6100	// ad A has an impression ratio of 1 and ad B has an impression ratio of
6101	// 3, then Campaign Manager will serve ad B three times as often as ad
6102	// A. Acceptable values are 1 to 10, inclusive.
6103	ImpressionRatio int64 `json:"impressionRatio,omitempty,string"`
6104
6105	// Priority: Serving priority of an ad, with respect to other ads. The
6106	// lower the priority number, the greater the priority with which it is
6107	// served.
6108	//
6109	// Possible values:
6110	//   "AD_PRIORITY_01"
6111	//   "AD_PRIORITY_02"
6112	//   "AD_PRIORITY_03"
6113	//   "AD_PRIORITY_04"
6114	//   "AD_PRIORITY_05"
6115	//   "AD_PRIORITY_06"
6116	//   "AD_PRIORITY_07"
6117	//   "AD_PRIORITY_08"
6118	//   "AD_PRIORITY_09"
6119	//   "AD_PRIORITY_10"
6120	//   "AD_PRIORITY_11"
6121	//   "AD_PRIORITY_12"
6122	//   "AD_PRIORITY_13"
6123	//   "AD_PRIORITY_14"
6124	//   "AD_PRIORITY_15"
6125	//   "AD_PRIORITY_16"
6126	Priority string `json:"priority,omitempty"`
6127
6128	// ForceSendFields is a list of field names (e.g. "FrequencyCap") to
6129	// unconditionally include in API requests. By default, fields with
6130	// empty values are omitted from API requests. However, any non-pointer,
6131	// non-interface field appearing in ForceSendFields will be sent to the
6132	// server regardless of whether the field is empty or not. This may be
6133	// used to include empty fields in Patch requests.
6134	ForceSendFields []string `json:"-"`
6135
6136	// NullFields is a list of field names (e.g. "FrequencyCap") to include
6137	// in API requests with the JSON null value. By default, fields with
6138	// empty values are omitted from API requests. However, any field with
6139	// an empty value appearing in NullFields will be sent to the server as
6140	// null. It is an error if a field in this list has a non-empty value.
6141	// This may be used to include null fields in Patch requests.
6142	NullFields []string `json:"-"`
6143}
6144
6145func (s *DeliverySchedule) MarshalJSON() ([]byte, error) {
6146	type NoMethod DeliverySchedule
6147	raw := NoMethod(*s)
6148	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6149}
6150
6151// DfpSettings: Google Ad Manager Settings
6152type DfpSettings struct {
6153	// DfpNetworkCode: Ad Manager network code for this directory site.
6154	DfpNetworkCode string `json:"dfpNetworkCode,omitempty"`
6155
6156	// DfpNetworkName: Ad Manager network name for this directory site.
6157	DfpNetworkName string `json:"dfpNetworkName,omitempty"`
6158
6159	// ProgrammaticPlacementAccepted: Whether this directory site accepts
6160	// programmatic placements.
6161	ProgrammaticPlacementAccepted bool `json:"programmaticPlacementAccepted,omitempty"`
6162
6163	// PubPaidPlacementAccepted: Whether this directory site accepts
6164	// publisher-paid tags.
6165	PubPaidPlacementAccepted bool `json:"pubPaidPlacementAccepted,omitempty"`
6166
6167	// PublisherPortalOnly: Whether this directory site is available only
6168	// via Publisher Portal.
6169	PublisherPortalOnly bool `json:"publisherPortalOnly,omitempty"`
6170
6171	// ForceSendFields is a list of field names (e.g. "DfpNetworkCode") to
6172	// unconditionally include in API requests. By default, fields with
6173	// empty values are omitted from API requests. However, any non-pointer,
6174	// non-interface field appearing in ForceSendFields will be sent to the
6175	// server regardless of whether the field is empty or not. This may be
6176	// used to include empty fields in Patch requests.
6177	ForceSendFields []string `json:"-"`
6178
6179	// NullFields is a list of field names (e.g. "DfpNetworkCode") to
6180	// include in API requests with the JSON null value. By default, fields
6181	// with empty values are omitted from API requests. However, any field
6182	// with an empty value appearing in NullFields will be sent to the
6183	// server as null. It is an error if a field in this list has a
6184	// non-empty value. This may be used to include null fields in Patch
6185	// requests.
6186	NullFields []string `json:"-"`
6187}
6188
6189func (s *DfpSettings) MarshalJSON() ([]byte, error) {
6190	type NoMethod DfpSettings
6191	raw := NoMethod(*s)
6192	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6193}
6194
6195// Dimension: Represents a dimension.
6196type Dimension struct {
6197	// Kind: The kind of resource this is, in this case
6198	// dfareporting#dimension.
6199	Kind string `json:"kind,omitempty"`
6200
6201	// Name: The dimension name, e.g. dfa:advertiser
6202	Name string `json:"name,omitempty"`
6203
6204	// ForceSendFields is a list of field names (e.g. "Kind") to
6205	// unconditionally include in API requests. By default, fields with
6206	// empty values are omitted from API requests. However, any non-pointer,
6207	// non-interface field appearing in ForceSendFields will be sent to the
6208	// server regardless of whether the field is empty or not. This may be
6209	// used to include empty fields in Patch requests.
6210	ForceSendFields []string `json:"-"`
6211
6212	// NullFields is a list of field names (e.g. "Kind") to include in API
6213	// requests with the JSON null value. By default, fields with empty
6214	// values are omitted from API requests. However, any field with an
6215	// empty value appearing in NullFields will be sent to the server as
6216	// null. It is an error if a field in this list has a non-empty value.
6217	// This may be used to include null fields in Patch requests.
6218	NullFields []string `json:"-"`
6219}
6220
6221func (s *Dimension) MarshalJSON() ([]byte, error) {
6222	type NoMethod Dimension
6223	raw := NoMethod(*s)
6224	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6225}
6226
6227// DimensionFilter: Represents a dimension filter.
6228type DimensionFilter struct {
6229	// DimensionName: The name of the dimension to filter.
6230	DimensionName string `json:"dimensionName,omitempty"`
6231
6232	// Kind: The kind of resource this is, in this case
6233	// dfareporting#dimensionFilter.
6234	Kind string `json:"kind,omitempty"`
6235
6236	// Value: The value of the dimension to filter.
6237	Value string `json:"value,omitempty"`
6238
6239	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6240	// unconditionally include in API requests. By default, fields with
6241	// empty values are omitted from API requests. However, any non-pointer,
6242	// non-interface field appearing in ForceSendFields will be sent to the
6243	// server regardless of whether the field is empty or not. This may be
6244	// used to include empty fields in Patch requests.
6245	ForceSendFields []string `json:"-"`
6246
6247	// NullFields is a list of field names (e.g. "DimensionName") to include
6248	// in API requests with the JSON null value. By default, fields with
6249	// empty values are omitted from API requests. However, any field with
6250	// an empty value appearing in NullFields will be sent to the server as
6251	// null. It is an error if a field in this list has a non-empty value.
6252	// This may be used to include null fields in Patch requests.
6253	NullFields []string `json:"-"`
6254}
6255
6256func (s *DimensionFilter) MarshalJSON() ([]byte, error) {
6257	type NoMethod DimensionFilter
6258	raw := NoMethod(*s)
6259	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6260}
6261
6262// DimensionValue: Represents a DimensionValue resource.
6263type DimensionValue struct {
6264	// DimensionName: The name of the dimension.
6265	DimensionName string `json:"dimensionName,omitempty"`
6266
6267	// Etag: The eTag of this response for caching purposes.
6268	Etag string `json:"etag,omitempty"`
6269
6270	// Id: The ID associated with the value if available.
6271	Id string `json:"id,omitempty"`
6272
6273	// Kind: The kind of resource this is, in this case
6274	// dfareporting#dimensionValue.
6275	Kind string `json:"kind,omitempty"`
6276
6277	// MatchType: Determines how the 'value' field is matched when
6278	// filtering. If not specified, defaults to EXACT. If set to
6279	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
6280	// length character sequences, and it can be escaped with a backslash.
6281	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
6282	// matchType other than EXACT.
6283	//
6284	// Possible values:
6285	//   "EXACT"
6286	//   "BEGINS_WITH"
6287	//   "CONTAINS"
6288	//   "WILDCARD_EXPRESSION"
6289	MatchType string `json:"matchType,omitempty"`
6290
6291	// Value: The value of the dimension.
6292	Value string `json:"value,omitempty"`
6293
6294	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6295	// unconditionally include in API requests. By default, fields with
6296	// empty values are omitted from API requests. However, any non-pointer,
6297	// non-interface field appearing in ForceSendFields will be sent to the
6298	// server regardless of whether the field is empty or not. This may be
6299	// used to include empty fields in Patch requests.
6300	ForceSendFields []string `json:"-"`
6301
6302	// NullFields is a list of field names (e.g. "DimensionName") to include
6303	// in API requests with the JSON null value. By default, fields with
6304	// empty values are omitted from API requests. However, any field with
6305	// an empty value appearing in NullFields will be sent to the server as
6306	// null. It is an error if a field in this list has a non-empty value.
6307	// This may be used to include null fields in Patch requests.
6308	NullFields []string `json:"-"`
6309}
6310
6311func (s *DimensionValue) MarshalJSON() ([]byte, error) {
6312	type NoMethod DimensionValue
6313	raw := NoMethod(*s)
6314	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6315}
6316
6317// DimensionValueList: Represents the list of DimensionValue resources.
6318type DimensionValueList struct {
6319	// Etag: The eTag of this response for caching purposes.
6320	Etag string `json:"etag,omitempty"`
6321
6322	// Items: The dimension values returned in this response.
6323	Items []*DimensionValue `json:"items,omitempty"`
6324
6325	// Kind: The kind of list this is, in this case
6326	// dfareporting#dimensionValueList.
6327	Kind string `json:"kind,omitempty"`
6328
6329	// NextPageToken: Continuation token used to page through dimension
6330	// values. To retrieve the next page of results, set the next request's
6331	// "pageToken" to the value of this field. The page token is only valid
6332	// for a limited amount of time and should not be persisted.
6333	NextPageToken string `json:"nextPageToken,omitempty"`
6334
6335	// ServerResponse contains the HTTP response code and headers from the
6336	// server.
6337	googleapi.ServerResponse `json:"-"`
6338
6339	// ForceSendFields is a list of field names (e.g. "Etag") to
6340	// unconditionally include in API requests. By default, fields with
6341	// empty values are omitted from API requests. However, any non-pointer,
6342	// non-interface field appearing in ForceSendFields will be sent to the
6343	// server regardless of whether the field is empty or not. This may be
6344	// used to include empty fields in Patch requests.
6345	ForceSendFields []string `json:"-"`
6346
6347	// NullFields is a list of field names (e.g. "Etag") to include in API
6348	// requests with the JSON null value. By default, fields with empty
6349	// values are omitted from API requests. However, any field with an
6350	// empty value appearing in NullFields will be sent to the server as
6351	// null. It is an error if a field in this list has a non-empty value.
6352	// This may be used to include null fields in Patch requests.
6353	NullFields []string `json:"-"`
6354}
6355
6356func (s *DimensionValueList) MarshalJSON() ([]byte, error) {
6357	type NoMethod DimensionValueList
6358	raw := NoMethod(*s)
6359	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6360}
6361
6362// DimensionValueRequest: Represents a DimensionValuesRequest.
6363type DimensionValueRequest struct {
6364	// DimensionName: The name of the dimension for which values should be
6365	// requested.
6366	DimensionName string `json:"dimensionName,omitempty"`
6367
6368	EndDate string `json:"endDate,omitempty"`
6369
6370	// Filters: The list of filters by which to filter values. The filters
6371	// are ANDed.
6372	Filters []*DimensionFilter `json:"filters,omitempty"`
6373
6374	// Kind: The kind of request this is, in this case
6375	// dfareporting#dimensionValueRequest .
6376	Kind string `json:"kind,omitempty"`
6377
6378	StartDate string `json:"startDate,omitempty"`
6379
6380	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6381	// unconditionally include in API requests. By default, fields with
6382	// empty values are omitted from API requests. However, any non-pointer,
6383	// non-interface field appearing in ForceSendFields will be sent to the
6384	// server regardless of whether the field is empty or not. This may be
6385	// used to include empty fields in Patch requests.
6386	ForceSendFields []string `json:"-"`
6387
6388	// NullFields is a list of field names (e.g. "DimensionName") to include
6389	// in API requests with the JSON null value. By default, fields with
6390	// empty values are omitted from API requests. However, any field with
6391	// an empty value appearing in NullFields will be sent to the server as
6392	// null. It is an error if a field in this list has a non-empty value.
6393	// This may be used to include null fields in Patch requests.
6394	NullFields []string `json:"-"`
6395}
6396
6397func (s *DimensionValueRequest) MarshalJSON() ([]byte, error) {
6398	type NoMethod DimensionValueRequest
6399	raw := NoMethod(*s)
6400	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6401}
6402
6403// DirectorySite: DirectorySites contains properties of a website from
6404// the Site Directory. Sites need to be added to an account via the
6405// Sites resource before they can be assigned to a placement.
6406type DirectorySite struct {
6407	// Active: Whether this directory site is active.
6408	Active bool `json:"active,omitempty"`
6409
6410	// Id: ID of this directory site. This is a read-only, auto-generated
6411	// field.
6412	Id int64 `json:"id,omitempty,string"`
6413
6414	// IdDimensionValue: Dimension value for the ID of this directory site.
6415	// This is a read-only, auto-generated field.
6416	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
6417
6418	// InpageTagFormats: Tag types for regular placements. Acceptable values
6419	// are: - "STANDARD" - "IFRAME_JAVASCRIPT_INPAGE" -
6420	// "INTERNAL_REDIRECT_INPAGE" - "JAVASCRIPT_INPAGE"
6421	//
6422	// Possible values:
6423	//   "STANDARD"
6424	//   "IFRAME_JAVASCRIPT_INPAGE"
6425	//   "INTERNAL_REDIRECT_INPAGE"
6426	//   "JAVASCRIPT_INPAGE"
6427	InpageTagFormats []string `json:"inpageTagFormats,omitempty"`
6428
6429	// InterstitialTagFormats: Tag types for interstitial placements.
6430	// Acceptable values are: - "IFRAME_JAVASCRIPT_INTERSTITIAL" -
6431	// "INTERNAL_REDIRECT_INTERSTITIAL" - "JAVASCRIPT_INTERSTITIAL"
6432	//
6433	// Possible values:
6434	//   "IFRAME_JAVASCRIPT_INTERSTITIAL"
6435	//   "INTERNAL_REDIRECT_INTERSTITIAL"
6436	//   "JAVASCRIPT_INTERSTITIAL"
6437	InterstitialTagFormats []string `json:"interstitialTagFormats,omitempty"`
6438
6439	// Kind: Identifies what kind of resource this is. Value: the fixed
6440	// string "dfareporting#directorySite".
6441	Kind string `json:"kind,omitempty"`
6442
6443	// Name: Name of this directory site.
6444	Name string `json:"name,omitempty"`
6445
6446	// Settings: Directory site settings.
6447	Settings *DirectorySiteSettings `json:"settings,omitempty"`
6448
6449	// Url: URL of this directory site.
6450	Url string `json:"url,omitempty"`
6451
6452	// ServerResponse contains the HTTP response code and headers from the
6453	// server.
6454	googleapi.ServerResponse `json:"-"`
6455
6456	// ForceSendFields is a list of field names (e.g. "Active") to
6457	// unconditionally include in API requests. By default, fields with
6458	// empty values are omitted from API requests. However, any non-pointer,
6459	// non-interface field appearing in ForceSendFields will be sent to the
6460	// server regardless of whether the field is empty or not. This may be
6461	// used to include empty fields in Patch requests.
6462	ForceSendFields []string `json:"-"`
6463
6464	// NullFields is a list of field names (e.g. "Active") to include in API
6465	// requests with the JSON null value. By default, fields with empty
6466	// values are omitted from API requests. However, any field with an
6467	// empty value appearing in NullFields will be sent to the server as
6468	// null. It is an error if a field in this list has a non-empty value.
6469	// This may be used to include null fields in Patch requests.
6470	NullFields []string `json:"-"`
6471}
6472
6473func (s *DirectorySite) MarshalJSON() ([]byte, error) {
6474	type NoMethod DirectorySite
6475	raw := NoMethod(*s)
6476	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6477}
6478
6479// DirectorySiteSettings: Directory Site Settings
6480type DirectorySiteSettings struct {
6481	// ActiveViewOptOut: Whether this directory site has disabled active
6482	// view creatives.
6483	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
6484
6485	// DfpSettings: Directory site Ad Manager settings.
6486	DfpSettings *DfpSettings `json:"dfpSettings,omitempty"`
6487
6488	// InstreamVideoPlacementAccepted: Whether this site accepts in-stream
6489	// video ads.
6490	InstreamVideoPlacementAccepted bool `json:"instreamVideoPlacementAccepted,omitempty"`
6491
6492	// InterstitialPlacementAccepted: Whether this site accepts interstitial
6493	// ads.
6494	InterstitialPlacementAccepted bool `json:"interstitialPlacementAccepted,omitempty"`
6495
6496	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
6497	// unconditionally include in API requests. By default, fields with
6498	// empty values are omitted from API requests. However, any non-pointer,
6499	// non-interface field appearing in ForceSendFields will be sent to the
6500	// server regardless of whether the field is empty or not. This may be
6501	// used to include empty fields in Patch requests.
6502	ForceSendFields []string `json:"-"`
6503
6504	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
6505	// include in API requests with the JSON null value. By default, fields
6506	// with empty values are omitted from API requests. However, any field
6507	// with an empty value appearing in NullFields will be sent to the
6508	// server as null. It is an error if a field in this list has a
6509	// non-empty value. This may be used to include null fields in Patch
6510	// requests.
6511	NullFields []string `json:"-"`
6512}
6513
6514func (s *DirectorySiteSettings) MarshalJSON() ([]byte, error) {
6515	type NoMethod DirectorySiteSettings
6516	raw := NoMethod(*s)
6517	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6518}
6519
6520// DirectorySitesListResponse: Directory Site List Response
6521type DirectorySitesListResponse struct {
6522	// DirectorySites: Directory site collection.
6523	DirectorySites []*DirectorySite `json:"directorySites,omitempty"`
6524
6525	// Kind: Identifies what kind of resource this is. Value: the fixed
6526	// string "dfareporting#directorySitesListResponse".
6527	Kind string `json:"kind,omitempty"`
6528
6529	// NextPageToken: Pagination token to be used for the next list
6530	// operation.
6531	NextPageToken string `json:"nextPageToken,omitempty"`
6532
6533	// ServerResponse contains the HTTP response code and headers from the
6534	// server.
6535	googleapi.ServerResponse `json:"-"`
6536
6537	// ForceSendFields is a list of field names (e.g. "DirectorySites") to
6538	// unconditionally include in API requests. By default, fields with
6539	// empty values are omitted from API requests. However, any non-pointer,
6540	// non-interface field appearing in ForceSendFields will be sent to the
6541	// server regardless of whether the field is empty or not. This may be
6542	// used to include empty fields in Patch requests.
6543	ForceSendFields []string `json:"-"`
6544
6545	// NullFields is a list of field names (e.g. "DirectorySites") to
6546	// include in API requests with the JSON null value. By default, fields
6547	// with empty values are omitted from API requests. However, any field
6548	// with an empty value appearing in NullFields will be sent to the
6549	// server as null. It is an error if a field in this list has a
6550	// non-empty value. This may be used to include null fields in Patch
6551	// requests.
6552	NullFields []string `json:"-"`
6553}
6554
6555func (s *DirectorySitesListResponse) MarshalJSON() ([]byte, error) {
6556	type NoMethod DirectorySitesListResponse
6557	raw := NoMethod(*s)
6558	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6559}
6560
6561// DynamicTargetingKey: Contains properties of a dynamic targeting key.
6562// Dynamic targeting keys are unique, user-friendly labels, created at
6563// the advertiser level in DCM, that can be assigned to ads, creatives,
6564// and placements and used for targeting with Studio dynamic creatives.
6565// Use these labels instead of numeric Campaign Manager IDs (such as
6566// placement IDs) to save time and avoid errors in your dynamic feeds.
6567type DynamicTargetingKey struct {
6568	// Kind: Identifies what kind of resource this is. Value: the fixed
6569	// string "dfareporting#dynamicTargetingKey".
6570	Kind string `json:"kind,omitempty"`
6571
6572	// Name: Name of this dynamic targeting key. This is a required field.
6573	// Must be less than 256 characters long and cannot contain commas. All
6574	// characters are converted to lowercase.
6575	Name string `json:"name,omitempty"`
6576
6577	// ObjectId: ID of the object of this dynamic targeting key. This is a
6578	// required field.
6579	ObjectId int64 `json:"objectId,omitempty,string"`
6580
6581	// ObjectType: Type of the object of this dynamic targeting key. This is
6582	// a required field.
6583	//
6584	// Possible values:
6585	//   "OBJECT_ADVERTISER"
6586	//   "OBJECT_AD"
6587	//   "OBJECT_CREATIVE"
6588	//   "OBJECT_PLACEMENT"
6589	ObjectType string `json:"objectType,omitempty"`
6590
6591	// ServerResponse contains the HTTP response code and headers from the
6592	// server.
6593	googleapi.ServerResponse `json:"-"`
6594
6595	// ForceSendFields is a list of field names (e.g. "Kind") to
6596	// unconditionally include in API requests. By default, fields with
6597	// empty values are omitted from API requests. However, any non-pointer,
6598	// non-interface field appearing in ForceSendFields will be sent to the
6599	// server regardless of whether the field is empty or not. This may be
6600	// used to include empty fields in Patch requests.
6601	ForceSendFields []string `json:"-"`
6602
6603	// NullFields is a list of field names (e.g. "Kind") to include in API
6604	// requests with the JSON null value. By default, fields with empty
6605	// values are omitted from API requests. However, any field with an
6606	// empty value appearing in NullFields will be sent to the server as
6607	// null. It is an error if a field in this list has a non-empty value.
6608	// This may be used to include null fields in Patch requests.
6609	NullFields []string `json:"-"`
6610}
6611
6612func (s *DynamicTargetingKey) MarshalJSON() ([]byte, error) {
6613	type NoMethod DynamicTargetingKey
6614	raw := NoMethod(*s)
6615	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6616}
6617
6618// DynamicTargetingKeysListResponse: Dynamic Targeting Key List Response
6619type DynamicTargetingKeysListResponse struct {
6620	// DynamicTargetingKeys: Dynamic targeting key collection.
6621	DynamicTargetingKeys []*DynamicTargetingKey `json:"dynamicTargetingKeys,omitempty"`
6622
6623	// Kind: Identifies what kind of resource this is. Value: the fixed
6624	// string "dfareporting#dynamicTargetingKeysListResponse".
6625	Kind string `json:"kind,omitempty"`
6626
6627	// ServerResponse contains the HTTP response code and headers from the
6628	// server.
6629	googleapi.ServerResponse `json:"-"`
6630
6631	// ForceSendFields is a list of field names (e.g.
6632	// "DynamicTargetingKeys") to unconditionally include in API requests.
6633	// By default, fields with empty values are omitted from API requests.
6634	// However, any non-pointer, non-interface field appearing in
6635	// ForceSendFields will be sent to the server regardless of whether the
6636	// field is empty or not. This may be used to include empty fields in
6637	// Patch requests.
6638	ForceSendFields []string `json:"-"`
6639
6640	// NullFields is a list of field names (e.g. "DynamicTargetingKeys") to
6641	// include in API requests with the JSON null value. By default, fields
6642	// with empty values are omitted from API requests. However, any field
6643	// with an empty value appearing in NullFields will be sent to the
6644	// server as null. It is an error if a field in this list has a
6645	// non-empty value. This may be used to include null fields in Patch
6646	// requests.
6647	NullFields []string `json:"-"`
6648}
6649
6650func (s *DynamicTargetingKeysListResponse) MarshalJSON() ([]byte, error) {
6651	type NoMethod DynamicTargetingKeysListResponse
6652	raw := NoMethod(*s)
6653	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6654}
6655
6656// EncryptionInfo: A description of how user IDs are encrypted.
6657type EncryptionInfo struct {
6658	// EncryptionEntityId: The encryption entity ID. This should match the
6659	// encryption configuration for ad serving or Data Transfer.
6660	EncryptionEntityId int64 `json:"encryptionEntityId,omitempty,string"`
6661
6662	// EncryptionEntityType: The encryption entity type. This should match
6663	// the encryption configuration for ad serving or Data Transfer.
6664	//
6665	// Possible values:
6666	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
6667	//   "DCM_ACCOUNT"
6668	//   "DCM_ADVERTISER"
6669	//   "DBM_PARTNER"
6670	//   "DBM_ADVERTISER"
6671	//   "ADWORDS_CUSTOMER"
6672	//   "DFP_NETWORK_CODE"
6673	EncryptionEntityType string `json:"encryptionEntityType,omitempty"`
6674
6675	// EncryptionSource: Describes whether the encrypted cookie was received
6676	// from ad serving (the %m macro) or from Data Transfer.
6677	//
6678	// Possible values:
6679	//   "ENCRYPTION_SCOPE_UNKNOWN"
6680	//   "AD_SERVING"
6681	//   "DATA_TRANSFER"
6682	EncryptionSource string `json:"encryptionSource,omitempty"`
6683
6684	// Kind: Identifies what kind of resource this is. Value: the fixed
6685	// string "dfareporting#encryptionInfo".
6686	Kind string `json:"kind,omitempty"`
6687
6688	// ForceSendFields is a list of field names (e.g. "EncryptionEntityId")
6689	// to unconditionally include in API requests. By default, fields with
6690	// empty values are omitted from API requests. However, any non-pointer,
6691	// non-interface field appearing in ForceSendFields will be sent to the
6692	// server regardless of whether the field is empty or not. This may be
6693	// used to include empty fields in Patch requests.
6694	ForceSendFields []string `json:"-"`
6695
6696	// NullFields is a list of field names (e.g. "EncryptionEntityId") to
6697	// include in API requests with the JSON null value. By default, fields
6698	// with empty values are omitted from API requests. However, any field
6699	// with an empty value appearing in NullFields will be sent to the
6700	// server as null. It is an error if a field in this list has a
6701	// non-empty value. This may be used to include null fields in Patch
6702	// requests.
6703	NullFields []string `json:"-"`
6704}
6705
6706func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
6707	type NoMethod EncryptionInfo
6708	raw := NoMethod(*s)
6709	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6710}
6711
6712// EventTag: Contains properties of an event tag.
6713type EventTag struct {
6714	// AccountId: Account ID of this event tag. This is a read-only field
6715	// that can be left blank.
6716	AccountId int64 `json:"accountId,omitempty,string"`
6717
6718	// AdvertiserId: Advertiser ID of this event tag. This field or the
6719	// campaignId field is required on insertion.
6720	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
6721
6722	// AdvertiserIdDimensionValue: Dimension value for the ID of the
6723	// advertiser. This is a read-only, auto-generated field.
6724	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
6725
6726	// CampaignId: Campaign ID of this event tag. This field or the
6727	// advertiserId field is required on insertion.
6728	CampaignId int64 `json:"campaignId,omitempty,string"`
6729
6730	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
6731	// This is a read-only, auto-generated field.
6732	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
6733
6734	// EnabledByDefault: Whether this event tag should be automatically
6735	// enabled for all of the advertiser's campaigns and ads.
6736	EnabledByDefault bool `json:"enabledByDefault,omitempty"`
6737
6738	// ExcludeFromAdxRequests: Whether to remove this event tag from ads
6739	// that are trafficked through Display & Video 360 to Ad Exchange. This
6740	// may be useful if the event tag uses a pixel that is unapproved for Ad
6741	// Exchange bids on one or more networks, such as the Google Display
6742	// Network.
6743	ExcludeFromAdxRequests bool `json:"excludeFromAdxRequests,omitempty"`
6744
6745	// Id: ID of this event tag. This is a read-only, auto-generated field.
6746	Id int64 `json:"id,omitempty,string"`
6747
6748	// Kind: Identifies what kind of resource this is. Value: the fixed
6749	// string "dfareporting#eventTag".
6750	Kind string `json:"kind,omitempty"`
6751
6752	// Name: Name of this event tag. This is a required field and must be
6753	// less than 256 characters long.
6754	Name string `json:"name,omitempty"`
6755
6756	// SiteFilterType: Site filter type for this event tag. If no type is
6757	// specified then the event tag will be applied to all sites.
6758	//
6759	// Possible values:
6760	//   "WHITELIST"
6761	//   "BLACKLIST"
6762	SiteFilterType string `json:"siteFilterType,omitempty"`
6763
6764	// SiteIds: Filter list of site IDs associated with this event tag. The
6765	// siteFilterType determines whether this is a allowlist or blocklist
6766	// filter.
6767	SiteIds googleapi.Int64s `json:"siteIds,omitempty"`
6768
6769	// SslCompliant: Whether this tag is SSL-compliant or not. This is a
6770	// read-only field.
6771	SslCompliant bool `json:"sslCompliant,omitempty"`
6772
6773	// Status: Status of this event tag. Must be ENABLED for this event tag
6774	// to fire. This is a required field.
6775	//
6776	// Possible values:
6777	//   "ENABLED"
6778	//   "DISABLED"
6779	Status string `json:"status,omitempty"`
6780
6781	// SubaccountId: Subaccount ID of this event tag. This is a read-only
6782	// field that can be left blank.
6783	SubaccountId int64 `json:"subaccountId,omitempty,string"`
6784
6785	// Type: Event tag type. Can be used to specify whether to use a
6786	// third-party pixel, a third-party JavaScript URL, or a third-party
6787	// click-through URL for either impression or click tracking. This is a
6788	// required field.
6789	//
6790	// Possible values:
6791	//   "IMPRESSION_IMAGE_EVENT_TAG"
6792	//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
6793	//   "CLICK_THROUGH_EVENT_TAG"
6794	Type string `json:"type,omitempty"`
6795
6796	// Url: Payload URL for this event tag. The URL on a click-through event
6797	// tag should have a landing page URL appended to the end of it. This
6798	// field is required on insertion.
6799	Url string `json:"url,omitempty"`
6800
6801	// UrlEscapeLevels: Number of times the landing page URL should be
6802	// URL-escaped before being appended to the click-through event tag URL.
6803	// Only applies to click-through event tags as specified by the event
6804	// tag type.
6805	UrlEscapeLevels int64 `json:"urlEscapeLevels,omitempty"`
6806
6807	// ServerResponse contains the HTTP response code and headers from the
6808	// server.
6809	googleapi.ServerResponse `json:"-"`
6810
6811	// ForceSendFields is a list of field names (e.g. "AccountId") to
6812	// unconditionally include in API requests. By default, fields with
6813	// empty values are omitted from API requests. However, any non-pointer,
6814	// non-interface field appearing in ForceSendFields will be sent to the
6815	// server regardless of whether the field is empty or not. This may be
6816	// used to include empty fields in Patch requests.
6817	ForceSendFields []string `json:"-"`
6818
6819	// NullFields is a list of field names (e.g. "AccountId") to include in
6820	// API requests with the JSON null value. By default, fields with empty
6821	// values are omitted from API requests. However, any field with an
6822	// empty value appearing in NullFields will be sent to the server as
6823	// null. It is an error if a field in this list has a non-empty value.
6824	// This may be used to include null fields in Patch requests.
6825	NullFields []string `json:"-"`
6826}
6827
6828func (s *EventTag) MarshalJSON() ([]byte, error) {
6829	type NoMethod EventTag
6830	raw := NoMethod(*s)
6831	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6832}
6833
6834// EventTagOverride: Event tag override information.
6835type EventTagOverride struct {
6836	// Enabled: Whether this override is enabled.
6837	Enabled bool `json:"enabled,omitempty"`
6838
6839	// Id: ID of this event tag override. This is a read-only,
6840	// auto-generated field.
6841	Id int64 `json:"id,omitempty,string"`
6842
6843	// ForceSendFields is a list of field names (e.g. "Enabled") to
6844	// unconditionally include in API requests. By default, fields with
6845	// empty values are omitted from API requests. However, any non-pointer,
6846	// non-interface field appearing in ForceSendFields will be sent to the
6847	// server regardless of whether the field is empty or not. This may be
6848	// used to include empty fields in Patch requests.
6849	ForceSendFields []string `json:"-"`
6850
6851	// NullFields is a list of field names (e.g. "Enabled") to include in
6852	// API requests with the JSON null value. By default, fields with empty
6853	// values are omitted from API requests. However, any field with an
6854	// empty value appearing in NullFields will be sent to the server as
6855	// null. It is an error if a field in this list has a non-empty value.
6856	// This may be used to include null fields in Patch requests.
6857	NullFields []string `json:"-"`
6858}
6859
6860func (s *EventTagOverride) MarshalJSON() ([]byte, error) {
6861	type NoMethod EventTagOverride
6862	raw := NoMethod(*s)
6863	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6864}
6865
6866// EventTagsListResponse: Event Tag List Response
6867type EventTagsListResponse struct {
6868	// EventTags: Event tag collection.
6869	EventTags []*EventTag `json:"eventTags,omitempty"`
6870
6871	// Kind: Identifies what kind of resource this is. Value: the fixed
6872	// string "dfareporting#eventTagsListResponse".
6873	Kind string `json:"kind,omitempty"`
6874
6875	// ServerResponse contains the HTTP response code and headers from the
6876	// server.
6877	googleapi.ServerResponse `json:"-"`
6878
6879	// ForceSendFields is a list of field names (e.g. "EventTags") to
6880	// unconditionally include in API requests. By default, fields with
6881	// empty values are omitted from API requests. However, any non-pointer,
6882	// non-interface field appearing in ForceSendFields will be sent to the
6883	// server regardless of whether the field is empty or not. This may be
6884	// used to include empty fields in Patch requests.
6885	ForceSendFields []string `json:"-"`
6886
6887	// NullFields is a list of field names (e.g. "EventTags") to include in
6888	// API requests with the JSON null value. By default, fields with empty
6889	// values are omitted from API requests. However, any field with an
6890	// empty value appearing in NullFields will be sent to the server as
6891	// null. It is an error if a field in this list has a non-empty value.
6892	// This may be used to include null fields in Patch requests.
6893	NullFields []string `json:"-"`
6894}
6895
6896func (s *EventTagsListResponse) MarshalJSON() ([]byte, error) {
6897	type NoMethod EventTagsListResponse
6898	raw := NoMethod(*s)
6899	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6900}
6901
6902// File: Represents a File resource. A file contains the metadata for a
6903// report run. It shows the status of the run and holds the URLs to the
6904// generated report data if the run is finished and the status is
6905// "REPORT_AVAILABLE".
6906type File struct {
6907	// DateRange: The date range for which the file has report data. The
6908	// date range will always be the absolute date range for which the
6909	// report is run.
6910	DateRange *DateRange `json:"dateRange,omitempty"`
6911
6912	// Etag: Etag of this resource.
6913	Etag string `json:"etag,omitempty"`
6914
6915	// FileName: The filename of the file.
6916	FileName string `json:"fileName,omitempty"`
6917
6918	// Format: The output format of the report. Only available once the file
6919	// is available.
6920	//
6921	// Possible values:
6922	//   "CSV"
6923	//   "EXCEL"
6924	Format string `json:"format,omitempty"`
6925
6926	// Id: The unique ID of this report file.
6927	Id int64 `json:"id,omitempty,string"`
6928
6929	// Kind: Identifies what kind of resource this is. Value: the fixed
6930	// string "dfareporting#file".
6931	Kind string `json:"kind,omitempty"`
6932
6933	// LastModifiedTime: The timestamp in milliseconds since epoch when this
6934	// file was last modified.
6935	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
6936
6937	// ReportId: The ID of the report this file was generated from.
6938	ReportId int64 `json:"reportId,omitempty,string"`
6939
6940	// Status: The status of the report file.
6941	//
6942	// Possible values:
6943	//   "PROCESSING"
6944	//   "REPORT_AVAILABLE"
6945	//   "FAILED"
6946	//   "CANCELLED"
6947	Status string `json:"status,omitempty"`
6948
6949	// Urls: The URLs where the completed report file can be downloaded.
6950	Urls *FileUrls `json:"urls,omitempty"`
6951
6952	// ServerResponse contains the HTTP response code and headers from the
6953	// server.
6954	googleapi.ServerResponse `json:"-"`
6955
6956	// ForceSendFields is a list of field names (e.g. "DateRange") to
6957	// unconditionally include in API requests. By default, fields with
6958	// empty values are omitted from API requests. However, any non-pointer,
6959	// non-interface field appearing in ForceSendFields will be sent to the
6960	// server regardless of whether the field is empty or not. This may be
6961	// used to include empty fields in Patch requests.
6962	ForceSendFields []string `json:"-"`
6963
6964	// NullFields is a list of field names (e.g. "DateRange") to include in
6965	// API requests with the JSON null value. By default, fields with empty
6966	// values are omitted from API requests. However, any field with an
6967	// empty value appearing in NullFields will be sent to the server as
6968	// null. It is an error if a field in this list has a non-empty value.
6969	// This may be used to include null fields in Patch requests.
6970	NullFields []string `json:"-"`
6971}
6972
6973func (s *File) MarshalJSON() ([]byte, error) {
6974	type NoMethod File
6975	raw := NoMethod(*s)
6976	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6977}
6978
6979// FileUrls: The URLs where the completed report file can be downloaded.
6980type FileUrls struct {
6981	// ApiUrl: The URL for downloading the report data through the API.
6982	ApiUrl string `json:"apiUrl,omitempty"`
6983
6984	// BrowserUrl: The URL for downloading the report data through a
6985	// browser.
6986	BrowserUrl string `json:"browserUrl,omitempty"`
6987
6988	// ForceSendFields is a list of field names (e.g. "ApiUrl") to
6989	// unconditionally include in API requests. By default, fields with
6990	// empty values are omitted from API requests. However, any non-pointer,
6991	// non-interface field appearing in ForceSendFields will be sent to the
6992	// server regardless of whether the field is empty or not. This may be
6993	// used to include empty fields in Patch requests.
6994	ForceSendFields []string `json:"-"`
6995
6996	// NullFields is a list of field names (e.g. "ApiUrl") to include in API
6997	// requests with the JSON null value. By default, fields with empty
6998	// values are omitted from API requests. However, any field with an
6999	// empty value appearing in NullFields will be sent to the server as
7000	// null. It is an error if a field in this list has a non-empty value.
7001	// This may be used to include null fields in Patch requests.
7002	NullFields []string `json:"-"`
7003}
7004
7005func (s *FileUrls) MarshalJSON() ([]byte, error) {
7006	type NoMethod FileUrls
7007	raw := NoMethod(*s)
7008	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7009}
7010
7011// FileList: List of files for a report.
7012type FileList struct {
7013	// Etag: Etag of this resource.
7014	Etag string `json:"etag,omitempty"`
7015
7016	// Items: The files returned in this response.
7017	Items []*File `json:"items,omitempty"`
7018
7019	// Kind: Identifies what kind of resource this is. Value: the fixed
7020	// string "dfareporting#fileList".
7021	Kind string `json:"kind,omitempty"`
7022
7023	// NextPageToken: Continuation token used to page through files. To
7024	// retrieve the next page of results, set the next request's "pageToken"
7025	// to the value of this field. The page token is only valid for a
7026	// limited amount of time and should not be persisted.
7027	NextPageToken string `json:"nextPageToken,omitempty"`
7028
7029	// ServerResponse contains the HTTP response code and headers from the
7030	// server.
7031	googleapi.ServerResponse `json:"-"`
7032
7033	// ForceSendFields is a list of field names (e.g. "Etag") to
7034	// unconditionally include in API requests. By default, fields with
7035	// empty values are omitted from API requests. However, any non-pointer,
7036	// non-interface field appearing in ForceSendFields will be sent to the
7037	// server regardless of whether the field is empty or not. This may be
7038	// used to include empty fields in Patch requests.
7039	ForceSendFields []string `json:"-"`
7040
7041	// NullFields is a list of field names (e.g. "Etag") to include in API
7042	// requests with the JSON null value. By default, fields with empty
7043	// values are omitted from API requests. However, any field with an
7044	// empty value appearing in NullFields will be sent to the server as
7045	// null. It is an error if a field in this list has a non-empty value.
7046	// This may be used to include null fields in Patch requests.
7047	NullFields []string `json:"-"`
7048}
7049
7050func (s *FileList) MarshalJSON() ([]byte, error) {
7051	type NoMethod FileList
7052	raw := NoMethod(*s)
7053	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7054}
7055
7056// Flight: Flight
7057type Flight struct {
7058	EndDate string `json:"endDate,omitempty"`
7059
7060	// RateOrCost: Rate or cost of this flight.
7061	RateOrCost int64 `json:"rateOrCost,omitempty,string"`
7062
7063	StartDate string `json:"startDate,omitempty"`
7064
7065	// Units: Units of this flight.
7066	Units int64 `json:"units,omitempty,string"`
7067
7068	// ForceSendFields is a list of field names (e.g. "EndDate") to
7069	// unconditionally include in API requests. By default, fields with
7070	// empty values are omitted from API requests. However, any non-pointer,
7071	// non-interface field appearing in ForceSendFields will be sent to the
7072	// server regardless of whether the field is empty or not. This may be
7073	// used to include empty fields in Patch requests.
7074	ForceSendFields []string `json:"-"`
7075
7076	// NullFields is a list of field names (e.g. "EndDate") to include in
7077	// API requests with the JSON null value. By default, fields with empty
7078	// values are omitted from API requests. However, any field with an
7079	// empty value appearing in NullFields will be sent to the server as
7080	// null. It is an error if a field in this list has a non-empty value.
7081	// This may be used to include null fields in Patch requests.
7082	NullFields []string `json:"-"`
7083}
7084
7085func (s *Flight) MarshalJSON() ([]byte, error) {
7086	type NoMethod Flight
7087	raw := NoMethod(*s)
7088	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7089}
7090
7091// FloodlightActivitiesGenerateTagResponse: Floodlight Activity
7092// GenerateTag Response
7093type FloodlightActivitiesGenerateTagResponse struct {
7094	// FloodlightActivityTag: Generated tag for this Floodlight activity.
7095	// For global site tags, this is the event snippet.
7096	FloodlightActivityTag string `json:"floodlightActivityTag,omitempty"`
7097
7098	// GlobalSiteTagGlobalSnippet: The global snippet section of a global
7099	// site tag. The global site tag sets new cookies on your domain, which
7100	// will store a unique identifier for a user or the ad click that
7101	// brought the user to your site. Learn more.
7102	GlobalSiteTagGlobalSnippet string `json:"globalSiteTagGlobalSnippet,omitempty"`
7103
7104	// Kind: Identifies what kind of resource this is. Value: the fixed
7105	// string "dfareporting#floodlightActivitiesGenerateTagResponse".
7106	Kind string `json:"kind,omitempty"`
7107
7108	// ServerResponse contains the HTTP response code and headers from the
7109	// server.
7110	googleapi.ServerResponse `json:"-"`
7111
7112	// ForceSendFields is a list of field names (e.g.
7113	// "FloodlightActivityTag") to unconditionally include in API requests.
7114	// By default, fields with empty values are omitted from API requests.
7115	// However, any non-pointer, non-interface field appearing in
7116	// ForceSendFields will be sent to the server regardless of whether the
7117	// field is empty or not. This may be used to include empty fields in
7118	// Patch requests.
7119	ForceSendFields []string `json:"-"`
7120
7121	// NullFields is a list of field names (e.g. "FloodlightActivityTag") to
7122	// include in API requests with the JSON null value. By default, fields
7123	// with empty values are omitted from API requests. However, any field
7124	// with an empty value appearing in NullFields will be sent to the
7125	// server as null. It is an error if a field in this list has a
7126	// non-empty value. This may be used to include null fields in Patch
7127	// requests.
7128	NullFields []string `json:"-"`
7129}
7130
7131func (s *FloodlightActivitiesGenerateTagResponse) MarshalJSON() ([]byte, error) {
7132	type NoMethod FloodlightActivitiesGenerateTagResponse
7133	raw := NoMethod(*s)
7134	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7135}
7136
7137// FloodlightActivitiesListResponse: Floodlight Activity List Response
7138type FloodlightActivitiesListResponse struct {
7139	// FloodlightActivities: Floodlight activity collection.
7140	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
7141
7142	// Kind: Identifies what kind of resource this is. Value: the fixed
7143	// string "dfareporting#floodlightActivitiesListResponse".
7144	Kind string `json:"kind,omitempty"`
7145
7146	// NextPageToken: Pagination token to be used for the next list
7147	// operation.
7148	NextPageToken string `json:"nextPageToken,omitempty"`
7149
7150	// ServerResponse contains the HTTP response code and headers from the
7151	// server.
7152	googleapi.ServerResponse `json:"-"`
7153
7154	// ForceSendFields is a list of field names (e.g.
7155	// "FloodlightActivities") to unconditionally include in API requests.
7156	// By default, fields with empty values are omitted from API requests.
7157	// However, any non-pointer, non-interface field appearing in
7158	// ForceSendFields will be sent to the server regardless of whether the
7159	// field is empty or not. This may be used to include empty fields in
7160	// Patch requests.
7161	ForceSendFields []string `json:"-"`
7162
7163	// NullFields is a list of field names (e.g. "FloodlightActivities") to
7164	// include in API requests with the JSON null value. By default, fields
7165	// with empty values are omitted from API requests. However, any field
7166	// with an empty value appearing in NullFields will be sent to the
7167	// server as null. It is an error if a field in this list has a
7168	// non-empty value. This may be used to include null fields in Patch
7169	// requests.
7170	NullFields []string `json:"-"`
7171}
7172
7173func (s *FloodlightActivitiesListResponse) MarshalJSON() ([]byte, error) {
7174	type NoMethod FloodlightActivitiesListResponse
7175	raw := NoMethod(*s)
7176	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7177}
7178
7179// FloodlightActivity: Contains properties of a Floodlight activity.
7180type FloodlightActivity struct {
7181	// AccountId: Account ID of this floodlight activity. This is a
7182	// read-only field that can be left blank.
7183	AccountId int64 `json:"accountId,omitempty,string"`
7184
7185	// AdvertiserId: Advertiser ID of this floodlight activity. If this
7186	// field is left blank, the value will be copied over either from the
7187	// activity group's advertiser or the existing activity's advertiser.
7188	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7189
7190	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7191	// advertiser. This is a read-only, auto-generated field.
7192	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7193
7194	// CacheBustingType: Code type used for cache busting in the generated
7195	// tag. Applicable only when floodlightActivityGroupType is COUNTER and
7196	// countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.
7197	//
7198	// Possible values:
7199	//   "JAVASCRIPT"
7200	//   "ACTIVE_SERVER_PAGE"
7201	//   "JSP"
7202	//   "PHP"
7203	//   "COLD_FUSION"
7204	CacheBustingType string `json:"cacheBustingType,omitempty"`
7205
7206	// CountingMethod: Counting method for conversions for this floodlight
7207	// activity. This is a required field.
7208	//
7209	// Possible values:
7210	//   "STANDARD_COUNTING"
7211	//   "UNIQUE_COUNTING"
7212	//   "SESSION_COUNTING"
7213	//   "TRANSACTIONS_COUNTING"
7214	//   "ITEMS_SOLD_COUNTING"
7215	CountingMethod string `json:"countingMethod,omitempty"`
7216
7217	// DefaultTags: Dynamic floodlight tags.
7218	DefaultTags []*FloodlightActivityDynamicTag `json:"defaultTags,omitempty"`
7219
7220	// ExpectedUrl: URL where this tag will be deployed. If specified, must
7221	// be less than 256 characters long.
7222	ExpectedUrl string `json:"expectedUrl,omitempty"`
7223
7224	// FloodlightActivityGroupId: Floodlight activity group ID of this
7225	// floodlight activity. This is a required field.
7226	FloodlightActivityGroupId int64 `json:"floodlightActivityGroupId,omitempty,string"`
7227
7228	// FloodlightActivityGroupName: Name of the associated floodlight
7229	// activity group. This is a read-only field.
7230	FloodlightActivityGroupName string `json:"floodlightActivityGroupName,omitempty"`
7231
7232	// FloodlightActivityGroupTagString: Tag string of the associated
7233	// floodlight activity group. This is a read-only field.
7234	FloodlightActivityGroupTagString string `json:"floodlightActivityGroupTagString,omitempty"`
7235
7236	// FloodlightActivityGroupType: Type of the associated floodlight
7237	// activity group. This is a read-only field.
7238	//
7239	// Possible values:
7240	//   "COUNTER"
7241	//   "SALE"
7242	FloodlightActivityGroupType string `json:"floodlightActivityGroupType,omitempty"`
7243
7244	// FloodlightConfigurationId: Floodlight configuration ID of this
7245	// floodlight activity. If this field is left blank, the value will be
7246	// copied over either from the activity group's floodlight configuration
7247	// or from the existing activity's floodlight configuration.
7248	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
7249
7250	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
7251	// of the floodlight configuration. This is a read-only, auto-generated
7252	// field.
7253	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
7254
7255	// FloodlightTagType: The type of Floodlight tag this activity will
7256	// generate. This is a required field.
7257	//
7258	// Possible values:
7259	//   "IFRAME"
7260	//   "IMAGE"
7261	//   "GLOBAL_SITE_TAG"
7262	FloodlightTagType string `json:"floodlightTagType,omitempty"`
7263
7264	// Hidden: Whether this activity is archived.
7265	Hidden bool `json:"hidden,omitempty"`
7266
7267	// Id: ID of this floodlight activity. This is a read-only,
7268	// auto-generated field.
7269	Id int64 `json:"id,omitempty,string"`
7270
7271	// IdDimensionValue: Dimension value for the ID of this floodlight
7272	// activity. This is a read-only, auto-generated field.
7273	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7274
7275	// Kind: Identifies what kind of resource this is. Value: the fixed
7276	// string "dfareporting#floodlightActivity".
7277	Kind string `json:"kind,omitempty"`
7278
7279	// Name: Name of this floodlight activity. This is a required field.
7280	// Must be less than 129 characters long and cannot contain quotes.
7281	Name string `json:"name,omitempty"`
7282
7283	// Notes: General notes or implementation instructions for the tag.
7284	Notes string `json:"notes,omitempty"`
7285
7286	// PublisherTags: Publisher dynamic floodlight tags.
7287	PublisherTags []*FloodlightActivityPublisherDynamicTag `json:"publisherTags,omitempty"`
7288
7289	// Secure: Whether this tag should use SSL.
7290	Secure bool `json:"secure,omitempty"`
7291
7292	// SslCompliant: Whether the floodlight activity is SSL-compliant. This
7293	// is a read-only field, its value detected by the system from the
7294	// floodlight tags.
7295	SslCompliant bool `json:"sslCompliant,omitempty"`
7296
7297	// SslRequired: Whether this floodlight activity must be SSL-compliant.
7298	SslRequired bool `json:"sslRequired,omitempty"`
7299
7300	// SubaccountId: Subaccount ID of this floodlight activity. This is a
7301	// read-only field that can be left blank.
7302	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7303
7304	// TagFormat: Tag format type for the floodlight activity. If left
7305	// blank, the tag format will default to HTML.
7306	//
7307	// Possible values:
7308	//   "HTML"
7309	//   "XHTML"
7310	TagFormat string `json:"tagFormat,omitempty"`
7311
7312	// TagString: Value of the cat= parameter in the floodlight tag, which
7313	// the ad servers use to identify the activity. This is optional: if
7314	// empty, a new tag string will be generated for you. This string must
7315	// be 1 to 8 characters long, with valid characters being a-z0-9[ _ ].
7316	// This tag string must also be unique among activities of the same
7317	// activity group. This field is read-only after insertion.
7318	TagString string `json:"tagString,omitempty"`
7319
7320	// UserDefinedVariableTypes: List of the user-defined variables used by
7321	// this conversion tag. These map to the "u[1-100]=" in the tags. Each
7322	// of these can have a user defined type. Acceptable values are U1 to
7323	// U100, inclusive.
7324	//
7325	// Possible values:
7326	//   "U1"
7327	//   "U2"
7328	//   "U3"
7329	//   "U4"
7330	//   "U5"
7331	//   "U6"
7332	//   "U7"
7333	//   "U8"
7334	//   "U9"
7335	//   "U10"
7336	//   "U11"
7337	//   "U12"
7338	//   "U13"
7339	//   "U14"
7340	//   "U15"
7341	//   "U16"
7342	//   "U17"
7343	//   "U18"
7344	//   "U19"
7345	//   "U20"
7346	//   "U21"
7347	//   "U22"
7348	//   "U23"
7349	//   "U24"
7350	//   "U25"
7351	//   "U26"
7352	//   "U27"
7353	//   "U28"
7354	//   "U29"
7355	//   "U30"
7356	//   "U31"
7357	//   "U32"
7358	//   "U33"
7359	//   "U34"
7360	//   "U35"
7361	//   "U36"
7362	//   "U37"
7363	//   "U38"
7364	//   "U39"
7365	//   "U40"
7366	//   "U41"
7367	//   "U42"
7368	//   "U43"
7369	//   "U44"
7370	//   "U45"
7371	//   "U46"
7372	//   "U47"
7373	//   "U48"
7374	//   "U49"
7375	//   "U50"
7376	//   "U51"
7377	//   "U52"
7378	//   "U53"
7379	//   "U54"
7380	//   "U55"
7381	//   "U56"
7382	//   "U57"
7383	//   "U58"
7384	//   "U59"
7385	//   "U60"
7386	//   "U61"
7387	//   "U62"
7388	//   "U63"
7389	//   "U64"
7390	//   "U65"
7391	//   "U66"
7392	//   "U67"
7393	//   "U68"
7394	//   "U69"
7395	//   "U70"
7396	//   "U71"
7397	//   "U72"
7398	//   "U73"
7399	//   "U74"
7400	//   "U75"
7401	//   "U76"
7402	//   "U77"
7403	//   "U78"
7404	//   "U79"
7405	//   "U80"
7406	//   "U81"
7407	//   "U82"
7408	//   "U83"
7409	//   "U84"
7410	//   "U85"
7411	//   "U86"
7412	//   "U87"
7413	//   "U88"
7414	//   "U89"
7415	//   "U90"
7416	//   "U91"
7417	//   "U92"
7418	//   "U93"
7419	//   "U94"
7420	//   "U95"
7421	//   "U96"
7422	//   "U97"
7423	//   "U98"
7424	//   "U99"
7425	//   "U100"
7426	UserDefinedVariableTypes []string `json:"userDefinedVariableTypes,omitempty"`
7427
7428	// ServerResponse contains the HTTP response code and headers from the
7429	// server.
7430	googleapi.ServerResponse `json:"-"`
7431
7432	// ForceSendFields is a list of field names (e.g. "AccountId") to
7433	// unconditionally include in API requests. By default, fields with
7434	// empty values are omitted from API requests. However, any non-pointer,
7435	// non-interface field appearing in ForceSendFields will be sent to the
7436	// server regardless of whether the field is empty or not. This may be
7437	// used to include empty fields in Patch requests.
7438	ForceSendFields []string `json:"-"`
7439
7440	// NullFields is a list of field names (e.g. "AccountId") to include in
7441	// API requests with the JSON null value. By default, fields with empty
7442	// values are omitted from API requests. However, any field with an
7443	// empty value appearing in NullFields will be sent to the server as
7444	// null. It is an error if a field in this list has a non-empty value.
7445	// This may be used to include null fields in Patch requests.
7446	NullFields []string `json:"-"`
7447}
7448
7449func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
7450	type NoMethod FloodlightActivity
7451	raw := NoMethod(*s)
7452	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7453}
7454
7455// FloodlightActivityDynamicTag: Dynamic Tag
7456type FloodlightActivityDynamicTag struct {
7457	// Id: ID of this dynamic tag. This is a read-only, auto-generated
7458	// field.
7459	Id int64 `json:"id,omitempty,string"`
7460
7461	// Name: Name of this tag.
7462	Name string `json:"name,omitempty"`
7463
7464	// Tag: Tag code.
7465	Tag string `json:"tag,omitempty"`
7466
7467	// ForceSendFields is a list of field names (e.g. "Id") to
7468	// unconditionally include in API requests. By default, fields with
7469	// empty values are omitted from API requests. However, any non-pointer,
7470	// non-interface field appearing in ForceSendFields will be sent to the
7471	// server regardless of whether the field is empty or not. This may be
7472	// used to include empty fields in Patch requests.
7473	ForceSendFields []string `json:"-"`
7474
7475	// NullFields is a list of field names (e.g. "Id") to include in API
7476	// requests with the JSON null value. By default, fields with empty
7477	// values are omitted from API requests. However, any field with an
7478	// empty value appearing in NullFields will be sent to the server as
7479	// null. It is an error if a field in this list has a non-empty value.
7480	// This may be used to include null fields in Patch requests.
7481	NullFields []string `json:"-"`
7482}
7483
7484func (s *FloodlightActivityDynamicTag) MarshalJSON() ([]byte, error) {
7485	type NoMethod FloodlightActivityDynamicTag
7486	raw := NoMethod(*s)
7487	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7488}
7489
7490// FloodlightActivityGroup: Contains properties of a Floodlight activity
7491// group.
7492type FloodlightActivityGroup struct {
7493	// AccountId: Account ID of this floodlight activity group. This is a
7494	// read-only field that can be left blank.
7495	AccountId int64 `json:"accountId,omitempty,string"`
7496
7497	// AdvertiserId: Advertiser ID of this floodlight activity group. If
7498	// this field is left blank, the value will be copied over either from
7499	// the floodlight configuration's advertiser or from the existing
7500	// activity group's advertiser.
7501	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7502
7503	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7504	// advertiser. This is a read-only, auto-generated field.
7505	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7506
7507	// FloodlightConfigurationId: Floodlight configuration ID of this
7508	// floodlight activity group. This is a required field.
7509	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
7510
7511	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
7512	// of the floodlight configuration. This is a read-only, auto-generated
7513	// field.
7514	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
7515
7516	// Id: ID of this floodlight activity group. This is a read-only,
7517	// auto-generated field.
7518	Id int64 `json:"id,omitempty,string"`
7519
7520	// IdDimensionValue: Dimension value for the ID of this floodlight
7521	// activity group. This is a read-only, auto-generated field.
7522	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7523
7524	// Kind: Identifies what kind of resource this is. Value: the fixed
7525	// string "dfareporting#floodlightActivityGroup".
7526	Kind string `json:"kind,omitempty"`
7527
7528	// Name: Name of this floodlight activity group. This is a required
7529	// field. Must be less than 65 characters long and cannot contain
7530	// quotes.
7531	Name string `json:"name,omitempty"`
7532
7533	// SubaccountId: Subaccount ID of this floodlight activity group. This
7534	// is a read-only field that can be left blank.
7535	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7536
7537	// TagString: Value of the type= parameter in the floodlight tag, which
7538	// the ad servers use to identify the activity group that the activity
7539	// belongs to. This is optional: if empty, a new tag string will be
7540	// generated for you. This string must be 1 to 8 characters long, with
7541	// valid characters being a-z0-9[ _ ]. This tag string must also be
7542	// unique among activity groups of the same floodlight configuration.
7543	// This field is read-only after insertion.
7544	TagString string `json:"tagString,omitempty"`
7545
7546	// Type: Type of the floodlight activity group. This is a required field
7547	// that is read-only after insertion.
7548	//
7549	// Possible values:
7550	//   "COUNTER"
7551	//   "SALE"
7552	Type string `json:"type,omitempty"`
7553
7554	// ServerResponse contains the HTTP response code and headers from the
7555	// server.
7556	googleapi.ServerResponse `json:"-"`
7557
7558	// ForceSendFields is a list of field names (e.g. "AccountId") to
7559	// unconditionally include in API requests. By default, fields with
7560	// empty values are omitted from API requests. However, any non-pointer,
7561	// non-interface field appearing in ForceSendFields will be sent to the
7562	// server regardless of whether the field is empty or not. This may be
7563	// used to include empty fields in Patch requests.
7564	ForceSendFields []string `json:"-"`
7565
7566	// NullFields is a list of field names (e.g. "AccountId") to include in
7567	// API requests with the JSON null value. By default, fields with empty
7568	// values are omitted from API requests. However, any field with an
7569	// empty value appearing in NullFields will be sent to the server as
7570	// null. It is an error if a field in this list has a non-empty value.
7571	// This may be used to include null fields in Patch requests.
7572	NullFields []string `json:"-"`
7573}
7574
7575func (s *FloodlightActivityGroup) MarshalJSON() ([]byte, error) {
7576	type NoMethod FloodlightActivityGroup
7577	raw := NoMethod(*s)
7578	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7579}
7580
7581// FloodlightActivityGroupsListResponse: Floodlight Activity Group List
7582// Response
7583type FloodlightActivityGroupsListResponse struct {
7584	// FloodlightActivityGroups: Floodlight activity group collection.
7585	FloodlightActivityGroups []*FloodlightActivityGroup `json:"floodlightActivityGroups,omitempty"`
7586
7587	// Kind: Identifies what kind of resource this is. Value: the fixed
7588	// string "dfareporting#floodlightActivityGroupsListResponse".
7589	Kind string `json:"kind,omitempty"`
7590
7591	// NextPageToken: Pagination token to be used for the next list
7592	// operation.
7593	NextPageToken string `json:"nextPageToken,omitempty"`
7594
7595	// ServerResponse contains the HTTP response code and headers from the
7596	// server.
7597	googleapi.ServerResponse `json:"-"`
7598
7599	// ForceSendFields is a list of field names (e.g.
7600	// "FloodlightActivityGroups") to unconditionally include in API
7601	// requests. By default, fields with empty values are omitted from API
7602	// requests. However, any non-pointer, non-interface field appearing in
7603	// ForceSendFields will be sent to the server regardless of whether the
7604	// field is empty or not. This may be used to include empty fields in
7605	// Patch requests.
7606	ForceSendFields []string `json:"-"`
7607
7608	// NullFields is a list of field names (e.g. "FloodlightActivityGroups")
7609	// to include in API requests with the JSON null value. By default,
7610	// fields with empty values are omitted from API requests. However, any
7611	// field with an empty value appearing in NullFields will be sent to the
7612	// server as null. It is an error if a field in this list has a
7613	// non-empty value. This may be used to include null fields in Patch
7614	// requests.
7615	NullFields []string `json:"-"`
7616}
7617
7618func (s *FloodlightActivityGroupsListResponse) MarshalJSON() ([]byte, error) {
7619	type NoMethod FloodlightActivityGroupsListResponse
7620	raw := NoMethod(*s)
7621	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7622}
7623
7624// FloodlightActivityPublisherDynamicTag: Publisher Dynamic Tag
7625type FloodlightActivityPublisherDynamicTag struct {
7626	// ClickThrough: Whether this tag is applicable only for click-throughs.
7627	ClickThrough bool `json:"clickThrough,omitempty"`
7628
7629	// DirectorySiteId: Directory site ID of this dynamic tag. This is a
7630	// write-only field that can be used as an alternative to the siteId
7631	// field. When this resource is retrieved, only the siteId field will be
7632	// populated.
7633	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
7634
7635	// DynamicTag: Dynamic floodlight tag.
7636	DynamicTag *FloodlightActivityDynamicTag `json:"dynamicTag,omitempty"`
7637
7638	// SiteId: Site ID of this dynamic tag.
7639	SiteId int64 `json:"siteId,omitempty,string"`
7640
7641	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
7642	// a read-only, auto-generated field.
7643	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
7644
7645	// ViewThrough: Whether this tag is applicable only for view-throughs.
7646	ViewThrough bool `json:"viewThrough,omitempty"`
7647
7648	// ForceSendFields is a list of field names (e.g. "ClickThrough") to
7649	// unconditionally include in API requests. By default, fields with
7650	// empty values are omitted from API requests. However, any non-pointer,
7651	// non-interface field appearing in ForceSendFields will be sent to the
7652	// server regardless of whether the field is empty or not. This may be
7653	// used to include empty fields in Patch requests.
7654	ForceSendFields []string `json:"-"`
7655
7656	// NullFields is a list of field names (e.g. "ClickThrough") to include
7657	// in API requests with the JSON null value. By default, fields with
7658	// empty values are omitted from API requests. However, any field with
7659	// an empty value appearing in NullFields will be sent to the server as
7660	// null. It is an error if a field in this list has a non-empty value.
7661	// This may be used to include null fields in Patch requests.
7662	NullFields []string `json:"-"`
7663}
7664
7665func (s *FloodlightActivityPublisherDynamicTag) MarshalJSON() ([]byte, error) {
7666	type NoMethod FloodlightActivityPublisherDynamicTag
7667	raw := NoMethod(*s)
7668	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7669}
7670
7671// FloodlightConfiguration: Contains properties of a Floodlight
7672// configuration.
7673type FloodlightConfiguration struct {
7674	// AccountId: Account ID of this floodlight configuration. This is a
7675	// read-only field that can be left blank.
7676	AccountId int64 `json:"accountId,omitempty,string"`
7677
7678	// AdvertiserId: Advertiser ID of the parent advertiser of this
7679	// floodlight configuration.
7680	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7681
7682	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7683	// advertiser. This is a read-only, auto-generated field.
7684	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7685
7686	// AnalyticsDataSharingEnabled: Whether advertiser data is shared with
7687	// Google Analytics.
7688	AnalyticsDataSharingEnabled bool `json:"analyticsDataSharingEnabled,omitempty"`
7689
7690	// CustomViewabilityMetric: Custom Viewability metric for the floodlight
7691	// configuration.
7692	CustomViewabilityMetric *CustomViewabilityMetric `json:"customViewabilityMetric,omitempty"`
7693
7694	// ExposureToConversionEnabled: Whether the exposure-to-conversion
7695	// report is enabled. This report shows detailed pathway information on
7696	// up to 10 of the most recent ad exposures seen by a user before
7697	// converting.
7698	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
7699
7700	// FirstDayOfWeek: Day that will be counted as the first day of the week
7701	// in reports. This is a required field.
7702	//
7703	// Possible values:
7704	//   "MONDAY"
7705	//   "SUNDAY"
7706	FirstDayOfWeek string `json:"firstDayOfWeek,omitempty"`
7707
7708	// Id: ID of this floodlight configuration. This is a read-only,
7709	// auto-generated field.
7710	Id int64 `json:"id,omitempty,string"`
7711
7712	// IdDimensionValue: Dimension value for the ID of this floodlight
7713	// configuration. This is a read-only, auto-generated field.
7714	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7715
7716	// InAppAttributionTrackingEnabled: Whether in-app attribution tracking
7717	// is enabled.
7718	InAppAttributionTrackingEnabled bool `json:"inAppAttributionTrackingEnabled,omitempty"`
7719
7720	// Kind: Identifies what kind of resource this is. Value: the fixed
7721	// string "dfareporting#floodlightConfiguration".
7722	Kind string `json:"kind,omitempty"`
7723
7724	// LookbackConfiguration: Lookback window settings for this floodlight
7725	// configuration.
7726	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
7727
7728	// NaturalSearchConversionAttributionOption: Types of attribution
7729	// options for natural search conversions.
7730	//
7731	// Possible values:
7732	//   "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
7733	//   "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
7734	//   "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"
7735	NaturalSearchConversionAttributionOption string `json:"naturalSearchConversionAttributionOption,omitempty"`
7736
7737	// OmnitureSettings: Settings for Campaign Manager Omniture integration.
7738	OmnitureSettings *OmnitureSettings `json:"omnitureSettings,omitempty"`
7739
7740	// SubaccountId: Subaccount ID of this floodlight configuration. This is
7741	// a read-only field that can be left blank.
7742	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7743
7744	// TagSettings: Configuration settings for dynamic and image floodlight
7745	// tags.
7746	TagSettings *TagSettings `json:"tagSettings,omitempty"`
7747
7748	// ThirdPartyAuthenticationTokens: List of third-party authentication
7749	// tokens enabled for this configuration.
7750	ThirdPartyAuthenticationTokens []*ThirdPartyAuthenticationToken `json:"thirdPartyAuthenticationTokens,omitempty"`
7751
7752	// UserDefinedVariableConfigurations: List of user defined variables
7753	// enabled for this configuration.
7754	UserDefinedVariableConfigurations []*UserDefinedVariableConfiguration `json:"userDefinedVariableConfigurations,omitempty"`
7755
7756	// ServerResponse contains the HTTP response code and headers from the
7757	// server.
7758	googleapi.ServerResponse `json:"-"`
7759
7760	// ForceSendFields is a list of field names (e.g. "AccountId") to
7761	// unconditionally include in API requests. By default, fields with
7762	// empty values are omitted from API requests. However, any non-pointer,
7763	// non-interface field appearing in ForceSendFields will be sent to the
7764	// server regardless of whether the field is empty or not. This may be
7765	// used to include empty fields in Patch requests.
7766	ForceSendFields []string `json:"-"`
7767
7768	// NullFields is a list of field names (e.g. "AccountId") to include in
7769	// API requests with the JSON null value. By default, fields with empty
7770	// values are omitted from API requests. However, any field with an
7771	// empty value appearing in NullFields will be sent to the server as
7772	// null. It is an error if a field in this list has a non-empty value.
7773	// This may be used to include null fields in Patch requests.
7774	NullFields []string `json:"-"`
7775}
7776
7777func (s *FloodlightConfiguration) MarshalJSON() ([]byte, error) {
7778	type NoMethod FloodlightConfiguration
7779	raw := NoMethod(*s)
7780	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7781}
7782
7783// FloodlightConfigurationsListResponse: Floodlight Configuration List
7784// Response
7785type FloodlightConfigurationsListResponse struct {
7786	// FloodlightConfigurations: Floodlight configuration collection.
7787	FloodlightConfigurations []*FloodlightConfiguration `json:"floodlightConfigurations,omitempty"`
7788
7789	// Kind: Identifies what kind of resource this is. Value: the fixed
7790	// string "dfareporting#floodlightConfigurationsListResponse".
7791	Kind string `json:"kind,omitempty"`
7792
7793	// ServerResponse contains the HTTP response code and headers from the
7794	// server.
7795	googleapi.ServerResponse `json:"-"`
7796
7797	// ForceSendFields is a list of field names (e.g.
7798	// "FloodlightConfigurations") to unconditionally include in API
7799	// requests. By default, fields with empty values are omitted from API
7800	// requests. However, any non-pointer, non-interface field appearing in
7801	// ForceSendFields will be sent to the server regardless of whether the
7802	// field is empty or not. This may be used to include empty fields in
7803	// Patch requests.
7804	ForceSendFields []string `json:"-"`
7805
7806	// NullFields is a list of field names (e.g. "FloodlightConfigurations")
7807	// to include in API requests with the JSON null value. By default,
7808	// fields with empty values are omitted from API requests. However, any
7809	// field with an empty value appearing in NullFields will be sent to the
7810	// server as null. It is an error if a field in this list has a
7811	// non-empty value. This may be used to include null fields in Patch
7812	// requests.
7813	NullFields []string `json:"-"`
7814}
7815
7816func (s *FloodlightConfigurationsListResponse) MarshalJSON() ([]byte, error) {
7817	type NoMethod FloodlightConfigurationsListResponse
7818	raw := NoMethod(*s)
7819	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7820}
7821
7822// FloodlightReportCompatibleFields: Represents fields that are
7823// compatible to be selected for a report of type "FlOODLIGHT".
7824type FloodlightReportCompatibleFields struct {
7825	// DimensionFilters: Dimensions which are compatible to be selected in
7826	// the "dimensionFilters" section of the report.
7827	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
7828
7829	// Dimensions: Dimensions which are compatible to be selected in the
7830	// "dimensions" section of the report.
7831	Dimensions []*Dimension `json:"dimensions,omitempty"`
7832
7833	// Kind: The kind of resource this is, in this case
7834	// dfareporting#floodlightReportCompatibleFields.
7835	Kind string `json:"kind,omitempty"`
7836
7837	// Metrics: Metrics which are compatible to be selected in the
7838	// "metricNames" section of the report.
7839	Metrics []*Metric `json:"metrics,omitempty"`
7840
7841	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
7842	// unconditionally include in API requests. By default, fields with
7843	// empty values are omitted from API requests. However, any non-pointer,
7844	// non-interface field appearing in ForceSendFields will be sent to the
7845	// server regardless of whether the field is empty or not. This may be
7846	// used to include empty fields in Patch requests.
7847	ForceSendFields []string `json:"-"`
7848
7849	// NullFields is a list of field names (e.g. "DimensionFilters") to
7850	// include in API requests with the JSON null value. By default, fields
7851	// with empty values are omitted from API requests. However, any field
7852	// with an empty value appearing in NullFields will be sent to the
7853	// server as null. It is an error if a field in this list has a
7854	// non-empty value. This may be used to include null fields in Patch
7855	// requests.
7856	NullFields []string `json:"-"`
7857}
7858
7859func (s *FloodlightReportCompatibleFields) MarshalJSON() ([]byte, error) {
7860	type NoMethod FloodlightReportCompatibleFields
7861	raw := NoMethod(*s)
7862	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7863}
7864
7865// FrequencyCap: Frequency Cap.
7866type FrequencyCap struct {
7867	// Duration: Duration of time, in seconds, for this frequency cap. The
7868	// maximum duration is 90 days. Acceptable values are 1 to 7776000,
7869	// inclusive.
7870	Duration int64 `json:"duration,omitempty,string"`
7871
7872	// Impressions: Number of times an individual user can be served the ad
7873	// within the specified duration. Acceptable values are 1 to 15,
7874	// inclusive.
7875	Impressions int64 `json:"impressions,omitempty,string"`
7876
7877	// ForceSendFields is a list of field names (e.g. "Duration") to
7878	// unconditionally include in API requests. By default, fields with
7879	// empty values are omitted from API requests. However, any non-pointer,
7880	// non-interface field appearing in ForceSendFields will be sent to the
7881	// server regardless of whether the field is empty or not. This may be
7882	// used to include empty fields in Patch requests.
7883	ForceSendFields []string `json:"-"`
7884
7885	// NullFields is a list of field names (e.g. "Duration") to include in
7886	// API requests with the JSON null value. By default, fields with empty
7887	// values are omitted from API requests. However, any field with an
7888	// empty value appearing in NullFields will be sent to the server as
7889	// null. It is an error if a field in this list has a non-empty value.
7890	// This may be used to include null fields in Patch requests.
7891	NullFields []string `json:"-"`
7892}
7893
7894func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
7895	type NoMethod FrequencyCap
7896	raw := NoMethod(*s)
7897	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7898}
7899
7900// FsCommand: FsCommand.
7901type FsCommand struct {
7902	// Left: Distance from the left of the browser.Applicable when
7903	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
7904	Left int64 `json:"left,omitempty"`
7905
7906	// PositionOption: Position in the browser where the window will open.
7907	//
7908	// Possible values:
7909	//   "CENTERED"
7910	//   "DISTANCE_FROM_TOP_LEFT_CORNER"
7911	PositionOption string `json:"positionOption,omitempty"`
7912
7913	// Top: Distance from the top of the browser. Applicable when
7914	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
7915	Top int64 `json:"top,omitempty"`
7916
7917	// WindowHeight: Height of the window.
7918	WindowHeight int64 `json:"windowHeight,omitempty"`
7919
7920	// WindowWidth: Width of the window.
7921	WindowWidth int64 `json:"windowWidth,omitempty"`
7922
7923	// ForceSendFields is a list of field names (e.g. "Left") to
7924	// unconditionally include in API requests. By default, fields with
7925	// empty values are omitted from API requests. However, any non-pointer,
7926	// non-interface field appearing in ForceSendFields will be sent to the
7927	// server regardless of whether the field is empty or not. This may be
7928	// used to include empty fields in Patch requests.
7929	ForceSendFields []string `json:"-"`
7930
7931	// NullFields is a list of field names (e.g. "Left") to include in API
7932	// requests with the JSON null value. By default, fields with empty
7933	// values are omitted from API requests. However, any field with an
7934	// empty value appearing in NullFields will be sent to the server as
7935	// null. It is an error if a field in this list has a non-empty value.
7936	// This may be used to include null fields in Patch requests.
7937	NullFields []string `json:"-"`
7938}
7939
7940func (s *FsCommand) MarshalJSON() ([]byte, error) {
7941	type NoMethod FsCommand
7942	raw := NoMethod(*s)
7943	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7944}
7945
7946// GeoTargeting: Geographical Targeting.
7947type GeoTargeting struct {
7948	// Cities: Cities to be targeted. For each city only dartId is required.
7949	// The other fields are populated automatically when the ad is inserted
7950	// or updated. If targeting a city, do not target or exclude the country
7951	// of the city, and do not target the metro or region of the city.
7952	Cities []*City `json:"cities,omitempty"`
7953
7954	// Countries: Countries to be targeted or excluded from targeting,
7955	// depending on the setting of the excludeCountries field. For each
7956	// country only dartId is required. The other fields are populated
7957	// automatically when the ad is inserted or updated. If targeting or
7958	// excluding a country, do not target regions, cities, metros, or postal
7959	// codes in the same country.
7960	Countries []*Country `json:"countries,omitempty"`
7961
7962	// ExcludeCountries: Whether or not to exclude the countries in the
7963	// countries field from targeting. If false, the countries field refers
7964	// to countries which will be targeted by the ad.
7965	ExcludeCountries bool `json:"excludeCountries,omitempty"`
7966
7967	// Metros: Metros to be targeted. For each metro only dmaId is required.
7968	// The other fields are populated automatically when the ad is inserted
7969	// or updated. If targeting a metro, do not target or exclude the
7970	// country of the metro.
7971	Metros []*Metro `json:"metros,omitempty"`
7972
7973	// PostalCodes: Postal codes to be targeted. For each postal code only
7974	// id is required. The other fields are populated automatically when the
7975	// ad is inserted or updated. If targeting a postal code, do not target
7976	// or exclude the country of the postal code.
7977	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
7978
7979	// Regions: Regions to be targeted. For each region only dartId is
7980	// required. The other fields are populated automatically when the ad is
7981	// inserted or updated. If targeting a region, do not target or exclude
7982	// the country of the region.
7983	Regions []*Region `json:"regions,omitempty"`
7984
7985	// ForceSendFields is a list of field names (e.g. "Cities") to
7986	// unconditionally include in API requests. By default, fields with
7987	// empty values are omitted from API requests. However, any non-pointer,
7988	// non-interface field appearing in ForceSendFields will be sent to the
7989	// server regardless of whether the field is empty or not. This may be
7990	// used to include empty fields in Patch requests.
7991	ForceSendFields []string `json:"-"`
7992
7993	// NullFields is a list of field names (e.g. "Cities") to include in API
7994	// requests with the JSON null value. By default, fields with empty
7995	// values are omitted from API requests. However, any field with an
7996	// empty value appearing in NullFields will be sent to the server as
7997	// null. It is an error if a field in this list has a non-empty value.
7998	// This may be used to include null fields in Patch requests.
7999	NullFields []string `json:"-"`
8000}
8001
8002func (s *GeoTargeting) MarshalJSON() ([]byte, error) {
8003	type NoMethod GeoTargeting
8004	raw := NoMethod(*s)
8005	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8006}
8007
8008// InventoryItem: Represents a buy from the Planning inventory store.
8009type InventoryItem struct {
8010	// AccountId: Account ID of this inventory item.
8011	AccountId int64 `json:"accountId,omitempty,string"`
8012
8013	// AdSlots: Ad slots of this inventory item. If this inventory item
8014	// represents a standalone placement, there will be exactly one ad slot.
8015	// If this inventory item represents a placement group, there will be
8016	// more than one ad slot, each representing one child placement in that
8017	// placement group.
8018	AdSlots []*AdSlot `json:"adSlots,omitempty"`
8019
8020	// AdvertiserId: Advertiser ID of this inventory item.
8021	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8022
8023	// ContentCategoryId: Content category ID of this inventory item.
8024	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
8025
8026	// EstimatedClickThroughRate: Estimated click-through rate of this
8027	// inventory item.
8028	EstimatedClickThroughRate int64 `json:"estimatedClickThroughRate,omitempty,string"`
8029
8030	// EstimatedConversionRate: Estimated conversion rate of this inventory
8031	// item.
8032	EstimatedConversionRate int64 `json:"estimatedConversionRate,omitempty,string"`
8033
8034	// Id: ID of this inventory item.
8035	Id int64 `json:"id,omitempty,string"`
8036
8037	// InPlan: Whether this inventory item is in plan.
8038	InPlan bool `json:"inPlan,omitempty"`
8039
8040	// Kind: Identifies what kind of resource this is. Value: the fixed
8041	// string "dfareporting#inventoryItem".
8042	Kind string `json:"kind,omitempty"`
8043
8044	// LastModifiedInfo: Information about the most recent modification of
8045	// this inventory item.
8046	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
8047
8048	// Name: Name of this inventory item. For standalone inventory items,
8049	// this is the same name as that of its only ad slot. For group
8050	// inventory items, this can differ from the name of any of its ad
8051	// slots.
8052	Name string `json:"name,omitempty"`
8053
8054	// NegotiationChannelId: Negotiation channel ID of this inventory item.
8055	NegotiationChannelId int64 `json:"negotiationChannelId,omitempty,string"`
8056
8057	// OrderId: Order ID of this inventory item.
8058	OrderId int64 `json:"orderId,omitempty,string"`
8059
8060	// PlacementStrategyId: Placement strategy ID of this inventory item.
8061	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
8062
8063	// Pricing: Pricing of this inventory item.
8064	Pricing *Pricing `json:"pricing,omitempty"`
8065
8066	// ProjectId: Project ID of this inventory item.
8067	ProjectId int64 `json:"projectId,omitempty,string"`
8068
8069	// RfpId: RFP ID of this inventory item.
8070	RfpId int64 `json:"rfpId,omitempty,string"`
8071
8072	// SiteId: ID of the site this inventory item is associated with.
8073	SiteId int64 `json:"siteId,omitempty,string"`
8074
8075	// SubaccountId: Subaccount ID of this inventory item.
8076	SubaccountId int64 `json:"subaccountId,omitempty,string"`
8077
8078	// Type: Type of inventory item.
8079	//
8080	// Possible values:
8081	//   "PLANNING_PLACEMENT_TYPE_REGULAR"
8082	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
8083	Type string `json:"type,omitempty"`
8084
8085	// ServerResponse contains the HTTP response code and headers from the
8086	// server.
8087	googleapi.ServerResponse `json:"-"`
8088
8089	// ForceSendFields is a list of field names (e.g. "AccountId") to
8090	// unconditionally include in API requests. By default, fields with
8091	// empty values are omitted from API requests. However, any non-pointer,
8092	// non-interface field appearing in ForceSendFields will be sent to the
8093	// server regardless of whether the field is empty or not. This may be
8094	// used to include empty fields in Patch requests.
8095	ForceSendFields []string `json:"-"`
8096
8097	// NullFields is a list of field names (e.g. "AccountId") to include in
8098	// API requests with the JSON null value. By default, fields with empty
8099	// values are omitted from API requests. However, any field with an
8100	// empty value appearing in NullFields will be sent to the server as
8101	// null. It is an error if a field in this list has a non-empty value.
8102	// This may be used to include null fields in Patch requests.
8103	NullFields []string `json:"-"`
8104}
8105
8106func (s *InventoryItem) MarshalJSON() ([]byte, error) {
8107	type NoMethod InventoryItem
8108	raw := NoMethod(*s)
8109	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8110}
8111
8112// InventoryItemsListResponse: Inventory item List Response
8113type InventoryItemsListResponse struct {
8114	// InventoryItems: Inventory item collection
8115	InventoryItems []*InventoryItem `json:"inventoryItems,omitempty"`
8116
8117	// Kind: Identifies what kind of resource this is. Value: the fixed
8118	// string "dfareporting#inventoryItemsListResponse".
8119	Kind string `json:"kind,omitempty"`
8120
8121	// NextPageToken: Pagination token to be used for the next list
8122	// operation.
8123	NextPageToken string `json:"nextPageToken,omitempty"`
8124
8125	// ServerResponse contains the HTTP response code and headers from the
8126	// server.
8127	googleapi.ServerResponse `json:"-"`
8128
8129	// ForceSendFields is a list of field names (e.g. "InventoryItems") to
8130	// unconditionally include in API requests. By default, fields with
8131	// empty values are omitted from API requests. However, any non-pointer,
8132	// non-interface field appearing in ForceSendFields will be sent to the
8133	// server regardless of whether the field is empty or not. This may be
8134	// used to include empty fields in Patch requests.
8135	ForceSendFields []string `json:"-"`
8136
8137	// NullFields is a list of field names (e.g. "InventoryItems") to
8138	// include in API requests with the JSON null value. By default, fields
8139	// with empty values are omitted from API requests. However, any field
8140	// with an empty value appearing in NullFields will be sent to the
8141	// server as null. It is an error if a field in this list has a
8142	// non-empty value. This may be used to include null fields in Patch
8143	// requests.
8144	NullFields []string `json:"-"`
8145}
8146
8147func (s *InventoryItemsListResponse) MarshalJSON() ([]byte, error) {
8148	type NoMethod InventoryItemsListResponse
8149	raw := NoMethod(*s)
8150	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8151}
8152
8153// KeyValueTargetingExpression: Key Value Targeting Expression.
8154type KeyValueTargetingExpression struct {
8155	// Expression: Keyword expression being targeted by the ad.
8156	Expression string `json:"expression,omitempty"`
8157
8158	// ForceSendFields is a list of field names (e.g. "Expression") to
8159	// unconditionally include in API requests. By default, fields with
8160	// empty values are omitted from API requests. However, any non-pointer,
8161	// non-interface field appearing in ForceSendFields will be sent to the
8162	// server regardless of whether the field is empty or not. This may be
8163	// used to include empty fields in Patch requests.
8164	ForceSendFields []string `json:"-"`
8165
8166	// NullFields is a list of field names (e.g. "Expression") to include in
8167	// API requests with the JSON null value. By default, fields with empty
8168	// values are omitted from API requests. However, any field with an
8169	// empty value appearing in NullFields will be sent to the server as
8170	// null. It is an error if a field in this list has a non-empty value.
8171	// This may be used to include null fields in Patch requests.
8172	NullFields []string `json:"-"`
8173}
8174
8175func (s *KeyValueTargetingExpression) MarshalJSON() ([]byte, error) {
8176	type NoMethod KeyValueTargetingExpression
8177	raw := NoMethod(*s)
8178	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8179}
8180
8181// LandingPage: Contains information about where a user's browser is
8182// taken after the user clicks an ad.
8183type LandingPage struct {
8184	// AdvertiserId: Advertiser ID of this landing page. This is a required
8185	// field.
8186	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8187
8188	// Archived: Whether this landing page has been archived.
8189	Archived bool `json:"archived,omitempty"`
8190
8191	// DeepLinks: Links that will direct the user to a mobile app, if
8192	// installed.
8193	DeepLinks []*DeepLink `json:"deepLinks,omitempty"`
8194
8195	// Id: ID of this landing page. This is a read-only, auto-generated
8196	// field.
8197	Id int64 `json:"id,omitempty,string"`
8198
8199	// Kind: Identifies what kind of resource this is. Value: the fixed
8200	// string "dfareporting#landingPage".
8201	Kind string `json:"kind,omitempty"`
8202
8203	// Name: Name of this landing page. This is a required field. It must be
8204	// less than 256 characters long.
8205	Name string `json:"name,omitempty"`
8206
8207	// Url: URL of this landing page. This is a required field.
8208	Url string `json:"url,omitempty"`
8209
8210	// ServerResponse contains the HTTP response code and headers from the
8211	// server.
8212	googleapi.ServerResponse `json:"-"`
8213
8214	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
8215	// unconditionally include in API requests. By default, fields with
8216	// empty values are omitted from API requests. However, any non-pointer,
8217	// non-interface field appearing in ForceSendFields will be sent to the
8218	// server regardless of whether the field is empty or not. This may be
8219	// used to include empty fields in Patch requests.
8220	ForceSendFields []string `json:"-"`
8221
8222	// NullFields is a list of field names (e.g. "AdvertiserId") to include
8223	// in API requests with the JSON null value. By default, fields with
8224	// empty values are omitted from API requests. However, any field with
8225	// an empty value appearing in NullFields will be sent to the server as
8226	// null. It is an error if a field in this list has a non-empty value.
8227	// This may be used to include null fields in Patch requests.
8228	NullFields []string `json:"-"`
8229}
8230
8231func (s *LandingPage) MarshalJSON() ([]byte, error) {
8232	type NoMethod LandingPage
8233	raw := NoMethod(*s)
8234	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8235}
8236
8237// Language: Contains information about a language that can be targeted
8238// by ads.
8239type Language struct {
8240	// Id: Language ID of this language. This is the ID used for targeting
8241	// and generating reports.
8242	Id int64 `json:"id,omitempty,string"`
8243
8244	// Kind: Identifies what kind of resource this is. Value: the fixed
8245	// string "dfareporting#language".
8246	Kind string `json:"kind,omitempty"`
8247
8248	// LanguageCode: Format of language code is an ISO 639 two-letter
8249	// language code optionally followed by an underscore followed by an ISO
8250	// 3166 code. Examples are "en" for English or "zh_CN" for Simplified
8251	// Chinese.
8252	LanguageCode string `json:"languageCode,omitempty"`
8253
8254	// Name: Name of this language.
8255	Name string `json:"name,omitempty"`
8256
8257	// ForceSendFields is a list of field names (e.g. "Id") to
8258	// unconditionally include in API requests. By default, fields with
8259	// empty values are omitted from API requests. However, any non-pointer,
8260	// non-interface field appearing in ForceSendFields will be sent to the
8261	// server regardless of whether the field is empty or not. This may be
8262	// used to include empty fields in Patch requests.
8263	ForceSendFields []string `json:"-"`
8264
8265	// NullFields is a list of field names (e.g. "Id") to include in API
8266	// requests with the JSON null value. By default, fields with empty
8267	// values are omitted from API requests. However, any field with an
8268	// empty value appearing in NullFields will be sent to the server as
8269	// null. It is an error if a field in this list has a non-empty value.
8270	// This may be used to include null fields in Patch requests.
8271	NullFields []string `json:"-"`
8272}
8273
8274func (s *Language) MarshalJSON() ([]byte, error) {
8275	type NoMethod Language
8276	raw := NoMethod(*s)
8277	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8278}
8279
8280// LanguageTargeting: Language Targeting.
8281type LanguageTargeting struct {
8282	// Languages: Languages that this ad targets. For each language only
8283	// languageId is required. The other fields are populated automatically
8284	// when the ad is inserted or updated.
8285	Languages []*Language `json:"languages,omitempty"`
8286
8287	// ForceSendFields is a list of field names (e.g. "Languages") to
8288	// unconditionally include in API requests. By default, fields with
8289	// empty values are omitted from API requests. However, any non-pointer,
8290	// non-interface field appearing in ForceSendFields will be sent to the
8291	// server regardless of whether the field is empty or not. This may be
8292	// used to include empty fields in Patch requests.
8293	ForceSendFields []string `json:"-"`
8294
8295	// NullFields is a list of field names (e.g. "Languages") to include in
8296	// API requests with the JSON null value. By default, fields with empty
8297	// values are omitted from API requests. However, any field with an
8298	// empty value appearing in NullFields will be sent to the server as
8299	// null. It is an error if a field in this list has a non-empty value.
8300	// This may be used to include null fields in Patch requests.
8301	NullFields []string `json:"-"`
8302}
8303
8304func (s *LanguageTargeting) MarshalJSON() ([]byte, error) {
8305	type NoMethod LanguageTargeting
8306	raw := NoMethod(*s)
8307	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8308}
8309
8310// LanguagesListResponse: Language List Response
8311type LanguagesListResponse struct {
8312	// Kind: Identifies what kind of resource this is. Value: the fixed
8313	// string "dfareporting#languagesListResponse".
8314	Kind string `json:"kind,omitempty"`
8315
8316	// Languages: Language collection.
8317	Languages []*Language `json:"languages,omitempty"`
8318
8319	// ServerResponse contains the HTTP response code and headers from the
8320	// server.
8321	googleapi.ServerResponse `json:"-"`
8322
8323	// ForceSendFields is a list of field names (e.g. "Kind") to
8324	// unconditionally include in API requests. By default, fields with
8325	// empty values are omitted from API requests. However, any non-pointer,
8326	// non-interface field appearing in ForceSendFields will be sent to the
8327	// server regardless of whether the field is empty or not. This may be
8328	// used to include empty fields in Patch requests.
8329	ForceSendFields []string `json:"-"`
8330
8331	// NullFields is a list of field names (e.g. "Kind") to include in API
8332	// requests with the JSON null value. By default, fields with empty
8333	// values are omitted from API requests. However, any field with an
8334	// empty value appearing in NullFields will be sent to the server as
8335	// null. It is an error if a field in this list has a non-empty value.
8336	// This may be used to include null fields in Patch requests.
8337	NullFields []string `json:"-"`
8338}
8339
8340func (s *LanguagesListResponse) MarshalJSON() ([]byte, error) {
8341	type NoMethod LanguagesListResponse
8342	raw := NoMethod(*s)
8343	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8344}
8345
8346// LastModifiedInfo: Modification timestamp.
8347type LastModifiedInfo struct {
8348	// Time: Timestamp of the last change in milliseconds since epoch.
8349	Time int64 `json:"time,omitempty,string"`
8350
8351	// ForceSendFields is a list of field names (e.g. "Time") to
8352	// unconditionally include in API requests. By default, fields with
8353	// empty values are omitted from API requests. However, any non-pointer,
8354	// non-interface field appearing in ForceSendFields will be sent to the
8355	// server regardless of whether the field is empty or not. This may be
8356	// used to include empty fields in Patch requests.
8357	ForceSendFields []string `json:"-"`
8358
8359	// NullFields is a list of field names (e.g. "Time") to include in API
8360	// requests with the JSON null value. By default, fields with empty
8361	// values are omitted from API requests. However, any field with an
8362	// empty value appearing in NullFields will be sent to the server as
8363	// null. It is an error if a field in this list has a non-empty value.
8364	// This may be used to include null fields in Patch requests.
8365	NullFields []string `json:"-"`
8366}
8367
8368func (s *LastModifiedInfo) MarshalJSON() ([]byte, error) {
8369	type NoMethod LastModifiedInfo
8370	raw := NoMethod(*s)
8371	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8372}
8373
8374// ListPopulationClause: A group clause made up of list population terms
8375// representing constraints joined by ORs.
8376type ListPopulationClause struct {
8377	// Terms: Terms of this list population clause. Each clause is made up
8378	// of list population terms representing constraints and are joined by
8379	// ORs.
8380	Terms []*ListPopulationTerm `json:"terms,omitempty"`
8381
8382	// ForceSendFields is a list of field names (e.g. "Terms") to
8383	// unconditionally include in API requests. By default, fields with
8384	// empty values are omitted from API requests. However, any non-pointer,
8385	// non-interface field appearing in ForceSendFields will be sent to the
8386	// server regardless of whether the field is empty or not. This may be
8387	// used to include empty fields in Patch requests.
8388	ForceSendFields []string `json:"-"`
8389
8390	// NullFields is a list of field names (e.g. "Terms") to include in API
8391	// requests with the JSON null value. By default, fields with empty
8392	// values are omitted from API requests. However, any field with an
8393	// empty value appearing in NullFields will be sent to the server as
8394	// null. It is an error if a field in this list has a non-empty value.
8395	// This may be used to include null fields in Patch requests.
8396	NullFields []string `json:"-"`
8397}
8398
8399func (s *ListPopulationClause) MarshalJSON() ([]byte, error) {
8400	type NoMethod ListPopulationClause
8401	raw := NoMethod(*s)
8402	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8403}
8404
8405// ListPopulationRule: Remarketing List Population Rule.
8406type ListPopulationRule struct {
8407	// FloodlightActivityId: Floodlight activity ID associated with this
8408	// rule. This field can be left blank.
8409	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
8410
8411	// FloodlightActivityName: Name of floodlight activity associated with
8412	// this rule. This is a read-only, auto-generated field.
8413	FloodlightActivityName string `json:"floodlightActivityName,omitempty"`
8414
8415	// ListPopulationClauses: Clauses that make up this list population
8416	// rule. Clauses are joined by ANDs, and the clauses themselves are made
8417	// up of list population terms which are joined by ORs.
8418	ListPopulationClauses []*ListPopulationClause `json:"listPopulationClauses,omitempty"`
8419
8420	// ForceSendFields is a list of field names (e.g.
8421	// "FloodlightActivityId") to unconditionally include in API requests.
8422	// By default, fields with empty values are omitted from API requests.
8423	// However, any non-pointer, non-interface field appearing in
8424	// ForceSendFields will be sent to the server regardless of whether the
8425	// field is empty or not. This may be used to include empty fields in
8426	// Patch requests.
8427	ForceSendFields []string `json:"-"`
8428
8429	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
8430	// include in API requests with the JSON null value. By default, fields
8431	// with empty values are omitted from API requests. However, any field
8432	// with an empty value appearing in NullFields will be sent to the
8433	// server as null. It is an error if a field in this list has a
8434	// non-empty value. This may be used to include null fields in Patch
8435	// requests.
8436	NullFields []string `json:"-"`
8437}
8438
8439func (s *ListPopulationRule) MarshalJSON() ([]byte, error) {
8440	type NoMethod ListPopulationRule
8441	raw := NoMethod(*s)
8442	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8443}
8444
8445// ListPopulationTerm: Remarketing List Population Rule Term.
8446type ListPopulationTerm struct {
8447	// Contains: Will be true if the term should check if the user is in the
8448	// list and false if the term should check if the user is not in the
8449	// list. This field is only relevant when type is set to
8450	// LIST_MEMBERSHIP_TERM. False by default.
8451	Contains bool `json:"contains,omitempty"`
8452
8453	// Negation: Whether to negate the comparison result of this term during
8454	// rule evaluation. This field is only relevant when type is left unset
8455	// or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
8456	Negation bool `json:"negation,omitempty"`
8457
8458	// Operator: Comparison operator of this term. This field is only
8459	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
8460	// REFERRER_TERM.
8461	//
8462	// Possible values:
8463	//   "NUM_EQUALS"
8464	//   "NUM_LESS_THAN"
8465	//   "NUM_LESS_THAN_EQUAL"
8466	//   "NUM_GREATER_THAN"
8467	//   "NUM_GREATER_THAN_EQUAL"
8468	//   "STRING_EQUALS"
8469	//   "STRING_CONTAINS"
8470	Operator string `json:"operator,omitempty"`
8471
8472	// RemarketingListId: ID of the list in question. This field is only
8473	// relevant when type is set to LIST_MEMBERSHIP_TERM.
8474	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
8475
8476	// Type: List population term type determines the applicable fields in
8477	// this object. If left unset or set to CUSTOM_VARIABLE_TERM, then
8478	// variableName, variableFriendlyName, operator, value, and negation are
8479	// applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
8480	// contains are applicable. If set to REFERRER_TERM then operator,
8481	// value, and negation are applicable.
8482	//
8483	// Possible values:
8484	//   "CUSTOM_VARIABLE_TERM"
8485	//   "LIST_MEMBERSHIP_TERM"
8486	//   "REFERRER_TERM"
8487	Type string `json:"type,omitempty"`
8488
8489	// Value: Literal to compare the variable to. This field is only
8490	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
8491	// REFERRER_TERM.
8492	Value string `json:"value,omitempty"`
8493
8494	// VariableFriendlyName: Friendly name of this term's variable. This is
8495	// a read-only, auto-generated field. This field is only relevant when
8496	// type is left unset or set to CUSTOM_VARIABLE_TERM.
8497	VariableFriendlyName string `json:"variableFriendlyName,omitempty"`
8498
8499	// VariableName: Name of the variable (U1, U2, etc.) being compared in
8500	// this term. This field is only relevant when type is set to null,
8501	// CUSTOM_VARIABLE_TERM or REFERRER_TERM.
8502	VariableName string `json:"variableName,omitempty"`
8503
8504	// ForceSendFields is a list of field names (e.g. "Contains") to
8505	// unconditionally include in API requests. By default, fields with
8506	// empty values are omitted from API requests. However, any non-pointer,
8507	// non-interface field appearing in ForceSendFields will be sent to the
8508	// server regardless of whether the field is empty or not. This may be
8509	// used to include empty fields in Patch requests.
8510	ForceSendFields []string `json:"-"`
8511
8512	// NullFields is a list of field names (e.g. "Contains") to include in
8513	// API requests with the JSON null value. By default, fields with empty
8514	// values are omitted from API requests. However, any field with an
8515	// empty value appearing in NullFields will be sent to the server as
8516	// null. It is an error if a field in this list has a non-empty value.
8517	// This may be used to include null fields in Patch requests.
8518	NullFields []string `json:"-"`
8519}
8520
8521func (s *ListPopulationTerm) MarshalJSON() ([]byte, error) {
8522	type NoMethod ListPopulationTerm
8523	raw := NoMethod(*s)
8524	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8525}
8526
8527// ListTargetingExpression: Remarketing List Targeting Expression.
8528type ListTargetingExpression struct {
8529	// Expression: Expression describing which lists are being targeted by
8530	// the ad.
8531	Expression string `json:"expression,omitempty"`
8532
8533	// ForceSendFields is a list of field names (e.g. "Expression") to
8534	// unconditionally include in API requests. By default, fields with
8535	// empty values are omitted from API requests. However, any non-pointer,
8536	// non-interface field appearing in ForceSendFields will be sent to the
8537	// server regardless of whether the field is empty or not. This may be
8538	// used to include empty fields in Patch requests.
8539	ForceSendFields []string `json:"-"`
8540
8541	// NullFields is a list of field names (e.g. "Expression") to include in
8542	// API requests with the JSON null value. By default, fields with empty
8543	// values are omitted from API requests. However, any field with an
8544	// empty value appearing in NullFields will be sent to the server as
8545	// null. It is an error if a field in this list has a non-empty value.
8546	// This may be used to include null fields in Patch requests.
8547	NullFields []string `json:"-"`
8548}
8549
8550func (s *ListTargetingExpression) MarshalJSON() ([]byte, error) {
8551	type NoMethod ListTargetingExpression
8552	raw := NoMethod(*s)
8553	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8554}
8555
8556// LookbackConfiguration: Lookback configuration settings.
8557type LookbackConfiguration struct {
8558	// ClickDuration: Lookback window, in days, from the last time a given
8559	// user clicked on one of your ads. If you enter 0, clicks will not be
8560	// considered as triggering events for floodlight tracking. If you leave
8561	// this field blank, the default value for your account will be used.
8562	// Acceptable values are 0 to 90, inclusive.
8563	ClickDuration int64 `json:"clickDuration,omitempty"`
8564
8565	// PostImpressionActivitiesDuration: Lookback window, in days, from the
8566	// last time a given user viewed one of your ads. If you enter 0,
8567	// impressions will not be considered as triggering events for
8568	// floodlight tracking. If you leave this field blank, the default value
8569	// for your account will be used. Acceptable values are 0 to 90,
8570	// inclusive.
8571	PostImpressionActivitiesDuration int64 `json:"postImpressionActivitiesDuration,omitempty"`
8572
8573	// ForceSendFields is a list of field names (e.g. "ClickDuration") to
8574	// unconditionally include in API requests. By default, fields with
8575	// empty values are omitted from API requests. However, any non-pointer,
8576	// non-interface field appearing in ForceSendFields will be sent to the
8577	// server regardless of whether the field is empty or not. This may be
8578	// used to include empty fields in Patch requests.
8579	ForceSendFields []string `json:"-"`
8580
8581	// NullFields is a list of field names (e.g. "ClickDuration") to include
8582	// in API requests with the JSON null value. By default, fields with
8583	// empty values are omitted from API requests. However, any field with
8584	// an empty value appearing in NullFields will be sent to the server as
8585	// null. It is an error if a field in this list has a non-empty value.
8586	// This may be used to include null fields in Patch requests.
8587	NullFields []string `json:"-"`
8588}
8589
8590func (s *LookbackConfiguration) MarshalJSON() ([]byte, error) {
8591	type NoMethod LookbackConfiguration
8592	raw := NoMethod(*s)
8593	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8594}
8595
8596// Metric: Represents a metric.
8597type Metric struct {
8598	// Kind: The kind of resource this is, in this case dfareporting#metric.
8599	Kind string `json:"kind,omitempty"`
8600
8601	// Name: The metric name, e.g. dfa:impressions
8602	Name string `json:"name,omitempty"`
8603
8604	// ForceSendFields is a list of field names (e.g. "Kind") to
8605	// unconditionally include in API requests. By default, fields with
8606	// empty values are omitted from API requests. However, any non-pointer,
8607	// non-interface field appearing in ForceSendFields will be sent to the
8608	// server regardless of whether the field is empty or not. This may be
8609	// used to include empty fields in Patch requests.
8610	ForceSendFields []string `json:"-"`
8611
8612	// NullFields is a list of field names (e.g. "Kind") to include in API
8613	// requests with the JSON null value. By default, fields with empty
8614	// values are omitted from API requests. However, any field with an
8615	// empty value appearing in NullFields will be sent to the server as
8616	// null. It is an error if a field in this list has a non-empty value.
8617	// This may be used to include null fields in Patch requests.
8618	NullFields []string `json:"-"`
8619}
8620
8621func (s *Metric) MarshalJSON() ([]byte, error) {
8622	type NoMethod Metric
8623	raw := NoMethod(*s)
8624	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8625}
8626
8627// Metro: Contains information about a metro region that can be targeted
8628// by ads.
8629type Metro struct {
8630	// CountryCode: Country code of the country to which this metro region
8631	// belongs.
8632	CountryCode string `json:"countryCode,omitempty"`
8633
8634	// CountryDartId: DART ID of the country to which this metro region
8635	// belongs.
8636	CountryDartId int64 `json:"countryDartId,omitempty,string"`
8637
8638	// DartId: DART ID of this metro region.
8639	DartId int64 `json:"dartId,omitempty,string"`
8640
8641	// DmaId: DMA ID of this metro region. This is the ID used for targeting
8642	// and generating reports, and is equivalent to metro_code.
8643	DmaId int64 `json:"dmaId,omitempty,string"`
8644
8645	// Kind: Identifies what kind of resource this is. Value: the fixed
8646	// string "dfareporting#metro".
8647	Kind string `json:"kind,omitempty"`
8648
8649	// MetroCode: Metro code of this metro region. This is equivalent to
8650	// dma_id.
8651	MetroCode string `json:"metroCode,omitempty"`
8652
8653	// Name: Name of this metro region.
8654	Name string `json:"name,omitempty"`
8655
8656	// ForceSendFields is a list of field names (e.g. "CountryCode") to
8657	// unconditionally include in API requests. By default, fields with
8658	// empty values are omitted from API requests. However, any non-pointer,
8659	// non-interface field appearing in ForceSendFields will be sent to the
8660	// server regardless of whether the field is empty or not. This may be
8661	// used to include empty fields in Patch requests.
8662	ForceSendFields []string `json:"-"`
8663
8664	// NullFields is a list of field names (e.g. "CountryCode") to include
8665	// in API requests with the JSON null value. By default, fields with
8666	// empty values are omitted from API requests. However, any field with
8667	// an empty value appearing in NullFields will be sent to the server as
8668	// null. It is an error if a field in this list has a non-empty value.
8669	// This may be used to include null fields in Patch requests.
8670	NullFields []string `json:"-"`
8671}
8672
8673func (s *Metro) MarshalJSON() ([]byte, error) {
8674	type NoMethod Metro
8675	raw := NoMethod(*s)
8676	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8677}
8678
8679// MetrosListResponse: Metro List Response
8680type MetrosListResponse struct {
8681	// Kind: Identifies what kind of resource this is. Value: the fixed
8682	// string "dfareporting#metrosListResponse".
8683	Kind string `json:"kind,omitempty"`
8684
8685	// Metros: Metro collection.
8686	Metros []*Metro `json:"metros,omitempty"`
8687
8688	// ServerResponse contains the HTTP response code and headers from the
8689	// server.
8690	googleapi.ServerResponse `json:"-"`
8691
8692	// ForceSendFields is a list of field names (e.g. "Kind") to
8693	// unconditionally include in API requests. By default, fields with
8694	// empty values are omitted from API requests. However, any non-pointer,
8695	// non-interface field appearing in ForceSendFields will be sent to the
8696	// server regardless of whether the field is empty or not. This may be
8697	// used to include empty fields in Patch requests.
8698	ForceSendFields []string `json:"-"`
8699
8700	// NullFields is a list of field names (e.g. "Kind") to include in API
8701	// requests with the JSON null value. By default, fields with empty
8702	// values are omitted from API requests. However, any field with an
8703	// empty value appearing in NullFields will be sent to the server as
8704	// null. It is an error if a field in this list has a non-empty value.
8705	// This may be used to include null fields in Patch requests.
8706	NullFields []string `json:"-"`
8707}
8708
8709func (s *MetrosListResponse) MarshalJSON() ([]byte, error) {
8710	type NoMethod MetrosListResponse
8711	raw := NoMethod(*s)
8712	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8713}
8714
8715// MobileApp: Contains information about a mobile app. Used as a landing
8716// page deep link.
8717type MobileApp struct {
8718	// Directory: Mobile app directory.
8719	//
8720	// Possible values:
8721	//   "UNKNOWN"
8722	//   "APPLE_APP_STORE"
8723	//   "GOOGLE_PLAY_STORE"
8724	Directory string `json:"directory,omitempty"`
8725
8726	// Id: ID of this mobile app.
8727	Id string `json:"id,omitempty"`
8728
8729	// Kind: Identifies what kind of resource this is. Value: the fixed
8730	// string "dfareporting#mobileApp".
8731	Kind string `json:"kind,omitempty"`
8732
8733	// PublisherName: Publisher name.
8734	PublisherName string `json:"publisherName,omitempty"`
8735
8736	// Title: Title of this mobile app.
8737	Title string `json:"title,omitempty"`
8738
8739	// ServerResponse contains the HTTP response code and headers from the
8740	// server.
8741	googleapi.ServerResponse `json:"-"`
8742
8743	// ForceSendFields is a list of field names (e.g. "Directory") to
8744	// unconditionally include in API requests. By default, fields with
8745	// empty values are omitted from API requests. However, any non-pointer,
8746	// non-interface field appearing in ForceSendFields will be sent to the
8747	// server regardless of whether the field is empty or not. This may be
8748	// used to include empty fields in Patch requests.
8749	ForceSendFields []string `json:"-"`
8750
8751	// NullFields is a list of field names (e.g. "Directory") to include in
8752	// API requests with the JSON null value. By default, fields with empty
8753	// values are omitted from API requests. However, any field with an
8754	// empty value appearing in NullFields will be sent to the server as
8755	// null. It is an error if a field in this list has a non-empty value.
8756	// This may be used to include null fields in Patch requests.
8757	NullFields []string `json:"-"`
8758}
8759
8760func (s *MobileApp) MarshalJSON() ([]byte, error) {
8761	type NoMethod MobileApp
8762	raw := NoMethod(*s)
8763	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8764}
8765
8766// MobileAppsListResponse: Mobile app List Response
8767type MobileAppsListResponse struct {
8768	// Kind: Identifies what kind of resource this is. Value: the fixed
8769	// string "dfareporting#mobileAppsListResponse".
8770	Kind string `json:"kind,omitempty"`
8771
8772	// MobileApps: Mobile apps collection.
8773	MobileApps []*MobileApp `json:"mobileApps,omitempty"`
8774
8775	// NextPageToken: Pagination token to be used for the next list
8776	// operation.
8777	NextPageToken string `json:"nextPageToken,omitempty"`
8778
8779	// ServerResponse contains the HTTP response code and headers from the
8780	// server.
8781	googleapi.ServerResponse `json:"-"`
8782
8783	// ForceSendFields is a list of field names (e.g. "Kind") to
8784	// unconditionally include in API requests. By default, fields with
8785	// empty values are omitted from API requests. However, any non-pointer,
8786	// non-interface field appearing in ForceSendFields will be sent to the
8787	// server regardless of whether the field is empty or not. This may be
8788	// used to include empty fields in Patch requests.
8789	ForceSendFields []string `json:"-"`
8790
8791	// NullFields is a list of field names (e.g. "Kind") to include in API
8792	// requests with the JSON null value. By default, fields with empty
8793	// values are omitted from API requests. However, any field with an
8794	// empty value appearing in NullFields will be sent to the server as
8795	// null. It is an error if a field in this list has a non-empty value.
8796	// This may be used to include null fields in Patch requests.
8797	NullFields []string `json:"-"`
8798}
8799
8800func (s *MobileAppsListResponse) MarshalJSON() ([]byte, error) {
8801	type NoMethod MobileAppsListResponse
8802	raw := NoMethod(*s)
8803	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8804}
8805
8806// MobileCarrier: Contains information about a mobile carrier that can
8807// be targeted by ads.
8808type MobileCarrier struct {
8809	// CountryCode: Country code of the country to which this mobile carrier
8810	// belongs.
8811	CountryCode string `json:"countryCode,omitempty"`
8812
8813	// CountryDartId: DART ID of the country to which this mobile carrier
8814	// belongs.
8815	CountryDartId int64 `json:"countryDartId,omitempty,string"`
8816
8817	// Id: ID of this mobile carrier.
8818	Id int64 `json:"id,omitempty,string"`
8819
8820	// Kind: Identifies what kind of resource this is. Value: the fixed
8821	// string "dfareporting#mobileCarrier".
8822	Kind string `json:"kind,omitempty"`
8823
8824	// Name: Name of this mobile carrier.
8825	Name string `json:"name,omitempty"`
8826
8827	// ServerResponse contains the HTTP response code and headers from the
8828	// server.
8829	googleapi.ServerResponse `json:"-"`
8830
8831	// ForceSendFields is a list of field names (e.g. "CountryCode") to
8832	// unconditionally include in API requests. By default, fields with
8833	// empty values are omitted from API requests. However, any non-pointer,
8834	// non-interface field appearing in ForceSendFields will be sent to the
8835	// server regardless of whether the field is empty or not. This may be
8836	// used to include empty fields in Patch requests.
8837	ForceSendFields []string `json:"-"`
8838
8839	// NullFields is a list of field names (e.g. "CountryCode") to include
8840	// in API requests with the JSON null value. By default, fields with
8841	// empty values are omitted from API requests. However, any field with
8842	// an empty value appearing in NullFields will be sent to the server as
8843	// null. It is an error if a field in this list has a non-empty value.
8844	// This may be used to include null fields in Patch requests.
8845	NullFields []string `json:"-"`
8846}
8847
8848func (s *MobileCarrier) MarshalJSON() ([]byte, error) {
8849	type NoMethod MobileCarrier
8850	raw := NoMethod(*s)
8851	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8852}
8853
8854// MobileCarriersListResponse: Mobile Carrier List Response
8855type MobileCarriersListResponse struct {
8856	// Kind: Identifies what kind of resource this is. Value: the fixed
8857	// string "dfareporting#mobileCarriersListResponse".
8858	Kind string `json:"kind,omitempty"`
8859
8860	// MobileCarriers: Mobile carrier collection.
8861	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
8862
8863	// ServerResponse contains the HTTP response code and headers from the
8864	// server.
8865	googleapi.ServerResponse `json:"-"`
8866
8867	// ForceSendFields is a list of field names (e.g. "Kind") to
8868	// unconditionally include in API requests. By default, fields with
8869	// empty values are omitted from API requests. However, any non-pointer,
8870	// non-interface field appearing in ForceSendFields will be sent to the
8871	// server regardless of whether the field is empty or not. This may be
8872	// used to include empty fields in Patch requests.
8873	ForceSendFields []string `json:"-"`
8874
8875	// NullFields is a list of field names (e.g. "Kind") to include in API
8876	// requests with the JSON null value. By default, fields with empty
8877	// values are omitted from API requests. However, any field with an
8878	// empty value appearing in NullFields will be sent to the server as
8879	// null. It is an error if a field in this list has a non-empty value.
8880	// This may be used to include null fields in Patch requests.
8881	NullFields []string `json:"-"`
8882}
8883
8884func (s *MobileCarriersListResponse) MarshalJSON() ([]byte, error) {
8885	type NoMethod MobileCarriersListResponse
8886	raw := NoMethod(*s)
8887	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8888}
8889
8890// ObjectFilter: Object Filter.
8891type ObjectFilter struct {
8892	// Kind: Identifies what kind of resource this is. Value: the fixed
8893	// string "dfareporting#objectFilter".
8894	Kind string `json:"kind,omitempty"`
8895
8896	// ObjectIds: Applicable when status is ASSIGNED. The user has access to
8897	// objects with these object IDs.
8898	ObjectIds googleapi.Int64s `json:"objectIds,omitempty"`
8899
8900	// Status: Status of the filter. NONE means the user has access to none
8901	// of the objects. ALL means the user has access to all objects.
8902	// ASSIGNED means the user has access to the objects with IDs in the
8903	// objectIds list.
8904	//
8905	// Possible values:
8906	//   "NONE"
8907	//   "ASSIGNED"
8908	//   "ALL"
8909	Status string `json:"status,omitempty"`
8910
8911	// ForceSendFields is a list of field names (e.g. "Kind") to
8912	// unconditionally include in API requests. By default, fields with
8913	// empty values are omitted from API requests. However, any non-pointer,
8914	// non-interface field appearing in ForceSendFields will be sent to the
8915	// server regardless of whether the field is empty or not. This may be
8916	// used to include empty fields in Patch requests.
8917	ForceSendFields []string `json:"-"`
8918
8919	// NullFields is a list of field names (e.g. "Kind") to include in API
8920	// requests with the JSON null value. By default, fields with empty
8921	// values are omitted from API requests. However, any field with an
8922	// empty value appearing in NullFields will be sent to the server as
8923	// null. It is an error if a field in this list has a non-empty value.
8924	// This may be used to include null fields in Patch requests.
8925	NullFields []string `json:"-"`
8926}
8927
8928func (s *ObjectFilter) MarshalJSON() ([]byte, error) {
8929	type NoMethod ObjectFilter
8930	raw := NoMethod(*s)
8931	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8932}
8933
8934// OffsetPosition: Offset Position.
8935type OffsetPosition struct {
8936	// Left: Offset distance from left side of an asset or a window.
8937	Left int64 `json:"left,omitempty"`
8938
8939	// Top: Offset distance from top side of an asset or a window.
8940	Top int64 `json:"top,omitempty"`
8941
8942	// ForceSendFields is a list of field names (e.g. "Left") to
8943	// unconditionally include in API requests. By default, fields with
8944	// empty values are omitted from API requests. However, any non-pointer,
8945	// non-interface field appearing in ForceSendFields will be sent to the
8946	// server regardless of whether the field is empty or not. This may be
8947	// used to include empty fields in Patch requests.
8948	ForceSendFields []string `json:"-"`
8949
8950	// NullFields is a list of field names (e.g. "Left") to include in API
8951	// requests with the JSON null value. By default, fields with empty
8952	// values are omitted from API requests. However, any field with an
8953	// empty value appearing in NullFields will be sent to the server as
8954	// null. It is an error if a field in this list has a non-empty value.
8955	// This may be used to include null fields in Patch requests.
8956	NullFields []string `json:"-"`
8957}
8958
8959func (s *OffsetPosition) MarshalJSON() ([]byte, error) {
8960	type NoMethod OffsetPosition
8961	raw := NoMethod(*s)
8962	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8963}
8964
8965// OmnitureSettings: Omniture Integration Settings.
8966type OmnitureSettings struct {
8967	// OmnitureCostDataEnabled: Whether placement cost data will be sent to
8968	// Omniture. This property can be enabled only if
8969	// omnitureIntegrationEnabled is true.
8970	OmnitureCostDataEnabled bool `json:"omnitureCostDataEnabled,omitempty"`
8971
8972	// OmnitureIntegrationEnabled: Whether Omniture integration is enabled.
8973	// This property can be enabled only when the "Advanced Ad Serving"
8974	// account setting is enabled.
8975	OmnitureIntegrationEnabled bool `json:"omnitureIntegrationEnabled,omitempty"`
8976
8977	// ForceSendFields is a list of field names (e.g.
8978	// "OmnitureCostDataEnabled") to unconditionally include in API
8979	// requests. By default, fields with empty values are omitted from API
8980	// requests. However, any non-pointer, non-interface field appearing in
8981	// ForceSendFields will be sent to the server regardless of whether the
8982	// field is empty or not. This may be used to include empty fields in
8983	// Patch requests.
8984	ForceSendFields []string `json:"-"`
8985
8986	// NullFields is a list of field names (e.g. "OmnitureCostDataEnabled")
8987	// to include in API requests with the JSON null value. By default,
8988	// fields with empty values are omitted from API requests. However, any
8989	// field with an empty value appearing in NullFields will be sent to the
8990	// server as null. It is an error if a field in this list has a
8991	// non-empty value. This may be used to include null fields in Patch
8992	// requests.
8993	NullFields []string `json:"-"`
8994}
8995
8996func (s *OmnitureSettings) MarshalJSON() ([]byte, error) {
8997	type NoMethod OmnitureSettings
8998	raw := NoMethod(*s)
8999	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9000}
9001
9002// OperatingSystem: Contains information about an operating system that
9003// can be targeted by ads.
9004type OperatingSystem struct {
9005	// DartId: DART ID of this operating system. This is the ID used for
9006	// targeting.
9007	DartId int64 `json:"dartId,omitempty,string"`
9008
9009	// Desktop: Whether this operating system is for desktop.
9010	Desktop bool `json:"desktop,omitempty"`
9011
9012	// Kind: Identifies what kind of resource this is. Value: the fixed
9013	// string "dfareporting#operatingSystem".
9014	Kind string `json:"kind,omitempty"`
9015
9016	// Mobile: Whether this operating system is for mobile.
9017	Mobile bool `json:"mobile,omitempty"`
9018
9019	// Name: Name of this operating system.
9020	Name string `json:"name,omitempty"`
9021
9022	// ServerResponse contains the HTTP response code and headers from the
9023	// server.
9024	googleapi.ServerResponse `json:"-"`
9025
9026	// ForceSendFields is a list of field names (e.g. "DartId") to
9027	// unconditionally include in API requests. By default, fields with
9028	// empty values are omitted from API requests. However, any non-pointer,
9029	// non-interface field appearing in ForceSendFields will be sent to the
9030	// server regardless of whether the field is empty or not. This may be
9031	// used to include empty fields in Patch requests.
9032	ForceSendFields []string `json:"-"`
9033
9034	// NullFields is a list of field names (e.g. "DartId") to include in API
9035	// requests with the JSON null value. By default, fields with empty
9036	// values are omitted from API requests. However, any field with an
9037	// empty value appearing in NullFields will be sent to the server as
9038	// null. It is an error if a field in this list has a non-empty value.
9039	// This may be used to include null fields in Patch requests.
9040	NullFields []string `json:"-"`
9041}
9042
9043func (s *OperatingSystem) MarshalJSON() ([]byte, error) {
9044	type NoMethod OperatingSystem
9045	raw := NoMethod(*s)
9046	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9047}
9048
9049// OperatingSystemVersion: Contains information about a particular
9050// version of an operating system that can be targeted by ads.
9051type OperatingSystemVersion struct {
9052	// Id: ID of this operating system version.
9053	Id int64 `json:"id,omitempty,string"`
9054
9055	// Kind: Identifies what kind of resource this is. Value: the fixed
9056	// string "dfareporting#operatingSystemVersion".
9057	Kind string `json:"kind,omitempty"`
9058
9059	// MajorVersion: Major version (leftmost number) of this operating
9060	// system version.
9061	MajorVersion string `json:"majorVersion,omitempty"`
9062
9063	// MinorVersion: Minor version (number after the first dot) of this
9064	// operating system version.
9065	MinorVersion string `json:"minorVersion,omitempty"`
9066
9067	// Name: Name of this operating system version.
9068	Name string `json:"name,omitempty"`
9069
9070	// OperatingSystem: Operating system of this operating system version.
9071	OperatingSystem *OperatingSystem `json:"operatingSystem,omitempty"`
9072
9073	// ServerResponse contains the HTTP response code and headers from the
9074	// server.
9075	googleapi.ServerResponse `json:"-"`
9076
9077	// ForceSendFields is a list of field names (e.g. "Id") to
9078	// unconditionally include in API requests. By default, fields with
9079	// empty values are omitted from API requests. However, any non-pointer,
9080	// non-interface field appearing in ForceSendFields will be sent to the
9081	// server regardless of whether the field is empty or not. This may be
9082	// used to include empty fields in Patch requests.
9083	ForceSendFields []string `json:"-"`
9084
9085	// NullFields is a list of field names (e.g. "Id") to include in API
9086	// requests with the JSON null value. By default, fields with empty
9087	// values are omitted from API requests. However, any field with an
9088	// empty value appearing in NullFields will be sent to the server as
9089	// null. It is an error if a field in this list has a non-empty value.
9090	// This may be used to include null fields in Patch requests.
9091	NullFields []string `json:"-"`
9092}
9093
9094func (s *OperatingSystemVersion) MarshalJSON() ([]byte, error) {
9095	type NoMethod OperatingSystemVersion
9096	raw := NoMethod(*s)
9097	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9098}
9099
9100// OperatingSystemVersionsListResponse: Operating System Version List
9101// Response
9102type OperatingSystemVersionsListResponse struct {
9103	// Kind: Identifies what kind of resource this is. Value: the fixed
9104	// string "dfareporting#operatingSystemVersionsListResponse".
9105	Kind string `json:"kind,omitempty"`
9106
9107	// OperatingSystemVersions: Operating system version collection.
9108	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
9109
9110	// ServerResponse contains the HTTP response code and headers from the
9111	// server.
9112	googleapi.ServerResponse `json:"-"`
9113
9114	// ForceSendFields is a list of field names (e.g. "Kind") to
9115	// unconditionally include in API requests. By default, fields with
9116	// empty values are omitted from API requests. However, any non-pointer,
9117	// non-interface field appearing in ForceSendFields will be sent to the
9118	// server regardless of whether the field is empty or not. This may be
9119	// used to include empty fields in Patch requests.
9120	ForceSendFields []string `json:"-"`
9121
9122	// NullFields is a list of field names (e.g. "Kind") to include in API
9123	// requests with the JSON null value. By default, fields with empty
9124	// values are omitted from API requests. However, any field with an
9125	// empty value appearing in NullFields will be sent to the server as
9126	// null. It is an error if a field in this list has a non-empty value.
9127	// This may be used to include null fields in Patch requests.
9128	NullFields []string `json:"-"`
9129}
9130
9131func (s *OperatingSystemVersionsListResponse) MarshalJSON() ([]byte, error) {
9132	type NoMethod OperatingSystemVersionsListResponse
9133	raw := NoMethod(*s)
9134	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9135}
9136
9137// OperatingSystemsListResponse: Operating System List Response
9138type OperatingSystemsListResponse struct {
9139	// Kind: Identifies what kind of resource this is. Value: the fixed
9140	// string "dfareporting#operatingSystemsListResponse".
9141	Kind string `json:"kind,omitempty"`
9142
9143	// OperatingSystems: Operating system collection.
9144	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
9145
9146	// ServerResponse contains the HTTP response code and headers from the
9147	// server.
9148	googleapi.ServerResponse `json:"-"`
9149
9150	// ForceSendFields is a list of field names (e.g. "Kind") to
9151	// unconditionally include in API requests. By default, fields with
9152	// empty values are omitted from API requests. However, any non-pointer,
9153	// non-interface field appearing in ForceSendFields will be sent to the
9154	// server regardless of whether the field is empty or not. This may be
9155	// used to include empty fields in Patch requests.
9156	ForceSendFields []string `json:"-"`
9157
9158	// NullFields is a list of field names (e.g. "Kind") to include in API
9159	// requests with the JSON null value. By default, fields with empty
9160	// values are omitted from API requests. However, any field with an
9161	// empty value appearing in NullFields will be sent to the server as
9162	// null. It is an error if a field in this list has a non-empty value.
9163	// This may be used to include null fields in Patch requests.
9164	NullFields []string `json:"-"`
9165}
9166
9167func (s *OperatingSystemsListResponse) MarshalJSON() ([]byte, error) {
9168	type NoMethod OperatingSystemsListResponse
9169	raw := NoMethod(*s)
9170	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9171}
9172
9173// OptimizationActivity: Creative optimization activity.
9174type OptimizationActivity struct {
9175	// FloodlightActivityId: Floodlight activity ID of this optimization
9176	// activity. This is a required field.
9177	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
9178
9179	// FloodlightActivityIdDimensionValue: Dimension value for the ID of the
9180	// floodlight activity. This is a read-only, auto-generated field.
9181	FloodlightActivityIdDimensionValue *DimensionValue `json:"floodlightActivityIdDimensionValue,omitempty"`
9182
9183	// Weight: Weight associated with this optimization. The weight assigned
9184	// will be understood in proportion to the weights assigned to the other
9185	// optimization activities. Value must be greater than or equal to 1.
9186	Weight int64 `json:"weight,omitempty"`
9187
9188	// ForceSendFields is a list of field names (e.g.
9189	// "FloodlightActivityId") to unconditionally include in API requests.
9190	// By default, fields with empty values are omitted from API requests.
9191	// However, any non-pointer, non-interface field appearing in
9192	// ForceSendFields will be sent to the server regardless of whether the
9193	// field is empty or not. This may be used to include empty fields in
9194	// Patch requests.
9195	ForceSendFields []string `json:"-"`
9196
9197	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
9198	// include in API requests with the JSON null value. By default, fields
9199	// with empty values are omitted from API requests. However, any field
9200	// with an empty value appearing in NullFields will be sent to the
9201	// server as null. It is an error if a field in this list has a
9202	// non-empty value. This may be used to include null fields in Patch
9203	// requests.
9204	NullFields []string `json:"-"`
9205}
9206
9207func (s *OptimizationActivity) MarshalJSON() ([]byte, error) {
9208	type NoMethod OptimizationActivity
9209	raw := NoMethod(*s)
9210	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9211}
9212
9213// Order: Describes properties of a Planning order.
9214type Order struct {
9215	// AccountId: Account ID of this order.
9216	AccountId int64 `json:"accountId,omitempty,string"`
9217
9218	// AdvertiserId: Advertiser ID of this order.
9219	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9220
9221	// ApproverUserProfileIds: IDs for users that have to approve documents
9222	// created for this order.
9223	ApproverUserProfileIds googleapi.Int64s `json:"approverUserProfileIds,omitempty"`
9224
9225	// BuyerInvoiceId: Buyer invoice ID associated with this order.
9226	BuyerInvoiceId string `json:"buyerInvoiceId,omitempty"`
9227
9228	// BuyerOrganizationName: Name of the buyer organization.
9229	BuyerOrganizationName string `json:"buyerOrganizationName,omitempty"`
9230
9231	// Comments: Comments in this order.
9232	Comments string `json:"comments,omitempty"`
9233
9234	// Contacts: Contacts for this order.
9235	Contacts []*OrderContact `json:"contacts,omitempty"`
9236
9237	// Id: ID of this order. This is a read-only, auto-generated field.
9238	Id int64 `json:"id,omitempty,string"`
9239
9240	// Kind: Identifies what kind of resource this is. Value: the fixed
9241	// string "dfareporting#order".
9242	Kind string `json:"kind,omitempty"`
9243
9244	// LastModifiedInfo: Information about the most recent modification of
9245	// this order.
9246	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9247
9248	// Name: Name of this order.
9249	Name string `json:"name,omitempty"`
9250
9251	// Notes: Notes of this order.
9252	Notes string `json:"notes,omitempty"`
9253
9254	// PlanningTermId: ID of the terms and conditions template used in this
9255	// order.
9256	PlanningTermId int64 `json:"planningTermId,omitempty,string"`
9257
9258	// ProjectId: Project ID of this order.
9259	ProjectId int64 `json:"projectId,omitempty,string"`
9260
9261	// SellerOrderId: Seller order ID associated with this order.
9262	SellerOrderId string `json:"sellerOrderId,omitempty"`
9263
9264	// SellerOrganizationName: Name of the seller organization.
9265	SellerOrganizationName string `json:"sellerOrganizationName,omitempty"`
9266
9267	// SiteId: Site IDs this order is associated with.
9268	SiteId googleapi.Int64s `json:"siteId,omitempty"`
9269
9270	// SiteNames: Free-form site names this order is associated with.
9271	SiteNames []string `json:"siteNames,omitempty"`
9272
9273	// SubaccountId: Subaccount ID of this order.
9274	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9275
9276	// TermsAndConditions: Terms and conditions of this order.
9277	TermsAndConditions string `json:"termsAndConditions,omitempty"`
9278
9279	// ServerResponse contains the HTTP response code and headers from the
9280	// server.
9281	googleapi.ServerResponse `json:"-"`
9282
9283	// ForceSendFields is a list of field names (e.g. "AccountId") to
9284	// unconditionally include in API requests. By default, fields with
9285	// empty values are omitted from API requests. However, any non-pointer,
9286	// non-interface field appearing in ForceSendFields will be sent to the
9287	// server regardless of whether the field is empty or not. This may be
9288	// used to include empty fields in Patch requests.
9289	ForceSendFields []string `json:"-"`
9290
9291	// NullFields is a list of field names (e.g. "AccountId") to include in
9292	// API requests with the JSON null value. By default, fields with empty
9293	// values are omitted from API requests. However, any field with an
9294	// empty value appearing in NullFields will be sent to the server as
9295	// null. It is an error if a field in this list has a non-empty value.
9296	// This may be used to include null fields in Patch requests.
9297	NullFields []string `json:"-"`
9298}
9299
9300func (s *Order) MarshalJSON() ([]byte, error) {
9301	type NoMethod Order
9302	raw := NoMethod(*s)
9303	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9304}
9305
9306// OrderContact: Contact of an order.
9307type OrderContact struct {
9308	// ContactInfo: Free-form information about this contact. It could be
9309	// any information related to this contact in addition to type, title,
9310	// name, and signature user profile ID.
9311	ContactInfo string `json:"contactInfo,omitempty"`
9312
9313	// ContactName: Name of this contact.
9314	ContactName string `json:"contactName,omitempty"`
9315
9316	// ContactTitle: Title of this contact.
9317	ContactTitle string `json:"contactTitle,omitempty"`
9318
9319	// ContactType: Type of this contact.
9320	//
9321	// Possible values:
9322	//   "PLANNING_ORDER_CONTACT_BUYER_CONTACT"
9323	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
9324	//   "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
9325	ContactType string `json:"contactType,omitempty"`
9326
9327	// SignatureUserProfileId: ID of the user profile containing the
9328	// signature that will be embedded into order documents.
9329	SignatureUserProfileId int64 `json:"signatureUserProfileId,omitempty,string"`
9330
9331	// ForceSendFields is a list of field names (e.g. "ContactInfo") to
9332	// unconditionally include in API requests. By default, fields with
9333	// empty values are omitted from API requests. However, any non-pointer,
9334	// non-interface field appearing in ForceSendFields will be sent to the
9335	// server regardless of whether the field is empty or not. This may be
9336	// used to include empty fields in Patch requests.
9337	ForceSendFields []string `json:"-"`
9338
9339	// NullFields is a list of field names (e.g. "ContactInfo") to include
9340	// in API requests with the JSON null value. By default, fields with
9341	// empty values are omitted from API requests. However, any field with
9342	// an empty value appearing in NullFields will be sent to the server as
9343	// null. It is an error if a field in this list has a non-empty value.
9344	// This may be used to include null fields in Patch requests.
9345	NullFields []string `json:"-"`
9346}
9347
9348func (s *OrderContact) MarshalJSON() ([]byte, error) {
9349	type NoMethod OrderContact
9350	raw := NoMethod(*s)
9351	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9352}
9353
9354// OrderDocument: Contains properties of a Planning order document.
9355type OrderDocument struct {
9356	// AccountId: Account ID of this order document.
9357	AccountId int64 `json:"accountId,omitempty,string"`
9358
9359	// AdvertiserId: Advertiser ID of this order document.
9360	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9361
9362	// AmendedOrderDocumentId: The amended order document ID of this order
9363	// document. An order document can be created by optionally amending
9364	// another order document so that the change history can be preserved.
9365	AmendedOrderDocumentId int64 `json:"amendedOrderDocumentId,omitempty,string"`
9366
9367	// ApprovedByUserProfileIds: IDs of users who have approved this order
9368	// document.
9369	ApprovedByUserProfileIds googleapi.Int64s `json:"approvedByUserProfileIds,omitempty"`
9370
9371	// Cancelled: Whether this order document is cancelled.
9372	Cancelled bool `json:"cancelled,omitempty"`
9373
9374	// CreatedInfo: Information about the creation of this order document.
9375	CreatedInfo *LastModifiedInfo `json:"createdInfo,omitempty"`
9376
9377	EffectiveDate string `json:"effectiveDate,omitempty"`
9378
9379	// Id: ID of this order document.
9380	Id int64 `json:"id,omitempty,string"`
9381
9382	// Kind: Identifies what kind of resource this is. Value: the fixed
9383	// string "dfareporting#orderDocument".
9384	Kind string `json:"kind,omitempty"`
9385
9386	// LastSentRecipients: List of email addresses that received the last
9387	// sent document.
9388	LastSentRecipients []string `json:"lastSentRecipients,omitempty"`
9389
9390	LastSentTime string `json:"lastSentTime,omitempty"`
9391
9392	// OrderId: ID of the order from which this order document is created.
9393	OrderId int64 `json:"orderId,omitempty,string"`
9394
9395	// ProjectId: Project ID of this order document.
9396	ProjectId int64 `json:"projectId,omitempty,string"`
9397
9398	// Signed: Whether this order document has been signed.
9399	Signed bool `json:"signed,omitempty"`
9400
9401	// SubaccountId: Subaccount ID of this order document.
9402	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9403
9404	// Title: Title of this order document.
9405	Title string `json:"title,omitempty"`
9406
9407	// Type: Type of this order document
9408	//
9409	// Possible values:
9410	//   "PLANNING_ORDER_TYPE_INSERTION_ORDER"
9411	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
9412	Type string `json:"type,omitempty"`
9413
9414	// ServerResponse contains the HTTP response code and headers from the
9415	// server.
9416	googleapi.ServerResponse `json:"-"`
9417
9418	// ForceSendFields is a list of field names (e.g. "AccountId") to
9419	// unconditionally include in API requests. By default, fields with
9420	// empty values are omitted from API requests. However, any non-pointer,
9421	// non-interface field appearing in ForceSendFields will be sent to the
9422	// server regardless of whether the field is empty or not. This may be
9423	// used to include empty fields in Patch requests.
9424	ForceSendFields []string `json:"-"`
9425
9426	// NullFields is a list of field names (e.g. "AccountId") to include in
9427	// API requests with the JSON null value. By default, fields with empty
9428	// values are omitted from API requests. However, any field with an
9429	// empty value appearing in NullFields will be sent to the server as
9430	// null. It is an error if a field in this list has a non-empty value.
9431	// This may be used to include null fields in Patch requests.
9432	NullFields []string `json:"-"`
9433}
9434
9435func (s *OrderDocument) MarshalJSON() ([]byte, error) {
9436	type NoMethod OrderDocument
9437	raw := NoMethod(*s)
9438	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9439}
9440
9441// OrderDocumentsListResponse: Order document List Response
9442type OrderDocumentsListResponse struct {
9443	// Kind: Identifies what kind of resource this is. Value: the fixed
9444	// string "dfareporting#orderDocumentsListResponse".
9445	Kind string `json:"kind,omitempty"`
9446
9447	// NextPageToken: Pagination token to be used for the next list
9448	// operation.
9449	NextPageToken string `json:"nextPageToken,omitempty"`
9450
9451	// OrderDocuments: Order document collection
9452	OrderDocuments []*OrderDocument `json:"orderDocuments,omitempty"`
9453
9454	// ServerResponse contains the HTTP response code and headers from the
9455	// server.
9456	googleapi.ServerResponse `json:"-"`
9457
9458	// ForceSendFields is a list of field names (e.g. "Kind") to
9459	// unconditionally include in API requests. By default, fields with
9460	// empty values are omitted from API requests. However, any non-pointer,
9461	// non-interface field appearing in ForceSendFields will be sent to the
9462	// server regardless of whether the field is empty or not. This may be
9463	// used to include empty fields in Patch requests.
9464	ForceSendFields []string `json:"-"`
9465
9466	// NullFields is a list of field names (e.g. "Kind") to include in API
9467	// requests with the JSON null value. By default, fields with empty
9468	// values are omitted from API requests. However, any field with an
9469	// empty value appearing in NullFields will be sent to the server as
9470	// null. It is an error if a field in this list has a non-empty value.
9471	// This may be used to include null fields in Patch requests.
9472	NullFields []string `json:"-"`
9473}
9474
9475func (s *OrderDocumentsListResponse) MarshalJSON() ([]byte, error) {
9476	type NoMethod OrderDocumentsListResponse
9477	raw := NoMethod(*s)
9478	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9479}
9480
9481// OrdersListResponse: Order List Response
9482type OrdersListResponse struct {
9483	// Kind: Identifies what kind of resource this is. Value: the fixed
9484	// string "dfareporting#ordersListResponse".
9485	Kind string `json:"kind,omitempty"`
9486
9487	// NextPageToken: Pagination token to be used for the next list
9488	// operation.
9489	NextPageToken string `json:"nextPageToken,omitempty"`
9490
9491	// Orders: Order collection.
9492	Orders []*Order `json:"orders,omitempty"`
9493
9494	// ServerResponse contains the HTTP response code and headers from the
9495	// server.
9496	googleapi.ServerResponse `json:"-"`
9497
9498	// ForceSendFields is a list of field names (e.g. "Kind") to
9499	// unconditionally include in API requests. By default, fields with
9500	// empty values are omitted from API requests. However, any non-pointer,
9501	// non-interface field appearing in ForceSendFields will be sent to the
9502	// server regardless of whether the field is empty or not. This may be
9503	// used to include empty fields in Patch requests.
9504	ForceSendFields []string `json:"-"`
9505
9506	// NullFields is a list of field names (e.g. "Kind") to include in API
9507	// requests with the JSON null value. By default, fields with empty
9508	// values are omitted from API requests. However, any field with an
9509	// empty value appearing in NullFields will be sent to the server as
9510	// null. It is an error if a field in this list has a non-empty value.
9511	// This may be used to include null fields in Patch requests.
9512	NullFields []string `json:"-"`
9513}
9514
9515func (s *OrdersListResponse) MarshalJSON() ([]byte, error) {
9516	type NoMethod OrdersListResponse
9517	raw := NoMethod(*s)
9518	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9519}
9520
9521// PathToConversionReportCompatibleFields: Represents fields that are
9522// compatible to be selected for a report of type "PATH_TO_CONVERSION".
9523type PathToConversionReportCompatibleFields struct {
9524	// ConversionDimensions: Conversion dimensions which are compatible to
9525	// be selected in the "conversionDimensions" section of the report.
9526	ConversionDimensions []*Dimension `json:"conversionDimensions,omitempty"`
9527
9528	// CustomFloodlightVariables: Custom floodlight variables which are
9529	// compatible to be selected in the "customFloodlightVariables" section
9530	// of the report.
9531	CustomFloodlightVariables []*Dimension `json:"customFloodlightVariables,omitempty"`
9532
9533	// Kind: The kind of resource this is, in this case
9534	// dfareporting#pathToConversionReportCompatibleFields.
9535	Kind string `json:"kind,omitempty"`
9536
9537	// Metrics: Metrics which are compatible to be selected in the
9538	// "metricNames" section of the report.
9539	Metrics []*Metric `json:"metrics,omitempty"`
9540
9541	// PerInteractionDimensions: Per-interaction dimensions which are
9542	// compatible to be selected in the "perInteractionDimensions" section
9543	// of the report.
9544	PerInteractionDimensions []*Dimension `json:"perInteractionDimensions,omitempty"`
9545
9546	// ForceSendFields is a list of field names (e.g.
9547	// "ConversionDimensions") to unconditionally include in API requests.
9548	// By default, fields with empty values are omitted from API requests.
9549	// However, any non-pointer, non-interface field appearing in
9550	// ForceSendFields will be sent to the server regardless of whether the
9551	// field is empty or not. This may be used to include empty fields in
9552	// Patch requests.
9553	ForceSendFields []string `json:"-"`
9554
9555	// NullFields is a list of field names (e.g. "ConversionDimensions") to
9556	// include in API requests with the JSON null value. By default, fields
9557	// with empty values are omitted from API requests. However, any field
9558	// with an empty value appearing in NullFields will be sent to the
9559	// server as null. It is an error if a field in this list has a
9560	// non-empty value. This may be used to include null fields in Patch
9561	// requests.
9562	NullFields []string `json:"-"`
9563}
9564
9565func (s *PathToConversionReportCompatibleFields) MarshalJSON() ([]byte, error) {
9566	type NoMethod PathToConversionReportCompatibleFields
9567	raw := NoMethod(*s)
9568	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9569}
9570
9571// Placement: Contains properties of a placement.
9572type Placement struct {
9573	// AccountId: Account ID of this placement. This field can be left
9574	// blank.
9575	AccountId int64 `json:"accountId,omitempty,string"`
9576
9577	// AdBlockingOptOut: Whether this placement opts out of ad blocking.
9578	// When true, ad blocking is disabled for this placement. When false,
9579	// the campaign and site settings take effect.
9580	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
9581
9582	// AdditionalSizes: Additional sizes associated with this placement.
9583	// When inserting or updating a placement, only the size ID field is
9584	// used.
9585	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
9586
9587	// AdvertiserId: Advertiser ID of this placement. This field can be left
9588	// blank.
9589	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9590
9591	// AdvertiserIdDimensionValue: Dimension value for the ID of the
9592	// advertiser. This is a read-only, auto-generated field.
9593	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
9594
9595	// Archived: Whether this placement is archived.
9596	Archived bool `json:"archived,omitempty"`
9597
9598	// CampaignId: Campaign ID of this placement. This field is a required
9599	// field on insertion.
9600	CampaignId int64 `json:"campaignId,omitempty,string"`
9601
9602	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
9603	// This is a read-only, auto-generated field.
9604	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
9605
9606	// Comment: Comments for this placement.
9607	Comment string `json:"comment,omitempty"`
9608
9609	// Compatibility: Placement compatibility. DISPLAY and
9610	// DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices
9611	// or in mobile apps for regular or interstitial ads respectively. APP
9612	// and APP_INTERSTITIAL are no longer allowed for new placement
9613	// insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL.
9614	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
9615	// with the VAST standard. This field is required on insertion.
9616	//
9617	// Possible values:
9618	//   "DISPLAY"
9619	//   "DISPLAY_INTERSTITIAL"
9620	//   "APP"
9621	//   "APP_INTERSTITIAL"
9622	//   "IN_STREAM_VIDEO"
9623	//   "IN_STREAM_AUDIO"
9624	Compatibility string `json:"compatibility,omitempty"`
9625
9626	// ContentCategoryId: ID of the content category assigned to this
9627	// placement.
9628	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
9629
9630	// CreateInfo: Information about the creation of this placement. This is
9631	// a read-only field.
9632	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
9633
9634	// DirectorySiteId: Directory site ID of this placement. On insert, you
9635	// must set either this field or the siteId field to specify the site
9636	// associated with this placement. This is a required field that is
9637	// read-only after insertion.
9638	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
9639
9640	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
9641	// directory site. This is a read-only, auto-generated field.
9642	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
9643
9644	// ExternalId: External ID for this placement.
9645	ExternalId string `json:"externalId,omitempty"`
9646
9647	// Id: ID of this placement. This is a read-only, auto-generated field.
9648	Id int64 `json:"id,omitempty,string"`
9649
9650	// IdDimensionValue: Dimension value for the ID of this placement. This
9651	// is a read-only, auto-generated field.
9652	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
9653
9654	// KeyName: Key name of this placement. This is a read-only,
9655	// auto-generated field.
9656	KeyName string `json:"keyName,omitempty"`
9657
9658	// Kind: Identifies what kind of resource this is. Value: the fixed
9659	// string "dfareporting#placement".
9660	Kind string `json:"kind,omitempty"`
9661
9662	// LastModifiedInfo: Information about the most recent modification of
9663	// this placement. This is a read-only field.
9664	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9665
9666	// LookbackConfiguration: Lookback window settings for this placement.
9667	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
9668
9669	// Name: Name of this placement.This is a required field and must be
9670	// less than or equal to 256 characters long.
9671	Name string `json:"name,omitempty"`
9672
9673	// PaymentApproved: Whether payment was approved for this placement.
9674	// This is a read-only field relevant only to publisher-paid placements.
9675	PaymentApproved bool `json:"paymentApproved,omitempty"`
9676
9677	// PaymentSource: Payment source for this placement. This is a required
9678	// field that is read-only after insertion.
9679	//
9680	// Possible values:
9681	//   "PLACEMENT_AGENCY_PAID"
9682	//   "PLACEMENT_PUBLISHER_PAID"
9683	PaymentSource string `json:"paymentSource,omitempty"`
9684
9685	// PlacementGroupId: ID of this placement's group, if applicable.
9686	PlacementGroupId int64 `json:"placementGroupId,omitempty,string"`
9687
9688	// PlacementGroupIdDimensionValue: Dimension value for the ID of the
9689	// placement group. This is a read-only, auto-generated field.
9690	PlacementGroupIdDimensionValue *DimensionValue `json:"placementGroupIdDimensionValue,omitempty"`
9691
9692	// PlacementStrategyId: ID of the placement strategy assigned to this
9693	// placement.
9694	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
9695
9696	// PricingSchedule: Pricing schedule of this placement. This field is
9697	// required on insertion, specifically subfields startDate, endDate and
9698	// pricingType.
9699	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
9700
9701	// Primary: Whether this placement is the primary placement of a
9702	// roadblock (placement group). You cannot change this field from true
9703	// to false. Setting this field to true will automatically set the
9704	// primary field on the original primary placement of the roadblock to
9705	// false, and it will automatically set the roadblock's
9706	// primaryPlacementId field to the ID of this placement.
9707	Primary bool `json:"primary,omitempty"`
9708
9709	// PublisherUpdateInfo: Information about the last publisher update.
9710	// This is a read-only field.
9711	PublisherUpdateInfo *LastModifiedInfo `json:"publisherUpdateInfo,omitempty"`
9712
9713	// SiteId: Site ID associated with this placement. On insert, you must
9714	// set either this field or the directorySiteId field to specify the
9715	// site associated with this placement. This is a required field that is
9716	// read-only after insertion.
9717	SiteId int64 `json:"siteId,omitempty,string"`
9718
9719	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
9720	// a read-only, auto-generated field.
9721	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
9722
9723	// Size: Size associated with this placement. When inserting or updating
9724	// a placement, only the size ID field is used. This field is required
9725	// on insertion.
9726	Size *Size `json:"size,omitempty"`
9727
9728	// SslRequired: Whether creatives assigned to this placement must be
9729	// SSL-compliant.
9730	SslRequired bool `json:"sslRequired,omitempty"`
9731
9732	// Status: Third-party placement status.
9733	//
9734	// Possible values:
9735	//   "PENDING_REVIEW"
9736	//   "PAYMENT_ACCEPTED"
9737	//   "PAYMENT_REJECTED"
9738	//   "ACKNOWLEDGE_REJECTION"
9739	//   "ACKNOWLEDGE_ACCEPTANCE"
9740	//   "DRAFT"
9741	Status string `json:"status,omitempty"`
9742
9743	// SubaccountId: Subaccount ID of this placement. This field can be left
9744	// blank.
9745	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9746
9747	// TagFormats: Tag formats to generate for this placement. This field is
9748	// required on insertion. Acceptable values are: -
9749	// "PLACEMENT_TAG_STANDARD" - "PLACEMENT_TAG_IFRAME_JAVASCRIPT" -
9750	// "PLACEMENT_TAG_IFRAME_ILAYER" - "PLACEMENT_TAG_INTERNAL_REDIRECT" -
9751	// "PLACEMENT_TAG_JAVASCRIPT" -
9752	// "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" -
9753	// "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" -
9754	// "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" -
9755	// "PLACEMENT_TAG_CLICK_COMMANDS" -
9756	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" -
9757	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3" -
9758	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" -
9759	// "PLACEMENT_TAG_TRACKING" - "PLACEMENT_TAG_TRACKING_IFRAME" -
9760	// "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
9761	//
9762	// Possible values:
9763	//   "PLACEMENT_TAG_STANDARD"
9764	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
9765	//   "PLACEMENT_TAG_IFRAME_ILAYER"
9766	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
9767	//   "PLACEMENT_TAG_JAVASCRIPT"
9768	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
9769	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
9770	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
9771	//   "PLACEMENT_TAG_CLICK_COMMANDS"
9772	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
9773	//   "PLACEMENT_TAG_TRACKING"
9774	//   "PLACEMENT_TAG_TRACKING_IFRAME"
9775	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
9776	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
9777	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
9778	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
9779	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
9780	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
9781	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
9782	TagFormats []string `json:"tagFormats,omitempty"`
9783
9784	// TagSetting: Tag settings for this placement.
9785	TagSetting *TagSetting `json:"tagSetting,omitempty"`
9786
9787	// VideoActiveViewOptOut: Whether Verification and ActiveView are
9788	// disabled for in-stream video creatives for this placement. The same
9789	// setting videoActiveViewOptOut exists on the site level -- the opt out
9790	// occurs if either of these settings are true. These settings are
9791	// distinct from DirectorySites.settings.activeViewOptOut or
9792	// Sites.siteSettings.activeViewOptOut which only apply to display ads.
9793	// However, Accounts.activeViewOptOut opts out both video traffic, as
9794	// well as display ads, from Verification and ActiveView.
9795	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
9796
9797	// VideoSettings: A collection of settings which affect video creatives
9798	// served through this placement. Applicable to placements with
9799	// IN_STREAM_VIDEO compatibility.
9800	VideoSettings *VideoSettings `json:"videoSettings,omitempty"`
9801
9802	// VpaidAdapterChoice: VPAID adapter setting for this placement.
9803	// Controls which VPAID format the measurement adapter will use for
9804	// in-stream video creatives assigned to this placement. *Note:* Flash
9805	// is no longer supported. This field now defaults to HTML5 when the
9806	// following values are provided: FLASH, BOTH.
9807	//
9808	// Possible values:
9809	//   "DEFAULT"
9810	//   "FLASH"
9811	//   "HTML5"
9812	//   "BOTH"
9813	VpaidAdapterChoice string `json:"vpaidAdapterChoice,omitempty"`
9814
9815	// ServerResponse contains the HTTP response code and headers from the
9816	// server.
9817	googleapi.ServerResponse `json:"-"`
9818
9819	// ForceSendFields is a list of field names (e.g. "AccountId") to
9820	// unconditionally include in API requests. By default, fields with
9821	// empty values are omitted from API requests. However, any non-pointer,
9822	// non-interface field appearing in ForceSendFields will be sent to the
9823	// server regardless of whether the field is empty or not. This may be
9824	// used to include empty fields in Patch requests.
9825	ForceSendFields []string `json:"-"`
9826
9827	// NullFields is a list of field names (e.g. "AccountId") to include in
9828	// API requests with the JSON null value. By default, fields with empty
9829	// values are omitted from API requests. However, any field with an
9830	// empty value appearing in NullFields will be sent to the server as
9831	// null. It is an error if a field in this list has a non-empty value.
9832	// This may be used to include null fields in Patch requests.
9833	NullFields []string `json:"-"`
9834}
9835
9836func (s *Placement) MarshalJSON() ([]byte, error) {
9837	type NoMethod Placement
9838	raw := NoMethod(*s)
9839	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9840}
9841
9842// PlacementAssignment: Placement Assignment.
9843type PlacementAssignment struct {
9844	// Active: Whether this placement assignment is active. When true, the
9845	// placement will be included in the ad's rotation.
9846	Active bool `json:"active,omitempty"`
9847
9848	// PlacementId: ID of the placement to be assigned. This is a required
9849	// field.
9850	PlacementId int64 `json:"placementId,omitempty,string"`
9851
9852	// PlacementIdDimensionValue: Dimension value for the ID of the
9853	// placement. This is a read-only, auto-generated field.
9854	PlacementIdDimensionValue *DimensionValue `json:"placementIdDimensionValue,omitempty"`
9855
9856	// SslRequired: Whether the placement to be assigned requires SSL. This
9857	// is a read-only field that is auto-generated when the ad is inserted
9858	// or updated.
9859	SslRequired bool `json:"sslRequired,omitempty"`
9860
9861	// ForceSendFields is a list of field names (e.g. "Active") to
9862	// unconditionally include in API requests. By default, fields with
9863	// empty values are omitted from API requests. However, any non-pointer,
9864	// non-interface field appearing in ForceSendFields will be sent to the
9865	// server regardless of whether the field is empty or not. This may be
9866	// used to include empty fields in Patch requests.
9867	ForceSendFields []string `json:"-"`
9868
9869	// NullFields is a list of field names (e.g. "Active") to include in API
9870	// requests with the JSON null value. By default, fields with empty
9871	// values are omitted from API requests. However, any field with an
9872	// empty value appearing in NullFields will be sent to the server as
9873	// null. It is an error if a field in this list has a non-empty value.
9874	// This may be used to include null fields in Patch requests.
9875	NullFields []string `json:"-"`
9876}
9877
9878func (s *PlacementAssignment) MarshalJSON() ([]byte, error) {
9879	type NoMethod PlacementAssignment
9880	raw := NoMethod(*s)
9881	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9882}
9883
9884// PlacementGroup: Contains properties of a package or roadblock.
9885type PlacementGroup struct {
9886	// AccountId: Account ID of this placement group. This is a read-only
9887	// field that can be left blank.
9888	AccountId int64 `json:"accountId,omitempty,string"`
9889
9890	// AdvertiserId: Advertiser ID of this placement group. This is a
9891	// required field on insertion.
9892	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9893
9894	// AdvertiserIdDimensionValue: Dimension value for the ID of the
9895	// advertiser. This is a read-only, auto-generated field.
9896	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
9897
9898	// Archived: Whether this placement group is archived.
9899	Archived bool `json:"archived,omitempty"`
9900
9901	// CampaignId: Campaign ID of this placement group. This field is
9902	// required on insertion.
9903	CampaignId int64 `json:"campaignId,omitempty,string"`
9904
9905	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
9906	// This is a read-only, auto-generated field.
9907	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
9908
9909	// ChildPlacementIds: IDs of placements which are assigned to this
9910	// placement group. This is a read-only, auto-generated field.
9911	ChildPlacementIds googleapi.Int64s `json:"childPlacementIds,omitempty"`
9912
9913	// Comment: Comments for this placement group.
9914	Comment string `json:"comment,omitempty"`
9915
9916	// ContentCategoryId: ID of the content category assigned to this
9917	// placement group.
9918	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
9919
9920	// CreateInfo: Information about the creation of this placement group.
9921	// This is a read-only field.
9922	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
9923
9924	// DirectorySiteId: Directory site ID associated with this placement
9925	// group. On insert, you must set either this field or the site_id field
9926	// to specify the site associated with this placement group. This is a
9927	// required field that is read-only after insertion.
9928	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
9929
9930	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
9931	// directory site. This is a read-only, auto-generated field.
9932	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
9933
9934	// ExternalId: External ID for this placement.
9935	ExternalId string `json:"externalId,omitempty"`
9936
9937	// Id: ID of this placement group. This is a read-only, auto-generated
9938	// field.
9939	Id int64 `json:"id,omitempty,string"`
9940
9941	// IdDimensionValue: Dimension value for the ID of this placement group.
9942	// This is a read-only, auto-generated field.
9943	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
9944
9945	// Kind: Identifies what kind of resource this is. Value: the fixed
9946	// string "dfareporting#placementGroup".
9947	Kind string `json:"kind,omitempty"`
9948
9949	// LastModifiedInfo: Information about the most recent modification of
9950	// this placement group. This is a read-only field.
9951	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9952
9953	// Name: Name of this placement group. This is a required field and must
9954	// be less than 256 characters long.
9955	Name string `json:"name,omitempty"`
9956
9957	// PlacementGroupType: Type of this placement group. A package is a
9958	// simple group of placements that acts as a single pricing point for a
9959	// group of tags. A roadblock is a group of placements that not only
9960	// acts as a single pricing point, but also assumes that all the tags in
9961	// it will be served at the same time. A roadblock requires one of its
9962	// assigned placements to be marked as primary for reporting. This field
9963	// is required on insertion.
9964	//
9965	// Possible values:
9966	//   "PLACEMENT_PACKAGE"
9967	//   "PLACEMENT_ROADBLOCK"
9968	PlacementGroupType string `json:"placementGroupType,omitempty"`
9969
9970	// PlacementStrategyId: ID of the placement strategy assigned to this
9971	// placement group.
9972	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
9973
9974	// PricingSchedule: Pricing schedule of this placement group. This field
9975	// is required on insertion.
9976	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
9977
9978	// PrimaryPlacementId: ID of the primary placement, used to calculate
9979	// the media cost of a roadblock (placement group). Modifying this field
9980	// will automatically modify the primary field on all affected roadblock
9981	// child placements.
9982	PrimaryPlacementId int64 `json:"primaryPlacementId,omitempty,string"`
9983
9984	// PrimaryPlacementIdDimensionValue: Dimension value for the ID of the
9985	// primary placement. This is a read-only, auto-generated field.
9986	PrimaryPlacementIdDimensionValue *DimensionValue `json:"primaryPlacementIdDimensionValue,omitempty"`
9987
9988	// SiteId: Site ID associated with this placement group. On insert, you
9989	// must set either this field or the directorySiteId field to specify
9990	// the site associated with this placement group. This is a required
9991	// field that is read-only after insertion.
9992	SiteId int64 `json:"siteId,omitempty,string"`
9993
9994	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
9995	// a read-only, auto-generated field.
9996	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
9997
9998	// SubaccountId: Subaccount ID of this placement group. This is a
9999	// read-only field that can be left blank.
10000	SubaccountId int64 `json:"subaccountId,omitempty,string"`
10001
10002	// ServerResponse contains the HTTP response code and headers from the
10003	// server.
10004	googleapi.ServerResponse `json:"-"`
10005
10006	// ForceSendFields is a list of field names (e.g. "AccountId") to
10007	// unconditionally include in API requests. By default, fields with
10008	// empty values are omitted from API requests. However, any non-pointer,
10009	// non-interface field appearing in ForceSendFields will be sent to the
10010	// server regardless of whether the field is empty or not. This may be
10011	// used to include empty fields in Patch requests.
10012	ForceSendFields []string `json:"-"`
10013
10014	// NullFields is a list of field names (e.g. "AccountId") to include in
10015	// API requests with the JSON null value. By default, fields with empty
10016	// values are omitted from API requests. However, any field with an
10017	// empty value appearing in NullFields will be sent to the server as
10018	// null. It is an error if a field in this list has a non-empty value.
10019	// This may be used to include null fields in Patch requests.
10020	NullFields []string `json:"-"`
10021}
10022
10023func (s *PlacementGroup) MarshalJSON() ([]byte, error) {
10024	type NoMethod PlacementGroup
10025	raw := NoMethod(*s)
10026	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10027}
10028
10029// PlacementGroupsListResponse: Placement Group List Response
10030type PlacementGroupsListResponse struct {
10031	// Kind: Identifies what kind of resource this is. Value: the fixed
10032	// string "dfareporting#placementGroupsListResponse".
10033	Kind string `json:"kind,omitempty"`
10034
10035	// NextPageToken: Pagination token to be used for the next list
10036	// operation.
10037	NextPageToken string `json:"nextPageToken,omitempty"`
10038
10039	// PlacementGroups: Placement group collection.
10040	PlacementGroups []*PlacementGroup `json:"placementGroups,omitempty"`
10041
10042	// ServerResponse contains the HTTP response code and headers from the
10043	// server.
10044	googleapi.ServerResponse `json:"-"`
10045
10046	// ForceSendFields is a list of field names (e.g. "Kind") to
10047	// unconditionally include in API requests. By default, fields with
10048	// empty values are omitted from API requests. However, any non-pointer,
10049	// non-interface field appearing in ForceSendFields will be sent to the
10050	// server regardless of whether the field is empty or not. This may be
10051	// used to include empty fields in Patch requests.
10052	ForceSendFields []string `json:"-"`
10053
10054	// NullFields is a list of field names (e.g. "Kind") to include in API
10055	// requests with the JSON null value. By default, fields with empty
10056	// values are omitted from API requests. However, any field with an
10057	// empty value appearing in NullFields will be sent to the server as
10058	// null. It is an error if a field in this list has a non-empty value.
10059	// This may be used to include null fields in Patch requests.
10060	NullFields []string `json:"-"`
10061}
10062
10063func (s *PlacementGroupsListResponse) MarshalJSON() ([]byte, error) {
10064	type NoMethod PlacementGroupsListResponse
10065	raw := NoMethod(*s)
10066	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10067}
10068
10069// PlacementStrategiesListResponse: Placement Strategy List Response
10070type PlacementStrategiesListResponse struct {
10071	// Kind: Identifies what kind of resource this is. Value: the fixed
10072	// string "dfareporting#placementStrategiesListResponse".
10073	Kind string `json:"kind,omitempty"`
10074
10075	// NextPageToken: Pagination token to be used for the next list
10076	// operation.
10077	NextPageToken string `json:"nextPageToken,omitempty"`
10078
10079	// PlacementStrategies: Placement strategy collection.
10080	PlacementStrategies []*PlacementStrategy `json:"placementStrategies,omitempty"`
10081
10082	// ServerResponse contains the HTTP response code and headers from the
10083	// server.
10084	googleapi.ServerResponse `json:"-"`
10085
10086	// ForceSendFields is a list of field names (e.g. "Kind") to
10087	// unconditionally include in API requests. By default, fields with
10088	// empty values are omitted from API requests. However, any non-pointer,
10089	// non-interface field appearing in ForceSendFields will be sent to the
10090	// server regardless of whether the field is empty or not. This may be
10091	// used to include empty fields in Patch requests.
10092	ForceSendFields []string `json:"-"`
10093
10094	// NullFields is a list of field names (e.g. "Kind") to include in API
10095	// requests with the JSON null value. By default, fields with empty
10096	// values are omitted from API requests. However, any field with an
10097	// empty value appearing in NullFields will be sent to the server as
10098	// null. It is an error if a field in this list has a non-empty value.
10099	// This may be used to include null fields in Patch requests.
10100	NullFields []string `json:"-"`
10101}
10102
10103func (s *PlacementStrategiesListResponse) MarshalJSON() ([]byte, error) {
10104	type NoMethod PlacementStrategiesListResponse
10105	raw := NoMethod(*s)
10106	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10107}
10108
10109// PlacementStrategy: Contains properties of a placement strategy.
10110type PlacementStrategy struct {
10111	// AccountId: Account ID of this placement strategy.This is a read-only
10112	// field that can be left blank.
10113	AccountId int64 `json:"accountId,omitempty,string"`
10114
10115	// Id: ID of this placement strategy. This is a read-only,
10116	// auto-generated field.
10117	Id int64 `json:"id,omitempty,string"`
10118
10119	// Kind: Identifies what kind of resource this is. Value: the fixed
10120	// string "dfareporting#placementStrategy".
10121	Kind string `json:"kind,omitempty"`
10122
10123	// Name: Name of this placement strategy. This is a required field. It
10124	// must be less than 256 characters long and unique among placement
10125	// strategies of the same account.
10126	Name string `json:"name,omitempty"`
10127
10128	// ServerResponse contains the HTTP response code and headers from the
10129	// server.
10130	googleapi.ServerResponse `json:"-"`
10131
10132	// ForceSendFields is a list of field names (e.g. "AccountId") to
10133	// unconditionally include in API requests. By default, fields with
10134	// empty values are omitted from API requests. However, any non-pointer,
10135	// non-interface field appearing in ForceSendFields will be sent to the
10136	// server regardless of whether the field is empty or not. This may be
10137	// used to include empty fields in Patch requests.
10138	ForceSendFields []string `json:"-"`
10139
10140	// NullFields is a list of field names (e.g. "AccountId") to include in
10141	// API requests with the JSON null value. By default, fields with empty
10142	// values are omitted from API requests. However, any field with an
10143	// empty value appearing in NullFields will be sent to the server as
10144	// null. It is an error if a field in this list has a non-empty value.
10145	// This may be used to include null fields in Patch requests.
10146	NullFields []string `json:"-"`
10147}
10148
10149func (s *PlacementStrategy) MarshalJSON() ([]byte, error) {
10150	type NoMethod PlacementStrategy
10151	raw := NoMethod(*s)
10152	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10153}
10154
10155// PlacementTag: Placement Tag
10156type PlacementTag struct {
10157	// PlacementId: Placement ID
10158	PlacementId int64 `json:"placementId,omitempty,string"`
10159
10160	// TagDatas: Tags generated for this placement.
10161	TagDatas []*TagData `json:"tagDatas,omitempty"`
10162
10163	// ForceSendFields is a list of field names (e.g. "PlacementId") to
10164	// unconditionally include in API requests. By default, fields with
10165	// empty values are omitted from API requests. However, any non-pointer,
10166	// non-interface field appearing in ForceSendFields will be sent to the
10167	// server regardless of whether the field is empty or not. This may be
10168	// used to include empty fields in Patch requests.
10169	ForceSendFields []string `json:"-"`
10170
10171	// NullFields is a list of field names (e.g. "PlacementId") to include
10172	// in API requests with the JSON null value. By default, fields with
10173	// empty values are omitted from API requests. However, any field with
10174	// an empty value appearing in NullFields will be sent to the server as
10175	// null. It is an error if a field in this list has a non-empty value.
10176	// This may be used to include null fields in Patch requests.
10177	NullFields []string `json:"-"`
10178}
10179
10180func (s *PlacementTag) MarshalJSON() ([]byte, error) {
10181	type NoMethod PlacementTag
10182	raw := NoMethod(*s)
10183	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10184}
10185
10186// PlacementsGenerateTagsResponse: Placement GenerateTags Response
10187type PlacementsGenerateTagsResponse struct {
10188	// Kind: Identifies what kind of resource this is. Value: the fixed
10189	// string "dfareporting#placementsGenerateTagsResponse".
10190	Kind string `json:"kind,omitempty"`
10191
10192	// PlacementTags: Set of generated tags for the specified placements.
10193	PlacementTags []*PlacementTag `json:"placementTags,omitempty"`
10194
10195	// ServerResponse contains the HTTP response code and headers from the
10196	// server.
10197	googleapi.ServerResponse `json:"-"`
10198
10199	// ForceSendFields is a list of field names (e.g. "Kind") to
10200	// unconditionally include in API requests. By default, fields with
10201	// empty values are omitted from API requests. However, any non-pointer,
10202	// non-interface field appearing in ForceSendFields will be sent to the
10203	// server regardless of whether the field is empty or not. This may be
10204	// used to include empty fields in Patch requests.
10205	ForceSendFields []string `json:"-"`
10206
10207	// NullFields is a list of field names (e.g. "Kind") to include in API
10208	// requests with the JSON null value. By default, fields with empty
10209	// values are omitted from API requests. However, any field with an
10210	// empty value appearing in NullFields will be sent to the server as
10211	// null. It is an error if a field in this list has a non-empty value.
10212	// This may be used to include null fields in Patch requests.
10213	NullFields []string `json:"-"`
10214}
10215
10216func (s *PlacementsGenerateTagsResponse) MarshalJSON() ([]byte, error) {
10217	type NoMethod PlacementsGenerateTagsResponse
10218	raw := NoMethod(*s)
10219	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10220}
10221
10222// PlacementsListResponse: Placement List Response
10223type PlacementsListResponse struct {
10224	// Kind: Identifies what kind of resource this is. Value: the fixed
10225	// string "dfareporting#placementsListResponse".
10226	Kind string `json:"kind,omitempty"`
10227
10228	// NextPageToken: Pagination token to be used for the next list
10229	// operation.
10230	NextPageToken string `json:"nextPageToken,omitempty"`
10231
10232	// Placements: Placement collection.
10233	Placements []*Placement `json:"placements,omitempty"`
10234
10235	// ServerResponse contains the HTTP response code and headers from the
10236	// server.
10237	googleapi.ServerResponse `json:"-"`
10238
10239	// ForceSendFields is a list of field names (e.g. "Kind") to
10240	// unconditionally include in API requests. By default, fields with
10241	// empty values are omitted from API requests. However, any non-pointer,
10242	// non-interface field appearing in ForceSendFields will be sent to the
10243	// server regardless of whether the field is empty or not. This may be
10244	// used to include empty fields in Patch requests.
10245	ForceSendFields []string `json:"-"`
10246
10247	// NullFields is a list of field names (e.g. "Kind") to include in API
10248	// requests with the JSON null value. By default, fields with empty
10249	// values are omitted from API requests. However, any field with an
10250	// empty value appearing in NullFields will be sent to the server as
10251	// null. It is an error if a field in this list has a non-empty value.
10252	// This may be used to include null fields in Patch requests.
10253	NullFields []string `json:"-"`
10254}
10255
10256func (s *PlacementsListResponse) MarshalJSON() ([]byte, error) {
10257	type NoMethod PlacementsListResponse
10258	raw := NoMethod(*s)
10259	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10260}
10261
10262// PlatformType: Contains information about a platform type that can be
10263// targeted by ads.
10264type PlatformType struct {
10265	// Id: ID of this platform type.
10266	Id int64 `json:"id,omitempty,string"`
10267
10268	// Kind: Identifies what kind of resource this is. Value: the fixed
10269	// string "dfareporting#platformType".
10270	Kind string `json:"kind,omitempty"`
10271
10272	// Name: Name of this platform type.
10273	Name string `json:"name,omitempty"`
10274
10275	// ServerResponse contains the HTTP response code and headers from the
10276	// server.
10277	googleapi.ServerResponse `json:"-"`
10278
10279	// ForceSendFields is a list of field names (e.g. "Id") to
10280	// unconditionally include in API requests. By default, fields with
10281	// empty values are omitted from API requests. However, any non-pointer,
10282	// non-interface field appearing in ForceSendFields will be sent to the
10283	// server regardless of whether the field is empty or not. This may be
10284	// used to include empty fields in Patch requests.
10285	ForceSendFields []string `json:"-"`
10286
10287	// NullFields is a list of field names (e.g. "Id") to include in API
10288	// requests with the JSON null value. By default, fields with empty
10289	// values are omitted from API requests. However, any field with an
10290	// empty value appearing in NullFields will be sent to the server as
10291	// null. It is an error if a field in this list has a non-empty value.
10292	// This may be used to include null fields in Patch requests.
10293	NullFields []string `json:"-"`
10294}
10295
10296func (s *PlatformType) MarshalJSON() ([]byte, error) {
10297	type NoMethod PlatformType
10298	raw := NoMethod(*s)
10299	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10300}
10301
10302// PlatformTypesListResponse: Platform Type List Response
10303type PlatformTypesListResponse struct {
10304	// Kind: Identifies what kind of resource this is. Value: the fixed
10305	// string "dfareporting#platformTypesListResponse".
10306	Kind string `json:"kind,omitempty"`
10307
10308	// PlatformTypes: Platform type collection.
10309	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
10310
10311	// ServerResponse contains the HTTP response code and headers from the
10312	// server.
10313	googleapi.ServerResponse `json:"-"`
10314
10315	// ForceSendFields is a list of field names (e.g. "Kind") to
10316	// unconditionally include in API requests. By default, fields with
10317	// empty values are omitted from API requests. However, any non-pointer,
10318	// non-interface field appearing in ForceSendFields will be sent to the
10319	// server regardless of whether the field is empty or not. This may be
10320	// used to include empty fields in Patch requests.
10321	ForceSendFields []string `json:"-"`
10322
10323	// NullFields is a list of field names (e.g. "Kind") to include in API
10324	// requests with the JSON null value. By default, fields with empty
10325	// values are omitted from API requests. However, any field with an
10326	// empty value appearing in NullFields will be sent to the server as
10327	// null. It is an error if a field in this list has a non-empty value.
10328	// This may be used to include null fields in Patch requests.
10329	NullFields []string `json:"-"`
10330}
10331
10332func (s *PlatformTypesListResponse) MarshalJSON() ([]byte, error) {
10333	type NoMethod PlatformTypesListResponse
10334	raw := NoMethod(*s)
10335	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10336}
10337
10338// PopupWindowProperties: Popup Window Properties.
10339type PopupWindowProperties struct {
10340	// Dimension: Popup dimension for a creative. This is a read-only field.
10341	// Applicable to the following creative types: all RICH_MEDIA and all
10342	// VPAID
10343	Dimension *Size `json:"dimension,omitempty"`
10344
10345	// Offset: Upper-left corner coordinates of the popup window. Applicable
10346	// if positionType is COORDINATES.
10347	Offset *OffsetPosition `json:"offset,omitempty"`
10348
10349	// PositionType: Popup window position either centered or at specific
10350	// coordinate.
10351	//
10352	// Possible values:
10353	//   "CENTER"
10354	//   "COORDINATES"
10355	PositionType string `json:"positionType,omitempty"`
10356
10357	// ShowAddressBar: Whether to display the browser address bar.
10358	ShowAddressBar bool `json:"showAddressBar,omitempty"`
10359
10360	// ShowMenuBar: Whether to display the browser menu bar.
10361	ShowMenuBar bool `json:"showMenuBar,omitempty"`
10362
10363	// ShowScrollBar: Whether to display the browser scroll bar.
10364	ShowScrollBar bool `json:"showScrollBar,omitempty"`
10365
10366	// ShowStatusBar: Whether to display the browser status bar.
10367	ShowStatusBar bool `json:"showStatusBar,omitempty"`
10368
10369	// ShowToolBar: Whether to display the browser tool bar.
10370	ShowToolBar bool `json:"showToolBar,omitempty"`
10371
10372	// Title: Title of popup window.
10373	Title string `json:"title,omitempty"`
10374
10375	// ForceSendFields is a list of field names (e.g. "Dimension") to
10376	// unconditionally include in API requests. By default, fields with
10377	// empty values are omitted from API requests. However, any non-pointer,
10378	// non-interface field appearing in ForceSendFields will be sent to the
10379	// server regardless of whether the field is empty or not. This may be
10380	// used to include empty fields in Patch requests.
10381	ForceSendFields []string `json:"-"`
10382
10383	// NullFields is a list of field names (e.g. "Dimension") to include in
10384	// API requests with the JSON null value. By default, fields with empty
10385	// values are omitted from API requests. However, any field with an
10386	// empty value appearing in NullFields will be sent to the server as
10387	// null. It is an error if a field in this list has a non-empty value.
10388	// This may be used to include null fields in Patch requests.
10389	NullFields []string `json:"-"`
10390}
10391
10392func (s *PopupWindowProperties) MarshalJSON() ([]byte, error) {
10393	type NoMethod PopupWindowProperties
10394	raw := NoMethod(*s)
10395	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10396}
10397
10398// PostalCode: Contains information about a postal code that can be
10399// targeted by ads.
10400type PostalCode struct {
10401	// Code: Postal code. This is equivalent to the id field.
10402	Code string `json:"code,omitempty"`
10403
10404	// CountryCode: Country code of the country to which this postal code
10405	// belongs.
10406	CountryCode string `json:"countryCode,omitempty"`
10407
10408	// CountryDartId: DART ID of the country to which this postal code
10409	// belongs.
10410	CountryDartId int64 `json:"countryDartId,omitempty,string"`
10411
10412	// Id: ID of this postal code.
10413	Id string `json:"id,omitempty"`
10414
10415	// Kind: Identifies what kind of resource this is. Value: the fixed
10416	// string "dfareporting#postalCode".
10417	Kind string `json:"kind,omitempty"`
10418
10419	// ServerResponse contains the HTTP response code and headers from the
10420	// server.
10421	googleapi.ServerResponse `json:"-"`
10422
10423	// ForceSendFields is a list of field names (e.g. "Code") to
10424	// unconditionally include in API requests. By default, fields with
10425	// empty values are omitted from API requests. However, any non-pointer,
10426	// non-interface field appearing in ForceSendFields will be sent to the
10427	// server regardless of whether the field is empty or not. This may be
10428	// used to include empty fields in Patch requests.
10429	ForceSendFields []string `json:"-"`
10430
10431	// NullFields is a list of field names (e.g. "Code") to include in API
10432	// requests with the JSON null value. By default, fields with empty
10433	// values are omitted from API requests. However, any field with an
10434	// empty value appearing in NullFields will be sent to the server as
10435	// null. It is an error if a field in this list has a non-empty value.
10436	// This may be used to include null fields in Patch requests.
10437	NullFields []string `json:"-"`
10438}
10439
10440func (s *PostalCode) MarshalJSON() ([]byte, error) {
10441	type NoMethod PostalCode
10442	raw := NoMethod(*s)
10443	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10444}
10445
10446// PostalCodesListResponse: Postal Code List Response
10447type PostalCodesListResponse struct {
10448	// Kind: Identifies what kind of resource this is. Value: the fixed
10449	// string "dfareporting#postalCodesListResponse".
10450	Kind string `json:"kind,omitempty"`
10451
10452	// PostalCodes: Postal code collection.
10453	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
10454
10455	// ServerResponse contains the HTTP response code and headers from the
10456	// server.
10457	googleapi.ServerResponse `json:"-"`
10458
10459	// ForceSendFields is a list of field names (e.g. "Kind") to
10460	// unconditionally include in API requests. By default, fields with
10461	// empty values are omitted from API requests. However, any non-pointer,
10462	// non-interface field appearing in ForceSendFields will be sent to the
10463	// server regardless of whether the field is empty or not. This may be
10464	// used to include empty fields in Patch requests.
10465	ForceSendFields []string `json:"-"`
10466
10467	// NullFields is a list of field names (e.g. "Kind") to include in API
10468	// requests with the JSON null value. By default, fields with empty
10469	// values are omitted from API requests. However, any field with an
10470	// empty value appearing in NullFields will be sent to the server as
10471	// null. It is an error if a field in this list has a non-empty value.
10472	// This may be used to include null fields in Patch requests.
10473	NullFields []string `json:"-"`
10474}
10475
10476func (s *PostalCodesListResponse) MarshalJSON() ([]byte, error) {
10477	type NoMethod PostalCodesListResponse
10478	raw := NoMethod(*s)
10479	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10480}
10481
10482// Pricing: Pricing Information
10483type Pricing struct {
10484	// CapCostType: Cap cost type of this inventory item.
10485	//
10486	// Possible values:
10487	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
10488	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
10489	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
10490	CapCostType string `json:"capCostType,omitempty"`
10491
10492	EndDate string `json:"endDate,omitempty"`
10493
10494	// Flights: Flights of this inventory item. A flight (a.k.a. pricing
10495	// period) represents the inventory item pricing information for a
10496	// specific period of time.
10497	Flights []*Flight `json:"flights,omitempty"`
10498
10499	// GroupType: Group type of this inventory item if it represents a
10500	// placement group. Is null otherwise. There are two type of placement
10501	// groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of
10502	// inventory items that acts as a single pricing point for a group of
10503	// tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory
10504	// items that not only acts as a single pricing point, but also assumes
10505	// that all the tags in it will be served at the same time. A roadblock
10506	// requires one of its assigned inventory items to be marked as primary.
10507	//
10508	// Possible values:
10509	//   "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE"
10510	//   "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"
10511	GroupType string `json:"groupType,omitempty"`
10512
10513	// PricingType: Pricing type of this inventory item.
10514	//
10515	// Possible values:
10516	//   "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
10517	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
10518	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
10519	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
10520	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
10521	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
10522	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
10523	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
10524	PricingType string `json:"pricingType,omitempty"`
10525
10526	StartDate string `json:"startDate,omitempty"`
10527
10528	// ForceSendFields is a list of field names (e.g. "CapCostType") to
10529	// unconditionally include in API requests. By default, fields with
10530	// empty values are omitted from API requests. However, any non-pointer,
10531	// non-interface field appearing in ForceSendFields will be sent to the
10532	// server regardless of whether the field is empty or not. This may be
10533	// used to include empty fields in Patch requests.
10534	ForceSendFields []string `json:"-"`
10535
10536	// NullFields is a list of field names (e.g. "CapCostType") to include
10537	// in API requests with the JSON null value. By default, fields with
10538	// empty values are omitted from API requests. However, any field with
10539	// an empty value appearing in NullFields will be sent to the server as
10540	// null. It is an error if a field in this list has a non-empty value.
10541	// This may be used to include null fields in Patch requests.
10542	NullFields []string `json:"-"`
10543}
10544
10545func (s *Pricing) MarshalJSON() ([]byte, error) {
10546	type NoMethod Pricing
10547	raw := NoMethod(*s)
10548	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10549}
10550
10551// PricingSchedule: Pricing Schedule
10552type PricingSchedule struct {
10553	// CapCostOption: Placement cap cost option.
10554	//
10555	// Possible values:
10556	//   "CAP_COST_NONE"
10557	//   "CAP_COST_MONTHLY"
10558	//   "CAP_COST_CUMULATIVE"
10559	CapCostOption string `json:"capCostOption,omitempty"`
10560
10561	// DisregardOverdelivery: Whether cap costs are ignored by ad serving.
10562	DisregardOverdelivery bool `json:"disregardOverdelivery,omitempty"`
10563
10564	EndDate string `json:"endDate,omitempty"`
10565
10566	// Flighted: Whether this placement is flighted. If true, pricing
10567	// periods will be computed automatically.
10568	Flighted bool `json:"flighted,omitempty"`
10569
10570	// FloodlightActivityId: Floodlight activity ID associated with this
10571	// placement. This field should be set when placement pricing type is
10572	// set to PRICING_TYPE_CPA.
10573	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
10574
10575	// PricingPeriods: Pricing periods for this placement.
10576	PricingPeriods []*PricingSchedulePricingPeriod `json:"pricingPeriods,omitempty"`
10577
10578	// PricingType: Placement pricing type. This field is required on
10579	// insertion.
10580	//
10581	// Possible values:
10582	//   "PRICING_TYPE_CPM"
10583	//   "PRICING_TYPE_CPC"
10584	//   "PRICING_TYPE_CPA"
10585	//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
10586	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
10587	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
10588	PricingType string `json:"pricingType,omitempty"`
10589
10590	StartDate string `json:"startDate,omitempty"`
10591
10592	TestingStartDate string `json:"testingStartDate,omitempty"`
10593
10594	// ForceSendFields is a list of field names (e.g. "CapCostOption") to
10595	// unconditionally include in API requests. By default, fields with
10596	// empty values are omitted from API requests. However, any non-pointer,
10597	// non-interface field appearing in ForceSendFields will be sent to the
10598	// server regardless of whether the field is empty or not. This may be
10599	// used to include empty fields in Patch requests.
10600	ForceSendFields []string `json:"-"`
10601
10602	// NullFields is a list of field names (e.g. "CapCostOption") to include
10603	// in API requests with the JSON null value. By default, fields with
10604	// empty values are omitted from API requests. However, any field with
10605	// an empty value appearing in NullFields will be sent to the server as
10606	// null. It is an error if a field in this list has a non-empty value.
10607	// This may be used to include null fields in Patch requests.
10608	NullFields []string `json:"-"`
10609}
10610
10611func (s *PricingSchedule) MarshalJSON() ([]byte, error) {
10612	type NoMethod PricingSchedule
10613	raw := NoMethod(*s)
10614	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10615}
10616
10617// PricingSchedulePricingPeriod: Pricing Period
10618type PricingSchedulePricingPeriod struct {
10619	EndDate string `json:"endDate,omitempty"`
10620
10621	// PricingComment: Comments for this pricing period.
10622	PricingComment string `json:"pricingComment,omitempty"`
10623
10624	// RateOrCostNanos: Rate or cost of this pricing period in nanos (i.e.,
10625	// multipled by 1000000000). Acceptable values are 0 to
10626	// 1000000000000000000, inclusive.
10627	RateOrCostNanos int64 `json:"rateOrCostNanos,omitempty,string"`
10628
10629	StartDate string `json:"startDate,omitempty"`
10630
10631	// Units: Units of this pricing period. Acceptable values are 0 to
10632	// 10000000000, inclusive.
10633	Units int64 `json:"units,omitempty,string"`
10634
10635	// ForceSendFields is a list of field names (e.g. "EndDate") to
10636	// unconditionally include in API requests. By default, fields with
10637	// empty values are omitted from API requests. However, any non-pointer,
10638	// non-interface field appearing in ForceSendFields will be sent to the
10639	// server regardless of whether the field is empty or not. This may be
10640	// used to include empty fields in Patch requests.
10641	ForceSendFields []string `json:"-"`
10642
10643	// NullFields is a list of field names (e.g. "EndDate") to include in
10644	// API requests with the JSON null value. By default, fields with empty
10645	// values are omitted from API requests. However, any field with an
10646	// empty value appearing in NullFields will be sent to the server as
10647	// null. It is an error if a field in this list has a non-empty value.
10648	// This may be used to include null fields in Patch requests.
10649	NullFields []string `json:"-"`
10650}
10651
10652func (s *PricingSchedulePricingPeriod) MarshalJSON() ([]byte, error) {
10653	type NoMethod PricingSchedulePricingPeriod
10654	raw := NoMethod(*s)
10655	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10656}
10657
10658// Project: Contains properties of a Planning project.
10659type Project struct {
10660	// AccountId: Account ID of this project.
10661	AccountId int64 `json:"accountId,omitempty,string"`
10662
10663	// AdvertiserId: Advertiser ID of this project.
10664	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10665
10666	// AudienceAgeGroup: Audience age group of this project.
10667	//
10668	// Possible values:
10669	//   "PLANNING_AUDIENCE_AGE_18_24"
10670	//   "PLANNING_AUDIENCE_AGE_25_34"
10671	//   "PLANNING_AUDIENCE_AGE_35_44"
10672	//   "PLANNING_AUDIENCE_AGE_45_54"
10673	//   "PLANNING_AUDIENCE_AGE_55_64"
10674	//   "PLANNING_AUDIENCE_AGE_65_OR_MORE"
10675	//   "PLANNING_AUDIENCE_AGE_UNKNOWN"
10676	AudienceAgeGroup string `json:"audienceAgeGroup,omitempty"`
10677
10678	// AudienceGender: Audience gender of this project.
10679	//
10680	// Possible values:
10681	//   "PLANNING_AUDIENCE_GENDER_MALE"
10682	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
10683	AudienceGender string `json:"audienceGender,omitempty"`
10684
10685	// Budget: Budget of this project in the currency specified by the
10686	// current account. The value stored in this field represents only the
10687	// non-fractional amount. For example, for USD, the smallest value that
10688	// can be represented by this field is 1 US dollar.
10689	Budget int64 `json:"budget,omitempty,string"`
10690
10691	// ClientBillingCode: Client billing code of this project.
10692	ClientBillingCode string `json:"clientBillingCode,omitempty"`
10693
10694	// ClientName: Name of the project client.
10695	ClientName string `json:"clientName,omitempty"`
10696
10697	EndDate string `json:"endDate,omitempty"`
10698
10699	// Id: ID of this project. This is a read-only, auto-generated field.
10700	Id int64 `json:"id,omitempty,string"`
10701
10702	// Kind: Identifies what kind of resource this is. Value: the fixed
10703	// string "dfareporting#project".
10704	Kind string `json:"kind,omitempty"`
10705
10706	// LastModifiedInfo: Information about the most recent modification of
10707	// this project.
10708	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
10709
10710	// Name: Name of this project.
10711	Name string `json:"name,omitempty"`
10712
10713	// Overview: Overview of this project.
10714	Overview string `json:"overview,omitempty"`
10715
10716	StartDate string `json:"startDate,omitempty"`
10717
10718	// SubaccountId: Subaccount ID of this project.
10719	SubaccountId int64 `json:"subaccountId,omitempty,string"`
10720
10721	// TargetClicks: Number of clicks that the advertiser is targeting.
10722	TargetClicks int64 `json:"targetClicks,omitempty,string"`
10723
10724	// TargetConversions: Number of conversions that the advertiser is
10725	// targeting.
10726	TargetConversions int64 `json:"targetConversions,omitempty,string"`
10727
10728	// TargetCpaNanos: CPA that the advertiser is targeting.
10729	TargetCpaNanos int64 `json:"targetCpaNanos,omitempty,string"`
10730
10731	// TargetCpcNanos: CPC that the advertiser is targeting.
10732	TargetCpcNanos int64 `json:"targetCpcNanos,omitempty,string"`
10733
10734	// TargetCpmActiveViewNanos: vCPM from Active View that the advertiser
10735	// is targeting.
10736	TargetCpmActiveViewNanos int64 `json:"targetCpmActiveViewNanos,omitempty,string"`
10737
10738	// TargetCpmNanos: CPM that the advertiser is targeting.
10739	TargetCpmNanos int64 `json:"targetCpmNanos,omitempty,string"`
10740
10741	// TargetImpressions: Number of impressions that the advertiser is
10742	// targeting.
10743	TargetImpressions int64 `json:"targetImpressions,omitempty,string"`
10744
10745	// ServerResponse contains the HTTP response code and headers from the
10746	// server.
10747	googleapi.ServerResponse `json:"-"`
10748
10749	// ForceSendFields is a list of field names (e.g. "AccountId") to
10750	// unconditionally include in API requests. By default, fields with
10751	// empty values are omitted from API requests. However, any non-pointer,
10752	// non-interface field appearing in ForceSendFields will be sent to the
10753	// server regardless of whether the field is empty or not. This may be
10754	// used to include empty fields in Patch requests.
10755	ForceSendFields []string `json:"-"`
10756
10757	// NullFields is a list of field names (e.g. "AccountId") to include in
10758	// API requests with the JSON null value. By default, fields with empty
10759	// values are omitted from API requests. However, any field with an
10760	// empty value appearing in NullFields will be sent to the server as
10761	// null. It is an error if a field in this list has a non-empty value.
10762	// This may be used to include null fields in Patch requests.
10763	NullFields []string `json:"-"`
10764}
10765
10766func (s *Project) MarshalJSON() ([]byte, error) {
10767	type NoMethod Project
10768	raw := NoMethod(*s)
10769	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10770}
10771
10772// ProjectsListResponse: Project List Response
10773type ProjectsListResponse struct {
10774	// Kind: Identifies what kind of resource this is. Value: the fixed
10775	// string "dfareporting#projectsListResponse".
10776	Kind string `json:"kind,omitempty"`
10777
10778	// NextPageToken: Pagination token to be used for the next list
10779	// operation.
10780	NextPageToken string `json:"nextPageToken,omitempty"`
10781
10782	// Projects: Project collection.
10783	Projects []*Project `json:"projects,omitempty"`
10784
10785	// ServerResponse contains the HTTP response code and headers from the
10786	// server.
10787	googleapi.ServerResponse `json:"-"`
10788
10789	// ForceSendFields is a list of field names (e.g. "Kind") to
10790	// unconditionally include in API requests. By default, fields with
10791	// empty values are omitted from API requests. However, any non-pointer,
10792	// non-interface field appearing in ForceSendFields will be sent to the
10793	// server regardless of whether the field is empty or not. This may be
10794	// used to include empty fields in Patch requests.
10795	ForceSendFields []string `json:"-"`
10796
10797	// NullFields is a list of field names (e.g. "Kind") to include in API
10798	// requests with the JSON null value. By default, fields with empty
10799	// values are omitted from API requests. However, any field with an
10800	// empty value appearing in NullFields will be sent to the server as
10801	// null. It is an error if a field in this list has a non-empty value.
10802	// This may be used to include null fields in Patch requests.
10803	NullFields []string `json:"-"`
10804}
10805
10806func (s *ProjectsListResponse) MarshalJSON() ([]byte, error) {
10807	type NoMethod ProjectsListResponse
10808	raw := NoMethod(*s)
10809	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10810}
10811
10812// ReachReportCompatibleFields: Represents fields that are compatible to
10813// be selected for a report of type "REACH".
10814type ReachReportCompatibleFields struct {
10815	// DimensionFilters: Dimensions which are compatible to be selected in
10816	// the "dimensionFilters" section of the report.
10817	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
10818
10819	// Dimensions: Dimensions which are compatible to be selected in the
10820	// "dimensions" section of the report.
10821	Dimensions []*Dimension `json:"dimensions,omitempty"`
10822
10823	// Kind: The kind of resource this is, in this case
10824	// dfareporting#reachReportCompatibleFields.
10825	Kind string `json:"kind,omitempty"`
10826
10827	// Metrics: Metrics which are compatible to be selected in the
10828	// "metricNames" section of the report.
10829	Metrics []*Metric `json:"metrics,omitempty"`
10830
10831	// PivotedActivityMetrics: Metrics which are compatible to be selected
10832	// as activity metrics to pivot on in the "activities" section of the
10833	// report.
10834	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
10835
10836	// ReachByFrequencyMetrics: Metrics which are compatible to be selected
10837	// in the "reachByFrequencyMetricNames" section of the report.
10838	ReachByFrequencyMetrics []*Metric `json:"reachByFrequencyMetrics,omitempty"`
10839
10840	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
10841	// unconditionally include in API requests. By default, fields with
10842	// empty values are omitted from API requests. However, any non-pointer,
10843	// non-interface field appearing in ForceSendFields will be sent to the
10844	// server regardless of whether the field is empty or not. This may be
10845	// used to include empty fields in Patch requests.
10846	ForceSendFields []string `json:"-"`
10847
10848	// NullFields is a list of field names (e.g. "DimensionFilters") to
10849	// include in API requests with the JSON null value. By default, fields
10850	// with empty values are omitted from API requests. However, any field
10851	// with an empty value appearing in NullFields will be sent to the
10852	// server as null. It is an error if a field in this list has a
10853	// non-empty value. This may be used to include null fields in Patch
10854	// requests.
10855	NullFields []string `json:"-"`
10856}
10857
10858func (s *ReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
10859	type NoMethod ReachReportCompatibleFields
10860	raw := NoMethod(*s)
10861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10862}
10863
10864// Recipient: Represents a recipient.
10865type Recipient struct {
10866	// DeliveryType: The delivery type for the recipient.
10867	//
10868	// Possible values:
10869	//   "LINK"
10870	//   "ATTACHMENT"
10871	DeliveryType string `json:"deliveryType,omitempty"`
10872
10873	// Email: The email address of the recipient.
10874	Email string `json:"email,omitempty"`
10875
10876	// Kind: The kind of resource this is, in this case
10877	// dfareporting#recipient.
10878	Kind string `json:"kind,omitempty"`
10879
10880	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
10881	// unconditionally include in API requests. By default, fields with
10882	// empty values are omitted from API requests. However, any non-pointer,
10883	// non-interface field appearing in ForceSendFields will be sent to the
10884	// server regardless of whether the field is empty or not. This may be
10885	// used to include empty fields in Patch requests.
10886	ForceSendFields []string `json:"-"`
10887
10888	// NullFields is a list of field names (e.g. "DeliveryType") to include
10889	// in API requests with the JSON null value. By default, fields with
10890	// empty values are omitted from API requests. However, any field with
10891	// an empty value appearing in NullFields will be sent to the server as
10892	// null. It is an error if a field in this list has a non-empty value.
10893	// This may be used to include null fields in Patch requests.
10894	NullFields []string `json:"-"`
10895}
10896
10897func (s *Recipient) MarshalJSON() ([]byte, error) {
10898	type NoMethod Recipient
10899	raw := NoMethod(*s)
10900	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10901}
10902
10903// Region: Contains information about a region that can be targeted by
10904// ads.
10905type Region struct {
10906	// CountryCode: Country code of the country to which this region
10907	// belongs.
10908	CountryCode string `json:"countryCode,omitempty"`
10909
10910	// CountryDartId: DART ID of the country to which this region belongs.
10911	CountryDartId int64 `json:"countryDartId,omitempty,string"`
10912
10913	// DartId: DART ID of this region.
10914	DartId int64 `json:"dartId,omitempty,string"`
10915
10916	// Kind: Identifies what kind of resource this is. Value: the fixed
10917	// string "dfareporting#region".
10918	Kind string `json:"kind,omitempty"`
10919
10920	// Name: Name of this region.
10921	Name string `json:"name,omitempty"`
10922
10923	// RegionCode: Region code.
10924	RegionCode string `json:"regionCode,omitempty"`
10925
10926	// ForceSendFields is a list of field names (e.g. "CountryCode") to
10927	// unconditionally include in API requests. By default, fields with
10928	// empty values are omitted from API requests. However, any non-pointer,
10929	// non-interface field appearing in ForceSendFields will be sent to the
10930	// server regardless of whether the field is empty or not. This may be
10931	// used to include empty fields in Patch requests.
10932	ForceSendFields []string `json:"-"`
10933
10934	// NullFields is a list of field names (e.g. "CountryCode") to include
10935	// in API requests with the JSON null value. By default, fields with
10936	// empty values are omitted from API requests. However, any field with
10937	// an empty value appearing in NullFields will be sent to the server as
10938	// null. It is an error if a field in this list has a non-empty value.
10939	// This may be used to include null fields in Patch requests.
10940	NullFields []string `json:"-"`
10941}
10942
10943func (s *Region) MarshalJSON() ([]byte, error) {
10944	type NoMethod Region
10945	raw := NoMethod(*s)
10946	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10947}
10948
10949// RegionsListResponse: Region List Response
10950type RegionsListResponse struct {
10951	// Kind: Identifies what kind of resource this is. Value: the fixed
10952	// string "dfareporting#regionsListResponse".
10953	Kind string `json:"kind,omitempty"`
10954
10955	// Regions: Region collection.
10956	Regions []*Region `json:"regions,omitempty"`
10957
10958	// ServerResponse contains the HTTP response code and headers from the
10959	// server.
10960	googleapi.ServerResponse `json:"-"`
10961
10962	// ForceSendFields is a list of field names (e.g. "Kind") to
10963	// unconditionally include in API requests. By default, fields with
10964	// empty values are omitted from API requests. However, any non-pointer,
10965	// non-interface field appearing in ForceSendFields will be sent to the
10966	// server regardless of whether the field is empty or not. This may be
10967	// used to include empty fields in Patch requests.
10968	ForceSendFields []string `json:"-"`
10969
10970	// NullFields is a list of field names (e.g. "Kind") to include in API
10971	// requests with the JSON null value. By default, fields with empty
10972	// values are omitted from API requests. However, any field with an
10973	// empty value appearing in NullFields will be sent to the server as
10974	// null. It is an error if a field in this list has a non-empty value.
10975	// This may be used to include null fields in Patch requests.
10976	NullFields []string `json:"-"`
10977}
10978
10979func (s *RegionsListResponse) MarshalJSON() ([]byte, error) {
10980	type NoMethod RegionsListResponse
10981	raw := NoMethod(*s)
10982	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10983}
10984
10985// RemarketingList: Contains properties of a remarketing list.
10986// Remarketing enables you to create lists of users who have performed
10987// specific actions on a site, then target ads to members of those
10988// lists. This resource can be used to manage remarketing lists that are
10989// owned by your advertisers. To see all remarketing lists that are
10990// visible to your advertisers, including those that are shared to your
10991// advertiser or account, use the TargetableRemarketingLists resource.
10992type RemarketingList struct {
10993	// AccountId: Account ID of this remarketing list. This is a read-only,
10994	// auto-generated field that is only returned in GET requests.
10995	AccountId int64 `json:"accountId,omitempty,string"`
10996
10997	// Active: Whether this remarketing list is active.
10998	Active bool `json:"active,omitempty"`
10999
11000	// AdvertiserId: Dimension value for the advertiser ID that owns this
11001	// remarketing list. This is a required field.
11002	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
11003
11004	// AdvertiserIdDimensionValue: Dimension value for the ID of the
11005	// advertiser. This is a read-only, auto-generated field.
11006	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
11007
11008	// Description: Remarketing list description.
11009	Description string `json:"description,omitempty"`
11010
11011	// Id: Remarketing list ID. This is a read-only, auto-generated field.
11012	Id int64 `json:"id,omitempty,string"`
11013
11014	// Kind: Identifies what kind of resource this is. Value: the fixed
11015	// string "dfareporting#remarketingList".
11016	Kind string `json:"kind,omitempty"`
11017
11018	// LifeSpan: Number of days that a user should remain in the remarketing
11019	// list without an impression. Acceptable values are 1 to 540,
11020	// inclusive.
11021	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
11022
11023	// ListPopulationRule: Rule used to populate the remarketing list with
11024	// users.
11025	ListPopulationRule *ListPopulationRule `json:"listPopulationRule,omitempty"`
11026
11027	// ListSize: Number of users currently in the list. This is a read-only
11028	// field.
11029	ListSize int64 `json:"listSize,omitempty,string"`
11030
11031	// ListSource: Product from which this remarketing list was originated.
11032	//
11033	// Possible values:
11034	//   "REMARKETING_LIST_SOURCE_OTHER"
11035	//   "REMARKETING_LIST_SOURCE_ADX"
11036	//   "REMARKETING_LIST_SOURCE_DFP"
11037	//   "REMARKETING_LIST_SOURCE_XFP"
11038	//   "REMARKETING_LIST_SOURCE_DFA"
11039	//   "REMARKETING_LIST_SOURCE_GA"
11040	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
11041	//   "REMARKETING_LIST_SOURCE_DBM"
11042	//   "REMARKETING_LIST_SOURCE_GPLUS"
11043	//   "REMARKETING_LIST_SOURCE_DMP"
11044	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
11045	ListSource string `json:"listSource,omitempty"`
11046
11047	// Name: Name of the remarketing list. This is a required field. Must be
11048	// no greater than 128 characters long.
11049	Name string `json:"name,omitempty"`
11050
11051	// SubaccountId: Subaccount ID of this remarketing list. This is a
11052	// read-only, auto-generated field that is only returned in GET
11053	// requests.
11054	SubaccountId int64 `json:"subaccountId,omitempty,string"`
11055
11056	// ServerResponse contains the HTTP response code and headers from the
11057	// server.
11058	googleapi.ServerResponse `json:"-"`
11059
11060	// ForceSendFields is a list of field names (e.g. "AccountId") to
11061	// unconditionally include in API requests. By default, fields with
11062	// empty values are omitted from API requests. However, any non-pointer,
11063	// non-interface field appearing in ForceSendFields will be sent to the
11064	// server regardless of whether the field is empty or not. This may be
11065	// used to include empty fields in Patch requests.
11066	ForceSendFields []string `json:"-"`
11067
11068	// NullFields is a list of field names (e.g. "AccountId") to include in
11069	// API requests with the JSON null value. By default, fields with empty
11070	// values are omitted from API requests. However, any field with an
11071	// empty value appearing in NullFields will be sent to the server as
11072	// null. It is an error if a field in this list has a non-empty value.
11073	// This may be used to include null fields in Patch requests.
11074	NullFields []string `json:"-"`
11075}
11076
11077func (s *RemarketingList) MarshalJSON() ([]byte, error) {
11078	type NoMethod RemarketingList
11079	raw := NoMethod(*s)
11080	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11081}
11082
11083// RemarketingListShare: Contains properties of a remarketing list's
11084// sharing information. Sharing allows other accounts or advertisers to
11085// target to your remarketing lists. This resource can be used to manage
11086// remarketing list sharing to other accounts and advertisers.
11087type RemarketingListShare struct {
11088	// Kind: Identifies what kind of resource this is. Value: the fixed
11089	// string "dfareporting#remarketingListShare".
11090	Kind string `json:"kind,omitempty"`
11091
11092	// RemarketingListId: Remarketing list ID. This is a read-only,
11093	// auto-generated field.
11094	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
11095
11096	// SharedAccountIds: Accounts that the remarketing list is shared with.
11097	SharedAccountIds googleapi.Int64s `json:"sharedAccountIds,omitempty"`
11098
11099	// SharedAdvertiserIds: Advertisers that the remarketing list is shared
11100	// with.
11101	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
11102
11103	// ServerResponse contains the HTTP response code and headers from the
11104	// server.
11105	googleapi.ServerResponse `json:"-"`
11106
11107	// ForceSendFields is a list of field names (e.g. "Kind") to
11108	// unconditionally include in API requests. By default, fields with
11109	// empty values are omitted from API requests. However, any non-pointer,
11110	// non-interface field appearing in ForceSendFields will be sent to the
11111	// server regardless of whether the field is empty or not. This may be
11112	// used to include empty fields in Patch requests.
11113	ForceSendFields []string `json:"-"`
11114
11115	// NullFields is a list of field names (e.g. "Kind") to include in API
11116	// requests with the JSON null value. By default, fields with empty
11117	// values are omitted from API requests. However, any field with an
11118	// empty value appearing in NullFields will be sent to the server as
11119	// null. It is an error if a field in this list has a non-empty value.
11120	// This may be used to include null fields in Patch requests.
11121	NullFields []string `json:"-"`
11122}
11123
11124func (s *RemarketingListShare) MarshalJSON() ([]byte, error) {
11125	type NoMethod RemarketingListShare
11126	raw := NoMethod(*s)
11127	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11128}
11129
11130// RemarketingListsListResponse: Remarketing list response
11131type RemarketingListsListResponse struct {
11132	// Kind: Identifies what kind of resource this is. Value: the fixed
11133	// string "dfareporting#remarketingListsListResponse".
11134	Kind string `json:"kind,omitempty"`
11135
11136	// NextPageToken: Pagination token to be used for the next list
11137	// operation.
11138	NextPageToken string `json:"nextPageToken,omitempty"`
11139
11140	// RemarketingLists: Remarketing list collection.
11141	RemarketingLists []*RemarketingList `json:"remarketingLists,omitempty"`
11142
11143	// ServerResponse contains the HTTP response code and headers from the
11144	// server.
11145	googleapi.ServerResponse `json:"-"`
11146
11147	// ForceSendFields is a list of field names (e.g. "Kind") to
11148	// unconditionally include in API requests. By default, fields with
11149	// empty values are omitted from API requests. However, any non-pointer,
11150	// non-interface field appearing in ForceSendFields will be sent to the
11151	// server regardless of whether the field is empty or not. This may be
11152	// used to include empty fields in Patch requests.
11153	ForceSendFields []string `json:"-"`
11154
11155	// NullFields is a list of field names (e.g. "Kind") to include in API
11156	// requests with the JSON null value. By default, fields with empty
11157	// values are omitted from API requests. However, any field with an
11158	// empty value appearing in NullFields will be sent to the server as
11159	// null. It is an error if a field in this list has a non-empty value.
11160	// This may be used to include null fields in Patch requests.
11161	NullFields []string `json:"-"`
11162}
11163
11164func (s *RemarketingListsListResponse) MarshalJSON() ([]byte, error) {
11165	type NoMethod RemarketingListsListResponse
11166	raw := NoMethod(*s)
11167	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11168}
11169
11170// Report: Represents a Report resource.
11171type Report struct {
11172	// AccountId: The account ID to which this report belongs.
11173	AccountId int64 `json:"accountId,omitempty,string"`
11174
11175	// Criteria: The report criteria for a report of type "STANDARD".
11176	Criteria *ReportCriteria `json:"criteria,omitempty"`
11177
11178	// CrossDimensionReachCriteria: The report criteria for a report of type
11179	// "CROSS_DIMENSION_REACH".
11180	CrossDimensionReachCriteria *ReportCrossDimensionReachCriteria `json:"crossDimensionReachCriteria,omitempty"`
11181
11182	// Delivery: The report's email delivery settings.
11183	Delivery *ReportDelivery `json:"delivery,omitempty"`
11184
11185	// Etag: The eTag of this response for caching purposes.
11186	Etag string `json:"etag,omitempty"`
11187
11188	// FileName: The filename used when generating report files for this
11189	// report.
11190	FileName string `json:"fileName,omitempty"`
11191
11192	// FloodlightCriteria: The report criteria for a report of type
11193	// "FLOODLIGHT".
11194	FloodlightCriteria *ReportFloodlightCriteria `json:"floodlightCriteria,omitempty"`
11195
11196	// Format: The output format of the report. If not specified, default
11197	// format is "CSV". Note that the actual format in the completed report
11198	// file might differ if for instance the report's size exceeds the
11199	// format's capabilities. "CSV" will then be the fallback format.
11200	//
11201	// Possible values:
11202	//   "CSV"
11203	//   "EXCEL"
11204	Format string `json:"format,omitempty"`
11205
11206	// Id: The unique ID identifying this report resource.
11207	Id int64 `json:"id,omitempty,string"`
11208
11209	// Kind: The kind of resource this is, in this case dfareporting#report.
11210	Kind string `json:"kind,omitempty"`
11211
11212	// LastModifiedTime: The timestamp (in milliseconds since epoch) of when
11213	// this report was last modified.
11214	LastModifiedTime uint64 `json:"lastModifiedTime,omitempty,string"`
11215
11216	// Name: The name of the report.
11217	Name string `json:"name,omitempty"`
11218
11219	// OwnerProfileId: The user profile id of the owner of this report.
11220	OwnerProfileId int64 `json:"ownerProfileId,omitempty,string"`
11221
11222	// PathToConversionCriteria: The report criteria for a report of type
11223	// "PATH_TO_CONVERSION".
11224	PathToConversionCriteria *ReportPathToConversionCriteria `json:"pathToConversionCriteria,omitempty"`
11225
11226	// ReachCriteria: The report criteria for a report of type "REACH".
11227	ReachCriteria *ReportReachCriteria `json:"reachCriteria,omitempty"`
11228
11229	// Schedule: The report's schedule. Can only be set if the report's
11230	// 'dateRange' is a relative date range and the relative date range is
11231	// not "TODAY".
11232	Schedule *ReportSchedule `json:"schedule,omitempty"`
11233
11234	// SubAccountId: The subaccount ID to which this report belongs if
11235	// applicable.
11236	SubAccountId int64 `json:"subAccountId,omitempty,string"`
11237
11238	// Type: The type of the report.
11239	//
11240	// Possible values:
11241	//   "STANDARD"
11242	//   "REACH"
11243	//   "PATH_TO_CONVERSION"
11244	//   "CROSS_DIMENSION_REACH"
11245	//   "FLOODLIGHT"
11246	Type string `json:"type,omitempty"`
11247
11248	// ServerResponse contains the HTTP response code and headers from the
11249	// server.
11250	googleapi.ServerResponse `json:"-"`
11251
11252	// ForceSendFields is a list of field names (e.g. "AccountId") to
11253	// unconditionally include in API requests. By default, fields with
11254	// empty values are omitted from API requests. However, any non-pointer,
11255	// non-interface field appearing in ForceSendFields will be sent to the
11256	// server regardless of whether the field is empty or not. This may be
11257	// used to include empty fields in Patch requests.
11258	ForceSendFields []string `json:"-"`
11259
11260	// NullFields is a list of field names (e.g. "AccountId") to include in
11261	// API requests with the JSON null value. By default, fields with empty
11262	// values are omitted from API requests. However, any field with an
11263	// empty value appearing in NullFields will be sent to the server as
11264	// null. It is an error if a field in this list has a non-empty value.
11265	// This may be used to include null fields in Patch requests.
11266	NullFields []string `json:"-"`
11267}
11268
11269func (s *Report) MarshalJSON() ([]byte, error) {
11270	type NoMethod Report
11271	raw := NoMethod(*s)
11272	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11273}
11274
11275// ReportCriteria: The report criteria for a report of type "STANDARD".
11276type ReportCriteria struct {
11277	// Activities: Activity group.
11278	Activities *Activities `json:"activities,omitempty"`
11279
11280	// CustomRichMediaEvents: Custom Rich Media Events group.
11281	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
11282
11283	// DateRange: The date range for which this report should be run.
11284	DateRange *DateRange `json:"dateRange,omitempty"`
11285
11286	// DimensionFilters: The list of filters on which dimensions are
11287	// filtered. Filters for different dimensions are ANDed, filters for the
11288	// same dimension are grouped together and ORed.
11289	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11290
11291	// Dimensions: The list of standard dimensions the report should
11292	// include.
11293	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11294
11295	// MetricNames: The list of names of metrics the report should include.
11296	MetricNames []string `json:"metricNames,omitempty"`
11297
11298	// ForceSendFields is a list of field names (e.g. "Activities") to
11299	// unconditionally include in API requests. By default, fields with
11300	// empty values are omitted from API requests. However, any non-pointer,
11301	// non-interface field appearing in ForceSendFields will be sent to the
11302	// server regardless of whether the field is empty or not. This may be
11303	// used to include empty fields in Patch requests.
11304	ForceSendFields []string `json:"-"`
11305
11306	// NullFields is a list of field names (e.g. "Activities") to include in
11307	// API requests with the JSON null value. By default, fields with empty
11308	// values are omitted from API requests. However, any field with an
11309	// empty value appearing in NullFields will be sent to the server as
11310	// null. It is an error if a field in this list has a non-empty value.
11311	// This may be used to include null fields in Patch requests.
11312	NullFields []string `json:"-"`
11313}
11314
11315func (s *ReportCriteria) MarshalJSON() ([]byte, error) {
11316	type NoMethod ReportCriteria
11317	raw := NoMethod(*s)
11318	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11319}
11320
11321// ReportCrossDimensionReachCriteria: The report criteria for a report
11322// of type "CROSS_DIMENSION_REACH".
11323type ReportCrossDimensionReachCriteria struct {
11324	// Breakdown: The list of dimensions the report should include.
11325	Breakdown []*SortedDimension `json:"breakdown,omitempty"`
11326
11327	// DateRange: The date range this report should be run for.
11328	DateRange *DateRange `json:"dateRange,omitempty"`
11329
11330	// Dimension: The dimension option.
11331	//
11332	// Possible values:
11333	//   "ADVERTISER"
11334	//   "CAMPAIGN"
11335	//   "SITE_BY_ADVERTISER"
11336	//   "SITE_BY_CAMPAIGN"
11337	Dimension string `json:"dimension,omitempty"`
11338
11339	// DimensionFilters: The list of filters on which dimensions are
11340	// filtered.
11341	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11342
11343	// MetricNames: The list of names of metrics the report should include.
11344	MetricNames []string `json:"metricNames,omitempty"`
11345
11346	// OverlapMetricNames: The list of names of overlap metrics the report
11347	// should include.
11348	OverlapMetricNames []string `json:"overlapMetricNames,omitempty"`
11349
11350	// Pivoted: Whether the report is pivoted or not. Defaults to true.
11351	Pivoted bool `json:"pivoted,omitempty"`
11352
11353	// ForceSendFields is a list of field names (e.g. "Breakdown") to
11354	// unconditionally include in API requests. By default, fields with
11355	// empty values are omitted from API requests. However, any non-pointer,
11356	// non-interface field appearing in ForceSendFields will be sent to the
11357	// server regardless of whether the field is empty or not. This may be
11358	// used to include empty fields in Patch requests.
11359	ForceSendFields []string `json:"-"`
11360
11361	// NullFields is a list of field names (e.g. "Breakdown") to include in
11362	// API requests with the JSON null value. By default, fields with empty
11363	// values are omitted from API requests. However, any field with an
11364	// empty value appearing in NullFields will be sent to the server as
11365	// null. It is an error if a field in this list has a non-empty value.
11366	// This may be used to include null fields in Patch requests.
11367	NullFields []string `json:"-"`
11368}
11369
11370func (s *ReportCrossDimensionReachCriteria) MarshalJSON() ([]byte, error) {
11371	type NoMethod ReportCrossDimensionReachCriteria
11372	raw := NoMethod(*s)
11373	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11374}
11375
11376// ReportDelivery: The report's email delivery settings.
11377type ReportDelivery struct {
11378	// EmailOwner: Whether the report should be emailed to the report owner.
11379	EmailOwner bool `json:"emailOwner,omitempty"`
11380
11381	// EmailOwnerDeliveryType: The type of delivery for the owner to
11382	// receive, if enabled.
11383	//
11384	// Possible values:
11385	//   "LINK"
11386	//   "ATTACHMENT"
11387	EmailOwnerDeliveryType string `json:"emailOwnerDeliveryType,omitempty"`
11388
11389	// Message: The message to be sent with each email.
11390	Message string `json:"message,omitempty"`
11391
11392	// Recipients: The list of recipients to which to email the report.
11393	Recipients []*Recipient `json:"recipients,omitempty"`
11394
11395	// ForceSendFields is a list of field names (e.g. "EmailOwner") to
11396	// unconditionally include in API requests. By default, fields with
11397	// empty values are omitted from API requests. However, any non-pointer,
11398	// non-interface field appearing in ForceSendFields will be sent to the
11399	// server regardless of whether the field is empty or not. This may be
11400	// used to include empty fields in Patch requests.
11401	ForceSendFields []string `json:"-"`
11402
11403	// NullFields is a list of field names (e.g. "EmailOwner") to include in
11404	// API requests with the JSON null value. By default, fields with empty
11405	// values are omitted from API requests. However, any field with an
11406	// empty value appearing in NullFields will be sent to the server as
11407	// null. It is an error if a field in this list has a non-empty value.
11408	// This may be used to include null fields in Patch requests.
11409	NullFields []string `json:"-"`
11410}
11411
11412func (s *ReportDelivery) MarshalJSON() ([]byte, error) {
11413	type NoMethod ReportDelivery
11414	raw := NoMethod(*s)
11415	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11416}
11417
11418// ReportFloodlightCriteria: The report criteria for a report of type
11419// "FLOODLIGHT".
11420type ReportFloodlightCriteria struct {
11421	// CustomRichMediaEvents: The list of custom rich media events to
11422	// include.
11423	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
11424
11425	// DateRange: The date range this report should be run for.
11426	DateRange *DateRange `json:"dateRange,omitempty"`
11427
11428	// DimensionFilters: The list of filters on which dimensions are
11429	// filtered. Filters for different dimensions are ANDed, filters for the
11430	// same dimension are grouped together and ORed.
11431	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11432
11433	// Dimensions: The list of dimensions the report should include.
11434	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11435
11436	// FloodlightConfigId: The floodlight ID for which to show data in this
11437	// report. All advertisers associated with that ID will automatically be
11438	// added. The dimension of the value needs to be
11439	// 'dfa:floodlightConfigId'.
11440	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
11441
11442	// MetricNames: The list of names of metrics the report should include.
11443	MetricNames []string `json:"metricNames,omitempty"`
11444
11445	// ReportProperties: The properties of the report.
11446	ReportProperties *ReportFloodlightCriteriaReportProperties `json:"reportProperties,omitempty"`
11447
11448	// ForceSendFields is a list of field names (e.g.
11449	// "CustomRichMediaEvents") to unconditionally include in API requests.
11450	// By default, fields with empty values are omitted from API requests.
11451	// However, any non-pointer, non-interface field appearing in
11452	// ForceSendFields will be sent to the server regardless of whether the
11453	// field is empty or not. This may be used to include empty fields in
11454	// Patch requests.
11455	ForceSendFields []string `json:"-"`
11456
11457	// NullFields is a list of field names (e.g. "CustomRichMediaEvents") to
11458	// include in API requests with the JSON null value. By default, fields
11459	// with empty values are omitted from API requests. However, any field
11460	// with an empty value appearing in NullFields will be sent to the
11461	// server as null. It is an error if a field in this list has a
11462	// non-empty value. This may be used to include null fields in Patch
11463	// requests.
11464	NullFields []string `json:"-"`
11465}
11466
11467func (s *ReportFloodlightCriteria) MarshalJSON() ([]byte, error) {
11468	type NoMethod ReportFloodlightCriteria
11469	raw := NoMethod(*s)
11470	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11471}
11472
11473// ReportFloodlightCriteriaReportProperties: The properties of the
11474// report.
11475type ReportFloodlightCriteriaReportProperties struct {
11476	// IncludeAttributedIPConversions: Include conversions that have no
11477	// cookie, but do have an exposure path.
11478	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
11479
11480	// IncludeUnattributedCookieConversions: Include conversions of users
11481	// with a DoubleClick cookie but without an exposure. That means the
11482	// user did not click or see an ad from the advertiser within the
11483	// Floodlight group, or that the interaction happened outside the
11484	// lookback window.
11485	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
11486
11487	// IncludeUnattributedIPConversions: Include conversions that have no
11488	// associated cookies and no exposures. It’s therefore impossible to
11489	// know how the user was exposed to your ads during the lookback window
11490	// prior to a conversion.
11491	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
11492
11493	// ForceSendFields is a list of field names (e.g.
11494	// "IncludeAttributedIPConversions") to unconditionally include in API
11495	// requests. By default, fields with empty values are omitted from API
11496	// requests. However, any non-pointer, non-interface field appearing in
11497	// ForceSendFields will be sent to the server regardless of whether the
11498	// field is empty or not. This may be used to include empty fields in
11499	// Patch requests.
11500	ForceSendFields []string `json:"-"`
11501
11502	// NullFields is a list of field names (e.g.
11503	// "IncludeAttributedIPConversions") to include in API requests with the
11504	// JSON null value. By default, fields with empty values are omitted
11505	// from API requests. However, any field with an empty value appearing
11506	// in NullFields will be sent to the server as null. It is an error if a
11507	// field in this list has a non-empty value. This may be used to include
11508	// null fields in Patch requests.
11509	NullFields []string `json:"-"`
11510}
11511
11512func (s *ReportFloodlightCriteriaReportProperties) MarshalJSON() ([]byte, error) {
11513	type NoMethod ReportFloodlightCriteriaReportProperties
11514	raw := NoMethod(*s)
11515	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11516}
11517
11518// ReportPathToConversionCriteria: The report criteria for a report of
11519// type "PATH_TO_CONVERSION".
11520type ReportPathToConversionCriteria struct {
11521	// ActivityFilters: The list of 'dfa:activity' values to filter on.
11522	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
11523
11524	// ConversionDimensions: The list of conversion dimensions the report
11525	// should include.
11526	ConversionDimensions []*SortedDimension `json:"conversionDimensions,omitempty"`
11527
11528	// CustomFloodlightVariables: The list of custom floodlight variables
11529	// the report should include.
11530	CustomFloodlightVariables []*SortedDimension `json:"customFloodlightVariables,omitempty"`
11531
11532	// CustomRichMediaEvents: The list of custom rich media events to
11533	// include.
11534	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
11535
11536	// DateRange: The date range this report should be run for.
11537	DateRange *DateRange `json:"dateRange,omitempty"`
11538
11539	// FloodlightConfigId: The floodlight ID for which to show data in this
11540	// report. All advertisers associated with that ID will automatically be
11541	// added. The dimension of the value needs to be
11542	// 'dfa:floodlightConfigId'.
11543	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
11544
11545	// MetricNames: The list of names of metrics the report should include.
11546	MetricNames []string `json:"metricNames,omitempty"`
11547
11548	// PerInteractionDimensions: The list of per interaction dimensions the
11549	// report should include.
11550	PerInteractionDimensions []*SortedDimension `json:"perInteractionDimensions,omitempty"`
11551
11552	// ReportProperties: The properties of the report.
11553	ReportProperties *ReportPathToConversionCriteriaReportProperties `json:"reportProperties,omitempty"`
11554
11555	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
11556	// unconditionally include in API requests. By default, fields with
11557	// empty values are omitted from API requests. However, any non-pointer,
11558	// non-interface field appearing in ForceSendFields will be sent to the
11559	// server regardless of whether the field is empty or not. This may be
11560	// used to include empty fields in Patch requests.
11561	ForceSendFields []string `json:"-"`
11562
11563	// NullFields is a list of field names (e.g. "ActivityFilters") to
11564	// include in API requests with the JSON null value. By default, fields
11565	// with empty values are omitted from API requests. However, any field
11566	// with an empty value appearing in NullFields will be sent to the
11567	// server as null. It is an error if a field in this list has a
11568	// non-empty value. This may be used to include null fields in Patch
11569	// requests.
11570	NullFields []string `json:"-"`
11571}
11572
11573func (s *ReportPathToConversionCriteria) MarshalJSON() ([]byte, error) {
11574	type NoMethod ReportPathToConversionCriteria
11575	raw := NoMethod(*s)
11576	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11577}
11578
11579// ReportPathToConversionCriteriaReportProperties: The properties of the
11580// report.
11581type ReportPathToConversionCriteriaReportProperties struct {
11582	// ClicksLookbackWindow: CM360 checks to see if a click interaction
11583	// occurred within the specified period of time before a conversion. By
11584	// default the value is pulled from Floodlight or you can manually enter
11585	// a custom value. Valid values: 1-90.
11586	ClicksLookbackWindow int64 `json:"clicksLookbackWindow,omitempty"`
11587
11588	// ImpressionsLookbackWindow: CM360 checks to see if an impression
11589	// interaction occurred within the specified period of time before a
11590	// conversion. By default the value is pulled from Floodlight or you can
11591	// manually enter a custom value. Valid values: 1-90.
11592	ImpressionsLookbackWindow int64 `json:"impressionsLookbackWindow,omitempty"`
11593
11594	// IncludeAttributedIPConversions: Deprecated: has no effect.
11595	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
11596
11597	// IncludeUnattributedCookieConversions: Include conversions of users
11598	// with a DoubleClick cookie but without an exposure. That means the
11599	// user did not click or see an ad from the advertiser within the
11600	// Floodlight group, or that the interaction happened outside the
11601	// lookback window.
11602	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
11603
11604	// IncludeUnattributedIPConversions: Include conversions that have no
11605	// associated cookies and no exposures. It’s therefore impossible to
11606	// know how the user was exposed to your ads during the lookback window
11607	// prior to a conversion.
11608	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
11609
11610	// MaximumClickInteractions: The maximum number of click interactions to
11611	// include in the report. Advertisers currently paying for E2C reports
11612	// get up to 200 (100 clicks, 100 impressions). If another advertiser in
11613	// your network is paying for E2C, you can have up to 5 total exposures
11614	// per report.
11615	MaximumClickInteractions int64 `json:"maximumClickInteractions,omitempty"`
11616
11617	// MaximumImpressionInteractions: The maximum number of click
11618	// interactions to include in the report. Advertisers currently paying
11619	// for E2C reports get up to 200 (100 clicks, 100 impressions). If
11620	// another advertiser in your network is paying for E2C, you can have up
11621	// to 5 total exposures per report.
11622	MaximumImpressionInteractions int64 `json:"maximumImpressionInteractions,omitempty"`
11623
11624	// MaximumInteractionGap: The maximum amount of time that can take place
11625	// between interactions (clicks or impressions) by the same user. Valid
11626	// values: 1-90.
11627	MaximumInteractionGap int64 `json:"maximumInteractionGap,omitempty"`
11628
11629	// PivotOnInteractionPath: Enable pivoting on interaction path.
11630	PivotOnInteractionPath bool `json:"pivotOnInteractionPath,omitempty"`
11631
11632	// ForceSendFields is a list of field names (e.g.
11633	// "ClicksLookbackWindow") to unconditionally include in API requests.
11634	// By default, fields with empty values are omitted from API requests.
11635	// However, any non-pointer, non-interface field appearing in
11636	// ForceSendFields will be sent to the server regardless of whether the
11637	// field is empty or not. This may be used to include empty fields in
11638	// Patch requests.
11639	ForceSendFields []string `json:"-"`
11640
11641	// NullFields is a list of field names (e.g. "ClicksLookbackWindow") to
11642	// include in API requests with the JSON null value. By default, fields
11643	// with empty values are omitted from API requests. However, any field
11644	// with an empty value appearing in NullFields will be sent to the
11645	// server as null. It is an error if a field in this list has a
11646	// non-empty value. This may be used to include null fields in Patch
11647	// requests.
11648	NullFields []string `json:"-"`
11649}
11650
11651func (s *ReportPathToConversionCriteriaReportProperties) MarshalJSON() ([]byte, error) {
11652	type NoMethod ReportPathToConversionCriteriaReportProperties
11653	raw := NoMethod(*s)
11654	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11655}
11656
11657// ReportReachCriteria: The report criteria for a report of type
11658// "REACH".
11659type ReportReachCriteria struct {
11660	// Activities: Activity group.
11661	Activities *Activities `json:"activities,omitempty"`
11662
11663	// CustomRichMediaEvents: Custom Rich Media Events group.
11664	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
11665
11666	// DateRange: The date range this report should be run for.
11667	DateRange *DateRange `json:"dateRange,omitempty"`
11668
11669	// DimensionFilters: The list of filters on which dimensions are
11670	// filtered. Filters for different dimensions are ANDed, filters for the
11671	// same dimension are grouped together and ORed.
11672	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11673
11674	// Dimensions: The list of dimensions the report should include.
11675	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11676
11677	// EnableAllDimensionCombinations: Whether to enable all reach dimension
11678	// combinations in the report. Defaults to false. If enabled, the date
11679	// range of the report should be within the last 42 days.
11680	EnableAllDimensionCombinations bool `json:"enableAllDimensionCombinations,omitempty"`
11681
11682	// MetricNames: The list of names of metrics the report should include.
11683	MetricNames []string `json:"metricNames,omitempty"`
11684
11685	// ReachByFrequencyMetricNames: The list of names of Reach By Frequency
11686	// metrics the report should include.
11687	ReachByFrequencyMetricNames []string `json:"reachByFrequencyMetricNames,omitempty"`
11688
11689	// ForceSendFields is a list of field names (e.g. "Activities") to
11690	// unconditionally include in API requests. By default, fields with
11691	// empty values are omitted from API requests. However, any non-pointer,
11692	// non-interface field appearing in ForceSendFields will be sent to the
11693	// server regardless of whether the field is empty or not. This may be
11694	// used to include empty fields in Patch requests.
11695	ForceSendFields []string `json:"-"`
11696
11697	// NullFields is a list of field names (e.g. "Activities") to include in
11698	// API requests with the JSON null value. By default, fields with empty
11699	// values are omitted from API requests. However, any field with an
11700	// empty value appearing in NullFields will be sent to the server as
11701	// null. It is an error if a field in this list has a non-empty value.
11702	// This may be used to include null fields in Patch requests.
11703	NullFields []string `json:"-"`
11704}
11705
11706func (s *ReportReachCriteria) MarshalJSON() ([]byte, error) {
11707	type NoMethod ReportReachCriteria
11708	raw := NoMethod(*s)
11709	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11710}
11711
11712// ReportSchedule: The report's schedule. Can only be set if the
11713// report's 'dateRange' is a relative date range and the relative date
11714// range is not "TODAY".
11715type ReportSchedule struct {
11716	// Active: Whether the schedule is active or not. Must be set to either
11717	// true or false.
11718	Active bool `json:"active,omitempty"`
11719
11720	// Every: Defines every how many days, weeks or months the report should
11721	// be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
11722	// "MONTHLY".
11723	Every int64 `json:"every,omitempty"`
11724
11725	ExpirationDate string `json:"expirationDate,omitempty"`
11726
11727	// Repeats: The interval for which the report is repeated. Note: -
11728	// "DAILY" also requires field "every" to be set. - "WEEKLY" also
11729	// requires fields "every" and "repeatsOnWeekDays" to be set. -
11730	// "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
11731	// set.
11732	Repeats string `json:"repeats,omitempty"`
11733
11734	// RepeatsOnWeekDays: List of week days "WEEKLY" on which scheduled
11735	// reports should run.
11736	//
11737	// Possible values:
11738	//   "SUNDAY"
11739	//   "MONDAY"
11740	//   "TUESDAY"
11741	//   "WEDNESDAY"
11742	//   "THURSDAY"
11743	//   "FRIDAY"
11744	//   "SATURDAY"
11745	RepeatsOnWeekDays []string `json:"repeatsOnWeekDays,omitempty"`
11746
11747	// RunsOnDayOfMonth: Enum to define for "MONTHLY" scheduled reports
11748	// whether reports should be repeated on the same day of the month as
11749	// "startDate" or the same day of the week of the month. Example: If
11750	// 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH"
11751	// would run subsequent reports on the 2nd of every Month, and
11752	// "WEEK_OF_MONTH" would run subsequent reports on the first Monday of
11753	// the month.
11754	//
11755	// Possible values:
11756	//   "DAY_OF_MONTH"
11757	//   "WEEK_OF_MONTH"
11758	RunsOnDayOfMonth string `json:"runsOnDayOfMonth,omitempty"`
11759
11760	StartDate string `json:"startDate,omitempty"`
11761
11762	// ForceSendFields is a list of field names (e.g. "Active") to
11763	// unconditionally include in API requests. By default, fields with
11764	// empty values are omitted from API requests. However, any non-pointer,
11765	// non-interface field appearing in ForceSendFields will be sent to the
11766	// server regardless of whether the field is empty or not. This may be
11767	// used to include empty fields in Patch requests.
11768	ForceSendFields []string `json:"-"`
11769
11770	// NullFields is a list of field names (e.g. "Active") to include in API
11771	// requests with the JSON null value. By default, fields with empty
11772	// values are omitted from API requests. However, any field with an
11773	// empty value appearing in NullFields will be sent to the server as
11774	// null. It is an error if a field in this list has a non-empty value.
11775	// This may be used to include null fields in Patch requests.
11776	NullFields []string `json:"-"`
11777}
11778
11779func (s *ReportSchedule) MarshalJSON() ([]byte, error) {
11780	type NoMethod ReportSchedule
11781	raw := NoMethod(*s)
11782	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11783}
11784
11785// ReportCompatibleFields: Represents fields that are compatible to be
11786// selected for a report of type "STANDARD".
11787type ReportCompatibleFields struct {
11788	// DimensionFilters: Dimensions which are compatible to be selected in
11789	// the "dimensionFilters" section of the report.
11790	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
11791
11792	// Dimensions: Dimensions which are compatible to be selected in the
11793	// "dimensions" section of the report.
11794	Dimensions []*Dimension `json:"dimensions,omitempty"`
11795
11796	// Kind: The kind of resource this is, in this case
11797	// dfareporting#reportCompatibleFields.
11798	Kind string `json:"kind,omitempty"`
11799
11800	// Metrics: Metrics which are compatible to be selected in the
11801	// "metricNames" section of the report.
11802	Metrics []*Metric `json:"metrics,omitempty"`
11803
11804	// PivotedActivityMetrics: Metrics which are compatible to be selected
11805	// as activity metrics to pivot on in the "activities" section of the
11806	// report.
11807	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
11808
11809	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
11810	// unconditionally include in API requests. By default, fields with
11811	// empty values are omitted from API requests. However, any non-pointer,
11812	// non-interface field appearing in ForceSendFields will be sent to the
11813	// server regardless of whether the field is empty or not. This may be
11814	// used to include empty fields in Patch requests.
11815	ForceSendFields []string `json:"-"`
11816
11817	// NullFields is a list of field names (e.g. "DimensionFilters") to
11818	// include in API requests with the JSON null value. By default, fields
11819	// with empty values are omitted from API requests. However, any field
11820	// with an empty value appearing in NullFields will be sent to the
11821	// server as null. It is an error if a field in this list has a
11822	// non-empty value. This may be used to include null fields in Patch
11823	// requests.
11824	NullFields []string `json:"-"`
11825}
11826
11827func (s *ReportCompatibleFields) MarshalJSON() ([]byte, error) {
11828	type NoMethod ReportCompatibleFields
11829	raw := NoMethod(*s)
11830	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11831}
11832
11833// ReportList: Represents the list of reports.
11834type ReportList struct {
11835	// Etag: The eTag of this response for caching purposes.
11836	Etag string `json:"etag,omitempty"`
11837
11838	// Items: The reports returned in this response.
11839	Items []*Report `json:"items,omitempty"`
11840
11841	// Kind: The kind of list this is, in this case dfareporting#reportList.
11842	Kind string `json:"kind,omitempty"`
11843
11844	// NextPageToken: Continuation token used to page through reports. To
11845	// retrieve the next page of results, set the next request's "pageToken"
11846	// to the value of this field. The page token is only valid for a
11847	// limited amount of time and should not be persisted.
11848	NextPageToken string `json:"nextPageToken,omitempty"`
11849
11850	// ServerResponse contains the HTTP response code and headers from the
11851	// server.
11852	googleapi.ServerResponse `json:"-"`
11853
11854	// ForceSendFields is a list of field names (e.g. "Etag") to
11855	// unconditionally include in API requests. By default, fields with
11856	// empty values are omitted from API requests. However, any non-pointer,
11857	// non-interface field appearing in ForceSendFields will be sent to the
11858	// server regardless of whether the field is empty or not. This may be
11859	// used to include empty fields in Patch requests.
11860	ForceSendFields []string `json:"-"`
11861
11862	// NullFields is a list of field names (e.g. "Etag") to include in API
11863	// requests with the JSON null value. By default, fields with empty
11864	// values are omitted from API requests. However, any field with an
11865	// empty value appearing in NullFields will be sent to the server as
11866	// null. It is an error if a field in this list has a non-empty value.
11867	// This may be used to include null fields in Patch requests.
11868	NullFields []string `json:"-"`
11869}
11870
11871func (s *ReportList) MarshalJSON() ([]byte, error) {
11872	type NoMethod ReportList
11873	raw := NoMethod(*s)
11874	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11875}
11876
11877// ReportsConfiguration: Reporting Configuration
11878type ReportsConfiguration struct {
11879	// ExposureToConversionEnabled: Whether the exposure to conversion
11880	// report is enabled. This report shows detailed pathway information on
11881	// up to 10 of the most recent ad exposures seen by a user before
11882	// converting.
11883	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
11884
11885	// LookbackConfiguration: Default lookback windows for new advertisers
11886	// in this account.
11887	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
11888
11889	// ReportGenerationTimeZoneId: Report generation time zone ID of this
11890	// account. This is a required field that can only be changed by a
11891	// superuser. Acceptable values are: - "1" for "America/New_York" - "2"
11892	// for "Europe/London" - "3" for "Europe/Paris" - "4" for
11893	// "Africa/Johannesburg" - "5" for "Asia/Jerusalem" - "6" for
11894	// "Asia/Shanghai" - "7" for "Asia/Hong_Kong" - "8" for "Asia/Tokyo" -
11895	// "9" for "Australia/Sydney" - "10" for "Asia/Dubai" - "11" for
11896	// "America/Los_Angeles" - "12" for "Pacific/Auckland" - "13" for
11897	// "America/Sao_Paulo" - "16" for "America/Asuncion" - "17" for
11898	// "America/Chicago" - "18" for "America/Denver" - "19" for
11899	// "America/St_Johns" - "20" for "Asia/Dhaka" - "21" for "Asia/Jakarta"
11900	// - "22" for "Asia/Kabul" - "23" for "Asia/Karachi" - "24" for
11901	// "Asia/Calcutta" - "25" for "Asia/Pyongyang" - "26" for "Asia/Rangoon"
11902	// - "27" for "Atlantic/Cape_Verde" - "28" for "Atlantic/South_Georgia"
11903	// - "29" for "Australia/Adelaide" - "30" for "Australia/Lord_Howe" -
11904	// "31" for "Europe/Moscow" - "32" for "Pacific/Kiritimati" - "35" for
11905	// "Pacific/Norfolk" - "36" for "Pacific/Tongatapu"
11906	ReportGenerationTimeZoneId int64 `json:"reportGenerationTimeZoneId,omitempty,string"`
11907
11908	// ForceSendFields is a list of field names (e.g.
11909	// "ExposureToConversionEnabled") to unconditionally include in API
11910	// requests. By default, fields with empty values are omitted from API
11911	// requests. However, any non-pointer, non-interface field appearing in
11912	// ForceSendFields will be sent to the server regardless of whether the
11913	// field is empty or not. This may be used to include empty fields in
11914	// Patch requests.
11915	ForceSendFields []string `json:"-"`
11916
11917	// NullFields is a list of field names (e.g.
11918	// "ExposureToConversionEnabled") to include in API requests with the
11919	// JSON null value. By default, fields with empty values are omitted
11920	// from API requests. However, any field with an empty value appearing
11921	// in NullFields will be sent to the server as null. It is an error if a
11922	// field in this list has a non-empty value. This may be used to include
11923	// null fields in Patch requests.
11924	NullFields []string `json:"-"`
11925}
11926
11927func (s *ReportsConfiguration) MarshalJSON() ([]byte, error) {
11928	type NoMethod ReportsConfiguration
11929	raw := NoMethod(*s)
11930	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11931}
11932
11933// RichMediaExitOverride: Rich Media Exit Override.
11934type RichMediaExitOverride struct {
11935	// ClickThroughUrl: Click-through URL of this rich media exit override.
11936	// Applicable if the enabled field is set to true.
11937	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
11938
11939	// Enabled: Whether to use the clickThroughUrl. If false, the
11940	// creative-level exit will be used.
11941	Enabled bool `json:"enabled,omitempty"`
11942
11943	// ExitId: ID for the override to refer to a specific exit in the
11944	// creative.
11945	ExitId int64 `json:"exitId,omitempty,string"`
11946
11947	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
11948	// unconditionally include in API requests. By default, fields with
11949	// empty values are omitted from API requests. However, any non-pointer,
11950	// non-interface field appearing in ForceSendFields will be sent to the
11951	// server regardless of whether the field is empty or not. This may be
11952	// used to include empty fields in Patch requests.
11953	ForceSendFields []string `json:"-"`
11954
11955	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
11956	// include in API requests with the JSON null value. By default, fields
11957	// with empty values are omitted from API requests. However, any field
11958	// with an empty value appearing in NullFields will be sent to the
11959	// server as null. It is an error if a field in this list has a
11960	// non-empty value. This may be used to include null fields in Patch
11961	// requests.
11962	NullFields []string `json:"-"`
11963}
11964
11965func (s *RichMediaExitOverride) MarshalJSON() ([]byte, error) {
11966	type NoMethod RichMediaExitOverride
11967	raw := NoMethod(*s)
11968	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11969}
11970
11971// Rule: A rule associates an asset with a targeting template for
11972// asset-level targeting. Applicable to INSTREAM_VIDEO creatives.
11973type Rule struct {
11974	// AssetId: A creativeAssets[].id. This should refer to one of the
11975	// parent assets in this creative. This is a required field.
11976	AssetId int64 `json:"assetId,omitempty,string"`
11977
11978	// Name: A user-friendly name for this rule. This is a required field.
11979	Name string `json:"name,omitempty"`
11980
11981	// TargetingTemplateId: A targeting template ID. The targeting from the
11982	// targeting template will be used to determine whether this asset
11983	// should be served. This is a required field.
11984	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
11985
11986	// ForceSendFields is a list of field names (e.g. "AssetId") to
11987	// unconditionally include in API requests. By default, fields with
11988	// empty values are omitted from API requests. However, any non-pointer,
11989	// non-interface field appearing in ForceSendFields will be sent to the
11990	// server regardless of whether the field is empty or not. This may be
11991	// used to include empty fields in Patch requests.
11992	ForceSendFields []string `json:"-"`
11993
11994	// NullFields is a list of field names (e.g. "AssetId") to include in
11995	// API requests with the JSON null value. By default, fields with empty
11996	// values are omitted from API requests. However, any field with an
11997	// empty value appearing in NullFields will be sent to the server as
11998	// null. It is an error if a field in this list has a non-empty value.
11999	// This may be used to include null fields in Patch requests.
12000	NullFields []string `json:"-"`
12001}
12002
12003func (s *Rule) MarshalJSON() ([]byte, error) {
12004	type NoMethod Rule
12005	raw := NoMethod(*s)
12006	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12007}
12008
12009// Site: Contains properties of a site.
12010type Site struct {
12011	// AccountId: Account ID of this site. This is a read-only field that
12012	// can be left blank.
12013	AccountId int64 `json:"accountId,omitempty,string"`
12014
12015	// Approved: Whether this site is approved.
12016	Approved bool `json:"approved,omitempty"`
12017
12018	// DirectorySiteId: Directory site associated with this site. This is a
12019	// required field that is read-only after insertion.
12020	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
12021
12022	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
12023	// directory site. This is a read-only, auto-generated field.
12024	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
12025
12026	// Id: ID of this site. This is a read-only, auto-generated field.
12027	Id int64 `json:"id,omitempty,string"`
12028
12029	// IdDimensionValue: Dimension value for the ID of this site. This is a
12030	// read-only, auto-generated field.
12031	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
12032
12033	// KeyName: Key name of this site. This is a read-only, auto-generated
12034	// field.
12035	KeyName string `json:"keyName,omitempty"`
12036
12037	// Kind: Identifies what kind of resource this is. Value: the fixed
12038	// string "dfareporting#site".
12039	Kind string `json:"kind,omitempty"`
12040
12041	// Name: Name of this site.This is a required field. Must be less than
12042	// 128 characters long. If this site is under a subaccount, the name
12043	// must be unique among sites of the same subaccount. Otherwise, this
12044	// site is a top-level site, and the name must be unique among top-level
12045	// sites of the same account.
12046	Name string `json:"name,omitempty"`
12047
12048	// SiteContacts: Site contacts.
12049	SiteContacts []*SiteContact `json:"siteContacts,omitempty"`
12050
12051	// SiteSettings: Site-wide settings.
12052	SiteSettings *SiteSettings `json:"siteSettings,omitempty"`
12053
12054	// SubaccountId: Subaccount ID of this site. This is a read-only field
12055	// that can be left blank.
12056	SubaccountId int64 `json:"subaccountId,omitempty,string"`
12057
12058	// VideoSettings: Default video settings for new placements created
12059	// under this site. This value will be used to populate the
12060	// placements.videoSettings field, when no value is specified for the
12061	// new placement.
12062	VideoSettings *SiteVideoSettings `json:"videoSettings,omitempty"`
12063
12064	// ServerResponse contains the HTTP response code and headers from the
12065	// server.
12066	googleapi.ServerResponse `json:"-"`
12067
12068	// ForceSendFields is a list of field names (e.g. "AccountId") to
12069	// unconditionally include in API requests. By default, fields with
12070	// empty values are omitted from API requests. However, any non-pointer,
12071	// non-interface field appearing in ForceSendFields will be sent to the
12072	// server regardless of whether the field is empty or not. This may be
12073	// used to include empty fields in Patch requests.
12074	ForceSendFields []string `json:"-"`
12075
12076	// NullFields is a list of field names (e.g. "AccountId") to include in
12077	// API requests with the JSON null value. By default, fields with empty
12078	// values are omitted from API requests. However, any field with an
12079	// empty value appearing in NullFields will be sent to the server as
12080	// null. It is an error if a field in this list has a non-empty value.
12081	// This may be used to include null fields in Patch requests.
12082	NullFields []string `json:"-"`
12083}
12084
12085func (s *Site) MarshalJSON() ([]byte, error) {
12086	type NoMethod Site
12087	raw := NoMethod(*s)
12088	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12089}
12090
12091// SiteCompanionSetting: Companion Settings
12092type SiteCompanionSetting struct {
12093	// CompanionsDisabled: Whether companions are disabled for this site
12094	// template.
12095	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
12096
12097	// EnabledSizes: Allowlist of companion sizes to be served via this site
12098	// template. Set this list to null or empty to serve all companion
12099	// sizes.
12100	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
12101
12102	// ImageOnly: Whether to serve only static images as companions.
12103	ImageOnly bool `json:"imageOnly,omitempty"`
12104
12105	// Kind: Identifies what kind of resource this is. Value: the fixed
12106	// string "dfareporting#siteCompanionSetting".
12107	Kind string `json:"kind,omitempty"`
12108
12109	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
12110	// to unconditionally include in API requests. By default, fields with
12111	// empty values are omitted from API requests. However, any non-pointer,
12112	// non-interface field appearing in ForceSendFields will be sent to the
12113	// server regardless of whether the field is empty or not. This may be
12114	// used to include empty fields in Patch requests.
12115	ForceSendFields []string `json:"-"`
12116
12117	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
12118	// include in API requests with the JSON null value. By default, fields
12119	// with empty values are omitted from API requests. However, any field
12120	// with an empty value appearing in NullFields will be sent to the
12121	// server as null. It is an error if a field in this list has a
12122	// non-empty value. This may be used to include null fields in Patch
12123	// requests.
12124	NullFields []string `json:"-"`
12125}
12126
12127func (s *SiteCompanionSetting) MarshalJSON() ([]byte, error) {
12128	type NoMethod SiteCompanionSetting
12129	raw := NoMethod(*s)
12130	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12131}
12132
12133// SiteContact: Site Contact
12134type SiteContact struct {
12135	// Address: Address of this site contact.
12136	Address string `json:"address,omitempty"`
12137
12138	// ContactType: Site contact type.
12139	//
12140	// Possible values:
12141	//   "SALES_PERSON"
12142	//   "TRAFFICKER"
12143	ContactType string `json:"contactType,omitempty"`
12144
12145	// Email: Email address of this site contact. This is a required field.
12146	Email string `json:"email,omitempty"`
12147
12148	// FirstName: First name of this site contact.
12149	FirstName string `json:"firstName,omitempty"`
12150
12151	// Id: ID of this site contact. This is a read-only, auto-generated
12152	// field.
12153	Id int64 `json:"id,omitempty,string"`
12154
12155	// LastName: Last name of this site contact.
12156	LastName string `json:"lastName,omitempty"`
12157
12158	// Phone: Primary phone number of this site contact.
12159	Phone string `json:"phone,omitempty"`
12160
12161	// Title: Title or designation of this site contact.
12162	Title string `json:"title,omitempty"`
12163
12164	// ForceSendFields is a list of field names (e.g. "Address") to
12165	// unconditionally include in API requests. By default, fields with
12166	// empty values are omitted from API requests. However, any non-pointer,
12167	// non-interface field appearing in ForceSendFields will be sent to the
12168	// server regardless of whether the field is empty or not. This may be
12169	// used to include empty fields in Patch requests.
12170	ForceSendFields []string `json:"-"`
12171
12172	// NullFields is a list of field names (e.g. "Address") to include in
12173	// API requests with the JSON null value. By default, fields with empty
12174	// values are omitted from API requests. However, any field with an
12175	// empty value appearing in NullFields will be sent to the server as
12176	// null. It is an error if a field in this list has a non-empty value.
12177	// This may be used to include null fields in Patch requests.
12178	NullFields []string `json:"-"`
12179}
12180
12181func (s *SiteContact) MarshalJSON() ([]byte, error) {
12182	type NoMethod SiteContact
12183	raw := NoMethod(*s)
12184	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12185}
12186
12187// SiteSettings: Site Settings
12188type SiteSettings struct {
12189	// ActiveViewOptOut: Whether active view creatives are disabled for this
12190	// site.
12191	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
12192
12193	// AdBlockingOptOut: Whether this site opts out of ad blocking. When
12194	// true, ad blocking is disabled for all placements under the site,
12195	// regardless of the individual placement settings. When false, the
12196	// campaign and placement settings take effect.
12197	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
12198
12199	// DisableNewCookie: Whether new cookies are disabled for this site.
12200	DisableNewCookie bool `json:"disableNewCookie,omitempty"`
12201
12202	// TagSetting: Configuration settings for dynamic and image floodlight
12203	// tags.
12204	TagSetting *TagSetting `json:"tagSetting,omitempty"`
12205
12206	// VideoActiveViewOptOutTemplate: Whether Verification and ActiveView
12207	// for in-stream video creatives are disabled by default for new
12208	// placements created under this site. This value will be used to
12209	// populate the placement.videoActiveViewOptOut field, when no value is
12210	// specified for the new placement.
12211	VideoActiveViewOptOutTemplate bool `json:"videoActiveViewOptOutTemplate,omitempty"`
12212
12213	// VpaidAdapterChoiceTemplate: Default VPAID adapter setting for new
12214	// placements created under this site. This value will be used to
12215	// populate the placements.vpaidAdapterChoice field, when no value is
12216	// specified for the new placement. Controls which VPAID format the
12217	// measurement adapter will use for in-stream video creatives assigned
12218	// to the placement. The publisher's specifications will typically
12219	// determine this setting. For VPAID creatives, the adapter format will
12220	// match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter).
12221	// *Note:* Flash is no longer supported. This field now defaults to
12222	// HTML5 when the following values are provided: FLASH, BOTH.
12223	//
12224	// Possible values:
12225	//   "DEFAULT"
12226	//   "FLASH"
12227	//   "HTML5"
12228	//   "BOTH"
12229	VpaidAdapterChoiceTemplate string `json:"vpaidAdapterChoiceTemplate,omitempty"`
12230
12231	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
12232	// unconditionally include in API requests. By default, fields with
12233	// empty values are omitted from API requests. However, any non-pointer,
12234	// non-interface field appearing in ForceSendFields will be sent to the
12235	// server regardless of whether the field is empty or not. This may be
12236	// used to include empty fields in Patch requests.
12237	ForceSendFields []string `json:"-"`
12238
12239	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
12240	// include in API requests with the JSON null value. By default, fields
12241	// with empty values are omitted from API requests. However, any field
12242	// with an empty value appearing in NullFields will be sent to the
12243	// server as null. It is an error if a field in this list has a
12244	// non-empty value. This may be used to include null fields in Patch
12245	// requests.
12246	NullFields []string `json:"-"`
12247}
12248
12249func (s *SiteSettings) MarshalJSON() ([]byte, error) {
12250	type NoMethod SiteSettings
12251	raw := NoMethod(*s)
12252	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12253}
12254
12255// SiteSkippableSetting: Skippable Settings
12256type SiteSkippableSetting struct {
12257	// Kind: Identifies what kind of resource this is. Value: the fixed
12258	// string "dfareporting#siteSkippableSetting".
12259	Kind string `json:"kind,omitempty"`
12260
12261	// ProgressOffset: Amount of time to play videos served to this site
12262	// template before counting a view. Applicable when skippable is true.
12263	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
12264
12265	// SkipOffset: Amount of time to play videos served to this site before
12266	// the skip button should appear. Applicable when skippable is true.
12267	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
12268
12269	// Skippable: Whether the user can skip creatives served to this site.
12270	// This will act as default for new placements created under this site.
12271	Skippable bool `json:"skippable,omitempty"`
12272
12273	// ForceSendFields is a list of field names (e.g. "Kind") to
12274	// unconditionally include in API requests. By default, fields with
12275	// empty values are omitted from API requests. However, any non-pointer,
12276	// non-interface field appearing in ForceSendFields will be sent to the
12277	// server regardless of whether the field is empty or not. This may be
12278	// used to include empty fields in Patch requests.
12279	ForceSendFields []string `json:"-"`
12280
12281	// NullFields is a list of field names (e.g. "Kind") to include in API
12282	// requests with the JSON null value. By default, fields with empty
12283	// values are omitted from API requests. However, any field with an
12284	// empty value appearing in NullFields will be sent to the server as
12285	// null. It is an error if a field in this list has a non-empty value.
12286	// This may be used to include null fields in Patch requests.
12287	NullFields []string `json:"-"`
12288}
12289
12290func (s *SiteSkippableSetting) MarshalJSON() ([]byte, error) {
12291	type NoMethod SiteSkippableSetting
12292	raw := NoMethod(*s)
12293	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12294}
12295
12296// SiteTranscodeSetting: Transcode Settings
12297type SiteTranscodeSetting struct {
12298	// EnabledVideoFormats: Allowlist of video formats to be served to this
12299	// site template. Set this list to null or empty to serve all video
12300	// formats.
12301	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
12302
12303	// Kind: Identifies what kind of resource this is. Value: the fixed
12304	// string "dfareporting#siteTranscodeSetting".
12305	Kind string `json:"kind,omitempty"`
12306
12307	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
12308	// to unconditionally include in API requests. By default, fields with
12309	// empty values are omitted from API requests. However, any non-pointer,
12310	// non-interface field appearing in ForceSendFields will be sent to the
12311	// server regardless of whether the field is empty or not. This may be
12312	// used to include empty fields in Patch requests.
12313	ForceSendFields []string `json:"-"`
12314
12315	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
12316	// include in API requests with the JSON null value. By default, fields
12317	// with empty values are omitted from API requests. However, any field
12318	// with an empty value appearing in NullFields will be sent to the
12319	// server as null. It is an error if a field in this list has a
12320	// non-empty value. This may be used to include null fields in Patch
12321	// requests.
12322	NullFields []string `json:"-"`
12323}
12324
12325func (s *SiteTranscodeSetting) MarshalJSON() ([]byte, error) {
12326	type NoMethod SiteTranscodeSetting
12327	raw := NoMethod(*s)
12328	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12329}
12330
12331// SiteVideoSettings: Video Settings
12332type SiteVideoSettings struct {
12333	// CompanionSettings: Settings for the companion creatives of video
12334	// creatives served to this site.
12335	CompanionSettings *SiteCompanionSetting `json:"companionSettings,omitempty"`
12336
12337	// Kind: Identifies what kind of resource this is. Value: the fixed
12338	// string "dfareporting#siteVideoSettings".
12339	Kind string `json:"kind,omitempty"`
12340
12341	// Orientation: Orientation of a site template used for video. This will
12342	// act as default for new placements created under this site.
12343	//
12344	// Possible values:
12345	//   "ANY"
12346	//   "LANDSCAPE"
12347	//   "PORTRAIT"
12348	Orientation string `json:"orientation,omitempty"`
12349
12350	// SkippableSettings: Settings for the skippability of video creatives
12351	// served to this site. This will act as default for new placements
12352	// created under this site.
12353	SkippableSettings *SiteSkippableSetting `json:"skippableSettings,omitempty"`
12354
12355	// TranscodeSettings: Settings for the transcodes of video creatives
12356	// served to this site. This will act as default for new placements
12357	// created under this site.
12358	TranscodeSettings *SiteTranscodeSetting `json:"transcodeSettings,omitempty"`
12359
12360	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
12361	// to unconditionally include in API requests. By default, fields with
12362	// empty values are omitted from API requests. However, any non-pointer,
12363	// non-interface field appearing in ForceSendFields will be sent to the
12364	// server regardless of whether the field is empty or not. This may be
12365	// used to include empty fields in Patch requests.
12366	ForceSendFields []string `json:"-"`
12367
12368	// NullFields is a list of field names (e.g. "CompanionSettings") to
12369	// include in API requests with the JSON null value. By default, fields
12370	// with empty values are omitted from API requests. However, any field
12371	// with an empty value appearing in NullFields will be sent to the
12372	// server as null. It is an error if a field in this list has a
12373	// non-empty value. This may be used to include null fields in Patch
12374	// requests.
12375	NullFields []string `json:"-"`
12376}
12377
12378func (s *SiteVideoSettings) MarshalJSON() ([]byte, error) {
12379	type NoMethod SiteVideoSettings
12380	raw := NoMethod(*s)
12381	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12382}
12383
12384// SitesListResponse: Site List Response
12385type SitesListResponse struct {
12386	// Kind: Identifies what kind of resource this is. Value: the fixed
12387	// string "dfareporting#sitesListResponse".
12388	Kind string `json:"kind,omitempty"`
12389
12390	// NextPageToken: Pagination token to be used for the next list
12391	// operation.
12392	NextPageToken string `json:"nextPageToken,omitempty"`
12393
12394	// Sites: Site collection.
12395	Sites []*Site `json:"sites,omitempty"`
12396
12397	// ServerResponse contains the HTTP response code and headers from the
12398	// server.
12399	googleapi.ServerResponse `json:"-"`
12400
12401	// ForceSendFields is a list of field names (e.g. "Kind") to
12402	// unconditionally include in API requests. By default, fields with
12403	// empty values are omitted from API requests. However, any non-pointer,
12404	// non-interface field appearing in ForceSendFields will be sent to the
12405	// server regardless of whether the field is empty or not. This may be
12406	// used to include empty fields in Patch requests.
12407	ForceSendFields []string `json:"-"`
12408
12409	// NullFields is a list of field names (e.g. "Kind") to include in API
12410	// requests with the JSON null value. By default, fields with empty
12411	// values are omitted from API requests. However, any field with an
12412	// empty value appearing in NullFields will be sent to the server as
12413	// null. It is an error if a field in this list has a non-empty value.
12414	// This may be used to include null fields in Patch requests.
12415	NullFields []string `json:"-"`
12416}
12417
12418func (s *SitesListResponse) MarshalJSON() ([]byte, error) {
12419	type NoMethod SitesListResponse
12420	raw := NoMethod(*s)
12421	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12422}
12423
12424// Size: Represents the dimensions of ads, placements, creatives, or
12425// creative assets.
12426type Size struct {
12427	// Height: Height of this size. Acceptable values are 0 to 32767,
12428	// inclusive.
12429	Height int64 `json:"height,omitempty"`
12430
12431	// Iab: IAB standard size. This is a read-only, auto-generated field.
12432	Iab bool `json:"iab,omitempty"`
12433
12434	// Id: ID of this size. This is a read-only, auto-generated field.
12435	Id int64 `json:"id,omitempty,string"`
12436
12437	// Kind: Identifies what kind of resource this is. Value: the fixed
12438	// string "dfareporting#size".
12439	Kind string `json:"kind,omitempty"`
12440
12441	// Width: Width of this size. Acceptable values are 0 to 32767,
12442	// inclusive.
12443	Width int64 `json:"width,omitempty"`
12444
12445	// ServerResponse contains the HTTP response code and headers from the
12446	// server.
12447	googleapi.ServerResponse `json:"-"`
12448
12449	// ForceSendFields is a list of field names (e.g. "Height") to
12450	// unconditionally include in API requests. By default, fields with
12451	// empty values are omitted from API requests. However, any non-pointer,
12452	// non-interface field appearing in ForceSendFields will be sent to the
12453	// server regardless of whether the field is empty or not. This may be
12454	// used to include empty fields in Patch requests.
12455	ForceSendFields []string `json:"-"`
12456
12457	// NullFields is a list of field names (e.g. "Height") to include in API
12458	// requests with the JSON null value. By default, fields with empty
12459	// values are omitted from API requests. However, any field with an
12460	// empty value appearing in NullFields will be sent to the server as
12461	// null. It is an error if a field in this list has a non-empty value.
12462	// This may be used to include null fields in Patch requests.
12463	NullFields []string `json:"-"`
12464}
12465
12466func (s *Size) MarshalJSON() ([]byte, error) {
12467	type NoMethod Size
12468	raw := NoMethod(*s)
12469	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12470}
12471
12472// SizesListResponse: Size List Response
12473type SizesListResponse struct {
12474	// Kind: Identifies what kind of resource this is. Value: the fixed
12475	// string "dfareporting#sizesListResponse".
12476	Kind string `json:"kind,omitempty"`
12477
12478	// Sizes: Size collection.
12479	Sizes []*Size `json:"sizes,omitempty"`
12480
12481	// ServerResponse contains the HTTP response code and headers from the
12482	// server.
12483	googleapi.ServerResponse `json:"-"`
12484
12485	// ForceSendFields is a list of field names (e.g. "Kind") to
12486	// unconditionally include in API requests. By default, fields with
12487	// empty values are omitted from API requests. However, any non-pointer,
12488	// non-interface field appearing in ForceSendFields will be sent to the
12489	// server regardless of whether the field is empty or not. This may be
12490	// used to include empty fields in Patch requests.
12491	ForceSendFields []string `json:"-"`
12492
12493	// NullFields is a list of field names (e.g. "Kind") to include in API
12494	// requests with the JSON null value. By default, fields with empty
12495	// values are omitted from API requests. However, any field with an
12496	// empty value appearing in NullFields will be sent to the server as
12497	// null. It is an error if a field in this list has a non-empty value.
12498	// This may be used to include null fields in Patch requests.
12499	NullFields []string `json:"-"`
12500}
12501
12502func (s *SizesListResponse) MarshalJSON() ([]byte, error) {
12503	type NoMethod SizesListResponse
12504	raw := NoMethod(*s)
12505	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12506}
12507
12508// SkippableSetting: Skippable Settings
12509type SkippableSetting struct {
12510	// Kind: Identifies what kind of resource this is. Value: the fixed
12511	// string "dfareporting#skippableSetting".
12512	Kind string `json:"kind,omitempty"`
12513
12514	// ProgressOffset: Amount of time to play videos served to this
12515	// placement before counting a view. Applicable when skippable is true.
12516	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
12517
12518	// SkipOffset: Amount of time to play videos served to this placement
12519	// before the skip button should appear. Applicable when skippable is
12520	// true.
12521	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
12522
12523	// Skippable: Whether the user can skip creatives served to this
12524	// placement.
12525	Skippable bool `json:"skippable,omitempty"`
12526
12527	// ForceSendFields is a list of field names (e.g. "Kind") to
12528	// unconditionally include in API requests. By default, fields with
12529	// empty values are omitted from API requests. However, any non-pointer,
12530	// non-interface field appearing in ForceSendFields will be sent to the
12531	// server regardless of whether the field is empty or not. This may be
12532	// used to include empty fields in Patch requests.
12533	ForceSendFields []string `json:"-"`
12534
12535	// NullFields is a list of field names (e.g. "Kind") to include in API
12536	// requests with the JSON null value. By default, fields with empty
12537	// values are omitted from API requests. However, any field with an
12538	// empty value appearing in NullFields will be sent to the server as
12539	// null. It is an error if a field in this list has a non-empty value.
12540	// This may be used to include null fields in Patch requests.
12541	NullFields []string `json:"-"`
12542}
12543
12544func (s *SkippableSetting) MarshalJSON() ([]byte, error) {
12545	type NoMethod SkippableSetting
12546	raw := NoMethod(*s)
12547	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12548}
12549
12550// SortedDimension: Represents a sorted dimension.
12551type SortedDimension struct {
12552	// Kind: The kind of resource this is, in this case
12553	// dfareporting#sortedDimension.
12554	Kind string `json:"kind,omitempty"`
12555
12556	// Name: The name of the dimension.
12557	Name string `json:"name,omitempty"`
12558
12559	// SortOrder: An optional sort order for the dimension column.
12560	//
12561	// Possible values:
12562	//   "ASCENDING"
12563	//   "DESCENDING"
12564	SortOrder string `json:"sortOrder,omitempty"`
12565
12566	// ForceSendFields is a list of field names (e.g. "Kind") to
12567	// unconditionally include in API requests. By default, fields with
12568	// empty values are omitted from API requests. However, any non-pointer,
12569	// non-interface field appearing in ForceSendFields will be sent to the
12570	// server regardless of whether the field is empty or not. This may be
12571	// used to include empty fields in Patch requests.
12572	ForceSendFields []string `json:"-"`
12573
12574	// NullFields is a list of field names (e.g. "Kind") to include in API
12575	// requests with the JSON null value. By default, fields with empty
12576	// values are omitted from API requests. However, any field with an
12577	// empty value appearing in NullFields will be sent to the server as
12578	// null. It is an error if a field in this list has a non-empty value.
12579	// This may be used to include null fields in Patch requests.
12580	NullFields []string `json:"-"`
12581}
12582
12583func (s *SortedDimension) MarshalJSON() ([]byte, error) {
12584	type NoMethod SortedDimension
12585	raw := NoMethod(*s)
12586	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12587}
12588
12589// Subaccount: Contains properties of a Campaign Manager subaccount.
12590type Subaccount struct {
12591	// AccountId: ID of the account that contains this subaccount. This is a
12592	// read-only field that can be left blank.
12593	AccountId int64 `json:"accountId,omitempty,string"`
12594
12595	// AvailablePermissionIds: IDs of the available user role permissions
12596	// for this subaccount.
12597	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
12598
12599	// Id: ID of this subaccount. This is a read-only, auto-generated field.
12600	Id int64 `json:"id,omitempty,string"`
12601
12602	// Kind: Identifies what kind of resource this is. Value: the fixed
12603	// string "dfareporting#subaccount".
12604	Kind string `json:"kind,omitempty"`
12605
12606	// Name: Name of this subaccount. This is a required field. Must be less
12607	// than 128 characters long and be unique among subaccounts of the same
12608	// account.
12609	Name string `json:"name,omitempty"`
12610
12611	// ServerResponse contains the HTTP response code and headers from the
12612	// server.
12613	googleapi.ServerResponse `json:"-"`
12614
12615	// ForceSendFields is a list of field names (e.g. "AccountId") to
12616	// unconditionally include in API requests. By default, fields with
12617	// empty values are omitted from API requests. However, any non-pointer,
12618	// non-interface field appearing in ForceSendFields will be sent to the
12619	// server regardless of whether the field is empty or not. This may be
12620	// used to include empty fields in Patch requests.
12621	ForceSendFields []string `json:"-"`
12622
12623	// NullFields is a list of field names (e.g. "AccountId") to include in
12624	// API requests with the JSON null value. By default, fields with empty
12625	// values are omitted from API requests. However, any field with an
12626	// empty value appearing in NullFields will be sent to the server as
12627	// null. It is an error if a field in this list has a non-empty value.
12628	// This may be used to include null fields in Patch requests.
12629	NullFields []string `json:"-"`
12630}
12631
12632func (s *Subaccount) MarshalJSON() ([]byte, error) {
12633	type NoMethod Subaccount
12634	raw := NoMethod(*s)
12635	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12636}
12637
12638// SubaccountsListResponse: Subaccount List Response
12639type SubaccountsListResponse struct {
12640	// Kind: Identifies what kind of resource this is. Value: the fixed
12641	// string "dfareporting#subaccountsListResponse".
12642	Kind string `json:"kind,omitempty"`
12643
12644	// NextPageToken: Pagination token to be used for the next list
12645	// operation.
12646	NextPageToken string `json:"nextPageToken,omitempty"`
12647
12648	// Subaccounts: Subaccount collection.
12649	Subaccounts []*Subaccount `json:"subaccounts,omitempty"`
12650
12651	// ServerResponse contains the HTTP response code and headers from the
12652	// server.
12653	googleapi.ServerResponse `json:"-"`
12654
12655	// ForceSendFields is a list of field names (e.g. "Kind") to
12656	// unconditionally include in API requests. By default, fields with
12657	// empty values are omitted from API requests. However, any non-pointer,
12658	// non-interface field appearing in ForceSendFields will be sent to the
12659	// server regardless of whether the field is empty or not. This may be
12660	// used to include empty fields in Patch requests.
12661	ForceSendFields []string `json:"-"`
12662
12663	// NullFields is a list of field names (e.g. "Kind") to include in API
12664	// requests with the JSON null value. By default, fields with empty
12665	// values are omitted from API requests. However, any field with an
12666	// empty value appearing in NullFields will be sent to the server as
12667	// null. It is an error if a field in this list has a non-empty value.
12668	// This may be used to include null fields in Patch requests.
12669	NullFields []string `json:"-"`
12670}
12671
12672func (s *SubaccountsListResponse) MarshalJSON() ([]byte, error) {
12673	type NoMethod SubaccountsListResponse
12674	raw := NoMethod(*s)
12675	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12676}
12677
12678// TagData: Placement Tag Data
12679type TagData struct {
12680	// AdId: Ad associated with this placement tag. Applicable only when
12681	// format is PLACEMENT_TAG_TRACKING.
12682	AdId int64 `json:"adId,omitempty,string"`
12683
12684	// ClickTag: Tag string to record a click.
12685	ClickTag string `json:"clickTag,omitempty"`
12686
12687	// CreativeId: Creative associated with this placement tag. Applicable
12688	// only when format is PLACEMENT_TAG_TRACKING.
12689	CreativeId int64 `json:"creativeId,omitempty,string"`
12690
12691	// Format: TagData tag format of this tag.
12692	//
12693	// Possible values:
12694	//   "PLACEMENT_TAG_STANDARD"
12695	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
12696	//   "PLACEMENT_TAG_IFRAME_ILAYER"
12697	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
12698	//   "PLACEMENT_TAG_JAVASCRIPT"
12699	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
12700	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
12701	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
12702	//   "PLACEMENT_TAG_CLICK_COMMANDS"
12703	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
12704	//   "PLACEMENT_TAG_TRACKING"
12705	//   "PLACEMENT_TAG_TRACKING_IFRAME"
12706	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
12707	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
12708	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
12709	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
12710	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
12711	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
12712	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
12713	Format string `json:"format,omitempty"`
12714
12715	// ImpressionTag: Tag string for serving an ad.
12716	ImpressionTag string `json:"impressionTag,omitempty"`
12717
12718	// ForceSendFields is a list of field names (e.g. "AdId") to
12719	// unconditionally include in API requests. By default, fields with
12720	// empty values are omitted from API requests. However, any non-pointer,
12721	// non-interface field appearing in ForceSendFields will be sent to the
12722	// server regardless of whether the field is empty or not. This may be
12723	// used to include empty fields in Patch requests.
12724	ForceSendFields []string `json:"-"`
12725
12726	// NullFields is a list of field names (e.g. "AdId") to include in API
12727	// requests with the JSON null value. By default, fields with empty
12728	// values are omitted from API requests. However, any field with an
12729	// empty value appearing in NullFields will be sent to the server as
12730	// null. It is an error if a field in this list has a non-empty value.
12731	// This may be used to include null fields in Patch requests.
12732	NullFields []string `json:"-"`
12733}
12734
12735func (s *TagData) MarshalJSON() ([]byte, error) {
12736	type NoMethod TagData
12737	raw := NoMethod(*s)
12738	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12739}
12740
12741// TagSetting: Tag Settings
12742type TagSetting struct {
12743	// AdditionalKeyValues: Additional key-values to be included in tags.
12744	// Each key-value pair must be of the form key=value, and pairs must be
12745	// separated by a semicolon (;). Keys and values must not contain
12746	// commas. For example, id=2;color=red is a valid value for this field.
12747	AdditionalKeyValues string `json:"additionalKeyValues,omitempty"`
12748
12749	// IncludeClickThroughUrls: Whether static landing page URLs should be
12750	// included in the tags. This setting applies only to placements.
12751	IncludeClickThroughUrls bool `json:"includeClickThroughUrls,omitempty"`
12752
12753	// IncludeClickTracking: Whether click-tracking string should be
12754	// included in the tags.
12755	IncludeClickTracking bool `json:"includeClickTracking,omitempty"`
12756
12757	// KeywordOption: Option specifying how keywords are embedded in ad
12758	// tags. This setting can be used to specify whether keyword
12759	// placeholders are inserted in placement tags for this site. Publishers
12760	// can then add keywords to those placeholders.
12761	//
12762	// Possible values:
12763	//   "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
12764	//   "IGNORE"
12765	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
12766	KeywordOption string `json:"keywordOption,omitempty"`
12767
12768	// ForceSendFields is a list of field names (e.g. "AdditionalKeyValues")
12769	// to unconditionally include in API requests. By default, fields with
12770	// empty values are omitted from API requests. However, any non-pointer,
12771	// non-interface field appearing in ForceSendFields will be sent to the
12772	// server regardless of whether the field is empty or not. This may be
12773	// used to include empty fields in Patch requests.
12774	ForceSendFields []string `json:"-"`
12775
12776	// NullFields is a list of field names (e.g. "AdditionalKeyValues") to
12777	// include in API requests with the JSON null value. By default, fields
12778	// with empty values are omitted from API requests. However, any field
12779	// with an empty value appearing in NullFields will be sent to the
12780	// server as null. It is an error if a field in this list has a
12781	// non-empty value. This may be used to include null fields in Patch
12782	// requests.
12783	NullFields []string `json:"-"`
12784}
12785
12786func (s *TagSetting) MarshalJSON() ([]byte, error) {
12787	type NoMethod TagSetting
12788	raw := NoMethod(*s)
12789	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12790}
12791
12792// TagSettings: Dynamic and Image Tag Settings.
12793type TagSettings struct {
12794	// DynamicTagEnabled: Whether dynamic floodlight tags are enabled.
12795	DynamicTagEnabled bool `json:"dynamicTagEnabled,omitempty"`
12796
12797	// ImageTagEnabled: Whether image tags are enabled.
12798	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
12799
12800	// ForceSendFields is a list of field names (e.g. "DynamicTagEnabled")
12801	// to unconditionally include in API requests. By default, fields with
12802	// empty values are omitted from API requests. However, any non-pointer,
12803	// non-interface field appearing in ForceSendFields will be sent to the
12804	// server regardless of whether the field is empty or not. This may be
12805	// used to include empty fields in Patch requests.
12806	ForceSendFields []string `json:"-"`
12807
12808	// NullFields is a list of field names (e.g. "DynamicTagEnabled") to
12809	// include in API requests with the JSON null value. By default, fields
12810	// with empty values are omitted from API requests. However, any field
12811	// with an empty value appearing in NullFields will be sent to the
12812	// server as null. It is an error if a field in this list has a
12813	// non-empty value. This may be used to include null fields in Patch
12814	// requests.
12815	NullFields []string `json:"-"`
12816}
12817
12818func (s *TagSettings) MarshalJSON() ([]byte, error) {
12819	type NoMethod TagSettings
12820	raw := NoMethod(*s)
12821	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12822}
12823
12824// TargetWindow: Target Window.
12825type TargetWindow struct {
12826	// CustomHtml: User-entered value.
12827	CustomHtml string `json:"customHtml,omitempty"`
12828
12829	// TargetWindowOption: Type of browser window for which the backup image
12830	// of the flash creative can be displayed.
12831	//
12832	// Possible values:
12833	//   "NEW_WINDOW"
12834	//   "CURRENT_WINDOW"
12835	//   "CUSTOM"
12836	TargetWindowOption string `json:"targetWindowOption,omitempty"`
12837
12838	// ForceSendFields is a list of field names (e.g. "CustomHtml") to
12839	// unconditionally include in API requests. By default, fields with
12840	// empty values are omitted from API requests. However, any non-pointer,
12841	// non-interface field appearing in ForceSendFields will be sent to the
12842	// server regardless of whether the field is empty or not. This may be
12843	// used to include empty fields in Patch requests.
12844	ForceSendFields []string `json:"-"`
12845
12846	// NullFields is a list of field names (e.g. "CustomHtml") to include in
12847	// API requests with the JSON null value. By default, fields with empty
12848	// values are omitted from API requests. However, any field with an
12849	// empty value appearing in NullFields will be sent to the server as
12850	// null. It is an error if a field in this list has a non-empty value.
12851	// This may be used to include null fields in Patch requests.
12852	NullFields []string `json:"-"`
12853}
12854
12855func (s *TargetWindow) MarshalJSON() ([]byte, error) {
12856	type NoMethod TargetWindow
12857	raw := NoMethod(*s)
12858	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12859}
12860
12861// TargetableRemarketingList: Contains properties of a targetable
12862// remarketing list. Remarketing enables you to create lists of users
12863// who have performed specific actions on a site, then target ads to
12864// members of those lists. This resource is a read-only view of a
12865// remarketing list to be used to faciliate targeting ads to specific
12866// lists. Remarketing lists that are owned by your advertisers and those
12867// that are shared to your advertisers or account are accessible via
12868// this resource. To manage remarketing lists that are owned by your
12869// advertisers, use the RemarketingLists resource.
12870type TargetableRemarketingList struct {
12871	// AccountId: Account ID of this remarketing list. This is a read-only,
12872	// auto-generated field that is only returned in GET requests.
12873	AccountId int64 `json:"accountId,omitempty,string"`
12874
12875	// Active: Whether this targetable remarketing list is active.
12876	Active bool `json:"active,omitempty"`
12877
12878	// AdvertiserId: Dimension value for the advertiser ID that owns this
12879	// targetable remarketing list.
12880	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
12881
12882	// AdvertiserIdDimensionValue: Dimension value for the ID of the
12883	// advertiser.
12884	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
12885
12886	// Description: Targetable remarketing list description.
12887	Description string `json:"description,omitempty"`
12888
12889	// Id: Targetable remarketing list ID.
12890	Id int64 `json:"id,omitempty,string"`
12891
12892	// Kind: Identifies what kind of resource this is. Value: the fixed
12893	// string "dfareporting#targetableRemarketingList".
12894	Kind string `json:"kind,omitempty"`
12895
12896	// LifeSpan: Number of days that a user should remain in the targetable
12897	// remarketing list without an impression.
12898	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
12899
12900	// ListSize: Number of users currently in the list. This is a read-only
12901	// field.
12902	ListSize int64 `json:"listSize,omitempty,string"`
12903
12904	// ListSource: Product from which this targetable remarketing list was
12905	// originated.
12906	//
12907	// Possible values:
12908	//   "REMARKETING_LIST_SOURCE_OTHER"
12909	//   "REMARKETING_LIST_SOURCE_ADX"
12910	//   "REMARKETING_LIST_SOURCE_DFP"
12911	//   "REMARKETING_LIST_SOURCE_XFP"
12912	//   "REMARKETING_LIST_SOURCE_DFA"
12913	//   "REMARKETING_LIST_SOURCE_GA"
12914	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
12915	//   "REMARKETING_LIST_SOURCE_DBM"
12916	//   "REMARKETING_LIST_SOURCE_GPLUS"
12917	//   "REMARKETING_LIST_SOURCE_DMP"
12918	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
12919	ListSource string `json:"listSource,omitempty"`
12920
12921	// Name: Name of the targetable remarketing list. Is no greater than 128
12922	// characters long.
12923	Name string `json:"name,omitempty"`
12924
12925	// SubaccountId: Subaccount ID of this remarketing list. This is a
12926	// read-only, auto-generated field that is only returned in GET
12927	// requests.
12928	SubaccountId int64 `json:"subaccountId,omitempty,string"`
12929
12930	// ServerResponse contains the HTTP response code and headers from the
12931	// server.
12932	googleapi.ServerResponse `json:"-"`
12933
12934	// ForceSendFields is a list of field names (e.g. "AccountId") to
12935	// unconditionally include in API requests. By default, fields with
12936	// empty values are omitted from API requests. However, any non-pointer,
12937	// non-interface field appearing in ForceSendFields will be sent to the
12938	// server regardless of whether the field is empty or not. This may be
12939	// used to include empty fields in Patch requests.
12940	ForceSendFields []string `json:"-"`
12941
12942	// NullFields is a list of field names (e.g. "AccountId") to include in
12943	// API requests with the JSON null value. By default, fields with empty
12944	// values are omitted from API requests. However, any field with an
12945	// empty value appearing in NullFields will be sent to the server as
12946	// null. It is an error if a field in this list has a non-empty value.
12947	// This may be used to include null fields in Patch requests.
12948	NullFields []string `json:"-"`
12949}
12950
12951func (s *TargetableRemarketingList) MarshalJSON() ([]byte, error) {
12952	type NoMethod TargetableRemarketingList
12953	raw := NoMethod(*s)
12954	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12955}
12956
12957// TargetableRemarketingListsListResponse: Targetable remarketing list
12958// response
12959type TargetableRemarketingListsListResponse struct {
12960	// Kind: Identifies what kind of resource this is. Value: the fixed
12961	// string "dfareporting#targetableRemarketingListsListResponse".
12962	Kind string `json:"kind,omitempty"`
12963
12964	// NextPageToken: Pagination token to be used for the next list
12965	// operation.
12966	NextPageToken string `json:"nextPageToken,omitempty"`
12967
12968	// TargetableRemarketingLists: Targetable remarketing list collection.
12969	TargetableRemarketingLists []*TargetableRemarketingList `json:"targetableRemarketingLists,omitempty"`
12970
12971	// ServerResponse contains the HTTP response code and headers from the
12972	// server.
12973	googleapi.ServerResponse `json:"-"`
12974
12975	// ForceSendFields is a list of field names (e.g. "Kind") to
12976	// unconditionally include in API requests. By default, fields with
12977	// empty values are omitted from API requests. However, any non-pointer,
12978	// non-interface field appearing in ForceSendFields will be sent to the
12979	// server regardless of whether the field is empty or not. This may be
12980	// used to include empty fields in Patch requests.
12981	ForceSendFields []string `json:"-"`
12982
12983	// NullFields is a list of field names (e.g. "Kind") to include in API
12984	// requests with the JSON null value. By default, fields with empty
12985	// values are omitted from API requests. However, any field with an
12986	// empty value appearing in NullFields will be sent to the server as
12987	// null. It is an error if a field in this list has a non-empty value.
12988	// This may be used to include null fields in Patch requests.
12989	NullFields []string `json:"-"`
12990}
12991
12992func (s *TargetableRemarketingListsListResponse) MarshalJSON() ([]byte, error) {
12993	type NoMethod TargetableRemarketingListsListResponse
12994	raw := NoMethod(*s)
12995	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12996}
12997
12998// TargetingTemplate: Contains properties of a targeting template. A
12999// targeting template encapsulates targeting information which can be
13000// reused across multiple ads.
13001type TargetingTemplate struct {
13002	// AccountId: Account ID of this targeting template. This field, if left
13003	// unset, will be auto-generated on insert and is read-only after
13004	// insert.
13005	AccountId int64 `json:"accountId,omitempty,string"`
13006
13007	// AdvertiserId: Advertiser ID of this targeting template. This is a
13008	// required field on insert and is read-only after insert.
13009	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
13010
13011	// AdvertiserIdDimensionValue: Dimension value for the ID of the
13012	// advertiser. This is a read-only, auto-generated field.
13013	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
13014
13015	// DayPartTargeting: Time and day targeting criteria.
13016	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
13017
13018	// GeoTargeting: Geographical targeting criteria.
13019	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
13020
13021	// Id: ID of this targeting template. This is a read-only,
13022	// auto-generated field.
13023	Id int64 `json:"id,omitempty,string"`
13024
13025	// KeyValueTargetingExpression: Key-value targeting criteria.
13026	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
13027
13028	// Kind: Identifies what kind of resource this is. Value: the fixed
13029	// string "dfareporting#targetingTemplate".
13030	Kind string `json:"kind,omitempty"`
13031
13032	// LanguageTargeting: Language targeting criteria.
13033	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
13034
13035	// ListTargetingExpression: Remarketing list targeting criteria.
13036	ListTargetingExpression *ListTargetingExpression `json:"listTargetingExpression,omitempty"`
13037
13038	// Name: Name of this targeting template. This field is required. It
13039	// must be less than 256 characters long and unique within an
13040	// advertiser.
13041	Name string `json:"name,omitempty"`
13042
13043	// SubaccountId: Subaccount ID of this targeting template. This field,
13044	// if left unset, will be auto-generated on insert and is read-only
13045	// after insert.
13046	SubaccountId int64 `json:"subaccountId,omitempty,string"`
13047
13048	// TechnologyTargeting: Technology platform targeting criteria.
13049	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
13050
13051	// ServerResponse contains the HTTP response code and headers from the
13052	// server.
13053	googleapi.ServerResponse `json:"-"`
13054
13055	// ForceSendFields is a list of field names (e.g. "AccountId") to
13056	// unconditionally include in API requests. By default, fields with
13057	// empty values are omitted from API requests. However, any non-pointer,
13058	// non-interface field appearing in ForceSendFields will be sent to the
13059	// server regardless of whether the field is empty or not. This may be
13060	// used to include empty fields in Patch requests.
13061	ForceSendFields []string `json:"-"`
13062
13063	// NullFields is a list of field names (e.g. "AccountId") to include in
13064	// API requests with the JSON null value. By default, fields with empty
13065	// values are omitted from API requests. However, any field with an
13066	// empty value appearing in NullFields will be sent to the server as
13067	// null. It is an error if a field in this list has a non-empty value.
13068	// This may be used to include null fields in Patch requests.
13069	NullFields []string `json:"-"`
13070}
13071
13072func (s *TargetingTemplate) MarshalJSON() ([]byte, error) {
13073	type NoMethod TargetingTemplate
13074	raw := NoMethod(*s)
13075	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13076}
13077
13078// TargetingTemplatesListResponse: Targeting Template List Response
13079type TargetingTemplatesListResponse struct {
13080	// Kind: Identifies what kind of resource this is. Value: the fixed
13081	// string "dfareporting#targetingTemplatesListResponse".
13082	Kind string `json:"kind,omitempty"`
13083
13084	// NextPageToken: Pagination token to be used for the next list
13085	// operation.
13086	NextPageToken string `json:"nextPageToken,omitempty"`
13087
13088	// TargetingTemplates: Targeting template collection.
13089	TargetingTemplates []*TargetingTemplate `json:"targetingTemplates,omitempty"`
13090
13091	// ServerResponse contains the HTTP response code and headers from the
13092	// server.
13093	googleapi.ServerResponse `json:"-"`
13094
13095	// ForceSendFields is a list of field names (e.g. "Kind") to
13096	// unconditionally include in API requests. By default, fields with
13097	// empty values are omitted from API requests. However, any non-pointer,
13098	// non-interface field appearing in ForceSendFields will be sent to the
13099	// server regardless of whether the field is empty or not. This may be
13100	// used to include empty fields in Patch requests.
13101	ForceSendFields []string `json:"-"`
13102
13103	// NullFields is a list of field names (e.g. "Kind") to include in API
13104	// requests with the JSON null value. By default, fields with empty
13105	// values are omitted from API requests. However, any field with an
13106	// empty value appearing in NullFields will be sent to the server as
13107	// null. It is an error if a field in this list has a non-empty value.
13108	// This may be used to include null fields in Patch requests.
13109	NullFields []string `json:"-"`
13110}
13111
13112func (s *TargetingTemplatesListResponse) MarshalJSON() ([]byte, error) {
13113	type NoMethod TargetingTemplatesListResponse
13114	raw := NoMethod(*s)
13115	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13116}
13117
13118// TechnologyTargeting: Technology Targeting.
13119type TechnologyTargeting struct {
13120	// Browsers: Browsers that this ad targets. For each browser either set
13121	// browserVersionId or dartId along with the version numbers. If both
13122	// are specified, only browserVersionId will be used. The other fields
13123	// are populated automatically when the ad is inserted or updated.
13124	Browsers []*Browser `json:"browsers,omitempty"`
13125
13126	// ConnectionTypes: Connection types that this ad targets. For each
13127	// connection type only id is required. The other fields are populated
13128	// automatically when the ad is inserted or updated.
13129	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
13130
13131	// MobileCarriers: Mobile carriers that this ad targets. For each mobile
13132	// carrier only id is required, and the other fields are populated
13133	// automatically when the ad is inserted or updated. If targeting a
13134	// mobile carrier, do not set targeting for any zip codes.
13135	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
13136
13137	// OperatingSystemVersions: Operating system versions that this ad
13138	// targets. To target all versions, use operatingSystems. For each
13139	// operating system version, only id is required. The other fields are
13140	// populated automatically when the ad is inserted or updated. If
13141	// targeting an operating system version, do not set targeting for the
13142	// corresponding operating system in operatingSystems.
13143	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
13144
13145	// OperatingSystems: Operating systems that this ad targets. To target
13146	// specific versions, use operatingSystemVersions. For each operating
13147	// system only dartId is required. The other fields are populated
13148	// automatically when the ad is inserted or updated. If targeting an
13149	// operating system, do not set targeting for operating system versions
13150	// for the same operating system.
13151	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
13152
13153	// PlatformTypes: Platform types that this ad targets. For example,
13154	// desktop, mobile, or tablet. For each platform type, only id is
13155	// required, and the other fields are populated automatically when the
13156	// ad is inserted or updated.
13157	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
13158
13159	// ForceSendFields is a list of field names (e.g. "Browsers") to
13160	// unconditionally include in API requests. By default, fields with
13161	// empty values are omitted from API requests. However, any non-pointer,
13162	// non-interface field appearing in ForceSendFields will be sent to the
13163	// server regardless of whether the field is empty or not. This may be
13164	// used to include empty fields in Patch requests.
13165	ForceSendFields []string `json:"-"`
13166
13167	// NullFields is a list of field names (e.g. "Browsers") to include in
13168	// API requests with the JSON null value. By default, fields with empty
13169	// values are omitted from API requests. However, any field with an
13170	// empty value appearing in NullFields will be sent to the server as
13171	// null. It is an error if a field in this list has a non-empty value.
13172	// This may be used to include null fields in Patch requests.
13173	NullFields []string `json:"-"`
13174}
13175
13176func (s *TechnologyTargeting) MarshalJSON() ([]byte, error) {
13177	type NoMethod TechnologyTargeting
13178	raw := NoMethod(*s)
13179	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13180}
13181
13182// ThirdPartyAuthenticationToken: Third Party Authentication Token
13183type ThirdPartyAuthenticationToken struct {
13184	// Name: Name of the third-party authentication token.
13185	Name string `json:"name,omitempty"`
13186
13187	// Value: Value of the third-party authentication token. This is a
13188	// read-only, auto-generated field.
13189	Value string `json:"value,omitempty"`
13190
13191	// ForceSendFields is a list of field names (e.g. "Name") to
13192	// unconditionally include in API requests. By default, fields with
13193	// empty values are omitted from API requests. However, any non-pointer,
13194	// non-interface field appearing in ForceSendFields will be sent to the
13195	// server regardless of whether the field is empty or not. This may be
13196	// used to include empty fields in Patch requests.
13197	ForceSendFields []string `json:"-"`
13198
13199	// NullFields is a list of field names (e.g. "Name") to include in API
13200	// requests with the JSON null value. By default, fields with empty
13201	// values are omitted from API requests. However, any field with an
13202	// empty value appearing in NullFields will be sent to the server as
13203	// null. It is an error if a field in this list has a non-empty value.
13204	// This may be used to include null fields in Patch requests.
13205	NullFields []string `json:"-"`
13206}
13207
13208func (s *ThirdPartyAuthenticationToken) MarshalJSON() ([]byte, error) {
13209	type NoMethod ThirdPartyAuthenticationToken
13210	raw := NoMethod(*s)
13211	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13212}
13213
13214// ThirdPartyTrackingUrl: Third-party Tracking URL.
13215type ThirdPartyTrackingUrl struct {
13216	// ThirdPartyUrlType: Third-party URL type for in-stream video and
13217	// in-stream audio creatives.
13218	//
13219	// Possible values:
13220	//   "IMPRESSION"
13221	//   "CLICK_TRACKING"
13222	//   "VIDEO_START"
13223	//   "VIDEO_FIRST_QUARTILE"
13224	//   "VIDEO_MIDPOINT"
13225	//   "VIDEO_THIRD_QUARTILE"
13226	//   "VIDEO_COMPLETE"
13227	//   "VIDEO_MUTE"
13228	//   "VIDEO_PAUSE"
13229	//   "VIDEO_REWIND"
13230	//   "VIDEO_FULLSCREEN"
13231	//   "VIDEO_STOP"
13232	//   "VIDEO_CUSTOM"
13233	//   "SURVEY"
13234	//   "RICH_MEDIA_IMPRESSION"
13235	//   "RICH_MEDIA_RM_IMPRESSION"
13236	//   "RICH_MEDIA_BACKUP_IMPRESSION"
13237	//   "VIDEO_SKIP"
13238	//   "VIDEO_PROGRESS"
13239	ThirdPartyUrlType string `json:"thirdPartyUrlType,omitempty"`
13240
13241	// Url: URL for the specified third-party URL type.
13242	Url string `json:"url,omitempty"`
13243
13244	// ForceSendFields is a list of field names (e.g. "ThirdPartyUrlType")
13245	// to unconditionally include in API requests. By default, fields with
13246	// empty values are omitted from API requests. However, any non-pointer,
13247	// non-interface field appearing in ForceSendFields will be sent to the
13248	// server regardless of whether the field is empty or not. This may be
13249	// used to include empty fields in Patch requests.
13250	ForceSendFields []string `json:"-"`
13251
13252	// NullFields is a list of field names (e.g. "ThirdPartyUrlType") to
13253	// include in API requests with the JSON null value. By default, fields
13254	// with empty values are omitted from API requests. However, any field
13255	// with an empty value appearing in NullFields will be sent to the
13256	// server as null. It is an error if a field in this list has a
13257	// non-empty value. This may be used to include null fields in Patch
13258	// requests.
13259	NullFields []string `json:"-"`
13260}
13261
13262func (s *ThirdPartyTrackingUrl) MarshalJSON() ([]byte, error) {
13263	type NoMethod ThirdPartyTrackingUrl
13264	raw := NoMethod(*s)
13265	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13266}
13267
13268// TranscodeSetting: Transcode Settings
13269type TranscodeSetting struct {
13270	// EnabledVideoFormats: Allowlist of video formats to be served to this
13271	// placement. Set this list to null or empty to serve all video formats.
13272	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
13273
13274	// Kind: Identifies what kind of resource this is. Value: the fixed
13275	// string "dfareporting#transcodeSetting".
13276	Kind string `json:"kind,omitempty"`
13277
13278	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
13279	// to unconditionally include in API requests. By default, fields with
13280	// empty values are omitted from API requests. However, any non-pointer,
13281	// non-interface field appearing in ForceSendFields will be sent to the
13282	// server regardless of whether the field is empty or not. This may be
13283	// used to include empty fields in Patch requests.
13284	ForceSendFields []string `json:"-"`
13285
13286	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
13287	// include in API requests with the JSON null value. By default, fields
13288	// with empty values are omitted from API requests. However, any field
13289	// with an empty value appearing in NullFields will be sent to the
13290	// server as null. It is an error if a field in this list has a
13291	// non-empty value. This may be used to include null fields in Patch
13292	// requests.
13293	NullFields []string `json:"-"`
13294}
13295
13296func (s *TranscodeSetting) MarshalJSON() ([]byte, error) {
13297	type NoMethod TranscodeSetting
13298	raw := NoMethod(*s)
13299	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13300}
13301
13302// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
13303// to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and
13304// VPAID.
13305type UniversalAdId struct {
13306	// Registry: Registry used for the Ad ID value.
13307	//
13308	// Possible values:
13309	//   "OTHER"
13310	//   "AD_ID.ORG"
13311	//   "CLEARCAST"
13312	//   "DCM"
13313	Registry string `json:"registry,omitempty"`
13314
13315	// Value: ID value for this creative. Only alphanumeric characters and
13316	// the following symbols are valid: "_/\-". Maximum length is 64
13317	// characters. Read only when registry is DCM.
13318	Value string `json:"value,omitempty"`
13319
13320	// ForceSendFields is a list of field names (e.g. "Registry") to
13321	// unconditionally include in API requests. By default, fields with
13322	// empty values are omitted from API requests. However, any non-pointer,
13323	// non-interface field appearing in ForceSendFields will be sent to the
13324	// server regardless of whether the field is empty or not. This may be
13325	// used to include empty fields in Patch requests.
13326	ForceSendFields []string `json:"-"`
13327
13328	// NullFields is a list of field names (e.g. "Registry") to include in
13329	// API requests with the JSON null value. By default, fields with empty
13330	// values are omitted from API requests. However, any field with an
13331	// empty value appearing in NullFields will be sent to the server as
13332	// null. It is an error if a field in this list has a non-empty value.
13333	// This may be used to include null fields in Patch requests.
13334	NullFields []string `json:"-"`
13335}
13336
13337func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
13338	type NoMethod UniversalAdId
13339	raw := NoMethod(*s)
13340	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13341}
13342
13343// UserDefinedVariableConfiguration: User Defined Variable
13344// configuration.
13345type UserDefinedVariableConfiguration struct {
13346	// DataType: Data type for the variable. This is a required field.
13347	//
13348	// Possible values:
13349	//   "STRING"
13350	//   "NUMBER"
13351	DataType string `json:"dataType,omitempty"`
13352
13353	// ReportName: User-friendly name for the variable which will appear in
13354	// reports. This is a required field, must be less than 64 characters
13355	// long, and cannot contain the following characters: ""<>".
13356	ReportName string `json:"reportName,omitempty"`
13357
13358	// VariableType: Variable name in the tag. This is a required field.
13359	//
13360	// Possible values:
13361	//   "U1"
13362	//   "U2"
13363	//   "U3"
13364	//   "U4"
13365	//   "U5"
13366	//   "U6"
13367	//   "U7"
13368	//   "U8"
13369	//   "U9"
13370	//   "U10"
13371	//   "U11"
13372	//   "U12"
13373	//   "U13"
13374	//   "U14"
13375	//   "U15"
13376	//   "U16"
13377	//   "U17"
13378	//   "U18"
13379	//   "U19"
13380	//   "U20"
13381	//   "U21"
13382	//   "U22"
13383	//   "U23"
13384	//   "U24"
13385	//   "U25"
13386	//   "U26"
13387	//   "U27"
13388	//   "U28"
13389	//   "U29"
13390	//   "U30"
13391	//   "U31"
13392	//   "U32"
13393	//   "U33"
13394	//   "U34"
13395	//   "U35"
13396	//   "U36"
13397	//   "U37"
13398	//   "U38"
13399	//   "U39"
13400	//   "U40"
13401	//   "U41"
13402	//   "U42"
13403	//   "U43"
13404	//   "U44"
13405	//   "U45"
13406	//   "U46"
13407	//   "U47"
13408	//   "U48"
13409	//   "U49"
13410	//   "U50"
13411	//   "U51"
13412	//   "U52"
13413	//   "U53"
13414	//   "U54"
13415	//   "U55"
13416	//   "U56"
13417	//   "U57"
13418	//   "U58"
13419	//   "U59"
13420	//   "U60"
13421	//   "U61"
13422	//   "U62"
13423	//   "U63"
13424	//   "U64"
13425	//   "U65"
13426	//   "U66"
13427	//   "U67"
13428	//   "U68"
13429	//   "U69"
13430	//   "U70"
13431	//   "U71"
13432	//   "U72"
13433	//   "U73"
13434	//   "U74"
13435	//   "U75"
13436	//   "U76"
13437	//   "U77"
13438	//   "U78"
13439	//   "U79"
13440	//   "U80"
13441	//   "U81"
13442	//   "U82"
13443	//   "U83"
13444	//   "U84"
13445	//   "U85"
13446	//   "U86"
13447	//   "U87"
13448	//   "U88"
13449	//   "U89"
13450	//   "U90"
13451	//   "U91"
13452	//   "U92"
13453	//   "U93"
13454	//   "U94"
13455	//   "U95"
13456	//   "U96"
13457	//   "U97"
13458	//   "U98"
13459	//   "U99"
13460	//   "U100"
13461	VariableType string `json:"variableType,omitempty"`
13462
13463	// ForceSendFields is a list of field names (e.g. "DataType") to
13464	// unconditionally include in API requests. By default, fields with
13465	// empty values are omitted from API requests. However, any non-pointer,
13466	// non-interface field appearing in ForceSendFields will be sent to the
13467	// server regardless of whether the field is empty or not. This may be
13468	// used to include empty fields in Patch requests.
13469	ForceSendFields []string `json:"-"`
13470
13471	// NullFields is a list of field names (e.g. "DataType") to include in
13472	// API requests with the JSON null value. By default, fields with empty
13473	// values are omitted from API requests. However, any field with an
13474	// empty value appearing in NullFields will be sent to the server as
13475	// null. It is an error if a field in this list has a non-empty value.
13476	// This may be used to include null fields in Patch requests.
13477	NullFields []string `json:"-"`
13478}
13479
13480func (s *UserDefinedVariableConfiguration) MarshalJSON() ([]byte, error) {
13481	type NoMethod UserDefinedVariableConfiguration
13482	raw := NoMethod(*s)
13483	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13484}
13485
13486// UserProfile: A UserProfile resource lets you list all DFA user
13487// profiles that are associated with a Google user account. The
13488// profile_id needs to be specified in other API requests.
13489type UserProfile struct {
13490	// AccountId: The account ID to which this profile belongs.
13491	AccountId int64 `json:"accountId,omitempty,string"`
13492
13493	// AccountName: The account name this profile belongs to.
13494	AccountName string `json:"accountName,omitempty"`
13495
13496	// Etag: Etag of this resource.
13497	Etag string `json:"etag,omitempty"`
13498
13499	// Kind: Identifies what kind of resource this is. Value: the fixed
13500	// string "dfareporting#userProfile".
13501	Kind string `json:"kind,omitempty"`
13502
13503	// ProfileId: The unique ID of the user profile.
13504	ProfileId int64 `json:"profileId,omitempty,string"`
13505
13506	// SubAccountId: The sub account ID this profile belongs to if
13507	// applicable.
13508	SubAccountId int64 `json:"subAccountId,omitempty,string"`
13509
13510	// SubAccountName: The sub account name this profile belongs to if
13511	// applicable.
13512	SubAccountName string `json:"subAccountName,omitempty"`
13513
13514	// UserName: The user name.
13515	UserName string `json:"userName,omitempty"`
13516
13517	// ServerResponse contains the HTTP response code and headers from the
13518	// server.
13519	googleapi.ServerResponse `json:"-"`
13520
13521	// ForceSendFields is a list of field names (e.g. "AccountId") to
13522	// unconditionally include in API requests. By default, fields with
13523	// empty values are omitted from API requests. However, any non-pointer,
13524	// non-interface field appearing in ForceSendFields will be sent to the
13525	// server regardless of whether the field is empty or not. This may be
13526	// used to include empty fields in Patch requests.
13527	ForceSendFields []string `json:"-"`
13528
13529	// NullFields is a list of field names (e.g. "AccountId") to include in
13530	// API requests with the JSON null value. By default, fields with empty
13531	// values are omitted from API requests. However, any field with an
13532	// empty value appearing in NullFields will be sent to the server as
13533	// null. It is an error if a field in this list has a non-empty value.
13534	// This may be used to include null fields in Patch requests.
13535	NullFields []string `json:"-"`
13536}
13537
13538func (s *UserProfile) MarshalJSON() ([]byte, error) {
13539	type NoMethod UserProfile
13540	raw := NoMethod(*s)
13541	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13542}
13543
13544// UserProfileList: Represents the list of user profiles.
13545type UserProfileList struct {
13546	// Etag: Etag of this resource.
13547	Etag string `json:"etag,omitempty"`
13548
13549	// Items: The user profiles returned in this response.
13550	Items []*UserProfile `json:"items,omitempty"`
13551
13552	// Kind: Identifies what kind of resource this is. Value: the fixed
13553	// string "dfareporting#userProfileList".
13554	Kind string `json:"kind,omitempty"`
13555
13556	// ServerResponse contains the HTTP response code and headers from the
13557	// server.
13558	googleapi.ServerResponse `json:"-"`
13559
13560	// ForceSendFields is a list of field names (e.g. "Etag") to
13561	// unconditionally include in API requests. By default, fields with
13562	// empty values are omitted from API requests. However, any non-pointer,
13563	// non-interface field appearing in ForceSendFields will be sent to the
13564	// server regardless of whether the field is empty or not. This may be
13565	// used to include empty fields in Patch requests.
13566	ForceSendFields []string `json:"-"`
13567
13568	// NullFields is a list of field names (e.g. "Etag") to include in API
13569	// requests with the JSON null value. By default, fields with empty
13570	// values are omitted from API requests. However, any field with an
13571	// empty value appearing in NullFields will be sent to the server as
13572	// null. It is an error if a field in this list has a non-empty value.
13573	// This may be used to include null fields in Patch requests.
13574	NullFields []string `json:"-"`
13575}
13576
13577func (s *UserProfileList) MarshalJSON() ([]byte, error) {
13578	type NoMethod UserProfileList
13579	raw := NoMethod(*s)
13580	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13581}
13582
13583// UserRole: Contains properties of auser role, which is used to manage
13584// user access.
13585type UserRole struct {
13586	// AccountId: Account ID of this user role. This is a read-only field
13587	// that can be left blank.
13588	AccountId int64 `json:"accountId,omitempty,string"`
13589
13590	// DefaultUserRole: Whether this is a default user role. Default user
13591	// roles are created by the system for the account/subaccount and cannot
13592	// be modified or deleted. Each default user role comes with a basic set
13593	// of preassigned permissions.
13594	DefaultUserRole bool `json:"defaultUserRole,omitempty"`
13595
13596	// Id: ID of this user role. This is a read-only, auto-generated field.
13597	Id int64 `json:"id,omitempty,string"`
13598
13599	// Kind: Identifies what kind of resource this is. Value: the fixed
13600	// string "dfareporting#userRole".
13601	Kind string `json:"kind,omitempty"`
13602
13603	// Name: Name of this user role. This is a required field. Must be less
13604	// than 256 characters long. If this user role is under a subaccount,
13605	// the name must be unique among sites of the same subaccount.
13606	// Otherwise, this user role is a top-level user role, and the name must
13607	// be unique among top-level user roles of the same account.
13608	Name string `json:"name,omitempty"`
13609
13610	// ParentUserRoleId: ID of the user role that this user role is based on
13611	// or copied from. This is a required field.
13612	ParentUserRoleId int64 `json:"parentUserRoleId,omitempty,string"`
13613
13614	// Permissions: List of permissions associated with this user role.
13615	Permissions []*UserRolePermission `json:"permissions,omitempty"`
13616
13617	// SubaccountId: Subaccount ID of this user role. This is a read-only
13618	// field that can be left blank.
13619	SubaccountId int64 `json:"subaccountId,omitempty,string"`
13620
13621	// ServerResponse contains the HTTP response code and headers from the
13622	// server.
13623	googleapi.ServerResponse `json:"-"`
13624
13625	// ForceSendFields is a list of field names (e.g. "AccountId") to
13626	// unconditionally include in API requests. By default, fields with
13627	// empty values are omitted from API requests. However, any non-pointer,
13628	// non-interface field appearing in ForceSendFields will be sent to the
13629	// server regardless of whether the field is empty or not. This may be
13630	// used to include empty fields in Patch requests.
13631	ForceSendFields []string `json:"-"`
13632
13633	// NullFields is a list of field names (e.g. "AccountId") to include in
13634	// API requests with the JSON null value. By default, fields with empty
13635	// values are omitted from API requests. However, any field with an
13636	// empty value appearing in NullFields will be sent to the server as
13637	// null. It is an error if a field in this list has a non-empty value.
13638	// This may be used to include null fields in Patch requests.
13639	NullFields []string `json:"-"`
13640}
13641
13642func (s *UserRole) MarshalJSON() ([]byte, error) {
13643	type NoMethod UserRole
13644	raw := NoMethod(*s)
13645	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13646}
13647
13648// UserRolePermission: Contains properties of a user role permission.
13649type UserRolePermission struct {
13650	// Availability: Levels of availability for a user role permission.
13651	//
13652	// Possible values:
13653	//   "NOT_AVAILABLE_BY_DEFAULT"
13654	//   "ACCOUNT_BY_DEFAULT"
13655	//   "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
13656	//   "ACCOUNT_ALWAYS"
13657	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
13658	//   "USER_PROFILE_ONLY"
13659	Availability string `json:"availability,omitempty"`
13660
13661	// Id: ID of this user role permission.
13662	Id int64 `json:"id,omitempty,string"`
13663
13664	// Kind: Identifies what kind of resource this is. Value: the fixed
13665	// string "dfareporting#userRolePermission".
13666	Kind string `json:"kind,omitempty"`
13667
13668	// Name: Name of this user role permission.
13669	Name string `json:"name,omitempty"`
13670
13671	// PermissionGroupId: ID of the permission group that this user role
13672	// permission belongs to.
13673	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
13674
13675	// ServerResponse contains the HTTP response code and headers from the
13676	// server.
13677	googleapi.ServerResponse `json:"-"`
13678
13679	// ForceSendFields is a list of field names (e.g. "Availability") to
13680	// unconditionally include in API requests. By default, fields with
13681	// empty values are omitted from API requests. However, any non-pointer,
13682	// non-interface field appearing in ForceSendFields will be sent to the
13683	// server regardless of whether the field is empty or not. This may be
13684	// used to include empty fields in Patch requests.
13685	ForceSendFields []string `json:"-"`
13686
13687	// NullFields is a list of field names (e.g. "Availability") to include
13688	// in API requests with the JSON null value. By default, fields with
13689	// empty values are omitted from API requests. However, any field with
13690	// an empty value appearing in NullFields will be sent to the server as
13691	// null. It is an error if a field in this list has a non-empty value.
13692	// This may be used to include null fields in Patch requests.
13693	NullFields []string `json:"-"`
13694}
13695
13696func (s *UserRolePermission) MarshalJSON() ([]byte, error) {
13697	type NoMethod UserRolePermission
13698	raw := NoMethod(*s)
13699	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13700}
13701
13702// UserRolePermissionGroup: Represents a grouping of related user role
13703// permissions.
13704type UserRolePermissionGroup struct {
13705	// Id: ID of this user role permission.
13706	Id int64 `json:"id,omitempty,string"`
13707
13708	// Kind: Identifies what kind of resource this is. Value: the fixed
13709	// string "dfareporting#userRolePermissionGroup".
13710	Kind string `json:"kind,omitempty"`
13711
13712	// Name: Name of this user role permission group.
13713	Name string `json:"name,omitempty"`
13714
13715	// ServerResponse contains the HTTP response code and headers from the
13716	// server.
13717	googleapi.ServerResponse `json:"-"`
13718
13719	// ForceSendFields is a list of field names (e.g. "Id") to
13720	// unconditionally include in API requests. By default, fields with
13721	// empty values are omitted from API requests. However, any non-pointer,
13722	// non-interface field appearing in ForceSendFields will be sent to the
13723	// server regardless of whether the field is empty or not. This may be
13724	// used to include empty fields in Patch requests.
13725	ForceSendFields []string `json:"-"`
13726
13727	// NullFields is a list of field names (e.g. "Id") to include in API
13728	// requests with the JSON null value. By default, fields with empty
13729	// values are omitted from API requests. However, any field with an
13730	// empty value appearing in NullFields will be sent to the server as
13731	// null. It is an error if a field in this list has a non-empty value.
13732	// This may be used to include null fields in Patch requests.
13733	NullFields []string `json:"-"`
13734}
13735
13736func (s *UserRolePermissionGroup) MarshalJSON() ([]byte, error) {
13737	type NoMethod UserRolePermissionGroup
13738	raw := NoMethod(*s)
13739	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13740}
13741
13742// UserRolePermissionGroupsListResponse: User Role Permission Group List
13743// Response
13744type UserRolePermissionGroupsListResponse struct {
13745	// Kind: Identifies what kind of resource this is. Value: the fixed
13746	// string "dfareporting#userRolePermissionGroupsListResponse".
13747	Kind string `json:"kind,omitempty"`
13748
13749	// UserRolePermissionGroups: User role permission group collection.
13750	UserRolePermissionGroups []*UserRolePermissionGroup `json:"userRolePermissionGroups,omitempty"`
13751
13752	// ServerResponse contains the HTTP response code and headers from the
13753	// server.
13754	googleapi.ServerResponse `json:"-"`
13755
13756	// ForceSendFields is a list of field names (e.g. "Kind") to
13757	// unconditionally include in API requests. By default, fields with
13758	// empty values are omitted from API requests. However, any non-pointer,
13759	// non-interface field appearing in ForceSendFields will be sent to the
13760	// server regardless of whether the field is empty or not. This may be
13761	// used to include empty fields in Patch requests.
13762	ForceSendFields []string `json:"-"`
13763
13764	// NullFields is a list of field names (e.g. "Kind") to include in API
13765	// requests with the JSON null value. By default, fields with empty
13766	// values are omitted from API requests. However, any field with an
13767	// empty value appearing in NullFields will be sent to the server as
13768	// null. It is an error if a field in this list has a non-empty value.
13769	// This may be used to include null fields in Patch requests.
13770	NullFields []string `json:"-"`
13771}
13772
13773func (s *UserRolePermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
13774	type NoMethod UserRolePermissionGroupsListResponse
13775	raw := NoMethod(*s)
13776	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13777}
13778
13779// UserRolePermissionsListResponse: User Role Permission List Response
13780type UserRolePermissionsListResponse struct {
13781	// Kind: Identifies what kind of resource this is. Value: the fixed
13782	// string "dfareporting#userRolePermissionsListResponse".
13783	Kind string `json:"kind,omitempty"`
13784
13785	// UserRolePermissions: User role permission collection.
13786	UserRolePermissions []*UserRolePermission `json:"userRolePermissions,omitempty"`
13787
13788	// ServerResponse contains the HTTP response code and headers from the
13789	// server.
13790	googleapi.ServerResponse `json:"-"`
13791
13792	// ForceSendFields is a list of field names (e.g. "Kind") to
13793	// unconditionally include in API requests. By default, fields with
13794	// empty values are omitted from API requests. However, any non-pointer,
13795	// non-interface field appearing in ForceSendFields will be sent to the
13796	// server regardless of whether the field is empty or not. This may be
13797	// used to include empty fields in Patch requests.
13798	ForceSendFields []string `json:"-"`
13799
13800	// NullFields is a list of field names (e.g. "Kind") to include in API
13801	// requests with the JSON null value. By default, fields with empty
13802	// values are omitted from API requests. However, any field with an
13803	// empty value appearing in NullFields will be sent to the server as
13804	// null. It is an error if a field in this list has a non-empty value.
13805	// This may be used to include null fields in Patch requests.
13806	NullFields []string `json:"-"`
13807}
13808
13809func (s *UserRolePermissionsListResponse) MarshalJSON() ([]byte, error) {
13810	type NoMethod UserRolePermissionsListResponse
13811	raw := NoMethod(*s)
13812	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13813}
13814
13815// UserRolesListResponse: User Role List Response
13816type UserRolesListResponse struct {
13817	// Kind: Identifies what kind of resource this is. Value: the fixed
13818	// string "dfareporting#userRolesListResponse".
13819	Kind string `json:"kind,omitempty"`
13820
13821	// NextPageToken: Pagination token to be used for the next list
13822	// operation.
13823	NextPageToken string `json:"nextPageToken,omitempty"`
13824
13825	// UserRoles: User role collection.
13826	UserRoles []*UserRole `json:"userRoles,omitempty"`
13827
13828	// ServerResponse contains the HTTP response code and headers from the
13829	// server.
13830	googleapi.ServerResponse `json:"-"`
13831
13832	// ForceSendFields is a list of field names (e.g. "Kind") to
13833	// unconditionally include in API requests. By default, fields with
13834	// empty values are omitted from API requests. However, any non-pointer,
13835	// non-interface field appearing in ForceSendFields will be sent to the
13836	// server regardless of whether the field is empty or not. This may be
13837	// used to include empty fields in Patch requests.
13838	ForceSendFields []string `json:"-"`
13839
13840	// NullFields is a list of field names (e.g. "Kind") to include in API
13841	// requests with the JSON null value. By default, fields with empty
13842	// values are omitted from API requests. However, any field with an
13843	// empty value appearing in NullFields will be sent to the server as
13844	// null. It is an error if a field in this list has a non-empty value.
13845	// This may be used to include null fields in Patch requests.
13846	NullFields []string `json:"-"`
13847}
13848
13849func (s *UserRolesListResponse) MarshalJSON() ([]byte, error) {
13850	type NoMethod UserRolesListResponse
13851	raw := NoMethod(*s)
13852	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13853}
13854
13855// VideoFormat: Contains information about supported video formats.
13856type VideoFormat struct {
13857	// FileType: File type of the video format.
13858	//
13859	// Possible values:
13860	//   "FLV"
13861	//   "THREEGPP"
13862	//   "MP4"
13863	//   "WEBM"
13864	//   "M3U8"
13865	FileType string `json:"fileType,omitempty"`
13866
13867	// Id: ID of the video format.
13868	Id int64 `json:"id,omitempty"`
13869
13870	// Kind: Identifies what kind of resource this is. Value: the fixed
13871	// string "dfareporting#videoFormat".
13872	Kind string `json:"kind,omitempty"`
13873
13874	// Resolution: The resolution of this video format.
13875	Resolution *Size `json:"resolution,omitempty"`
13876
13877	// TargetBitRate: The target bit rate of this video format.
13878	TargetBitRate int64 `json:"targetBitRate,omitempty"`
13879
13880	// ServerResponse contains the HTTP response code and headers from the
13881	// server.
13882	googleapi.ServerResponse `json:"-"`
13883
13884	// ForceSendFields is a list of field names (e.g. "FileType") to
13885	// unconditionally include in API requests. By default, fields with
13886	// empty values are omitted from API requests. However, any non-pointer,
13887	// non-interface field appearing in ForceSendFields will be sent to the
13888	// server regardless of whether the field is empty or not. This may be
13889	// used to include empty fields in Patch requests.
13890	ForceSendFields []string `json:"-"`
13891
13892	// NullFields is a list of field names (e.g. "FileType") to include in
13893	// API requests with the JSON null value. By default, fields with empty
13894	// values are omitted from API requests. However, any field with an
13895	// empty value appearing in NullFields will be sent to the server as
13896	// null. It is an error if a field in this list has a non-empty value.
13897	// This may be used to include null fields in Patch requests.
13898	NullFields []string `json:"-"`
13899}
13900
13901func (s *VideoFormat) MarshalJSON() ([]byte, error) {
13902	type NoMethod VideoFormat
13903	raw := NoMethod(*s)
13904	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13905}
13906
13907// VideoFormatsListResponse: Video Format List Response
13908type VideoFormatsListResponse struct {
13909	// Kind: Identifies what kind of resource this is. Value: the fixed
13910	// string "dfareporting#videoFormatsListResponse".
13911	Kind string `json:"kind,omitempty"`
13912
13913	// VideoFormats: Video format collection.
13914	VideoFormats []*VideoFormat `json:"videoFormats,omitempty"`
13915
13916	// ServerResponse contains the HTTP response code and headers from the
13917	// server.
13918	googleapi.ServerResponse `json:"-"`
13919
13920	// ForceSendFields is a list of field names (e.g. "Kind") to
13921	// unconditionally include in API requests. By default, fields with
13922	// empty values are omitted from API requests. However, any non-pointer,
13923	// non-interface field appearing in ForceSendFields will be sent to the
13924	// server regardless of whether the field is empty or not. This may be
13925	// used to include empty fields in Patch requests.
13926	ForceSendFields []string `json:"-"`
13927
13928	// NullFields is a list of field names (e.g. "Kind") to include in API
13929	// requests with the JSON null value. By default, fields with empty
13930	// values are omitted from API requests. However, any field with an
13931	// empty value appearing in NullFields will be sent to the server as
13932	// null. It is an error if a field in this list has a non-empty value.
13933	// This may be used to include null fields in Patch requests.
13934	NullFields []string `json:"-"`
13935}
13936
13937func (s *VideoFormatsListResponse) MarshalJSON() ([]byte, error) {
13938	type NoMethod VideoFormatsListResponse
13939	raw := NoMethod(*s)
13940	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13941}
13942
13943// VideoOffset: Video Offset
13944type VideoOffset struct {
13945	// OffsetPercentage: Duration, as a percentage of video duration. Do not
13946	// set when offsetSeconds is set. Acceptable values are 0 to 100,
13947	// inclusive.
13948	OffsetPercentage int64 `json:"offsetPercentage,omitempty"`
13949
13950	// OffsetSeconds: Duration, in seconds. Do not set when offsetPercentage
13951	// is set. Acceptable values are 0 to 86399, inclusive.
13952	OffsetSeconds int64 `json:"offsetSeconds,omitempty"`
13953
13954	// ForceSendFields is a list of field names (e.g. "OffsetPercentage") to
13955	// unconditionally include in API requests. By default, fields with
13956	// empty values are omitted from API requests. However, any non-pointer,
13957	// non-interface field appearing in ForceSendFields will be sent to the
13958	// server regardless of whether the field is empty or not. This may be
13959	// used to include empty fields in Patch requests.
13960	ForceSendFields []string `json:"-"`
13961
13962	// NullFields is a list of field names (e.g. "OffsetPercentage") to
13963	// include in API requests with the JSON null value. By default, fields
13964	// with empty values are omitted from API requests. However, any field
13965	// with an empty value appearing in NullFields will be sent to the
13966	// server as null. It is an error if a field in this list has a
13967	// non-empty value. This may be used to include null fields in Patch
13968	// requests.
13969	NullFields []string `json:"-"`
13970}
13971
13972func (s *VideoOffset) MarshalJSON() ([]byte, error) {
13973	type NoMethod VideoOffset
13974	raw := NoMethod(*s)
13975	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13976}
13977
13978// VideoSettings: Video Settings
13979type VideoSettings struct {
13980	// CompanionSettings: Settings for the companion creatives of video
13981	// creatives served to this placement.
13982	CompanionSettings *CompanionSetting `json:"companionSettings,omitempty"`
13983
13984	// Kind: Identifies what kind of resource this is. Value: the fixed
13985	// string "dfareporting#videoSettings".
13986	Kind string `json:"kind,omitempty"`
13987
13988	// Orientation: Orientation of a video placement. If this value is set,
13989	// placement will return assets matching the specified orientation.
13990	//
13991	// Possible values:
13992	//   "ANY"
13993	//   "LANDSCAPE"
13994	//   "PORTRAIT"
13995	Orientation string `json:"orientation,omitempty"`
13996
13997	// SkippableSettings: Settings for the skippability of video creatives
13998	// served to this placement. If this object is provided, the
13999	// creative-level skippable settings will be overridden.
14000	SkippableSettings *SkippableSetting `json:"skippableSettings,omitempty"`
14001
14002	// TranscodeSettings: Settings for the transcodes of video creatives
14003	// served to this placement. If this object is provided, the
14004	// creative-level transcode settings will be overridden.
14005	TranscodeSettings *TranscodeSetting `json:"transcodeSettings,omitempty"`
14006
14007	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
14008	// to unconditionally include in API requests. By default, fields with
14009	// empty values are omitted from API requests. However, any non-pointer,
14010	// non-interface field appearing in ForceSendFields will be sent to the
14011	// server regardless of whether the field is empty or not. This may be
14012	// used to include empty fields in Patch requests.
14013	ForceSendFields []string `json:"-"`
14014
14015	// NullFields is a list of field names (e.g. "CompanionSettings") to
14016	// include in API requests with the JSON null value. By default, fields
14017	// with empty values are omitted from API requests. However, any field
14018	// with an empty value appearing in NullFields will be sent to the
14019	// server as null. It is an error if a field in this list has a
14020	// non-empty value. This may be used to include null fields in Patch
14021	// requests.
14022	NullFields []string `json:"-"`
14023}
14024
14025func (s *VideoSettings) MarshalJSON() ([]byte, error) {
14026	type NoMethod VideoSettings
14027	raw := NoMethod(*s)
14028	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14029}
14030
14031// method id "dfareporting.accountActiveAdSummaries.get":
14032
14033type AccountActiveAdSummariesGetCall struct {
14034	s                *Service
14035	profileId        int64
14036	summaryAccountId int64
14037	urlParams_       gensupport.URLParams
14038	ifNoneMatch_     string
14039	ctx_             context.Context
14040	header_          http.Header
14041}
14042
14043// Get: Gets the account's active ad summary by account ID.
14044//
14045// - profileId: User profile ID associated with this request.
14046// - summaryAccountId: Account ID.
14047func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
14048	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14049	c.profileId = profileId
14050	c.summaryAccountId = summaryAccountId
14051	return c
14052}
14053
14054// Fields allows partial responses to be retrieved. See
14055// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14056// for more information.
14057func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
14058	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14059	return c
14060}
14061
14062// IfNoneMatch sets the optional parameter which makes the operation
14063// fail if the object's ETag matches the given value. This is useful for
14064// getting updates only after the object has changed since the last
14065// request. Use googleapi.IsNotModified to check whether the response
14066// error from Do is the result of In-None-Match.
14067func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
14068	c.ifNoneMatch_ = entityTag
14069	return c
14070}
14071
14072// Context sets the context to be used in this call's Do method. Any
14073// pending HTTP request will be aborted if the provided context is
14074// canceled.
14075func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
14076	c.ctx_ = ctx
14077	return c
14078}
14079
14080// Header returns an http.Header that can be modified by the caller to
14081// add HTTP headers to the request.
14082func (c *AccountActiveAdSummariesGetCall) Header() http.Header {
14083	if c.header_ == nil {
14084		c.header_ = make(http.Header)
14085	}
14086	return c.header_
14087}
14088
14089func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
14090	reqHeaders := make(http.Header)
14091	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14092	for k, v := range c.header_ {
14093		reqHeaders[k] = v
14094	}
14095	reqHeaders.Set("User-Agent", c.s.userAgent())
14096	if c.ifNoneMatch_ != "" {
14097		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14098	}
14099	var body io.Reader = nil
14100	c.urlParams_.Set("alt", alt)
14101	c.urlParams_.Set("prettyPrint", "false")
14102	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
14103	urls += "?" + c.urlParams_.Encode()
14104	req, err := http.NewRequest("GET", urls, body)
14105	if err != nil {
14106		return nil, err
14107	}
14108	req.Header = reqHeaders
14109	googleapi.Expand(req.URL, map[string]string{
14110		"profileId":        strconv.FormatInt(c.profileId, 10),
14111		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
14112	})
14113	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14114}
14115
14116// Do executes the "dfareporting.accountActiveAdSummaries.get" call.
14117// Exactly one of *AccountActiveAdSummary or error will be non-nil. Any
14118// non-2xx status code is an error. Response headers are in either
14119// *AccountActiveAdSummary.ServerResponse.Header or (if a response was
14120// returned at all) in error.(*googleapi.Error).Header. Use
14121// googleapi.IsNotModified to check whether the returned error was
14122// because http.StatusNotModified was returned.
14123func (c *AccountActiveAdSummariesGetCall) Do(opts ...googleapi.CallOption) (*AccountActiveAdSummary, error) {
14124	gensupport.SetOptions(c.urlParams_, opts...)
14125	res, err := c.doRequest("json")
14126	if res != nil && res.StatusCode == http.StatusNotModified {
14127		if res.Body != nil {
14128			res.Body.Close()
14129		}
14130		return nil, &googleapi.Error{
14131			Code:   res.StatusCode,
14132			Header: res.Header,
14133		}
14134	}
14135	if err != nil {
14136		return nil, err
14137	}
14138	defer googleapi.CloseBody(res)
14139	if err := googleapi.CheckResponse(res); err != nil {
14140		return nil, err
14141	}
14142	ret := &AccountActiveAdSummary{
14143		ServerResponse: googleapi.ServerResponse{
14144			Header:         res.Header,
14145			HTTPStatusCode: res.StatusCode,
14146		},
14147	}
14148	target := &ret
14149	if err := gensupport.DecodeResponse(target, res); err != nil {
14150		return nil, err
14151	}
14152	return ret, nil
14153	// {
14154	//   "description": "Gets the account's active ad summary by account ID.",
14155	//   "flatPath": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
14156	//   "httpMethod": "GET",
14157	//   "id": "dfareporting.accountActiveAdSummaries.get",
14158	//   "parameterOrder": [
14159	//     "profileId",
14160	//     "summaryAccountId"
14161	//   ],
14162	//   "parameters": {
14163	//     "profileId": {
14164	//       "description": "User profile ID associated with this request.",
14165	//       "format": "int64",
14166	//       "location": "path",
14167	//       "required": true,
14168	//       "type": "string"
14169	//     },
14170	//     "summaryAccountId": {
14171	//       "description": "Account ID.",
14172	//       "format": "int64",
14173	//       "location": "path",
14174	//       "required": true,
14175	//       "type": "string"
14176	//     }
14177	//   },
14178	//   "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
14179	//   "response": {
14180	//     "$ref": "AccountActiveAdSummary"
14181	//   },
14182	//   "scopes": [
14183	//     "https://www.googleapis.com/auth/dfatrafficking"
14184	//   ]
14185	// }
14186
14187}
14188
14189// method id "dfareporting.accountPermissionGroups.get":
14190
14191type AccountPermissionGroupsGetCall struct {
14192	s            *Service
14193	profileId    int64
14194	id           int64
14195	urlParams_   gensupport.URLParams
14196	ifNoneMatch_ string
14197	ctx_         context.Context
14198	header_      http.Header
14199}
14200
14201// Get: Gets one account permission group by ID.
14202//
14203// - id: Account permission group ID.
14204// - profileId: User profile ID associated with this request.
14205func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
14206	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14207	c.profileId = profileId
14208	c.id = id
14209	return c
14210}
14211
14212// Fields allows partial responses to be retrieved. See
14213// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14214// for more information.
14215func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
14216	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14217	return c
14218}
14219
14220// IfNoneMatch sets the optional parameter which makes the operation
14221// fail if the object's ETag matches the given value. This is useful for
14222// getting updates only after the object has changed since the last
14223// request. Use googleapi.IsNotModified to check whether the response
14224// error from Do is the result of In-None-Match.
14225func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
14226	c.ifNoneMatch_ = entityTag
14227	return c
14228}
14229
14230// Context sets the context to be used in this call's Do method. Any
14231// pending HTTP request will be aborted if the provided context is
14232// canceled.
14233func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
14234	c.ctx_ = ctx
14235	return c
14236}
14237
14238// Header returns an http.Header that can be modified by the caller to
14239// add HTTP headers to the request.
14240func (c *AccountPermissionGroupsGetCall) Header() http.Header {
14241	if c.header_ == nil {
14242		c.header_ = make(http.Header)
14243	}
14244	return c.header_
14245}
14246
14247func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
14248	reqHeaders := make(http.Header)
14249	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14250	for k, v := range c.header_ {
14251		reqHeaders[k] = v
14252	}
14253	reqHeaders.Set("User-Agent", c.s.userAgent())
14254	if c.ifNoneMatch_ != "" {
14255		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14256	}
14257	var body io.Reader = nil
14258	c.urlParams_.Set("alt", alt)
14259	c.urlParams_.Set("prettyPrint", "false")
14260	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
14261	urls += "?" + c.urlParams_.Encode()
14262	req, err := http.NewRequest("GET", urls, body)
14263	if err != nil {
14264		return nil, err
14265	}
14266	req.Header = reqHeaders
14267	googleapi.Expand(req.URL, map[string]string{
14268		"profileId": strconv.FormatInt(c.profileId, 10),
14269		"id":        strconv.FormatInt(c.id, 10),
14270	})
14271	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14272}
14273
14274// Do executes the "dfareporting.accountPermissionGroups.get" call.
14275// Exactly one of *AccountPermissionGroup or error will be non-nil. Any
14276// non-2xx status code is an error. Response headers are in either
14277// *AccountPermissionGroup.ServerResponse.Header or (if a response was
14278// returned at all) in error.(*googleapi.Error).Header. Use
14279// googleapi.IsNotModified to check whether the returned error was
14280// because http.StatusNotModified was returned.
14281func (c *AccountPermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroup, error) {
14282	gensupport.SetOptions(c.urlParams_, opts...)
14283	res, err := c.doRequest("json")
14284	if res != nil && res.StatusCode == http.StatusNotModified {
14285		if res.Body != nil {
14286			res.Body.Close()
14287		}
14288		return nil, &googleapi.Error{
14289			Code:   res.StatusCode,
14290			Header: res.Header,
14291		}
14292	}
14293	if err != nil {
14294		return nil, err
14295	}
14296	defer googleapi.CloseBody(res)
14297	if err := googleapi.CheckResponse(res); err != nil {
14298		return nil, err
14299	}
14300	ret := &AccountPermissionGroup{
14301		ServerResponse: googleapi.ServerResponse{
14302			Header:         res.Header,
14303			HTTPStatusCode: res.StatusCode,
14304		},
14305	}
14306	target := &ret
14307	if err := gensupport.DecodeResponse(target, res); err != nil {
14308		return nil, err
14309	}
14310	return ret, nil
14311	// {
14312	//   "description": "Gets one account permission group by ID.",
14313	//   "flatPath": "userprofiles/{profileId}/accountPermissionGroups/{id}",
14314	//   "httpMethod": "GET",
14315	//   "id": "dfareporting.accountPermissionGroups.get",
14316	//   "parameterOrder": [
14317	//     "profileId",
14318	//     "id"
14319	//   ],
14320	//   "parameters": {
14321	//     "id": {
14322	//       "description": "Account permission group ID.",
14323	//       "format": "int64",
14324	//       "location": "path",
14325	//       "required": true,
14326	//       "type": "string"
14327	//     },
14328	//     "profileId": {
14329	//       "description": "User profile ID associated with this request.",
14330	//       "format": "int64",
14331	//       "location": "path",
14332	//       "required": true,
14333	//       "type": "string"
14334	//     }
14335	//   },
14336	//   "path": "userprofiles/{profileId}/accountPermissionGroups/{id}",
14337	//   "response": {
14338	//     "$ref": "AccountPermissionGroup"
14339	//   },
14340	//   "scopes": [
14341	//     "https://www.googleapis.com/auth/dfatrafficking"
14342	//   ]
14343	// }
14344
14345}
14346
14347// method id "dfareporting.accountPermissionGroups.list":
14348
14349type AccountPermissionGroupsListCall struct {
14350	s            *Service
14351	profileId    int64
14352	urlParams_   gensupport.URLParams
14353	ifNoneMatch_ string
14354	ctx_         context.Context
14355	header_      http.Header
14356}
14357
14358// List: Retrieves the list of account permission groups.
14359//
14360// - profileId: User profile ID associated with this request.
14361func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
14362	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14363	c.profileId = profileId
14364	return c
14365}
14366
14367// Fields allows partial responses to be retrieved. See
14368// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14369// for more information.
14370func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
14371	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14372	return c
14373}
14374
14375// IfNoneMatch sets the optional parameter which makes the operation
14376// fail if the object's ETag matches the given value. This is useful for
14377// getting updates only after the object has changed since the last
14378// request. Use googleapi.IsNotModified to check whether the response
14379// error from Do is the result of In-None-Match.
14380func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
14381	c.ifNoneMatch_ = entityTag
14382	return c
14383}
14384
14385// Context sets the context to be used in this call's Do method. Any
14386// pending HTTP request will be aborted if the provided context is
14387// canceled.
14388func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
14389	c.ctx_ = ctx
14390	return c
14391}
14392
14393// Header returns an http.Header that can be modified by the caller to
14394// add HTTP headers to the request.
14395func (c *AccountPermissionGroupsListCall) Header() http.Header {
14396	if c.header_ == nil {
14397		c.header_ = make(http.Header)
14398	}
14399	return c.header_
14400}
14401
14402func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
14403	reqHeaders := make(http.Header)
14404	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14405	for k, v := range c.header_ {
14406		reqHeaders[k] = v
14407	}
14408	reqHeaders.Set("User-Agent", c.s.userAgent())
14409	if c.ifNoneMatch_ != "" {
14410		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14411	}
14412	var body io.Reader = nil
14413	c.urlParams_.Set("alt", alt)
14414	c.urlParams_.Set("prettyPrint", "false")
14415	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
14416	urls += "?" + c.urlParams_.Encode()
14417	req, err := http.NewRequest("GET", urls, body)
14418	if err != nil {
14419		return nil, err
14420	}
14421	req.Header = reqHeaders
14422	googleapi.Expand(req.URL, map[string]string{
14423		"profileId": strconv.FormatInt(c.profileId, 10),
14424	})
14425	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14426}
14427
14428// Do executes the "dfareporting.accountPermissionGroups.list" call.
14429// Exactly one of *AccountPermissionGroupsListResponse or error will be
14430// non-nil. Any non-2xx status code is an error. Response headers are in
14431// either *AccountPermissionGroupsListResponse.ServerResponse.Header or
14432// (if a response was returned at all) in
14433// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
14434// whether the returned error was because http.StatusNotModified was
14435// returned.
14436func (c *AccountPermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroupsListResponse, error) {
14437	gensupport.SetOptions(c.urlParams_, opts...)
14438	res, err := c.doRequest("json")
14439	if res != nil && res.StatusCode == http.StatusNotModified {
14440		if res.Body != nil {
14441			res.Body.Close()
14442		}
14443		return nil, &googleapi.Error{
14444			Code:   res.StatusCode,
14445			Header: res.Header,
14446		}
14447	}
14448	if err != nil {
14449		return nil, err
14450	}
14451	defer googleapi.CloseBody(res)
14452	if err := googleapi.CheckResponse(res); err != nil {
14453		return nil, err
14454	}
14455	ret := &AccountPermissionGroupsListResponse{
14456		ServerResponse: googleapi.ServerResponse{
14457			Header:         res.Header,
14458			HTTPStatusCode: res.StatusCode,
14459		},
14460	}
14461	target := &ret
14462	if err := gensupport.DecodeResponse(target, res); err != nil {
14463		return nil, err
14464	}
14465	return ret, nil
14466	// {
14467	//   "description": "Retrieves the list of account permission groups.",
14468	//   "flatPath": "userprofiles/{profileId}/accountPermissionGroups",
14469	//   "httpMethod": "GET",
14470	//   "id": "dfareporting.accountPermissionGroups.list",
14471	//   "parameterOrder": [
14472	//     "profileId"
14473	//   ],
14474	//   "parameters": {
14475	//     "profileId": {
14476	//       "description": "User profile ID associated with this request.",
14477	//       "format": "int64",
14478	//       "location": "path",
14479	//       "required": true,
14480	//       "type": "string"
14481	//     }
14482	//   },
14483	//   "path": "userprofiles/{profileId}/accountPermissionGroups",
14484	//   "response": {
14485	//     "$ref": "AccountPermissionGroupsListResponse"
14486	//   },
14487	//   "scopes": [
14488	//     "https://www.googleapis.com/auth/dfatrafficking"
14489	//   ]
14490	// }
14491
14492}
14493
14494// method id "dfareporting.accountPermissions.get":
14495
14496type AccountPermissionsGetCall struct {
14497	s            *Service
14498	profileId    int64
14499	id           int64
14500	urlParams_   gensupport.URLParams
14501	ifNoneMatch_ string
14502	ctx_         context.Context
14503	header_      http.Header
14504}
14505
14506// Get: Gets one account permission by ID.
14507//
14508// - id: Account permission ID.
14509// - profileId: User profile ID associated with this request.
14510func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
14511	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14512	c.profileId = profileId
14513	c.id = id
14514	return c
14515}
14516
14517// Fields allows partial responses to be retrieved. See
14518// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14519// for more information.
14520func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
14521	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14522	return c
14523}
14524
14525// IfNoneMatch sets the optional parameter which makes the operation
14526// fail if the object's ETag matches the given value. This is useful for
14527// getting updates only after the object has changed since the last
14528// request. Use googleapi.IsNotModified to check whether the response
14529// error from Do is the result of In-None-Match.
14530func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
14531	c.ifNoneMatch_ = entityTag
14532	return c
14533}
14534
14535// Context sets the context to be used in this call's Do method. Any
14536// pending HTTP request will be aborted if the provided context is
14537// canceled.
14538func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
14539	c.ctx_ = ctx
14540	return c
14541}
14542
14543// Header returns an http.Header that can be modified by the caller to
14544// add HTTP headers to the request.
14545func (c *AccountPermissionsGetCall) Header() http.Header {
14546	if c.header_ == nil {
14547		c.header_ = make(http.Header)
14548	}
14549	return c.header_
14550}
14551
14552func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
14553	reqHeaders := make(http.Header)
14554	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14555	for k, v := range c.header_ {
14556		reqHeaders[k] = v
14557	}
14558	reqHeaders.Set("User-Agent", c.s.userAgent())
14559	if c.ifNoneMatch_ != "" {
14560		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14561	}
14562	var body io.Reader = nil
14563	c.urlParams_.Set("alt", alt)
14564	c.urlParams_.Set("prettyPrint", "false")
14565	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
14566	urls += "?" + c.urlParams_.Encode()
14567	req, err := http.NewRequest("GET", urls, body)
14568	if err != nil {
14569		return nil, err
14570	}
14571	req.Header = reqHeaders
14572	googleapi.Expand(req.URL, map[string]string{
14573		"profileId": strconv.FormatInt(c.profileId, 10),
14574		"id":        strconv.FormatInt(c.id, 10),
14575	})
14576	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14577}
14578
14579// Do executes the "dfareporting.accountPermissions.get" call.
14580// Exactly one of *AccountPermission or error will be non-nil. Any
14581// non-2xx status code is an error. Response headers are in either
14582// *AccountPermission.ServerResponse.Header or (if a response was
14583// returned at all) in error.(*googleapi.Error).Header. Use
14584// googleapi.IsNotModified to check whether the returned error was
14585// because http.StatusNotModified was returned.
14586func (c *AccountPermissionsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermission, error) {
14587	gensupport.SetOptions(c.urlParams_, opts...)
14588	res, err := c.doRequest("json")
14589	if res != nil && res.StatusCode == http.StatusNotModified {
14590		if res.Body != nil {
14591			res.Body.Close()
14592		}
14593		return nil, &googleapi.Error{
14594			Code:   res.StatusCode,
14595			Header: res.Header,
14596		}
14597	}
14598	if err != nil {
14599		return nil, err
14600	}
14601	defer googleapi.CloseBody(res)
14602	if err := googleapi.CheckResponse(res); err != nil {
14603		return nil, err
14604	}
14605	ret := &AccountPermission{
14606		ServerResponse: googleapi.ServerResponse{
14607			Header:         res.Header,
14608			HTTPStatusCode: res.StatusCode,
14609		},
14610	}
14611	target := &ret
14612	if err := gensupport.DecodeResponse(target, res); err != nil {
14613		return nil, err
14614	}
14615	return ret, nil
14616	// {
14617	//   "description": "Gets one account permission by ID.",
14618	//   "flatPath": "userprofiles/{profileId}/accountPermissions/{id}",
14619	//   "httpMethod": "GET",
14620	//   "id": "dfareporting.accountPermissions.get",
14621	//   "parameterOrder": [
14622	//     "profileId",
14623	//     "id"
14624	//   ],
14625	//   "parameters": {
14626	//     "id": {
14627	//       "description": "Account permission ID.",
14628	//       "format": "int64",
14629	//       "location": "path",
14630	//       "required": true,
14631	//       "type": "string"
14632	//     },
14633	//     "profileId": {
14634	//       "description": "User profile ID associated with this request.",
14635	//       "format": "int64",
14636	//       "location": "path",
14637	//       "required": true,
14638	//       "type": "string"
14639	//     }
14640	//   },
14641	//   "path": "userprofiles/{profileId}/accountPermissions/{id}",
14642	//   "response": {
14643	//     "$ref": "AccountPermission"
14644	//   },
14645	//   "scopes": [
14646	//     "https://www.googleapis.com/auth/dfatrafficking"
14647	//   ]
14648	// }
14649
14650}
14651
14652// method id "dfareporting.accountPermissions.list":
14653
14654type AccountPermissionsListCall struct {
14655	s            *Service
14656	profileId    int64
14657	urlParams_   gensupport.URLParams
14658	ifNoneMatch_ string
14659	ctx_         context.Context
14660	header_      http.Header
14661}
14662
14663// List: Retrieves the list of account permissions.
14664//
14665// - profileId: User profile ID associated with this request.
14666func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
14667	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14668	c.profileId = profileId
14669	return c
14670}
14671
14672// Fields allows partial responses to be retrieved. See
14673// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14674// for more information.
14675func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
14676	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14677	return c
14678}
14679
14680// IfNoneMatch sets the optional parameter which makes the operation
14681// fail if the object's ETag matches the given value. This is useful for
14682// getting updates only after the object has changed since the last
14683// request. Use googleapi.IsNotModified to check whether the response
14684// error from Do is the result of In-None-Match.
14685func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
14686	c.ifNoneMatch_ = entityTag
14687	return c
14688}
14689
14690// Context sets the context to be used in this call's Do method. Any
14691// pending HTTP request will be aborted if the provided context is
14692// canceled.
14693func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
14694	c.ctx_ = ctx
14695	return c
14696}
14697
14698// Header returns an http.Header that can be modified by the caller to
14699// add HTTP headers to the request.
14700func (c *AccountPermissionsListCall) Header() http.Header {
14701	if c.header_ == nil {
14702		c.header_ = make(http.Header)
14703	}
14704	return c.header_
14705}
14706
14707func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
14708	reqHeaders := make(http.Header)
14709	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14710	for k, v := range c.header_ {
14711		reqHeaders[k] = v
14712	}
14713	reqHeaders.Set("User-Agent", c.s.userAgent())
14714	if c.ifNoneMatch_ != "" {
14715		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14716	}
14717	var body io.Reader = nil
14718	c.urlParams_.Set("alt", alt)
14719	c.urlParams_.Set("prettyPrint", "false")
14720	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
14721	urls += "?" + c.urlParams_.Encode()
14722	req, err := http.NewRequest("GET", urls, body)
14723	if err != nil {
14724		return nil, err
14725	}
14726	req.Header = reqHeaders
14727	googleapi.Expand(req.URL, map[string]string{
14728		"profileId": strconv.FormatInt(c.profileId, 10),
14729	})
14730	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14731}
14732
14733// Do executes the "dfareporting.accountPermissions.list" call.
14734// Exactly one of *AccountPermissionsListResponse or error will be
14735// non-nil. Any non-2xx status code is an error. Response headers are in
14736// either *AccountPermissionsListResponse.ServerResponse.Header or (if a
14737// response was returned at all) in error.(*googleapi.Error).Header. Use
14738// googleapi.IsNotModified to check whether the returned error was
14739// because http.StatusNotModified was returned.
14740func (c *AccountPermissionsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionsListResponse, error) {
14741	gensupport.SetOptions(c.urlParams_, opts...)
14742	res, err := c.doRequest("json")
14743	if res != nil && res.StatusCode == http.StatusNotModified {
14744		if res.Body != nil {
14745			res.Body.Close()
14746		}
14747		return nil, &googleapi.Error{
14748			Code:   res.StatusCode,
14749			Header: res.Header,
14750		}
14751	}
14752	if err != nil {
14753		return nil, err
14754	}
14755	defer googleapi.CloseBody(res)
14756	if err := googleapi.CheckResponse(res); err != nil {
14757		return nil, err
14758	}
14759	ret := &AccountPermissionsListResponse{
14760		ServerResponse: googleapi.ServerResponse{
14761			Header:         res.Header,
14762			HTTPStatusCode: res.StatusCode,
14763		},
14764	}
14765	target := &ret
14766	if err := gensupport.DecodeResponse(target, res); err != nil {
14767		return nil, err
14768	}
14769	return ret, nil
14770	// {
14771	//   "description": "Retrieves the list of account permissions.",
14772	//   "flatPath": "userprofiles/{profileId}/accountPermissions",
14773	//   "httpMethod": "GET",
14774	//   "id": "dfareporting.accountPermissions.list",
14775	//   "parameterOrder": [
14776	//     "profileId"
14777	//   ],
14778	//   "parameters": {
14779	//     "profileId": {
14780	//       "description": "User profile ID associated with this request.",
14781	//       "format": "int64",
14782	//       "location": "path",
14783	//       "required": true,
14784	//       "type": "string"
14785	//     }
14786	//   },
14787	//   "path": "userprofiles/{profileId}/accountPermissions",
14788	//   "response": {
14789	//     "$ref": "AccountPermissionsListResponse"
14790	//   },
14791	//   "scopes": [
14792	//     "https://www.googleapis.com/auth/dfatrafficking"
14793	//   ]
14794	// }
14795
14796}
14797
14798// method id "dfareporting.accountUserProfiles.get":
14799
14800type AccountUserProfilesGetCall struct {
14801	s            *Service
14802	profileId    int64
14803	id           int64
14804	urlParams_   gensupport.URLParams
14805	ifNoneMatch_ string
14806	ctx_         context.Context
14807	header_      http.Header
14808}
14809
14810// Get: Gets one account user profile by ID.
14811//
14812// - id: User profile ID.
14813// - profileId: User profile ID associated with this request.
14814func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
14815	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14816	c.profileId = profileId
14817	c.id = id
14818	return c
14819}
14820
14821// Fields allows partial responses to be retrieved. See
14822// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14823// for more information.
14824func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
14825	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14826	return c
14827}
14828
14829// IfNoneMatch sets the optional parameter which makes the operation
14830// fail if the object's ETag matches the given value. This is useful for
14831// getting updates only after the object has changed since the last
14832// request. Use googleapi.IsNotModified to check whether the response
14833// error from Do is the result of In-None-Match.
14834func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
14835	c.ifNoneMatch_ = entityTag
14836	return c
14837}
14838
14839// Context sets the context to be used in this call's Do method. Any
14840// pending HTTP request will be aborted if the provided context is
14841// canceled.
14842func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
14843	c.ctx_ = ctx
14844	return c
14845}
14846
14847// Header returns an http.Header that can be modified by the caller to
14848// add HTTP headers to the request.
14849func (c *AccountUserProfilesGetCall) Header() http.Header {
14850	if c.header_ == nil {
14851		c.header_ = make(http.Header)
14852	}
14853	return c.header_
14854}
14855
14856func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
14857	reqHeaders := make(http.Header)
14858	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14859	for k, v := range c.header_ {
14860		reqHeaders[k] = v
14861	}
14862	reqHeaders.Set("User-Agent", c.s.userAgent())
14863	if c.ifNoneMatch_ != "" {
14864		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14865	}
14866	var body io.Reader = nil
14867	c.urlParams_.Set("alt", alt)
14868	c.urlParams_.Set("prettyPrint", "false")
14869	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
14870	urls += "?" + c.urlParams_.Encode()
14871	req, err := http.NewRequest("GET", urls, body)
14872	if err != nil {
14873		return nil, err
14874	}
14875	req.Header = reqHeaders
14876	googleapi.Expand(req.URL, map[string]string{
14877		"profileId": strconv.FormatInt(c.profileId, 10),
14878		"id":        strconv.FormatInt(c.id, 10),
14879	})
14880	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14881}
14882
14883// Do executes the "dfareporting.accountUserProfiles.get" call.
14884// Exactly one of *AccountUserProfile or error will be non-nil. Any
14885// non-2xx status code is an error. Response headers are in either
14886// *AccountUserProfile.ServerResponse.Header or (if a response was
14887// returned at all) in error.(*googleapi.Error).Header. Use
14888// googleapi.IsNotModified to check whether the returned error was
14889// because http.StatusNotModified was returned.
14890func (c *AccountUserProfilesGetCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
14891	gensupport.SetOptions(c.urlParams_, opts...)
14892	res, err := c.doRequest("json")
14893	if res != nil && res.StatusCode == http.StatusNotModified {
14894		if res.Body != nil {
14895			res.Body.Close()
14896		}
14897		return nil, &googleapi.Error{
14898			Code:   res.StatusCode,
14899			Header: res.Header,
14900		}
14901	}
14902	if err != nil {
14903		return nil, err
14904	}
14905	defer googleapi.CloseBody(res)
14906	if err := googleapi.CheckResponse(res); err != nil {
14907		return nil, err
14908	}
14909	ret := &AccountUserProfile{
14910		ServerResponse: googleapi.ServerResponse{
14911			Header:         res.Header,
14912			HTTPStatusCode: res.StatusCode,
14913		},
14914	}
14915	target := &ret
14916	if err := gensupport.DecodeResponse(target, res); err != nil {
14917		return nil, err
14918	}
14919	return ret, nil
14920	// {
14921	//   "description": "Gets one account user profile by ID.",
14922	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles/{id}",
14923	//   "httpMethod": "GET",
14924	//   "id": "dfareporting.accountUserProfiles.get",
14925	//   "parameterOrder": [
14926	//     "profileId",
14927	//     "id"
14928	//   ],
14929	//   "parameters": {
14930	//     "id": {
14931	//       "description": "User profile ID.",
14932	//       "format": "int64",
14933	//       "location": "path",
14934	//       "required": true,
14935	//       "type": "string"
14936	//     },
14937	//     "profileId": {
14938	//       "description": "User profile ID associated with this request.",
14939	//       "format": "int64",
14940	//       "location": "path",
14941	//       "required": true,
14942	//       "type": "string"
14943	//     }
14944	//   },
14945	//   "path": "userprofiles/{profileId}/accountUserProfiles/{id}",
14946	//   "response": {
14947	//     "$ref": "AccountUserProfile"
14948	//   },
14949	//   "scopes": [
14950	//     "https://www.googleapis.com/auth/dfatrafficking"
14951	//   ]
14952	// }
14953
14954}
14955
14956// method id "dfareporting.accountUserProfiles.insert":
14957
14958type AccountUserProfilesInsertCall struct {
14959	s                  *Service
14960	profileId          int64
14961	accountuserprofile *AccountUserProfile
14962	urlParams_         gensupport.URLParams
14963	ctx_               context.Context
14964	header_            http.Header
14965}
14966
14967// Insert: Inserts a new account user profile.
14968//
14969// - profileId: User profile ID associated with this request.
14970func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
14971	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14972	c.profileId = profileId
14973	c.accountuserprofile = accountuserprofile
14974	return c
14975}
14976
14977// Fields allows partial responses to be retrieved. See
14978// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14979// for more information.
14980func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
14981	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14982	return c
14983}
14984
14985// Context sets the context to be used in this call's Do method. Any
14986// pending HTTP request will be aborted if the provided context is
14987// canceled.
14988func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
14989	c.ctx_ = ctx
14990	return c
14991}
14992
14993// Header returns an http.Header that can be modified by the caller to
14994// add HTTP headers to the request.
14995func (c *AccountUserProfilesInsertCall) Header() http.Header {
14996	if c.header_ == nil {
14997		c.header_ = make(http.Header)
14998	}
14999	return c.header_
15000}
15001
15002func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
15003	reqHeaders := make(http.Header)
15004	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15005	for k, v := range c.header_ {
15006		reqHeaders[k] = v
15007	}
15008	reqHeaders.Set("User-Agent", c.s.userAgent())
15009	var body io.Reader = nil
15010	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15011	if err != nil {
15012		return nil, err
15013	}
15014	reqHeaders.Set("Content-Type", "application/json")
15015	c.urlParams_.Set("alt", alt)
15016	c.urlParams_.Set("prettyPrint", "false")
15017	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15018	urls += "?" + c.urlParams_.Encode()
15019	req, err := http.NewRequest("POST", urls, body)
15020	if err != nil {
15021		return nil, err
15022	}
15023	req.Header = reqHeaders
15024	googleapi.Expand(req.URL, map[string]string{
15025		"profileId": strconv.FormatInt(c.profileId, 10),
15026	})
15027	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15028}
15029
15030// Do executes the "dfareporting.accountUserProfiles.insert" call.
15031// Exactly one of *AccountUserProfile or error will be non-nil. Any
15032// non-2xx status code is an error. Response headers are in either
15033// *AccountUserProfile.ServerResponse.Header or (if a response was
15034// returned at all) in error.(*googleapi.Error).Header. Use
15035// googleapi.IsNotModified to check whether the returned error was
15036// because http.StatusNotModified was returned.
15037func (c *AccountUserProfilesInsertCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15038	gensupport.SetOptions(c.urlParams_, opts...)
15039	res, err := c.doRequest("json")
15040	if res != nil && res.StatusCode == http.StatusNotModified {
15041		if res.Body != nil {
15042			res.Body.Close()
15043		}
15044		return nil, &googleapi.Error{
15045			Code:   res.StatusCode,
15046			Header: res.Header,
15047		}
15048	}
15049	if err != nil {
15050		return nil, err
15051	}
15052	defer googleapi.CloseBody(res)
15053	if err := googleapi.CheckResponse(res); err != nil {
15054		return nil, err
15055	}
15056	ret := &AccountUserProfile{
15057		ServerResponse: googleapi.ServerResponse{
15058			Header:         res.Header,
15059			HTTPStatusCode: res.StatusCode,
15060		},
15061	}
15062	target := &ret
15063	if err := gensupport.DecodeResponse(target, res); err != nil {
15064		return nil, err
15065	}
15066	return ret, nil
15067	// {
15068	//   "description": "Inserts a new account user profile.",
15069	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15070	//   "httpMethod": "POST",
15071	//   "id": "dfareporting.accountUserProfiles.insert",
15072	//   "parameterOrder": [
15073	//     "profileId"
15074	//   ],
15075	//   "parameters": {
15076	//     "profileId": {
15077	//       "description": "User profile ID associated with this request.",
15078	//       "format": "int64",
15079	//       "location": "path",
15080	//       "required": true,
15081	//       "type": "string"
15082	//     }
15083	//   },
15084	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15085	//   "request": {
15086	//     "$ref": "AccountUserProfile"
15087	//   },
15088	//   "response": {
15089	//     "$ref": "AccountUserProfile"
15090	//   },
15091	//   "scopes": [
15092	//     "https://www.googleapis.com/auth/dfatrafficking"
15093	//   ]
15094	// }
15095
15096}
15097
15098// method id "dfareporting.accountUserProfiles.list":
15099
15100type AccountUserProfilesListCall struct {
15101	s            *Service
15102	profileId    int64
15103	urlParams_   gensupport.URLParams
15104	ifNoneMatch_ string
15105	ctx_         context.Context
15106	header_      http.Header
15107}
15108
15109// List: Retrieves a list of account user profiles, possibly filtered.
15110// This method supports paging.
15111//
15112// - profileId: User profile ID associated with this request.
15113func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
15114	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15115	c.profileId = profileId
15116	return c
15117}
15118
15119// Active sets the optional parameter "active": Select only active user
15120// profiles.
15121func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
15122	c.urlParams_.Set("active", fmt.Sprint(active))
15123	return c
15124}
15125
15126// Ids sets the optional parameter "ids": Select only user profiles with
15127// these IDs.
15128func (c *AccountUserProfilesListCall) Ids(ids ...int64) *AccountUserProfilesListCall {
15129	var ids_ []string
15130	for _, v := range ids {
15131		ids_ = append(ids_, fmt.Sprint(v))
15132	}
15133	c.urlParams_.SetMulti("ids", ids_)
15134	return c
15135}
15136
15137// MaxResults sets the optional parameter "maxResults": Maximum number
15138// of results to return.
15139func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
15140	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
15141	return c
15142}
15143
15144// PageToken sets the optional parameter "pageToken": Value of the
15145// nextPageToken from the previous result page.
15146func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
15147	c.urlParams_.Set("pageToken", pageToken)
15148	return c
15149}
15150
15151// SearchString sets the optional parameter "searchString": Allows
15152// searching for objects by name, ID or email. Wildcards (*) are
15153// allowed. For example, "user profile*2015" will return objects with
15154// names like "user profile June 2015", "user profile April 2015", or
15155// simply "user profile 2015". Most of the searches also add wildcards
15156// implicitly at the start and the end of the search string. For
15157// example, a search string of "user profile" will match objects with
15158// name "my user profile", "user profile 2015", or simply "user
15159// profile".
15160func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
15161	c.urlParams_.Set("searchString", searchString)
15162	return c
15163}
15164
15165// SortField sets the optional parameter "sortField": Field by which to
15166// sort the list.
15167//
15168// Possible values:
15169//   "ID" (default)
15170//   "NAME"
15171func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
15172	c.urlParams_.Set("sortField", sortField)
15173	return c
15174}
15175
15176// SortOrder sets the optional parameter "sortOrder": Order of sorted
15177// results.
15178//
15179// Possible values:
15180//   "ASCENDING" (default)
15181//   "DESCENDING"
15182func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
15183	c.urlParams_.Set("sortOrder", sortOrder)
15184	return c
15185}
15186
15187// SubaccountId sets the optional parameter "subaccountId": Select only
15188// user profiles with the specified subaccount ID.
15189func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
15190	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
15191	return c
15192}
15193
15194// UserRoleId sets the optional parameter "userRoleId": Select only user
15195// profiles with the specified user role ID.
15196func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
15197	c.urlParams_.Set("userRoleId", fmt.Sprint(userRoleId))
15198	return c
15199}
15200
15201// Fields allows partial responses to be retrieved. See
15202// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15203// for more information.
15204func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
15205	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15206	return c
15207}
15208
15209// IfNoneMatch sets the optional parameter which makes the operation
15210// fail if the object's ETag matches the given value. This is useful for
15211// getting updates only after the object has changed since the last
15212// request. Use googleapi.IsNotModified to check whether the response
15213// error from Do is the result of In-None-Match.
15214func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
15215	c.ifNoneMatch_ = entityTag
15216	return c
15217}
15218
15219// Context sets the context to be used in this call's Do method. Any
15220// pending HTTP request will be aborted if the provided context is
15221// canceled.
15222func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
15223	c.ctx_ = ctx
15224	return c
15225}
15226
15227// Header returns an http.Header that can be modified by the caller to
15228// add HTTP headers to the request.
15229func (c *AccountUserProfilesListCall) Header() http.Header {
15230	if c.header_ == nil {
15231		c.header_ = make(http.Header)
15232	}
15233	return c.header_
15234}
15235
15236func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
15237	reqHeaders := make(http.Header)
15238	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15239	for k, v := range c.header_ {
15240		reqHeaders[k] = v
15241	}
15242	reqHeaders.Set("User-Agent", c.s.userAgent())
15243	if c.ifNoneMatch_ != "" {
15244		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15245	}
15246	var body io.Reader = nil
15247	c.urlParams_.Set("alt", alt)
15248	c.urlParams_.Set("prettyPrint", "false")
15249	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15250	urls += "?" + c.urlParams_.Encode()
15251	req, err := http.NewRequest("GET", urls, body)
15252	if err != nil {
15253		return nil, err
15254	}
15255	req.Header = reqHeaders
15256	googleapi.Expand(req.URL, map[string]string{
15257		"profileId": strconv.FormatInt(c.profileId, 10),
15258	})
15259	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15260}
15261
15262// Do executes the "dfareporting.accountUserProfiles.list" call.
15263// Exactly one of *AccountUserProfilesListResponse or error will be
15264// non-nil. Any non-2xx status code is an error. Response headers are in
15265// either *AccountUserProfilesListResponse.ServerResponse.Header or (if
15266// a response was returned at all) in error.(*googleapi.Error).Header.
15267// Use googleapi.IsNotModified to check whether the returned error was
15268// because http.StatusNotModified was returned.
15269func (c *AccountUserProfilesListCall) Do(opts ...googleapi.CallOption) (*AccountUserProfilesListResponse, error) {
15270	gensupport.SetOptions(c.urlParams_, opts...)
15271	res, err := c.doRequest("json")
15272	if res != nil && res.StatusCode == http.StatusNotModified {
15273		if res.Body != nil {
15274			res.Body.Close()
15275		}
15276		return nil, &googleapi.Error{
15277			Code:   res.StatusCode,
15278			Header: res.Header,
15279		}
15280	}
15281	if err != nil {
15282		return nil, err
15283	}
15284	defer googleapi.CloseBody(res)
15285	if err := googleapi.CheckResponse(res); err != nil {
15286		return nil, err
15287	}
15288	ret := &AccountUserProfilesListResponse{
15289		ServerResponse: googleapi.ServerResponse{
15290			Header:         res.Header,
15291			HTTPStatusCode: res.StatusCode,
15292		},
15293	}
15294	target := &ret
15295	if err := gensupport.DecodeResponse(target, res); err != nil {
15296		return nil, err
15297	}
15298	return ret, nil
15299	// {
15300	//   "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
15301	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15302	//   "httpMethod": "GET",
15303	//   "id": "dfareporting.accountUserProfiles.list",
15304	//   "parameterOrder": [
15305	//     "profileId"
15306	//   ],
15307	//   "parameters": {
15308	//     "active": {
15309	//       "description": "Select only active user profiles.",
15310	//       "location": "query",
15311	//       "type": "boolean"
15312	//     },
15313	//     "ids": {
15314	//       "description": "Select only user profiles with these IDs.",
15315	//       "format": "int64",
15316	//       "location": "query",
15317	//       "repeated": true,
15318	//       "type": "string"
15319	//     },
15320	//     "maxResults": {
15321	//       "default": "1000",
15322	//       "description": "Maximum number of results to return.",
15323	//       "format": "int32",
15324	//       "location": "query",
15325	//       "maximum": "1000",
15326	//       "minimum": "0",
15327	//       "type": "integer"
15328	//     },
15329	//     "pageToken": {
15330	//       "description": "Value of the nextPageToken from the previous result page.",
15331	//       "location": "query",
15332	//       "type": "string"
15333	//     },
15334	//     "profileId": {
15335	//       "description": "User profile ID associated with this request.",
15336	//       "format": "int64",
15337	//       "location": "path",
15338	//       "required": true,
15339	//       "type": "string"
15340	//     },
15341	//     "searchString": {
15342	//       "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\".",
15343	//       "location": "query",
15344	//       "type": "string"
15345	//     },
15346	//     "sortField": {
15347	//       "default": "ID",
15348	//       "description": "Field by which to sort the list.",
15349	//       "enum": [
15350	//         "ID",
15351	//         "NAME"
15352	//       ],
15353	//       "enumDescriptions": [
15354	//         "",
15355	//         ""
15356	//       ],
15357	//       "location": "query",
15358	//       "type": "string"
15359	//     },
15360	//     "sortOrder": {
15361	//       "default": "ASCENDING",
15362	//       "description": "Order of sorted results.",
15363	//       "enum": [
15364	//         "ASCENDING",
15365	//         "DESCENDING"
15366	//       ],
15367	//       "enumDescriptions": [
15368	//         "",
15369	//         ""
15370	//       ],
15371	//       "location": "query",
15372	//       "type": "string"
15373	//     },
15374	//     "subaccountId": {
15375	//       "description": "Select only user profiles with the specified subaccount ID.",
15376	//       "format": "int64",
15377	//       "location": "query",
15378	//       "type": "string"
15379	//     },
15380	//     "userRoleId": {
15381	//       "description": "Select only user profiles with the specified user role ID.",
15382	//       "format": "int64",
15383	//       "location": "query",
15384	//       "type": "string"
15385	//     }
15386	//   },
15387	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15388	//   "response": {
15389	//     "$ref": "AccountUserProfilesListResponse"
15390	//   },
15391	//   "scopes": [
15392	//     "https://www.googleapis.com/auth/dfatrafficking"
15393	//   ]
15394	// }
15395
15396}
15397
15398// Pages invokes f for each page of results.
15399// A non-nil error returned from f will halt the iteration.
15400// The provided context supersedes any context provided to the Context method.
15401func (c *AccountUserProfilesListCall) Pages(ctx context.Context, f func(*AccountUserProfilesListResponse) error) error {
15402	c.ctx_ = ctx
15403	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15404	for {
15405		x, err := c.Do()
15406		if err != nil {
15407			return err
15408		}
15409		if err := f(x); err != nil {
15410			return err
15411		}
15412		if x.NextPageToken == "" {
15413			return nil
15414		}
15415		c.PageToken(x.NextPageToken)
15416	}
15417}
15418
15419// method id "dfareporting.accountUserProfiles.patch":
15420
15421type AccountUserProfilesPatchCall struct {
15422	s                  *Service
15423	profileId          int64
15424	accountuserprofile *AccountUserProfile
15425	urlParams_         gensupport.URLParams
15426	ctx_               context.Context
15427	header_            http.Header
15428}
15429
15430// Patch: Updates an existing account user profile. This method supports
15431// patch semantics.
15432//
15433// - id: AccountUserProfile ID.
15434// - profileId: User profile ID associated with this request.
15435func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
15436	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15437	c.profileId = profileId
15438	c.urlParams_.Set("id", fmt.Sprint(id))
15439	c.accountuserprofile = accountuserprofile
15440	return c
15441}
15442
15443// Fields allows partial responses to be retrieved. See
15444// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15445// for more information.
15446func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
15447	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15448	return c
15449}
15450
15451// Context sets the context to be used in this call's Do method. Any
15452// pending HTTP request will be aborted if the provided context is
15453// canceled.
15454func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
15455	c.ctx_ = ctx
15456	return c
15457}
15458
15459// Header returns an http.Header that can be modified by the caller to
15460// add HTTP headers to the request.
15461func (c *AccountUserProfilesPatchCall) Header() http.Header {
15462	if c.header_ == nil {
15463		c.header_ = make(http.Header)
15464	}
15465	return c.header_
15466}
15467
15468func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
15469	reqHeaders := make(http.Header)
15470	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15471	for k, v := range c.header_ {
15472		reqHeaders[k] = v
15473	}
15474	reqHeaders.Set("User-Agent", c.s.userAgent())
15475	var body io.Reader = nil
15476	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15477	if err != nil {
15478		return nil, err
15479	}
15480	reqHeaders.Set("Content-Type", "application/json")
15481	c.urlParams_.Set("alt", alt)
15482	c.urlParams_.Set("prettyPrint", "false")
15483	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15484	urls += "?" + c.urlParams_.Encode()
15485	req, err := http.NewRequest("PATCH", urls, body)
15486	if err != nil {
15487		return nil, err
15488	}
15489	req.Header = reqHeaders
15490	googleapi.Expand(req.URL, map[string]string{
15491		"profileId": strconv.FormatInt(c.profileId, 10),
15492	})
15493	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15494}
15495
15496// Do executes the "dfareporting.accountUserProfiles.patch" call.
15497// Exactly one of *AccountUserProfile or error will be non-nil. Any
15498// non-2xx status code is an error. Response headers are in either
15499// *AccountUserProfile.ServerResponse.Header or (if a response was
15500// returned at all) in error.(*googleapi.Error).Header. Use
15501// googleapi.IsNotModified to check whether the returned error was
15502// because http.StatusNotModified was returned.
15503func (c *AccountUserProfilesPatchCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15504	gensupport.SetOptions(c.urlParams_, opts...)
15505	res, err := c.doRequest("json")
15506	if res != nil && res.StatusCode == http.StatusNotModified {
15507		if res.Body != nil {
15508			res.Body.Close()
15509		}
15510		return nil, &googleapi.Error{
15511			Code:   res.StatusCode,
15512			Header: res.Header,
15513		}
15514	}
15515	if err != nil {
15516		return nil, err
15517	}
15518	defer googleapi.CloseBody(res)
15519	if err := googleapi.CheckResponse(res); err != nil {
15520		return nil, err
15521	}
15522	ret := &AccountUserProfile{
15523		ServerResponse: googleapi.ServerResponse{
15524			Header:         res.Header,
15525			HTTPStatusCode: res.StatusCode,
15526		},
15527	}
15528	target := &ret
15529	if err := gensupport.DecodeResponse(target, res); err != nil {
15530		return nil, err
15531	}
15532	return ret, nil
15533	// {
15534	//   "description": "Updates an existing account user profile. This method supports patch semantics.",
15535	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15536	//   "httpMethod": "PATCH",
15537	//   "id": "dfareporting.accountUserProfiles.patch",
15538	//   "parameterOrder": [
15539	//     "profileId",
15540	//     "id"
15541	//   ],
15542	//   "parameters": {
15543	//     "id": {
15544	//       "description": "AccountUserProfile ID.",
15545	//       "format": "int64",
15546	//       "location": "query",
15547	//       "required": true,
15548	//       "type": "string"
15549	//     },
15550	//     "profileId": {
15551	//       "description": "User profile ID associated with this request.",
15552	//       "format": "int64",
15553	//       "location": "path",
15554	//       "required": true,
15555	//       "type": "string"
15556	//     }
15557	//   },
15558	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15559	//   "request": {
15560	//     "$ref": "AccountUserProfile"
15561	//   },
15562	//   "response": {
15563	//     "$ref": "AccountUserProfile"
15564	//   },
15565	//   "scopes": [
15566	//     "https://www.googleapis.com/auth/dfatrafficking"
15567	//   ]
15568	// }
15569
15570}
15571
15572// method id "dfareporting.accountUserProfiles.update":
15573
15574type AccountUserProfilesUpdateCall struct {
15575	s                  *Service
15576	profileId          int64
15577	accountuserprofile *AccountUserProfile
15578	urlParams_         gensupport.URLParams
15579	ctx_               context.Context
15580	header_            http.Header
15581}
15582
15583// Update: Updates an existing account user profile.
15584//
15585// - profileId: User profile ID associated with this request.
15586func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
15587	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15588	c.profileId = profileId
15589	c.accountuserprofile = accountuserprofile
15590	return c
15591}
15592
15593// Fields allows partial responses to be retrieved. See
15594// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15595// for more information.
15596func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
15597	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15598	return c
15599}
15600
15601// Context sets the context to be used in this call's Do method. Any
15602// pending HTTP request will be aborted if the provided context is
15603// canceled.
15604func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
15605	c.ctx_ = ctx
15606	return c
15607}
15608
15609// Header returns an http.Header that can be modified by the caller to
15610// add HTTP headers to the request.
15611func (c *AccountUserProfilesUpdateCall) Header() http.Header {
15612	if c.header_ == nil {
15613		c.header_ = make(http.Header)
15614	}
15615	return c.header_
15616}
15617
15618func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
15619	reqHeaders := make(http.Header)
15620	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15621	for k, v := range c.header_ {
15622		reqHeaders[k] = v
15623	}
15624	reqHeaders.Set("User-Agent", c.s.userAgent())
15625	var body io.Reader = nil
15626	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15627	if err != nil {
15628		return nil, err
15629	}
15630	reqHeaders.Set("Content-Type", "application/json")
15631	c.urlParams_.Set("alt", alt)
15632	c.urlParams_.Set("prettyPrint", "false")
15633	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15634	urls += "?" + c.urlParams_.Encode()
15635	req, err := http.NewRequest("PUT", urls, body)
15636	if err != nil {
15637		return nil, err
15638	}
15639	req.Header = reqHeaders
15640	googleapi.Expand(req.URL, map[string]string{
15641		"profileId": strconv.FormatInt(c.profileId, 10),
15642	})
15643	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15644}
15645
15646// Do executes the "dfareporting.accountUserProfiles.update" call.
15647// Exactly one of *AccountUserProfile or error will be non-nil. Any
15648// non-2xx status code is an error. Response headers are in either
15649// *AccountUserProfile.ServerResponse.Header or (if a response was
15650// returned at all) in error.(*googleapi.Error).Header. Use
15651// googleapi.IsNotModified to check whether the returned error was
15652// because http.StatusNotModified was returned.
15653func (c *AccountUserProfilesUpdateCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15654	gensupport.SetOptions(c.urlParams_, opts...)
15655	res, err := c.doRequest("json")
15656	if res != nil && res.StatusCode == http.StatusNotModified {
15657		if res.Body != nil {
15658			res.Body.Close()
15659		}
15660		return nil, &googleapi.Error{
15661			Code:   res.StatusCode,
15662			Header: res.Header,
15663		}
15664	}
15665	if err != nil {
15666		return nil, err
15667	}
15668	defer googleapi.CloseBody(res)
15669	if err := googleapi.CheckResponse(res); err != nil {
15670		return nil, err
15671	}
15672	ret := &AccountUserProfile{
15673		ServerResponse: googleapi.ServerResponse{
15674			Header:         res.Header,
15675			HTTPStatusCode: res.StatusCode,
15676		},
15677	}
15678	target := &ret
15679	if err := gensupport.DecodeResponse(target, res); err != nil {
15680		return nil, err
15681	}
15682	return ret, nil
15683	// {
15684	//   "description": "Updates an existing account user profile.",
15685	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15686	//   "httpMethod": "PUT",
15687	//   "id": "dfareporting.accountUserProfiles.update",
15688	//   "parameterOrder": [
15689	//     "profileId"
15690	//   ],
15691	//   "parameters": {
15692	//     "profileId": {
15693	//       "description": "User profile ID associated with this request.",
15694	//       "format": "int64",
15695	//       "location": "path",
15696	//       "required": true,
15697	//       "type": "string"
15698	//     }
15699	//   },
15700	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15701	//   "request": {
15702	//     "$ref": "AccountUserProfile"
15703	//   },
15704	//   "response": {
15705	//     "$ref": "AccountUserProfile"
15706	//   },
15707	//   "scopes": [
15708	//     "https://www.googleapis.com/auth/dfatrafficking"
15709	//   ]
15710	// }
15711
15712}
15713
15714// method id "dfareporting.accounts.get":
15715
15716type AccountsGetCall struct {
15717	s            *Service
15718	profileId    int64
15719	id           int64
15720	urlParams_   gensupport.URLParams
15721	ifNoneMatch_ string
15722	ctx_         context.Context
15723	header_      http.Header
15724}
15725
15726// Get: Gets one account by ID.
15727//
15728// - id: Account ID.
15729// - profileId: User profile ID associated with this request.
15730func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
15731	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15732	c.profileId = profileId
15733	c.id = id
15734	return c
15735}
15736
15737// Fields allows partial responses to be retrieved. See
15738// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15739// for more information.
15740func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
15741	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15742	return c
15743}
15744
15745// IfNoneMatch sets the optional parameter which makes the operation
15746// fail if the object's ETag matches the given value. This is useful for
15747// getting updates only after the object has changed since the last
15748// request. Use googleapi.IsNotModified to check whether the response
15749// error from Do is the result of In-None-Match.
15750func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
15751	c.ifNoneMatch_ = entityTag
15752	return c
15753}
15754
15755// Context sets the context to be used in this call's Do method. Any
15756// pending HTTP request will be aborted if the provided context is
15757// canceled.
15758func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
15759	c.ctx_ = ctx
15760	return c
15761}
15762
15763// Header returns an http.Header that can be modified by the caller to
15764// add HTTP headers to the request.
15765func (c *AccountsGetCall) Header() http.Header {
15766	if c.header_ == nil {
15767		c.header_ = make(http.Header)
15768	}
15769	return c.header_
15770}
15771
15772func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
15773	reqHeaders := make(http.Header)
15774	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15775	for k, v := range c.header_ {
15776		reqHeaders[k] = v
15777	}
15778	reqHeaders.Set("User-Agent", c.s.userAgent())
15779	if c.ifNoneMatch_ != "" {
15780		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15781	}
15782	var body io.Reader = nil
15783	c.urlParams_.Set("alt", alt)
15784	c.urlParams_.Set("prettyPrint", "false")
15785	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
15786	urls += "?" + c.urlParams_.Encode()
15787	req, err := http.NewRequest("GET", urls, body)
15788	if err != nil {
15789		return nil, err
15790	}
15791	req.Header = reqHeaders
15792	googleapi.Expand(req.URL, map[string]string{
15793		"profileId": strconv.FormatInt(c.profileId, 10),
15794		"id":        strconv.FormatInt(c.id, 10),
15795	})
15796	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15797}
15798
15799// Do executes the "dfareporting.accounts.get" call.
15800// Exactly one of *Account or error will be non-nil. Any non-2xx status
15801// code is an error. Response headers are in either
15802// *Account.ServerResponse.Header or (if a response was returned at all)
15803// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15804// check whether the returned error was because http.StatusNotModified
15805// was returned.
15806func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
15807	gensupport.SetOptions(c.urlParams_, opts...)
15808	res, err := c.doRequest("json")
15809	if res != nil && res.StatusCode == http.StatusNotModified {
15810		if res.Body != nil {
15811			res.Body.Close()
15812		}
15813		return nil, &googleapi.Error{
15814			Code:   res.StatusCode,
15815			Header: res.Header,
15816		}
15817	}
15818	if err != nil {
15819		return nil, err
15820	}
15821	defer googleapi.CloseBody(res)
15822	if err := googleapi.CheckResponse(res); err != nil {
15823		return nil, err
15824	}
15825	ret := &Account{
15826		ServerResponse: googleapi.ServerResponse{
15827			Header:         res.Header,
15828			HTTPStatusCode: res.StatusCode,
15829		},
15830	}
15831	target := &ret
15832	if err := gensupport.DecodeResponse(target, res); err != nil {
15833		return nil, err
15834	}
15835	return ret, nil
15836	// {
15837	//   "description": "Gets one account by ID.",
15838	//   "flatPath": "userprofiles/{profileId}/accounts/{id}",
15839	//   "httpMethod": "GET",
15840	//   "id": "dfareporting.accounts.get",
15841	//   "parameterOrder": [
15842	//     "profileId",
15843	//     "id"
15844	//   ],
15845	//   "parameters": {
15846	//     "id": {
15847	//       "description": "Account ID.",
15848	//       "format": "int64",
15849	//       "location": "path",
15850	//       "required": true,
15851	//       "type": "string"
15852	//     },
15853	//     "profileId": {
15854	//       "description": "User profile ID associated with this request.",
15855	//       "format": "int64",
15856	//       "location": "path",
15857	//       "required": true,
15858	//       "type": "string"
15859	//     }
15860	//   },
15861	//   "path": "userprofiles/{profileId}/accounts/{id}",
15862	//   "response": {
15863	//     "$ref": "Account"
15864	//   },
15865	//   "scopes": [
15866	//     "https://www.googleapis.com/auth/dfatrafficking"
15867	//   ]
15868	// }
15869
15870}
15871
15872// method id "dfareporting.accounts.list":
15873
15874type AccountsListCall struct {
15875	s            *Service
15876	profileId    int64
15877	urlParams_   gensupport.URLParams
15878	ifNoneMatch_ string
15879	ctx_         context.Context
15880	header_      http.Header
15881}
15882
15883// List: Retrieves the list of accounts, possibly filtered. This method
15884// supports paging.
15885//
15886// - profileId: User profile ID associated with this request.
15887func (r *AccountsService) List(profileId int64) *AccountsListCall {
15888	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15889	c.profileId = profileId
15890	return c
15891}
15892
15893// Active sets the optional parameter "active": Select only active
15894// accounts. Don't set this field to select both active and non-active
15895// accounts.
15896func (c *AccountsListCall) Active(active bool) *AccountsListCall {
15897	c.urlParams_.Set("active", fmt.Sprint(active))
15898	return c
15899}
15900
15901// Ids sets the optional parameter "ids": Select only accounts with
15902// these IDs.
15903func (c *AccountsListCall) Ids(ids ...int64) *AccountsListCall {
15904	var ids_ []string
15905	for _, v := range ids {
15906		ids_ = append(ids_, fmt.Sprint(v))
15907	}
15908	c.urlParams_.SetMulti("ids", ids_)
15909	return c
15910}
15911
15912// MaxResults sets the optional parameter "maxResults": Maximum number
15913// of results to return.
15914func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
15915	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
15916	return c
15917}
15918
15919// PageToken sets the optional parameter "pageToken": Value of the
15920// nextPageToken from the previous result page.
15921func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
15922	c.urlParams_.Set("pageToken", pageToken)
15923	return c
15924}
15925
15926// SearchString sets the optional parameter "searchString": Allows
15927// searching for objects by name or ID. Wildcards (*) are allowed. For
15928// example, "account*2015" will return objects with names like "account
15929// June 2015", "account April 2015", or simply "account 2015". Most of
15930// the searches also add wildcards implicitly at the start and the end
15931// of the search string. For example, a search string of "account" will
15932// match objects with name "my account", "account 2015", or simply
15933// "account".
15934func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
15935	c.urlParams_.Set("searchString", searchString)
15936	return c
15937}
15938
15939// SortField sets the optional parameter "sortField": Field by which to
15940// sort the list.
15941//
15942// Possible values:
15943//   "ID" (default)
15944//   "NAME"
15945func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
15946	c.urlParams_.Set("sortField", sortField)
15947	return c
15948}
15949
15950// SortOrder sets the optional parameter "sortOrder": Order of sorted
15951// results.
15952//
15953// Possible values:
15954//   "ASCENDING" (default)
15955//   "DESCENDING"
15956func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
15957	c.urlParams_.Set("sortOrder", sortOrder)
15958	return c
15959}
15960
15961// Fields allows partial responses to be retrieved. See
15962// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15963// for more information.
15964func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
15965	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15966	return c
15967}
15968
15969// IfNoneMatch sets the optional parameter which makes the operation
15970// fail if the object's ETag matches the given value. This is useful for
15971// getting updates only after the object has changed since the last
15972// request. Use googleapi.IsNotModified to check whether the response
15973// error from Do is the result of In-None-Match.
15974func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
15975	c.ifNoneMatch_ = entityTag
15976	return c
15977}
15978
15979// Context sets the context to be used in this call's Do method. Any
15980// pending HTTP request will be aborted if the provided context is
15981// canceled.
15982func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
15983	c.ctx_ = ctx
15984	return c
15985}
15986
15987// Header returns an http.Header that can be modified by the caller to
15988// add HTTP headers to the request.
15989func (c *AccountsListCall) Header() http.Header {
15990	if c.header_ == nil {
15991		c.header_ = make(http.Header)
15992	}
15993	return c.header_
15994}
15995
15996func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
15997	reqHeaders := make(http.Header)
15998	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15999	for k, v := range c.header_ {
16000		reqHeaders[k] = v
16001	}
16002	reqHeaders.Set("User-Agent", c.s.userAgent())
16003	if c.ifNoneMatch_ != "" {
16004		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16005	}
16006	var body io.Reader = nil
16007	c.urlParams_.Set("alt", alt)
16008	c.urlParams_.Set("prettyPrint", "false")
16009	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16010	urls += "?" + c.urlParams_.Encode()
16011	req, err := http.NewRequest("GET", urls, body)
16012	if err != nil {
16013		return nil, err
16014	}
16015	req.Header = reqHeaders
16016	googleapi.Expand(req.URL, map[string]string{
16017		"profileId": strconv.FormatInt(c.profileId, 10),
16018	})
16019	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16020}
16021
16022// Do executes the "dfareporting.accounts.list" call.
16023// Exactly one of *AccountsListResponse or error will be non-nil. Any
16024// non-2xx status code is an error. Response headers are in either
16025// *AccountsListResponse.ServerResponse.Header or (if a response was
16026// returned at all) in error.(*googleapi.Error).Header. Use
16027// googleapi.IsNotModified to check whether the returned error was
16028// because http.StatusNotModified was returned.
16029func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsListResponse, error) {
16030	gensupport.SetOptions(c.urlParams_, opts...)
16031	res, err := c.doRequest("json")
16032	if res != nil && res.StatusCode == http.StatusNotModified {
16033		if res.Body != nil {
16034			res.Body.Close()
16035		}
16036		return nil, &googleapi.Error{
16037			Code:   res.StatusCode,
16038			Header: res.Header,
16039		}
16040	}
16041	if err != nil {
16042		return nil, err
16043	}
16044	defer googleapi.CloseBody(res)
16045	if err := googleapi.CheckResponse(res); err != nil {
16046		return nil, err
16047	}
16048	ret := &AccountsListResponse{
16049		ServerResponse: googleapi.ServerResponse{
16050			Header:         res.Header,
16051			HTTPStatusCode: res.StatusCode,
16052		},
16053	}
16054	target := &ret
16055	if err := gensupport.DecodeResponse(target, res); err != nil {
16056		return nil, err
16057	}
16058	return ret, nil
16059	// {
16060	//   "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
16061	//   "flatPath": "userprofiles/{profileId}/accounts",
16062	//   "httpMethod": "GET",
16063	//   "id": "dfareporting.accounts.list",
16064	//   "parameterOrder": [
16065	//     "profileId"
16066	//   ],
16067	//   "parameters": {
16068	//     "active": {
16069	//       "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.",
16070	//       "location": "query",
16071	//       "type": "boolean"
16072	//     },
16073	//     "ids": {
16074	//       "description": "Select only accounts with these IDs.",
16075	//       "format": "int64",
16076	//       "location": "query",
16077	//       "repeated": true,
16078	//       "type": "string"
16079	//     },
16080	//     "maxResults": {
16081	//       "default": "1000",
16082	//       "description": "Maximum number of results to return.",
16083	//       "format": "int32",
16084	//       "location": "query",
16085	//       "maximum": "1000",
16086	//       "minimum": "0",
16087	//       "type": "integer"
16088	//     },
16089	//     "pageToken": {
16090	//       "description": "Value of the nextPageToken from the previous result page.",
16091	//       "location": "query",
16092	//       "type": "string"
16093	//     },
16094	//     "profileId": {
16095	//       "description": "User profile ID associated with this request.",
16096	//       "format": "int64",
16097	//       "location": "path",
16098	//       "required": true,
16099	//       "type": "string"
16100	//     },
16101	//     "searchString": {
16102	//       "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\".",
16103	//       "location": "query",
16104	//       "type": "string"
16105	//     },
16106	//     "sortField": {
16107	//       "default": "ID",
16108	//       "description": "Field by which to sort the list.",
16109	//       "enum": [
16110	//         "ID",
16111	//         "NAME"
16112	//       ],
16113	//       "enumDescriptions": [
16114	//         "",
16115	//         ""
16116	//       ],
16117	//       "location": "query",
16118	//       "type": "string"
16119	//     },
16120	//     "sortOrder": {
16121	//       "default": "ASCENDING",
16122	//       "description": "Order of sorted results.",
16123	//       "enum": [
16124	//         "ASCENDING",
16125	//         "DESCENDING"
16126	//       ],
16127	//       "enumDescriptions": [
16128	//         "",
16129	//         ""
16130	//       ],
16131	//       "location": "query",
16132	//       "type": "string"
16133	//     }
16134	//   },
16135	//   "path": "userprofiles/{profileId}/accounts",
16136	//   "response": {
16137	//     "$ref": "AccountsListResponse"
16138	//   },
16139	//   "scopes": [
16140	//     "https://www.googleapis.com/auth/dfatrafficking"
16141	//   ]
16142	// }
16143
16144}
16145
16146// Pages invokes f for each page of results.
16147// A non-nil error returned from f will halt the iteration.
16148// The provided context supersedes any context provided to the Context method.
16149func (c *AccountsListCall) Pages(ctx context.Context, f func(*AccountsListResponse) error) error {
16150	c.ctx_ = ctx
16151	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16152	for {
16153		x, err := c.Do()
16154		if err != nil {
16155			return err
16156		}
16157		if err := f(x); err != nil {
16158			return err
16159		}
16160		if x.NextPageToken == "" {
16161			return nil
16162		}
16163		c.PageToken(x.NextPageToken)
16164	}
16165}
16166
16167// method id "dfareporting.accounts.patch":
16168
16169type AccountsPatchCall struct {
16170	s          *Service
16171	profileId  int64
16172	account    *Account
16173	urlParams_ gensupport.URLParams
16174	ctx_       context.Context
16175	header_    http.Header
16176}
16177
16178// Patch: Updates an existing account. This method supports patch
16179// semantics.
16180//
16181// - id: Account ID.
16182// - profileId: User profile ID associated with this request.
16183func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
16184	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16185	c.profileId = profileId
16186	c.urlParams_.Set("id", fmt.Sprint(id))
16187	c.account = account
16188	return c
16189}
16190
16191// Fields allows partial responses to be retrieved. See
16192// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16193// for more information.
16194func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
16195	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16196	return c
16197}
16198
16199// Context sets the context to be used in this call's Do method. Any
16200// pending HTTP request will be aborted if the provided context is
16201// canceled.
16202func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
16203	c.ctx_ = ctx
16204	return c
16205}
16206
16207// Header returns an http.Header that can be modified by the caller to
16208// add HTTP headers to the request.
16209func (c *AccountsPatchCall) Header() http.Header {
16210	if c.header_ == nil {
16211		c.header_ = make(http.Header)
16212	}
16213	return c.header_
16214}
16215
16216func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
16217	reqHeaders := make(http.Header)
16218	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16219	for k, v := range c.header_ {
16220		reqHeaders[k] = v
16221	}
16222	reqHeaders.Set("User-Agent", c.s.userAgent())
16223	var body io.Reader = nil
16224	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
16225	if err != nil {
16226		return nil, err
16227	}
16228	reqHeaders.Set("Content-Type", "application/json")
16229	c.urlParams_.Set("alt", alt)
16230	c.urlParams_.Set("prettyPrint", "false")
16231	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16232	urls += "?" + c.urlParams_.Encode()
16233	req, err := http.NewRequest("PATCH", urls, body)
16234	if err != nil {
16235		return nil, err
16236	}
16237	req.Header = reqHeaders
16238	googleapi.Expand(req.URL, map[string]string{
16239		"profileId": strconv.FormatInt(c.profileId, 10),
16240	})
16241	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16242}
16243
16244// Do executes the "dfareporting.accounts.patch" call.
16245// Exactly one of *Account or error will be non-nil. Any non-2xx status
16246// code is an error. Response headers are in either
16247// *Account.ServerResponse.Header or (if a response was returned at all)
16248// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16249// check whether the returned error was because http.StatusNotModified
16250// was returned.
16251func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) {
16252	gensupport.SetOptions(c.urlParams_, opts...)
16253	res, err := c.doRequest("json")
16254	if res != nil && res.StatusCode == http.StatusNotModified {
16255		if res.Body != nil {
16256			res.Body.Close()
16257		}
16258		return nil, &googleapi.Error{
16259			Code:   res.StatusCode,
16260			Header: res.Header,
16261		}
16262	}
16263	if err != nil {
16264		return nil, err
16265	}
16266	defer googleapi.CloseBody(res)
16267	if err := googleapi.CheckResponse(res); err != nil {
16268		return nil, err
16269	}
16270	ret := &Account{
16271		ServerResponse: googleapi.ServerResponse{
16272			Header:         res.Header,
16273			HTTPStatusCode: res.StatusCode,
16274		},
16275	}
16276	target := &ret
16277	if err := gensupport.DecodeResponse(target, res); err != nil {
16278		return nil, err
16279	}
16280	return ret, nil
16281	// {
16282	//   "description": "Updates an existing account. This method supports patch semantics.",
16283	//   "flatPath": "userprofiles/{profileId}/accounts",
16284	//   "httpMethod": "PATCH",
16285	//   "id": "dfareporting.accounts.patch",
16286	//   "parameterOrder": [
16287	//     "profileId",
16288	//     "id"
16289	//   ],
16290	//   "parameters": {
16291	//     "id": {
16292	//       "description": "Account ID.",
16293	//       "format": "int64",
16294	//       "location": "query",
16295	//       "required": true,
16296	//       "type": "string"
16297	//     },
16298	//     "profileId": {
16299	//       "description": "User profile ID associated with this request.",
16300	//       "format": "int64",
16301	//       "location": "path",
16302	//       "required": true,
16303	//       "type": "string"
16304	//     }
16305	//   },
16306	//   "path": "userprofiles/{profileId}/accounts",
16307	//   "request": {
16308	//     "$ref": "Account"
16309	//   },
16310	//   "response": {
16311	//     "$ref": "Account"
16312	//   },
16313	//   "scopes": [
16314	//     "https://www.googleapis.com/auth/dfatrafficking"
16315	//   ]
16316	// }
16317
16318}
16319
16320// method id "dfareporting.accounts.update":
16321
16322type AccountsUpdateCall struct {
16323	s          *Service
16324	profileId  int64
16325	account    *Account
16326	urlParams_ gensupport.URLParams
16327	ctx_       context.Context
16328	header_    http.Header
16329}
16330
16331// Update: Updates an existing account.
16332//
16333// - profileId: User profile ID associated with this request.
16334func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
16335	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16336	c.profileId = profileId
16337	c.account = account
16338	return c
16339}
16340
16341// Fields allows partial responses to be retrieved. See
16342// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16343// for more information.
16344func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
16345	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16346	return c
16347}
16348
16349// Context sets the context to be used in this call's Do method. Any
16350// pending HTTP request will be aborted if the provided context is
16351// canceled.
16352func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
16353	c.ctx_ = ctx
16354	return c
16355}
16356
16357// Header returns an http.Header that can be modified by the caller to
16358// add HTTP headers to the request.
16359func (c *AccountsUpdateCall) Header() http.Header {
16360	if c.header_ == nil {
16361		c.header_ = make(http.Header)
16362	}
16363	return c.header_
16364}
16365
16366func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
16367	reqHeaders := make(http.Header)
16368	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16369	for k, v := range c.header_ {
16370		reqHeaders[k] = v
16371	}
16372	reqHeaders.Set("User-Agent", c.s.userAgent())
16373	var body io.Reader = nil
16374	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
16375	if err != nil {
16376		return nil, err
16377	}
16378	reqHeaders.Set("Content-Type", "application/json")
16379	c.urlParams_.Set("alt", alt)
16380	c.urlParams_.Set("prettyPrint", "false")
16381	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16382	urls += "?" + c.urlParams_.Encode()
16383	req, err := http.NewRequest("PUT", urls, body)
16384	if err != nil {
16385		return nil, err
16386	}
16387	req.Header = reqHeaders
16388	googleapi.Expand(req.URL, map[string]string{
16389		"profileId": strconv.FormatInt(c.profileId, 10),
16390	})
16391	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16392}
16393
16394// Do executes the "dfareporting.accounts.update" call.
16395// Exactly one of *Account or error will be non-nil. Any non-2xx status
16396// code is an error. Response headers are in either
16397// *Account.ServerResponse.Header or (if a response was returned at all)
16398// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16399// check whether the returned error was because http.StatusNotModified
16400// was returned.
16401func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
16402	gensupport.SetOptions(c.urlParams_, opts...)
16403	res, err := c.doRequest("json")
16404	if res != nil && res.StatusCode == http.StatusNotModified {
16405		if res.Body != nil {
16406			res.Body.Close()
16407		}
16408		return nil, &googleapi.Error{
16409			Code:   res.StatusCode,
16410			Header: res.Header,
16411		}
16412	}
16413	if err != nil {
16414		return nil, err
16415	}
16416	defer googleapi.CloseBody(res)
16417	if err := googleapi.CheckResponse(res); err != nil {
16418		return nil, err
16419	}
16420	ret := &Account{
16421		ServerResponse: googleapi.ServerResponse{
16422			Header:         res.Header,
16423			HTTPStatusCode: res.StatusCode,
16424		},
16425	}
16426	target := &ret
16427	if err := gensupport.DecodeResponse(target, res); err != nil {
16428		return nil, err
16429	}
16430	return ret, nil
16431	// {
16432	//   "description": "Updates an existing account.",
16433	//   "flatPath": "userprofiles/{profileId}/accounts",
16434	//   "httpMethod": "PUT",
16435	//   "id": "dfareporting.accounts.update",
16436	//   "parameterOrder": [
16437	//     "profileId"
16438	//   ],
16439	//   "parameters": {
16440	//     "profileId": {
16441	//       "description": "User profile ID associated with this request.",
16442	//       "format": "int64",
16443	//       "location": "path",
16444	//       "required": true,
16445	//       "type": "string"
16446	//     }
16447	//   },
16448	//   "path": "userprofiles/{profileId}/accounts",
16449	//   "request": {
16450	//     "$ref": "Account"
16451	//   },
16452	//   "response": {
16453	//     "$ref": "Account"
16454	//   },
16455	//   "scopes": [
16456	//     "https://www.googleapis.com/auth/dfatrafficking"
16457	//   ]
16458	// }
16459
16460}
16461
16462// method id "dfareporting.ads.get":
16463
16464type AdsGetCall struct {
16465	s            *Service
16466	profileId    int64
16467	id           int64
16468	urlParams_   gensupport.URLParams
16469	ifNoneMatch_ string
16470	ctx_         context.Context
16471	header_      http.Header
16472}
16473
16474// Get: Gets one ad by ID.
16475//
16476// - id: Ad ID.
16477// - profileId: User profile ID associated with this request.
16478func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
16479	c := &AdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16480	c.profileId = profileId
16481	c.id = id
16482	return c
16483}
16484
16485// Fields allows partial responses to be retrieved. See
16486// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16487// for more information.
16488func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
16489	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16490	return c
16491}
16492
16493// IfNoneMatch sets the optional parameter which makes the operation
16494// fail if the object's ETag matches the given value. This is useful for
16495// getting updates only after the object has changed since the last
16496// request. Use googleapi.IsNotModified to check whether the response
16497// error from Do is the result of In-None-Match.
16498func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
16499	c.ifNoneMatch_ = entityTag
16500	return c
16501}
16502
16503// Context sets the context to be used in this call's Do method. Any
16504// pending HTTP request will be aborted if the provided context is
16505// canceled.
16506func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
16507	c.ctx_ = ctx
16508	return c
16509}
16510
16511// Header returns an http.Header that can be modified by the caller to
16512// add HTTP headers to the request.
16513func (c *AdsGetCall) Header() http.Header {
16514	if c.header_ == nil {
16515		c.header_ = make(http.Header)
16516	}
16517	return c.header_
16518}
16519
16520func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
16521	reqHeaders := make(http.Header)
16522	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16523	for k, v := range c.header_ {
16524		reqHeaders[k] = v
16525	}
16526	reqHeaders.Set("User-Agent", c.s.userAgent())
16527	if c.ifNoneMatch_ != "" {
16528		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16529	}
16530	var body io.Reader = nil
16531	c.urlParams_.Set("alt", alt)
16532	c.urlParams_.Set("prettyPrint", "false")
16533	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
16534	urls += "?" + c.urlParams_.Encode()
16535	req, err := http.NewRequest("GET", urls, body)
16536	if err != nil {
16537		return nil, err
16538	}
16539	req.Header = reqHeaders
16540	googleapi.Expand(req.URL, map[string]string{
16541		"profileId": strconv.FormatInt(c.profileId, 10),
16542		"id":        strconv.FormatInt(c.id, 10),
16543	})
16544	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16545}
16546
16547// Do executes the "dfareporting.ads.get" call.
16548// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
16549// is an error. Response headers are in either *Ad.ServerResponse.Header
16550// or (if a response was returned at all) in
16551// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16552// whether the returned error was because http.StatusNotModified was
16553// returned.
16554func (c *AdsGetCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
16555	gensupport.SetOptions(c.urlParams_, opts...)
16556	res, err := c.doRequest("json")
16557	if res != nil && res.StatusCode == http.StatusNotModified {
16558		if res.Body != nil {
16559			res.Body.Close()
16560		}
16561		return nil, &googleapi.Error{
16562			Code:   res.StatusCode,
16563			Header: res.Header,
16564		}
16565	}
16566	if err != nil {
16567		return nil, err
16568	}
16569	defer googleapi.CloseBody(res)
16570	if err := googleapi.CheckResponse(res); err != nil {
16571		return nil, err
16572	}
16573	ret := &Ad{
16574		ServerResponse: googleapi.ServerResponse{
16575			Header:         res.Header,
16576			HTTPStatusCode: res.StatusCode,
16577		},
16578	}
16579	target := &ret
16580	if err := gensupport.DecodeResponse(target, res); err != nil {
16581		return nil, err
16582	}
16583	return ret, nil
16584	// {
16585	//   "description": "Gets one ad by ID.",
16586	//   "flatPath": "userprofiles/{profileId}/ads/{id}",
16587	//   "httpMethod": "GET",
16588	//   "id": "dfareporting.ads.get",
16589	//   "parameterOrder": [
16590	//     "profileId",
16591	//     "id"
16592	//   ],
16593	//   "parameters": {
16594	//     "id": {
16595	//       "description": "Ad ID.",
16596	//       "format": "int64",
16597	//       "location": "path",
16598	//       "required": true,
16599	//       "type": "string"
16600	//     },
16601	//     "profileId": {
16602	//       "description": "User profile ID associated with this request.",
16603	//       "format": "int64",
16604	//       "location": "path",
16605	//       "required": true,
16606	//       "type": "string"
16607	//     }
16608	//   },
16609	//   "path": "userprofiles/{profileId}/ads/{id}",
16610	//   "response": {
16611	//     "$ref": "Ad"
16612	//   },
16613	//   "scopes": [
16614	//     "https://www.googleapis.com/auth/dfatrafficking"
16615	//   ]
16616	// }
16617
16618}
16619
16620// method id "dfareporting.ads.insert":
16621
16622type AdsInsertCall struct {
16623	s          *Service
16624	profileId  int64
16625	ad         *Ad
16626	urlParams_ gensupport.URLParams
16627	ctx_       context.Context
16628	header_    http.Header
16629}
16630
16631// Insert: Inserts a new ad.
16632//
16633// - profileId: User profile ID associated with this request.
16634func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
16635	c := &AdsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16636	c.profileId = profileId
16637	c.ad = ad
16638	return c
16639}
16640
16641// Fields allows partial responses to be retrieved. See
16642// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16643// for more information.
16644func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
16645	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16646	return c
16647}
16648
16649// Context sets the context to be used in this call's Do method. Any
16650// pending HTTP request will be aborted if the provided context is
16651// canceled.
16652func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
16653	c.ctx_ = ctx
16654	return c
16655}
16656
16657// Header returns an http.Header that can be modified by the caller to
16658// add HTTP headers to the request.
16659func (c *AdsInsertCall) Header() http.Header {
16660	if c.header_ == nil {
16661		c.header_ = make(http.Header)
16662	}
16663	return c.header_
16664}
16665
16666func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
16667	reqHeaders := make(http.Header)
16668	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16669	for k, v := range c.header_ {
16670		reqHeaders[k] = v
16671	}
16672	reqHeaders.Set("User-Agent", c.s.userAgent())
16673	var body io.Reader = nil
16674	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
16675	if err != nil {
16676		return nil, err
16677	}
16678	reqHeaders.Set("Content-Type", "application/json")
16679	c.urlParams_.Set("alt", alt)
16680	c.urlParams_.Set("prettyPrint", "false")
16681	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
16682	urls += "?" + c.urlParams_.Encode()
16683	req, err := http.NewRequest("POST", urls, body)
16684	if err != nil {
16685		return nil, err
16686	}
16687	req.Header = reqHeaders
16688	googleapi.Expand(req.URL, map[string]string{
16689		"profileId": strconv.FormatInt(c.profileId, 10),
16690	})
16691	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16692}
16693
16694// Do executes the "dfareporting.ads.insert" call.
16695// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
16696// is an error. Response headers are in either *Ad.ServerResponse.Header
16697// or (if a response was returned at all) in
16698// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16699// whether the returned error was because http.StatusNotModified was
16700// returned.
16701func (c *AdsInsertCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
16702	gensupport.SetOptions(c.urlParams_, opts...)
16703	res, err := c.doRequest("json")
16704	if res != nil && res.StatusCode == http.StatusNotModified {
16705		if res.Body != nil {
16706			res.Body.Close()
16707		}
16708		return nil, &googleapi.Error{
16709			Code:   res.StatusCode,
16710			Header: res.Header,
16711		}
16712	}
16713	if err != nil {
16714		return nil, err
16715	}
16716	defer googleapi.CloseBody(res)
16717	if err := googleapi.CheckResponse(res); err != nil {
16718		return nil, err
16719	}
16720	ret := &Ad{
16721		ServerResponse: googleapi.ServerResponse{
16722			Header:         res.Header,
16723			HTTPStatusCode: res.StatusCode,
16724		},
16725	}
16726	target := &ret
16727	if err := gensupport.DecodeResponse(target, res); err != nil {
16728		return nil, err
16729	}
16730	return ret, nil
16731	// {
16732	//   "description": "Inserts a new ad.",
16733	//   "flatPath": "userprofiles/{profileId}/ads",
16734	//   "httpMethod": "POST",
16735	//   "id": "dfareporting.ads.insert",
16736	//   "parameterOrder": [
16737	//     "profileId"
16738	//   ],
16739	//   "parameters": {
16740	//     "profileId": {
16741	//       "description": "User profile ID associated with this request.",
16742	//       "format": "int64",
16743	//       "location": "path",
16744	//       "required": true,
16745	//       "type": "string"
16746	//     }
16747	//   },
16748	//   "path": "userprofiles/{profileId}/ads",
16749	//   "request": {
16750	//     "$ref": "Ad"
16751	//   },
16752	//   "response": {
16753	//     "$ref": "Ad"
16754	//   },
16755	//   "scopes": [
16756	//     "https://www.googleapis.com/auth/dfatrafficking"
16757	//   ]
16758	// }
16759
16760}
16761
16762// method id "dfareporting.ads.list":
16763
16764type AdsListCall struct {
16765	s            *Service
16766	profileId    int64
16767	urlParams_   gensupport.URLParams
16768	ifNoneMatch_ string
16769	ctx_         context.Context
16770	header_      http.Header
16771}
16772
16773// List: Retrieves a list of ads, possibly filtered. This method
16774// supports paging.
16775//
16776// - profileId: User profile ID associated with this request.
16777func (r *AdsService) List(profileId int64) *AdsListCall {
16778	c := &AdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16779	c.profileId = profileId
16780	return c
16781}
16782
16783// Active sets the optional parameter "active": Select only active ads.
16784func (c *AdsListCall) Active(active bool) *AdsListCall {
16785	c.urlParams_.Set("active", fmt.Sprint(active))
16786	return c
16787}
16788
16789// AdvertiserId sets the optional parameter "advertiserId": Select only
16790// ads with this advertiser ID.
16791func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
16792	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
16793	return c
16794}
16795
16796// Archived sets the optional parameter "archived": Select only archived
16797// ads.
16798func (c *AdsListCall) Archived(archived bool) *AdsListCall {
16799	c.urlParams_.Set("archived", fmt.Sprint(archived))
16800	return c
16801}
16802
16803// AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
16804// Select only ads with these audience segment IDs.
16805func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds ...int64) *AdsListCall {
16806	var audienceSegmentIds_ []string
16807	for _, v := range audienceSegmentIds {
16808		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprint(v))
16809	}
16810	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
16811	return c
16812}
16813
16814// CampaignIds sets the optional parameter "campaignIds": Select only
16815// ads with these campaign IDs.
16816func (c *AdsListCall) CampaignIds(campaignIds ...int64) *AdsListCall {
16817	var campaignIds_ []string
16818	for _, v := range campaignIds {
16819		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
16820	}
16821	c.urlParams_.SetMulti("campaignIds", campaignIds_)
16822	return c
16823}
16824
16825// Compatibility sets the optional parameter "compatibility": Select
16826// default ads with the specified compatibility. Applicable when type is
16827// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
16828// rendering either on desktop or on mobile devices for regular or
16829// interstitial ads, respectively. APP and APP_INTERSTITIAL are for
16830// rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
16831// in-stream video ads developed with the VAST standard.
16832//
16833// Possible values:
16834//   "DISPLAY"
16835//   "DISPLAY_INTERSTITIAL"
16836//   "APP"
16837//   "APP_INTERSTITIAL"
16838//   "IN_STREAM_VIDEO"
16839//   "IN_STREAM_AUDIO"
16840func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
16841	c.urlParams_.Set("compatibility", compatibility)
16842	return c
16843}
16844
16845// CreativeIds sets the optional parameter "creativeIds": Select only
16846// ads with these creative IDs assigned.
16847func (c *AdsListCall) CreativeIds(creativeIds ...int64) *AdsListCall {
16848	var creativeIds_ []string
16849	for _, v := range creativeIds {
16850		creativeIds_ = append(creativeIds_, fmt.Sprint(v))
16851	}
16852	c.urlParams_.SetMulti("creativeIds", creativeIds_)
16853	return c
16854}
16855
16856// CreativeOptimizationConfigurationIds sets the optional parameter
16857// "creativeOptimizationConfigurationIds": Select only ads with these
16858// creative optimization configuration IDs.
16859func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds ...int64) *AdsListCall {
16860	var creativeOptimizationConfigurationIds_ []string
16861	for _, v := range creativeOptimizationConfigurationIds {
16862		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprint(v))
16863	}
16864	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
16865	return c
16866}
16867
16868// DynamicClickTracker sets the optional parameter
16869// "dynamicClickTracker": Select only dynamic click trackers. Applicable
16870// when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click
16871// trackers. If false, select static click trackers. Leave unset to
16872// select both.
16873func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
16874	c.urlParams_.Set("dynamicClickTracker", fmt.Sprint(dynamicClickTracker))
16875	return c
16876}
16877
16878// Ids sets the optional parameter "ids": Select only ads with these
16879// IDs.
16880func (c *AdsListCall) Ids(ids ...int64) *AdsListCall {
16881	var ids_ []string
16882	for _, v := range ids {
16883		ids_ = append(ids_, fmt.Sprint(v))
16884	}
16885	c.urlParams_.SetMulti("ids", ids_)
16886	return c
16887}
16888
16889// LandingPageIds sets the optional parameter "landingPageIds": Select
16890// only ads with these landing page IDs.
16891func (c *AdsListCall) LandingPageIds(landingPageIds ...int64) *AdsListCall {
16892	var landingPageIds_ []string
16893	for _, v := range landingPageIds {
16894		landingPageIds_ = append(landingPageIds_, fmt.Sprint(v))
16895	}
16896	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
16897	return c
16898}
16899
16900// MaxResults sets the optional parameter "maxResults": Maximum number
16901// of results to return.
16902func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
16903	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
16904	return c
16905}
16906
16907// OverriddenEventTagId sets the optional parameter
16908// "overriddenEventTagId": Select only ads with this event tag override
16909// ID.
16910func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
16911	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
16912	return c
16913}
16914
16915// PageToken sets the optional parameter "pageToken": Value of the
16916// nextPageToken from the previous result page.
16917func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
16918	c.urlParams_.Set("pageToken", pageToken)
16919	return c
16920}
16921
16922// PlacementIds sets the optional parameter "placementIds": Select only
16923// ads with these placement IDs assigned.
16924func (c *AdsListCall) PlacementIds(placementIds ...int64) *AdsListCall {
16925	var placementIds_ []string
16926	for _, v := range placementIds {
16927		placementIds_ = append(placementIds_, fmt.Sprint(v))
16928	}
16929	c.urlParams_.SetMulti("placementIds", placementIds_)
16930	return c
16931}
16932
16933// RemarketingListIds sets the optional parameter "remarketingListIds":
16934// Select only ads whose list targeting expression use these remarketing
16935// list IDs.
16936func (c *AdsListCall) RemarketingListIds(remarketingListIds ...int64) *AdsListCall {
16937	var remarketingListIds_ []string
16938	for _, v := range remarketingListIds {
16939		remarketingListIds_ = append(remarketingListIds_, fmt.Sprint(v))
16940	}
16941	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
16942	return c
16943}
16944
16945// SearchString sets the optional parameter "searchString": Allows
16946// searching for objects by name or ID. Wildcards (*) are allowed. For
16947// example, "ad*2015" will return objects with names like "ad June
16948// 2015", "ad April 2015", or simply "ad 2015". Most of the searches
16949// also add wildcards implicitly at the start and the end of the search
16950// string. For example, a search string of "ad" will match objects with
16951// name "my ad", "ad 2015", or simply "ad".
16952func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
16953	c.urlParams_.Set("searchString", searchString)
16954	return c
16955}
16956
16957// SizeIds sets the optional parameter "sizeIds": Select only ads with
16958// these size IDs.
16959func (c *AdsListCall) SizeIds(sizeIds ...int64) *AdsListCall {
16960	var sizeIds_ []string
16961	for _, v := range sizeIds {
16962		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
16963	}
16964	c.urlParams_.SetMulti("sizeIds", sizeIds_)
16965	return c
16966}
16967
16968// SortField sets the optional parameter "sortField": Field by which to
16969// sort the list.
16970//
16971// Possible values:
16972//   "ID" (default)
16973//   "NAME"
16974func (c *AdsListCall) SortField(sortField string) *AdsListCall {
16975	c.urlParams_.Set("sortField", sortField)
16976	return c
16977}
16978
16979// SortOrder sets the optional parameter "sortOrder": Order of sorted
16980// results.
16981//
16982// Possible values:
16983//   "ASCENDING" (default)
16984//   "DESCENDING"
16985func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
16986	c.urlParams_.Set("sortOrder", sortOrder)
16987	return c
16988}
16989
16990// SslCompliant sets the optional parameter "sslCompliant": Select only
16991// ads that are SSL-compliant.
16992func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
16993	c.urlParams_.Set("sslCompliant", fmt.Sprint(sslCompliant))
16994	return c
16995}
16996
16997// SslRequired sets the optional parameter "sslRequired": Select only
16998// ads that require SSL.
16999func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
17000	c.urlParams_.Set("sslRequired", fmt.Sprint(sslRequired))
17001	return c
17002}
17003
17004// Type sets the optional parameter "type": Select only ads with these
17005// types.
17006//
17007// Possible values:
17008//   "AD_SERVING_STANDARD_AD"
17009//   "AD_SERVING_DEFAULT_AD"
17010//   "AD_SERVING_CLICK_TRACKER"
17011//   "AD_SERVING_TRACKING"
17012//   "AD_SERVING_BRAND_SAFE_AD"
17013func (c *AdsListCall) Type(type_ ...string) *AdsListCall {
17014	c.urlParams_.SetMulti("type", append([]string{}, type_...))
17015	return c
17016}
17017
17018// Fields allows partial responses to be retrieved. See
17019// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17020// for more information.
17021func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
17022	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17023	return c
17024}
17025
17026// IfNoneMatch sets the optional parameter which makes the operation
17027// fail if the object's ETag matches the given value. This is useful for
17028// getting updates only after the object has changed since the last
17029// request. Use googleapi.IsNotModified to check whether the response
17030// error from Do is the result of In-None-Match.
17031func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
17032	c.ifNoneMatch_ = entityTag
17033	return c
17034}
17035
17036// Context sets the context to be used in this call's Do method. Any
17037// pending HTTP request will be aborted if the provided context is
17038// canceled.
17039func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
17040	c.ctx_ = ctx
17041	return c
17042}
17043
17044// Header returns an http.Header that can be modified by the caller to
17045// add HTTP headers to the request.
17046func (c *AdsListCall) Header() http.Header {
17047	if c.header_ == nil {
17048		c.header_ = make(http.Header)
17049	}
17050	return c.header_
17051}
17052
17053func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
17054	reqHeaders := make(http.Header)
17055	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17056	for k, v := range c.header_ {
17057		reqHeaders[k] = v
17058	}
17059	reqHeaders.Set("User-Agent", c.s.userAgent())
17060	if c.ifNoneMatch_ != "" {
17061		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17062	}
17063	var body io.Reader = nil
17064	c.urlParams_.Set("alt", alt)
17065	c.urlParams_.Set("prettyPrint", "false")
17066	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17067	urls += "?" + c.urlParams_.Encode()
17068	req, err := http.NewRequest("GET", urls, body)
17069	if err != nil {
17070		return nil, err
17071	}
17072	req.Header = reqHeaders
17073	googleapi.Expand(req.URL, map[string]string{
17074		"profileId": strconv.FormatInt(c.profileId, 10),
17075	})
17076	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17077}
17078
17079// Do executes the "dfareporting.ads.list" call.
17080// Exactly one of *AdsListResponse or error will be non-nil. Any non-2xx
17081// status code is an error. Response headers are in either
17082// *AdsListResponse.ServerResponse.Header or (if a response was returned
17083// at all) in error.(*googleapi.Error).Header. Use
17084// googleapi.IsNotModified to check whether the returned error was
17085// because http.StatusNotModified was returned.
17086func (c *AdsListCall) Do(opts ...googleapi.CallOption) (*AdsListResponse, error) {
17087	gensupport.SetOptions(c.urlParams_, opts...)
17088	res, err := c.doRequest("json")
17089	if res != nil && res.StatusCode == http.StatusNotModified {
17090		if res.Body != nil {
17091			res.Body.Close()
17092		}
17093		return nil, &googleapi.Error{
17094			Code:   res.StatusCode,
17095			Header: res.Header,
17096		}
17097	}
17098	if err != nil {
17099		return nil, err
17100	}
17101	defer googleapi.CloseBody(res)
17102	if err := googleapi.CheckResponse(res); err != nil {
17103		return nil, err
17104	}
17105	ret := &AdsListResponse{
17106		ServerResponse: googleapi.ServerResponse{
17107			Header:         res.Header,
17108			HTTPStatusCode: res.StatusCode,
17109		},
17110	}
17111	target := &ret
17112	if err := gensupport.DecodeResponse(target, res); err != nil {
17113		return nil, err
17114	}
17115	return ret, nil
17116	// {
17117	//   "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
17118	//   "flatPath": "userprofiles/{profileId}/ads",
17119	//   "httpMethod": "GET",
17120	//   "id": "dfareporting.ads.list",
17121	//   "parameterOrder": [
17122	//     "profileId"
17123	//   ],
17124	//   "parameters": {
17125	//     "active": {
17126	//       "description": "Select only active ads.",
17127	//       "location": "query",
17128	//       "type": "boolean"
17129	//     },
17130	//     "advertiserId": {
17131	//       "description": "Select only ads with this advertiser ID.",
17132	//       "format": "int64",
17133	//       "location": "query",
17134	//       "type": "string"
17135	//     },
17136	//     "archived": {
17137	//       "description": "Select only archived ads.",
17138	//       "location": "query",
17139	//       "type": "boolean"
17140	//     },
17141	//     "audienceSegmentIds": {
17142	//       "description": "Select only ads with these audience segment IDs.",
17143	//       "format": "int64",
17144	//       "location": "query",
17145	//       "repeated": true,
17146	//       "type": "string"
17147	//     },
17148	//     "campaignIds": {
17149	//       "description": "Select only ads with these campaign IDs.",
17150	//       "format": "int64",
17151	//       "location": "query",
17152	//       "repeated": true,
17153	//       "type": "string"
17154	//     },
17155	//     "compatibility": {
17156	//       "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.",
17157	//       "enum": [
17158	//         "DISPLAY",
17159	//         "DISPLAY_INTERSTITIAL",
17160	//         "APP",
17161	//         "APP_INTERSTITIAL",
17162	//         "IN_STREAM_VIDEO",
17163	//         "IN_STREAM_AUDIO"
17164	//       ],
17165	//       "enumDescriptions": [
17166	//         "",
17167	//         "",
17168	//         "",
17169	//         "",
17170	//         "",
17171	//         ""
17172	//       ],
17173	//       "location": "query",
17174	//       "type": "string"
17175	//     },
17176	//     "creativeIds": {
17177	//       "description": "Select only ads with these creative IDs assigned.",
17178	//       "format": "int64",
17179	//       "location": "query",
17180	//       "repeated": true,
17181	//       "type": "string"
17182	//     },
17183	//     "creativeOptimizationConfigurationIds": {
17184	//       "description": "Select only ads with these creative optimization configuration IDs.",
17185	//       "format": "int64",
17186	//       "location": "query",
17187	//       "repeated": true,
17188	//       "type": "string"
17189	//     },
17190	//     "dynamicClickTracker": {
17191	//       "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.",
17192	//       "location": "query",
17193	//       "type": "boolean"
17194	//     },
17195	//     "ids": {
17196	//       "description": "Select only ads with these IDs.",
17197	//       "format": "int64",
17198	//       "location": "query",
17199	//       "repeated": true,
17200	//       "type": "string"
17201	//     },
17202	//     "landingPageIds": {
17203	//       "description": "Select only ads with these landing page IDs.",
17204	//       "format": "int64",
17205	//       "location": "query",
17206	//       "repeated": true,
17207	//       "type": "string"
17208	//     },
17209	//     "maxResults": {
17210	//       "default": "1000",
17211	//       "description": "Maximum number of results to return.",
17212	//       "format": "int32",
17213	//       "location": "query",
17214	//       "maximum": "1000",
17215	//       "minimum": "0",
17216	//       "type": "integer"
17217	//     },
17218	//     "overriddenEventTagId": {
17219	//       "description": "Select only ads with this event tag override ID.",
17220	//       "format": "int64",
17221	//       "location": "query",
17222	//       "type": "string"
17223	//     },
17224	//     "pageToken": {
17225	//       "description": "Value of the nextPageToken from the previous result page.",
17226	//       "location": "query",
17227	//       "type": "string"
17228	//     },
17229	//     "placementIds": {
17230	//       "description": "Select only ads with these placement IDs assigned.",
17231	//       "format": "int64",
17232	//       "location": "query",
17233	//       "repeated": true,
17234	//       "type": "string"
17235	//     },
17236	//     "profileId": {
17237	//       "description": "User profile ID associated with this request.",
17238	//       "format": "int64",
17239	//       "location": "path",
17240	//       "required": true,
17241	//       "type": "string"
17242	//     },
17243	//     "remarketingListIds": {
17244	//       "description": "Select only ads whose list targeting expression use these remarketing list IDs.",
17245	//       "format": "int64",
17246	//       "location": "query",
17247	//       "repeated": true,
17248	//       "type": "string"
17249	//     },
17250	//     "searchString": {
17251	//       "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\".",
17252	//       "location": "query",
17253	//       "type": "string"
17254	//     },
17255	//     "sizeIds": {
17256	//       "description": "Select only ads with these size IDs.",
17257	//       "format": "int64",
17258	//       "location": "query",
17259	//       "repeated": true,
17260	//       "type": "string"
17261	//     },
17262	//     "sortField": {
17263	//       "default": "ID",
17264	//       "description": "Field by which to sort the list.",
17265	//       "enum": [
17266	//         "ID",
17267	//         "NAME"
17268	//       ],
17269	//       "enumDescriptions": [
17270	//         "",
17271	//         ""
17272	//       ],
17273	//       "location": "query",
17274	//       "type": "string"
17275	//     },
17276	//     "sortOrder": {
17277	//       "default": "ASCENDING",
17278	//       "description": "Order of sorted results.",
17279	//       "enum": [
17280	//         "ASCENDING",
17281	//         "DESCENDING"
17282	//       ],
17283	//       "enumDescriptions": [
17284	//         "",
17285	//         ""
17286	//       ],
17287	//       "location": "query",
17288	//       "type": "string"
17289	//     },
17290	//     "sslCompliant": {
17291	//       "description": "Select only ads that are SSL-compliant.",
17292	//       "location": "query",
17293	//       "type": "boolean"
17294	//     },
17295	//     "sslRequired": {
17296	//       "description": "Select only ads that require SSL.",
17297	//       "location": "query",
17298	//       "type": "boolean"
17299	//     },
17300	//     "type": {
17301	//       "description": "Select only ads with these types.",
17302	//       "enum": [
17303	//         "AD_SERVING_STANDARD_AD",
17304	//         "AD_SERVING_DEFAULT_AD",
17305	//         "AD_SERVING_CLICK_TRACKER",
17306	//         "AD_SERVING_TRACKING",
17307	//         "AD_SERVING_BRAND_SAFE_AD"
17308	//       ],
17309	//       "enumDescriptions": [
17310	//         "",
17311	//         "",
17312	//         "",
17313	//         "",
17314	//         ""
17315	//       ],
17316	//       "location": "query",
17317	//       "repeated": true,
17318	//       "type": "string"
17319	//     }
17320	//   },
17321	//   "path": "userprofiles/{profileId}/ads",
17322	//   "response": {
17323	//     "$ref": "AdsListResponse"
17324	//   },
17325	//   "scopes": [
17326	//     "https://www.googleapis.com/auth/dfatrafficking"
17327	//   ]
17328	// }
17329
17330}
17331
17332// Pages invokes f for each page of results.
17333// A non-nil error returned from f will halt the iteration.
17334// The provided context supersedes any context provided to the Context method.
17335func (c *AdsListCall) Pages(ctx context.Context, f func(*AdsListResponse) error) error {
17336	c.ctx_ = ctx
17337	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17338	for {
17339		x, err := c.Do()
17340		if err != nil {
17341			return err
17342		}
17343		if err := f(x); err != nil {
17344			return err
17345		}
17346		if x.NextPageToken == "" {
17347			return nil
17348		}
17349		c.PageToken(x.NextPageToken)
17350	}
17351}
17352
17353// method id "dfareporting.ads.patch":
17354
17355type AdsPatchCall struct {
17356	s          *Service
17357	profileId  int64
17358	ad         *Ad
17359	urlParams_ gensupport.URLParams
17360	ctx_       context.Context
17361	header_    http.Header
17362}
17363
17364// Patch: Updates an existing ad. This method supports patch semantics.
17365//
17366// - id: Ad ID.
17367// - profileId: User profile ID associated with this request.
17368func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
17369	c := &AdsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17370	c.profileId = profileId
17371	c.urlParams_.Set("id", fmt.Sprint(id))
17372	c.ad = ad
17373	return c
17374}
17375
17376// Fields allows partial responses to be retrieved. See
17377// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17378// for more information.
17379func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
17380	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17381	return c
17382}
17383
17384// Context sets the context to be used in this call's Do method. Any
17385// pending HTTP request will be aborted if the provided context is
17386// canceled.
17387func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
17388	c.ctx_ = ctx
17389	return c
17390}
17391
17392// Header returns an http.Header that can be modified by the caller to
17393// add HTTP headers to the request.
17394func (c *AdsPatchCall) Header() http.Header {
17395	if c.header_ == nil {
17396		c.header_ = make(http.Header)
17397	}
17398	return c.header_
17399}
17400
17401func (c *AdsPatchCall) doRequest(alt string) (*http.Response, error) {
17402	reqHeaders := make(http.Header)
17403	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17404	for k, v := range c.header_ {
17405		reqHeaders[k] = v
17406	}
17407	reqHeaders.Set("User-Agent", c.s.userAgent())
17408	var body io.Reader = nil
17409	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
17410	if err != nil {
17411		return nil, err
17412	}
17413	reqHeaders.Set("Content-Type", "application/json")
17414	c.urlParams_.Set("alt", alt)
17415	c.urlParams_.Set("prettyPrint", "false")
17416	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17417	urls += "?" + c.urlParams_.Encode()
17418	req, err := http.NewRequest("PATCH", urls, body)
17419	if err != nil {
17420		return nil, err
17421	}
17422	req.Header = reqHeaders
17423	googleapi.Expand(req.URL, map[string]string{
17424		"profileId": strconv.FormatInt(c.profileId, 10),
17425	})
17426	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17427}
17428
17429// Do executes the "dfareporting.ads.patch" call.
17430// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
17431// is an error. Response headers are in either *Ad.ServerResponse.Header
17432// or (if a response was returned at all) in
17433// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17434// whether the returned error was because http.StatusNotModified was
17435// returned.
17436func (c *AdsPatchCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
17437	gensupport.SetOptions(c.urlParams_, opts...)
17438	res, err := c.doRequest("json")
17439	if res != nil && res.StatusCode == http.StatusNotModified {
17440		if res.Body != nil {
17441			res.Body.Close()
17442		}
17443		return nil, &googleapi.Error{
17444			Code:   res.StatusCode,
17445			Header: res.Header,
17446		}
17447	}
17448	if err != nil {
17449		return nil, err
17450	}
17451	defer googleapi.CloseBody(res)
17452	if err := googleapi.CheckResponse(res); err != nil {
17453		return nil, err
17454	}
17455	ret := &Ad{
17456		ServerResponse: googleapi.ServerResponse{
17457			Header:         res.Header,
17458			HTTPStatusCode: res.StatusCode,
17459		},
17460	}
17461	target := &ret
17462	if err := gensupport.DecodeResponse(target, res); err != nil {
17463		return nil, err
17464	}
17465	return ret, nil
17466	// {
17467	//   "description": "Updates an existing ad. This method supports patch semantics.",
17468	//   "flatPath": "userprofiles/{profileId}/ads",
17469	//   "httpMethod": "PATCH",
17470	//   "id": "dfareporting.ads.patch",
17471	//   "parameterOrder": [
17472	//     "profileId",
17473	//     "id"
17474	//   ],
17475	//   "parameters": {
17476	//     "id": {
17477	//       "description": "Ad ID.",
17478	//       "format": "int64",
17479	//       "location": "query",
17480	//       "required": true,
17481	//       "type": "string"
17482	//     },
17483	//     "profileId": {
17484	//       "description": "User profile ID associated with this request.",
17485	//       "format": "int64",
17486	//       "location": "path",
17487	//       "required": true,
17488	//       "type": "string"
17489	//     }
17490	//   },
17491	//   "path": "userprofiles/{profileId}/ads",
17492	//   "request": {
17493	//     "$ref": "Ad"
17494	//   },
17495	//   "response": {
17496	//     "$ref": "Ad"
17497	//   },
17498	//   "scopes": [
17499	//     "https://www.googleapis.com/auth/dfatrafficking"
17500	//   ]
17501	// }
17502
17503}
17504
17505// method id "dfareporting.ads.update":
17506
17507type AdsUpdateCall struct {
17508	s          *Service
17509	profileId  int64
17510	ad         *Ad
17511	urlParams_ gensupport.URLParams
17512	ctx_       context.Context
17513	header_    http.Header
17514}
17515
17516// Update: Updates an existing ad.
17517//
17518// - profileId: User profile ID associated with this request.
17519func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
17520	c := &AdsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17521	c.profileId = profileId
17522	c.ad = ad
17523	return c
17524}
17525
17526// Fields allows partial responses to be retrieved. See
17527// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17528// for more information.
17529func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
17530	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17531	return c
17532}
17533
17534// Context sets the context to be used in this call's Do method. Any
17535// pending HTTP request will be aborted if the provided context is
17536// canceled.
17537func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
17538	c.ctx_ = ctx
17539	return c
17540}
17541
17542// Header returns an http.Header that can be modified by the caller to
17543// add HTTP headers to the request.
17544func (c *AdsUpdateCall) Header() http.Header {
17545	if c.header_ == nil {
17546		c.header_ = make(http.Header)
17547	}
17548	return c.header_
17549}
17550
17551func (c *AdsUpdateCall) doRequest(alt string) (*http.Response, error) {
17552	reqHeaders := make(http.Header)
17553	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17554	for k, v := range c.header_ {
17555		reqHeaders[k] = v
17556	}
17557	reqHeaders.Set("User-Agent", c.s.userAgent())
17558	var body io.Reader = nil
17559	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
17560	if err != nil {
17561		return nil, err
17562	}
17563	reqHeaders.Set("Content-Type", "application/json")
17564	c.urlParams_.Set("alt", alt)
17565	c.urlParams_.Set("prettyPrint", "false")
17566	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17567	urls += "?" + c.urlParams_.Encode()
17568	req, err := http.NewRequest("PUT", urls, body)
17569	if err != nil {
17570		return nil, err
17571	}
17572	req.Header = reqHeaders
17573	googleapi.Expand(req.URL, map[string]string{
17574		"profileId": strconv.FormatInt(c.profileId, 10),
17575	})
17576	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17577}
17578
17579// Do executes the "dfareporting.ads.update" call.
17580// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
17581// is an error. Response headers are in either *Ad.ServerResponse.Header
17582// or (if a response was returned at all) in
17583// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17584// whether the returned error was because http.StatusNotModified was
17585// returned.
17586func (c *AdsUpdateCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
17587	gensupport.SetOptions(c.urlParams_, opts...)
17588	res, err := c.doRequest("json")
17589	if res != nil && res.StatusCode == http.StatusNotModified {
17590		if res.Body != nil {
17591			res.Body.Close()
17592		}
17593		return nil, &googleapi.Error{
17594			Code:   res.StatusCode,
17595			Header: res.Header,
17596		}
17597	}
17598	if err != nil {
17599		return nil, err
17600	}
17601	defer googleapi.CloseBody(res)
17602	if err := googleapi.CheckResponse(res); err != nil {
17603		return nil, err
17604	}
17605	ret := &Ad{
17606		ServerResponse: googleapi.ServerResponse{
17607			Header:         res.Header,
17608			HTTPStatusCode: res.StatusCode,
17609		},
17610	}
17611	target := &ret
17612	if err := gensupport.DecodeResponse(target, res); err != nil {
17613		return nil, err
17614	}
17615	return ret, nil
17616	// {
17617	//   "description": "Updates an existing ad.",
17618	//   "flatPath": "userprofiles/{profileId}/ads",
17619	//   "httpMethod": "PUT",
17620	//   "id": "dfareporting.ads.update",
17621	//   "parameterOrder": [
17622	//     "profileId"
17623	//   ],
17624	//   "parameters": {
17625	//     "profileId": {
17626	//       "description": "User profile ID associated with this request.",
17627	//       "format": "int64",
17628	//       "location": "path",
17629	//       "required": true,
17630	//       "type": "string"
17631	//     }
17632	//   },
17633	//   "path": "userprofiles/{profileId}/ads",
17634	//   "request": {
17635	//     "$ref": "Ad"
17636	//   },
17637	//   "response": {
17638	//     "$ref": "Ad"
17639	//   },
17640	//   "scopes": [
17641	//     "https://www.googleapis.com/auth/dfatrafficking"
17642	//   ]
17643	// }
17644
17645}
17646
17647// method id "dfareporting.advertiserGroups.delete":
17648
17649type AdvertiserGroupsDeleteCall struct {
17650	s          *Service
17651	profileId  int64
17652	id         int64
17653	urlParams_ gensupport.URLParams
17654	ctx_       context.Context
17655	header_    http.Header
17656}
17657
17658// Delete: Deletes an existing advertiser group.
17659//
17660// - id: Advertiser group ID.
17661// - profileId: User profile ID associated with this request.
17662func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
17663	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17664	c.profileId = profileId
17665	c.id = id
17666	return c
17667}
17668
17669// Fields allows partial responses to be retrieved. See
17670// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17671// for more information.
17672func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
17673	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17674	return c
17675}
17676
17677// Context sets the context to be used in this call's Do method. Any
17678// pending HTTP request will be aborted if the provided context is
17679// canceled.
17680func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
17681	c.ctx_ = ctx
17682	return c
17683}
17684
17685// Header returns an http.Header that can be modified by the caller to
17686// add HTTP headers to the request.
17687func (c *AdvertiserGroupsDeleteCall) Header() http.Header {
17688	if c.header_ == nil {
17689		c.header_ = make(http.Header)
17690	}
17691	return c.header_
17692}
17693
17694func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
17695	reqHeaders := make(http.Header)
17696	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17697	for k, v := range c.header_ {
17698		reqHeaders[k] = v
17699	}
17700	reqHeaders.Set("User-Agent", c.s.userAgent())
17701	var body io.Reader = nil
17702	c.urlParams_.Set("alt", alt)
17703	c.urlParams_.Set("prettyPrint", "false")
17704	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
17705	urls += "?" + c.urlParams_.Encode()
17706	req, err := http.NewRequest("DELETE", urls, body)
17707	if err != nil {
17708		return nil, err
17709	}
17710	req.Header = reqHeaders
17711	googleapi.Expand(req.URL, map[string]string{
17712		"profileId": strconv.FormatInt(c.profileId, 10),
17713		"id":        strconv.FormatInt(c.id, 10),
17714	})
17715	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17716}
17717
17718// Do executes the "dfareporting.advertiserGroups.delete" call.
17719func (c *AdvertiserGroupsDeleteCall) Do(opts ...googleapi.CallOption) error {
17720	gensupport.SetOptions(c.urlParams_, opts...)
17721	res, err := c.doRequest("json")
17722	if err != nil {
17723		return err
17724	}
17725	defer googleapi.CloseBody(res)
17726	if err := googleapi.CheckResponse(res); err != nil {
17727		return err
17728	}
17729	return nil
17730	// {
17731	//   "description": "Deletes an existing advertiser group.",
17732	//   "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
17733	//   "httpMethod": "DELETE",
17734	//   "id": "dfareporting.advertiserGroups.delete",
17735	//   "parameterOrder": [
17736	//     "profileId",
17737	//     "id"
17738	//   ],
17739	//   "parameters": {
17740	//     "id": {
17741	//       "description": "Advertiser group ID.",
17742	//       "format": "int64",
17743	//       "location": "path",
17744	//       "required": true,
17745	//       "type": "string"
17746	//     },
17747	//     "profileId": {
17748	//       "description": "User profile ID associated with this request.",
17749	//       "format": "int64",
17750	//       "location": "path",
17751	//       "required": true,
17752	//       "type": "string"
17753	//     }
17754	//   },
17755	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
17756	//   "scopes": [
17757	//     "https://www.googleapis.com/auth/dfatrafficking"
17758	//   ]
17759	// }
17760
17761}
17762
17763// method id "dfareporting.advertiserGroups.get":
17764
17765type AdvertiserGroupsGetCall struct {
17766	s            *Service
17767	profileId    int64
17768	id           int64
17769	urlParams_   gensupport.URLParams
17770	ifNoneMatch_ string
17771	ctx_         context.Context
17772	header_      http.Header
17773}
17774
17775// Get: Gets one advertiser group by ID.
17776//
17777// - id: Advertiser group ID.
17778// - profileId: User profile ID associated with this request.
17779func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
17780	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17781	c.profileId = profileId
17782	c.id = id
17783	return c
17784}
17785
17786// Fields allows partial responses to be retrieved. See
17787// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17788// for more information.
17789func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
17790	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17791	return c
17792}
17793
17794// IfNoneMatch sets the optional parameter which makes the operation
17795// fail if the object's ETag matches the given value. This is useful for
17796// getting updates only after the object has changed since the last
17797// request. Use googleapi.IsNotModified to check whether the response
17798// error from Do is the result of In-None-Match.
17799func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
17800	c.ifNoneMatch_ = entityTag
17801	return c
17802}
17803
17804// Context sets the context to be used in this call's Do method. Any
17805// pending HTTP request will be aborted if the provided context is
17806// canceled.
17807func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
17808	c.ctx_ = ctx
17809	return c
17810}
17811
17812// Header returns an http.Header that can be modified by the caller to
17813// add HTTP headers to the request.
17814func (c *AdvertiserGroupsGetCall) Header() http.Header {
17815	if c.header_ == nil {
17816		c.header_ = make(http.Header)
17817	}
17818	return c.header_
17819}
17820
17821func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
17822	reqHeaders := make(http.Header)
17823	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17824	for k, v := range c.header_ {
17825		reqHeaders[k] = v
17826	}
17827	reqHeaders.Set("User-Agent", c.s.userAgent())
17828	if c.ifNoneMatch_ != "" {
17829		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17830	}
17831	var body io.Reader = nil
17832	c.urlParams_.Set("alt", alt)
17833	c.urlParams_.Set("prettyPrint", "false")
17834	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
17835	urls += "?" + c.urlParams_.Encode()
17836	req, err := http.NewRequest("GET", urls, body)
17837	if err != nil {
17838		return nil, err
17839	}
17840	req.Header = reqHeaders
17841	googleapi.Expand(req.URL, map[string]string{
17842		"profileId": strconv.FormatInt(c.profileId, 10),
17843		"id":        strconv.FormatInt(c.id, 10),
17844	})
17845	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17846}
17847
17848// Do executes the "dfareporting.advertiserGroups.get" call.
17849// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
17850// status code is an error. Response headers are in either
17851// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
17852// at all) in error.(*googleapi.Error).Header. Use
17853// googleapi.IsNotModified to check whether the returned error was
17854// because http.StatusNotModified was returned.
17855func (c *AdvertiserGroupsGetCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
17856	gensupport.SetOptions(c.urlParams_, opts...)
17857	res, err := c.doRequest("json")
17858	if res != nil && res.StatusCode == http.StatusNotModified {
17859		if res.Body != nil {
17860			res.Body.Close()
17861		}
17862		return nil, &googleapi.Error{
17863			Code:   res.StatusCode,
17864			Header: res.Header,
17865		}
17866	}
17867	if err != nil {
17868		return nil, err
17869	}
17870	defer googleapi.CloseBody(res)
17871	if err := googleapi.CheckResponse(res); err != nil {
17872		return nil, err
17873	}
17874	ret := &AdvertiserGroup{
17875		ServerResponse: googleapi.ServerResponse{
17876			Header:         res.Header,
17877			HTTPStatusCode: res.StatusCode,
17878		},
17879	}
17880	target := &ret
17881	if err := gensupport.DecodeResponse(target, res); err != nil {
17882		return nil, err
17883	}
17884	return ret, nil
17885	// {
17886	//   "description": "Gets one advertiser group by ID.",
17887	//   "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
17888	//   "httpMethod": "GET",
17889	//   "id": "dfareporting.advertiserGroups.get",
17890	//   "parameterOrder": [
17891	//     "profileId",
17892	//     "id"
17893	//   ],
17894	//   "parameters": {
17895	//     "id": {
17896	//       "description": "Advertiser group ID.",
17897	//       "format": "int64",
17898	//       "location": "path",
17899	//       "required": true,
17900	//       "type": "string"
17901	//     },
17902	//     "profileId": {
17903	//       "description": "User profile ID associated with this request.",
17904	//       "format": "int64",
17905	//       "location": "path",
17906	//       "required": true,
17907	//       "type": "string"
17908	//     }
17909	//   },
17910	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
17911	//   "response": {
17912	//     "$ref": "AdvertiserGroup"
17913	//   },
17914	//   "scopes": [
17915	//     "https://www.googleapis.com/auth/dfatrafficking"
17916	//   ]
17917	// }
17918
17919}
17920
17921// method id "dfareporting.advertiserGroups.insert":
17922
17923type AdvertiserGroupsInsertCall struct {
17924	s               *Service
17925	profileId       int64
17926	advertisergroup *AdvertiserGroup
17927	urlParams_      gensupport.URLParams
17928	ctx_            context.Context
17929	header_         http.Header
17930}
17931
17932// Insert: Inserts a new advertiser group.
17933//
17934// - profileId: User profile ID associated with this request.
17935func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
17936	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17937	c.profileId = profileId
17938	c.advertisergroup = advertisergroup
17939	return c
17940}
17941
17942// Fields allows partial responses to be retrieved. See
17943// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17944// for more information.
17945func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
17946	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17947	return c
17948}
17949
17950// Context sets the context to be used in this call's Do method. Any
17951// pending HTTP request will be aborted if the provided context is
17952// canceled.
17953func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
17954	c.ctx_ = ctx
17955	return c
17956}
17957
17958// Header returns an http.Header that can be modified by the caller to
17959// add HTTP headers to the request.
17960func (c *AdvertiserGroupsInsertCall) Header() http.Header {
17961	if c.header_ == nil {
17962		c.header_ = make(http.Header)
17963	}
17964	return c.header_
17965}
17966
17967func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
17968	reqHeaders := make(http.Header)
17969	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17970	for k, v := range c.header_ {
17971		reqHeaders[k] = v
17972	}
17973	reqHeaders.Set("User-Agent", c.s.userAgent())
17974	var body io.Reader = nil
17975	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
17976	if err != nil {
17977		return nil, err
17978	}
17979	reqHeaders.Set("Content-Type", "application/json")
17980	c.urlParams_.Set("alt", alt)
17981	c.urlParams_.Set("prettyPrint", "false")
17982	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
17983	urls += "?" + c.urlParams_.Encode()
17984	req, err := http.NewRequest("POST", urls, body)
17985	if err != nil {
17986		return nil, err
17987	}
17988	req.Header = reqHeaders
17989	googleapi.Expand(req.URL, map[string]string{
17990		"profileId": strconv.FormatInt(c.profileId, 10),
17991	})
17992	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17993}
17994
17995// Do executes the "dfareporting.advertiserGroups.insert" call.
17996// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
17997// status code is an error. Response headers are in either
17998// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
17999// at all) in error.(*googleapi.Error).Header. Use
18000// googleapi.IsNotModified to check whether the returned error was
18001// because http.StatusNotModified was returned.
18002func (c *AdvertiserGroupsInsertCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18003	gensupport.SetOptions(c.urlParams_, opts...)
18004	res, err := c.doRequest("json")
18005	if res != nil && res.StatusCode == http.StatusNotModified {
18006		if res.Body != nil {
18007			res.Body.Close()
18008		}
18009		return nil, &googleapi.Error{
18010			Code:   res.StatusCode,
18011			Header: res.Header,
18012		}
18013	}
18014	if err != nil {
18015		return nil, err
18016	}
18017	defer googleapi.CloseBody(res)
18018	if err := googleapi.CheckResponse(res); err != nil {
18019		return nil, err
18020	}
18021	ret := &AdvertiserGroup{
18022		ServerResponse: googleapi.ServerResponse{
18023			Header:         res.Header,
18024			HTTPStatusCode: res.StatusCode,
18025		},
18026	}
18027	target := &ret
18028	if err := gensupport.DecodeResponse(target, res); err != nil {
18029		return nil, err
18030	}
18031	return ret, nil
18032	// {
18033	//   "description": "Inserts a new advertiser group.",
18034	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
18035	//   "httpMethod": "POST",
18036	//   "id": "dfareporting.advertiserGroups.insert",
18037	//   "parameterOrder": [
18038	//     "profileId"
18039	//   ],
18040	//   "parameters": {
18041	//     "profileId": {
18042	//       "description": "User profile ID associated with this request.",
18043	//       "format": "int64",
18044	//       "location": "path",
18045	//       "required": true,
18046	//       "type": "string"
18047	//     }
18048	//   },
18049	//   "path": "userprofiles/{profileId}/advertiserGroups",
18050	//   "request": {
18051	//     "$ref": "AdvertiserGroup"
18052	//   },
18053	//   "response": {
18054	//     "$ref": "AdvertiserGroup"
18055	//   },
18056	//   "scopes": [
18057	//     "https://www.googleapis.com/auth/dfatrafficking"
18058	//   ]
18059	// }
18060
18061}
18062
18063// method id "dfareporting.advertiserGroups.list":
18064
18065type AdvertiserGroupsListCall struct {
18066	s            *Service
18067	profileId    int64
18068	urlParams_   gensupport.URLParams
18069	ifNoneMatch_ string
18070	ctx_         context.Context
18071	header_      http.Header
18072}
18073
18074// List: Retrieves a list of advertiser groups, possibly filtered. This
18075// method supports paging.
18076//
18077// - profileId: User profile ID associated with this request.
18078func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
18079	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18080	c.profileId = profileId
18081	return c
18082}
18083
18084// Ids sets the optional parameter "ids": Select only advertiser groups
18085// with these IDs.
18086func (c *AdvertiserGroupsListCall) Ids(ids ...int64) *AdvertiserGroupsListCall {
18087	var ids_ []string
18088	for _, v := range ids {
18089		ids_ = append(ids_, fmt.Sprint(v))
18090	}
18091	c.urlParams_.SetMulti("ids", ids_)
18092	return c
18093}
18094
18095// MaxResults sets the optional parameter "maxResults": Maximum number
18096// of results to return.
18097func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
18098	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
18099	return c
18100}
18101
18102// PageToken sets the optional parameter "pageToken": Value of the
18103// nextPageToken from the previous result page.
18104func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
18105	c.urlParams_.Set("pageToken", pageToken)
18106	return c
18107}
18108
18109// SearchString sets the optional parameter "searchString": Allows
18110// searching for objects by name or ID. Wildcards (*) are allowed. For
18111// example, "advertiser*2015" will return objects with names like
18112// "advertiser group June 2015", "advertiser group April 2015", or
18113// simply "advertiser group 2015". Most of the searches also add
18114// wildcards implicitly at the start and the end of the search string.
18115// For example, a search string of "advertisergroup" will match objects
18116// with name "my advertisergroup", "advertisergroup 2015", or simply
18117// "advertisergroup".
18118func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
18119	c.urlParams_.Set("searchString", searchString)
18120	return c
18121}
18122
18123// SortField sets the optional parameter "sortField": Field by which to
18124// sort the list.
18125//
18126// Possible values:
18127//   "ID" (default)
18128//   "NAME"
18129func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
18130	c.urlParams_.Set("sortField", sortField)
18131	return c
18132}
18133
18134// SortOrder sets the optional parameter "sortOrder": Order of sorted
18135// results.
18136//
18137// Possible values:
18138//   "ASCENDING" (default)
18139//   "DESCENDING"
18140func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
18141	c.urlParams_.Set("sortOrder", sortOrder)
18142	return c
18143}
18144
18145// Fields allows partial responses to be retrieved. See
18146// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18147// for more information.
18148func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
18149	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18150	return c
18151}
18152
18153// IfNoneMatch sets the optional parameter which makes the operation
18154// fail if the object's ETag matches the given value. This is useful for
18155// getting updates only after the object has changed since the last
18156// request. Use googleapi.IsNotModified to check whether the response
18157// error from Do is the result of In-None-Match.
18158func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
18159	c.ifNoneMatch_ = entityTag
18160	return c
18161}
18162
18163// Context sets the context to be used in this call's Do method. Any
18164// pending HTTP request will be aborted if the provided context is
18165// canceled.
18166func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
18167	c.ctx_ = ctx
18168	return c
18169}
18170
18171// Header returns an http.Header that can be modified by the caller to
18172// add HTTP headers to the request.
18173func (c *AdvertiserGroupsListCall) Header() http.Header {
18174	if c.header_ == nil {
18175		c.header_ = make(http.Header)
18176	}
18177	return c.header_
18178}
18179
18180func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
18181	reqHeaders := make(http.Header)
18182	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18183	for k, v := range c.header_ {
18184		reqHeaders[k] = v
18185	}
18186	reqHeaders.Set("User-Agent", c.s.userAgent())
18187	if c.ifNoneMatch_ != "" {
18188		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18189	}
18190	var body io.Reader = nil
18191	c.urlParams_.Set("alt", alt)
18192	c.urlParams_.Set("prettyPrint", "false")
18193	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18194	urls += "?" + c.urlParams_.Encode()
18195	req, err := http.NewRequest("GET", urls, body)
18196	if err != nil {
18197		return nil, err
18198	}
18199	req.Header = reqHeaders
18200	googleapi.Expand(req.URL, map[string]string{
18201		"profileId": strconv.FormatInt(c.profileId, 10),
18202	})
18203	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18204}
18205
18206// Do executes the "dfareporting.advertiserGroups.list" call.
18207// Exactly one of *AdvertiserGroupsListResponse or error will be
18208// non-nil. Any non-2xx status code is an error. Response headers are in
18209// either *AdvertiserGroupsListResponse.ServerResponse.Header or (if a
18210// response was returned at all) in error.(*googleapi.Error).Header. Use
18211// googleapi.IsNotModified to check whether the returned error was
18212// because http.StatusNotModified was returned.
18213func (c *AdvertiserGroupsListCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroupsListResponse, error) {
18214	gensupport.SetOptions(c.urlParams_, opts...)
18215	res, err := c.doRequest("json")
18216	if res != nil && res.StatusCode == http.StatusNotModified {
18217		if res.Body != nil {
18218			res.Body.Close()
18219		}
18220		return nil, &googleapi.Error{
18221			Code:   res.StatusCode,
18222			Header: res.Header,
18223		}
18224	}
18225	if err != nil {
18226		return nil, err
18227	}
18228	defer googleapi.CloseBody(res)
18229	if err := googleapi.CheckResponse(res); err != nil {
18230		return nil, err
18231	}
18232	ret := &AdvertiserGroupsListResponse{
18233		ServerResponse: googleapi.ServerResponse{
18234			Header:         res.Header,
18235			HTTPStatusCode: res.StatusCode,
18236		},
18237	}
18238	target := &ret
18239	if err := gensupport.DecodeResponse(target, res); err != nil {
18240		return nil, err
18241	}
18242	return ret, nil
18243	// {
18244	//   "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
18245	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
18246	//   "httpMethod": "GET",
18247	//   "id": "dfareporting.advertiserGroups.list",
18248	//   "parameterOrder": [
18249	//     "profileId"
18250	//   ],
18251	//   "parameters": {
18252	//     "ids": {
18253	//       "description": "Select only advertiser groups with these IDs.",
18254	//       "format": "int64",
18255	//       "location": "query",
18256	//       "repeated": true,
18257	//       "type": "string"
18258	//     },
18259	//     "maxResults": {
18260	//       "default": "1000",
18261	//       "description": "Maximum number of results to return.",
18262	//       "format": "int32",
18263	//       "location": "query",
18264	//       "maximum": "1000",
18265	//       "minimum": "0",
18266	//       "type": "integer"
18267	//     },
18268	//     "pageToken": {
18269	//       "description": "Value of the nextPageToken from the previous result page.",
18270	//       "location": "query",
18271	//       "type": "string"
18272	//     },
18273	//     "profileId": {
18274	//       "description": "User profile ID associated with this request.",
18275	//       "format": "int64",
18276	//       "location": "path",
18277	//       "required": true,
18278	//       "type": "string"
18279	//     },
18280	//     "searchString": {
18281	//       "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\".",
18282	//       "location": "query",
18283	//       "type": "string"
18284	//     },
18285	//     "sortField": {
18286	//       "default": "ID",
18287	//       "description": "Field by which to sort the list.",
18288	//       "enum": [
18289	//         "ID",
18290	//         "NAME"
18291	//       ],
18292	//       "enumDescriptions": [
18293	//         "",
18294	//         ""
18295	//       ],
18296	//       "location": "query",
18297	//       "type": "string"
18298	//     },
18299	//     "sortOrder": {
18300	//       "default": "ASCENDING",
18301	//       "description": "Order of sorted results.",
18302	//       "enum": [
18303	//         "ASCENDING",
18304	//         "DESCENDING"
18305	//       ],
18306	//       "enumDescriptions": [
18307	//         "",
18308	//         ""
18309	//       ],
18310	//       "location": "query",
18311	//       "type": "string"
18312	//     }
18313	//   },
18314	//   "path": "userprofiles/{profileId}/advertiserGroups",
18315	//   "response": {
18316	//     "$ref": "AdvertiserGroupsListResponse"
18317	//   },
18318	//   "scopes": [
18319	//     "https://www.googleapis.com/auth/dfatrafficking"
18320	//   ]
18321	// }
18322
18323}
18324
18325// Pages invokes f for each page of results.
18326// A non-nil error returned from f will halt the iteration.
18327// The provided context supersedes any context provided to the Context method.
18328func (c *AdvertiserGroupsListCall) Pages(ctx context.Context, f func(*AdvertiserGroupsListResponse) error) error {
18329	c.ctx_ = ctx
18330	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18331	for {
18332		x, err := c.Do()
18333		if err != nil {
18334			return err
18335		}
18336		if err := f(x); err != nil {
18337			return err
18338		}
18339		if x.NextPageToken == "" {
18340			return nil
18341		}
18342		c.PageToken(x.NextPageToken)
18343	}
18344}
18345
18346// method id "dfareporting.advertiserGroups.patch":
18347
18348type AdvertiserGroupsPatchCall struct {
18349	s               *Service
18350	profileId       int64
18351	advertisergroup *AdvertiserGroup
18352	urlParams_      gensupport.URLParams
18353	ctx_            context.Context
18354	header_         http.Header
18355}
18356
18357// Patch: Updates an existing advertiser group. This method supports
18358// patch semantics.
18359//
18360// - id: AdvertiserGroup ID.
18361// - profileId: User profile ID associated with this request.
18362func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
18363	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18364	c.profileId = profileId
18365	c.urlParams_.Set("id", fmt.Sprint(id))
18366	c.advertisergroup = advertisergroup
18367	return c
18368}
18369
18370// Fields allows partial responses to be retrieved. See
18371// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18372// for more information.
18373func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
18374	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18375	return c
18376}
18377
18378// Context sets the context to be used in this call's Do method. Any
18379// pending HTTP request will be aborted if the provided context is
18380// canceled.
18381func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
18382	c.ctx_ = ctx
18383	return c
18384}
18385
18386// Header returns an http.Header that can be modified by the caller to
18387// add HTTP headers to the request.
18388func (c *AdvertiserGroupsPatchCall) Header() http.Header {
18389	if c.header_ == nil {
18390		c.header_ = make(http.Header)
18391	}
18392	return c.header_
18393}
18394
18395func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
18396	reqHeaders := make(http.Header)
18397	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18398	for k, v := range c.header_ {
18399		reqHeaders[k] = v
18400	}
18401	reqHeaders.Set("User-Agent", c.s.userAgent())
18402	var body io.Reader = nil
18403	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
18404	if err != nil {
18405		return nil, err
18406	}
18407	reqHeaders.Set("Content-Type", "application/json")
18408	c.urlParams_.Set("alt", alt)
18409	c.urlParams_.Set("prettyPrint", "false")
18410	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18411	urls += "?" + c.urlParams_.Encode()
18412	req, err := http.NewRequest("PATCH", urls, body)
18413	if err != nil {
18414		return nil, err
18415	}
18416	req.Header = reqHeaders
18417	googleapi.Expand(req.URL, map[string]string{
18418		"profileId": strconv.FormatInt(c.profileId, 10),
18419	})
18420	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18421}
18422
18423// Do executes the "dfareporting.advertiserGroups.patch" call.
18424// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18425// status code is an error. Response headers are in either
18426// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18427// at all) in error.(*googleapi.Error).Header. Use
18428// googleapi.IsNotModified to check whether the returned error was
18429// because http.StatusNotModified was returned.
18430func (c *AdvertiserGroupsPatchCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18431	gensupport.SetOptions(c.urlParams_, opts...)
18432	res, err := c.doRequest("json")
18433	if res != nil && res.StatusCode == http.StatusNotModified {
18434		if res.Body != nil {
18435			res.Body.Close()
18436		}
18437		return nil, &googleapi.Error{
18438			Code:   res.StatusCode,
18439			Header: res.Header,
18440		}
18441	}
18442	if err != nil {
18443		return nil, err
18444	}
18445	defer googleapi.CloseBody(res)
18446	if err := googleapi.CheckResponse(res); err != nil {
18447		return nil, err
18448	}
18449	ret := &AdvertiserGroup{
18450		ServerResponse: googleapi.ServerResponse{
18451			Header:         res.Header,
18452			HTTPStatusCode: res.StatusCode,
18453		},
18454	}
18455	target := &ret
18456	if err := gensupport.DecodeResponse(target, res); err != nil {
18457		return nil, err
18458	}
18459	return ret, nil
18460	// {
18461	//   "description": "Updates an existing advertiser group. This method supports patch semantics.",
18462	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
18463	//   "httpMethod": "PATCH",
18464	//   "id": "dfareporting.advertiserGroups.patch",
18465	//   "parameterOrder": [
18466	//     "profileId",
18467	//     "id"
18468	//   ],
18469	//   "parameters": {
18470	//     "id": {
18471	//       "description": "AdvertiserGroup ID.",
18472	//       "format": "int64",
18473	//       "location": "query",
18474	//       "required": true,
18475	//       "type": "string"
18476	//     },
18477	//     "profileId": {
18478	//       "description": "User profile ID associated with this request.",
18479	//       "format": "int64",
18480	//       "location": "path",
18481	//       "required": true,
18482	//       "type": "string"
18483	//     }
18484	//   },
18485	//   "path": "userprofiles/{profileId}/advertiserGroups",
18486	//   "request": {
18487	//     "$ref": "AdvertiserGroup"
18488	//   },
18489	//   "response": {
18490	//     "$ref": "AdvertiserGroup"
18491	//   },
18492	//   "scopes": [
18493	//     "https://www.googleapis.com/auth/dfatrafficking"
18494	//   ]
18495	// }
18496
18497}
18498
18499// method id "dfareporting.advertiserGroups.update":
18500
18501type AdvertiserGroupsUpdateCall struct {
18502	s               *Service
18503	profileId       int64
18504	advertisergroup *AdvertiserGroup
18505	urlParams_      gensupport.URLParams
18506	ctx_            context.Context
18507	header_         http.Header
18508}
18509
18510// Update: Updates an existing advertiser group.
18511//
18512// - profileId: User profile ID associated with this request.
18513func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
18514	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18515	c.profileId = profileId
18516	c.advertisergroup = advertisergroup
18517	return c
18518}
18519
18520// Fields allows partial responses to be retrieved. See
18521// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18522// for more information.
18523func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
18524	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18525	return c
18526}
18527
18528// Context sets the context to be used in this call's Do method. Any
18529// pending HTTP request will be aborted if the provided context is
18530// canceled.
18531func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
18532	c.ctx_ = ctx
18533	return c
18534}
18535
18536// Header returns an http.Header that can be modified by the caller to
18537// add HTTP headers to the request.
18538func (c *AdvertiserGroupsUpdateCall) Header() http.Header {
18539	if c.header_ == nil {
18540		c.header_ = make(http.Header)
18541	}
18542	return c.header_
18543}
18544
18545func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
18546	reqHeaders := make(http.Header)
18547	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18548	for k, v := range c.header_ {
18549		reqHeaders[k] = v
18550	}
18551	reqHeaders.Set("User-Agent", c.s.userAgent())
18552	var body io.Reader = nil
18553	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
18554	if err != nil {
18555		return nil, err
18556	}
18557	reqHeaders.Set("Content-Type", "application/json")
18558	c.urlParams_.Set("alt", alt)
18559	c.urlParams_.Set("prettyPrint", "false")
18560	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18561	urls += "?" + c.urlParams_.Encode()
18562	req, err := http.NewRequest("PUT", urls, body)
18563	if err != nil {
18564		return nil, err
18565	}
18566	req.Header = reqHeaders
18567	googleapi.Expand(req.URL, map[string]string{
18568		"profileId": strconv.FormatInt(c.profileId, 10),
18569	})
18570	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18571}
18572
18573// Do executes the "dfareporting.advertiserGroups.update" call.
18574// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18575// status code is an error. Response headers are in either
18576// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18577// at all) in error.(*googleapi.Error).Header. Use
18578// googleapi.IsNotModified to check whether the returned error was
18579// because http.StatusNotModified was returned.
18580func (c *AdvertiserGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18581	gensupport.SetOptions(c.urlParams_, opts...)
18582	res, err := c.doRequest("json")
18583	if res != nil && res.StatusCode == http.StatusNotModified {
18584		if res.Body != nil {
18585			res.Body.Close()
18586		}
18587		return nil, &googleapi.Error{
18588			Code:   res.StatusCode,
18589			Header: res.Header,
18590		}
18591	}
18592	if err != nil {
18593		return nil, err
18594	}
18595	defer googleapi.CloseBody(res)
18596	if err := googleapi.CheckResponse(res); err != nil {
18597		return nil, err
18598	}
18599	ret := &AdvertiserGroup{
18600		ServerResponse: googleapi.ServerResponse{
18601			Header:         res.Header,
18602			HTTPStatusCode: res.StatusCode,
18603		},
18604	}
18605	target := &ret
18606	if err := gensupport.DecodeResponse(target, res); err != nil {
18607		return nil, err
18608	}
18609	return ret, nil
18610	// {
18611	//   "description": "Updates an existing advertiser group.",
18612	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
18613	//   "httpMethod": "PUT",
18614	//   "id": "dfareporting.advertiserGroups.update",
18615	//   "parameterOrder": [
18616	//     "profileId"
18617	//   ],
18618	//   "parameters": {
18619	//     "profileId": {
18620	//       "description": "User profile ID associated with this request.",
18621	//       "format": "int64",
18622	//       "location": "path",
18623	//       "required": true,
18624	//       "type": "string"
18625	//     }
18626	//   },
18627	//   "path": "userprofiles/{profileId}/advertiserGroups",
18628	//   "request": {
18629	//     "$ref": "AdvertiserGroup"
18630	//   },
18631	//   "response": {
18632	//     "$ref": "AdvertiserGroup"
18633	//   },
18634	//   "scopes": [
18635	//     "https://www.googleapis.com/auth/dfatrafficking"
18636	//   ]
18637	// }
18638
18639}
18640
18641// method id "dfareporting.advertiserLandingPages.get":
18642
18643type AdvertiserLandingPagesGetCall struct {
18644	s            *Service
18645	profileId    int64
18646	id           int64
18647	urlParams_   gensupport.URLParams
18648	ifNoneMatch_ string
18649	ctx_         context.Context
18650	header_      http.Header
18651}
18652
18653// Get: Gets one landing page by ID.
18654//
18655// - id: Landing page ID.
18656// - profileId: User profile ID associated with this request.
18657func (r *AdvertiserLandingPagesService) Get(profileId int64, id int64) *AdvertiserLandingPagesGetCall {
18658	c := &AdvertiserLandingPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18659	c.profileId = profileId
18660	c.id = id
18661	return c
18662}
18663
18664// Fields allows partial responses to be retrieved. See
18665// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18666// for more information.
18667func (c *AdvertiserLandingPagesGetCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesGetCall {
18668	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18669	return c
18670}
18671
18672// IfNoneMatch sets the optional parameter which makes the operation
18673// fail if the object's ETag matches the given value. This is useful for
18674// getting updates only after the object has changed since the last
18675// request. Use googleapi.IsNotModified to check whether the response
18676// error from Do is the result of In-None-Match.
18677func (c *AdvertiserLandingPagesGetCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesGetCall {
18678	c.ifNoneMatch_ = entityTag
18679	return c
18680}
18681
18682// Context sets the context to be used in this call's Do method. Any
18683// pending HTTP request will be aborted if the provided context is
18684// canceled.
18685func (c *AdvertiserLandingPagesGetCall) Context(ctx context.Context) *AdvertiserLandingPagesGetCall {
18686	c.ctx_ = ctx
18687	return c
18688}
18689
18690// Header returns an http.Header that can be modified by the caller to
18691// add HTTP headers to the request.
18692func (c *AdvertiserLandingPagesGetCall) Header() http.Header {
18693	if c.header_ == nil {
18694		c.header_ = make(http.Header)
18695	}
18696	return c.header_
18697}
18698
18699func (c *AdvertiserLandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
18700	reqHeaders := make(http.Header)
18701	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18702	for k, v := range c.header_ {
18703		reqHeaders[k] = v
18704	}
18705	reqHeaders.Set("User-Agent", c.s.userAgent())
18706	if c.ifNoneMatch_ != "" {
18707		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18708	}
18709	var body io.Reader = nil
18710	c.urlParams_.Set("alt", alt)
18711	c.urlParams_.Set("prettyPrint", "false")
18712	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages/{id}")
18713	urls += "?" + c.urlParams_.Encode()
18714	req, err := http.NewRequest("GET", urls, body)
18715	if err != nil {
18716		return nil, err
18717	}
18718	req.Header = reqHeaders
18719	googleapi.Expand(req.URL, map[string]string{
18720		"profileId": strconv.FormatInt(c.profileId, 10),
18721		"id":        strconv.FormatInt(c.id, 10),
18722	})
18723	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18724}
18725
18726// Do executes the "dfareporting.advertiserLandingPages.get" call.
18727// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
18728// status code is an error. Response headers are in either
18729// *LandingPage.ServerResponse.Header or (if a response was returned at
18730// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18731// to check whether the returned error was because
18732// http.StatusNotModified was returned.
18733func (c *AdvertiserLandingPagesGetCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
18734	gensupport.SetOptions(c.urlParams_, opts...)
18735	res, err := c.doRequest("json")
18736	if res != nil && res.StatusCode == http.StatusNotModified {
18737		if res.Body != nil {
18738			res.Body.Close()
18739		}
18740		return nil, &googleapi.Error{
18741			Code:   res.StatusCode,
18742			Header: res.Header,
18743		}
18744	}
18745	if err != nil {
18746		return nil, err
18747	}
18748	defer googleapi.CloseBody(res)
18749	if err := googleapi.CheckResponse(res); err != nil {
18750		return nil, err
18751	}
18752	ret := &LandingPage{
18753		ServerResponse: googleapi.ServerResponse{
18754			Header:         res.Header,
18755			HTTPStatusCode: res.StatusCode,
18756		},
18757	}
18758	target := &ret
18759	if err := gensupport.DecodeResponse(target, res); err != nil {
18760		return nil, err
18761	}
18762	return ret, nil
18763	// {
18764	//   "description": "Gets one landing page by ID.",
18765	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages/{id}",
18766	//   "httpMethod": "GET",
18767	//   "id": "dfareporting.advertiserLandingPages.get",
18768	//   "parameterOrder": [
18769	//     "profileId",
18770	//     "id"
18771	//   ],
18772	//   "parameters": {
18773	//     "id": {
18774	//       "description": "Landing page ID.",
18775	//       "format": "int64",
18776	//       "location": "path",
18777	//       "required": true,
18778	//       "type": "string"
18779	//     },
18780	//     "profileId": {
18781	//       "description": "User profile ID associated with this request.",
18782	//       "format": "int64",
18783	//       "location": "path",
18784	//       "required": true,
18785	//       "type": "string"
18786	//     }
18787	//   },
18788	//   "path": "userprofiles/{profileId}/advertiserLandingPages/{id}",
18789	//   "response": {
18790	//     "$ref": "LandingPage"
18791	//   },
18792	//   "scopes": [
18793	//     "https://www.googleapis.com/auth/dfatrafficking"
18794	//   ]
18795	// }
18796
18797}
18798
18799// method id "dfareporting.advertiserLandingPages.insert":
18800
18801type AdvertiserLandingPagesInsertCall struct {
18802	s           *Service
18803	profileId   int64
18804	landingpage *LandingPage
18805	urlParams_  gensupport.URLParams
18806	ctx_        context.Context
18807	header_     http.Header
18808}
18809
18810// Insert: Inserts a new landing page.
18811//
18812// - profileId: User profile ID associated with this request.
18813func (r *AdvertiserLandingPagesService) Insert(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesInsertCall {
18814	c := &AdvertiserLandingPagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18815	c.profileId = profileId
18816	c.landingpage = landingpage
18817	return c
18818}
18819
18820// Fields allows partial responses to be retrieved. See
18821// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18822// for more information.
18823func (c *AdvertiserLandingPagesInsertCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesInsertCall {
18824	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18825	return c
18826}
18827
18828// Context sets the context to be used in this call's Do method. Any
18829// pending HTTP request will be aborted if the provided context is
18830// canceled.
18831func (c *AdvertiserLandingPagesInsertCall) Context(ctx context.Context) *AdvertiserLandingPagesInsertCall {
18832	c.ctx_ = ctx
18833	return c
18834}
18835
18836// Header returns an http.Header that can be modified by the caller to
18837// add HTTP headers to the request.
18838func (c *AdvertiserLandingPagesInsertCall) Header() http.Header {
18839	if c.header_ == nil {
18840		c.header_ = make(http.Header)
18841	}
18842	return c.header_
18843}
18844
18845func (c *AdvertiserLandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
18846	reqHeaders := make(http.Header)
18847	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18848	for k, v := range c.header_ {
18849		reqHeaders[k] = v
18850	}
18851	reqHeaders.Set("User-Agent", c.s.userAgent())
18852	var body io.Reader = nil
18853	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
18854	if err != nil {
18855		return nil, err
18856	}
18857	reqHeaders.Set("Content-Type", "application/json")
18858	c.urlParams_.Set("alt", alt)
18859	c.urlParams_.Set("prettyPrint", "false")
18860	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
18861	urls += "?" + c.urlParams_.Encode()
18862	req, err := http.NewRequest("POST", urls, body)
18863	if err != nil {
18864		return nil, err
18865	}
18866	req.Header = reqHeaders
18867	googleapi.Expand(req.URL, map[string]string{
18868		"profileId": strconv.FormatInt(c.profileId, 10),
18869	})
18870	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18871}
18872
18873// Do executes the "dfareporting.advertiserLandingPages.insert" call.
18874// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
18875// status code is an error. Response headers are in either
18876// *LandingPage.ServerResponse.Header or (if a response was returned at
18877// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18878// to check whether the returned error was because
18879// http.StatusNotModified was returned.
18880func (c *AdvertiserLandingPagesInsertCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
18881	gensupport.SetOptions(c.urlParams_, opts...)
18882	res, err := c.doRequest("json")
18883	if res != nil && res.StatusCode == http.StatusNotModified {
18884		if res.Body != nil {
18885			res.Body.Close()
18886		}
18887		return nil, &googleapi.Error{
18888			Code:   res.StatusCode,
18889			Header: res.Header,
18890		}
18891	}
18892	if err != nil {
18893		return nil, err
18894	}
18895	defer googleapi.CloseBody(res)
18896	if err := googleapi.CheckResponse(res); err != nil {
18897		return nil, err
18898	}
18899	ret := &LandingPage{
18900		ServerResponse: googleapi.ServerResponse{
18901			Header:         res.Header,
18902			HTTPStatusCode: res.StatusCode,
18903		},
18904	}
18905	target := &ret
18906	if err := gensupport.DecodeResponse(target, res); err != nil {
18907		return nil, err
18908	}
18909	return ret, nil
18910	// {
18911	//   "description": "Inserts a new landing page.",
18912	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
18913	//   "httpMethod": "POST",
18914	//   "id": "dfareporting.advertiserLandingPages.insert",
18915	//   "parameterOrder": [
18916	//     "profileId"
18917	//   ],
18918	//   "parameters": {
18919	//     "profileId": {
18920	//       "description": "User profile ID associated with this request.",
18921	//       "format": "int64",
18922	//       "location": "path",
18923	//       "required": true,
18924	//       "type": "string"
18925	//     }
18926	//   },
18927	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
18928	//   "request": {
18929	//     "$ref": "LandingPage"
18930	//   },
18931	//   "response": {
18932	//     "$ref": "LandingPage"
18933	//   },
18934	//   "scopes": [
18935	//     "https://www.googleapis.com/auth/dfatrafficking"
18936	//   ]
18937	// }
18938
18939}
18940
18941// method id "dfareporting.advertiserLandingPages.list":
18942
18943type AdvertiserLandingPagesListCall struct {
18944	s            *Service
18945	profileId    int64
18946	urlParams_   gensupport.URLParams
18947	ifNoneMatch_ string
18948	ctx_         context.Context
18949	header_      http.Header
18950}
18951
18952// List: Retrieves a list of landing pages.
18953//
18954// - profileId: User profile ID associated with this request.
18955func (r *AdvertiserLandingPagesService) List(profileId int64) *AdvertiserLandingPagesListCall {
18956	c := &AdvertiserLandingPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18957	c.profileId = profileId
18958	return c
18959}
18960
18961// AdvertiserIds sets the optional parameter "advertiserIds": Select
18962// only landing pages that belong to these advertisers.
18963func (c *AdvertiserLandingPagesListCall) AdvertiserIds(advertiserIds ...int64) *AdvertiserLandingPagesListCall {
18964	var advertiserIds_ []string
18965	for _, v := range advertiserIds {
18966		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
18967	}
18968	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
18969	return c
18970}
18971
18972// Archived sets the optional parameter "archived": Select only archived
18973// landing pages. Don't set this field to select both archived and
18974// non-archived landing pages.
18975func (c *AdvertiserLandingPagesListCall) Archived(archived bool) *AdvertiserLandingPagesListCall {
18976	c.urlParams_.Set("archived", fmt.Sprint(archived))
18977	return c
18978}
18979
18980// CampaignIds sets the optional parameter "campaignIds": Select only
18981// landing pages that are associated with these campaigns.
18982func (c *AdvertiserLandingPagesListCall) CampaignIds(campaignIds ...int64) *AdvertiserLandingPagesListCall {
18983	var campaignIds_ []string
18984	for _, v := range campaignIds {
18985		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
18986	}
18987	c.urlParams_.SetMulti("campaignIds", campaignIds_)
18988	return c
18989}
18990
18991// Ids sets the optional parameter "ids": Select only landing pages with
18992// these IDs.
18993func (c *AdvertiserLandingPagesListCall) Ids(ids ...int64) *AdvertiserLandingPagesListCall {
18994	var ids_ []string
18995	for _, v := range ids {
18996		ids_ = append(ids_, fmt.Sprint(v))
18997	}
18998	c.urlParams_.SetMulti("ids", ids_)
18999	return c
19000}
19001
19002// MaxResults sets the optional parameter "maxResults": Maximum number
19003// of results to return.
19004func (c *AdvertiserLandingPagesListCall) MaxResults(maxResults int64) *AdvertiserLandingPagesListCall {
19005	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
19006	return c
19007}
19008
19009// PageToken sets the optional parameter "pageToken": Value of the
19010// nextPageToken from the previous result page.
19011func (c *AdvertiserLandingPagesListCall) PageToken(pageToken string) *AdvertiserLandingPagesListCall {
19012	c.urlParams_.Set("pageToken", pageToken)
19013	return c
19014}
19015
19016// SearchString sets the optional parameter "searchString": Allows
19017// searching for landing pages by name or ID. Wildcards (*) are allowed.
19018// For example, "landingpage*2017" will return landing pages with names
19019// like "landingpage July 2017", "landingpage March 2017", or simply
19020// "landingpage 2017". Most of the searches also add wildcards
19021// implicitly at the start and the end of the search string. For
19022// example, a search string of "landingpage" will match campaigns with
19023// name "my landingpage", "landingpage 2015", or simply "landingpage".
19024func (c *AdvertiserLandingPagesListCall) SearchString(searchString string) *AdvertiserLandingPagesListCall {
19025	c.urlParams_.Set("searchString", searchString)
19026	return c
19027}
19028
19029// SortField sets the optional parameter "sortField": Field by which to
19030// sort the list.
19031//
19032// Possible values:
19033//   "ID" (default)
19034//   "NAME"
19035func (c *AdvertiserLandingPagesListCall) SortField(sortField string) *AdvertiserLandingPagesListCall {
19036	c.urlParams_.Set("sortField", sortField)
19037	return c
19038}
19039
19040// SortOrder sets the optional parameter "sortOrder": Order of sorted
19041// results.
19042//
19043// Possible values:
19044//   "ASCENDING" (default)
19045//   "DESCENDING"
19046func (c *AdvertiserLandingPagesListCall) SortOrder(sortOrder string) *AdvertiserLandingPagesListCall {
19047	c.urlParams_.Set("sortOrder", sortOrder)
19048	return c
19049}
19050
19051// SubaccountId sets the optional parameter "subaccountId": Select only
19052// landing pages that belong to this subaccount.
19053func (c *AdvertiserLandingPagesListCall) SubaccountId(subaccountId int64) *AdvertiserLandingPagesListCall {
19054	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
19055	return c
19056}
19057
19058// Fields allows partial responses to be retrieved. See
19059// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19060// for more information.
19061func (c *AdvertiserLandingPagesListCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesListCall {
19062	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19063	return c
19064}
19065
19066// IfNoneMatch sets the optional parameter which makes the operation
19067// fail if the object's ETag matches the given value. This is useful for
19068// getting updates only after the object has changed since the last
19069// request. Use googleapi.IsNotModified to check whether the response
19070// error from Do is the result of In-None-Match.
19071func (c *AdvertiserLandingPagesListCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesListCall {
19072	c.ifNoneMatch_ = entityTag
19073	return c
19074}
19075
19076// Context sets the context to be used in this call's Do method. Any
19077// pending HTTP request will be aborted if the provided context is
19078// canceled.
19079func (c *AdvertiserLandingPagesListCall) Context(ctx context.Context) *AdvertiserLandingPagesListCall {
19080	c.ctx_ = ctx
19081	return c
19082}
19083
19084// Header returns an http.Header that can be modified by the caller to
19085// add HTTP headers to the request.
19086func (c *AdvertiserLandingPagesListCall) Header() http.Header {
19087	if c.header_ == nil {
19088		c.header_ = make(http.Header)
19089	}
19090	return c.header_
19091}
19092
19093func (c *AdvertiserLandingPagesListCall) doRequest(alt string) (*http.Response, error) {
19094	reqHeaders := make(http.Header)
19095	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19096	for k, v := range c.header_ {
19097		reqHeaders[k] = v
19098	}
19099	reqHeaders.Set("User-Agent", c.s.userAgent())
19100	if c.ifNoneMatch_ != "" {
19101		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19102	}
19103	var body io.Reader = nil
19104	c.urlParams_.Set("alt", alt)
19105	c.urlParams_.Set("prettyPrint", "false")
19106	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19107	urls += "?" + c.urlParams_.Encode()
19108	req, err := http.NewRequest("GET", urls, body)
19109	if err != nil {
19110		return nil, err
19111	}
19112	req.Header = reqHeaders
19113	googleapi.Expand(req.URL, map[string]string{
19114		"profileId": strconv.FormatInt(c.profileId, 10),
19115	})
19116	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19117}
19118
19119// Do executes the "dfareporting.advertiserLandingPages.list" call.
19120// Exactly one of *AdvertiserLandingPagesListResponse or error will be
19121// non-nil. Any non-2xx status code is an error. Response headers are in
19122// either *AdvertiserLandingPagesListResponse.ServerResponse.Header or
19123// (if a response was returned at all) in
19124// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19125// whether the returned error was because http.StatusNotModified was
19126// returned.
19127func (c *AdvertiserLandingPagesListCall) Do(opts ...googleapi.CallOption) (*AdvertiserLandingPagesListResponse, error) {
19128	gensupport.SetOptions(c.urlParams_, opts...)
19129	res, err := c.doRequest("json")
19130	if res != nil && res.StatusCode == http.StatusNotModified {
19131		if res.Body != nil {
19132			res.Body.Close()
19133		}
19134		return nil, &googleapi.Error{
19135			Code:   res.StatusCode,
19136			Header: res.Header,
19137		}
19138	}
19139	if err != nil {
19140		return nil, err
19141	}
19142	defer googleapi.CloseBody(res)
19143	if err := googleapi.CheckResponse(res); err != nil {
19144		return nil, err
19145	}
19146	ret := &AdvertiserLandingPagesListResponse{
19147		ServerResponse: googleapi.ServerResponse{
19148			Header:         res.Header,
19149			HTTPStatusCode: res.StatusCode,
19150		},
19151	}
19152	target := &ret
19153	if err := gensupport.DecodeResponse(target, res); err != nil {
19154		return nil, err
19155	}
19156	return ret, nil
19157	// {
19158	//   "description": "Retrieves a list of landing pages.",
19159	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
19160	//   "httpMethod": "GET",
19161	//   "id": "dfareporting.advertiserLandingPages.list",
19162	//   "parameterOrder": [
19163	//     "profileId"
19164	//   ],
19165	//   "parameters": {
19166	//     "advertiserIds": {
19167	//       "description": "Select only landing pages that belong to these advertisers.",
19168	//       "format": "int64",
19169	//       "location": "query",
19170	//       "repeated": true,
19171	//       "type": "string"
19172	//     },
19173	//     "archived": {
19174	//       "description": "Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages.",
19175	//       "location": "query",
19176	//       "type": "boolean"
19177	//     },
19178	//     "campaignIds": {
19179	//       "description": "Select only landing pages that are associated with these campaigns.",
19180	//       "format": "int64",
19181	//       "location": "query",
19182	//       "repeated": true,
19183	//       "type": "string"
19184	//     },
19185	//     "ids": {
19186	//       "description": "Select only landing pages with these IDs.",
19187	//       "format": "int64",
19188	//       "location": "query",
19189	//       "repeated": true,
19190	//       "type": "string"
19191	//     },
19192	//     "maxResults": {
19193	//       "default": "1000",
19194	//       "description": "Maximum number of results to return.",
19195	//       "format": "int32",
19196	//       "location": "query",
19197	//       "maximum": "1000",
19198	//       "minimum": "0",
19199	//       "type": "integer"
19200	//     },
19201	//     "pageToken": {
19202	//       "description": "Value of the nextPageToken from the previous result page.",
19203	//       "location": "query",
19204	//       "type": "string"
19205	//     },
19206	//     "profileId": {
19207	//       "description": "User profile ID associated with this request.",
19208	//       "format": "int64",
19209	//       "location": "path",
19210	//       "required": true,
19211	//       "type": "string"
19212	//     },
19213	//     "searchString": {
19214	//       "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\".",
19215	//       "location": "query",
19216	//       "type": "string"
19217	//     },
19218	//     "sortField": {
19219	//       "default": "ID",
19220	//       "description": "Field by which to sort the list.",
19221	//       "enum": [
19222	//         "ID",
19223	//         "NAME"
19224	//       ],
19225	//       "enumDescriptions": [
19226	//         "",
19227	//         ""
19228	//       ],
19229	//       "location": "query",
19230	//       "type": "string"
19231	//     },
19232	//     "sortOrder": {
19233	//       "default": "ASCENDING",
19234	//       "description": "Order of sorted results.",
19235	//       "enum": [
19236	//         "ASCENDING",
19237	//         "DESCENDING"
19238	//       ],
19239	//       "enumDescriptions": [
19240	//         "",
19241	//         ""
19242	//       ],
19243	//       "location": "query",
19244	//       "type": "string"
19245	//     },
19246	//     "subaccountId": {
19247	//       "description": "Select only landing pages that belong to this subaccount.",
19248	//       "format": "int64",
19249	//       "location": "query",
19250	//       "type": "string"
19251	//     }
19252	//   },
19253	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19254	//   "response": {
19255	//     "$ref": "AdvertiserLandingPagesListResponse"
19256	//   },
19257	//   "scopes": [
19258	//     "https://www.googleapis.com/auth/dfatrafficking"
19259	//   ]
19260	// }
19261
19262}
19263
19264// Pages invokes f for each page of results.
19265// A non-nil error returned from f will halt the iteration.
19266// The provided context supersedes any context provided to the Context method.
19267func (c *AdvertiserLandingPagesListCall) Pages(ctx context.Context, f func(*AdvertiserLandingPagesListResponse) error) error {
19268	c.ctx_ = ctx
19269	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
19270	for {
19271		x, err := c.Do()
19272		if err != nil {
19273			return err
19274		}
19275		if err := f(x); err != nil {
19276			return err
19277		}
19278		if x.NextPageToken == "" {
19279			return nil
19280		}
19281		c.PageToken(x.NextPageToken)
19282	}
19283}
19284
19285// method id "dfareporting.advertiserLandingPages.patch":
19286
19287type AdvertiserLandingPagesPatchCall struct {
19288	s           *Service
19289	profileId   int64
19290	landingpage *LandingPage
19291	urlParams_  gensupport.URLParams
19292	ctx_        context.Context
19293	header_     http.Header
19294}
19295
19296// Patch: Updates an existing advertiser landing page. This method
19297// supports patch semantics.
19298//
19299// - id: LandingPage ID.
19300// - profileId: User profile ID associated with this request.
19301func (r *AdvertiserLandingPagesService) Patch(profileId int64, id int64, landingpage *LandingPage) *AdvertiserLandingPagesPatchCall {
19302	c := &AdvertiserLandingPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19303	c.profileId = profileId
19304	c.urlParams_.Set("id", fmt.Sprint(id))
19305	c.landingpage = landingpage
19306	return c
19307}
19308
19309// Fields allows partial responses to be retrieved. See
19310// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19311// for more information.
19312func (c *AdvertiserLandingPagesPatchCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesPatchCall {
19313	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19314	return c
19315}
19316
19317// Context sets the context to be used in this call's Do method. Any
19318// pending HTTP request will be aborted if the provided context is
19319// canceled.
19320func (c *AdvertiserLandingPagesPatchCall) Context(ctx context.Context) *AdvertiserLandingPagesPatchCall {
19321	c.ctx_ = ctx
19322	return c
19323}
19324
19325// Header returns an http.Header that can be modified by the caller to
19326// add HTTP headers to the request.
19327func (c *AdvertiserLandingPagesPatchCall) Header() http.Header {
19328	if c.header_ == nil {
19329		c.header_ = make(http.Header)
19330	}
19331	return c.header_
19332}
19333
19334func (c *AdvertiserLandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
19335	reqHeaders := make(http.Header)
19336	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19337	for k, v := range c.header_ {
19338		reqHeaders[k] = v
19339	}
19340	reqHeaders.Set("User-Agent", c.s.userAgent())
19341	var body io.Reader = nil
19342	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
19343	if err != nil {
19344		return nil, err
19345	}
19346	reqHeaders.Set("Content-Type", "application/json")
19347	c.urlParams_.Set("alt", alt)
19348	c.urlParams_.Set("prettyPrint", "false")
19349	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19350	urls += "?" + c.urlParams_.Encode()
19351	req, err := http.NewRequest("PATCH", urls, body)
19352	if err != nil {
19353		return nil, err
19354	}
19355	req.Header = reqHeaders
19356	googleapi.Expand(req.URL, map[string]string{
19357		"profileId": strconv.FormatInt(c.profileId, 10),
19358	})
19359	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19360}
19361
19362// Do executes the "dfareporting.advertiserLandingPages.patch" call.
19363// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
19364// status code is an error. Response headers are in either
19365// *LandingPage.ServerResponse.Header or (if a response was returned at
19366// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19367// to check whether the returned error was because
19368// http.StatusNotModified was returned.
19369func (c *AdvertiserLandingPagesPatchCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
19370	gensupport.SetOptions(c.urlParams_, opts...)
19371	res, err := c.doRequest("json")
19372	if res != nil && res.StatusCode == http.StatusNotModified {
19373		if res.Body != nil {
19374			res.Body.Close()
19375		}
19376		return nil, &googleapi.Error{
19377			Code:   res.StatusCode,
19378			Header: res.Header,
19379		}
19380	}
19381	if err != nil {
19382		return nil, err
19383	}
19384	defer googleapi.CloseBody(res)
19385	if err := googleapi.CheckResponse(res); err != nil {
19386		return nil, err
19387	}
19388	ret := &LandingPage{
19389		ServerResponse: googleapi.ServerResponse{
19390			Header:         res.Header,
19391			HTTPStatusCode: res.StatusCode,
19392		},
19393	}
19394	target := &ret
19395	if err := gensupport.DecodeResponse(target, res); err != nil {
19396		return nil, err
19397	}
19398	return ret, nil
19399	// {
19400	//   "description": "Updates an existing advertiser landing page. This method supports patch semantics.",
19401	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
19402	//   "httpMethod": "PATCH",
19403	//   "id": "dfareporting.advertiserLandingPages.patch",
19404	//   "parameterOrder": [
19405	//     "profileId",
19406	//     "id"
19407	//   ],
19408	//   "parameters": {
19409	//     "id": {
19410	//       "description": "LandingPage ID.",
19411	//       "format": "int64",
19412	//       "location": "query",
19413	//       "required": true,
19414	//       "type": "string"
19415	//     },
19416	//     "profileId": {
19417	//       "description": "User profile ID associated with this request.",
19418	//       "format": "int64",
19419	//       "location": "path",
19420	//       "required": true,
19421	//       "type": "string"
19422	//     }
19423	//   },
19424	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19425	//   "request": {
19426	//     "$ref": "LandingPage"
19427	//   },
19428	//   "response": {
19429	//     "$ref": "LandingPage"
19430	//   },
19431	//   "scopes": [
19432	//     "https://www.googleapis.com/auth/dfatrafficking"
19433	//   ]
19434	// }
19435
19436}
19437
19438// method id "dfareporting.advertiserLandingPages.update":
19439
19440type AdvertiserLandingPagesUpdateCall struct {
19441	s           *Service
19442	profileId   int64
19443	landingpage *LandingPage
19444	urlParams_  gensupport.URLParams
19445	ctx_        context.Context
19446	header_     http.Header
19447}
19448
19449// Update: Updates an existing landing page.
19450//
19451// - profileId: User profile ID associated with this request.
19452func (r *AdvertiserLandingPagesService) Update(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesUpdateCall {
19453	c := &AdvertiserLandingPagesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19454	c.profileId = profileId
19455	c.landingpage = landingpage
19456	return c
19457}
19458
19459// Fields allows partial responses to be retrieved. See
19460// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19461// for more information.
19462func (c *AdvertiserLandingPagesUpdateCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesUpdateCall {
19463	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19464	return c
19465}
19466
19467// Context sets the context to be used in this call's Do method. Any
19468// pending HTTP request will be aborted if the provided context is
19469// canceled.
19470func (c *AdvertiserLandingPagesUpdateCall) Context(ctx context.Context) *AdvertiserLandingPagesUpdateCall {
19471	c.ctx_ = ctx
19472	return c
19473}
19474
19475// Header returns an http.Header that can be modified by the caller to
19476// add HTTP headers to the request.
19477func (c *AdvertiserLandingPagesUpdateCall) Header() http.Header {
19478	if c.header_ == nil {
19479		c.header_ = make(http.Header)
19480	}
19481	return c.header_
19482}
19483
19484func (c *AdvertiserLandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
19485	reqHeaders := make(http.Header)
19486	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19487	for k, v := range c.header_ {
19488		reqHeaders[k] = v
19489	}
19490	reqHeaders.Set("User-Agent", c.s.userAgent())
19491	var body io.Reader = nil
19492	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
19493	if err != nil {
19494		return nil, err
19495	}
19496	reqHeaders.Set("Content-Type", "application/json")
19497	c.urlParams_.Set("alt", alt)
19498	c.urlParams_.Set("prettyPrint", "false")
19499	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19500	urls += "?" + c.urlParams_.Encode()
19501	req, err := http.NewRequest("PUT", urls, body)
19502	if err != nil {
19503		return nil, err
19504	}
19505	req.Header = reqHeaders
19506	googleapi.Expand(req.URL, map[string]string{
19507		"profileId": strconv.FormatInt(c.profileId, 10),
19508	})
19509	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19510}
19511
19512// Do executes the "dfareporting.advertiserLandingPages.update" call.
19513// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
19514// status code is an error. Response headers are in either
19515// *LandingPage.ServerResponse.Header or (if a response was returned at
19516// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19517// to check whether the returned error was because
19518// http.StatusNotModified was returned.
19519func (c *AdvertiserLandingPagesUpdateCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
19520	gensupport.SetOptions(c.urlParams_, opts...)
19521	res, err := c.doRequest("json")
19522	if res != nil && res.StatusCode == http.StatusNotModified {
19523		if res.Body != nil {
19524			res.Body.Close()
19525		}
19526		return nil, &googleapi.Error{
19527			Code:   res.StatusCode,
19528			Header: res.Header,
19529		}
19530	}
19531	if err != nil {
19532		return nil, err
19533	}
19534	defer googleapi.CloseBody(res)
19535	if err := googleapi.CheckResponse(res); err != nil {
19536		return nil, err
19537	}
19538	ret := &LandingPage{
19539		ServerResponse: googleapi.ServerResponse{
19540			Header:         res.Header,
19541			HTTPStatusCode: res.StatusCode,
19542		},
19543	}
19544	target := &ret
19545	if err := gensupport.DecodeResponse(target, res); err != nil {
19546		return nil, err
19547	}
19548	return ret, nil
19549	// {
19550	//   "description": "Updates an existing landing page.",
19551	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
19552	//   "httpMethod": "PUT",
19553	//   "id": "dfareporting.advertiserLandingPages.update",
19554	//   "parameterOrder": [
19555	//     "profileId"
19556	//   ],
19557	//   "parameters": {
19558	//     "profileId": {
19559	//       "description": "User profile ID associated with this request.",
19560	//       "format": "int64",
19561	//       "location": "path",
19562	//       "required": true,
19563	//       "type": "string"
19564	//     }
19565	//   },
19566	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19567	//   "request": {
19568	//     "$ref": "LandingPage"
19569	//   },
19570	//   "response": {
19571	//     "$ref": "LandingPage"
19572	//   },
19573	//   "scopes": [
19574	//     "https://www.googleapis.com/auth/dfatrafficking"
19575	//   ]
19576	// }
19577
19578}
19579
19580// method id "dfareporting.advertisers.get":
19581
19582type AdvertisersGetCall struct {
19583	s            *Service
19584	profileId    int64
19585	id           int64
19586	urlParams_   gensupport.URLParams
19587	ifNoneMatch_ string
19588	ctx_         context.Context
19589	header_      http.Header
19590}
19591
19592// Get: Gets one advertiser by ID.
19593//
19594// - id: Advertiser ID.
19595// - profileId: User profile ID associated with this request.
19596func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
19597	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19598	c.profileId = profileId
19599	c.id = id
19600	return c
19601}
19602
19603// Fields allows partial responses to be retrieved. See
19604// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19605// for more information.
19606func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
19607	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19608	return c
19609}
19610
19611// IfNoneMatch sets the optional parameter which makes the operation
19612// fail if the object's ETag matches the given value. This is useful for
19613// getting updates only after the object has changed since the last
19614// request. Use googleapi.IsNotModified to check whether the response
19615// error from Do is the result of In-None-Match.
19616func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
19617	c.ifNoneMatch_ = entityTag
19618	return c
19619}
19620
19621// Context sets the context to be used in this call's Do method. Any
19622// pending HTTP request will be aborted if the provided context is
19623// canceled.
19624func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
19625	c.ctx_ = ctx
19626	return c
19627}
19628
19629// Header returns an http.Header that can be modified by the caller to
19630// add HTTP headers to the request.
19631func (c *AdvertisersGetCall) Header() http.Header {
19632	if c.header_ == nil {
19633		c.header_ = make(http.Header)
19634	}
19635	return c.header_
19636}
19637
19638func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
19639	reqHeaders := make(http.Header)
19640	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19641	for k, v := range c.header_ {
19642		reqHeaders[k] = v
19643	}
19644	reqHeaders.Set("User-Agent", c.s.userAgent())
19645	if c.ifNoneMatch_ != "" {
19646		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19647	}
19648	var body io.Reader = nil
19649	c.urlParams_.Set("alt", alt)
19650	c.urlParams_.Set("prettyPrint", "false")
19651	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
19652	urls += "?" + c.urlParams_.Encode()
19653	req, err := http.NewRequest("GET", urls, body)
19654	if err != nil {
19655		return nil, err
19656	}
19657	req.Header = reqHeaders
19658	googleapi.Expand(req.URL, map[string]string{
19659		"profileId": strconv.FormatInt(c.profileId, 10),
19660		"id":        strconv.FormatInt(c.id, 10),
19661	})
19662	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19663}
19664
19665// Do executes the "dfareporting.advertisers.get" call.
19666// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
19667// status code is an error. Response headers are in either
19668// *Advertiser.ServerResponse.Header or (if a response was returned at
19669// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19670// to check whether the returned error was because
19671// http.StatusNotModified was returned.
19672func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
19673	gensupport.SetOptions(c.urlParams_, opts...)
19674	res, err := c.doRequest("json")
19675	if res != nil && res.StatusCode == http.StatusNotModified {
19676		if res.Body != nil {
19677			res.Body.Close()
19678		}
19679		return nil, &googleapi.Error{
19680			Code:   res.StatusCode,
19681			Header: res.Header,
19682		}
19683	}
19684	if err != nil {
19685		return nil, err
19686	}
19687	defer googleapi.CloseBody(res)
19688	if err := googleapi.CheckResponse(res); err != nil {
19689		return nil, err
19690	}
19691	ret := &Advertiser{
19692		ServerResponse: googleapi.ServerResponse{
19693			Header:         res.Header,
19694			HTTPStatusCode: res.StatusCode,
19695		},
19696	}
19697	target := &ret
19698	if err := gensupport.DecodeResponse(target, res); err != nil {
19699		return nil, err
19700	}
19701	return ret, nil
19702	// {
19703	//   "description": "Gets one advertiser by ID.",
19704	//   "flatPath": "userprofiles/{profileId}/advertisers/{id}",
19705	//   "httpMethod": "GET",
19706	//   "id": "dfareporting.advertisers.get",
19707	//   "parameterOrder": [
19708	//     "profileId",
19709	//     "id"
19710	//   ],
19711	//   "parameters": {
19712	//     "id": {
19713	//       "description": "Advertiser ID.",
19714	//       "format": "int64",
19715	//       "location": "path",
19716	//       "required": true,
19717	//       "type": "string"
19718	//     },
19719	//     "profileId": {
19720	//       "description": "User profile ID associated with this request.",
19721	//       "format": "int64",
19722	//       "location": "path",
19723	//       "required": true,
19724	//       "type": "string"
19725	//     }
19726	//   },
19727	//   "path": "userprofiles/{profileId}/advertisers/{id}",
19728	//   "response": {
19729	//     "$ref": "Advertiser"
19730	//   },
19731	//   "scopes": [
19732	//     "https://www.googleapis.com/auth/dfatrafficking"
19733	//   ]
19734	// }
19735
19736}
19737
19738// method id "dfareporting.advertisers.insert":
19739
19740type AdvertisersInsertCall struct {
19741	s          *Service
19742	profileId  int64
19743	advertiser *Advertiser
19744	urlParams_ gensupport.URLParams
19745	ctx_       context.Context
19746	header_    http.Header
19747}
19748
19749// Insert: Inserts a new advertiser.
19750//
19751// - profileId: User profile ID associated with this request.
19752func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
19753	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19754	c.profileId = profileId
19755	c.advertiser = advertiser
19756	return c
19757}
19758
19759// Fields allows partial responses to be retrieved. See
19760// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19761// for more information.
19762func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
19763	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19764	return c
19765}
19766
19767// Context sets the context to be used in this call's Do method. Any
19768// pending HTTP request will be aborted if the provided context is
19769// canceled.
19770func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
19771	c.ctx_ = ctx
19772	return c
19773}
19774
19775// Header returns an http.Header that can be modified by the caller to
19776// add HTTP headers to the request.
19777func (c *AdvertisersInsertCall) Header() http.Header {
19778	if c.header_ == nil {
19779		c.header_ = make(http.Header)
19780	}
19781	return c.header_
19782}
19783
19784func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
19785	reqHeaders := make(http.Header)
19786	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19787	for k, v := range c.header_ {
19788		reqHeaders[k] = v
19789	}
19790	reqHeaders.Set("User-Agent", c.s.userAgent())
19791	var body io.Reader = nil
19792	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
19793	if err != nil {
19794		return nil, err
19795	}
19796	reqHeaders.Set("Content-Type", "application/json")
19797	c.urlParams_.Set("alt", alt)
19798	c.urlParams_.Set("prettyPrint", "false")
19799	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
19800	urls += "?" + c.urlParams_.Encode()
19801	req, err := http.NewRequest("POST", urls, body)
19802	if err != nil {
19803		return nil, err
19804	}
19805	req.Header = reqHeaders
19806	googleapi.Expand(req.URL, map[string]string{
19807		"profileId": strconv.FormatInt(c.profileId, 10),
19808	})
19809	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19810}
19811
19812// Do executes the "dfareporting.advertisers.insert" call.
19813// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
19814// status code is an error. Response headers are in either
19815// *Advertiser.ServerResponse.Header or (if a response was returned at
19816// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19817// to check whether the returned error was because
19818// http.StatusNotModified was returned.
19819func (c *AdvertisersInsertCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
19820	gensupport.SetOptions(c.urlParams_, opts...)
19821	res, err := c.doRequest("json")
19822	if res != nil && res.StatusCode == http.StatusNotModified {
19823		if res.Body != nil {
19824			res.Body.Close()
19825		}
19826		return nil, &googleapi.Error{
19827			Code:   res.StatusCode,
19828			Header: res.Header,
19829		}
19830	}
19831	if err != nil {
19832		return nil, err
19833	}
19834	defer googleapi.CloseBody(res)
19835	if err := googleapi.CheckResponse(res); err != nil {
19836		return nil, err
19837	}
19838	ret := &Advertiser{
19839		ServerResponse: googleapi.ServerResponse{
19840			Header:         res.Header,
19841			HTTPStatusCode: res.StatusCode,
19842		},
19843	}
19844	target := &ret
19845	if err := gensupport.DecodeResponse(target, res); err != nil {
19846		return nil, err
19847	}
19848	return ret, nil
19849	// {
19850	//   "description": "Inserts a new advertiser.",
19851	//   "flatPath": "userprofiles/{profileId}/advertisers",
19852	//   "httpMethod": "POST",
19853	//   "id": "dfareporting.advertisers.insert",
19854	//   "parameterOrder": [
19855	//     "profileId"
19856	//   ],
19857	//   "parameters": {
19858	//     "profileId": {
19859	//       "description": "User profile ID associated with this request.",
19860	//       "format": "int64",
19861	//       "location": "path",
19862	//       "required": true,
19863	//       "type": "string"
19864	//     }
19865	//   },
19866	//   "path": "userprofiles/{profileId}/advertisers",
19867	//   "request": {
19868	//     "$ref": "Advertiser"
19869	//   },
19870	//   "response": {
19871	//     "$ref": "Advertiser"
19872	//   },
19873	//   "scopes": [
19874	//     "https://www.googleapis.com/auth/dfatrafficking"
19875	//   ]
19876	// }
19877
19878}
19879
19880// method id "dfareporting.advertisers.list":
19881
19882type AdvertisersListCall struct {
19883	s            *Service
19884	profileId    int64
19885	urlParams_   gensupport.URLParams
19886	ifNoneMatch_ string
19887	ctx_         context.Context
19888	header_      http.Header
19889}
19890
19891// List: Retrieves a list of advertisers, possibly filtered. This method
19892// supports paging.
19893//
19894// - profileId: User profile ID associated with this request.
19895func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
19896	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19897	c.profileId = profileId
19898	return c
19899}
19900
19901// AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
19902// Select only advertisers with these advertiser group IDs.
19903func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *AdvertisersListCall {
19904	var advertiserGroupIds_ []string
19905	for _, v := range advertiserGroupIds {
19906		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
19907	}
19908	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
19909	return c
19910}
19911
19912// FloodlightConfigurationIds sets the optional parameter
19913// "floodlightConfigurationIds": Select only advertisers with these
19914// floodlight configuration IDs.
19915func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds ...int64) *AdvertisersListCall {
19916	var floodlightConfigurationIds_ []string
19917	for _, v := range floodlightConfigurationIds {
19918		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprint(v))
19919	}
19920	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
19921	return c
19922}
19923
19924// Ids sets the optional parameter "ids": Select only advertisers with
19925// these IDs.
19926func (c *AdvertisersListCall) Ids(ids ...int64) *AdvertisersListCall {
19927	var ids_ []string
19928	for _, v := range ids {
19929		ids_ = append(ids_, fmt.Sprint(v))
19930	}
19931	c.urlParams_.SetMulti("ids", ids_)
19932	return c
19933}
19934
19935// IncludeAdvertisersWithoutGroupsOnly sets the optional parameter
19936// "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
19937// do not belong to any advertiser group.
19938func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
19939	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprint(includeAdvertisersWithoutGroupsOnly))
19940	return c
19941}
19942
19943// MaxResults sets the optional parameter "maxResults": Maximum number
19944// of results to return.
19945func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
19946	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
19947	return c
19948}
19949
19950// OnlyParent sets the optional parameter "onlyParent": Select only
19951// advertisers which use another advertiser's floodlight configuration.
19952func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
19953	c.urlParams_.Set("onlyParent", fmt.Sprint(onlyParent))
19954	return c
19955}
19956
19957// PageToken sets the optional parameter "pageToken": Value of the
19958// nextPageToken from the previous result page.
19959func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
19960	c.urlParams_.Set("pageToken", pageToken)
19961	return c
19962}
19963
19964// SearchString sets the optional parameter "searchString": Allows
19965// searching for objects by name or ID. Wildcards (*) are allowed. For
19966// example, "advertiser*2015" will return objects with names like
19967// "advertiser June 2015", "advertiser April 2015", or simply
19968// "advertiser 2015". Most of the searches also add wildcards implicitly
19969// at the start and the end of the search string. For example, a search
19970// string of "advertiser" will match objects with name "my advertiser",
19971// "advertiser 2015", or simply "advertiser" .
19972func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
19973	c.urlParams_.Set("searchString", searchString)
19974	return c
19975}
19976
19977// SortField sets the optional parameter "sortField": Field by which to
19978// sort the list.
19979//
19980// Possible values:
19981//   "ID" (default)
19982//   "NAME"
19983func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
19984	c.urlParams_.Set("sortField", sortField)
19985	return c
19986}
19987
19988// SortOrder sets the optional parameter "sortOrder": Order of sorted
19989// results.
19990//
19991// Possible values:
19992//   "ASCENDING" (default)
19993//   "DESCENDING"
19994func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
19995	c.urlParams_.Set("sortOrder", sortOrder)
19996	return c
19997}
19998
19999// Status sets the optional parameter "status": Select only advertisers
20000// with the specified status.
20001//
20002// Possible values:
20003//   "APPROVED"
20004//   "ON_HOLD"
20005func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
20006	c.urlParams_.Set("status", status)
20007	return c
20008}
20009
20010// SubaccountId sets the optional parameter "subaccountId": Select only
20011// advertisers with these subaccount IDs.
20012func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
20013	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
20014	return c
20015}
20016
20017// Fields allows partial responses to be retrieved. See
20018// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20019// for more information.
20020func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
20021	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20022	return c
20023}
20024
20025// IfNoneMatch sets the optional parameter which makes the operation
20026// fail if the object's ETag matches the given value. This is useful for
20027// getting updates only after the object has changed since the last
20028// request. Use googleapi.IsNotModified to check whether the response
20029// error from Do is the result of In-None-Match.
20030func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
20031	c.ifNoneMatch_ = entityTag
20032	return c
20033}
20034
20035// Context sets the context to be used in this call's Do method. Any
20036// pending HTTP request will be aborted if the provided context is
20037// canceled.
20038func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
20039	c.ctx_ = ctx
20040	return c
20041}
20042
20043// Header returns an http.Header that can be modified by the caller to
20044// add HTTP headers to the request.
20045func (c *AdvertisersListCall) Header() http.Header {
20046	if c.header_ == nil {
20047		c.header_ = make(http.Header)
20048	}
20049	return c.header_
20050}
20051
20052func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
20053	reqHeaders := make(http.Header)
20054	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20055	for k, v := range c.header_ {
20056		reqHeaders[k] = v
20057	}
20058	reqHeaders.Set("User-Agent", c.s.userAgent())
20059	if c.ifNoneMatch_ != "" {
20060		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20061	}
20062	var body io.Reader = nil
20063	c.urlParams_.Set("alt", alt)
20064	c.urlParams_.Set("prettyPrint", "false")
20065	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20066	urls += "?" + c.urlParams_.Encode()
20067	req, err := http.NewRequest("GET", urls, body)
20068	if err != nil {
20069		return nil, err
20070	}
20071	req.Header = reqHeaders
20072	googleapi.Expand(req.URL, map[string]string{
20073		"profileId": strconv.FormatInt(c.profileId, 10),
20074	})
20075	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20076}
20077
20078// Do executes the "dfareporting.advertisers.list" call.
20079// Exactly one of *AdvertisersListResponse or error will be non-nil. Any
20080// non-2xx status code is an error. Response headers are in either
20081// *AdvertisersListResponse.ServerResponse.Header or (if a response was
20082// returned at all) in error.(*googleapi.Error).Header. Use
20083// googleapi.IsNotModified to check whether the returned error was
20084// because http.StatusNotModified was returned.
20085func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*AdvertisersListResponse, error) {
20086	gensupport.SetOptions(c.urlParams_, opts...)
20087	res, err := c.doRequest("json")
20088	if res != nil && res.StatusCode == http.StatusNotModified {
20089		if res.Body != nil {
20090			res.Body.Close()
20091		}
20092		return nil, &googleapi.Error{
20093			Code:   res.StatusCode,
20094			Header: res.Header,
20095		}
20096	}
20097	if err != nil {
20098		return nil, err
20099	}
20100	defer googleapi.CloseBody(res)
20101	if err := googleapi.CheckResponse(res); err != nil {
20102		return nil, err
20103	}
20104	ret := &AdvertisersListResponse{
20105		ServerResponse: googleapi.ServerResponse{
20106			Header:         res.Header,
20107			HTTPStatusCode: res.StatusCode,
20108		},
20109	}
20110	target := &ret
20111	if err := gensupport.DecodeResponse(target, res); err != nil {
20112		return nil, err
20113	}
20114	return ret, nil
20115	// {
20116	//   "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
20117	//   "flatPath": "userprofiles/{profileId}/advertisers",
20118	//   "httpMethod": "GET",
20119	//   "id": "dfareporting.advertisers.list",
20120	//   "parameterOrder": [
20121	//     "profileId"
20122	//   ],
20123	//   "parameters": {
20124	//     "advertiserGroupIds": {
20125	//       "description": "Select only advertisers with these advertiser group IDs.",
20126	//       "format": "int64",
20127	//       "location": "query",
20128	//       "repeated": true,
20129	//       "type": "string"
20130	//     },
20131	//     "floodlightConfigurationIds": {
20132	//       "description": "Select only advertisers with these floodlight configuration IDs.",
20133	//       "format": "int64",
20134	//       "location": "query",
20135	//       "repeated": true,
20136	//       "type": "string"
20137	//     },
20138	//     "ids": {
20139	//       "description": "Select only advertisers with these IDs.",
20140	//       "format": "int64",
20141	//       "location": "query",
20142	//       "repeated": true,
20143	//       "type": "string"
20144	//     },
20145	//     "includeAdvertisersWithoutGroupsOnly": {
20146	//       "description": "Select only advertisers which do not belong to any advertiser group.",
20147	//       "location": "query",
20148	//       "type": "boolean"
20149	//     },
20150	//     "maxResults": {
20151	//       "default": "1000",
20152	//       "description": "Maximum number of results to return.",
20153	//       "format": "int32",
20154	//       "location": "query",
20155	//       "maximum": "1000",
20156	//       "minimum": "0",
20157	//       "type": "integer"
20158	//     },
20159	//     "onlyParent": {
20160	//       "description": "Select only advertisers which use another advertiser's floodlight configuration.",
20161	//       "location": "query",
20162	//       "type": "boolean"
20163	//     },
20164	//     "pageToken": {
20165	//       "description": "Value of the nextPageToken from the previous result page.",
20166	//       "location": "query",
20167	//       "type": "string"
20168	//     },
20169	//     "profileId": {
20170	//       "description": "User profile ID associated with this request.",
20171	//       "format": "int64",
20172	//       "location": "path",
20173	//       "required": true,
20174	//       "type": "string"
20175	//     },
20176	//     "searchString": {
20177	//       "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\" .",
20178	//       "location": "query",
20179	//       "type": "string"
20180	//     },
20181	//     "sortField": {
20182	//       "default": "ID",
20183	//       "description": "Field by which to sort the list.",
20184	//       "enum": [
20185	//         "ID",
20186	//         "NAME"
20187	//       ],
20188	//       "enumDescriptions": [
20189	//         "",
20190	//         ""
20191	//       ],
20192	//       "location": "query",
20193	//       "type": "string"
20194	//     },
20195	//     "sortOrder": {
20196	//       "default": "ASCENDING",
20197	//       "description": "Order of sorted results.",
20198	//       "enum": [
20199	//         "ASCENDING",
20200	//         "DESCENDING"
20201	//       ],
20202	//       "enumDescriptions": [
20203	//         "",
20204	//         ""
20205	//       ],
20206	//       "location": "query",
20207	//       "type": "string"
20208	//     },
20209	//     "status": {
20210	//       "description": "Select only advertisers with the specified status.",
20211	//       "enum": [
20212	//         "APPROVED",
20213	//         "ON_HOLD"
20214	//       ],
20215	//       "enumDescriptions": [
20216	//         "",
20217	//         ""
20218	//       ],
20219	//       "location": "query",
20220	//       "type": "string"
20221	//     },
20222	//     "subaccountId": {
20223	//       "description": "Select only advertisers with these subaccount IDs.",
20224	//       "format": "int64",
20225	//       "location": "query",
20226	//       "type": "string"
20227	//     }
20228	//   },
20229	//   "path": "userprofiles/{profileId}/advertisers",
20230	//   "response": {
20231	//     "$ref": "AdvertisersListResponse"
20232	//   },
20233	//   "scopes": [
20234	//     "https://www.googleapis.com/auth/dfatrafficking"
20235	//   ]
20236	// }
20237
20238}
20239
20240// Pages invokes f for each page of results.
20241// A non-nil error returned from f will halt the iteration.
20242// The provided context supersedes any context provided to the Context method.
20243func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*AdvertisersListResponse) error) error {
20244	c.ctx_ = ctx
20245	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20246	for {
20247		x, err := c.Do()
20248		if err != nil {
20249			return err
20250		}
20251		if err := f(x); err != nil {
20252			return err
20253		}
20254		if x.NextPageToken == "" {
20255			return nil
20256		}
20257		c.PageToken(x.NextPageToken)
20258	}
20259}
20260
20261// method id "dfareporting.advertisers.patch":
20262
20263type AdvertisersPatchCall struct {
20264	s          *Service
20265	profileId  int64
20266	advertiser *Advertiser
20267	urlParams_ gensupport.URLParams
20268	ctx_       context.Context
20269	header_    http.Header
20270}
20271
20272// Patch: Updates an existing advertiser. This method supports patch
20273// semantics.
20274//
20275// - id: Advertiser ID.
20276// - profileId: User profile ID associated with this request.
20277func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
20278	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20279	c.profileId = profileId
20280	c.urlParams_.Set("id", fmt.Sprint(id))
20281	c.advertiser = advertiser
20282	return c
20283}
20284
20285// Fields allows partial responses to be retrieved. See
20286// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20287// for more information.
20288func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
20289	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20290	return c
20291}
20292
20293// Context sets the context to be used in this call's Do method. Any
20294// pending HTTP request will be aborted if the provided context is
20295// canceled.
20296func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
20297	c.ctx_ = ctx
20298	return c
20299}
20300
20301// Header returns an http.Header that can be modified by the caller to
20302// add HTTP headers to the request.
20303func (c *AdvertisersPatchCall) Header() http.Header {
20304	if c.header_ == nil {
20305		c.header_ = make(http.Header)
20306	}
20307	return c.header_
20308}
20309
20310func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
20311	reqHeaders := make(http.Header)
20312	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20313	for k, v := range c.header_ {
20314		reqHeaders[k] = v
20315	}
20316	reqHeaders.Set("User-Agent", c.s.userAgent())
20317	var body io.Reader = nil
20318	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
20319	if err != nil {
20320		return nil, err
20321	}
20322	reqHeaders.Set("Content-Type", "application/json")
20323	c.urlParams_.Set("alt", alt)
20324	c.urlParams_.Set("prettyPrint", "false")
20325	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20326	urls += "?" + c.urlParams_.Encode()
20327	req, err := http.NewRequest("PATCH", urls, body)
20328	if err != nil {
20329		return nil, err
20330	}
20331	req.Header = reqHeaders
20332	googleapi.Expand(req.URL, map[string]string{
20333		"profileId": strconv.FormatInt(c.profileId, 10),
20334	})
20335	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20336}
20337
20338// Do executes the "dfareporting.advertisers.patch" call.
20339// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
20340// status code is an error. Response headers are in either
20341// *Advertiser.ServerResponse.Header or (if a response was returned at
20342// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20343// to check whether the returned error was because
20344// http.StatusNotModified was returned.
20345func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
20346	gensupport.SetOptions(c.urlParams_, opts...)
20347	res, err := c.doRequest("json")
20348	if res != nil && res.StatusCode == http.StatusNotModified {
20349		if res.Body != nil {
20350			res.Body.Close()
20351		}
20352		return nil, &googleapi.Error{
20353			Code:   res.StatusCode,
20354			Header: res.Header,
20355		}
20356	}
20357	if err != nil {
20358		return nil, err
20359	}
20360	defer googleapi.CloseBody(res)
20361	if err := googleapi.CheckResponse(res); err != nil {
20362		return nil, err
20363	}
20364	ret := &Advertiser{
20365		ServerResponse: googleapi.ServerResponse{
20366			Header:         res.Header,
20367			HTTPStatusCode: res.StatusCode,
20368		},
20369	}
20370	target := &ret
20371	if err := gensupport.DecodeResponse(target, res); err != nil {
20372		return nil, err
20373	}
20374	return ret, nil
20375	// {
20376	//   "description": "Updates an existing advertiser. This method supports patch semantics.",
20377	//   "flatPath": "userprofiles/{profileId}/advertisers",
20378	//   "httpMethod": "PATCH",
20379	//   "id": "dfareporting.advertisers.patch",
20380	//   "parameterOrder": [
20381	//     "profileId",
20382	//     "id"
20383	//   ],
20384	//   "parameters": {
20385	//     "id": {
20386	//       "description": "Advertiser ID.",
20387	//       "format": "int64",
20388	//       "location": "query",
20389	//       "required": true,
20390	//       "type": "string"
20391	//     },
20392	//     "profileId": {
20393	//       "description": "User profile ID associated with this request.",
20394	//       "format": "int64",
20395	//       "location": "path",
20396	//       "required": true,
20397	//       "type": "string"
20398	//     }
20399	//   },
20400	//   "path": "userprofiles/{profileId}/advertisers",
20401	//   "request": {
20402	//     "$ref": "Advertiser"
20403	//   },
20404	//   "response": {
20405	//     "$ref": "Advertiser"
20406	//   },
20407	//   "scopes": [
20408	//     "https://www.googleapis.com/auth/dfatrafficking"
20409	//   ]
20410	// }
20411
20412}
20413
20414// method id "dfareporting.advertisers.update":
20415
20416type AdvertisersUpdateCall struct {
20417	s          *Service
20418	profileId  int64
20419	advertiser *Advertiser
20420	urlParams_ gensupport.URLParams
20421	ctx_       context.Context
20422	header_    http.Header
20423}
20424
20425// Update: Updates an existing advertiser.
20426//
20427// - profileId: User profile ID associated with this request.
20428func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
20429	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20430	c.profileId = profileId
20431	c.advertiser = advertiser
20432	return c
20433}
20434
20435// Fields allows partial responses to be retrieved. See
20436// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20437// for more information.
20438func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
20439	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20440	return c
20441}
20442
20443// Context sets the context to be used in this call's Do method. Any
20444// pending HTTP request will be aborted if the provided context is
20445// canceled.
20446func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
20447	c.ctx_ = ctx
20448	return c
20449}
20450
20451// Header returns an http.Header that can be modified by the caller to
20452// add HTTP headers to the request.
20453func (c *AdvertisersUpdateCall) Header() http.Header {
20454	if c.header_ == nil {
20455		c.header_ = make(http.Header)
20456	}
20457	return c.header_
20458}
20459
20460func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
20461	reqHeaders := make(http.Header)
20462	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20463	for k, v := range c.header_ {
20464		reqHeaders[k] = v
20465	}
20466	reqHeaders.Set("User-Agent", c.s.userAgent())
20467	var body io.Reader = nil
20468	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
20469	if err != nil {
20470		return nil, err
20471	}
20472	reqHeaders.Set("Content-Type", "application/json")
20473	c.urlParams_.Set("alt", alt)
20474	c.urlParams_.Set("prettyPrint", "false")
20475	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20476	urls += "?" + c.urlParams_.Encode()
20477	req, err := http.NewRequest("PUT", urls, body)
20478	if err != nil {
20479		return nil, err
20480	}
20481	req.Header = reqHeaders
20482	googleapi.Expand(req.URL, map[string]string{
20483		"profileId": strconv.FormatInt(c.profileId, 10),
20484	})
20485	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20486}
20487
20488// Do executes the "dfareporting.advertisers.update" call.
20489// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
20490// status code is an error. Response headers are in either
20491// *Advertiser.ServerResponse.Header or (if a response was returned at
20492// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20493// to check whether the returned error was because
20494// http.StatusNotModified was returned.
20495func (c *AdvertisersUpdateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
20496	gensupport.SetOptions(c.urlParams_, opts...)
20497	res, err := c.doRequest("json")
20498	if res != nil && res.StatusCode == http.StatusNotModified {
20499		if res.Body != nil {
20500			res.Body.Close()
20501		}
20502		return nil, &googleapi.Error{
20503			Code:   res.StatusCode,
20504			Header: res.Header,
20505		}
20506	}
20507	if err != nil {
20508		return nil, err
20509	}
20510	defer googleapi.CloseBody(res)
20511	if err := googleapi.CheckResponse(res); err != nil {
20512		return nil, err
20513	}
20514	ret := &Advertiser{
20515		ServerResponse: googleapi.ServerResponse{
20516			Header:         res.Header,
20517			HTTPStatusCode: res.StatusCode,
20518		},
20519	}
20520	target := &ret
20521	if err := gensupport.DecodeResponse(target, res); err != nil {
20522		return nil, err
20523	}
20524	return ret, nil
20525	// {
20526	//   "description": "Updates an existing advertiser.",
20527	//   "flatPath": "userprofiles/{profileId}/advertisers",
20528	//   "httpMethod": "PUT",
20529	//   "id": "dfareporting.advertisers.update",
20530	//   "parameterOrder": [
20531	//     "profileId"
20532	//   ],
20533	//   "parameters": {
20534	//     "profileId": {
20535	//       "description": "User profile ID associated with this request.",
20536	//       "format": "int64",
20537	//       "location": "path",
20538	//       "required": true,
20539	//       "type": "string"
20540	//     }
20541	//   },
20542	//   "path": "userprofiles/{profileId}/advertisers",
20543	//   "request": {
20544	//     "$ref": "Advertiser"
20545	//   },
20546	//   "response": {
20547	//     "$ref": "Advertiser"
20548	//   },
20549	//   "scopes": [
20550	//     "https://www.googleapis.com/auth/dfatrafficking"
20551	//   ]
20552	// }
20553
20554}
20555
20556// method id "dfareporting.browsers.list":
20557
20558type BrowsersListCall struct {
20559	s            *Service
20560	profileId    int64
20561	urlParams_   gensupport.URLParams
20562	ifNoneMatch_ string
20563	ctx_         context.Context
20564	header_      http.Header
20565}
20566
20567// List: Retrieves a list of browsers.
20568//
20569// - profileId: User profile ID associated with this request.
20570func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
20571	c := &BrowsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20572	c.profileId = profileId
20573	return c
20574}
20575
20576// Fields allows partial responses to be retrieved. See
20577// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20578// for more information.
20579func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
20580	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20581	return c
20582}
20583
20584// IfNoneMatch sets the optional parameter which makes the operation
20585// fail if the object's ETag matches the given value. This is useful for
20586// getting updates only after the object has changed since the last
20587// request. Use googleapi.IsNotModified to check whether the response
20588// error from Do is the result of In-None-Match.
20589func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
20590	c.ifNoneMatch_ = entityTag
20591	return c
20592}
20593
20594// Context sets the context to be used in this call's Do method. Any
20595// pending HTTP request will be aborted if the provided context is
20596// canceled.
20597func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
20598	c.ctx_ = ctx
20599	return c
20600}
20601
20602// Header returns an http.Header that can be modified by the caller to
20603// add HTTP headers to the request.
20604func (c *BrowsersListCall) Header() http.Header {
20605	if c.header_ == nil {
20606		c.header_ = make(http.Header)
20607	}
20608	return c.header_
20609}
20610
20611func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
20612	reqHeaders := make(http.Header)
20613	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20614	for k, v := range c.header_ {
20615		reqHeaders[k] = v
20616	}
20617	reqHeaders.Set("User-Agent", c.s.userAgent())
20618	if c.ifNoneMatch_ != "" {
20619		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20620	}
20621	var body io.Reader = nil
20622	c.urlParams_.Set("alt", alt)
20623	c.urlParams_.Set("prettyPrint", "false")
20624	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
20625	urls += "?" + c.urlParams_.Encode()
20626	req, err := http.NewRequest("GET", urls, body)
20627	if err != nil {
20628		return nil, err
20629	}
20630	req.Header = reqHeaders
20631	googleapi.Expand(req.URL, map[string]string{
20632		"profileId": strconv.FormatInt(c.profileId, 10),
20633	})
20634	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20635}
20636
20637// Do executes the "dfareporting.browsers.list" call.
20638// Exactly one of *BrowsersListResponse or error will be non-nil. Any
20639// non-2xx status code is an error. Response headers are in either
20640// *BrowsersListResponse.ServerResponse.Header or (if a response was
20641// returned at all) in error.(*googleapi.Error).Header. Use
20642// googleapi.IsNotModified to check whether the returned error was
20643// because http.StatusNotModified was returned.
20644func (c *BrowsersListCall) Do(opts ...googleapi.CallOption) (*BrowsersListResponse, error) {
20645	gensupport.SetOptions(c.urlParams_, opts...)
20646	res, err := c.doRequest("json")
20647	if res != nil && res.StatusCode == http.StatusNotModified {
20648		if res.Body != nil {
20649			res.Body.Close()
20650		}
20651		return nil, &googleapi.Error{
20652			Code:   res.StatusCode,
20653			Header: res.Header,
20654		}
20655	}
20656	if err != nil {
20657		return nil, err
20658	}
20659	defer googleapi.CloseBody(res)
20660	if err := googleapi.CheckResponse(res); err != nil {
20661		return nil, err
20662	}
20663	ret := &BrowsersListResponse{
20664		ServerResponse: googleapi.ServerResponse{
20665			Header:         res.Header,
20666			HTTPStatusCode: res.StatusCode,
20667		},
20668	}
20669	target := &ret
20670	if err := gensupport.DecodeResponse(target, res); err != nil {
20671		return nil, err
20672	}
20673	return ret, nil
20674	// {
20675	//   "description": "Retrieves a list of browsers.",
20676	//   "flatPath": "userprofiles/{profileId}/browsers",
20677	//   "httpMethod": "GET",
20678	//   "id": "dfareporting.browsers.list",
20679	//   "parameterOrder": [
20680	//     "profileId"
20681	//   ],
20682	//   "parameters": {
20683	//     "profileId": {
20684	//       "description": "User profile ID associated with this request.",
20685	//       "format": "int64",
20686	//       "location": "path",
20687	//       "required": true,
20688	//       "type": "string"
20689	//     }
20690	//   },
20691	//   "path": "userprofiles/{profileId}/browsers",
20692	//   "response": {
20693	//     "$ref": "BrowsersListResponse"
20694	//   },
20695	//   "scopes": [
20696	//     "https://www.googleapis.com/auth/dfatrafficking"
20697	//   ]
20698	// }
20699
20700}
20701
20702// method id "dfareporting.campaignCreativeAssociations.insert":
20703
20704type CampaignCreativeAssociationsInsertCall struct {
20705	s                           *Service
20706	profileId                   int64
20707	campaignId                  int64
20708	campaigncreativeassociation *CampaignCreativeAssociation
20709	urlParams_                  gensupport.URLParams
20710	ctx_                        context.Context
20711	header_                     http.Header
20712}
20713
20714// Insert: Associates a creative with the specified campaign. This
20715// method creates a default ad with dimensions matching the creative in
20716// the campaign if such a default ad does not exist already.
20717//
20718// - campaignId: Campaign ID in this association.
20719// - profileId: User profile ID associated with this request.
20720func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
20721	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20722	c.profileId = profileId
20723	c.campaignId = campaignId
20724	c.campaigncreativeassociation = campaigncreativeassociation
20725	return c
20726}
20727
20728// Fields allows partial responses to be retrieved. See
20729// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20730// for more information.
20731func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
20732	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20733	return c
20734}
20735
20736// Context sets the context to be used in this call's Do method. Any
20737// pending HTTP request will be aborted if the provided context is
20738// canceled.
20739func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
20740	c.ctx_ = ctx
20741	return c
20742}
20743
20744// Header returns an http.Header that can be modified by the caller to
20745// add HTTP headers to the request.
20746func (c *CampaignCreativeAssociationsInsertCall) Header() http.Header {
20747	if c.header_ == nil {
20748		c.header_ = make(http.Header)
20749	}
20750	return c.header_
20751}
20752
20753func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
20754	reqHeaders := make(http.Header)
20755	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20756	for k, v := range c.header_ {
20757		reqHeaders[k] = v
20758	}
20759	reqHeaders.Set("User-Agent", c.s.userAgent())
20760	var body io.Reader = nil
20761	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaigncreativeassociation)
20762	if err != nil {
20763		return nil, err
20764	}
20765	reqHeaders.Set("Content-Type", "application/json")
20766	c.urlParams_.Set("alt", alt)
20767	c.urlParams_.Set("prettyPrint", "false")
20768	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
20769	urls += "?" + c.urlParams_.Encode()
20770	req, err := http.NewRequest("POST", urls, body)
20771	if err != nil {
20772		return nil, err
20773	}
20774	req.Header = reqHeaders
20775	googleapi.Expand(req.URL, map[string]string{
20776		"profileId":  strconv.FormatInt(c.profileId, 10),
20777		"campaignId": strconv.FormatInt(c.campaignId, 10),
20778	})
20779	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20780}
20781
20782// Do executes the "dfareporting.campaignCreativeAssociations.insert" call.
20783// Exactly one of *CampaignCreativeAssociation or error will be non-nil.
20784// Any non-2xx status code is an error. Response headers are in either
20785// *CampaignCreativeAssociation.ServerResponse.Header or (if a response
20786// was returned at all) in error.(*googleapi.Error).Header. Use
20787// googleapi.IsNotModified to check whether the returned error was
20788// because http.StatusNotModified was returned.
20789func (c *CampaignCreativeAssociationsInsertCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociation, error) {
20790	gensupport.SetOptions(c.urlParams_, opts...)
20791	res, err := c.doRequest("json")
20792	if res != nil && res.StatusCode == http.StatusNotModified {
20793		if res.Body != nil {
20794			res.Body.Close()
20795		}
20796		return nil, &googleapi.Error{
20797			Code:   res.StatusCode,
20798			Header: res.Header,
20799		}
20800	}
20801	if err != nil {
20802		return nil, err
20803	}
20804	defer googleapi.CloseBody(res)
20805	if err := googleapi.CheckResponse(res); err != nil {
20806		return nil, err
20807	}
20808	ret := &CampaignCreativeAssociation{
20809		ServerResponse: googleapi.ServerResponse{
20810			Header:         res.Header,
20811			HTTPStatusCode: res.StatusCode,
20812		},
20813	}
20814	target := &ret
20815	if err := gensupport.DecodeResponse(target, res); err != nil {
20816		return nil, err
20817	}
20818	return ret, nil
20819	// {
20820	//   "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.",
20821	//   "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
20822	//   "httpMethod": "POST",
20823	//   "id": "dfareporting.campaignCreativeAssociations.insert",
20824	//   "parameterOrder": [
20825	//     "profileId",
20826	//     "campaignId"
20827	//   ],
20828	//   "parameters": {
20829	//     "campaignId": {
20830	//       "description": "Campaign ID in this association.",
20831	//       "format": "int64",
20832	//       "location": "path",
20833	//       "required": true,
20834	//       "type": "string"
20835	//     },
20836	//     "profileId": {
20837	//       "description": "User profile ID associated with this request.",
20838	//       "format": "int64",
20839	//       "location": "path",
20840	//       "required": true,
20841	//       "type": "string"
20842	//     }
20843	//   },
20844	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
20845	//   "request": {
20846	//     "$ref": "CampaignCreativeAssociation"
20847	//   },
20848	//   "response": {
20849	//     "$ref": "CampaignCreativeAssociation"
20850	//   },
20851	//   "scopes": [
20852	//     "https://www.googleapis.com/auth/dfatrafficking"
20853	//   ]
20854	// }
20855
20856}
20857
20858// method id "dfareporting.campaignCreativeAssociations.list":
20859
20860type CampaignCreativeAssociationsListCall struct {
20861	s            *Service
20862	profileId    int64
20863	campaignId   int64
20864	urlParams_   gensupport.URLParams
20865	ifNoneMatch_ string
20866	ctx_         context.Context
20867	header_      http.Header
20868}
20869
20870// List: Retrieves the list of creative IDs associated with the
20871// specified campaign. This method supports paging.
20872//
20873// - campaignId: Campaign ID in this association.
20874// - profileId: User profile ID associated with this request.
20875func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
20876	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20877	c.profileId = profileId
20878	c.campaignId = campaignId
20879	return c
20880}
20881
20882// MaxResults sets the optional parameter "maxResults": Maximum number
20883// of results to return.
20884func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
20885	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
20886	return c
20887}
20888
20889// PageToken sets the optional parameter "pageToken": Value of the
20890// nextPageToken from the previous result page.
20891func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
20892	c.urlParams_.Set("pageToken", pageToken)
20893	return c
20894}
20895
20896// SortOrder sets the optional parameter "sortOrder": Order of sorted
20897// results.
20898//
20899// Possible values:
20900//   "ASCENDING" (default)
20901//   "DESCENDING"
20902func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
20903	c.urlParams_.Set("sortOrder", sortOrder)
20904	return c
20905}
20906
20907// Fields allows partial responses to be retrieved. See
20908// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20909// for more information.
20910func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
20911	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20912	return c
20913}
20914
20915// IfNoneMatch sets the optional parameter which makes the operation
20916// fail if the object's ETag matches the given value. This is useful for
20917// getting updates only after the object has changed since the last
20918// request. Use googleapi.IsNotModified to check whether the response
20919// error from Do is the result of In-None-Match.
20920func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
20921	c.ifNoneMatch_ = entityTag
20922	return c
20923}
20924
20925// Context sets the context to be used in this call's Do method. Any
20926// pending HTTP request will be aborted if the provided context is
20927// canceled.
20928func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
20929	c.ctx_ = ctx
20930	return c
20931}
20932
20933// Header returns an http.Header that can be modified by the caller to
20934// add HTTP headers to the request.
20935func (c *CampaignCreativeAssociationsListCall) Header() http.Header {
20936	if c.header_ == nil {
20937		c.header_ = make(http.Header)
20938	}
20939	return c.header_
20940}
20941
20942func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
20943	reqHeaders := make(http.Header)
20944	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20945	for k, v := range c.header_ {
20946		reqHeaders[k] = v
20947	}
20948	reqHeaders.Set("User-Agent", c.s.userAgent())
20949	if c.ifNoneMatch_ != "" {
20950		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20951	}
20952	var body io.Reader = nil
20953	c.urlParams_.Set("alt", alt)
20954	c.urlParams_.Set("prettyPrint", "false")
20955	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
20956	urls += "?" + c.urlParams_.Encode()
20957	req, err := http.NewRequest("GET", urls, body)
20958	if err != nil {
20959		return nil, err
20960	}
20961	req.Header = reqHeaders
20962	googleapi.Expand(req.URL, map[string]string{
20963		"profileId":  strconv.FormatInt(c.profileId, 10),
20964		"campaignId": strconv.FormatInt(c.campaignId, 10),
20965	})
20966	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20967}
20968
20969// Do executes the "dfareporting.campaignCreativeAssociations.list" call.
20970// Exactly one of *CampaignCreativeAssociationsListResponse or error
20971// will be non-nil. Any non-2xx status code is an error. Response
20972// headers are in either
20973// *CampaignCreativeAssociationsListResponse.ServerResponse.Header or
20974// (if a response was returned at all) in
20975// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20976// whether the returned error was because http.StatusNotModified was
20977// returned.
20978func (c *CampaignCreativeAssociationsListCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociationsListResponse, error) {
20979	gensupport.SetOptions(c.urlParams_, opts...)
20980	res, err := c.doRequest("json")
20981	if res != nil && res.StatusCode == http.StatusNotModified {
20982		if res.Body != nil {
20983			res.Body.Close()
20984		}
20985		return nil, &googleapi.Error{
20986			Code:   res.StatusCode,
20987			Header: res.Header,
20988		}
20989	}
20990	if err != nil {
20991		return nil, err
20992	}
20993	defer googleapi.CloseBody(res)
20994	if err := googleapi.CheckResponse(res); err != nil {
20995		return nil, err
20996	}
20997	ret := &CampaignCreativeAssociationsListResponse{
20998		ServerResponse: googleapi.ServerResponse{
20999			Header:         res.Header,
21000			HTTPStatusCode: res.StatusCode,
21001		},
21002	}
21003	target := &ret
21004	if err := gensupport.DecodeResponse(target, res); err != nil {
21005		return nil, err
21006	}
21007	return ret, nil
21008	// {
21009	//   "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
21010	//   "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
21011	//   "httpMethod": "GET",
21012	//   "id": "dfareporting.campaignCreativeAssociations.list",
21013	//   "parameterOrder": [
21014	//     "profileId",
21015	//     "campaignId"
21016	//   ],
21017	//   "parameters": {
21018	//     "campaignId": {
21019	//       "description": "Campaign ID in this association.",
21020	//       "format": "int64",
21021	//       "location": "path",
21022	//       "required": true,
21023	//       "type": "string"
21024	//     },
21025	//     "maxResults": {
21026	//       "default": "1000",
21027	//       "description": "Maximum number of results to return.",
21028	//       "format": "int32",
21029	//       "location": "query",
21030	//       "maximum": "1000",
21031	//       "minimum": "0",
21032	//       "type": "integer"
21033	//     },
21034	//     "pageToken": {
21035	//       "description": "Value of the nextPageToken from the previous result page.",
21036	//       "location": "query",
21037	//       "type": "string"
21038	//     },
21039	//     "profileId": {
21040	//       "description": "User profile ID associated with this request.",
21041	//       "format": "int64",
21042	//       "location": "path",
21043	//       "required": true,
21044	//       "type": "string"
21045	//     },
21046	//     "sortOrder": {
21047	//       "default": "ASCENDING",
21048	//       "description": "Order of sorted results.",
21049	//       "enum": [
21050	//         "ASCENDING",
21051	//         "DESCENDING"
21052	//       ],
21053	//       "enumDescriptions": [
21054	//         "",
21055	//         ""
21056	//       ],
21057	//       "location": "query",
21058	//       "type": "string"
21059	//     }
21060	//   },
21061	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
21062	//   "response": {
21063	//     "$ref": "CampaignCreativeAssociationsListResponse"
21064	//   },
21065	//   "scopes": [
21066	//     "https://www.googleapis.com/auth/dfatrafficking"
21067	//   ]
21068	// }
21069
21070}
21071
21072// Pages invokes f for each page of results.
21073// A non-nil error returned from f will halt the iteration.
21074// The provided context supersedes any context provided to the Context method.
21075func (c *CampaignCreativeAssociationsListCall) Pages(ctx context.Context, f func(*CampaignCreativeAssociationsListResponse) error) error {
21076	c.ctx_ = ctx
21077	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21078	for {
21079		x, err := c.Do()
21080		if err != nil {
21081			return err
21082		}
21083		if err := f(x); err != nil {
21084			return err
21085		}
21086		if x.NextPageToken == "" {
21087			return nil
21088		}
21089		c.PageToken(x.NextPageToken)
21090	}
21091}
21092
21093// method id "dfareporting.campaigns.get":
21094
21095type CampaignsGetCall struct {
21096	s            *Service
21097	profileId    int64
21098	id           int64
21099	urlParams_   gensupport.URLParams
21100	ifNoneMatch_ string
21101	ctx_         context.Context
21102	header_      http.Header
21103}
21104
21105// Get: Gets one campaign by ID.
21106//
21107// - id: Campaign ID.
21108// - profileId: User profile ID associated with this request.
21109func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
21110	c := &CampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21111	c.profileId = profileId
21112	c.id = id
21113	return c
21114}
21115
21116// Fields allows partial responses to be retrieved. See
21117// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21118// for more information.
21119func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
21120	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21121	return c
21122}
21123
21124// IfNoneMatch sets the optional parameter which makes the operation
21125// fail if the object's ETag matches the given value. This is useful for
21126// getting updates only after the object has changed since the last
21127// request. Use googleapi.IsNotModified to check whether the response
21128// error from Do is the result of In-None-Match.
21129func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
21130	c.ifNoneMatch_ = entityTag
21131	return c
21132}
21133
21134// Context sets the context to be used in this call's Do method. Any
21135// pending HTTP request will be aborted if the provided context is
21136// canceled.
21137func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
21138	c.ctx_ = ctx
21139	return c
21140}
21141
21142// Header returns an http.Header that can be modified by the caller to
21143// add HTTP headers to the request.
21144func (c *CampaignsGetCall) Header() http.Header {
21145	if c.header_ == nil {
21146		c.header_ = make(http.Header)
21147	}
21148	return c.header_
21149}
21150
21151func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
21152	reqHeaders := make(http.Header)
21153	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21154	for k, v := range c.header_ {
21155		reqHeaders[k] = v
21156	}
21157	reqHeaders.Set("User-Agent", c.s.userAgent())
21158	if c.ifNoneMatch_ != "" {
21159		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21160	}
21161	var body io.Reader = nil
21162	c.urlParams_.Set("alt", alt)
21163	c.urlParams_.Set("prettyPrint", "false")
21164	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
21165	urls += "?" + c.urlParams_.Encode()
21166	req, err := http.NewRequest("GET", urls, body)
21167	if err != nil {
21168		return nil, err
21169	}
21170	req.Header = reqHeaders
21171	googleapi.Expand(req.URL, map[string]string{
21172		"profileId": strconv.FormatInt(c.profileId, 10),
21173		"id":        strconv.FormatInt(c.id, 10),
21174	})
21175	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21176}
21177
21178// Do executes the "dfareporting.campaigns.get" call.
21179// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21180// code is an error. Response headers are in either
21181// *Campaign.ServerResponse.Header or (if a response was returned at
21182// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21183// to check whether the returned error was because
21184// http.StatusNotModified was returned.
21185func (c *CampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21186	gensupport.SetOptions(c.urlParams_, opts...)
21187	res, err := c.doRequest("json")
21188	if res != nil && res.StatusCode == http.StatusNotModified {
21189		if res.Body != nil {
21190			res.Body.Close()
21191		}
21192		return nil, &googleapi.Error{
21193			Code:   res.StatusCode,
21194			Header: res.Header,
21195		}
21196	}
21197	if err != nil {
21198		return nil, err
21199	}
21200	defer googleapi.CloseBody(res)
21201	if err := googleapi.CheckResponse(res); err != nil {
21202		return nil, err
21203	}
21204	ret := &Campaign{
21205		ServerResponse: googleapi.ServerResponse{
21206			Header:         res.Header,
21207			HTTPStatusCode: res.StatusCode,
21208		},
21209	}
21210	target := &ret
21211	if err := gensupport.DecodeResponse(target, res); err != nil {
21212		return nil, err
21213	}
21214	return ret, nil
21215	// {
21216	//   "description": "Gets one campaign by ID.",
21217	//   "flatPath": "userprofiles/{profileId}/campaigns/{id}",
21218	//   "httpMethod": "GET",
21219	//   "id": "dfareporting.campaigns.get",
21220	//   "parameterOrder": [
21221	//     "profileId",
21222	//     "id"
21223	//   ],
21224	//   "parameters": {
21225	//     "id": {
21226	//       "description": "Campaign ID.",
21227	//       "format": "int64",
21228	//       "location": "path",
21229	//       "required": true,
21230	//       "type": "string"
21231	//     },
21232	//     "profileId": {
21233	//       "description": "User profile ID associated with this request.",
21234	//       "format": "int64",
21235	//       "location": "path",
21236	//       "required": true,
21237	//       "type": "string"
21238	//     }
21239	//   },
21240	//   "path": "userprofiles/{profileId}/campaigns/{id}",
21241	//   "response": {
21242	//     "$ref": "Campaign"
21243	//   },
21244	//   "scopes": [
21245	//     "https://www.googleapis.com/auth/dfatrafficking"
21246	//   ]
21247	// }
21248
21249}
21250
21251// method id "dfareporting.campaigns.insert":
21252
21253type CampaignsInsertCall struct {
21254	s          *Service
21255	profileId  int64
21256	campaign   *Campaign
21257	urlParams_ gensupport.URLParams
21258	ctx_       context.Context
21259	header_    http.Header
21260}
21261
21262// Insert: Inserts a new campaign.
21263//
21264// - profileId: User profile ID associated with this request.
21265func (r *CampaignsService) Insert(profileId int64, campaign *Campaign) *CampaignsInsertCall {
21266	c := &CampaignsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21267	c.profileId = profileId
21268	c.campaign = campaign
21269	return c
21270}
21271
21272// Fields allows partial responses to be retrieved. See
21273// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21274// for more information.
21275func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
21276	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21277	return c
21278}
21279
21280// Context sets the context to be used in this call's Do method. Any
21281// pending HTTP request will be aborted if the provided context is
21282// canceled.
21283func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
21284	c.ctx_ = ctx
21285	return c
21286}
21287
21288// Header returns an http.Header that can be modified by the caller to
21289// add HTTP headers to the request.
21290func (c *CampaignsInsertCall) Header() http.Header {
21291	if c.header_ == nil {
21292		c.header_ = make(http.Header)
21293	}
21294	return c.header_
21295}
21296
21297func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
21298	reqHeaders := make(http.Header)
21299	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21300	for k, v := range c.header_ {
21301		reqHeaders[k] = v
21302	}
21303	reqHeaders.Set("User-Agent", c.s.userAgent())
21304	var body io.Reader = nil
21305	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21306	if err != nil {
21307		return nil, err
21308	}
21309	reqHeaders.Set("Content-Type", "application/json")
21310	c.urlParams_.Set("alt", alt)
21311	c.urlParams_.Set("prettyPrint", "false")
21312	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21313	urls += "?" + c.urlParams_.Encode()
21314	req, err := http.NewRequest("POST", urls, body)
21315	if err != nil {
21316		return nil, err
21317	}
21318	req.Header = reqHeaders
21319	googleapi.Expand(req.URL, map[string]string{
21320		"profileId": strconv.FormatInt(c.profileId, 10),
21321	})
21322	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21323}
21324
21325// Do executes the "dfareporting.campaigns.insert" call.
21326// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21327// code is an error. Response headers are in either
21328// *Campaign.ServerResponse.Header or (if a response was returned at
21329// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21330// to check whether the returned error was because
21331// http.StatusNotModified was returned.
21332func (c *CampaignsInsertCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21333	gensupport.SetOptions(c.urlParams_, opts...)
21334	res, err := c.doRequest("json")
21335	if res != nil && res.StatusCode == http.StatusNotModified {
21336		if res.Body != nil {
21337			res.Body.Close()
21338		}
21339		return nil, &googleapi.Error{
21340			Code:   res.StatusCode,
21341			Header: res.Header,
21342		}
21343	}
21344	if err != nil {
21345		return nil, err
21346	}
21347	defer googleapi.CloseBody(res)
21348	if err := googleapi.CheckResponse(res); err != nil {
21349		return nil, err
21350	}
21351	ret := &Campaign{
21352		ServerResponse: googleapi.ServerResponse{
21353			Header:         res.Header,
21354			HTTPStatusCode: res.StatusCode,
21355		},
21356	}
21357	target := &ret
21358	if err := gensupport.DecodeResponse(target, res); err != nil {
21359		return nil, err
21360	}
21361	return ret, nil
21362	// {
21363	//   "description": "Inserts a new campaign.",
21364	//   "flatPath": "userprofiles/{profileId}/campaigns",
21365	//   "httpMethod": "POST",
21366	//   "id": "dfareporting.campaigns.insert",
21367	//   "parameterOrder": [
21368	//     "profileId"
21369	//   ],
21370	//   "parameters": {
21371	//     "profileId": {
21372	//       "description": "User profile ID associated with this request.",
21373	//       "format": "int64",
21374	//       "location": "path",
21375	//       "required": true,
21376	//       "type": "string"
21377	//     }
21378	//   },
21379	//   "path": "userprofiles/{profileId}/campaigns",
21380	//   "request": {
21381	//     "$ref": "Campaign"
21382	//   },
21383	//   "response": {
21384	//     "$ref": "Campaign"
21385	//   },
21386	//   "scopes": [
21387	//     "https://www.googleapis.com/auth/dfatrafficking"
21388	//   ]
21389	// }
21390
21391}
21392
21393// method id "dfareporting.campaigns.list":
21394
21395type CampaignsListCall struct {
21396	s            *Service
21397	profileId    int64
21398	urlParams_   gensupport.URLParams
21399	ifNoneMatch_ string
21400	ctx_         context.Context
21401	header_      http.Header
21402}
21403
21404// List: Retrieves a list of campaigns, possibly filtered. This method
21405// supports paging.
21406//
21407// - profileId: User profile ID associated with this request.
21408func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
21409	c := &CampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21410	c.profileId = profileId
21411	return c
21412}
21413
21414// AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
21415// Select only campaigns whose advertisers belong to these advertiser
21416// groups.
21417func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *CampaignsListCall {
21418	var advertiserGroupIds_ []string
21419	for _, v := range advertiserGroupIds {
21420		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
21421	}
21422	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
21423	return c
21424}
21425
21426// AdvertiserIds sets the optional parameter "advertiserIds": Select
21427// only campaigns that belong to these advertisers.
21428func (c *CampaignsListCall) AdvertiserIds(advertiserIds ...int64) *CampaignsListCall {
21429	var advertiserIds_ []string
21430	for _, v := range advertiserIds {
21431		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
21432	}
21433	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
21434	return c
21435}
21436
21437// Archived sets the optional parameter "archived": Select only archived
21438// campaigns. Don't set this field to select both archived and
21439// non-archived campaigns.
21440func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
21441	c.urlParams_.Set("archived", fmt.Sprint(archived))
21442	return c
21443}
21444
21445// AtLeastOneOptimizationActivity sets the optional parameter
21446// "atLeastOneOptimizationActivity": Select only campaigns that have at
21447// least one optimization activity.
21448func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
21449	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprint(atLeastOneOptimizationActivity))
21450	return c
21451}
21452
21453// ExcludedIds sets the optional parameter "excludedIds": Exclude
21454// campaigns with these IDs.
21455func (c *CampaignsListCall) ExcludedIds(excludedIds ...int64) *CampaignsListCall {
21456	var excludedIds_ []string
21457	for _, v := range excludedIds {
21458		excludedIds_ = append(excludedIds_, fmt.Sprint(v))
21459	}
21460	c.urlParams_.SetMulti("excludedIds", excludedIds_)
21461	return c
21462}
21463
21464// Ids sets the optional parameter "ids": Select only campaigns with
21465// these IDs.
21466func (c *CampaignsListCall) Ids(ids ...int64) *CampaignsListCall {
21467	var ids_ []string
21468	for _, v := range ids {
21469		ids_ = append(ids_, fmt.Sprint(v))
21470	}
21471	c.urlParams_.SetMulti("ids", ids_)
21472	return c
21473}
21474
21475// MaxResults sets the optional parameter "maxResults": Maximum number
21476// of results to return.
21477func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
21478	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
21479	return c
21480}
21481
21482// OverriddenEventTagId sets the optional parameter
21483// "overriddenEventTagId": Select only campaigns that have overridden
21484// this event tag ID.
21485func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
21486	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
21487	return c
21488}
21489
21490// PageToken sets the optional parameter "pageToken": Value of the
21491// nextPageToken from the previous result page.
21492func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
21493	c.urlParams_.Set("pageToken", pageToken)
21494	return c
21495}
21496
21497// SearchString sets the optional parameter "searchString": Allows
21498// searching for campaigns by name or ID. Wildcards (*) are allowed. For
21499// example, "campaign*2015" will return campaigns with names like
21500// "campaign June 2015", "campaign April 2015", or simply "campaign
21501// 2015". Most of the searches also add wildcards implicitly at the
21502// start and the end of the search string. For example, a search string
21503// of "campaign" will match campaigns with name "my campaign", "campaign
21504// 2015", or simply "campaign".
21505func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
21506	c.urlParams_.Set("searchString", searchString)
21507	return c
21508}
21509
21510// SortField sets the optional parameter "sortField": Field by which to
21511// sort the list.
21512//
21513// Possible values:
21514//   "ID" (default)
21515//   "NAME"
21516func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
21517	c.urlParams_.Set("sortField", sortField)
21518	return c
21519}
21520
21521// SortOrder sets the optional parameter "sortOrder": Order of sorted
21522// results.
21523//
21524// Possible values:
21525//   "ASCENDING" (default)
21526//   "DESCENDING"
21527func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
21528	c.urlParams_.Set("sortOrder", sortOrder)
21529	return c
21530}
21531
21532// SubaccountId sets the optional parameter "subaccountId": Select only
21533// campaigns that belong to this subaccount.
21534func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
21535	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
21536	return c
21537}
21538
21539// Fields allows partial responses to be retrieved. See
21540// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21541// for more information.
21542func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
21543	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21544	return c
21545}
21546
21547// IfNoneMatch sets the optional parameter which makes the operation
21548// fail if the object's ETag matches the given value. This is useful for
21549// getting updates only after the object has changed since the last
21550// request. Use googleapi.IsNotModified to check whether the response
21551// error from Do is the result of In-None-Match.
21552func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
21553	c.ifNoneMatch_ = entityTag
21554	return c
21555}
21556
21557// Context sets the context to be used in this call's Do method. Any
21558// pending HTTP request will be aborted if the provided context is
21559// canceled.
21560func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
21561	c.ctx_ = ctx
21562	return c
21563}
21564
21565// Header returns an http.Header that can be modified by the caller to
21566// add HTTP headers to the request.
21567func (c *CampaignsListCall) Header() http.Header {
21568	if c.header_ == nil {
21569		c.header_ = make(http.Header)
21570	}
21571	return c.header_
21572}
21573
21574func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
21575	reqHeaders := make(http.Header)
21576	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21577	for k, v := range c.header_ {
21578		reqHeaders[k] = v
21579	}
21580	reqHeaders.Set("User-Agent", c.s.userAgent())
21581	if c.ifNoneMatch_ != "" {
21582		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21583	}
21584	var body io.Reader = nil
21585	c.urlParams_.Set("alt", alt)
21586	c.urlParams_.Set("prettyPrint", "false")
21587	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21588	urls += "?" + c.urlParams_.Encode()
21589	req, err := http.NewRequest("GET", urls, body)
21590	if err != nil {
21591		return nil, err
21592	}
21593	req.Header = reqHeaders
21594	googleapi.Expand(req.URL, map[string]string{
21595		"profileId": strconv.FormatInt(c.profileId, 10),
21596	})
21597	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21598}
21599
21600// Do executes the "dfareporting.campaigns.list" call.
21601// Exactly one of *CampaignsListResponse or error will be non-nil. Any
21602// non-2xx status code is an error. Response headers are in either
21603// *CampaignsListResponse.ServerResponse.Header or (if a response was
21604// returned at all) in error.(*googleapi.Error).Header. Use
21605// googleapi.IsNotModified to check whether the returned error was
21606// because http.StatusNotModified was returned.
21607func (c *CampaignsListCall) Do(opts ...googleapi.CallOption) (*CampaignsListResponse, error) {
21608	gensupport.SetOptions(c.urlParams_, opts...)
21609	res, err := c.doRequest("json")
21610	if res != nil && res.StatusCode == http.StatusNotModified {
21611		if res.Body != nil {
21612			res.Body.Close()
21613		}
21614		return nil, &googleapi.Error{
21615			Code:   res.StatusCode,
21616			Header: res.Header,
21617		}
21618	}
21619	if err != nil {
21620		return nil, err
21621	}
21622	defer googleapi.CloseBody(res)
21623	if err := googleapi.CheckResponse(res); err != nil {
21624		return nil, err
21625	}
21626	ret := &CampaignsListResponse{
21627		ServerResponse: googleapi.ServerResponse{
21628			Header:         res.Header,
21629			HTTPStatusCode: res.StatusCode,
21630		},
21631	}
21632	target := &ret
21633	if err := gensupport.DecodeResponse(target, res); err != nil {
21634		return nil, err
21635	}
21636	return ret, nil
21637	// {
21638	//   "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
21639	//   "flatPath": "userprofiles/{profileId}/campaigns",
21640	//   "httpMethod": "GET",
21641	//   "id": "dfareporting.campaigns.list",
21642	//   "parameterOrder": [
21643	//     "profileId"
21644	//   ],
21645	//   "parameters": {
21646	//     "advertiserGroupIds": {
21647	//       "description": "Select only campaigns whose advertisers belong to these advertiser groups.",
21648	//       "format": "int64",
21649	//       "location": "query",
21650	//       "repeated": true,
21651	//       "type": "string"
21652	//     },
21653	//     "advertiserIds": {
21654	//       "description": "Select only campaigns that belong to these advertisers.",
21655	//       "format": "int64",
21656	//       "location": "query",
21657	//       "repeated": true,
21658	//       "type": "string"
21659	//     },
21660	//     "archived": {
21661	//       "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.",
21662	//       "location": "query",
21663	//       "type": "boolean"
21664	//     },
21665	//     "atLeastOneOptimizationActivity": {
21666	//       "description": "Select only campaigns that have at least one optimization activity.",
21667	//       "location": "query",
21668	//       "type": "boolean"
21669	//     },
21670	//     "excludedIds": {
21671	//       "description": "Exclude campaigns with these IDs.",
21672	//       "format": "int64",
21673	//       "location": "query",
21674	//       "repeated": true,
21675	//       "type": "string"
21676	//     },
21677	//     "ids": {
21678	//       "description": "Select only campaigns with these IDs.",
21679	//       "format": "int64",
21680	//       "location": "query",
21681	//       "repeated": true,
21682	//       "type": "string"
21683	//     },
21684	//     "maxResults": {
21685	//       "default": "1000",
21686	//       "description": "Maximum number of results to return.",
21687	//       "format": "int32",
21688	//       "location": "query",
21689	//       "maximum": "1000",
21690	//       "minimum": "0",
21691	//       "type": "integer"
21692	//     },
21693	//     "overriddenEventTagId": {
21694	//       "description": "Select only campaigns that have overridden this event tag ID.",
21695	//       "format": "int64",
21696	//       "location": "query",
21697	//       "type": "string"
21698	//     },
21699	//     "pageToken": {
21700	//       "description": "Value of the nextPageToken from the previous result page.",
21701	//       "location": "query",
21702	//       "type": "string"
21703	//     },
21704	//     "profileId": {
21705	//       "description": "User profile ID associated with this request.",
21706	//       "format": "int64",
21707	//       "location": "path",
21708	//       "required": true,
21709	//       "type": "string"
21710	//     },
21711	//     "searchString": {
21712	//       "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\".",
21713	//       "location": "query",
21714	//       "type": "string"
21715	//     },
21716	//     "sortField": {
21717	//       "default": "ID",
21718	//       "description": "Field by which to sort the list.",
21719	//       "enum": [
21720	//         "ID",
21721	//         "NAME"
21722	//       ],
21723	//       "enumDescriptions": [
21724	//         "",
21725	//         ""
21726	//       ],
21727	//       "location": "query",
21728	//       "type": "string"
21729	//     },
21730	//     "sortOrder": {
21731	//       "default": "ASCENDING",
21732	//       "description": "Order of sorted results.",
21733	//       "enum": [
21734	//         "ASCENDING",
21735	//         "DESCENDING"
21736	//       ],
21737	//       "enumDescriptions": [
21738	//         "",
21739	//         ""
21740	//       ],
21741	//       "location": "query",
21742	//       "type": "string"
21743	//     },
21744	//     "subaccountId": {
21745	//       "description": "Select only campaigns that belong to this subaccount.",
21746	//       "format": "int64",
21747	//       "location": "query",
21748	//       "type": "string"
21749	//     }
21750	//   },
21751	//   "path": "userprofiles/{profileId}/campaigns",
21752	//   "response": {
21753	//     "$ref": "CampaignsListResponse"
21754	//   },
21755	//   "scopes": [
21756	//     "https://www.googleapis.com/auth/dfatrafficking"
21757	//   ]
21758	// }
21759
21760}
21761
21762// Pages invokes f for each page of results.
21763// A non-nil error returned from f will halt the iteration.
21764// The provided context supersedes any context provided to the Context method.
21765func (c *CampaignsListCall) Pages(ctx context.Context, f func(*CampaignsListResponse) error) error {
21766	c.ctx_ = ctx
21767	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21768	for {
21769		x, err := c.Do()
21770		if err != nil {
21771			return err
21772		}
21773		if err := f(x); err != nil {
21774			return err
21775		}
21776		if x.NextPageToken == "" {
21777			return nil
21778		}
21779		c.PageToken(x.NextPageToken)
21780	}
21781}
21782
21783// method id "dfareporting.campaigns.patch":
21784
21785type CampaignsPatchCall struct {
21786	s          *Service
21787	profileId  int64
21788	campaign   *Campaign
21789	urlParams_ gensupport.URLParams
21790	ctx_       context.Context
21791	header_    http.Header
21792}
21793
21794// Patch: Updates an existing campaign. This method supports patch
21795// semantics.
21796//
21797// - id: Campaign ID.
21798// - profileId: User profile ID associated with this request.
21799func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
21800	c := &CampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21801	c.profileId = profileId
21802	c.urlParams_.Set("id", fmt.Sprint(id))
21803	c.campaign = campaign
21804	return c
21805}
21806
21807// Fields allows partial responses to be retrieved. See
21808// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21809// for more information.
21810func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
21811	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21812	return c
21813}
21814
21815// Context sets the context to be used in this call's Do method. Any
21816// pending HTTP request will be aborted if the provided context is
21817// canceled.
21818func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
21819	c.ctx_ = ctx
21820	return c
21821}
21822
21823// Header returns an http.Header that can be modified by the caller to
21824// add HTTP headers to the request.
21825func (c *CampaignsPatchCall) Header() http.Header {
21826	if c.header_ == nil {
21827		c.header_ = make(http.Header)
21828	}
21829	return c.header_
21830}
21831
21832func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
21833	reqHeaders := make(http.Header)
21834	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21835	for k, v := range c.header_ {
21836		reqHeaders[k] = v
21837	}
21838	reqHeaders.Set("User-Agent", c.s.userAgent())
21839	var body io.Reader = nil
21840	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21841	if err != nil {
21842		return nil, err
21843	}
21844	reqHeaders.Set("Content-Type", "application/json")
21845	c.urlParams_.Set("alt", alt)
21846	c.urlParams_.Set("prettyPrint", "false")
21847	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21848	urls += "?" + c.urlParams_.Encode()
21849	req, err := http.NewRequest("PATCH", urls, body)
21850	if err != nil {
21851		return nil, err
21852	}
21853	req.Header = reqHeaders
21854	googleapi.Expand(req.URL, map[string]string{
21855		"profileId": strconv.FormatInt(c.profileId, 10),
21856	})
21857	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21858}
21859
21860// Do executes the "dfareporting.campaigns.patch" call.
21861// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21862// code is an error. Response headers are in either
21863// *Campaign.ServerResponse.Header or (if a response was returned at
21864// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21865// to check whether the returned error was because
21866// http.StatusNotModified was returned.
21867func (c *CampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21868	gensupport.SetOptions(c.urlParams_, opts...)
21869	res, err := c.doRequest("json")
21870	if res != nil && res.StatusCode == http.StatusNotModified {
21871		if res.Body != nil {
21872			res.Body.Close()
21873		}
21874		return nil, &googleapi.Error{
21875			Code:   res.StatusCode,
21876			Header: res.Header,
21877		}
21878	}
21879	if err != nil {
21880		return nil, err
21881	}
21882	defer googleapi.CloseBody(res)
21883	if err := googleapi.CheckResponse(res); err != nil {
21884		return nil, err
21885	}
21886	ret := &Campaign{
21887		ServerResponse: googleapi.ServerResponse{
21888			Header:         res.Header,
21889			HTTPStatusCode: res.StatusCode,
21890		},
21891	}
21892	target := &ret
21893	if err := gensupport.DecodeResponse(target, res); err != nil {
21894		return nil, err
21895	}
21896	return ret, nil
21897	// {
21898	//   "description": "Updates an existing campaign. This method supports patch semantics.",
21899	//   "flatPath": "userprofiles/{profileId}/campaigns",
21900	//   "httpMethod": "PATCH",
21901	//   "id": "dfareporting.campaigns.patch",
21902	//   "parameterOrder": [
21903	//     "profileId",
21904	//     "id"
21905	//   ],
21906	//   "parameters": {
21907	//     "id": {
21908	//       "description": "Campaign ID.",
21909	//       "format": "int64",
21910	//       "location": "query",
21911	//       "required": true,
21912	//       "type": "string"
21913	//     },
21914	//     "profileId": {
21915	//       "description": "User profile ID associated with this request.",
21916	//       "format": "int64",
21917	//       "location": "path",
21918	//       "required": true,
21919	//       "type": "string"
21920	//     }
21921	//   },
21922	//   "path": "userprofiles/{profileId}/campaigns",
21923	//   "request": {
21924	//     "$ref": "Campaign"
21925	//   },
21926	//   "response": {
21927	//     "$ref": "Campaign"
21928	//   },
21929	//   "scopes": [
21930	//     "https://www.googleapis.com/auth/dfatrafficking"
21931	//   ]
21932	// }
21933
21934}
21935
21936// method id "dfareporting.campaigns.update":
21937
21938type CampaignsUpdateCall struct {
21939	s          *Service
21940	profileId  int64
21941	campaign   *Campaign
21942	urlParams_ gensupport.URLParams
21943	ctx_       context.Context
21944	header_    http.Header
21945}
21946
21947// Update: Updates an existing campaign.
21948//
21949// - profileId: User profile ID associated with this request.
21950func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
21951	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21952	c.profileId = profileId
21953	c.campaign = campaign
21954	return c
21955}
21956
21957// Fields allows partial responses to be retrieved. See
21958// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21959// for more information.
21960func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
21961	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21962	return c
21963}
21964
21965// Context sets the context to be used in this call's Do method. Any
21966// pending HTTP request will be aborted if the provided context is
21967// canceled.
21968func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
21969	c.ctx_ = ctx
21970	return c
21971}
21972
21973// Header returns an http.Header that can be modified by the caller to
21974// add HTTP headers to the request.
21975func (c *CampaignsUpdateCall) Header() http.Header {
21976	if c.header_ == nil {
21977		c.header_ = make(http.Header)
21978	}
21979	return c.header_
21980}
21981
21982func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
21983	reqHeaders := make(http.Header)
21984	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21985	for k, v := range c.header_ {
21986		reqHeaders[k] = v
21987	}
21988	reqHeaders.Set("User-Agent", c.s.userAgent())
21989	var body io.Reader = nil
21990	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21991	if err != nil {
21992		return nil, err
21993	}
21994	reqHeaders.Set("Content-Type", "application/json")
21995	c.urlParams_.Set("alt", alt)
21996	c.urlParams_.Set("prettyPrint", "false")
21997	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21998	urls += "?" + c.urlParams_.Encode()
21999	req, err := http.NewRequest("PUT", urls, body)
22000	if err != nil {
22001		return nil, err
22002	}
22003	req.Header = reqHeaders
22004	googleapi.Expand(req.URL, map[string]string{
22005		"profileId": strconv.FormatInt(c.profileId, 10),
22006	})
22007	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22008}
22009
22010// Do executes the "dfareporting.campaigns.update" call.
22011// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
22012// code is an error. Response headers are in either
22013// *Campaign.ServerResponse.Header or (if a response was returned at
22014// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22015// to check whether the returned error was because
22016// http.StatusNotModified was returned.
22017func (c *CampaignsUpdateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
22018	gensupport.SetOptions(c.urlParams_, opts...)
22019	res, err := c.doRequest("json")
22020	if res != nil && res.StatusCode == http.StatusNotModified {
22021		if res.Body != nil {
22022			res.Body.Close()
22023		}
22024		return nil, &googleapi.Error{
22025			Code:   res.StatusCode,
22026			Header: res.Header,
22027		}
22028	}
22029	if err != nil {
22030		return nil, err
22031	}
22032	defer googleapi.CloseBody(res)
22033	if err := googleapi.CheckResponse(res); err != nil {
22034		return nil, err
22035	}
22036	ret := &Campaign{
22037		ServerResponse: googleapi.ServerResponse{
22038			Header:         res.Header,
22039			HTTPStatusCode: res.StatusCode,
22040		},
22041	}
22042	target := &ret
22043	if err := gensupport.DecodeResponse(target, res); err != nil {
22044		return nil, err
22045	}
22046	return ret, nil
22047	// {
22048	//   "description": "Updates an existing campaign.",
22049	//   "flatPath": "userprofiles/{profileId}/campaigns",
22050	//   "httpMethod": "PUT",
22051	//   "id": "dfareporting.campaigns.update",
22052	//   "parameterOrder": [
22053	//     "profileId"
22054	//   ],
22055	//   "parameters": {
22056	//     "profileId": {
22057	//       "description": "User profile ID associated with this request.",
22058	//       "format": "int64",
22059	//       "location": "path",
22060	//       "required": true,
22061	//       "type": "string"
22062	//     }
22063	//   },
22064	//   "path": "userprofiles/{profileId}/campaigns",
22065	//   "request": {
22066	//     "$ref": "Campaign"
22067	//   },
22068	//   "response": {
22069	//     "$ref": "Campaign"
22070	//   },
22071	//   "scopes": [
22072	//     "https://www.googleapis.com/auth/dfatrafficking"
22073	//   ]
22074	// }
22075
22076}
22077
22078// method id "dfareporting.changeLogs.get":
22079
22080type ChangeLogsGetCall struct {
22081	s            *Service
22082	profileId    int64
22083	id           int64
22084	urlParams_   gensupport.URLParams
22085	ifNoneMatch_ string
22086	ctx_         context.Context
22087	header_      http.Header
22088}
22089
22090// Get: Gets one change log by ID.
22091//
22092// - id: Change log ID.
22093// - profileId: User profile ID associated with this request.
22094func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
22095	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22096	c.profileId = profileId
22097	c.id = id
22098	return c
22099}
22100
22101// Fields allows partial responses to be retrieved. See
22102// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22103// for more information.
22104func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
22105	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22106	return c
22107}
22108
22109// IfNoneMatch sets the optional parameter which makes the operation
22110// fail if the object's ETag matches the given value. This is useful for
22111// getting updates only after the object has changed since the last
22112// request. Use googleapi.IsNotModified to check whether the response
22113// error from Do is the result of In-None-Match.
22114func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
22115	c.ifNoneMatch_ = entityTag
22116	return c
22117}
22118
22119// Context sets the context to be used in this call's Do method. Any
22120// pending HTTP request will be aborted if the provided context is
22121// canceled.
22122func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
22123	c.ctx_ = ctx
22124	return c
22125}
22126
22127// Header returns an http.Header that can be modified by the caller to
22128// add HTTP headers to the request.
22129func (c *ChangeLogsGetCall) Header() http.Header {
22130	if c.header_ == nil {
22131		c.header_ = make(http.Header)
22132	}
22133	return c.header_
22134}
22135
22136func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
22137	reqHeaders := make(http.Header)
22138	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22139	for k, v := range c.header_ {
22140		reqHeaders[k] = v
22141	}
22142	reqHeaders.Set("User-Agent", c.s.userAgent())
22143	if c.ifNoneMatch_ != "" {
22144		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22145	}
22146	var body io.Reader = nil
22147	c.urlParams_.Set("alt", alt)
22148	c.urlParams_.Set("prettyPrint", "false")
22149	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
22150	urls += "?" + c.urlParams_.Encode()
22151	req, err := http.NewRequest("GET", urls, body)
22152	if err != nil {
22153		return nil, err
22154	}
22155	req.Header = reqHeaders
22156	googleapi.Expand(req.URL, map[string]string{
22157		"profileId": strconv.FormatInt(c.profileId, 10),
22158		"id":        strconv.FormatInt(c.id, 10),
22159	})
22160	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22161}
22162
22163// Do executes the "dfareporting.changeLogs.get" call.
22164// Exactly one of *ChangeLog or error will be non-nil. Any non-2xx
22165// status code is an error. Response headers are in either
22166// *ChangeLog.ServerResponse.Header or (if a response was returned at
22167// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22168// to check whether the returned error was because
22169// http.StatusNotModified was returned.
22170func (c *ChangeLogsGetCall) Do(opts ...googleapi.CallOption) (*ChangeLog, error) {
22171	gensupport.SetOptions(c.urlParams_, opts...)
22172	res, err := c.doRequest("json")
22173	if res != nil && res.StatusCode == http.StatusNotModified {
22174		if res.Body != nil {
22175			res.Body.Close()
22176		}
22177		return nil, &googleapi.Error{
22178			Code:   res.StatusCode,
22179			Header: res.Header,
22180		}
22181	}
22182	if err != nil {
22183		return nil, err
22184	}
22185	defer googleapi.CloseBody(res)
22186	if err := googleapi.CheckResponse(res); err != nil {
22187		return nil, err
22188	}
22189	ret := &ChangeLog{
22190		ServerResponse: googleapi.ServerResponse{
22191			Header:         res.Header,
22192			HTTPStatusCode: res.StatusCode,
22193		},
22194	}
22195	target := &ret
22196	if err := gensupport.DecodeResponse(target, res); err != nil {
22197		return nil, err
22198	}
22199	return ret, nil
22200	// {
22201	//   "description": "Gets one change log by ID.",
22202	//   "flatPath": "userprofiles/{profileId}/changeLogs/{id}",
22203	//   "httpMethod": "GET",
22204	//   "id": "dfareporting.changeLogs.get",
22205	//   "parameterOrder": [
22206	//     "profileId",
22207	//     "id"
22208	//   ],
22209	//   "parameters": {
22210	//     "id": {
22211	//       "description": "Change log ID.",
22212	//       "format": "int64",
22213	//       "location": "path",
22214	//       "required": true,
22215	//       "type": "string"
22216	//     },
22217	//     "profileId": {
22218	//       "description": "User profile ID associated with this request.",
22219	//       "format": "int64",
22220	//       "location": "path",
22221	//       "required": true,
22222	//       "type": "string"
22223	//     }
22224	//   },
22225	//   "path": "userprofiles/{profileId}/changeLogs/{id}",
22226	//   "response": {
22227	//     "$ref": "ChangeLog"
22228	//   },
22229	//   "scopes": [
22230	//     "https://www.googleapis.com/auth/dfatrafficking"
22231	//   ]
22232	// }
22233
22234}
22235
22236// method id "dfareporting.changeLogs.list":
22237
22238type ChangeLogsListCall struct {
22239	s            *Service
22240	profileId    int64
22241	urlParams_   gensupport.URLParams
22242	ifNoneMatch_ string
22243	ctx_         context.Context
22244	header_      http.Header
22245}
22246
22247// List: Retrieves a list of change logs. This method supports paging.
22248//
22249// - profileId: User profile ID associated with this request.
22250func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
22251	c := &ChangeLogsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22252	c.profileId = profileId
22253	return c
22254}
22255
22256// Action sets the optional parameter "action": Select only change logs
22257// with the specified action.
22258//
22259// Possible values:
22260//   "ACTION_CREATE"
22261//   "ACTION_UPDATE"
22262//   "ACTION_DELETE"
22263//   "ACTION_ENABLE"
22264//   "ACTION_DISABLE"
22265//   "ACTION_ADD"
22266//   "ACTION_REMOVE"
22267//   "ACTION_MARK_AS_DEFAULT"
22268//   "ACTION_ASSOCIATE"
22269//   "ACTION_ASSIGN"
22270//   "ACTION_UNASSIGN"
22271//   "ACTION_SEND"
22272//   "ACTION_LINK"
22273//   "ACTION_UNLINK"
22274//   "ACTION_PUSH"
22275//   "ACTION_EMAIL_TAGS"
22276//   "ACTION_SHARE"
22277func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
22278	c.urlParams_.Set("action", action)
22279	return c
22280}
22281
22282// Ids sets the optional parameter "ids": Select only change logs with
22283// these IDs.
22284func (c *ChangeLogsListCall) Ids(ids ...int64) *ChangeLogsListCall {
22285	var ids_ []string
22286	for _, v := range ids {
22287		ids_ = append(ids_, fmt.Sprint(v))
22288	}
22289	c.urlParams_.SetMulti("ids", ids_)
22290	return c
22291}
22292
22293// MaxChangeTime sets the optional parameter "maxChangeTime": Select
22294// only change logs whose change time is before the specified
22295// maxChangeTime.The time should be formatted as an RFC3339 date/time
22296// string. For example, for 10:54 PM on July 18th, 2015, in the
22297// America/New York time zone, the format is
22298// "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
22299// the letter T, the hour (24-hour clock system), minute, second, and
22300// then the time zone offset.
22301func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
22302	c.urlParams_.Set("maxChangeTime", maxChangeTime)
22303	return c
22304}
22305
22306// MaxResults sets the optional parameter "maxResults": Maximum number
22307// of results to return.
22308func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
22309	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
22310	return c
22311}
22312
22313// MinChangeTime sets the optional parameter "minChangeTime": Select
22314// only change logs whose change time is after the specified
22315// minChangeTime.The time should be formatted as an RFC3339 date/time
22316// string. For example, for 10:54 PM on July 18th, 2015, in the
22317// America/New York time zone, the format is
22318// "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
22319// the letter T, the hour (24-hour clock system), minute, second, and
22320// then the time zone offset.
22321func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
22322	c.urlParams_.Set("minChangeTime", minChangeTime)
22323	return c
22324}
22325
22326// ObjectIds sets the optional parameter "objectIds": Select only change
22327// logs with these object IDs.
22328func (c *ChangeLogsListCall) ObjectIds(objectIds ...int64) *ChangeLogsListCall {
22329	var objectIds_ []string
22330	for _, v := range objectIds {
22331		objectIds_ = append(objectIds_, fmt.Sprint(v))
22332	}
22333	c.urlParams_.SetMulti("objectIds", objectIds_)
22334	return c
22335}
22336
22337// ObjectType sets the optional parameter "objectType": Select only
22338// change logs with the specified object type.
22339//
22340// Possible values:
22341//   "OBJECT_ADVERTISER"
22342//   "OBJECT_FLOODLIGHT_CONFIGURATION"
22343//   "OBJECT_AD"
22344//   "OBJECT_FLOODLIGHT_ACTVITY"
22345//   "OBJECT_CAMPAIGN"
22346//   "OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
22347//   "OBJECT_CREATIVE"
22348//   "OBJECT_PLACEMENT"
22349//   "OBJECT_DFA_SITE"
22350//   "OBJECT_USER_ROLE"
22351//   "OBJECT_USER_PROFILE"
22352//   "OBJECT_ADVERTISER_GROUP"
22353//   "OBJECT_ACCOUNT"
22354//   "OBJECT_SUBACCOUNT"
22355//   "OBJECT_RICHMEDIA_CREATIVE"
22356//   "OBJECT_INSTREAM_CREATIVE"
22357//   "OBJECT_MEDIA_ORDER"
22358//   "OBJECT_CONTENT_CATEGORY"
22359//   "OBJECT_PLACEMENT_STRATEGY"
22360//   "OBJECT_SD_SITE"
22361//   "OBJECT_SIZE"
22362//   "OBJECT_CREATIVE_GROUP"
22363//   "OBJECT_CREATIVE_ASSET"
22364//   "OBJECT_USER_PROFILE_FILTER"
22365//   "OBJECT_LANDING_PAGE"
22366//   "OBJECT_CREATIVE_FIELD"
22367//   "OBJECT_REMARKETING_LIST"
22368//   "OBJECT_PROVIDED_LIST_CLIENT"
22369//   "OBJECT_EVENT_TAG"
22370//   "OBJECT_CREATIVE_BUNDLE"
22371//   "OBJECT_BILLING_ACCOUNT_GROUP"
22372//   "OBJECT_BILLING_FEATURE"
22373//   "OBJECT_RATE_CARD"
22374//   "OBJECT_ACCOUNT_BILLING_FEATURE"
22375//   "OBJECT_BILLING_MINIMUM_FEE"
22376//   "OBJECT_BILLING_PROFILE"
22377//   "OBJECT_PLAYSTORE_LINK"
22378//   "OBJECT_TARGETING_TEMPLATE"
22379//   "OBJECT_SEARCH_LIFT_STUDY"
22380//   "OBJECT_FLOODLIGHT_DV360_LINK"
22381func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
22382	c.urlParams_.Set("objectType", objectType)
22383	return c
22384}
22385
22386// PageToken sets the optional parameter "pageToken": Value of the
22387// nextPageToken from the previous result page.
22388func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
22389	c.urlParams_.Set("pageToken", pageToken)
22390	return c
22391}
22392
22393// SearchString sets the optional parameter "searchString": Select only
22394// change logs whose object ID, user name, old or new values match the
22395// search string.
22396func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
22397	c.urlParams_.Set("searchString", searchString)
22398	return c
22399}
22400
22401// UserProfileIds sets the optional parameter "userProfileIds": Select
22402// only change logs with these user profile IDs.
22403func (c *ChangeLogsListCall) UserProfileIds(userProfileIds ...int64) *ChangeLogsListCall {
22404	var userProfileIds_ []string
22405	for _, v := range userProfileIds {
22406		userProfileIds_ = append(userProfileIds_, fmt.Sprint(v))
22407	}
22408	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
22409	return c
22410}
22411
22412// Fields allows partial responses to be retrieved. See
22413// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22414// for more information.
22415func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
22416	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22417	return c
22418}
22419
22420// IfNoneMatch sets the optional parameter which makes the operation
22421// fail if the object's ETag matches the given value. This is useful for
22422// getting updates only after the object has changed since the last
22423// request. Use googleapi.IsNotModified to check whether the response
22424// error from Do is the result of In-None-Match.
22425func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
22426	c.ifNoneMatch_ = entityTag
22427	return c
22428}
22429
22430// Context sets the context to be used in this call's Do method. Any
22431// pending HTTP request will be aborted if the provided context is
22432// canceled.
22433func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
22434	c.ctx_ = ctx
22435	return c
22436}
22437
22438// Header returns an http.Header that can be modified by the caller to
22439// add HTTP headers to the request.
22440func (c *ChangeLogsListCall) Header() http.Header {
22441	if c.header_ == nil {
22442		c.header_ = make(http.Header)
22443	}
22444	return c.header_
22445}
22446
22447func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
22448	reqHeaders := make(http.Header)
22449	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22450	for k, v := range c.header_ {
22451		reqHeaders[k] = v
22452	}
22453	reqHeaders.Set("User-Agent", c.s.userAgent())
22454	if c.ifNoneMatch_ != "" {
22455		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22456	}
22457	var body io.Reader = nil
22458	c.urlParams_.Set("alt", alt)
22459	c.urlParams_.Set("prettyPrint", "false")
22460	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
22461	urls += "?" + c.urlParams_.Encode()
22462	req, err := http.NewRequest("GET", urls, body)
22463	if err != nil {
22464		return nil, err
22465	}
22466	req.Header = reqHeaders
22467	googleapi.Expand(req.URL, map[string]string{
22468		"profileId": strconv.FormatInt(c.profileId, 10),
22469	})
22470	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22471}
22472
22473// Do executes the "dfareporting.changeLogs.list" call.
22474// Exactly one of *ChangeLogsListResponse or error will be non-nil. Any
22475// non-2xx status code is an error. Response headers are in either
22476// *ChangeLogsListResponse.ServerResponse.Header or (if a response was
22477// returned at all) in error.(*googleapi.Error).Header. Use
22478// googleapi.IsNotModified to check whether the returned error was
22479// because http.StatusNotModified was returned.
22480func (c *ChangeLogsListCall) Do(opts ...googleapi.CallOption) (*ChangeLogsListResponse, error) {
22481	gensupport.SetOptions(c.urlParams_, opts...)
22482	res, err := c.doRequest("json")
22483	if res != nil && res.StatusCode == http.StatusNotModified {
22484		if res.Body != nil {
22485			res.Body.Close()
22486		}
22487		return nil, &googleapi.Error{
22488			Code:   res.StatusCode,
22489			Header: res.Header,
22490		}
22491	}
22492	if err != nil {
22493		return nil, err
22494	}
22495	defer googleapi.CloseBody(res)
22496	if err := googleapi.CheckResponse(res); err != nil {
22497		return nil, err
22498	}
22499	ret := &ChangeLogsListResponse{
22500		ServerResponse: googleapi.ServerResponse{
22501			Header:         res.Header,
22502			HTTPStatusCode: res.StatusCode,
22503		},
22504	}
22505	target := &ret
22506	if err := gensupport.DecodeResponse(target, res); err != nil {
22507		return nil, err
22508	}
22509	return ret, nil
22510	// {
22511	//   "description": "Retrieves a list of change logs. This method supports paging.",
22512	//   "flatPath": "userprofiles/{profileId}/changeLogs",
22513	//   "httpMethod": "GET",
22514	//   "id": "dfareporting.changeLogs.list",
22515	//   "parameterOrder": [
22516	//     "profileId"
22517	//   ],
22518	//   "parameters": {
22519	//     "action": {
22520	//       "description": "Select only change logs with the specified action.",
22521	//       "enum": [
22522	//         "ACTION_CREATE",
22523	//         "ACTION_UPDATE",
22524	//         "ACTION_DELETE",
22525	//         "ACTION_ENABLE",
22526	//         "ACTION_DISABLE",
22527	//         "ACTION_ADD",
22528	//         "ACTION_REMOVE",
22529	//         "ACTION_MARK_AS_DEFAULT",
22530	//         "ACTION_ASSOCIATE",
22531	//         "ACTION_ASSIGN",
22532	//         "ACTION_UNASSIGN",
22533	//         "ACTION_SEND",
22534	//         "ACTION_LINK",
22535	//         "ACTION_UNLINK",
22536	//         "ACTION_PUSH",
22537	//         "ACTION_EMAIL_TAGS",
22538	//         "ACTION_SHARE"
22539	//       ],
22540	//       "enumDescriptions": [
22541	//         "",
22542	//         "",
22543	//         "",
22544	//         "",
22545	//         "",
22546	//         "",
22547	//         "",
22548	//         "",
22549	//         "",
22550	//         "",
22551	//         "",
22552	//         "",
22553	//         "",
22554	//         "",
22555	//         "",
22556	//         "",
22557	//         ""
22558	//       ],
22559	//       "location": "query",
22560	//       "type": "string"
22561	//     },
22562	//     "ids": {
22563	//       "description": "Select only change logs with these IDs.",
22564	//       "format": "int64",
22565	//       "location": "query",
22566	//       "repeated": true,
22567	//       "type": "string"
22568	//     },
22569	//     "maxChangeTime": {
22570	//       "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.",
22571	//       "location": "query",
22572	//       "type": "string"
22573	//     },
22574	//     "maxResults": {
22575	//       "default": "1000",
22576	//       "description": "Maximum number of results to return.",
22577	//       "format": "int32",
22578	//       "location": "query",
22579	//       "maximum": "1000",
22580	//       "minimum": "0",
22581	//       "type": "integer"
22582	//     },
22583	//     "minChangeTime": {
22584	//       "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.",
22585	//       "location": "query",
22586	//       "type": "string"
22587	//     },
22588	//     "objectIds": {
22589	//       "description": "Select only change logs with these object IDs.",
22590	//       "format": "int64",
22591	//       "location": "query",
22592	//       "repeated": true,
22593	//       "type": "string"
22594	//     },
22595	//     "objectType": {
22596	//       "description": "Select only change logs with the specified object type.",
22597	//       "enum": [
22598	//         "OBJECT_ADVERTISER",
22599	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
22600	//         "OBJECT_AD",
22601	//         "OBJECT_FLOODLIGHT_ACTVITY",
22602	//         "OBJECT_CAMPAIGN",
22603	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
22604	//         "OBJECT_CREATIVE",
22605	//         "OBJECT_PLACEMENT",
22606	//         "OBJECT_DFA_SITE",
22607	//         "OBJECT_USER_ROLE",
22608	//         "OBJECT_USER_PROFILE",
22609	//         "OBJECT_ADVERTISER_GROUP",
22610	//         "OBJECT_ACCOUNT",
22611	//         "OBJECT_SUBACCOUNT",
22612	//         "OBJECT_RICHMEDIA_CREATIVE",
22613	//         "OBJECT_INSTREAM_CREATIVE",
22614	//         "OBJECT_MEDIA_ORDER",
22615	//         "OBJECT_CONTENT_CATEGORY",
22616	//         "OBJECT_PLACEMENT_STRATEGY",
22617	//         "OBJECT_SD_SITE",
22618	//         "OBJECT_SIZE",
22619	//         "OBJECT_CREATIVE_GROUP",
22620	//         "OBJECT_CREATIVE_ASSET",
22621	//         "OBJECT_USER_PROFILE_FILTER",
22622	//         "OBJECT_LANDING_PAGE",
22623	//         "OBJECT_CREATIVE_FIELD",
22624	//         "OBJECT_REMARKETING_LIST",
22625	//         "OBJECT_PROVIDED_LIST_CLIENT",
22626	//         "OBJECT_EVENT_TAG",
22627	//         "OBJECT_CREATIVE_BUNDLE",
22628	//         "OBJECT_BILLING_ACCOUNT_GROUP",
22629	//         "OBJECT_BILLING_FEATURE",
22630	//         "OBJECT_RATE_CARD",
22631	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
22632	//         "OBJECT_BILLING_MINIMUM_FEE",
22633	//         "OBJECT_BILLING_PROFILE",
22634	//         "OBJECT_PLAYSTORE_LINK",
22635	//         "OBJECT_TARGETING_TEMPLATE",
22636	//         "OBJECT_SEARCH_LIFT_STUDY",
22637	//         "OBJECT_FLOODLIGHT_DV360_LINK"
22638	//       ],
22639	//       "enumDescriptions": [
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	//         ""
22680	//       ],
22681	//       "location": "query",
22682	//       "type": "string"
22683	//     },
22684	//     "pageToken": {
22685	//       "description": "Value of the nextPageToken from the previous result page.",
22686	//       "location": "query",
22687	//       "type": "string"
22688	//     },
22689	//     "profileId": {
22690	//       "description": "User profile ID associated with this request.",
22691	//       "format": "int64",
22692	//       "location": "path",
22693	//       "required": true,
22694	//       "type": "string"
22695	//     },
22696	//     "searchString": {
22697	//       "description": "Select only change logs whose object ID, user name, old or new values match the search string.",
22698	//       "location": "query",
22699	//       "type": "string"
22700	//     },
22701	//     "userProfileIds": {
22702	//       "description": "Select only change logs with these user profile IDs.",
22703	//       "format": "int64",
22704	//       "location": "query",
22705	//       "repeated": true,
22706	//       "type": "string"
22707	//     }
22708	//   },
22709	//   "path": "userprofiles/{profileId}/changeLogs",
22710	//   "response": {
22711	//     "$ref": "ChangeLogsListResponse"
22712	//   },
22713	//   "scopes": [
22714	//     "https://www.googleapis.com/auth/dfatrafficking"
22715	//   ]
22716	// }
22717
22718}
22719
22720// Pages invokes f for each page of results.
22721// A non-nil error returned from f will halt the iteration.
22722// The provided context supersedes any context provided to the Context method.
22723func (c *ChangeLogsListCall) Pages(ctx context.Context, f func(*ChangeLogsListResponse) error) error {
22724	c.ctx_ = ctx
22725	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22726	for {
22727		x, err := c.Do()
22728		if err != nil {
22729			return err
22730		}
22731		if err := f(x); err != nil {
22732			return err
22733		}
22734		if x.NextPageToken == "" {
22735			return nil
22736		}
22737		c.PageToken(x.NextPageToken)
22738	}
22739}
22740
22741// method id "dfareporting.cities.list":
22742
22743type CitiesListCall struct {
22744	s            *Service
22745	profileId    int64
22746	urlParams_   gensupport.URLParams
22747	ifNoneMatch_ string
22748	ctx_         context.Context
22749	header_      http.Header
22750}
22751
22752// List: Retrieves a list of cities, possibly filtered.
22753//
22754// - profileId: User profile ID associated with this request.
22755func (r *CitiesService) List(profileId int64) *CitiesListCall {
22756	c := &CitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22757	c.profileId = profileId
22758	return c
22759}
22760
22761// CountryDartIds sets the optional parameter "countryDartIds": Select
22762// only cities from these countries.
22763func (c *CitiesListCall) CountryDartIds(countryDartIds ...int64) *CitiesListCall {
22764	var countryDartIds_ []string
22765	for _, v := range countryDartIds {
22766		countryDartIds_ = append(countryDartIds_, fmt.Sprint(v))
22767	}
22768	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
22769	return c
22770}
22771
22772// DartIds sets the optional parameter "dartIds": Select only cities
22773// with these DART IDs.
22774func (c *CitiesListCall) DartIds(dartIds ...int64) *CitiesListCall {
22775	var dartIds_ []string
22776	for _, v := range dartIds {
22777		dartIds_ = append(dartIds_, fmt.Sprint(v))
22778	}
22779	c.urlParams_.SetMulti("dartIds", dartIds_)
22780	return c
22781}
22782
22783// NamePrefix sets the optional parameter "namePrefix": Select only
22784// cities with names starting with this prefix.
22785func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
22786	c.urlParams_.Set("namePrefix", namePrefix)
22787	return c
22788}
22789
22790// RegionDartIds sets the optional parameter "regionDartIds": Select
22791// only cities from these regions.
22792func (c *CitiesListCall) RegionDartIds(regionDartIds ...int64) *CitiesListCall {
22793	var regionDartIds_ []string
22794	for _, v := range regionDartIds {
22795		regionDartIds_ = append(regionDartIds_, fmt.Sprint(v))
22796	}
22797	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
22798	return c
22799}
22800
22801// Fields allows partial responses to be retrieved. See
22802// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22803// for more information.
22804func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
22805	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22806	return c
22807}
22808
22809// IfNoneMatch sets the optional parameter which makes the operation
22810// fail if the object's ETag matches the given value. This is useful for
22811// getting updates only after the object has changed since the last
22812// request. Use googleapi.IsNotModified to check whether the response
22813// error from Do is the result of In-None-Match.
22814func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
22815	c.ifNoneMatch_ = entityTag
22816	return c
22817}
22818
22819// Context sets the context to be used in this call's Do method. Any
22820// pending HTTP request will be aborted if the provided context is
22821// canceled.
22822func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
22823	c.ctx_ = ctx
22824	return c
22825}
22826
22827// Header returns an http.Header that can be modified by the caller to
22828// add HTTP headers to the request.
22829func (c *CitiesListCall) Header() http.Header {
22830	if c.header_ == nil {
22831		c.header_ = make(http.Header)
22832	}
22833	return c.header_
22834}
22835
22836func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
22837	reqHeaders := make(http.Header)
22838	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22839	for k, v := range c.header_ {
22840		reqHeaders[k] = v
22841	}
22842	reqHeaders.Set("User-Agent", c.s.userAgent())
22843	if c.ifNoneMatch_ != "" {
22844		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22845	}
22846	var body io.Reader = nil
22847	c.urlParams_.Set("alt", alt)
22848	c.urlParams_.Set("prettyPrint", "false")
22849	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
22850	urls += "?" + c.urlParams_.Encode()
22851	req, err := http.NewRequest("GET", urls, body)
22852	if err != nil {
22853		return nil, err
22854	}
22855	req.Header = reqHeaders
22856	googleapi.Expand(req.URL, map[string]string{
22857		"profileId": strconv.FormatInt(c.profileId, 10),
22858	})
22859	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22860}
22861
22862// Do executes the "dfareporting.cities.list" call.
22863// Exactly one of *CitiesListResponse or error will be non-nil. Any
22864// non-2xx status code is an error. Response headers are in either
22865// *CitiesListResponse.ServerResponse.Header or (if a response was
22866// returned at all) in error.(*googleapi.Error).Header. Use
22867// googleapi.IsNotModified to check whether the returned error was
22868// because http.StatusNotModified was returned.
22869func (c *CitiesListCall) Do(opts ...googleapi.CallOption) (*CitiesListResponse, error) {
22870	gensupport.SetOptions(c.urlParams_, opts...)
22871	res, err := c.doRequest("json")
22872	if res != nil && res.StatusCode == http.StatusNotModified {
22873		if res.Body != nil {
22874			res.Body.Close()
22875		}
22876		return nil, &googleapi.Error{
22877			Code:   res.StatusCode,
22878			Header: res.Header,
22879		}
22880	}
22881	if err != nil {
22882		return nil, err
22883	}
22884	defer googleapi.CloseBody(res)
22885	if err := googleapi.CheckResponse(res); err != nil {
22886		return nil, err
22887	}
22888	ret := &CitiesListResponse{
22889		ServerResponse: googleapi.ServerResponse{
22890			Header:         res.Header,
22891			HTTPStatusCode: res.StatusCode,
22892		},
22893	}
22894	target := &ret
22895	if err := gensupport.DecodeResponse(target, res); err != nil {
22896		return nil, err
22897	}
22898	return ret, nil
22899	// {
22900	//   "description": "Retrieves a list of cities, possibly filtered.",
22901	//   "flatPath": "userprofiles/{profileId}/cities",
22902	//   "httpMethod": "GET",
22903	//   "id": "dfareporting.cities.list",
22904	//   "parameterOrder": [
22905	//     "profileId"
22906	//   ],
22907	//   "parameters": {
22908	//     "countryDartIds": {
22909	//       "description": "Select only cities from these countries.",
22910	//       "format": "int64",
22911	//       "location": "query",
22912	//       "repeated": true,
22913	//       "type": "string"
22914	//     },
22915	//     "dartIds": {
22916	//       "description": "Select only cities with these DART IDs.",
22917	//       "format": "int64",
22918	//       "location": "query",
22919	//       "repeated": true,
22920	//       "type": "string"
22921	//     },
22922	//     "namePrefix": {
22923	//       "description": "Select only cities with names starting with this prefix.",
22924	//       "location": "query",
22925	//       "type": "string"
22926	//     },
22927	//     "profileId": {
22928	//       "description": "User profile ID associated with this request.",
22929	//       "format": "int64",
22930	//       "location": "path",
22931	//       "required": true,
22932	//       "type": "string"
22933	//     },
22934	//     "regionDartIds": {
22935	//       "description": "Select only cities from these regions.",
22936	//       "format": "int64",
22937	//       "location": "query",
22938	//       "repeated": true,
22939	//       "type": "string"
22940	//     }
22941	//   },
22942	//   "path": "userprofiles/{profileId}/cities",
22943	//   "response": {
22944	//     "$ref": "CitiesListResponse"
22945	//   },
22946	//   "scopes": [
22947	//     "https://www.googleapis.com/auth/dfatrafficking"
22948	//   ]
22949	// }
22950
22951}
22952
22953// method id "dfareporting.connectionTypes.get":
22954
22955type ConnectionTypesGetCall struct {
22956	s            *Service
22957	profileId    int64
22958	id           int64
22959	urlParams_   gensupport.URLParams
22960	ifNoneMatch_ string
22961	ctx_         context.Context
22962	header_      http.Header
22963}
22964
22965// Get: Gets one connection type by ID.
22966//
22967// - id: Connection type ID.
22968// - profileId: User profile ID associated with this request.
22969func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
22970	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22971	c.profileId = profileId
22972	c.id = id
22973	return c
22974}
22975
22976// Fields allows partial responses to be retrieved. See
22977// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22978// for more information.
22979func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
22980	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22981	return c
22982}
22983
22984// IfNoneMatch sets the optional parameter which makes the operation
22985// fail if the object's ETag matches the given value. This is useful for
22986// getting updates only after the object has changed since the last
22987// request. Use googleapi.IsNotModified to check whether the response
22988// error from Do is the result of In-None-Match.
22989func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
22990	c.ifNoneMatch_ = entityTag
22991	return c
22992}
22993
22994// Context sets the context to be used in this call's Do method. Any
22995// pending HTTP request will be aborted if the provided context is
22996// canceled.
22997func (c *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
22998	c.ctx_ = ctx
22999	return c
23000}
23001
23002// Header returns an http.Header that can be modified by the caller to
23003// add HTTP headers to the request.
23004func (c *ConnectionTypesGetCall) Header() http.Header {
23005	if c.header_ == nil {
23006		c.header_ = make(http.Header)
23007	}
23008	return c.header_
23009}
23010
23011func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
23012	reqHeaders := make(http.Header)
23013	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23014	for k, v := range c.header_ {
23015		reqHeaders[k] = v
23016	}
23017	reqHeaders.Set("User-Agent", c.s.userAgent())
23018	if c.ifNoneMatch_ != "" {
23019		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23020	}
23021	var body io.Reader = nil
23022	c.urlParams_.Set("alt", alt)
23023	c.urlParams_.Set("prettyPrint", "false")
23024	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
23025	urls += "?" + c.urlParams_.Encode()
23026	req, err := http.NewRequest("GET", urls, body)
23027	if err != nil {
23028		return nil, err
23029	}
23030	req.Header = reqHeaders
23031	googleapi.Expand(req.URL, map[string]string{
23032		"profileId": strconv.FormatInt(c.profileId, 10),
23033		"id":        strconv.FormatInt(c.id, 10),
23034	})
23035	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23036}
23037
23038// Do executes the "dfareporting.connectionTypes.get" call.
23039// Exactly one of *ConnectionType or error will be non-nil. Any non-2xx
23040// status code is an error. Response headers are in either
23041// *ConnectionType.ServerResponse.Header or (if a response was returned
23042// at all) in error.(*googleapi.Error).Header. Use
23043// googleapi.IsNotModified to check whether the returned error was
23044// because http.StatusNotModified was returned.
23045func (c *ConnectionTypesGetCall) Do(opts ...googleapi.CallOption) (*ConnectionType, error) {
23046	gensupport.SetOptions(c.urlParams_, opts...)
23047	res, err := c.doRequest("json")
23048	if res != nil && res.StatusCode == http.StatusNotModified {
23049		if res.Body != nil {
23050			res.Body.Close()
23051		}
23052		return nil, &googleapi.Error{
23053			Code:   res.StatusCode,
23054			Header: res.Header,
23055		}
23056	}
23057	if err != nil {
23058		return nil, err
23059	}
23060	defer googleapi.CloseBody(res)
23061	if err := googleapi.CheckResponse(res); err != nil {
23062		return nil, err
23063	}
23064	ret := &ConnectionType{
23065		ServerResponse: googleapi.ServerResponse{
23066			Header:         res.Header,
23067			HTTPStatusCode: res.StatusCode,
23068		},
23069	}
23070	target := &ret
23071	if err := gensupport.DecodeResponse(target, res); err != nil {
23072		return nil, err
23073	}
23074	return ret, nil
23075	// {
23076	//   "description": "Gets one connection type by ID.",
23077	//   "flatPath": "userprofiles/{profileId}/connectionTypes/{id}",
23078	//   "httpMethod": "GET",
23079	//   "id": "dfareporting.connectionTypes.get",
23080	//   "parameterOrder": [
23081	//     "profileId",
23082	//     "id"
23083	//   ],
23084	//   "parameters": {
23085	//     "id": {
23086	//       "description": "Connection type ID.",
23087	//       "format": "int64",
23088	//       "location": "path",
23089	//       "required": true,
23090	//       "type": "string"
23091	//     },
23092	//     "profileId": {
23093	//       "description": "User profile ID associated with this request.",
23094	//       "format": "int64",
23095	//       "location": "path",
23096	//       "required": true,
23097	//       "type": "string"
23098	//     }
23099	//   },
23100	//   "path": "userprofiles/{profileId}/connectionTypes/{id}",
23101	//   "response": {
23102	//     "$ref": "ConnectionType"
23103	//   },
23104	//   "scopes": [
23105	//     "https://www.googleapis.com/auth/dfatrafficking"
23106	//   ]
23107	// }
23108
23109}
23110
23111// method id "dfareporting.connectionTypes.list":
23112
23113type ConnectionTypesListCall struct {
23114	s            *Service
23115	profileId    int64
23116	urlParams_   gensupport.URLParams
23117	ifNoneMatch_ string
23118	ctx_         context.Context
23119	header_      http.Header
23120}
23121
23122// List: Retrieves a list of connection types.
23123//
23124// - profileId: User profile ID associated with this request.
23125func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
23126	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23127	c.profileId = profileId
23128	return c
23129}
23130
23131// Fields allows partial responses to be retrieved. See
23132// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23133// for more information.
23134func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
23135	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23136	return c
23137}
23138
23139// IfNoneMatch sets the optional parameter which makes the operation
23140// fail if the object's ETag matches the given value. This is useful for
23141// getting updates only after the object has changed since the last
23142// request. Use googleapi.IsNotModified to check whether the response
23143// error from Do is the result of In-None-Match.
23144func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
23145	c.ifNoneMatch_ = entityTag
23146	return c
23147}
23148
23149// Context sets the context to be used in this call's Do method. Any
23150// pending HTTP request will be aborted if the provided context is
23151// canceled.
23152func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
23153	c.ctx_ = ctx
23154	return c
23155}
23156
23157// Header returns an http.Header that can be modified by the caller to
23158// add HTTP headers to the request.
23159func (c *ConnectionTypesListCall) Header() http.Header {
23160	if c.header_ == nil {
23161		c.header_ = make(http.Header)
23162	}
23163	return c.header_
23164}
23165
23166func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
23167	reqHeaders := make(http.Header)
23168	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23169	for k, v := range c.header_ {
23170		reqHeaders[k] = v
23171	}
23172	reqHeaders.Set("User-Agent", c.s.userAgent())
23173	if c.ifNoneMatch_ != "" {
23174		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23175	}
23176	var body io.Reader = nil
23177	c.urlParams_.Set("alt", alt)
23178	c.urlParams_.Set("prettyPrint", "false")
23179	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
23180	urls += "?" + c.urlParams_.Encode()
23181	req, err := http.NewRequest("GET", urls, body)
23182	if err != nil {
23183		return nil, err
23184	}
23185	req.Header = reqHeaders
23186	googleapi.Expand(req.URL, map[string]string{
23187		"profileId": strconv.FormatInt(c.profileId, 10),
23188	})
23189	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23190}
23191
23192// Do executes the "dfareporting.connectionTypes.list" call.
23193// Exactly one of *ConnectionTypesListResponse or error will be non-nil.
23194// Any non-2xx status code is an error. Response headers are in either
23195// *ConnectionTypesListResponse.ServerResponse.Header or (if a response
23196// was returned at all) in error.(*googleapi.Error).Header. Use
23197// googleapi.IsNotModified to check whether the returned error was
23198// because http.StatusNotModified was returned.
23199func (c *ConnectionTypesListCall) Do(opts ...googleapi.CallOption) (*ConnectionTypesListResponse, error) {
23200	gensupport.SetOptions(c.urlParams_, opts...)
23201	res, err := c.doRequest("json")
23202	if res != nil && res.StatusCode == http.StatusNotModified {
23203		if res.Body != nil {
23204			res.Body.Close()
23205		}
23206		return nil, &googleapi.Error{
23207			Code:   res.StatusCode,
23208			Header: res.Header,
23209		}
23210	}
23211	if err != nil {
23212		return nil, err
23213	}
23214	defer googleapi.CloseBody(res)
23215	if err := googleapi.CheckResponse(res); err != nil {
23216		return nil, err
23217	}
23218	ret := &ConnectionTypesListResponse{
23219		ServerResponse: googleapi.ServerResponse{
23220			Header:         res.Header,
23221			HTTPStatusCode: res.StatusCode,
23222		},
23223	}
23224	target := &ret
23225	if err := gensupport.DecodeResponse(target, res); err != nil {
23226		return nil, err
23227	}
23228	return ret, nil
23229	// {
23230	//   "description": "Retrieves a list of connection types.",
23231	//   "flatPath": "userprofiles/{profileId}/connectionTypes",
23232	//   "httpMethod": "GET",
23233	//   "id": "dfareporting.connectionTypes.list",
23234	//   "parameterOrder": [
23235	//     "profileId"
23236	//   ],
23237	//   "parameters": {
23238	//     "profileId": {
23239	//       "description": "User profile ID associated with this request.",
23240	//       "format": "int64",
23241	//       "location": "path",
23242	//       "required": true,
23243	//       "type": "string"
23244	//     }
23245	//   },
23246	//   "path": "userprofiles/{profileId}/connectionTypes",
23247	//   "response": {
23248	//     "$ref": "ConnectionTypesListResponse"
23249	//   },
23250	//   "scopes": [
23251	//     "https://www.googleapis.com/auth/dfatrafficking"
23252	//   ]
23253	// }
23254
23255}
23256
23257// method id "dfareporting.contentCategories.delete":
23258
23259type ContentCategoriesDeleteCall struct {
23260	s          *Service
23261	profileId  int64
23262	id         int64
23263	urlParams_ gensupport.URLParams
23264	ctx_       context.Context
23265	header_    http.Header
23266}
23267
23268// Delete: Deletes an existing content category.
23269//
23270// - id: Content category ID.
23271// - profileId: User profile ID associated with this request.
23272func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
23273	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23274	c.profileId = profileId
23275	c.id = id
23276	return c
23277}
23278
23279// Fields allows partial responses to be retrieved. See
23280// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23281// for more information.
23282func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
23283	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23284	return c
23285}
23286
23287// Context sets the context to be used in this call's Do method. Any
23288// pending HTTP request will be aborted if the provided context is
23289// canceled.
23290func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
23291	c.ctx_ = ctx
23292	return c
23293}
23294
23295// Header returns an http.Header that can be modified by the caller to
23296// add HTTP headers to the request.
23297func (c *ContentCategoriesDeleteCall) Header() http.Header {
23298	if c.header_ == nil {
23299		c.header_ = make(http.Header)
23300	}
23301	return c.header_
23302}
23303
23304func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
23305	reqHeaders := make(http.Header)
23306	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23307	for k, v := range c.header_ {
23308		reqHeaders[k] = v
23309	}
23310	reqHeaders.Set("User-Agent", c.s.userAgent())
23311	var body io.Reader = nil
23312	c.urlParams_.Set("alt", alt)
23313	c.urlParams_.Set("prettyPrint", "false")
23314	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
23315	urls += "?" + c.urlParams_.Encode()
23316	req, err := http.NewRequest("DELETE", urls, body)
23317	if err != nil {
23318		return nil, err
23319	}
23320	req.Header = reqHeaders
23321	googleapi.Expand(req.URL, map[string]string{
23322		"profileId": strconv.FormatInt(c.profileId, 10),
23323		"id":        strconv.FormatInt(c.id, 10),
23324	})
23325	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23326}
23327
23328// Do executes the "dfareporting.contentCategories.delete" call.
23329func (c *ContentCategoriesDeleteCall) Do(opts ...googleapi.CallOption) error {
23330	gensupport.SetOptions(c.urlParams_, opts...)
23331	res, err := c.doRequest("json")
23332	if err != nil {
23333		return err
23334	}
23335	defer googleapi.CloseBody(res)
23336	if err := googleapi.CheckResponse(res); err != nil {
23337		return err
23338	}
23339	return nil
23340	// {
23341	//   "description": "Deletes an existing content category.",
23342	//   "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
23343	//   "httpMethod": "DELETE",
23344	//   "id": "dfareporting.contentCategories.delete",
23345	//   "parameterOrder": [
23346	//     "profileId",
23347	//     "id"
23348	//   ],
23349	//   "parameters": {
23350	//     "id": {
23351	//       "description": "Content category ID.",
23352	//       "format": "int64",
23353	//       "location": "path",
23354	//       "required": true,
23355	//       "type": "string"
23356	//     },
23357	//     "profileId": {
23358	//       "description": "User profile ID associated with this request.",
23359	//       "format": "int64",
23360	//       "location": "path",
23361	//       "required": true,
23362	//       "type": "string"
23363	//     }
23364	//   },
23365	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
23366	//   "scopes": [
23367	//     "https://www.googleapis.com/auth/dfatrafficking"
23368	//   ]
23369	// }
23370
23371}
23372
23373// method id "dfareporting.contentCategories.get":
23374
23375type ContentCategoriesGetCall struct {
23376	s            *Service
23377	profileId    int64
23378	id           int64
23379	urlParams_   gensupport.URLParams
23380	ifNoneMatch_ string
23381	ctx_         context.Context
23382	header_      http.Header
23383}
23384
23385// Get: Gets one content category by ID.
23386//
23387// - id: Content category ID.
23388// - profileId: User profile ID associated with this request.
23389func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
23390	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23391	c.profileId = profileId
23392	c.id = id
23393	return c
23394}
23395
23396// Fields allows partial responses to be retrieved. See
23397// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23398// for more information.
23399func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
23400	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23401	return c
23402}
23403
23404// IfNoneMatch sets the optional parameter which makes the operation
23405// fail if the object's ETag matches the given value. This is useful for
23406// getting updates only after the object has changed since the last
23407// request. Use googleapi.IsNotModified to check whether the response
23408// error from Do is the result of In-None-Match.
23409func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
23410	c.ifNoneMatch_ = entityTag
23411	return c
23412}
23413
23414// Context sets the context to be used in this call's Do method. Any
23415// pending HTTP request will be aborted if the provided context is
23416// canceled.
23417func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
23418	c.ctx_ = ctx
23419	return c
23420}
23421
23422// Header returns an http.Header that can be modified by the caller to
23423// add HTTP headers to the request.
23424func (c *ContentCategoriesGetCall) Header() http.Header {
23425	if c.header_ == nil {
23426		c.header_ = make(http.Header)
23427	}
23428	return c.header_
23429}
23430
23431func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
23432	reqHeaders := make(http.Header)
23433	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23434	for k, v := range c.header_ {
23435		reqHeaders[k] = v
23436	}
23437	reqHeaders.Set("User-Agent", c.s.userAgent())
23438	if c.ifNoneMatch_ != "" {
23439		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23440	}
23441	var body io.Reader = nil
23442	c.urlParams_.Set("alt", alt)
23443	c.urlParams_.Set("prettyPrint", "false")
23444	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
23445	urls += "?" + c.urlParams_.Encode()
23446	req, err := http.NewRequest("GET", urls, body)
23447	if err != nil {
23448		return nil, err
23449	}
23450	req.Header = reqHeaders
23451	googleapi.Expand(req.URL, map[string]string{
23452		"profileId": strconv.FormatInt(c.profileId, 10),
23453		"id":        strconv.FormatInt(c.id, 10),
23454	})
23455	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23456}
23457
23458// Do executes the "dfareporting.contentCategories.get" call.
23459// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
23460// status code is an error. Response headers are in either
23461// *ContentCategory.ServerResponse.Header or (if a response was returned
23462// at all) in error.(*googleapi.Error).Header. Use
23463// googleapi.IsNotModified to check whether the returned error was
23464// because http.StatusNotModified was returned.
23465func (c *ContentCategoriesGetCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
23466	gensupport.SetOptions(c.urlParams_, opts...)
23467	res, err := c.doRequest("json")
23468	if res != nil && res.StatusCode == http.StatusNotModified {
23469		if res.Body != nil {
23470			res.Body.Close()
23471		}
23472		return nil, &googleapi.Error{
23473			Code:   res.StatusCode,
23474			Header: res.Header,
23475		}
23476	}
23477	if err != nil {
23478		return nil, err
23479	}
23480	defer googleapi.CloseBody(res)
23481	if err := googleapi.CheckResponse(res); err != nil {
23482		return nil, err
23483	}
23484	ret := &ContentCategory{
23485		ServerResponse: googleapi.ServerResponse{
23486			Header:         res.Header,
23487			HTTPStatusCode: res.StatusCode,
23488		},
23489	}
23490	target := &ret
23491	if err := gensupport.DecodeResponse(target, res); err != nil {
23492		return nil, err
23493	}
23494	return ret, nil
23495	// {
23496	//   "description": "Gets one content category by ID.",
23497	//   "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
23498	//   "httpMethod": "GET",
23499	//   "id": "dfareporting.contentCategories.get",
23500	//   "parameterOrder": [
23501	//     "profileId",
23502	//     "id"
23503	//   ],
23504	//   "parameters": {
23505	//     "id": {
23506	//       "description": "Content category ID.",
23507	//       "format": "int64",
23508	//       "location": "path",
23509	//       "required": true,
23510	//       "type": "string"
23511	//     },
23512	//     "profileId": {
23513	//       "description": "User profile ID associated with this request.",
23514	//       "format": "int64",
23515	//       "location": "path",
23516	//       "required": true,
23517	//       "type": "string"
23518	//     }
23519	//   },
23520	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
23521	//   "response": {
23522	//     "$ref": "ContentCategory"
23523	//   },
23524	//   "scopes": [
23525	//     "https://www.googleapis.com/auth/dfatrafficking"
23526	//   ]
23527	// }
23528
23529}
23530
23531// method id "dfareporting.contentCategories.insert":
23532
23533type ContentCategoriesInsertCall struct {
23534	s               *Service
23535	profileId       int64
23536	contentcategory *ContentCategory
23537	urlParams_      gensupport.URLParams
23538	ctx_            context.Context
23539	header_         http.Header
23540}
23541
23542// Insert: Inserts a new content category.
23543//
23544// - profileId: User profile ID associated with this request.
23545func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
23546	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23547	c.profileId = profileId
23548	c.contentcategory = contentcategory
23549	return c
23550}
23551
23552// Fields allows partial responses to be retrieved. See
23553// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23554// for more information.
23555func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
23556	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23557	return c
23558}
23559
23560// Context sets the context to be used in this call's Do method. Any
23561// pending HTTP request will be aborted if the provided context is
23562// canceled.
23563func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
23564	c.ctx_ = ctx
23565	return c
23566}
23567
23568// Header returns an http.Header that can be modified by the caller to
23569// add HTTP headers to the request.
23570func (c *ContentCategoriesInsertCall) Header() http.Header {
23571	if c.header_ == nil {
23572		c.header_ = make(http.Header)
23573	}
23574	return c.header_
23575}
23576
23577func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
23578	reqHeaders := make(http.Header)
23579	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23580	for k, v := range c.header_ {
23581		reqHeaders[k] = v
23582	}
23583	reqHeaders.Set("User-Agent", c.s.userAgent())
23584	var body io.Reader = nil
23585	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
23586	if err != nil {
23587		return nil, err
23588	}
23589	reqHeaders.Set("Content-Type", "application/json")
23590	c.urlParams_.Set("alt", alt)
23591	c.urlParams_.Set("prettyPrint", "false")
23592	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
23593	urls += "?" + c.urlParams_.Encode()
23594	req, err := http.NewRequest("POST", urls, body)
23595	if err != nil {
23596		return nil, err
23597	}
23598	req.Header = reqHeaders
23599	googleapi.Expand(req.URL, map[string]string{
23600		"profileId": strconv.FormatInt(c.profileId, 10),
23601	})
23602	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23603}
23604
23605// Do executes the "dfareporting.contentCategories.insert" call.
23606// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
23607// status code is an error. Response headers are in either
23608// *ContentCategory.ServerResponse.Header or (if a response was returned
23609// at all) in error.(*googleapi.Error).Header. Use
23610// googleapi.IsNotModified to check whether the returned error was
23611// because http.StatusNotModified was returned.
23612func (c *ContentCategoriesInsertCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
23613	gensupport.SetOptions(c.urlParams_, opts...)
23614	res, err := c.doRequest("json")
23615	if res != nil && res.StatusCode == http.StatusNotModified {
23616		if res.Body != nil {
23617			res.Body.Close()
23618		}
23619		return nil, &googleapi.Error{
23620			Code:   res.StatusCode,
23621			Header: res.Header,
23622		}
23623	}
23624	if err != nil {
23625		return nil, err
23626	}
23627	defer googleapi.CloseBody(res)
23628	if err := googleapi.CheckResponse(res); err != nil {
23629		return nil, err
23630	}
23631	ret := &ContentCategory{
23632		ServerResponse: googleapi.ServerResponse{
23633			Header:         res.Header,
23634			HTTPStatusCode: res.StatusCode,
23635		},
23636	}
23637	target := &ret
23638	if err := gensupport.DecodeResponse(target, res); err != nil {
23639		return nil, err
23640	}
23641	return ret, nil
23642	// {
23643	//   "description": "Inserts a new content category.",
23644	//   "flatPath": "userprofiles/{profileId}/contentCategories",
23645	//   "httpMethod": "POST",
23646	//   "id": "dfareporting.contentCategories.insert",
23647	//   "parameterOrder": [
23648	//     "profileId"
23649	//   ],
23650	//   "parameters": {
23651	//     "profileId": {
23652	//       "description": "User profile ID associated with this request.",
23653	//       "format": "int64",
23654	//       "location": "path",
23655	//       "required": true,
23656	//       "type": "string"
23657	//     }
23658	//   },
23659	//   "path": "userprofiles/{profileId}/contentCategories",
23660	//   "request": {
23661	//     "$ref": "ContentCategory"
23662	//   },
23663	//   "response": {
23664	//     "$ref": "ContentCategory"
23665	//   },
23666	//   "scopes": [
23667	//     "https://www.googleapis.com/auth/dfatrafficking"
23668	//   ]
23669	// }
23670
23671}
23672
23673// method id "dfareporting.contentCategories.list":
23674
23675type ContentCategoriesListCall struct {
23676	s            *Service
23677	profileId    int64
23678	urlParams_   gensupport.URLParams
23679	ifNoneMatch_ string
23680	ctx_         context.Context
23681	header_      http.Header
23682}
23683
23684// List: Retrieves a list of content categories, possibly filtered. This
23685// method supports paging.
23686//
23687// - profileId: User profile ID associated with this request.
23688func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
23689	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23690	c.profileId = profileId
23691	return c
23692}
23693
23694// Ids sets the optional parameter "ids": Select only content categories
23695// with these IDs.
23696func (c *ContentCategoriesListCall) Ids(ids ...int64) *ContentCategoriesListCall {
23697	var ids_ []string
23698	for _, v := range ids {
23699		ids_ = append(ids_, fmt.Sprint(v))
23700	}
23701	c.urlParams_.SetMulti("ids", ids_)
23702	return c
23703}
23704
23705// MaxResults sets the optional parameter "maxResults": Maximum number
23706// of results to return.
23707func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
23708	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
23709	return c
23710}
23711
23712// PageToken sets the optional parameter "pageToken": Value of the
23713// nextPageToken from the previous result page.
23714func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
23715	c.urlParams_.Set("pageToken", pageToken)
23716	return c
23717}
23718
23719// SearchString sets the optional parameter "searchString": Allows
23720// searching for objects by name or ID. Wildcards (*) are allowed. For
23721// example, "contentcategory*2015" will return objects with names like
23722// "contentcategory June 2015", "contentcategory April 2015", or simply
23723// "contentcategory 2015". Most of the searches also add wildcards
23724// implicitly at the start and the end of the search string. For
23725// example, a search string of "contentcategory" will match objects with
23726// name "my contentcategory", "contentcategory 2015", or simply
23727// "contentcategory".
23728func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
23729	c.urlParams_.Set("searchString", searchString)
23730	return c
23731}
23732
23733// SortField sets the optional parameter "sortField": Field by which to
23734// sort the list.
23735//
23736// Possible values:
23737//   "ID" (default)
23738//   "NAME"
23739func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
23740	c.urlParams_.Set("sortField", sortField)
23741	return c
23742}
23743
23744// SortOrder sets the optional parameter "sortOrder": Order of sorted
23745// results.
23746//
23747// Possible values:
23748//   "ASCENDING" (default)
23749//   "DESCENDING"
23750func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
23751	c.urlParams_.Set("sortOrder", sortOrder)
23752	return c
23753}
23754
23755// Fields allows partial responses to be retrieved. See
23756// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23757// for more information.
23758func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
23759	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23760	return c
23761}
23762
23763// IfNoneMatch sets the optional parameter which makes the operation
23764// fail if the object's ETag matches the given value. This is useful for
23765// getting updates only after the object has changed since the last
23766// request. Use googleapi.IsNotModified to check whether the response
23767// error from Do is the result of In-None-Match.
23768func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
23769	c.ifNoneMatch_ = entityTag
23770	return c
23771}
23772
23773// Context sets the context to be used in this call's Do method. Any
23774// pending HTTP request will be aborted if the provided context is
23775// canceled.
23776func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
23777	c.ctx_ = ctx
23778	return c
23779}
23780
23781// Header returns an http.Header that can be modified by the caller to
23782// add HTTP headers to the request.
23783func (c *ContentCategoriesListCall) Header() http.Header {
23784	if c.header_ == nil {
23785		c.header_ = make(http.Header)
23786	}
23787	return c.header_
23788}
23789
23790func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
23791	reqHeaders := make(http.Header)
23792	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23793	for k, v := range c.header_ {
23794		reqHeaders[k] = v
23795	}
23796	reqHeaders.Set("User-Agent", c.s.userAgent())
23797	if c.ifNoneMatch_ != "" {
23798		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23799	}
23800	var body io.Reader = nil
23801	c.urlParams_.Set("alt", alt)
23802	c.urlParams_.Set("prettyPrint", "false")
23803	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
23804	urls += "?" + c.urlParams_.Encode()
23805	req, err := http.NewRequest("GET", urls, body)
23806	if err != nil {
23807		return nil, err
23808	}
23809	req.Header = reqHeaders
23810	googleapi.Expand(req.URL, map[string]string{
23811		"profileId": strconv.FormatInt(c.profileId, 10),
23812	})
23813	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23814}
23815
23816// Do executes the "dfareporting.contentCategories.list" call.
23817// Exactly one of *ContentCategoriesListResponse or error will be
23818// non-nil. Any non-2xx status code is an error. Response headers are in
23819// either *ContentCategoriesListResponse.ServerResponse.Header or (if a
23820// response was returned at all) in error.(*googleapi.Error).Header. Use
23821// googleapi.IsNotModified to check whether the returned error was
23822// because http.StatusNotModified was returned.
23823func (c *ContentCategoriesListCall) Do(opts ...googleapi.CallOption) (*ContentCategoriesListResponse, error) {
23824	gensupport.SetOptions(c.urlParams_, opts...)
23825	res, err := c.doRequest("json")
23826	if res != nil && res.StatusCode == http.StatusNotModified {
23827		if res.Body != nil {
23828			res.Body.Close()
23829		}
23830		return nil, &googleapi.Error{
23831			Code:   res.StatusCode,
23832			Header: res.Header,
23833		}
23834	}
23835	if err != nil {
23836		return nil, err
23837	}
23838	defer googleapi.CloseBody(res)
23839	if err := googleapi.CheckResponse(res); err != nil {
23840		return nil, err
23841	}
23842	ret := &ContentCategoriesListResponse{
23843		ServerResponse: googleapi.ServerResponse{
23844			Header:         res.Header,
23845			HTTPStatusCode: res.StatusCode,
23846		},
23847	}
23848	target := &ret
23849	if err := gensupport.DecodeResponse(target, res); err != nil {
23850		return nil, err
23851	}
23852	return ret, nil
23853	// {
23854	//   "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
23855	//   "flatPath": "userprofiles/{profileId}/contentCategories",
23856	//   "httpMethod": "GET",
23857	//   "id": "dfareporting.contentCategories.list",
23858	//   "parameterOrder": [
23859	//     "profileId"
23860	//   ],
23861	//   "parameters": {
23862	//     "ids": {
23863	//       "description": "Select only content categories with these IDs.",
23864	//       "format": "int64",
23865	//       "location": "query",
23866	//       "repeated": true,
23867	//       "type": "string"
23868	//     },
23869	//     "maxResults": {
23870	//       "default": "1000",
23871	//       "description": "Maximum number of results to return.",
23872	//       "format": "int32",
23873	//       "location": "query",
23874	//       "maximum": "1000",
23875	//       "minimum": "0",
23876	//       "type": "integer"
23877	//     },
23878	//     "pageToken": {
23879	//       "description": "Value of the nextPageToken from the previous result page.",
23880	//       "location": "query",
23881	//       "type": "string"
23882	//     },
23883	//     "profileId": {
23884	//       "description": "User profile ID associated with this request.",
23885	//       "format": "int64",
23886	//       "location": "path",
23887	//       "required": true,
23888	//       "type": "string"
23889	//     },
23890	//     "searchString": {
23891	//       "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\".",
23892	//       "location": "query",
23893	//       "type": "string"
23894	//     },
23895	//     "sortField": {
23896	//       "default": "ID",
23897	//       "description": "Field by which to sort the list.",
23898	//       "enum": [
23899	//         "ID",
23900	//         "NAME"
23901	//       ],
23902	//       "enumDescriptions": [
23903	//         "",
23904	//         ""
23905	//       ],
23906	//       "location": "query",
23907	//       "type": "string"
23908	//     },
23909	//     "sortOrder": {
23910	//       "default": "ASCENDING",
23911	//       "description": "Order of sorted results.",
23912	//       "enum": [
23913	//         "ASCENDING",
23914	//         "DESCENDING"
23915	//       ],
23916	//       "enumDescriptions": [
23917	//         "",
23918	//         ""
23919	//       ],
23920	//       "location": "query",
23921	//       "type": "string"
23922	//     }
23923	//   },
23924	//   "path": "userprofiles/{profileId}/contentCategories",
23925	//   "response": {
23926	//     "$ref": "ContentCategoriesListResponse"
23927	//   },
23928	//   "scopes": [
23929	//     "https://www.googleapis.com/auth/dfatrafficking"
23930	//   ]
23931	// }
23932
23933}
23934
23935// Pages invokes f for each page of results.
23936// A non-nil error returned from f will halt the iteration.
23937// The provided context supersedes any context provided to the Context method.
23938func (c *ContentCategoriesListCall) Pages(ctx context.Context, f func(*ContentCategoriesListResponse) error) error {
23939	c.ctx_ = ctx
23940	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
23941	for {
23942		x, err := c.Do()
23943		if err != nil {
23944			return err
23945		}
23946		if err := f(x); err != nil {
23947			return err
23948		}
23949		if x.NextPageToken == "" {
23950			return nil
23951		}
23952		c.PageToken(x.NextPageToken)
23953	}
23954}
23955
23956// method id "dfareporting.contentCategories.patch":
23957
23958type ContentCategoriesPatchCall struct {
23959	s               *Service
23960	profileId       int64
23961	contentcategory *ContentCategory
23962	urlParams_      gensupport.URLParams
23963	ctx_            context.Context
23964	header_         http.Header
23965}
23966
23967// Patch: Updates an existing content category. This method supports
23968// patch semantics.
23969//
23970// - id: ContentCategory ID.
23971// - profileId: User profile ID associated with this request.
23972func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
23973	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23974	c.profileId = profileId
23975	c.urlParams_.Set("id", fmt.Sprint(id))
23976	c.contentcategory = contentcategory
23977	return c
23978}
23979
23980// Fields allows partial responses to be retrieved. See
23981// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23982// for more information.
23983func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
23984	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23985	return c
23986}
23987
23988// Context sets the context to be used in this call's Do method. Any
23989// pending HTTP request will be aborted if the provided context is
23990// canceled.
23991func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
23992	c.ctx_ = ctx
23993	return c
23994}
23995
23996// Header returns an http.Header that can be modified by the caller to
23997// add HTTP headers to the request.
23998func (c *ContentCategoriesPatchCall) Header() http.Header {
23999	if c.header_ == nil {
24000		c.header_ = make(http.Header)
24001	}
24002	return c.header_
24003}
24004
24005func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
24006	reqHeaders := make(http.Header)
24007	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24008	for k, v := range c.header_ {
24009		reqHeaders[k] = v
24010	}
24011	reqHeaders.Set("User-Agent", c.s.userAgent())
24012	var body io.Reader = nil
24013	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
24014	if err != nil {
24015		return nil, err
24016	}
24017	reqHeaders.Set("Content-Type", "application/json")
24018	c.urlParams_.Set("alt", alt)
24019	c.urlParams_.Set("prettyPrint", "false")
24020	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
24021	urls += "?" + c.urlParams_.Encode()
24022	req, err := http.NewRequest("PATCH", urls, body)
24023	if err != nil {
24024		return nil, err
24025	}
24026	req.Header = reqHeaders
24027	googleapi.Expand(req.URL, map[string]string{
24028		"profileId": strconv.FormatInt(c.profileId, 10),
24029	})
24030	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24031}
24032
24033// Do executes the "dfareporting.contentCategories.patch" call.
24034// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
24035// status code is an error. Response headers are in either
24036// *ContentCategory.ServerResponse.Header or (if a response was returned
24037// at all) in error.(*googleapi.Error).Header. Use
24038// googleapi.IsNotModified to check whether the returned error was
24039// because http.StatusNotModified was returned.
24040func (c *ContentCategoriesPatchCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
24041	gensupport.SetOptions(c.urlParams_, opts...)
24042	res, err := c.doRequest("json")
24043	if res != nil && res.StatusCode == http.StatusNotModified {
24044		if res.Body != nil {
24045			res.Body.Close()
24046		}
24047		return nil, &googleapi.Error{
24048			Code:   res.StatusCode,
24049			Header: res.Header,
24050		}
24051	}
24052	if err != nil {
24053		return nil, err
24054	}
24055	defer googleapi.CloseBody(res)
24056	if err := googleapi.CheckResponse(res); err != nil {
24057		return nil, err
24058	}
24059	ret := &ContentCategory{
24060		ServerResponse: googleapi.ServerResponse{
24061			Header:         res.Header,
24062			HTTPStatusCode: res.StatusCode,
24063		},
24064	}
24065	target := &ret
24066	if err := gensupport.DecodeResponse(target, res); err != nil {
24067		return nil, err
24068	}
24069	return ret, nil
24070	// {
24071	//   "description": "Updates an existing content category. This method supports patch semantics.",
24072	//   "flatPath": "userprofiles/{profileId}/contentCategories",
24073	//   "httpMethod": "PATCH",
24074	//   "id": "dfareporting.contentCategories.patch",
24075	//   "parameterOrder": [
24076	//     "profileId",
24077	//     "id"
24078	//   ],
24079	//   "parameters": {
24080	//     "id": {
24081	//       "description": "ContentCategory ID.",
24082	//       "format": "int64",
24083	//       "location": "query",
24084	//       "required": true,
24085	//       "type": "string"
24086	//     },
24087	//     "profileId": {
24088	//       "description": "User profile ID associated with this request.",
24089	//       "format": "int64",
24090	//       "location": "path",
24091	//       "required": true,
24092	//       "type": "string"
24093	//     }
24094	//   },
24095	//   "path": "userprofiles/{profileId}/contentCategories",
24096	//   "request": {
24097	//     "$ref": "ContentCategory"
24098	//   },
24099	//   "response": {
24100	//     "$ref": "ContentCategory"
24101	//   },
24102	//   "scopes": [
24103	//     "https://www.googleapis.com/auth/dfatrafficking"
24104	//   ]
24105	// }
24106
24107}
24108
24109// method id "dfareporting.contentCategories.update":
24110
24111type ContentCategoriesUpdateCall struct {
24112	s               *Service
24113	profileId       int64
24114	contentcategory *ContentCategory
24115	urlParams_      gensupport.URLParams
24116	ctx_            context.Context
24117	header_         http.Header
24118}
24119
24120// Update: Updates an existing content category.
24121//
24122// - profileId: User profile ID associated with this request.
24123func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
24124	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24125	c.profileId = profileId
24126	c.contentcategory = contentcategory
24127	return c
24128}
24129
24130// Fields allows partial responses to be retrieved. See
24131// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24132// for more information.
24133func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
24134	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24135	return c
24136}
24137
24138// Context sets the context to be used in this call's Do method. Any
24139// pending HTTP request will be aborted if the provided context is
24140// canceled.
24141func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
24142	c.ctx_ = ctx
24143	return c
24144}
24145
24146// Header returns an http.Header that can be modified by the caller to
24147// add HTTP headers to the request.
24148func (c *ContentCategoriesUpdateCall) Header() http.Header {
24149	if c.header_ == nil {
24150		c.header_ = make(http.Header)
24151	}
24152	return c.header_
24153}
24154
24155func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
24156	reqHeaders := make(http.Header)
24157	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24158	for k, v := range c.header_ {
24159		reqHeaders[k] = v
24160	}
24161	reqHeaders.Set("User-Agent", c.s.userAgent())
24162	var body io.Reader = nil
24163	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
24164	if err != nil {
24165		return nil, err
24166	}
24167	reqHeaders.Set("Content-Type", "application/json")
24168	c.urlParams_.Set("alt", alt)
24169	c.urlParams_.Set("prettyPrint", "false")
24170	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
24171	urls += "?" + c.urlParams_.Encode()
24172	req, err := http.NewRequest("PUT", urls, body)
24173	if err != nil {
24174		return nil, err
24175	}
24176	req.Header = reqHeaders
24177	googleapi.Expand(req.URL, map[string]string{
24178		"profileId": strconv.FormatInt(c.profileId, 10),
24179	})
24180	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24181}
24182
24183// Do executes the "dfareporting.contentCategories.update" call.
24184// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
24185// status code is an error. Response headers are in either
24186// *ContentCategory.ServerResponse.Header or (if a response was returned
24187// at all) in error.(*googleapi.Error).Header. Use
24188// googleapi.IsNotModified to check whether the returned error was
24189// because http.StatusNotModified was returned.
24190func (c *ContentCategoriesUpdateCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
24191	gensupport.SetOptions(c.urlParams_, opts...)
24192	res, err := c.doRequest("json")
24193	if res != nil && res.StatusCode == http.StatusNotModified {
24194		if res.Body != nil {
24195			res.Body.Close()
24196		}
24197		return nil, &googleapi.Error{
24198			Code:   res.StatusCode,
24199			Header: res.Header,
24200		}
24201	}
24202	if err != nil {
24203		return nil, err
24204	}
24205	defer googleapi.CloseBody(res)
24206	if err := googleapi.CheckResponse(res); err != nil {
24207		return nil, err
24208	}
24209	ret := &ContentCategory{
24210		ServerResponse: googleapi.ServerResponse{
24211			Header:         res.Header,
24212			HTTPStatusCode: res.StatusCode,
24213		},
24214	}
24215	target := &ret
24216	if err := gensupport.DecodeResponse(target, res); err != nil {
24217		return nil, err
24218	}
24219	return ret, nil
24220	// {
24221	//   "description": "Updates an existing content category.",
24222	//   "flatPath": "userprofiles/{profileId}/contentCategories",
24223	//   "httpMethod": "PUT",
24224	//   "id": "dfareporting.contentCategories.update",
24225	//   "parameterOrder": [
24226	//     "profileId"
24227	//   ],
24228	//   "parameters": {
24229	//     "profileId": {
24230	//       "description": "User profile ID associated with this request.",
24231	//       "format": "int64",
24232	//       "location": "path",
24233	//       "required": true,
24234	//       "type": "string"
24235	//     }
24236	//   },
24237	//   "path": "userprofiles/{profileId}/contentCategories",
24238	//   "request": {
24239	//     "$ref": "ContentCategory"
24240	//   },
24241	//   "response": {
24242	//     "$ref": "ContentCategory"
24243	//   },
24244	//   "scopes": [
24245	//     "https://www.googleapis.com/auth/dfatrafficking"
24246	//   ]
24247	// }
24248
24249}
24250
24251// method id "dfareporting.conversions.batchinsert":
24252
24253type ConversionsBatchinsertCall struct {
24254	s                             *Service
24255	profileId                     int64
24256	conversionsbatchinsertrequest *ConversionsBatchInsertRequest
24257	urlParams_                    gensupport.URLParams
24258	ctx_                          context.Context
24259	header_                       http.Header
24260}
24261
24262// Batchinsert: Inserts conversions.
24263//
24264// - profileId: User profile ID associated with this request.
24265func (r *ConversionsService) Batchinsert(profileId int64, conversionsbatchinsertrequest *ConversionsBatchInsertRequest) *ConversionsBatchinsertCall {
24266	c := &ConversionsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24267	c.profileId = profileId
24268	c.conversionsbatchinsertrequest = conversionsbatchinsertrequest
24269	return c
24270}
24271
24272// Fields allows partial responses to be retrieved. See
24273// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24274// for more information.
24275func (c *ConversionsBatchinsertCall) Fields(s ...googleapi.Field) *ConversionsBatchinsertCall {
24276	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24277	return c
24278}
24279
24280// Context sets the context to be used in this call's Do method. Any
24281// pending HTTP request will be aborted if the provided context is
24282// canceled.
24283func (c *ConversionsBatchinsertCall) Context(ctx context.Context) *ConversionsBatchinsertCall {
24284	c.ctx_ = ctx
24285	return c
24286}
24287
24288// Header returns an http.Header that can be modified by the caller to
24289// add HTTP headers to the request.
24290func (c *ConversionsBatchinsertCall) Header() http.Header {
24291	if c.header_ == nil {
24292		c.header_ = make(http.Header)
24293	}
24294	return c.header_
24295}
24296
24297func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
24298	reqHeaders := make(http.Header)
24299	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24300	for k, v := range c.header_ {
24301		reqHeaders[k] = v
24302	}
24303	reqHeaders.Set("User-Agent", c.s.userAgent())
24304	var body io.Reader = nil
24305	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchinsertrequest)
24306	if err != nil {
24307		return nil, err
24308	}
24309	reqHeaders.Set("Content-Type", "application/json")
24310	c.urlParams_.Set("alt", alt)
24311	c.urlParams_.Set("prettyPrint", "false")
24312	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchinsert")
24313	urls += "?" + c.urlParams_.Encode()
24314	req, err := http.NewRequest("POST", urls, body)
24315	if err != nil {
24316		return nil, err
24317	}
24318	req.Header = reqHeaders
24319	googleapi.Expand(req.URL, map[string]string{
24320		"profileId": strconv.FormatInt(c.profileId, 10),
24321	})
24322	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24323}
24324
24325// Do executes the "dfareporting.conversions.batchinsert" call.
24326// Exactly one of *ConversionsBatchInsertResponse or error will be
24327// non-nil. Any non-2xx status code is an error. Response headers are in
24328// either *ConversionsBatchInsertResponse.ServerResponse.Header or (if a
24329// response was returned at all) in error.(*googleapi.Error).Header. Use
24330// googleapi.IsNotModified to check whether the returned error was
24331// because http.StatusNotModified was returned.
24332func (c *ConversionsBatchinsertCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchInsertResponse, error) {
24333	gensupport.SetOptions(c.urlParams_, opts...)
24334	res, err := c.doRequest("json")
24335	if res != nil && res.StatusCode == http.StatusNotModified {
24336		if res.Body != nil {
24337			res.Body.Close()
24338		}
24339		return nil, &googleapi.Error{
24340			Code:   res.StatusCode,
24341			Header: res.Header,
24342		}
24343	}
24344	if err != nil {
24345		return nil, err
24346	}
24347	defer googleapi.CloseBody(res)
24348	if err := googleapi.CheckResponse(res); err != nil {
24349		return nil, err
24350	}
24351	ret := &ConversionsBatchInsertResponse{
24352		ServerResponse: googleapi.ServerResponse{
24353			Header:         res.Header,
24354			HTTPStatusCode: res.StatusCode,
24355		},
24356	}
24357	target := &ret
24358	if err := gensupport.DecodeResponse(target, res); err != nil {
24359		return nil, err
24360	}
24361	return ret, nil
24362	// {
24363	//   "description": "Inserts conversions.",
24364	//   "flatPath": "userprofiles/{profileId}/conversions/batchinsert",
24365	//   "httpMethod": "POST",
24366	//   "id": "dfareporting.conversions.batchinsert",
24367	//   "parameterOrder": [
24368	//     "profileId"
24369	//   ],
24370	//   "parameters": {
24371	//     "profileId": {
24372	//       "description": "User profile ID associated with this request.",
24373	//       "format": "int64",
24374	//       "location": "path",
24375	//       "required": true,
24376	//       "type": "string"
24377	//     }
24378	//   },
24379	//   "path": "userprofiles/{profileId}/conversions/batchinsert",
24380	//   "request": {
24381	//     "$ref": "ConversionsBatchInsertRequest"
24382	//   },
24383	//   "response": {
24384	//     "$ref": "ConversionsBatchInsertResponse"
24385	//   },
24386	//   "scopes": [
24387	//     "https://www.googleapis.com/auth/ddmconversions"
24388	//   ]
24389	// }
24390
24391}
24392
24393// method id "dfareporting.conversions.batchupdate":
24394
24395type ConversionsBatchupdateCall struct {
24396	s                             *Service
24397	profileId                     int64
24398	conversionsbatchupdaterequest *ConversionsBatchUpdateRequest
24399	urlParams_                    gensupport.URLParams
24400	ctx_                          context.Context
24401	header_                       http.Header
24402}
24403
24404// Batchupdate: Updates existing conversions.
24405//
24406// - profileId: User profile ID associated with this request.
24407func (r *ConversionsService) Batchupdate(profileId int64, conversionsbatchupdaterequest *ConversionsBatchUpdateRequest) *ConversionsBatchupdateCall {
24408	c := &ConversionsBatchupdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24409	c.profileId = profileId
24410	c.conversionsbatchupdaterequest = conversionsbatchupdaterequest
24411	return c
24412}
24413
24414// Fields allows partial responses to be retrieved. See
24415// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24416// for more information.
24417func (c *ConversionsBatchupdateCall) Fields(s ...googleapi.Field) *ConversionsBatchupdateCall {
24418	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24419	return c
24420}
24421
24422// Context sets the context to be used in this call's Do method. Any
24423// pending HTTP request will be aborted if the provided context is
24424// canceled.
24425func (c *ConversionsBatchupdateCall) Context(ctx context.Context) *ConversionsBatchupdateCall {
24426	c.ctx_ = ctx
24427	return c
24428}
24429
24430// Header returns an http.Header that can be modified by the caller to
24431// add HTTP headers to the request.
24432func (c *ConversionsBatchupdateCall) Header() http.Header {
24433	if c.header_ == nil {
24434		c.header_ = make(http.Header)
24435	}
24436	return c.header_
24437}
24438
24439func (c *ConversionsBatchupdateCall) doRequest(alt string) (*http.Response, error) {
24440	reqHeaders := make(http.Header)
24441	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24442	for k, v := range c.header_ {
24443		reqHeaders[k] = v
24444	}
24445	reqHeaders.Set("User-Agent", c.s.userAgent())
24446	var body io.Reader = nil
24447	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchupdaterequest)
24448	if err != nil {
24449		return nil, err
24450	}
24451	reqHeaders.Set("Content-Type", "application/json")
24452	c.urlParams_.Set("alt", alt)
24453	c.urlParams_.Set("prettyPrint", "false")
24454	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchupdate")
24455	urls += "?" + c.urlParams_.Encode()
24456	req, err := http.NewRequest("POST", urls, body)
24457	if err != nil {
24458		return nil, err
24459	}
24460	req.Header = reqHeaders
24461	googleapi.Expand(req.URL, map[string]string{
24462		"profileId": strconv.FormatInt(c.profileId, 10),
24463	})
24464	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24465}
24466
24467// Do executes the "dfareporting.conversions.batchupdate" call.
24468// Exactly one of *ConversionsBatchUpdateResponse or error will be
24469// non-nil. Any non-2xx status code is an error. Response headers are in
24470// either *ConversionsBatchUpdateResponse.ServerResponse.Header or (if a
24471// response was returned at all) in error.(*googleapi.Error).Header. Use
24472// googleapi.IsNotModified to check whether the returned error was
24473// because http.StatusNotModified was returned.
24474func (c *ConversionsBatchupdateCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchUpdateResponse, error) {
24475	gensupport.SetOptions(c.urlParams_, opts...)
24476	res, err := c.doRequest("json")
24477	if res != nil && res.StatusCode == http.StatusNotModified {
24478		if res.Body != nil {
24479			res.Body.Close()
24480		}
24481		return nil, &googleapi.Error{
24482			Code:   res.StatusCode,
24483			Header: res.Header,
24484		}
24485	}
24486	if err != nil {
24487		return nil, err
24488	}
24489	defer googleapi.CloseBody(res)
24490	if err := googleapi.CheckResponse(res); err != nil {
24491		return nil, err
24492	}
24493	ret := &ConversionsBatchUpdateResponse{
24494		ServerResponse: googleapi.ServerResponse{
24495			Header:         res.Header,
24496			HTTPStatusCode: res.StatusCode,
24497		},
24498	}
24499	target := &ret
24500	if err := gensupport.DecodeResponse(target, res); err != nil {
24501		return nil, err
24502	}
24503	return ret, nil
24504	// {
24505	//   "description": "Updates existing conversions.",
24506	//   "flatPath": "userprofiles/{profileId}/conversions/batchupdate",
24507	//   "httpMethod": "POST",
24508	//   "id": "dfareporting.conversions.batchupdate",
24509	//   "parameterOrder": [
24510	//     "profileId"
24511	//   ],
24512	//   "parameters": {
24513	//     "profileId": {
24514	//       "description": "User profile ID associated with this request.",
24515	//       "format": "int64",
24516	//       "location": "path",
24517	//       "required": true,
24518	//       "type": "string"
24519	//     }
24520	//   },
24521	//   "path": "userprofiles/{profileId}/conversions/batchupdate",
24522	//   "request": {
24523	//     "$ref": "ConversionsBatchUpdateRequest"
24524	//   },
24525	//   "response": {
24526	//     "$ref": "ConversionsBatchUpdateResponse"
24527	//   },
24528	//   "scopes": [
24529	//     "https://www.googleapis.com/auth/ddmconversions"
24530	//   ]
24531	// }
24532
24533}
24534
24535// method id "dfareporting.countries.get":
24536
24537type CountriesGetCall struct {
24538	s            *Service
24539	profileId    int64
24540	dartId       int64
24541	urlParams_   gensupport.URLParams
24542	ifNoneMatch_ string
24543	ctx_         context.Context
24544	header_      http.Header
24545}
24546
24547// Get: Gets one country by ID.
24548//
24549// - dartId: Country DART ID.
24550// - profileId: User profile ID associated with this request.
24551func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
24552	c := &CountriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24553	c.profileId = profileId
24554	c.dartId = dartId
24555	return c
24556}
24557
24558// Fields allows partial responses to be retrieved. See
24559// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24560// for more information.
24561func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
24562	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24563	return c
24564}
24565
24566// IfNoneMatch sets the optional parameter which makes the operation
24567// fail if the object's ETag matches the given value. This is useful for
24568// getting updates only after the object has changed since the last
24569// request. Use googleapi.IsNotModified to check whether the response
24570// error from Do is the result of In-None-Match.
24571func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
24572	c.ifNoneMatch_ = entityTag
24573	return c
24574}
24575
24576// Context sets the context to be used in this call's Do method. Any
24577// pending HTTP request will be aborted if the provided context is
24578// canceled.
24579func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
24580	c.ctx_ = ctx
24581	return c
24582}
24583
24584// Header returns an http.Header that can be modified by the caller to
24585// add HTTP headers to the request.
24586func (c *CountriesGetCall) Header() http.Header {
24587	if c.header_ == nil {
24588		c.header_ = make(http.Header)
24589	}
24590	return c.header_
24591}
24592
24593func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
24594	reqHeaders := make(http.Header)
24595	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24596	for k, v := range c.header_ {
24597		reqHeaders[k] = v
24598	}
24599	reqHeaders.Set("User-Agent", c.s.userAgent())
24600	if c.ifNoneMatch_ != "" {
24601		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24602	}
24603	var body io.Reader = nil
24604	c.urlParams_.Set("alt", alt)
24605	c.urlParams_.Set("prettyPrint", "false")
24606	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
24607	urls += "?" + c.urlParams_.Encode()
24608	req, err := http.NewRequest("GET", urls, body)
24609	if err != nil {
24610		return nil, err
24611	}
24612	req.Header = reqHeaders
24613	googleapi.Expand(req.URL, map[string]string{
24614		"profileId": strconv.FormatInt(c.profileId, 10),
24615		"dartId":    strconv.FormatInt(c.dartId, 10),
24616	})
24617	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24618}
24619
24620// Do executes the "dfareporting.countries.get" call.
24621// Exactly one of *Country or error will be non-nil. Any non-2xx status
24622// code is an error. Response headers are in either
24623// *Country.ServerResponse.Header or (if a response was returned at all)
24624// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24625// check whether the returned error was because http.StatusNotModified
24626// was returned.
24627func (c *CountriesGetCall) Do(opts ...googleapi.CallOption) (*Country, error) {
24628	gensupport.SetOptions(c.urlParams_, opts...)
24629	res, err := c.doRequest("json")
24630	if res != nil && res.StatusCode == http.StatusNotModified {
24631		if res.Body != nil {
24632			res.Body.Close()
24633		}
24634		return nil, &googleapi.Error{
24635			Code:   res.StatusCode,
24636			Header: res.Header,
24637		}
24638	}
24639	if err != nil {
24640		return nil, err
24641	}
24642	defer googleapi.CloseBody(res)
24643	if err := googleapi.CheckResponse(res); err != nil {
24644		return nil, err
24645	}
24646	ret := &Country{
24647		ServerResponse: googleapi.ServerResponse{
24648			Header:         res.Header,
24649			HTTPStatusCode: res.StatusCode,
24650		},
24651	}
24652	target := &ret
24653	if err := gensupport.DecodeResponse(target, res); err != nil {
24654		return nil, err
24655	}
24656	return ret, nil
24657	// {
24658	//   "description": "Gets one country by ID.",
24659	//   "flatPath": "userprofiles/{profileId}/countries/{dartId}",
24660	//   "httpMethod": "GET",
24661	//   "id": "dfareporting.countries.get",
24662	//   "parameterOrder": [
24663	//     "profileId",
24664	//     "dartId"
24665	//   ],
24666	//   "parameters": {
24667	//     "dartId": {
24668	//       "description": "Country DART ID.",
24669	//       "format": "int64",
24670	//       "location": "path",
24671	//       "required": true,
24672	//       "type": "string"
24673	//     },
24674	//     "profileId": {
24675	//       "description": "User profile ID associated with this request.",
24676	//       "format": "int64",
24677	//       "location": "path",
24678	//       "required": true,
24679	//       "type": "string"
24680	//     }
24681	//   },
24682	//   "path": "userprofiles/{profileId}/countries/{dartId}",
24683	//   "response": {
24684	//     "$ref": "Country"
24685	//   },
24686	//   "scopes": [
24687	//     "https://www.googleapis.com/auth/dfatrafficking"
24688	//   ]
24689	// }
24690
24691}
24692
24693// method id "dfareporting.countries.list":
24694
24695type CountriesListCall struct {
24696	s            *Service
24697	profileId    int64
24698	urlParams_   gensupport.URLParams
24699	ifNoneMatch_ string
24700	ctx_         context.Context
24701	header_      http.Header
24702}
24703
24704// List: Retrieves a list of countries.
24705//
24706// - profileId: User profile ID associated with this request.
24707func (r *CountriesService) List(profileId int64) *CountriesListCall {
24708	c := &CountriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24709	c.profileId = profileId
24710	return c
24711}
24712
24713// Fields allows partial responses to be retrieved. See
24714// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24715// for more information.
24716func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
24717	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24718	return c
24719}
24720
24721// IfNoneMatch sets the optional parameter which makes the operation
24722// fail if the object's ETag matches the given value. This is useful for
24723// getting updates only after the object has changed since the last
24724// request. Use googleapi.IsNotModified to check whether the response
24725// error from Do is the result of In-None-Match.
24726func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
24727	c.ifNoneMatch_ = entityTag
24728	return c
24729}
24730
24731// Context sets the context to be used in this call's Do method. Any
24732// pending HTTP request will be aborted if the provided context is
24733// canceled.
24734func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
24735	c.ctx_ = ctx
24736	return c
24737}
24738
24739// Header returns an http.Header that can be modified by the caller to
24740// add HTTP headers to the request.
24741func (c *CountriesListCall) Header() http.Header {
24742	if c.header_ == nil {
24743		c.header_ = make(http.Header)
24744	}
24745	return c.header_
24746}
24747
24748func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
24749	reqHeaders := make(http.Header)
24750	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24751	for k, v := range c.header_ {
24752		reqHeaders[k] = v
24753	}
24754	reqHeaders.Set("User-Agent", c.s.userAgent())
24755	if c.ifNoneMatch_ != "" {
24756		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24757	}
24758	var body io.Reader = nil
24759	c.urlParams_.Set("alt", alt)
24760	c.urlParams_.Set("prettyPrint", "false")
24761	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
24762	urls += "?" + c.urlParams_.Encode()
24763	req, err := http.NewRequest("GET", urls, body)
24764	if err != nil {
24765		return nil, err
24766	}
24767	req.Header = reqHeaders
24768	googleapi.Expand(req.URL, map[string]string{
24769		"profileId": strconv.FormatInt(c.profileId, 10),
24770	})
24771	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24772}
24773
24774// Do executes the "dfareporting.countries.list" call.
24775// Exactly one of *CountriesListResponse or error will be non-nil. Any
24776// non-2xx status code is an error. Response headers are in either
24777// *CountriesListResponse.ServerResponse.Header or (if a response was
24778// returned at all) in error.(*googleapi.Error).Header. Use
24779// googleapi.IsNotModified to check whether the returned error was
24780// because http.StatusNotModified was returned.
24781func (c *CountriesListCall) Do(opts ...googleapi.CallOption) (*CountriesListResponse, error) {
24782	gensupport.SetOptions(c.urlParams_, opts...)
24783	res, err := c.doRequest("json")
24784	if res != nil && res.StatusCode == http.StatusNotModified {
24785		if res.Body != nil {
24786			res.Body.Close()
24787		}
24788		return nil, &googleapi.Error{
24789			Code:   res.StatusCode,
24790			Header: res.Header,
24791		}
24792	}
24793	if err != nil {
24794		return nil, err
24795	}
24796	defer googleapi.CloseBody(res)
24797	if err := googleapi.CheckResponse(res); err != nil {
24798		return nil, err
24799	}
24800	ret := &CountriesListResponse{
24801		ServerResponse: googleapi.ServerResponse{
24802			Header:         res.Header,
24803			HTTPStatusCode: res.StatusCode,
24804		},
24805	}
24806	target := &ret
24807	if err := gensupport.DecodeResponse(target, res); err != nil {
24808		return nil, err
24809	}
24810	return ret, nil
24811	// {
24812	//   "description": "Retrieves a list of countries.",
24813	//   "flatPath": "userprofiles/{profileId}/countries",
24814	//   "httpMethod": "GET",
24815	//   "id": "dfareporting.countries.list",
24816	//   "parameterOrder": [
24817	//     "profileId"
24818	//   ],
24819	//   "parameters": {
24820	//     "profileId": {
24821	//       "description": "User profile ID associated with this request.",
24822	//       "format": "int64",
24823	//       "location": "path",
24824	//       "required": true,
24825	//       "type": "string"
24826	//     }
24827	//   },
24828	//   "path": "userprofiles/{profileId}/countries",
24829	//   "response": {
24830	//     "$ref": "CountriesListResponse"
24831	//   },
24832	//   "scopes": [
24833	//     "https://www.googleapis.com/auth/dfatrafficking"
24834	//   ]
24835	// }
24836
24837}
24838
24839// method id "dfareporting.creativeAssets.insert":
24840
24841type CreativeAssetsInsertCall struct {
24842	s                     *Service
24843	profileId             int64
24844	advertiserId          int64
24845	creativeassetmetadata *CreativeAssetMetadata
24846	urlParams_            gensupport.URLParams
24847	mediaInfo_            *gensupport.MediaInfo
24848	ctx_                  context.Context
24849	header_               http.Header
24850}
24851
24852// Insert: Inserts a new creative asset.
24853//
24854// - advertiserId: Advertiser ID of this creative. This is a required
24855//   field.
24856// - profileId: User profile ID associated with this request.
24857func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
24858	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24859	c.profileId = profileId
24860	c.advertiserId = advertiserId
24861	c.creativeassetmetadata = creativeassetmetadata
24862	return c
24863}
24864
24865// Media specifies the media to upload in one or more chunks. The chunk
24866// size may be controlled by supplying a MediaOption generated by
24867// googleapi.ChunkSize. The chunk size defaults to
24868// googleapi.DefaultUploadChunkSize.The Content-Type header used in the
24869// upload request will be determined by sniffing the contents of r,
24870// unless a MediaOption generated by googleapi.ContentType is
24871// supplied.
24872// At most one of Media and ResumableMedia may be set.
24873func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall {
24874	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
24875	return c
24876}
24877
24878// ResumableMedia specifies the media to upload in chunks and can be
24879// canceled with ctx.
24880//
24881// Deprecated: use Media instead.
24882//
24883// At most one of Media and ResumableMedia may be set. mediaType
24884// identifies the MIME media type of the upload, such as "image/png". If
24885// mediaType is "", it will be auto-detected. The provided ctx will
24886// supersede any context previously provided to the Context method.
24887func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
24888	c.ctx_ = ctx
24889	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
24890	return c
24891}
24892
24893// ProgressUpdater provides a callback function that will be called
24894// after every chunk. It should be a low-latency function in order to
24895// not slow down the upload operation. This should only be called when
24896// using ResumableMedia (as opposed to Media).
24897func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
24898	c.mediaInfo_.SetProgressUpdater(pu)
24899	return c
24900}
24901
24902// Fields allows partial responses to be retrieved. See
24903// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24904// for more information.
24905func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
24906	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24907	return c
24908}
24909
24910// Context sets the context to be used in this call's Do method. Any
24911// pending HTTP request will be aborted if the provided context is
24912// canceled.
24913// This context will supersede any context previously provided to the
24914// ResumableMedia method.
24915func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
24916	c.ctx_ = ctx
24917	return c
24918}
24919
24920// Header returns an http.Header that can be modified by the caller to
24921// add HTTP headers to the request.
24922func (c *CreativeAssetsInsertCall) Header() http.Header {
24923	if c.header_ == nil {
24924		c.header_ = make(http.Header)
24925	}
24926	return c.header_
24927}
24928
24929func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
24930	reqHeaders := make(http.Header)
24931	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24932	for k, v := range c.header_ {
24933		reqHeaders[k] = v
24934	}
24935	reqHeaders.Set("User-Agent", c.s.userAgent())
24936	var body io.Reader = nil
24937	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativeassetmetadata)
24938	if err != nil {
24939		return nil, err
24940	}
24941	reqHeaders.Set("Content-Type", "application/json")
24942	c.urlParams_.Set("alt", alt)
24943	c.urlParams_.Set("prettyPrint", "false")
24944	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
24945	if c.mediaInfo_ != nil {
24946		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/dfareporting/v3.3/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
24947		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
24948	}
24949	if body == nil {
24950		body = new(bytes.Buffer)
24951		reqHeaders.Set("Content-Type", "application/json")
24952	}
24953	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
24954	defer cleanup()
24955	urls += "?" + c.urlParams_.Encode()
24956	req, err := http.NewRequest("POST", urls, body)
24957	if err != nil {
24958		return nil, err
24959	}
24960	req.Header = reqHeaders
24961	req.GetBody = getBody
24962	googleapi.Expand(req.URL, map[string]string{
24963		"profileId":    strconv.FormatInt(c.profileId, 10),
24964		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
24965	})
24966	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24967}
24968
24969// Do executes the "dfareporting.creativeAssets.insert" call.
24970// Exactly one of *CreativeAssetMetadata or error will be non-nil. Any
24971// non-2xx status code is an error. Response headers are in either
24972// *CreativeAssetMetadata.ServerResponse.Header or (if a response was
24973// returned at all) in error.(*googleapi.Error).Header. Use
24974// googleapi.IsNotModified to check whether the returned error was
24975// because http.StatusNotModified was returned.
24976func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAssetMetadata, error) {
24977	gensupport.SetOptions(c.urlParams_, opts...)
24978	res, err := c.doRequest("json")
24979	if res != nil && res.StatusCode == http.StatusNotModified {
24980		if res.Body != nil {
24981			res.Body.Close()
24982		}
24983		return nil, &googleapi.Error{
24984			Code:   res.StatusCode,
24985			Header: res.Header,
24986		}
24987	}
24988	if err != nil {
24989		return nil, err
24990	}
24991	defer googleapi.CloseBody(res)
24992	if err := googleapi.CheckResponse(res); err != nil {
24993		return nil, err
24994	}
24995	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
24996	if rx != nil {
24997		rx.Client = c.s.client
24998		rx.UserAgent = c.s.userAgent()
24999		ctx := c.ctx_
25000		if ctx == nil {
25001			ctx = context.TODO()
25002		}
25003		res, err = rx.Upload(ctx)
25004		if err != nil {
25005			return nil, err
25006		}
25007		defer res.Body.Close()
25008		if err := googleapi.CheckResponse(res); err != nil {
25009			return nil, err
25010		}
25011	}
25012	ret := &CreativeAssetMetadata{
25013		ServerResponse: googleapi.ServerResponse{
25014			Header:         res.Header,
25015			HTTPStatusCode: res.StatusCode,
25016		},
25017	}
25018	target := &ret
25019	if err := gensupport.DecodeResponse(target, res); err != nil {
25020		return nil, err
25021	}
25022	return ret, nil
25023	// {
25024	//   "description": "Inserts a new creative asset.",
25025	//   "flatPath": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
25026	//   "httpMethod": "POST",
25027	//   "id": "dfareporting.creativeAssets.insert",
25028	//   "mediaUpload": {
25029	//     "accept": [
25030	//       "*/*"
25031	//     ],
25032	//     "maxSize": "1073741824",
25033	//     "protocols": {
25034	//       "simple": {
25035	//         "multipart": true,
25036	//         "path": "/upload/dfareporting/v3.3/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
25037	//       }
25038	//     }
25039	//   },
25040	//   "parameterOrder": [
25041	//     "profileId",
25042	//     "advertiserId"
25043	//   ],
25044	//   "parameters": {
25045	//     "advertiserId": {
25046	//       "description": "Advertiser ID of this creative. This is a required field.",
25047	//       "format": "int64",
25048	//       "location": "path",
25049	//       "required": true,
25050	//       "type": "string"
25051	//     },
25052	//     "profileId": {
25053	//       "description": "User profile ID associated with this request.",
25054	//       "format": "int64",
25055	//       "location": "path",
25056	//       "required": true,
25057	//       "type": "string"
25058	//     }
25059	//   },
25060	//   "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
25061	//   "request": {
25062	//     "$ref": "CreativeAssetMetadata"
25063	//   },
25064	//   "response": {
25065	//     "$ref": "CreativeAssetMetadata"
25066	//   },
25067	//   "scopes": [
25068	//     "https://www.googleapis.com/auth/dfatrafficking"
25069	//   ],
25070	//   "supportsMediaUpload": true
25071	// }
25072
25073}
25074
25075// method id "dfareporting.creativeFieldValues.delete":
25076
25077type CreativeFieldValuesDeleteCall struct {
25078	s               *Service
25079	profileId       int64
25080	creativeFieldId int64
25081	id              int64
25082	urlParams_      gensupport.URLParams
25083	ctx_            context.Context
25084	header_         http.Header
25085}
25086
25087// Delete: Deletes an existing creative field value.
25088//
25089// - creativeFieldId: Creative field ID for this creative field value.
25090// - id: Creative Field Value ID.
25091// - profileId: User profile ID associated with this request.
25092func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
25093	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25094	c.profileId = profileId
25095	c.creativeFieldId = creativeFieldId
25096	c.id = id
25097	return c
25098}
25099
25100// Fields allows partial responses to be retrieved. See
25101// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25102// for more information.
25103func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
25104	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25105	return c
25106}
25107
25108// Context sets the context to be used in this call's Do method. Any
25109// pending HTTP request will be aborted if the provided context is
25110// canceled.
25111func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
25112	c.ctx_ = ctx
25113	return c
25114}
25115
25116// Header returns an http.Header that can be modified by the caller to
25117// add HTTP headers to the request.
25118func (c *CreativeFieldValuesDeleteCall) Header() http.Header {
25119	if c.header_ == nil {
25120		c.header_ = make(http.Header)
25121	}
25122	return c.header_
25123}
25124
25125func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
25126	reqHeaders := make(http.Header)
25127	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25128	for k, v := range c.header_ {
25129		reqHeaders[k] = v
25130	}
25131	reqHeaders.Set("User-Agent", c.s.userAgent())
25132	var body io.Reader = nil
25133	c.urlParams_.Set("alt", alt)
25134	c.urlParams_.Set("prettyPrint", "false")
25135	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
25136	urls += "?" + c.urlParams_.Encode()
25137	req, err := http.NewRequest("DELETE", urls, body)
25138	if err != nil {
25139		return nil, err
25140	}
25141	req.Header = reqHeaders
25142	googleapi.Expand(req.URL, map[string]string{
25143		"profileId":       strconv.FormatInt(c.profileId, 10),
25144		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25145		"id":              strconv.FormatInt(c.id, 10),
25146	})
25147	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25148}
25149
25150// Do executes the "dfareporting.creativeFieldValues.delete" call.
25151func (c *CreativeFieldValuesDeleteCall) Do(opts ...googleapi.CallOption) error {
25152	gensupport.SetOptions(c.urlParams_, opts...)
25153	res, err := c.doRequest("json")
25154	if err != nil {
25155		return err
25156	}
25157	defer googleapi.CloseBody(res)
25158	if err := googleapi.CheckResponse(res); err != nil {
25159		return err
25160	}
25161	return nil
25162	// {
25163	//   "description": "Deletes an existing creative field value.",
25164	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25165	//   "httpMethod": "DELETE",
25166	//   "id": "dfareporting.creativeFieldValues.delete",
25167	//   "parameterOrder": [
25168	//     "profileId",
25169	//     "creativeFieldId",
25170	//     "id"
25171	//   ],
25172	//   "parameters": {
25173	//     "creativeFieldId": {
25174	//       "description": "Creative field ID for this creative field value.",
25175	//       "format": "int64",
25176	//       "location": "path",
25177	//       "required": true,
25178	//       "type": "string"
25179	//     },
25180	//     "id": {
25181	//       "description": "Creative Field Value ID",
25182	//       "format": "int64",
25183	//       "location": "path",
25184	//       "required": true,
25185	//       "type": "string"
25186	//     },
25187	//     "profileId": {
25188	//       "description": "User profile ID associated with this request.",
25189	//       "format": "int64",
25190	//       "location": "path",
25191	//       "required": true,
25192	//       "type": "string"
25193	//     }
25194	//   },
25195	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25196	//   "scopes": [
25197	//     "https://www.googleapis.com/auth/dfatrafficking"
25198	//   ]
25199	// }
25200
25201}
25202
25203// method id "dfareporting.creativeFieldValues.get":
25204
25205type CreativeFieldValuesGetCall struct {
25206	s               *Service
25207	profileId       int64
25208	creativeFieldId int64
25209	id              int64
25210	urlParams_      gensupport.URLParams
25211	ifNoneMatch_    string
25212	ctx_            context.Context
25213	header_         http.Header
25214}
25215
25216// Get: Gets one creative field value by ID.
25217//
25218// - creativeFieldId: Creative field ID for this creative field value.
25219// - id: Creative Field Value ID.
25220// - profileId: User profile ID associated with this request.
25221func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
25222	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25223	c.profileId = profileId
25224	c.creativeFieldId = creativeFieldId
25225	c.id = id
25226	return c
25227}
25228
25229// Fields allows partial responses to be retrieved. See
25230// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25231// for more information.
25232func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
25233	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25234	return c
25235}
25236
25237// IfNoneMatch sets the optional parameter which makes the operation
25238// fail if the object's ETag matches the given value. This is useful for
25239// getting updates only after the object has changed since the last
25240// request. Use googleapi.IsNotModified to check whether the response
25241// error from Do is the result of In-None-Match.
25242func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
25243	c.ifNoneMatch_ = entityTag
25244	return c
25245}
25246
25247// Context sets the context to be used in this call's Do method. Any
25248// pending HTTP request will be aborted if the provided context is
25249// canceled.
25250func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
25251	c.ctx_ = ctx
25252	return c
25253}
25254
25255// Header returns an http.Header that can be modified by the caller to
25256// add HTTP headers to the request.
25257func (c *CreativeFieldValuesGetCall) Header() http.Header {
25258	if c.header_ == nil {
25259		c.header_ = make(http.Header)
25260	}
25261	return c.header_
25262}
25263
25264func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
25265	reqHeaders := make(http.Header)
25266	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25267	for k, v := range c.header_ {
25268		reqHeaders[k] = v
25269	}
25270	reqHeaders.Set("User-Agent", c.s.userAgent())
25271	if c.ifNoneMatch_ != "" {
25272		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25273	}
25274	var body io.Reader = nil
25275	c.urlParams_.Set("alt", alt)
25276	c.urlParams_.Set("prettyPrint", "false")
25277	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
25278	urls += "?" + c.urlParams_.Encode()
25279	req, err := http.NewRequest("GET", urls, body)
25280	if err != nil {
25281		return nil, err
25282	}
25283	req.Header = reqHeaders
25284	googleapi.Expand(req.URL, map[string]string{
25285		"profileId":       strconv.FormatInt(c.profileId, 10),
25286		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25287		"id":              strconv.FormatInt(c.id, 10),
25288	})
25289	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25290}
25291
25292// Do executes the "dfareporting.creativeFieldValues.get" call.
25293// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25294// non-2xx status code is an error. Response headers are in either
25295// *CreativeFieldValue.ServerResponse.Header or (if a response was
25296// returned at all) in error.(*googleapi.Error).Header. Use
25297// googleapi.IsNotModified to check whether the returned error was
25298// because http.StatusNotModified was returned.
25299func (c *CreativeFieldValuesGetCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25300	gensupport.SetOptions(c.urlParams_, opts...)
25301	res, err := c.doRequest("json")
25302	if res != nil && res.StatusCode == http.StatusNotModified {
25303		if res.Body != nil {
25304			res.Body.Close()
25305		}
25306		return nil, &googleapi.Error{
25307			Code:   res.StatusCode,
25308			Header: res.Header,
25309		}
25310	}
25311	if err != nil {
25312		return nil, err
25313	}
25314	defer googleapi.CloseBody(res)
25315	if err := googleapi.CheckResponse(res); err != nil {
25316		return nil, err
25317	}
25318	ret := &CreativeFieldValue{
25319		ServerResponse: googleapi.ServerResponse{
25320			Header:         res.Header,
25321			HTTPStatusCode: res.StatusCode,
25322		},
25323	}
25324	target := &ret
25325	if err := gensupport.DecodeResponse(target, res); err != nil {
25326		return nil, err
25327	}
25328	return ret, nil
25329	// {
25330	//   "description": "Gets one creative field value by ID.",
25331	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25332	//   "httpMethod": "GET",
25333	//   "id": "dfareporting.creativeFieldValues.get",
25334	//   "parameterOrder": [
25335	//     "profileId",
25336	//     "creativeFieldId",
25337	//     "id"
25338	//   ],
25339	//   "parameters": {
25340	//     "creativeFieldId": {
25341	//       "description": "Creative field ID for this creative field value.",
25342	//       "format": "int64",
25343	//       "location": "path",
25344	//       "required": true,
25345	//       "type": "string"
25346	//     },
25347	//     "id": {
25348	//       "description": "Creative Field Value ID",
25349	//       "format": "int64",
25350	//       "location": "path",
25351	//       "required": true,
25352	//       "type": "string"
25353	//     },
25354	//     "profileId": {
25355	//       "description": "User profile ID associated with this request.",
25356	//       "format": "int64",
25357	//       "location": "path",
25358	//       "required": true,
25359	//       "type": "string"
25360	//     }
25361	//   },
25362	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25363	//   "response": {
25364	//     "$ref": "CreativeFieldValue"
25365	//   },
25366	//   "scopes": [
25367	//     "https://www.googleapis.com/auth/dfatrafficking"
25368	//   ]
25369	// }
25370
25371}
25372
25373// method id "dfareporting.creativeFieldValues.insert":
25374
25375type CreativeFieldValuesInsertCall struct {
25376	s                  *Service
25377	profileId          int64
25378	creativeFieldId    int64
25379	creativefieldvalue *CreativeFieldValue
25380	urlParams_         gensupport.URLParams
25381	ctx_               context.Context
25382	header_            http.Header
25383}
25384
25385// Insert: Inserts a new creative field value.
25386//
25387// - creativeFieldId: Creative field ID for this creative field value.
25388// - profileId: User profile ID associated with this request.
25389func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
25390	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25391	c.profileId = profileId
25392	c.creativeFieldId = creativeFieldId
25393	c.creativefieldvalue = creativefieldvalue
25394	return c
25395}
25396
25397// Fields allows partial responses to be retrieved. See
25398// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25399// for more information.
25400func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
25401	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25402	return c
25403}
25404
25405// Context sets the context to be used in this call's Do method. Any
25406// pending HTTP request will be aborted if the provided context is
25407// canceled.
25408func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
25409	c.ctx_ = ctx
25410	return c
25411}
25412
25413// Header returns an http.Header that can be modified by the caller to
25414// add HTTP headers to the request.
25415func (c *CreativeFieldValuesInsertCall) Header() http.Header {
25416	if c.header_ == nil {
25417		c.header_ = make(http.Header)
25418	}
25419	return c.header_
25420}
25421
25422func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
25423	reqHeaders := make(http.Header)
25424	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25425	for k, v := range c.header_ {
25426		reqHeaders[k] = v
25427	}
25428	reqHeaders.Set("User-Agent", c.s.userAgent())
25429	var body io.Reader = nil
25430	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
25431	if err != nil {
25432		return nil, err
25433	}
25434	reqHeaders.Set("Content-Type", "application/json")
25435	c.urlParams_.Set("alt", alt)
25436	c.urlParams_.Set("prettyPrint", "false")
25437	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25438	urls += "?" + c.urlParams_.Encode()
25439	req, err := http.NewRequest("POST", urls, body)
25440	if err != nil {
25441		return nil, err
25442	}
25443	req.Header = reqHeaders
25444	googleapi.Expand(req.URL, map[string]string{
25445		"profileId":       strconv.FormatInt(c.profileId, 10),
25446		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25447	})
25448	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25449}
25450
25451// Do executes the "dfareporting.creativeFieldValues.insert" call.
25452// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25453// non-2xx status code is an error. Response headers are in either
25454// *CreativeFieldValue.ServerResponse.Header or (if a response was
25455// returned at all) in error.(*googleapi.Error).Header. Use
25456// googleapi.IsNotModified to check whether the returned error was
25457// because http.StatusNotModified was returned.
25458func (c *CreativeFieldValuesInsertCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25459	gensupport.SetOptions(c.urlParams_, opts...)
25460	res, err := c.doRequest("json")
25461	if res != nil && res.StatusCode == http.StatusNotModified {
25462		if res.Body != nil {
25463			res.Body.Close()
25464		}
25465		return nil, &googleapi.Error{
25466			Code:   res.StatusCode,
25467			Header: res.Header,
25468		}
25469	}
25470	if err != nil {
25471		return nil, err
25472	}
25473	defer googleapi.CloseBody(res)
25474	if err := googleapi.CheckResponse(res); err != nil {
25475		return nil, err
25476	}
25477	ret := &CreativeFieldValue{
25478		ServerResponse: googleapi.ServerResponse{
25479			Header:         res.Header,
25480			HTTPStatusCode: res.StatusCode,
25481		},
25482	}
25483	target := &ret
25484	if err := gensupport.DecodeResponse(target, res); err != nil {
25485		return nil, err
25486	}
25487	return ret, nil
25488	// {
25489	//   "description": "Inserts a new creative field value.",
25490	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25491	//   "httpMethod": "POST",
25492	//   "id": "dfareporting.creativeFieldValues.insert",
25493	//   "parameterOrder": [
25494	//     "profileId",
25495	//     "creativeFieldId"
25496	//   ],
25497	//   "parameters": {
25498	//     "creativeFieldId": {
25499	//       "description": "Creative field ID for this creative field value.",
25500	//       "format": "int64",
25501	//       "location": "path",
25502	//       "required": true,
25503	//       "type": "string"
25504	//     },
25505	//     "profileId": {
25506	//       "description": "User profile ID associated with this request.",
25507	//       "format": "int64",
25508	//       "location": "path",
25509	//       "required": true,
25510	//       "type": "string"
25511	//     }
25512	//   },
25513	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25514	//   "request": {
25515	//     "$ref": "CreativeFieldValue"
25516	//   },
25517	//   "response": {
25518	//     "$ref": "CreativeFieldValue"
25519	//   },
25520	//   "scopes": [
25521	//     "https://www.googleapis.com/auth/dfatrafficking"
25522	//   ]
25523	// }
25524
25525}
25526
25527// method id "dfareporting.creativeFieldValues.list":
25528
25529type CreativeFieldValuesListCall struct {
25530	s               *Service
25531	profileId       int64
25532	creativeFieldId int64
25533	urlParams_      gensupport.URLParams
25534	ifNoneMatch_    string
25535	ctx_            context.Context
25536	header_         http.Header
25537}
25538
25539// List: Retrieves a list of creative field values, possibly filtered.
25540// This method supports paging.
25541//
25542// - creativeFieldId: Creative field ID for this creative field value.
25543// - profileId: User profile ID associated with this request.
25544func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
25545	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25546	c.profileId = profileId
25547	c.creativeFieldId = creativeFieldId
25548	return c
25549}
25550
25551// Ids sets the optional parameter "ids": Select only creative field
25552// values with these IDs.
25553func (c *CreativeFieldValuesListCall) Ids(ids ...int64) *CreativeFieldValuesListCall {
25554	var ids_ []string
25555	for _, v := range ids {
25556		ids_ = append(ids_, fmt.Sprint(v))
25557	}
25558	c.urlParams_.SetMulti("ids", ids_)
25559	return c
25560}
25561
25562// MaxResults sets the optional parameter "maxResults": Maximum number
25563// of results to return.
25564func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
25565	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
25566	return c
25567}
25568
25569// PageToken sets the optional parameter "pageToken": Value of the
25570// nextPageToken from the previous result page.
25571func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
25572	c.urlParams_.Set("pageToken", pageToken)
25573	return c
25574}
25575
25576// SearchString sets the optional parameter "searchString": Allows
25577// searching for creative field values by their values. Wildcards (e.g.
25578// *) are not allowed.
25579func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
25580	c.urlParams_.Set("searchString", searchString)
25581	return c
25582}
25583
25584// SortField sets the optional parameter "sortField": Field by which to
25585// sort the list.
25586//
25587// Possible values:
25588//   "ID" (default)
25589//   "VALUE"
25590func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
25591	c.urlParams_.Set("sortField", sortField)
25592	return c
25593}
25594
25595// SortOrder sets the optional parameter "sortOrder": Order of sorted
25596// results.
25597//
25598// Possible values:
25599//   "ASCENDING" (default)
25600//   "DESCENDING"
25601func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
25602	c.urlParams_.Set("sortOrder", sortOrder)
25603	return c
25604}
25605
25606// Fields allows partial responses to be retrieved. See
25607// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25608// for more information.
25609func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
25610	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25611	return c
25612}
25613
25614// IfNoneMatch sets the optional parameter which makes the operation
25615// fail if the object's ETag matches the given value. This is useful for
25616// getting updates only after the object has changed since the last
25617// request. Use googleapi.IsNotModified to check whether the response
25618// error from Do is the result of In-None-Match.
25619func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
25620	c.ifNoneMatch_ = entityTag
25621	return c
25622}
25623
25624// Context sets the context to be used in this call's Do method. Any
25625// pending HTTP request will be aborted if the provided context is
25626// canceled.
25627func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
25628	c.ctx_ = ctx
25629	return c
25630}
25631
25632// Header returns an http.Header that can be modified by the caller to
25633// add HTTP headers to the request.
25634func (c *CreativeFieldValuesListCall) Header() http.Header {
25635	if c.header_ == nil {
25636		c.header_ = make(http.Header)
25637	}
25638	return c.header_
25639}
25640
25641func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
25642	reqHeaders := make(http.Header)
25643	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25644	for k, v := range c.header_ {
25645		reqHeaders[k] = v
25646	}
25647	reqHeaders.Set("User-Agent", c.s.userAgent())
25648	if c.ifNoneMatch_ != "" {
25649		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25650	}
25651	var body io.Reader = nil
25652	c.urlParams_.Set("alt", alt)
25653	c.urlParams_.Set("prettyPrint", "false")
25654	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25655	urls += "?" + c.urlParams_.Encode()
25656	req, err := http.NewRequest("GET", urls, body)
25657	if err != nil {
25658		return nil, err
25659	}
25660	req.Header = reqHeaders
25661	googleapi.Expand(req.URL, map[string]string{
25662		"profileId":       strconv.FormatInt(c.profileId, 10),
25663		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25664	})
25665	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25666}
25667
25668// Do executes the "dfareporting.creativeFieldValues.list" call.
25669// Exactly one of *CreativeFieldValuesListResponse or error will be
25670// non-nil. Any non-2xx status code is an error. Response headers are in
25671// either *CreativeFieldValuesListResponse.ServerResponse.Header or (if
25672// a response was returned at all) in error.(*googleapi.Error).Header.
25673// Use googleapi.IsNotModified to check whether the returned error was
25674// because http.StatusNotModified was returned.
25675func (c *CreativeFieldValuesListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValuesListResponse, error) {
25676	gensupport.SetOptions(c.urlParams_, opts...)
25677	res, err := c.doRequest("json")
25678	if res != nil && res.StatusCode == http.StatusNotModified {
25679		if res.Body != nil {
25680			res.Body.Close()
25681		}
25682		return nil, &googleapi.Error{
25683			Code:   res.StatusCode,
25684			Header: res.Header,
25685		}
25686	}
25687	if err != nil {
25688		return nil, err
25689	}
25690	defer googleapi.CloseBody(res)
25691	if err := googleapi.CheckResponse(res); err != nil {
25692		return nil, err
25693	}
25694	ret := &CreativeFieldValuesListResponse{
25695		ServerResponse: googleapi.ServerResponse{
25696			Header:         res.Header,
25697			HTTPStatusCode: res.StatusCode,
25698		},
25699	}
25700	target := &ret
25701	if err := gensupport.DecodeResponse(target, res); err != nil {
25702		return nil, err
25703	}
25704	return ret, nil
25705	// {
25706	//   "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
25707	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25708	//   "httpMethod": "GET",
25709	//   "id": "dfareporting.creativeFieldValues.list",
25710	//   "parameterOrder": [
25711	//     "profileId",
25712	//     "creativeFieldId"
25713	//   ],
25714	//   "parameters": {
25715	//     "creativeFieldId": {
25716	//       "description": "Creative field ID for this creative field value.",
25717	//       "format": "int64",
25718	//       "location": "path",
25719	//       "required": true,
25720	//       "type": "string"
25721	//     },
25722	//     "ids": {
25723	//       "description": "Select only creative field values with these IDs.",
25724	//       "format": "int64",
25725	//       "location": "query",
25726	//       "repeated": true,
25727	//       "type": "string"
25728	//     },
25729	//     "maxResults": {
25730	//       "default": "1000",
25731	//       "description": "Maximum number of results to return.",
25732	//       "format": "int32",
25733	//       "location": "query",
25734	//       "maximum": "1000",
25735	//       "minimum": "0",
25736	//       "type": "integer"
25737	//     },
25738	//     "pageToken": {
25739	//       "description": "Value of the nextPageToken from the previous result page.",
25740	//       "location": "query",
25741	//       "type": "string"
25742	//     },
25743	//     "profileId": {
25744	//       "description": "User profile ID associated with this request.",
25745	//       "format": "int64",
25746	//       "location": "path",
25747	//       "required": true,
25748	//       "type": "string"
25749	//     },
25750	//     "searchString": {
25751	//       "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.",
25752	//       "location": "query",
25753	//       "type": "string"
25754	//     },
25755	//     "sortField": {
25756	//       "default": "ID",
25757	//       "description": "Field by which to sort the list.",
25758	//       "enum": [
25759	//         "ID",
25760	//         "VALUE"
25761	//       ],
25762	//       "enumDescriptions": [
25763	//         "",
25764	//         ""
25765	//       ],
25766	//       "location": "query",
25767	//       "type": "string"
25768	//     },
25769	//     "sortOrder": {
25770	//       "default": "ASCENDING",
25771	//       "description": "Order of sorted results.",
25772	//       "enum": [
25773	//         "ASCENDING",
25774	//         "DESCENDING"
25775	//       ],
25776	//       "enumDescriptions": [
25777	//         "",
25778	//         ""
25779	//       ],
25780	//       "location": "query",
25781	//       "type": "string"
25782	//     }
25783	//   },
25784	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25785	//   "response": {
25786	//     "$ref": "CreativeFieldValuesListResponse"
25787	//   },
25788	//   "scopes": [
25789	//     "https://www.googleapis.com/auth/dfatrafficking"
25790	//   ]
25791	// }
25792
25793}
25794
25795// Pages invokes f for each page of results.
25796// A non-nil error returned from f will halt the iteration.
25797// The provided context supersedes any context provided to the Context method.
25798func (c *CreativeFieldValuesListCall) Pages(ctx context.Context, f func(*CreativeFieldValuesListResponse) error) error {
25799	c.ctx_ = ctx
25800	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
25801	for {
25802		x, err := c.Do()
25803		if err != nil {
25804			return err
25805		}
25806		if err := f(x); err != nil {
25807			return err
25808		}
25809		if x.NextPageToken == "" {
25810			return nil
25811		}
25812		c.PageToken(x.NextPageToken)
25813	}
25814}
25815
25816// method id "dfareporting.creativeFieldValues.patch":
25817
25818type CreativeFieldValuesPatchCall struct {
25819	s                  *Service
25820	profileId          int64
25821	creativeFieldId    int64
25822	creativefieldvalue *CreativeFieldValue
25823	urlParams_         gensupport.URLParams
25824	ctx_               context.Context
25825	header_            http.Header
25826}
25827
25828// Patch: Updates an existing creative field value. This method supports
25829// patch semantics.
25830//
25831// - creativeFieldId: CreativeField ID.
25832// - id: CreativeFieldValue ID.
25833// - profileId: User profile ID associated with this request.
25834func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
25835	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25836	c.profileId = profileId
25837	c.creativeFieldId = creativeFieldId
25838	c.urlParams_.Set("id", fmt.Sprint(id))
25839	c.creativefieldvalue = creativefieldvalue
25840	return c
25841}
25842
25843// Fields allows partial responses to be retrieved. See
25844// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25845// for more information.
25846func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
25847	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25848	return c
25849}
25850
25851// Context sets the context to be used in this call's Do method. Any
25852// pending HTTP request will be aborted if the provided context is
25853// canceled.
25854func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
25855	c.ctx_ = ctx
25856	return c
25857}
25858
25859// Header returns an http.Header that can be modified by the caller to
25860// add HTTP headers to the request.
25861func (c *CreativeFieldValuesPatchCall) Header() http.Header {
25862	if c.header_ == nil {
25863		c.header_ = make(http.Header)
25864	}
25865	return c.header_
25866}
25867
25868func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
25869	reqHeaders := make(http.Header)
25870	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25871	for k, v := range c.header_ {
25872		reqHeaders[k] = v
25873	}
25874	reqHeaders.Set("User-Agent", c.s.userAgent())
25875	var body io.Reader = nil
25876	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
25877	if err != nil {
25878		return nil, err
25879	}
25880	reqHeaders.Set("Content-Type", "application/json")
25881	c.urlParams_.Set("alt", alt)
25882	c.urlParams_.Set("prettyPrint", "false")
25883	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25884	urls += "?" + c.urlParams_.Encode()
25885	req, err := http.NewRequest("PATCH", urls, body)
25886	if err != nil {
25887		return nil, err
25888	}
25889	req.Header = reqHeaders
25890	googleapi.Expand(req.URL, map[string]string{
25891		"profileId":       strconv.FormatInt(c.profileId, 10),
25892		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25893	})
25894	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25895}
25896
25897// Do executes the "dfareporting.creativeFieldValues.patch" call.
25898// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25899// non-2xx status code is an error. Response headers are in either
25900// *CreativeFieldValue.ServerResponse.Header or (if a response was
25901// returned at all) in error.(*googleapi.Error).Header. Use
25902// googleapi.IsNotModified to check whether the returned error was
25903// because http.StatusNotModified was returned.
25904func (c *CreativeFieldValuesPatchCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25905	gensupport.SetOptions(c.urlParams_, opts...)
25906	res, err := c.doRequest("json")
25907	if res != nil && res.StatusCode == http.StatusNotModified {
25908		if res.Body != nil {
25909			res.Body.Close()
25910		}
25911		return nil, &googleapi.Error{
25912			Code:   res.StatusCode,
25913			Header: res.Header,
25914		}
25915	}
25916	if err != nil {
25917		return nil, err
25918	}
25919	defer googleapi.CloseBody(res)
25920	if err := googleapi.CheckResponse(res); err != nil {
25921		return nil, err
25922	}
25923	ret := &CreativeFieldValue{
25924		ServerResponse: googleapi.ServerResponse{
25925			Header:         res.Header,
25926			HTTPStatusCode: res.StatusCode,
25927		},
25928	}
25929	target := &ret
25930	if err := gensupport.DecodeResponse(target, res); err != nil {
25931		return nil, err
25932	}
25933	return ret, nil
25934	// {
25935	//   "description": "Updates an existing creative field value. This method supports patch semantics.",
25936	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25937	//   "httpMethod": "PATCH",
25938	//   "id": "dfareporting.creativeFieldValues.patch",
25939	//   "parameterOrder": [
25940	//     "profileId",
25941	//     "creativeFieldId",
25942	//     "id"
25943	//   ],
25944	//   "parameters": {
25945	//     "creativeFieldId": {
25946	//       "description": "CreativeField ID.",
25947	//       "format": "int64",
25948	//       "location": "path",
25949	//       "required": true,
25950	//       "type": "string"
25951	//     },
25952	//     "id": {
25953	//       "description": "CreativeFieldValue ID.",
25954	//       "format": "int64",
25955	//       "location": "query",
25956	//       "required": true,
25957	//       "type": "string"
25958	//     },
25959	//     "profileId": {
25960	//       "description": "User profile ID associated with this request.",
25961	//       "format": "int64",
25962	//       "location": "path",
25963	//       "required": true,
25964	//       "type": "string"
25965	//     }
25966	//   },
25967	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25968	//   "request": {
25969	//     "$ref": "CreativeFieldValue"
25970	//   },
25971	//   "response": {
25972	//     "$ref": "CreativeFieldValue"
25973	//   },
25974	//   "scopes": [
25975	//     "https://www.googleapis.com/auth/dfatrafficking"
25976	//   ]
25977	// }
25978
25979}
25980
25981// method id "dfareporting.creativeFieldValues.update":
25982
25983type CreativeFieldValuesUpdateCall struct {
25984	s                  *Service
25985	profileId          int64
25986	creativeFieldId    int64
25987	creativefieldvalue *CreativeFieldValue
25988	urlParams_         gensupport.URLParams
25989	ctx_               context.Context
25990	header_            http.Header
25991}
25992
25993// Update: Updates an existing creative field value.
25994//
25995// - creativeFieldId: Creative field ID for this creative field value.
25996// - profileId: User profile ID associated with this request.
25997func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
25998	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25999	c.profileId = profileId
26000	c.creativeFieldId = creativeFieldId
26001	c.creativefieldvalue = creativefieldvalue
26002	return c
26003}
26004
26005// Fields allows partial responses to be retrieved. See
26006// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26007// for more information.
26008func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
26009	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26010	return c
26011}
26012
26013// Context sets the context to be used in this call's Do method. Any
26014// pending HTTP request will be aborted if the provided context is
26015// canceled.
26016func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
26017	c.ctx_ = ctx
26018	return c
26019}
26020
26021// Header returns an http.Header that can be modified by the caller to
26022// add HTTP headers to the request.
26023func (c *CreativeFieldValuesUpdateCall) Header() http.Header {
26024	if c.header_ == nil {
26025		c.header_ = make(http.Header)
26026	}
26027	return c.header_
26028}
26029
26030func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
26031	reqHeaders := make(http.Header)
26032	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26033	for k, v := range c.header_ {
26034		reqHeaders[k] = v
26035	}
26036	reqHeaders.Set("User-Agent", c.s.userAgent())
26037	var body io.Reader = nil
26038	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
26039	if err != nil {
26040		return nil, err
26041	}
26042	reqHeaders.Set("Content-Type", "application/json")
26043	c.urlParams_.Set("alt", alt)
26044	c.urlParams_.Set("prettyPrint", "false")
26045	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
26046	urls += "?" + c.urlParams_.Encode()
26047	req, err := http.NewRequest("PUT", urls, body)
26048	if err != nil {
26049		return nil, err
26050	}
26051	req.Header = reqHeaders
26052	googleapi.Expand(req.URL, map[string]string{
26053		"profileId":       strconv.FormatInt(c.profileId, 10),
26054		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
26055	})
26056	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26057}
26058
26059// Do executes the "dfareporting.creativeFieldValues.update" call.
26060// Exactly one of *CreativeFieldValue or error will be non-nil. Any
26061// non-2xx status code is an error. Response headers are in either
26062// *CreativeFieldValue.ServerResponse.Header or (if a response was
26063// returned at all) in error.(*googleapi.Error).Header. Use
26064// googleapi.IsNotModified to check whether the returned error was
26065// because http.StatusNotModified was returned.
26066func (c *CreativeFieldValuesUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
26067	gensupport.SetOptions(c.urlParams_, opts...)
26068	res, err := c.doRequest("json")
26069	if res != nil && res.StatusCode == http.StatusNotModified {
26070		if res.Body != nil {
26071			res.Body.Close()
26072		}
26073		return nil, &googleapi.Error{
26074			Code:   res.StatusCode,
26075			Header: res.Header,
26076		}
26077	}
26078	if err != nil {
26079		return nil, err
26080	}
26081	defer googleapi.CloseBody(res)
26082	if err := googleapi.CheckResponse(res); err != nil {
26083		return nil, err
26084	}
26085	ret := &CreativeFieldValue{
26086		ServerResponse: googleapi.ServerResponse{
26087			Header:         res.Header,
26088			HTTPStatusCode: res.StatusCode,
26089		},
26090	}
26091	target := &ret
26092	if err := gensupport.DecodeResponse(target, res); err != nil {
26093		return nil, err
26094	}
26095	return ret, nil
26096	// {
26097	//   "description": "Updates an existing creative field value.",
26098	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
26099	//   "httpMethod": "PUT",
26100	//   "id": "dfareporting.creativeFieldValues.update",
26101	//   "parameterOrder": [
26102	//     "profileId",
26103	//     "creativeFieldId"
26104	//   ],
26105	//   "parameters": {
26106	//     "creativeFieldId": {
26107	//       "description": "Creative field ID for this creative field value.",
26108	//       "format": "int64",
26109	//       "location": "path",
26110	//       "required": true,
26111	//       "type": "string"
26112	//     },
26113	//     "profileId": {
26114	//       "description": "User profile ID associated with this request.",
26115	//       "format": "int64",
26116	//       "location": "path",
26117	//       "required": true,
26118	//       "type": "string"
26119	//     }
26120	//   },
26121	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
26122	//   "request": {
26123	//     "$ref": "CreativeFieldValue"
26124	//   },
26125	//   "response": {
26126	//     "$ref": "CreativeFieldValue"
26127	//   },
26128	//   "scopes": [
26129	//     "https://www.googleapis.com/auth/dfatrafficking"
26130	//   ]
26131	// }
26132
26133}
26134
26135// method id "dfareporting.creativeFields.delete":
26136
26137type CreativeFieldsDeleteCall struct {
26138	s          *Service
26139	profileId  int64
26140	id         int64
26141	urlParams_ gensupport.URLParams
26142	ctx_       context.Context
26143	header_    http.Header
26144}
26145
26146// Delete: Deletes an existing creative field.
26147//
26148// - id: Creative Field ID.
26149// - profileId: User profile ID associated with this request.
26150func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
26151	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26152	c.profileId = profileId
26153	c.id = id
26154	return c
26155}
26156
26157// Fields allows partial responses to be retrieved. See
26158// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26159// for more information.
26160func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
26161	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26162	return c
26163}
26164
26165// Context sets the context to be used in this call's Do method. Any
26166// pending HTTP request will be aborted if the provided context is
26167// canceled.
26168func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
26169	c.ctx_ = ctx
26170	return c
26171}
26172
26173// Header returns an http.Header that can be modified by the caller to
26174// add HTTP headers to the request.
26175func (c *CreativeFieldsDeleteCall) Header() http.Header {
26176	if c.header_ == nil {
26177		c.header_ = make(http.Header)
26178	}
26179	return c.header_
26180}
26181
26182func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
26183	reqHeaders := make(http.Header)
26184	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26185	for k, v := range c.header_ {
26186		reqHeaders[k] = v
26187	}
26188	reqHeaders.Set("User-Agent", c.s.userAgent())
26189	var body io.Reader = nil
26190	c.urlParams_.Set("alt", alt)
26191	c.urlParams_.Set("prettyPrint", "false")
26192	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
26193	urls += "?" + c.urlParams_.Encode()
26194	req, err := http.NewRequest("DELETE", urls, body)
26195	if err != nil {
26196		return nil, err
26197	}
26198	req.Header = reqHeaders
26199	googleapi.Expand(req.URL, map[string]string{
26200		"profileId": strconv.FormatInt(c.profileId, 10),
26201		"id":        strconv.FormatInt(c.id, 10),
26202	})
26203	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26204}
26205
26206// Do executes the "dfareporting.creativeFields.delete" call.
26207func (c *CreativeFieldsDeleteCall) Do(opts ...googleapi.CallOption) error {
26208	gensupport.SetOptions(c.urlParams_, opts...)
26209	res, err := c.doRequest("json")
26210	if err != nil {
26211		return err
26212	}
26213	defer googleapi.CloseBody(res)
26214	if err := googleapi.CheckResponse(res); err != nil {
26215		return err
26216	}
26217	return nil
26218	// {
26219	//   "description": "Deletes an existing creative field.",
26220	//   "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
26221	//   "httpMethod": "DELETE",
26222	//   "id": "dfareporting.creativeFields.delete",
26223	//   "parameterOrder": [
26224	//     "profileId",
26225	//     "id"
26226	//   ],
26227	//   "parameters": {
26228	//     "id": {
26229	//       "description": "Creative Field ID",
26230	//       "format": "int64",
26231	//       "location": "path",
26232	//       "required": true,
26233	//       "type": "string"
26234	//     },
26235	//     "profileId": {
26236	//       "description": "User profile ID associated with this request.",
26237	//       "format": "int64",
26238	//       "location": "path",
26239	//       "required": true,
26240	//       "type": "string"
26241	//     }
26242	//   },
26243	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
26244	//   "scopes": [
26245	//     "https://www.googleapis.com/auth/dfatrafficking"
26246	//   ]
26247	// }
26248
26249}
26250
26251// method id "dfareporting.creativeFields.get":
26252
26253type CreativeFieldsGetCall struct {
26254	s            *Service
26255	profileId    int64
26256	id           int64
26257	urlParams_   gensupport.URLParams
26258	ifNoneMatch_ string
26259	ctx_         context.Context
26260	header_      http.Header
26261}
26262
26263// Get: Gets one creative field by ID.
26264//
26265// - id: Creative Field ID.
26266// - profileId: User profile ID associated with this request.
26267func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
26268	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26269	c.profileId = profileId
26270	c.id = id
26271	return c
26272}
26273
26274// Fields allows partial responses to be retrieved. See
26275// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26276// for more information.
26277func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
26278	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26279	return c
26280}
26281
26282// IfNoneMatch sets the optional parameter which makes the operation
26283// fail if the object's ETag matches the given value. This is useful for
26284// getting updates only after the object has changed since the last
26285// request. Use googleapi.IsNotModified to check whether the response
26286// error from Do is the result of In-None-Match.
26287func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
26288	c.ifNoneMatch_ = entityTag
26289	return c
26290}
26291
26292// Context sets the context to be used in this call's Do method. Any
26293// pending HTTP request will be aborted if the provided context is
26294// canceled.
26295func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
26296	c.ctx_ = ctx
26297	return c
26298}
26299
26300// Header returns an http.Header that can be modified by the caller to
26301// add HTTP headers to the request.
26302func (c *CreativeFieldsGetCall) Header() http.Header {
26303	if c.header_ == nil {
26304		c.header_ = make(http.Header)
26305	}
26306	return c.header_
26307}
26308
26309func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
26310	reqHeaders := make(http.Header)
26311	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26312	for k, v := range c.header_ {
26313		reqHeaders[k] = v
26314	}
26315	reqHeaders.Set("User-Agent", c.s.userAgent())
26316	if c.ifNoneMatch_ != "" {
26317		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26318	}
26319	var body io.Reader = nil
26320	c.urlParams_.Set("alt", alt)
26321	c.urlParams_.Set("prettyPrint", "false")
26322	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
26323	urls += "?" + c.urlParams_.Encode()
26324	req, err := http.NewRequest("GET", urls, body)
26325	if err != nil {
26326		return nil, err
26327	}
26328	req.Header = reqHeaders
26329	googleapi.Expand(req.URL, map[string]string{
26330		"profileId": strconv.FormatInt(c.profileId, 10),
26331		"id":        strconv.FormatInt(c.id, 10),
26332	})
26333	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26334}
26335
26336// Do executes the "dfareporting.creativeFields.get" call.
26337// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26338// status code is an error. Response headers are in either
26339// *CreativeField.ServerResponse.Header or (if a response was returned
26340// at all) in error.(*googleapi.Error).Header. Use
26341// googleapi.IsNotModified to check whether the returned error was
26342// because http.StatusNotModified was returned.
26343func (c *CreativeFieldsGetCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26344	gensupport.SetOptions(c.urlParams_, opts...)
26345	res, err := c.doRequest("json")
26346	if res != nil && res.StatusCode == http.StatusNotModified {
26347		if res.Body != nil {
26348			res.Body.Close()
26349		}
26350		return nil, &googleapi.Error{
26351			Code:   res.StatusCode,
26352			Header: res.Header,
26353		}
26354	}
26355	if err != nil {
26356		return nil, err
26357	}
26358	defer googleapi.CloseBody(res)
26359	if err := googleapi.CheckResponse(res); err != nil {
26360		return nil, err
26361	}
26362	ret := &CreativeField{
26363		ServerResponse: googleapi.ServerResponse{
26364			Header:         res.Header,
26365			HTTPStatusCode: res.StatusCode,
26366		},
26367	}
26368	target := &ret
26369	if err := gensupport.DecodeResponse(target, res); err != nil {
26370		return nil, err
26371	}
26372	return ret, nil
26373	// {
26374	//   "description": "Gets one creative field by ID.",
26375	//   "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
26376	//   "httpMethod": "GET",
26377	//   "id": "dfareporting.creativeFields.get",
26378	//   "parameterOrder": [
26379	//     "profileId",
26380	//     "id"
26381	//   ],
26382	//   "parameters": {
26383	//     "id": {
26384	//       "description": "Creative Field ID",
26385	//       "format": "int64",
26386	//       "location": "path",
26387	//       "required": true,
26388	//       "type": "string"
26389	//     },
26390	//     "profileId": {
26391	//       "description": "User profile ID associated with this request.",
26392	//       "format": "int64",
26393	//       "location": "path",
26394	//       "required": true,
26395	//       "type": "string"
26396	//     }
26397	//   },
26398	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
26399	//   "response": {
26400	//     "$ref": "CreativeField"
26401	//   },
26402	//   "scopes": [
26403	//     "https://www.googleapis.com/auth/dfatrafficking"
26404	//   ]
26405	// }
26406
26407}
26408
26409// method id "dfareporting.creativeFields.insert":
26410
26411type CreativeFieldsInsertCall struct {
26412	s             *Service
26413	profileId     int64
26414	creativefield *CreativeField
26415	urlParams_    gensupport.URLParams
26416	ctx_          context.Context
26417	header_       http.Header
26418}
26419
26420// Insert: Inserts a new creative field.
26421//
26422// - profileId: User profile ID associated with this request.
26423func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
26424	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26425	c.profileId = profileId
26426	c.creativefield = creativefield
26427	return c
26428}
26429
26430// Fields allows partial responses to be retrieved. See
26431// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26432// for more information.
26433func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
26434	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26435	return c
26436}
26437
26438// Context sets the context to be used in this call's Do method. Any
26439// pending HTTP request will be aborted if the provided context is
26440// canceled.
26441func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
26442	c.ctx_ = ctx
26443	return c
26444}
26445
26446// Header returns an http.Header that can be modified by the caller to
26447// add HTTP headers to the request.
26448func (c *CreativeFieldsInsertCall) Header() http.Header {
26449	if c.header_ == nil {
26450		c.header_ = make(http.Header)
26451	}
26452	return c.header_
26453}
26454
26455func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
26456	reqHeaders := make(http.Header)
26457	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26458	for k, v := range c.header_ {
26459		reqHeaders[k] = v
26460	}
26461	reqHeaders.Set("User-Agent", c.s.userAgent())
26462	var body io.Reader = nil
26463	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
26464	if err != nil {
26465		return nil, err
26466	}
26467	reqHeaders.Set("Content-Type", "application/json")
26468	c.urlParams_.Set("alt", alt)
26469	c.urlParams_.Set("prettyPrint", "false")
26470	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26471	urls += "?" + c.urlParams_.Encode()
26472	req, err := http.NewRequest("POST", urls, body)
26473	if err != nil {
26474		return nil, err
26475	}
26476	req.Header = reqHeaders
26477	googleapi.Expand(req.URL, map[string]string{
26478		"profileId": strconv.FormatInt(c.profileId, 10),
26479	})
26480	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26481}
26482
26483// Do executes the "dfareporting.creativeFields.insert" call.
26484// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26485// status code is an error. Response headers are in either
26486// *CreativeField.ServerResponse.Header or (if a response was returned
26487// at all) in error.(*googleapi.Error).Header. Use
26488// googleapi.IsNotModified to check whether the returned error was
26489// because http.StatusNotModified was returned.
26490func (c *CreativeFieldsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26491	gensupport.SetOptions(c.urlParams_, opts...)
26492	res, err := c.doRequest("json")
26493	if res != nil && res.StatusCode == http.StatusNotModified {
26494		if res.Body != nil {
26495			res.Body.Close()
26496		}
26497		return nil, &googleapi.Error{
26498			Code:   res.StatusCode,
26499			Header: res.Header,
26500		}
26501	}
26502	if err != nil {
26503		return nil, err
26504	}
26505	defer googleapi.CloseBody(res)
26506	if err := googleapi.CheckResponse(res); err != nil {
26507		return nil, err
26508	}
26509	ret := &CreativeField{
26510		ServerResponse: googleapi.ServerResponse{
26511			Header:         res.Header,
26512			HTTPStatusCode: res.StatusCode,
26513		},
26514	}
26515	target := &ret
26516	if err := gensupport.DecodeResponse(target, res); err != nil {
26517		return nil, err
26518	}
26519	return ret, nil
26520	// {
26521	//   "description": "Inserts a new creative field.",
26522	//   "flatPath": "userprofiles/{profileId}/creativeFields",
26523	//   "httpMethod": "POST",
26524	//   "id": "dfareporting.creativeFields.insert",
26525	//   "parameterOrder": [
26526	//     "profileId"
26527	//   ],
26528	//   "parameters": {
26529	//     "profileId": {
26530	//       "description": "User profile ID associated with this request.",
26531	//       "format": "int64",
26532	//       "location": "path",
26533	//       "required": true,
26534	//       "type": "string"
26535	//     }
26536	//   },
26537	//   "path": "userprofiles/{profileId}/creativeFields",
26538	//   "request": {
26539	//     "$ref": "CreativeField"
26540	//   },
26541	//   "response": {
26542	//     "$ref": "CreativeField"
26543	//   },
26544	//   "scopes": [
26545	//     "https://www.googleapis.com/auth/dfatrafficking"
26546	//   ]
26547	// }
26548
26549}
26550
26551// method id "dfareporting.creativeFields.list":
26552
26553type CreativeFieldsListCall struct {
26554	s            *Service
26555	profileId    int64
26556	urlParams_   gensupport.URLParams
26557	ifNoneMatch_ string
26558	ctx_         context.Context
26559	header_      http.Header
26560}
26561
26562// List: Retrieves a list of creative fields, possibly filtered. This
26563// method supports paging.
26564//
26565// - profileId: User profile ID associated with this request.
26566func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
26567	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26568	c.profileId = profileId
26569	return c
26570}
26571
26572// AdvertiserIds sets the optional parameter "advertiserIds": Select
26573// only creative fields that belong to these advertisers.
26574func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeFieldsListCall {
26575	var advertiserIds_ []string
26576	for _, v := range advertiserIds {
26577		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
26578	}
26579	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
26580	return c
26581}
26582
26583// Ids sets the optional parameter "ids": Select only creative fields
26584// with these IDs.
26585func (c *CreativeFieldsListCall) Ids(ids ...int64) *CreativeFieldsListCall {
26586	var ids_ []string
26587	for _, v := range ids {
26588		ids_ = append(ids_, fmt.Sprint(v))
26589	}
26590	c.urlParams_.SetMulti("ids", ids_)
26591	return c
26592}
26593
26594// MaxResults sets the optional parameter "maxResults": Maximum number
26595// of results to return.
26596func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
26597	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
26598	return c
26599}
26600
26601// PageToken sets the optional parameter "pageToken": Value of the
26602// nextPageToken from the previous result page.
26603func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
26604	c.urlParams_.Set("pageToken", pageToken)
26605	return c
26606}
26607
26608// SearchString sets the optional parameter "searchString": Allows
26609// searching for creative fields by name or ID. Wildcards (*) are
26610// allowed. For example, "creativefield*2015" will return creative
26611// fields with names like "creativefield June 2015", "creativefield
26612// April 2015", or simply "creativefield 2015". Most of the searches
26613// also add wild-cards implicitly at the start and the end of the search
26614// string. For example, a search string of "creativefield" will match
26615// creative fields with the name "my creativefield", "creativefield
26616// 2015", or simply "creativefield".
26617func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
26618	c.urlParams_.Set("searchString", searchString)
26619	return c
26620}
26621
26622// SortField sets the optional parameter "sortField": Field by which to
26623// sort the list.
26624//
26625// Possible values:
26626//   "ID" (default)
26627//   "NAME"
26628func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
26629	c.urlParams_.Set("sortField", sortField)
26630	return c
26631}
26632
26633// SortOrder sets the optional parameter "sortOrder": Order of sorted
26634// results.
26635//
26636// Possible values:
26637//   "ASCENDING" (default)
26638//   "DESCENDING"
26639func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
26640	c.urlParams_.Set("sortOrder", sortOrder)
26641	return c
26642}
26643
26644// Fields allows partial responses to be retrieved. See
26645// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26646// for more information.
26647func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
26648	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26649	return c
26650}
26651
26652// IfNoneMatch sets the optional parameter which makes the operation
26653// fail if the object's ETag matches the given value. This is useful for
26654// getting updates only after the object has changed since the last
26655// request. Use googleapi.IsNotModified to check whether the response
26656// error from Do is the result of In-None-Match.
26657func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
26658	c.ifNoneMatch_ = entityTag
26659	return c
26660}
26661
26662// Context sets the context to be used in this call's Do method. Any
26663// pending HTTP request will be aborted if the provided context is
26664// canceled.
26665func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
26666	c.ctx_ = ctx
26667	return c
26668}
26669
26670// Header returns an http.Header that can be modified by the caller to
26671// add HTTP headers to the request.
26672func (c *CreativeFieldsListCall) Header() http.Header {
26673	if c.header_ == nil {
26674		c.header_ = make(http.Header)
26675	}
26676	return c.header_
26677}
26678
26679func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
26680	reqHeaders := make(http.Header)
26681	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26682	for k, v := range c.header_ {
26683		reqHeaders[k] = v
26684	}
26685	reqHeaders.Set("User-Agent", c.s.userAgent())
26686	if c.ifNoneMatch_ != "" {
26687		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26688	}
26689	var body io.Reader = nil
26690	c.urlParams_.Set("alt", alt)
26691	c.urlParams_.Set("prettyPrint", "false")
26692	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26693	urls += "?" + c.urlParams_.Encode()
26694	req, err := http.NewRequest("GET", urls, body)
26695	if err != nil {
26696		return nil, err
26697	}
26698	req.Header = reqHeaders
26699	googleapi.Expand(req.URL, map[string]string{
26700		"profileId": strconv.FormatInt(c.profileId, 10),
26701	})
26702	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26703}
26704
26705// Do executes the "dfareporting.creativeFields.list" call.
26706// Exactly one of *CreativeFieldsListResponse or error will be non-nil.
26707// Any non-2xx status code is an error. Response headers are in either
26708// *CreativeFieldsListResponse.ServerResponse.Header or (if a response
26709// was returned at all) in error.(*googleapi.Error).Header. Use
26710// googleapi.IsNotModified to check whether the returned error was
26711// because http.StatusNotModified was returned.
26712func (c *CreativeFieldsListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldsListResponse, error) {
26713	gensupport.SetOptions(c.urlParams_, opts...)
26714	res, err := c.doRequest("json")
26715	if res != nil && res.StatusCode == http.StatusNotModified {
26716		if res.Body != nil {
26717			res.Body.Close()
26718		}
26719		return nil, &googleapi.Error{
26720			Code:   res.StatusCode,
26721			Header: res.Header,
26722		}
26723	}
26724	if err != nil {
26725		return nil, err
26726	}
26727	defer googleapi.CloseBody(res)
26728	if err := googleapi.CheckResponse(res); err != nil {
26729		return nil, err
26730	}
26731	ret := &CreativeFieldsListResponse{
26732		ServerResponse: googleapi.ServerResponse{
26733			Header:         res.Header,
26734			HTTPStatusCode: res.StatusCode,
26735		},
26736	}
26737	target := &ret
26738	if err := gensupport.DecodeResponse(target, res); err != nil {
26739		return nil, err
26740	}
26741	return ret, nil
26742	// {
26743	//   "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
26744	//   "flatPath": "userprofiles/{profileId}/creativeFields",
26745	//   "httpMethod": "GET",
26746	//   "id": "dfareporting.creativeFields.list",
26747	//   "parameterOrder": [
26748	//     "profileId"
26749	//   ],
26750	//   "parameters": {
26751	//     "advertiserIds": {
26752	//       "description": "Select only creative fields that belong to these advertisers.",
26753	//       "format": "int64",
26754	//       "location": "query",
26755	//       "repeated": true,
26756	//       "type": "string"
26757	//     },
26758	//     "ids": {
26759	//       "description": "Select only creative fields with these IDs.",
26760	//       "format": "int64",
26761	//       "location": "query",
26762	//       "repeated": true,
26763	//       "type": "string"
26764	//     },
26765	//     "maxResults": {
26766	//       "default": "1000",
26767	//       "description": "Maximum number of results to return.",
26768	//       "format": "int32",
26769	//       "location": "query",
26770	//       "maximum": "1000",
26771	//       "minimum": "0",
26772	//       "type": "integer"
26773	//     },
26774	//     "pageToken": {
26775	//       "description": "Value of the nextPageToken from the previous result page.",
26776	//       "location": "query",
26777	//       "type": "string"
26778	//     },
26779	//     "profileId": {
26780	//       "description": "User profile ID associated with this request.",
26781	//       "format": "int64",
26782	//       "location": "path",
26783	//       "required": true,
26784	//       "type": "string"
26785	//     },
26786	//     "searchString": {
26787	//       "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\".",
26788	//       "location": "query",
26789	//       "type": "string"
26790	//     },
26791	//     "sortField": {
26792	//       "default": "ID",
26793	//       "description": "Field by which to sort the list.",
26794	//       "enum": [
26795	//         "ID",
26796	//         "NAME"
26797	//       ],
26798	//       "enumDescriptions": [
26799	//         "",
26800	//         ""
26801	//       ],
26802	//       "location": "query",
26803	//       "type": "string"
26804	//     },
26805	//     "sortOrder": {
26806	//       "default": "ASCENDING",
26807	//       "description": "Order of sorted results.",
26808	//       "enum": [
26809	//         "ASCENDING",
26810	//         "DESCENDING"
26811	//       ],
26812	//       "enumDescriptions": [
26813	//         "",
26814	//         ""
26815	//       ],
26816	//       "location": "query",
26817	//       "type": "string"
26818	//     }
26819	//   },
26820	//   "path": "userprofiles/{profileId}/creativeFields",
26821	//   "response": {
26822	//     "$ref": "CreativeFieldsListResponse"
26823	//   },
26824	//   "scopes": [
26825	//     "https://www.googleapis.com/auth/dfatrafficking"
26826	//   ]
26827	// }
26828
26829}
26830
26831// Pages invokes f for each page of results.
26832// A non-nil error returned from f will halt the iteration.
26833// The provided context supersedes any context provided to the Context method.
26834func (c *CreativeFieldsListCall) Pages(ctx context.Context, f func(*CreativeFieldsListResponse) error) error {
26835	c.ctx_ = ctx
26836	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26837	for {
26838		x, err := c.Do()
26839		if err != nil {
26840			return err
26841		}
26842		if err := f(x); err != nil {
26843			return err
26844		}
26845		if x.NextPageToken == "" {
26846			return nil
26847		}
26848		c.PageToken(x.NextPageToken)
26849	}
26850}
26851
26852// method id "dfareporting.creativeFields.patch":
26853
26854type CreativeFieldsPatchCall struct {
26855	s             *Service
26856	profileId     int64
26857	creativefield *CreativeField
26858	urlParams_    gensupport.URLParams
26859	ctx_          context.Context
26860	header_       http.Header
26861}
26862
26863// Patch: Updates an existing creative field. This method supports patch
26864// semantics.
26865//
26866// - id: CreativeField ID.
26867// - profileId: User profile ID associated with this request.
26868func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
26869	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26870	c.profileId = profileId
26871	c.urlParams_.Set("id", fmt.Sprint(id))
26872	c.creativefield = creativefield
26873	return c
26874}
26875
26876// Fields allows partial responses to be retrieved. See
26877// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26878// for more information.
26879func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
26880	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26881	return c
26882}
26883
26884// Context sets the context to be used in this call's Do method. Any
26885// pending HTTP request will be aborted if the provided context is
26886// canceled.
26887func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
26888	c.ctx_ = ctx
26889	return c
26890}
26891
26892// Header returns an http.Header that can be modified by the caller to
26893// add HTTP headers to the request.
26894func (c *CreativeFieldsPatchCall) Header() http.Header {
26895	if c.header_ == nil {
26896		c.header_ = make(http.Header)
26897	}
26898	return c.header_
26899}
26900
26901func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
26902	reqHeaders := make(http.Header)
26903	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26904	for k, v := range c.header_ {
26905		reqHeaders[k] = v
26906	}
26907	reqHeaders.Set("User-Agent", c.s.userAgent())
26908	var body io.Reader = nil
26909	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
26910	if err != nil {
26911		return nil, err
26912	}
26913	reqHeaders.Set("Content-Type", "application/json")
26914	c.urlParams_.Set("alt", alt)
26915	c.urlParams_.Set("prettyPrint", "false")
26916	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26917	urls += "?" + c.urlParams_.Encode()
26918	req, err := http.NewRequest("PATCH", urls, body)
26919	if err != nil {
26920		return nil, err
26921	}
26922	req.Header = reqHeaders
26923	googleapi.Expand(req.URL, map[string]string{
26924		"profileId": strconv.FormatInt(c.profileId, 10),
26925	})
26926	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26927}
26928
26929// Do executes the "dfareporting.creativeFields.patch" call.
26930// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26931// status code is an error. Response headers are in either
26932// *CreativeField.ServerResponse.Header or (if a response was returned
26933// at all) in error.(*googleapi.Error).Header. Use
26934// googleapi.IsNotModified to check whether the returned error was
26935// because http.StatusNotModified was returned.
26936func (c *CreativeFieldsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26937	gensupport.SetOptions(c.urlParams_, opts...)
26938	res, err := c.doRequest("json")
26939	if res != nil && res.StatusCode == http.StatusNotModified {
26940		if res.Body != nil {
26941			res.Body.Close()
26942		}
26943		return nil, &googleapi.Error{
26944			Code:   res.StatusCode,
26945			Header: res.Header,
26946		}
26947	}
26948	if err != nil {
26949		return nil, err
26950	}
26951	defer googleapi.CloseBody(res)
26952	if err := googleapi.CheckResponse(res); err != nil {
26953		return nil, err
26954	}
26955	ret := &CreativeField{
26956		ServerResponse: googleapi.ServerResponse{
26957			Header:         res.Header,
26958			HTTPStatusCode: res.StatusCode,
26959		},
26960	}
26961	target := &ret
26962	if err := gensupport.DecodeResponse(target, res); err != nil {
26963		return nil, err
26964	}
26965	return ret, nil
26966	// {
26967	//   "description": "Updates an existing creative field. This method supports patch semantics.",
26968	//   "flatPath": "userprofiles/{profileId}/creativeFields",
26969	//   "httpMethod": "PATCH",
26970	//   "id": "dfareporting.creativeFields.patch",
26971	//   "parameterOrder": [
26972	//     "profileId",
26973	//     "id"
26974	//   ],
26975	//   "parameters": {
26976	//     "id": {
26977	//       "description": "CreativeField ID.",
26978	//       "format": "int64",
26979	//       "location": "query",
26980	//       "required": true,
26981	//       "type": "string"
26982	//     },
26983	//     "profileId": {
26984	//       "description": "User profile ID associated with this request.",
26985	//       "format": "int64",
26986	//       "location": "path",
26987	//       "required": true,
26988	//       "type": "string"
26989	//     }
26990	//   },
26991	//   "path": "userprofiles/{profileId}/creativeFields",
26992	//   "request": {
26993	//     "$ref": "CreativeField"
26994	//   },
26995	//   "response": {
26996	//     "$ref": "CreativeField"
26997	//   },
26998	//   "scopes": [
26999	//     "https://www.googleapis.com/auth/dfatrafficking"
27000	//   ]
27001	// }
27002
27003}
27004
27005// method id "dfareporting.creativeFields.update":
27006
27007type CreativeFieldsUpdateCall struct {
27008	s             *Service
27009	profileId     int64
27010	creativefield *CreativeField
27011	urlParams_    gensupport.URLParams
27012	ctx_          context.Context
27013	header_       http.Header
27014}
27015
27016// Update: Updates an existing creative field.
27017//
27018// - profileId: User profile ID associated with this request.
27019func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
27020	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27021	c.profileId = profileId
27022	c.creativefield = creativefield
27023	return c
27024}
27025
27026// Fields allows partial responses to be retrieved. See
27027// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27028// for more information.
27029func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
27030	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27031	return c
27032}
27033
27034// Context sets the context to be used in this call's Do method. Any
27035// pending HTTP request will be aborted if the provided context is
27036// canceled.
27037func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
27038	c.ctx_ = ctx
27039	return c
27040}
27041
27042// Header returns an http.Header that can be modified by the caller to
27043// add HTTP headers to the request.
27044func (c *CreativeFieldsUpdateCall) Header() http.Header {
27045	if c.header_ == nil {
27046		c.header_ = make(http.Header)
27047	}
27048	return c.header_
27049}
27050
27051func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
27052	reqHeaders := make(http.Header)
27053	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27054	for k, v := range c.header_ {
27055		reqHeaders[k] = v
27056	}
27057	reqHeaders.Set("User-Agent", c.s.userAgent())
27058	var body io.Reader = nil
27059	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
27060	if err != nil {
27061		return nil, err
27062	}
27063	reqHeaders.Set("Content-Type", "application/json")
27064	c.urlParams_.Set("alt", alt)
27065	c.urlParams_.Set("prettyPrint", "false")
27066	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
27067	urls += "?" + c.urlParams_.Encode()
27068	req, err := http.NewRequest("PUT", urls, body)
27069	if err != nil {
27070		return nil, err
27071	}
27072	req.Header = reqHeaders
27073	googleapi.Expand(req.URL, map[string]string{
27074		"profileId": strconv.FormatInt(c.profileId, 10),
27075	})
27076	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27077}
27078
27079// Do executes the "dfareporting.creativeFields.update" call.
27080// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
27081// status code is an error. Response headers are in either
27082// *CreativeField.ServerResponse.Header or (if a response was returned
27083// at all) in error.(*googleapi.Error).Header. Use
27084// googleapi.IsNotModified to check whether the returned error was
27085// because http.StatusNotModified was returned.
27086func (c *CreativeFieldsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
27087	gensupport.SetOptions(c.urlParams_, opts...)
27088	res, err := c.doRequest("json")
27089	if res != nil && res.StatusCode == http.StatusNotModified {
27090		if res.Body != nil {
27091			res.Body.Close()
27092		}
27093		return nil, &googleapi.Error{
27094			Code:   res.StatusCode,
27095			Header: res.Header,
27096		}
27097	}
27098	if err != nil {
27099		return nil, err
27100	}
27101	defer googleapi.CloseBody(res)
27102	if err := googleapi.CheckResponse(res); err != nil {
27103		return nil, err
27104	}
27105	ret := &CreativeField{
27106		ServerResponse: googleapi.ServerResponse{
27107			Header:         res.Header,
27108			HTTPStatusCode: res.StatusCode,
27109		},
27110	}
27111	target := &ret
27112	if err := gensupport.DecodeResponse(target, res); err != nil {
27113		return nil, err
27114	}
27115	return ret, nil
27116	// {
27117	//   "description": "Updates an existing creative field.",
27118	//   "flatPath": "userprofiles/{profileId}/creativeFields",
27119	//   "httpMethod": "PUT",
27120	//   "id": "dfareporting.creativeFields.update",
27121	//   "parameterOrder": [
27122	//     "profileId"
27123	//   ],
27124	//   "parameters": {
27125	//     "profileId": {
27126	//       "description": "User profile ID associated with this request.",
27127	//       "format": "int64",
27128	//       "location": "path",
27129	//       "required": true,
27130	//       "type": "string"
27131	//     }
27132	//   },
27133	//   "path": "userprofiles/{profileId}/creativeFields",
27134	//   "request": {
27135	//     "$ref": "CreativeField"
27136	//   },
27137	//   "response": {
27138	//     "$ref": "CreativeField"
27139	//   },
27140	//   "scopes": [
27141	//     "https://www.googleapis.com/auth/dfatrafficking"
27142	//   ]
27143	// }
27144
27145}
27146
27147// method id "dfareporting.creativeGroups.get":
27148
27149type CreativeGroupsGetCall struct {
27150	s            *Service
27151	profileId    int64
27152	id           int64
27153	urlParams_   gensupport.URLParams
27154	ifNoneMatch_ string
27155	ctx_         context.Context
27156	header_      http.Header
27157}
27158
27159// Get: Gets one creative group by ID.
27160//
27161// - id: Creative group ID.
27162// - profileId: User profile ID associated with this request.
27163func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
27164	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27165	c.profileId = profileId
27166	c.id = id
27167	return c
27168}
27169
27170// Fields allows partial responses to be retrieved. See
27171// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27172// for more information.
27173func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
27174	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27175	return c
27176}
27177
27178// IfNoneMatch sets the optional parameter which makes the operation
27179// fail if the object's ETag matches the given value. This is useful for
27180// getting updates only after the object has changed since the last
27181// request. Use googleapi.IsNotModified to check whether the response
27182// error from Do is the result of In-None-Match.
27183func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
27184	c.ifNoneMatch_ = entityTag
27185	return c
27186}
27187
27188// Context sets the context to be used in this call's Do method. Any
27189// pending HTTP request will be aborted if the provided context is
27190// canceled.
27191func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
27192	c.ctx_ = ctx
27193	return c
27194}
27195
27196// Header returns an http.Header that can be modified by the caller to
27197// add HTTP headers to the request.
27198func (c *CreativeGroupsGetCall) Header() http.Header {
27199	if c.header_ == nil {
27200		c.header_ = make(http.Header)
27201	}
27202	return c.header_
27203}
27204
27205func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
27206	reqHeaders := make(http.Header)
27207	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27208	for k, v := range c.header_ {
27209		reqHeaders[k] = v
27210	}
27211	reqHeaders.Set("User-Agent", c.s.userAgent())
27212	if c.ifNoneMatch_ != "" {
27213		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27214	}
27215	var body io.Reader = nil
27216	c.urlParams_.Set("alt", alt)
27217	c.urlParams_.Set("prettyPrint", "false")
27218	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
27219	urls += "?" + c.urlParams_.Encode()
27220	req, err := http.NewRequest("GET", urls, body)
27221	if err != nil {
27222		return nil, err
27223	}
27224	req.Header = reqHeaders
27225	googleapi.Expand(req.URL, map[string]string{
27226		"profileId": strconv.FormatInt(c.profileId, 10),
27227		"id":        strconv.FormatInt(c.id, 10),
27228	})
27229	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27230}
27231
27232// Do executes the "dfareporting.creativeGroups.get" call.
27233// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27234// status code is an error. Response headers are in either
27235// *CreativeGroup.ServerResponse.Header or (if a response was returned
27236// at all) in error.(*googleapi.Error).Header. Use
27237// googleapi.IsNotModified to check whether the returned error was
27238// because http.StatusNotModified was returned.
27239func (c *CreativeGroupsGetCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27240	gensupport.SetOptions(c.urlParams_, opts...)
27241	res, err := c.doRequest("json")
27242	if res != nil && res.StatusCode == http.StatusNotModified {
27243		if res.Body != nil {
27244			res.Body.Close()
27245		}
27246		return nil, &googleapi.Error{
27247			Code:   res.StatusCode,
27248			Header: res.Header,
27249		}
27250	}
27251	if err != nil {
27252		return nil, err
27253	}
27254	defer googleapi.CloseBody(res)
27255	if err := googleapi.CheckResponse(res); err != nil {
27256		return nil, err
27257	}
27258	ret := &CreativeGroup{
27259		ServerResponse: googleapi.ServerResponse{
27260			Header:         res.Header,
27261			HTTPStatusCode: res.StatusCode,
27262		},
27263	}
27264	target := &ret
27265	if err := gensupport.DecodeResponse(target, res); err != nil {
27266		return nil, err
27267	}
27268	return ret, nil
27269	// {
27270	//   "description": "Gets one creative group by ID.",
27271	//   "flatPath": "userprofiles/{profileId}/creativeGroups/{id}",
27272	//   "httpMethod": "GET",
27273	//   "id": "dfareporting.creativeGroups.get",
27274	//   "parameterOrder": [
27275	//     "profileId",
27276	//     "id"
27277	//   ],
27278	//   "parameters": {
27279	//     "id": {
27280	//       "description": "Creative group ID.",
27281	//       "format": "int64",
27282	//       "location": "path",
27283	//       "required": true,
27284	//       "type": "string"
27285	//     },
27286	//     "profileId": {
27287	//       "description": "User profile ID associated with this request.",
27288	//       "format": "int64",
27289	//       "location": "path",
27290	//       "required": true,
27291	//       "type": "string"
27292	//     }
27293	//   },
27294	//   "path": "userprofiles/{profileId}/creativeGroups/{id}",
27295	//   "response": {
27296	//     "$ref": "CreativeGroup"
27297	//   },
27298	//   "scopes": [
27299	//     "https://www.googleapis.com/auth/dfatrafficking"
27300	//   ]
27301	// }
27302
27303}
27304
27305// method id "dfareporting.creativeGroups.insert":
27306
27307type CreativeGroupsInsertCall struct {
27308	s             *Service
27309	profileId     int64
27310	creativegroup *CreativeGroup
27311	urlParams_    gensupport.URLParams
27312	ctx_          context.Context
27313	header_       http.Header
27314}
27315
27316// Insert: Inserts a new creative group.
27317//
27318// - profileId: User profile ID associated with this request.
27319func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
27320	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27321	c.profileId = profileId
27322	c.creativegroup = creativegroup
27323	return c
27324}
27325
27326// Fields allows partial responses to be retrieved. See
27327// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27328// for more information.
27329func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
27330	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27331	return c
27332}
27333
27334// Context sets the context to be used in this call's Do method. Any
27335// pending HTTP request will be aborted if the provided context is
27336// canceled.
27337func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
27338	c.ctx_ = ctx
27339	return c
27340}
27341
27342// Header returns an http.Header that can be modified by the caller to
27343// add HTTP headers to the request.
27344func (c *CreativeGroupsInsertCall) Header() http.Header {
27345	if c.header_ == nil {
27346		c.header_ = make(http.Header)
27347	}
27348	return c.header_
27349}
27350
27351func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
27352	reqHeaders := make(http.Header)
27353	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27354	for k, v := range c.header_ {
27355		reqHeaders[k] = v
27356	}
27357	reqHeaders.Set("User-Agent", c.s.userAgent())
27358	var body io.Reader = nil
27359	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27360	if err != nil {
27361		return nil, err
27362	}
27363	reqHeaders.Set("Content-Type", "application/json")
27364	c.urlParams_.Set("alt", alt)
27365	c.urlParams_.Set("prettyPrint", "false")
27366	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27367	urls += "?" + c.urlParams_.Encode()
27368	req, err := http.NewRequest("POST", urls, body)
27369	if err != nil {
27370		return nil, err
27371	}
27372	req.Header = reqHeaders
27373	googleapi.Expand(req.URL, map[string]string{
27374		"profileId": strconv.FormatInt(c.profileId, 10),
27375	})
27376	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27377}
27378
27379// Do executes the "dfareporting.creativeGroups.insert" call.
27380// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27381// status code is an error. Response headers are in either
27382// *CreativeGroup.ServerResponse.Header or (if a response was returned
27383// at all) in error.(*googleapi.Error).Header. Use
27384// googleapi.IsNotModified to check whether the returned error was
27385// because http.StatusNotModified was returned.
27386func (c *CreativeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27387	gensupport.SetOptions(c.urlParams_, opts...)
27388	res, err := c.doRequest("json")
27389	if res != nil && res.StatusCode == http.StatusNotModified {
27390		if res.Body != nil {
27391			res.Body.Close()
27392		}
27393		return nil, &googleapi.Error{
27394			Code:   res.StatusCode,
27395			Header: res.Header,
27396		}
27397	}
27398	if err != nil {
27399		return nil, err
27400	}
27401	defer googleapi.CloseBody(res)
27402	if err := googleapi.CheckResponse(res); err != nil {
27403		return nil, err
27404	}
27405	ret := &CreativeGroup{
27406		ServerResponse: googleapi.ServerResponse{
27407			Header:         res.Header,
27408			HTTPStatusCode: res.StatusCode,
27409		},
27410	}
27411	target := &ret
27412	if err := gensupport.DecodeResponse(target, res); err != nil {
27413		return nil, err
27414	}
27415	return ret, nil
27416	// {
27417	//   "description": "Inserts a new creative group.",
27418	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
27419	//   "httpMethod": "POST",
27420	//   "id": "dfareporting.creativeGroups.insert",
27421	//   "parameterOrder": [
27422	//     "profileId"
27423	//   ],
27424	//   "parameters": {
27425	//     "profileId": {
27426	//       "description": "User profile ID associated with this request.",
27427	//       "format": "int64",
27428	//       "location": "path",
27429	//       "required": true,
27430	//       "type": "string"
27431	//     }
27432	//   },
27433	//   "path": "userprofiles/{profileId}/creativeGroups",
27434	//   "request": {
27435	//     "$ref": "CreativeGroup"
27436	//   },
27437	//   "response": {
27438	//     "$ref": "CreativeGroup"
27439	//   },
27440	//   "scopes": [
27441	//     "https://www.googleapis.com/auth/dfatrafficking"
27442	//   ]
27443	// }
27444
27445}
27446
27447// method id "dfareporting.creativeGroups.list":
27448
27449type CreativeGroupsListCall struct {
27450	s            *Service
27451	profileId    int64
27452	urlParams_   gensupport.URLParams
27453	ifNoneMatch_ string
27454	ctx_         context.Context
27455	header_      http.Header
27456}
27457
27458// List: Retrieves a list of creative groups, possibly filtered. This
27459// method supports paging.
27460//
27461// - profileId: User profile ID associated with this request.
27462func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
27463	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27464	c.profileId = profileId
27465	return c
27466}
27467
27468// AdvertiserIds sets the optional parameter "advertiserIds": Select
27469// only creative groups that belong to these advertisers.
27470func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeGroupsListCall {
27471	var advertiserIds_ []string
27472	for _, v := range advertiserIds {
27473		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
27474	}
27475	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
27476	return c
27477}
27478
27479// GroupNumber sets the optional parameter "groupNumber": Select only
27480// creative groups that belong to this subgroup.
27481func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
27482	c.urlParams_.Set("groupNumber", fmt.Sprint(groupNumber))
27483	return c
27484}
27485
27486// Ids sets the optional parameter "ids": Select only creative groups
27487// with these IDs.
27488func (c *CreativeGroupsListCall) Ids(ids ...int64) *CreativeGroupsListCall {
27489	var ids_ []string
27490	for _, v := range ids {
27491		ids_ = append(ids_, fmt.Sprint(v))
27492	}
27493	c.urlParams_.SetMulti("ids", ids_)
27494	return c
27495}
27496
27497// MaxResults sets the optional parameter "maxResults": Maximum number
27498// of results to return.
27499func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
27500	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
27501	return c
27502}
27503
27504// PageToken sets the optional parameter "pageToken": Value of the
27505// nextPageToken from the previous result page.
27506func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
27507	c.urlParams_.Set("pageToken", pageToken)
27508	return c
27509}
27510
27511// SearchString sets the optional parameter "searchString": Allows
27512// searching for creative groups by name or ID. Wildcards (*) are
27513// allowed. For example, "creativegroup*2015" will return creative
27514// groups with names like "creativegroup June 2015", "creativegroup
27515// April 2015", or simply "creativegroup 2015". Most of the searches
27516// also add wild-cards implicitly at the start and the end of the search
27517// string. For example, a search string of "creativegroup" will match
27518// creative groups with the name "my creativegroup", "creativegroup
27519// 2015", or simply "creativegroup".
27520func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
27521	c.urlParams_.Set("searchString", searchString)
27522	return c
27523}
27524
27525// SortField sets the optional parameter "sortField": Field by which to
27526// sort the list.
27527//
27528// Possible values:
27529//   "ID" (default)
27530//   "NAME"
27531func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
27532	c.urlParams_.Set("sortField", sortField)
27533	return c
27534}
27535
27536// SortOrder sets the optional parameter "sortOrder": Order of sorted
27537// results.
27538//
27539// Possible values:
27540//   "ASCENDING" (default)
27541//   "DESCENDING"
27542func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
27543	c.urlParams_.Set("sortOrder", sortOrder)
27544	return c
27545}
27546
27547// Fields allows partial responses to be retrieved. See
27548// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27549// for more information.
27550func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
27551	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27552	return c
27553}
27554
27555// IfNoneMatch sets the optional parameter which makes the operation
27556// fail if the object's ETag matches the given value. This is useful for
27557// getting updates only after the object has changed since the last
27558// request. Use googleapi.IsNotModified to check whether the response
27559// error from Do is the result of In-None-Match.
27560func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
27561	c.ifNoneMatch_ = entityTag
27562	return c
27563}
27564
27565// Context sets the context to be used in this call's Do method. Any
27566// pending HTTP request will be aborted if the provided context is
27567// canceled.
27568func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
27569	c.ctx_ = ctx
27570	return c
27571}
27572
27573// Header returns an http.Header that can be modified by the caller to
27574// add HTTP headers to the request.
27575func (c *CreativeGroupsListCall) Header() http.Header {
27576	if c.header_ == nil {
27577		c.header_ = make(http.Header)
27578	}
27579	return c.header_
27580}
27581
27582func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
27583	reqHeaders := make(http.Header)
27584	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27585	for k, v := range c.header_ {
27586		reqHeaders[k] = v
27587	}
27588	reqHeaders.Set("User-Agent", c.s.userAgent())
27589	if c.ifNoneMatch_ != "" {
27590		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27591	}
27592	var body io.Reader = nil
27593	c.urlParams_.Set("alt", alt)
27594	c.urlParams_.Set("prettyPrint", "false")
27595	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27596	urls += "?" + c.urlParams_.Encode()
27597	req, err := http.NewRequest("GET", urls, body)
27598	if err != nil {
27599		return nil, err
27600	}
27601	req.Header = reqHeaders
27602	googleapi.Expand(req.URL, map[string]string{
27603		"profileId": strconv.FormatInt(c.profileId, 10),
27604	})
27605	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27606}
27607
27608// Do executes the "dfareporting.creativeGroups.list" call.
27609// Exactly one of *CreativeGroupsListResponse or error will be non-nil.
27610// Any non-2xx status code is an error. Response headers are in either
27611// *CreativeGroupsListResponse.ServerResponse.Header or (if a response
27612// was returned at all) in error.(*googleapi.Error).Header. Use
27613// googleapi.IsNotModified to check whether the returned error was
27614// because http.StatusNotModified was returned.
27615func (c *CreativeGroupsListCall) Do(opts ...googleapi.CallOption) (*CreativeGroupsListResponse, error) {
27616	gensupport.SetOptions(c.urlParams_, opts...)
27617	res, err := c.doRequest("json")
27618	if res != nil && res.StatusCode == http.StatusNotModified {
27619		if res.Body != nil {
27620			res.Body.Close()
27621		}
27622		return nil, &googleapi.Error{
27623			Code:   res.StatusCode,
27624			Header: res.Header,
27625		}
27626	}
27627	if err != nil {
27628		return nil, err
27629	}
27630	defer googleapi.CloseBody(res)
27631	if err := googleapi.CheckResponse(res); err != nil {
27632		return nil, err
27633	}
27634	ret := &CreativeGroupsListResponse{
27635		ServerResponse: googleapi.ServerResponse{
27636			Header:         res.Header,
27637			HTTPStatusCode: res.StatusCode,
27638		},
27639	}
27640	target := &ret
27641	if err := gensupport.DecodeResponse(target, res); err != nil {
27642		return nil, err
27643	}
27644	return ret, nil
27645	// {
27646	//   "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
27647	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
27648	//   "httpMethod": "GET",
27649	//   "id": "dfareporting.creativeGroups.list",
27650	//   "parameterOrder": [
27651	//     "profileId"
27652	//   ],
27653	//   "parameters": {
27654	//     "advertiserIds": {
27655	//       "description": "Select only creative groups that belong to these advertisers.",
27656	//       "format": "int64",
27657	//       "location": "query",
27658	//       "repeated": true,
27659	//       "type": "string"
27660	//     },
27661	//     "groupNumber": {
27662	//       "description": "Select only creative groups that belong to this subgroup.",
27663	//       "format": "int32",
27664	//       "location": "query",
27665	//       "maximum": "2",
27666	//       "minimum": "1",
27667	//       "type": "integer"
27668	//     },
27669	//     "ids": {
27670	//       "description": "Select only creative groups with these IDs.",
27671	//       "format": "int64",
27672	//       "location": "query",
27673	//       "repeated": true,
27674	//       "type": "string"
27675	//     },
27676	//     "maxResults": {
27677	//       "default": "1000",
27678	//       "description": "Maximum number of results to return.",
27679	//       "format": "int32",
27680	//       "location": "query",
27681	//       "maximum": "1000",
27682	//       "minimum": "0",
27683	//       "type": "integer"
27684	//     },
27685	//     "pageToken": {
27686	//       "description": "Value of the nextPageToken from the previous result page.",
27687	//       "location": "query",
27688	//       "type": "string"
27689	//     },
27690	//     "profileId": {
27691	//       "description": "User profile ID associated with this request.",
27692	//       "format": "int64",
27693	//       "location": "path",
27694	//       "required": true,
27695	//       "type": "string"
27696	//     },
27697	//     "searchString": {
27698	//       "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\".",
27699	//       "location": "query",
27700	//       "type": "string"
27701	//     },
27702	//     "sortField": {
27703	//       "default": "ID",
27704	//       "description": "Field by which to sort the list.",
27705	//       "enum": [
27706	//         "ID",
27707	//         "NAME"
27708	//       ],
27709	//       "enumDescriptions": [
27710	//         "",
27711	//         ""
27712	//       ],
27713	//       "location": "query",
27714	//       "type": "string"
27715	//     },
27716	//     "sortOrder": {
27717	//       "default": "ASCENDING",
27718	//       "description": "Order of sorted results.",
27719	//       "enum": [
27720	//         "ASCENDING",
27721	//         "DESCENDING"
27722	//       ],
27723	//       "enumDescriptions": [
27724	//         "",
27725	//         ""
27726	//       ],
27727	//       "location": "query",
27728	//       "type": "string"
27729	//     }
27730	//   },
27731	//   "path": "userprofiles/{profileId}/creativeGroups",
27732	//   "response": {
27733	//     "$ref": "CreativeGroupsListResponse"
27734	//   },
27735	//   "scopes": [
27736	//     "https://www.googleapis.com/auth/dfatrafficking"
27737	//   ]
27738	// }
27739
27740}
27741
27742// Pages invokes f for each page of results.
27743// A non-nil error returned from f will halt the iteration.
27744// The provided context supersedes any context provided to the Context method.
27745func (c *CreativeGroupsListCall) Pages(ctx context.Context, f func(*CreativeGroupsListResponse) error) error {
27746	c.ctx_ = ctx
27747	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27748	for {
27749		x, err := c.Do()
27750		if err != nil {
27751			return err
27752		}
27753		if err := f(x); err != nil {
27754			return err
27755		}
27756		if x.NextPageToken == "" {
27757			return nil
27758		}
27759		c.PageToken(x.NextPageToken)
27760	}
27761}
27762
27763// method id "dfareporting.creativeGroups.patch":
27764
27765type CreativeGroupsPatchCall struct {
27766	s             *Service
27767	profileId     int64
27768	creativegroup *CreativeGroup
27769	urlParams_    gensupport.URLParams
27770	ctx_          context.Context
27771	header_       http.Header
27772}
27773
27774// Patch: Updates an existing creative group. This method supports patch
27775// semantics.
27776//
27777// - id: CreativeGroup ID.
27778// - profileId: User profile ID associated with this request.
27779func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
27780	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27781	c.profileId = profileId
27782	c.urlParams_.Set("id", fmt.Sprint(id))
27783	c.creativegroup = creativegroup
27784	return c
27785}
27786
27787// Fields allows partial responses to be retrieved. See
27788// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27789// for more information.
27790func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
27791	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27792	return c
27793}
27794
27795// Context sets the context to be used in this call's Do method. Any
27796// pending HTTP request will be aborted if the provided context is
27797// canceled.
27798func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
27799	c.ctx_ = ctx
27800	return c
27801}
27802
27803// Header returns an http.Header that can be modified by the caller to
27804// add HTTP headers to the request.
27805func (c *CreativeGroupsPatchCall) Header() http.Header {
27806	if c.header_ == nil {
27807		c.header_ = make(http.Header)
27808	}
27809	return c.header_
27810}
27811
27812func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
27813	reqHeaders := make(http.Header)
27814	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27815	for k, v := range c.header_ {
27816		reqHeaders[k] = v
27817	}
27818	reqHeaders.Set("User-Agent", c.s.userAgent())
27819	var body io.Reader = nil
27820	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27821	if err != nil {
27822		return nil, err
27823	}
27824	reqHeaders.Set("Content-Type", "application/json")
27825	c.urlParams_.Set("alt", alt)
27826	c.urlParams_.Set("prettyPrint", "false")
27827	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27828	urls += "?" + c.urlParams_.Encode()
27829	req, err := http.NewRequest("PATCH", urls, body)
27830	if err != nil {
27831		return nil, err
27832	}
27833	req.Header = reqHeaders
27834	googleapi.Expand(req.URL, map[string]string{
27835		"profileId": strconv.FormatInt(c.profileId, 10),
27836	})
27837	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27838}
27839
27840// Do executes the "dfareporting.creativeGroups.patch" call.
27841// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27842// status code is an error. Response headers are in either
27843// *CreativeGroup.ServerResponse.Header or (if a response was returned
27844// at all) in error.(*googleapi.Error).Header. Use
27845// googleapi.IsNotModified to check whether the returned error was
27846// because http.StatusNotModified was returned.
27847func (c *CreativeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27848	gensupport.SetOptions(c.urlParams_, opts...)
27849	res, err := c.doRequest("json")
27850	if res != nil && res.StatusCode == http.StatusNotModified {
27851		if res.Body != nil {
27852			res.Body.Close()
27853		}
27854		return nil, &googleapi.Error{
27855			Code:   res.StatusCode,
27856			Header: res.Header,
27857		}
27858	}
27859	if err != nil {
27860		return nil, err
27861	}
27862	defer googleapi.CloseBody(res)
27863	if err := googleapi.CheckResponse(res); err != nil {
27864		return nil, err
27865	}
27866	ret := &CreativeGroup{
27867		ServerResponse: googleapi.ServerResponse{
27868			Header:         res.Header,
27869			HTTPStatusCode: res.StatusCode,
27870		},
27871	}
27872	target := &ret
27873	if err := gensupport.DecodeResponse(target, res); err != nil {
27874		return nil, err
27875	}
27876	return ret, nil
27877	// {
27878	//   "description": "Updates an existing creative group. This method supports patch semantics.",
27879	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
27880	//   "httpMethod": "PATCH",
27881	//   "id": "dfareporting.creativeGroups.patch",
27882	//   "parameterOrder": [
27883	//     "profileId",
27884	//     "id"
27885	//   ],
27886	//   "parameters": {
27887	//     "id": {
27888	//       "description": "CreativeGroup ID.",
27889	//       "format": "int64",
27890	//       "location": "query",
27891	//       "required": true,
27892	//       "type": "string"
27893	//     },
27894	//     "profileId": {
27895	//       "description": "User profile ID associated with this request.",
27896	//       "format": "int64",
27897	//       "location": "path",
27898	//       "required": true,
27899	//       "type": "string"
27900	//     }
27901	//   },
27902	//   "path": "userprofiles/{profileId}/creativeGroups",
27903	//   "request": {
27904	//     "$ref": "CreativeGroup"
27905	//   },
27906	//   "response": {
27907	//     "$ref": "CreativeGroup"
27908	//   },
27909	//   "scopes": [
27910	//     "https://www.googleapis.com/auth/dfatrafficking"
27911	//   ]
27912	// }
27913
27914}
27915
27916// method id "dfareporting.creativeGroups.update":
27917
27918type CreativeGroupsUpdateCall struct {
27919	s             *Service
27920	profileId     int64
27921	creativegroup *CreativeGroup
27922	urlParams_    gensupport.URLParams
27923	ctx_          context.Context
27924	header_       http.Header
27925}
27926
27927// Update: Updates an existing creative group.
27928//
27929// - profileId: User profile ID associated with this request.
27930func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
27931	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27932	c.profileId = profileId
27933	c.creativegroup = creativegroup
27934	return c
27935}
27936
27937// Fields allows partial responses to be retrieved. See
27938// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27939// for more information.
27940func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
27941	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27942	return c
27943}
27944
27945// Context sets the context to be used in this call's Do method. Any
27946// pending HTTP request will be aborted if the provided context is
27947// canceled.
27948func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
27949	c.ctx_ = ctx
27950	return c
27951}
27952
27953// Header returns an http.Header that can be modified by the caller to
27954// add HTTP headers to the request.
27955func (c *CreativeGroupsUpdateCall) Header() http.Header {
27956	if c.header_ == nil {
27957		c.header_ = make(http.Header)
27958	}
27959	return c.header_
27960}
27961
27962func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
27963	reqHeaders := make(http.Header)
27964	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27965	for k, v := range c.header_ {
27966		reqHeaders[k] = v
27967	}
27968	reqHeaders.Set("User-Agent", c.s.userAgent())
27969	var body io.Reader = nil
27970	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27971	if err != nil {
27972		return nil, err
27973	}
27974	reqHeaders.Set("Content-Type", "application/json")
27975	c.urlParams_.Set("alt", alt)
27976	c.urlParams_.Set("prettyPrint", "false")
27977	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27978	urls += "?" + c.urlParams_.Encode()
27979	req, err := http.NewRequest("PUT", urls, body)
27980	if err != nil {
27981		return nil, err
27982	}
27983	req.Header = reqHeaders
27984	googleapi.Expand(req.URL, map[string]string{
27985		"profileId": strconv.FormatInt(c.profileId, 10),
27986	})
27987	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27988}
27989
27990// Do executes the "dfareporting.creativeGroups.update" call.
27991// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27992// status code is an error. Response headers are in either
27993// *CreativeGroup.ServerResponse.Header or (if a response was returned
27994// at all) in error.(*googleapi.Error).Header. Use
27995// googleapi.IsNotModified to check whether the returned error was
27996// because http.StatusNotModified was returned.
27997func (c *CreativeGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27998	gensupport.SetOptions(c.urlParams_, opts...)
27999	res, err := c.doRequest("json")
28000	if res != nil && res.StatusCode == http.StatusNotModified {
28001		if res.Body != nil {
28002			res.Body.Close()
28003		}
28004		return nil, &googleapi.Error{
28005			Code:   res.StatusCode,
28006			Header: res.Header,
28007		}
28008	}
28009	if err != nil {
28010		return nil, err
28011	}
28012	defer googleapi.CloseBody(res)
28013	if err := googleapi.CheckResponse(res); err != nil {
28014		return nil, err
28015	}
28016	ret := &CreativeGroup{
28017		ServerResponse: googleapi.ServerResponse{
28018			Header:         res.Header,
28019			HTTPStatusCode: res.StatusCode,
28020		},
28021	}
28022	target := &ret
28023	if err := gensupport.DecodeResponse(target, res); err != nil {
28024		return nil, err
28025	}
28026	return ret, nil
28027	// {
28028	//   "description": "Updates an existing creative group.",
28029	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
28030	//   "httpMethod": "PUT",
28031	//   "id": "dfareporting.creativeGroups.update",
28032	//   "parameterOrder": [
28033	//     "profileId"
28034	//   ],
28035	//   "parameters": {
28036	//     "profileId": {
28037	//       "description": "User profile ID associated with this request.",
28038	//       "format": "int64",
28039	//       "location": "path",
28040	//       "required": true,
28041	//       "type": "string"
28042	//     }
28043	//   },
28044	//   "path": "userprofiles/{profileId}/creativeGroups",
28045	//   "request": {
28046	//     "$ref": "CreativeGroup"
28047	//   },
28048	//   "response": {
28049	//     "$ref": "CreativeGroup"
28050	//   },
28051	//   "scopes": [
28052	//     "https://www.googleapis.com/auth/dfatrafficking"
28053	//   ]
28054	// }
28055
28056}
28057
28058// method id "dfareporting.creatives.get":
28059
28060type CreativesGetCall struct {
28061	s            *Service
28062	profileId    int64
28063	id           int64
28064	urlParams_   gensupport.URLParams
28065	ifNoneMatch_ string
28066	ctx_         context.Context
28067	header_      http.Header
28068}
28069
28070// Get: Gets one creative by ID.
28071//
28072// - id: Creative ID.
28073// - profileId: User profile ID associated with this request.
28074func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
28075	c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28076	c.profileId = profileId
28077	c.id = id
28078	return c
28079}
28080
28081// Fields allows partial responses to be retrieved. See
28082// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28083// for more information.
28084func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
28085	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28086	return c
28087}
28088
28089// IfNoneMatch sets the optional parameter which makes the operation
28090// fail if the object's ETag matches the given value. This is useful for
28091// getting updates only after the object has changed since the last
28092// request. Use googleapi.IsNotModified to check whether the response
28093// error from Do is the result of In-None-Match.
28094func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
28095	c.ifNoneMatch_ = entityTag
28096	return c
28097}
28098
28099// Context sets the context to be used in this call's Do method. Any
28100// pending HTTP request will be aborted if the provided context is
28101// canceled.
28102func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
28103	c.ctx_ = ctx
28104	return c
28105}
28106
28107// Header returns an http.Header that can be modified by the caller to
28108// add HTTP headers to the request.
28109func (c *CreativesGetCall) Header() http.Header {
28110	if c.header_ == nil {
28111		c.header_ = make(http.Header)
28112	}
28113	return c.header_
28114}
28115
28116func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
28117	reqHeaders := make(http.Header)
28118	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28119	for k, v := range c.header_ {
28120		reqHeaders[k] = v
28121	}
28122	reqHeaders.Set("User-Agent", c.s.userAgent())
28123	if c.ifNoneMatch_ != "" {
28124		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28125	}
28126	var body io.Reader = nil
28127	c.urlParams_.Set("alt", alt)
28128	c.urlParams_.Set("prettyPrint", "false")
28129	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
28130	urls += "?" + c.urlParams_.Encode()
28131	req, err := http.NewRequest("GET", urls, body)
28132	if err != nil {
28133		return nil, err
28134	}
28135	req.Header = reqHeaders
28136	googleapi.Expand(req.URL, map[string]string{
28137		"profileId": strconv.FormatInt(c.profileId, 10),
28138		"id":        strconv.FormatInt(c.id, 10),
28139	})
28140	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28141}
28142
28143// Do executes the "dfareporting.creatives.get" call.
28144// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28145// code is an error. Response headers are in either
28146// *Creative.ServerResponse.Header or (if a response was returned at
28147// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28148// to check whether the returned error was because
28149// http.StatusNotModified was returned.
28150func (c *CreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28151	gensupport.SetOptions(c.urlParams_, opts...)
28152	res, err := c.doRequest("json")
28153	if res != nil && res.StatusCode == http.StatusNotModified {
28154		if res.Body != nil {
28155			res.Body.Close()
28156		}
28157		return nil, &googleapi.Error{
28158			Code:   res.StatusCode,
28159			Header: res.Header,
28160		}
28161	}
28162	if err != nil {
28163		return nil, err
28164	}
28165	defer googleapi.CloseBody(res)
28166	if err := googleapi.CheckResponse(res); err != nil {
28167		return nil, err
28168	}
28169	ret := &Creative{
28170		ServerResponse: googleapi.ServerResponse{
28171			Header:         res.Header,
28172			HTTPStatusCode: res.StatusCode,
28173		},
28174	}
28175	target := &ret
28176	if err := gensupport.DecodeResponse(target, res); err != nil {
28177		return nil, err
28178	}
28179	return ret, nil
28180	// {
28181	//   "description": "Gets one creative by ID.",
28182	//   "flatPath": "userprofiles/{profileId}/creatives/{id}",
28183	//   "httpMethod": "GET",
28184	//   "id": "dfareporting.creatives.get",
28185	//   "parameterOrder": [
28186	//     "profileId",
28187	//     "id"
28188	//   ],
28189	//   "parameters": {
28190	//     "id": {
28191	//       "description": "Creative ID.",
28192	//       "format": "int64",
28193	//       "location": "path",
28194	//       "required": true,
28195	//       "type": "string"
28196	//     },
28197	//     "profileId": {
28198	//       "description": "User profile ID associated with this request.",
28199	//       "format": "int64",
28200	//       "location": "path",
28201	//       "required": true,
28202	//       "type": "string"
28203	//     }
28204	//   },
28205	//   "path": "userprofiles/{profileId}/creatives/{id}",
28206	//   "response": {
28207	//     "$ref": "Creative"
28208	//   },
28209	//   "scopes": [
28210	//     "https://www.googleapis.com/auth/dfatrafficking"
28211	//   ]
28212	// }
28213
28214}
28215
28216// method id "dfareporting.creatives.insert":
28217
28218type CreativesInsertCall struct {
28219	s          *Service
28220	profileId  int64
28221	creative   *Creative
28222	urlParams_ gensupport.URLParams
28223	ctx_       context.Context
28224	header_    http.Header
28225}
28226
28227// Insert: Inserts a new creative.
28228//
28229// - profileId: User profile ID associated with this request.
28230func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
28231	c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28232	c.profileId = profileId
28233	c.creative = creative
28234	return c
28235}
28236
28237// Fields allows partial responses to be retrieved. See
28238// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28239// for more information.
28240func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
28241	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28242	return c
28243}
28244
28245// Context sets the context to be used in this call's Do method. Any
28246// pending HTTP request will be aborted if the provided context is
28247// canceled.
28248func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
28249	c.ctx_ = ctx
28250	return c
28251}
28252
28253// Header returns an http.Header that can be modified by the caller to
28254// add HTTP headers to the request.
28255func (c *CreativesInsertCall) Header() http.Header {
28256	if c.header_ == nil {
28257		c.header_ = make(http.Header)
28258	}
28259	return c.header_
28260}
28261
28262func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
28263	reqHeaders := make(http.Header)
28264	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28265	for k, v := range c.header_ {
28266		reqHeaders[k] = v
28267	}
28268	reqHeaders.Set("User-Agent", c.s.userAgent())
28269	var body io.Reader = nil
28270	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
28271	if err != nil {
28272		return nil, err
28273	}
28274	reqHeaders.Set("Content-Type", "application/json")
28275	c.urlParams_.Set("alt", alt)
28276	c.urlParams_.Set("prettyPrint", "false")
28277	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28278	urls += "?" + c.urlParams_.Encode()
28279	req, err := http.NewRequest("POST", urls, body)
28280	if err != nil {
28281		return nil, err
28282	}
28283	req.Header = reqHeaders
28284	googleapi.Expand(req.URL, map[string]string{
28285		"profileId": strconv.FormatInt(c.profileId, 10),
28286	})
28287	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28288}
28289
28290// Do executes the "dfareporting.creatives.insert" call.
28291// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28292// code is an error. Response headers are in either
28293// *Creative.ServerResponse.Header or (if a response was returned at
28294// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28295// to check whether the returned error was because
28296// http.StatusNotModified was returned.
28297func (c *CreativesInsertCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28298	gensupport.SetOptions(c.urlParams_, opts...)
28299	res, err := c.doRequest("json")
28300	if res != nil && res.StatusCode == http.StatusNotModified {
28301		if res.Body != nil {
28302			res.Body.Close()
28303		}
28304		return nil, &googleapi.Error{
28305			Code:   res.StatusCode,
28306			Header: res.Header,
28307		}
28308	}
28309	if err != nil {
28310		return nil, err
28311	}
28312	defer googleapi.CloseBody(res)
28313	if err := googleapi.CheckResponse(res); err != nil {
28314		return nil, err
28315	}
28316	ret := &Creative{
28317		ServerResponse: googleapi.ServerResponse{
28318			Header:         res.Header,
28319			HTTPStatusCode: res.StatusCode,
28320		},
28321	}
28322	target := &ret
28323	if err := gensupport.DecodeResponse(target, res); err != nil {
28324		return nil, err
28325	}
28326	return ret, nil
28327	// {
28328	//   "description": "Inserts a new creative.",
28329	//   "flatPath": "userprofiles/{profileId}/creatives",
28330	//   "httpMethod": "POST",
28331	//   "id": "dfareporting.creatives.insert",
28332	//   "parameterOrder": [
28333	//     "profileId"
28334	//   ],
28335	//   "parameters": {
28336	//     "profileId": {
28337	//       "description": "User profile ID associated with this request.",
28338	//       "format": "int64",
28339	//       "location": "path",
28340	//       "required": true,
28341	//       "type": "string"
28342	//     }
28343	//   },
28344	//   "path": "userprofiles/{profileId}/creatives",
28345	//   "request": {
28346	//     "$ref": "Creative"
28347	//   },
28348	//   "response": {
28349	//     "$ref": "Creative"
28350	//   },
28351	//   "scopes": [
28352	//     "https://www.googleapis.com/auth/dfatrafficking"
28353	//   ]
28354	// }
28355
28356}
28357
28358// method id "dfareporting.creatives.list":
28359
28360type CreativesListCall struct {
28361	s            *Service
28362	profileId    int64
28363	urlParams_   gensupport.URLParams
28364	ifNoneMatch_ string
28365	ctx_         context.Context
28366	header_      http.Header
28367}
28368
28369// List: Retrieves a list of creatives, possibly filtered. This method
28370// supports paging.
28371//
28372// - profileId: User profile ID associated with this request.
28373func (r *CreativesService) List(profileId int64) *CreativesListCall {
28374	c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28375	c.profileId = profileId
28376	return c
28377}
28378
28379// Active sets the optional parameter "active": Select only active
28380// creatives. Leave blank to select active and inactive creatives.
28381func (c *CreativesListCall) Active(active bool) *CreativesListCall {
28382	c.urlParams_.Set("active", fmt.Sprint(active))
28383	return c
28384}
28385
28386// AdvertiserId sets the optional parameter "advertiserId": Select only
28387// creatives with this advertiser ID.
28388func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
28389	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
28390	return c
28391}
28392
28393// Archived sets the optional parameter "archived": Select only archived
28394// creatives. Leave blank to select archived and unarchived creatives.
28395func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
28396	c.urlParams_.Set("archived", fmt.Sprint(archived))
28397	return c
28398}
28399
28400// CampaignId sets the optional parameter "campaignId": Select only
28401// creatives with this campaign ID.
28402func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
28403	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
28404	return c
28405}
28406
28407// CompanionCreativeIds sets the optional parameter
28408// "companionCreativeIds": Select only in-stream video creatives with
28409// these companion IDs.
28410func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds ...int64) *CreativesListCall {
28411	var companionCreativeIds_ []string
28412	for _, v := range companionCreativeIds {
28413		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprint(v))
28414	}
28415	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
28416	return c
28417}
28418
28419// CreativeFieldIds sets the optional parameter "creativeFieldIds":
28420// Select only creatives with these creative field IDs.
28421func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds ...int64) *CreativesListCall {
28422	var creativeFieldIds_ []string
28423	for _, v := range creativeFieldIds {
28424		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprint(v))
28425	}
28426	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
28427	return c
28428}
28429
28430// Ids sets the optional parameter "ids": Select only creatives with
28431// these IDs.
28432func (c *CreativesListCall) Ids(ids ...int64) *CreativesListCall {
28433	var ids_ []string
28434	for _, v := range ids {
28435		ids_ = append(ids_, fmt.Sprint(v))
28436	}
28437	c.urlParams_.SetMulti("ids", ids_)
28438	return c
28439}
28440
28441// MaxResults sets the optional parameter "maxResults": Maximum number
28442// of results to return.
28443func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
28444	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
28445	return c
28446}
28447
28448// PageToken sets the optional parameter "pageToken": Value of the
28449// nextPageToken from the previous result page.
28450func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
28451	c.urlParams_.Set("pageToken", pageToken)
28452	return c
28453}
28454
28455// RenderingIds sets the optional parameter "renderingIds": Select only
28456// creatives with these rendering IDs.
28457func (c *CreativesListCall) RenderingIds(renderingIds ...int64) *CreativesListCall {
28458	var renderingIds_ []string
28459	for _, v := range renderingIds {
28460		renderingIds_ = append(renderingIds_, fmt.Sprint(v))
28461	}
28462	c.urlParams_.SetMulti("renderingIds", renderingIds_)
28463	return c
28464}
28465
28466// SearchString sets the optional parameter "searchString": Allows
28467// searching for objects by name or ID. Wildcards (*) are allowed. For
28468// example, "creative*2015" will return objects with names like
28469// "creative June 2015", "creative April 2015", or simply "creative
28470// 2015". Most of the searches also add wildcards implicitly at the
28471// start and the end of the search string. For example, a search string
28472// of "creative" will match objects with name "my creative", "creative
28473// 2015", or simply "creative".
28474func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
28475	c.urlParams_.Set("searchString", searchString)
28476	return c
28477}
28478
28479// SizeIds sets the optional parameter "sizeIds": Select only creatives
28480// with these size IDs.
28481func (c *CreativesListCall) SizeIds(sizeIds ...int64) *CreativesListCall {
28482	var sizeIds_ []string
28483	for _, v := range sizeIds {
28484		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
28485	}
28486	c.urlParams_.SetMulti("sizeIds", sizeIds_)
28487	return c
28488}
28489
28490// SortField sets the optional parameter "sortField": Field by which to
28491// sort the list.
28492//
28493// Possible values:
28494//   "ID" (default)
28495//   "NAME"
28496func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
28497	c.urlParams_.Set("sortField", sortField)
28498	return c
28499}
28500
28501// SortOrder sets the optional parameter "sortOrder": Order of sorted
28502// results.
28503//
28504// Possible values:
28505//   "ASCENDING" (default)
28506//   "DESCENDING"
28507func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
28508	c.urlParams_.Set("sortOrder", sortOrder)
28509	return c
28510}
28511
28512// StudioCreativeId sets the optional parameter "studioCreativeId":
28513// Select only creatives corresponding to this Studio creative ID.
28514func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
28515	c.urlParams_.Set("studioCreativeId", fmt.Sprint(studioCreativeId))
28516	return c
28517}
28518
28519// Types sets the optional parameter "types": Select only creatives with
28520// these creative types.
28521//
28522// Possible values:
28523//   "IMAGE"
28524//   "DISPLAY_REDIRECT"
28525//   "CUSTOM_DISPLAY"
28526//   "INTERNAL_REDIRECT"
28527//   "CUSTOM_DISPLAY_INTERSTITIAL"
28528//   "INTERSTITIAL_INTERNAL_REDIRECT"
28529//   "TRACKING_TEXT"
28530//   "RICH_MEDIA_DISPLAY_BANNER"
28531//   "RICH_MEDIA_INPAGE_FLOATING"
28532//   "RICH_MEDIA_IM_EXPAND"
28533//   "RICH_MEDIA_DISPLAY_EXPANDING"
28534//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
28535//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
28536//   "RICH_MEDIA_MOBILE_IN_APP"
28537//   "FLASH_INPAGE"
28538//   "INSTREAM_VIDEO"
28539//   "VPAID_LINEAR_VIDEO"
28540//   "VPAID_NON_LINEAR_VIDEO"
28541//   "INSTREAM_VIDEO_REDIRECT"
28542//   "RICH_MEDIA_PEEL_DOWN"
28543//   "HTML5_BANNER"
28544//   "DISPLAY"
28545//   "DISPLAY_IMAGE_GALLERY"
28546//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
28547//   "INSTREAM_AUDIO"
28548func (c *CreativesListCall) Types(types ...string) *CreativesListCall {
28549	c.urlParams_.SetMulti("types", append([]string{}, types...))
28550	return c
28551}
28552
28553// Fields allows partial responses to be retrieved. See
28554// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28555// for more information.
28556func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
28557	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28558	return c
28559}
28560
28561// IfNoneMatch sets the optional parameter which makes the operation
28562// fail if the object's ETag matches the given value. This is useful for
28563// getting updates only after the object has changed since the last
28564// request. Use googleapi.IsNotModified to check whether the response
28565// error from Do is the result of In-None-Match.
28566func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
28567	c.ifNoneMatch_ = entityTag
28568	return c
28569}
28570
28571// Context sets the context to be used in this call's Do method. Any
28572// pending HTTP request will be aborted if the provided context is
28573// canceled.
28574func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
28575	c.ctx_ = ctx
28576	return c
28577}
28578
28579// Header returns an http.Header that can be modified by the caller to
28580// add HTTP headers to the request.
28581func (c *CreativesListCall) Header() http.Header {
28582	if c.header_ == nil {
28583		c.header_ = make(http.Header)
28584	}
28585	return c.header_
28586}
28587
28588func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
28589	reqHeaders := make(http.Header)
28590	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28591	for k, v := range c.header_ {
28592		reqHeaders[k] = v
28593	}
28594	reqHeaders.Set("User-Agent", c.s.userAgent())
28595	if c.ifNoneMatch_ != "" {
28596		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28597	}
28598	var body io.Reader = nil
28599	c.urlParams_.Set("alt", alt)
28600	c.urlParams_.Set("prettyPrint", "false")
28601	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28602	urls += "?" + c.urlParams_.Encode()
28603	req, err := http.NewRequest("GET", urls, body)
28604	if err != nil {
28605		return nil, err
28606	}
28607	req.Header = reqHeaders
28608	googleapi.Expand(req.URL, map[string]string{
28609		"profileId": strconv.FormatInt(c.profileId, 10),
28610	})
28611	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28612}
28613
28614// Do executes the "dfareporting.creatives.list" call.
28615// Exactly one of *CreativesListResponse or error will be non-nil. Any
28616// non-2xx status code is an error. Response headers are in either
28617// *CreativesListResponse.ServerResponse.Header or (if a response was
28618// returned at all) in error.(*googleapi.Error).Header. Use
28619// googleapi.IsNotModified to check whether the returned error was
28620// because http.StatusNotModified was returned.
28621func (c *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesListResponse, error) {
28622	gensupport.SetOptions(c.urlParams_, opts...)
28623	res, err := c.doRequest("json")
28624	if res != nil && res.StatusCode == http.StatusNotModified {
28625		if res.Body != nil {
28626			res.Body.Close()
28627		}
28628		return nil, &googleapi.Error{
28629			Code:   res.StatusCode,
28630			Header: res.Header,
28631		}
28632	}
28633	if err != nil {
28634		return nil, err
28635	}
28636	defer googleapi.CloseBody(res)
28637	if err := googleapi.CheckResponse(res); err != nil {
28638		return nil, err
28639	}
28640	ret := &CreativesListResponse{
28641		ServerResponse: googleapi.ServerResponse{
28642			Header:         res.Header,
28643			HTTPStatusCode: res.StatusCode,
28644		},
28645	}
28646	target := &ret
28647	if err := gensupport.DecodeResponse(target, res); err != nil {
28648		return nil, err
28649	}
28650	return ret, nil
28651	// {
28652	//   "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
28653	//   "flatPath": "userprofiles/{profileId}/creatives",
28654	//   "httpMethod": "GET",
28655	//   "id": "dfareporting.creatives.list",
28656	//   "parameterOrder": [
28657	//     "profileId"
28658	//   ],
28659	//   "parameters": {
28660	//     "active": {
28661	//       "description": "Select only active creatives. Leave blank to select active and inactive creatives.",
28662	//       "location": "query",
28663	//       "type": "boolean"
28664	//     },
28665	//     "advertiserId": {
28666	//       "description": "Select only creatives with this advertiser ID.",
28667	//       "format": "int64",
28668	//       "location": "query",
28669	//       "type": "string"
28670	//     },
28671	//     "archived": {
28672	//       "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.",
28673	//       "location": "query",
28674	//       "type": "boolean"
28675	//     },
28676	//     "campaignId": {
28677	//       "description": "Select only creatives with this campaign ID.",
28678	//       "format": "int64",
28679	//       "location": "query",
28680	//       "type": "string"
28681	//     },
28682	//     "companionCreativeIds": {
28683	//       "description": "Select only in-stream video creatives with these companion IDs.",
28684	//       "format": "int64",
28685	//       "location": "query",
28686	//       "repeated": true,
28687	//       "type": "string"
28688	//     },
28689	//     "creativeFieldIds": {
28690	//       "description": "Select only creatives with these creative field IDs.",
28691	//       "format": "int64",
28692	//       "location": "query",
28693	//       "repeated": true,
28694	//       "type": "string"
28695	//     },
28696	//     "ids": {
28697	//       "description": "Select only creatives with these IDs.",
28698	//       "format": "int64",
28699	//       "location": "query",
28700	//       "repeated": true,
28701	//       "type": "string"
28702	//     },
28703	//     "maxResults": {
28704	//       "default": "1000",
28705	//       "description": "Maximum number of results to return.",
28706	//       "format": "int32",
28707	//       "location": "query",
28708	//       "maximum": "1000",
28709	//       "minimum": "0",
28710	//       "type": "integer"
28711	//     },
28712	//     "pageToken": {
28713	//       "description": "Value of the nextPageToken from the previous result page.",
28714	//       "location": "query",
28715	//       "type": "string"
28716	//     },
28717	//     "profileId": {
28718	//       "description": "User profile ID associated with this request.",
28719	//       "format": "int64",
28720	//       "location": "path",
28721	//       "required": true,
28722	//       "type": "string"
28723	//     },
28724	//     "renderingIds": {
28725	//       "description": "Select only creatives with these rendering IDs.",
28726	//       "format": "int64",
28727	//       "location": "query",
28728	//       "repeated": true,
28729	//       "type": "string"
28730	//     },
28731	//     "searchString": {
28732	//       "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\".",
28733	//       "location": "query",
28734	//       "type": "string"
28735	//     },
28736	//     "sizeIds": {
28737	//       "description": "Select only creatives with these size IDs.",
28738	//       "format": "int64",
28739	//       "location": "query",
28740	//       "repeated": true,
28741	//       "type": "string"
28742	//     },
28743	//     "sortField": {
28744	//       "default": "ID",
28745	//       "description": "Field by which to sort the list.",
28746	//       "enum": [
28747	//         "ID",
28748	//         "NAME"
28749	//       ],
28750	//       "enumDescriptions": [
28751	//         "",
28752	//         ""
28753	//       ],
28754	//       "location": "query",
28755	//       "type": "string"
28756	//     },
28757	//     "sortOrder": {
28758	//       "default": "ASCENDING",
28759	//       "description": "Order of sorted results.",
28760	//       "enum": [
28761	//         "ASCENDING",
28762	//         "DESCENDING"
28763	//       ],
28764	//       "enumDescriptions": [
28765	//         "",
28766	//         ""
28767	//       ],
28768	//       "location": "query",
28769	//       "type": "string"
28770	//     },
28771	//     "studioCreativeId": {
28772	//       "description": "Select only creatives corresponding to this Studio creative ID.",
28773	//       "format": "int64",
28774	//       "location": "query",
28775	//       "type": "string"
28776	//     },
28777	//     "types": {
28778	//       "description": "Select only creatives with these creative types.",
28779	//       "enum": [
28780	//         "IMAGE",
28781	//         "DISPLAY_REDIRECT",
28782	//         "CUSTOM_DISPLAY",
28783	//         "INTERNAL_REDIRECT",
28784	//         "CUSTOM_DISPLAY_INTERSTITIAL",
28785	//         "INTERSTITIAL_INTERNAL_REDIRECT",
28786	//         "TRACKING_TEXT",
28787	//         "RICH_MEDIA_DISPLAY_BANNER",
28788	//         "RICH_MEDIA_INPAGE_FLOATING",
28789	//         "RICH_MEDIA_IM_EXPAND",
28790	//         "RICH_MEDIA_DISPLAY_EXPANDING",
28791	//         "RICH_MEDIA_DISPLAY_INTERSTITIAL",
28792	//         "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
28793	//         "RICH_MEDIA_MOBILE_IN_APP",
28794	//         "FLASH_INPAGE",
28795	//         "INSTREAM_VIDEO",
28796	//         "VPAID_LINEAR_VIDEO",
28797	//         "VPAID_NON_LINEAR_VIDEO",
28798	//         "INSTREAM_VIDEO_REDIRECT",
28799	//         "RICH_MEDIA_PEEL_DOWN",
28800	//         "HTML5_BANNER",
28801	//         "DISPLAY",
28802	//         "DISPLAY_IMAGE_GALLERY",
28803	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
28804	//         "INSTREAM_AUDIO"
28805	//       ],
28806	//       "enumDescriptions": [
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	//         ""
28832	//       ],
28833	//       "location": "query",
28834	//       "repeated": true,
28835	//       "type": "string"
28836	//     }
28837	//   },
28838	//   "path": "userprofiles/{profileId}/creatives",
28839	//   "response": {
28840	//     "$ref": "CreativesListResponse"
28841	//   },
28842	//   "scopes": [
28843	//     "https://www.googleapis.com/auth/dfatrafficking"
28844	//   ]
28845	// }
28846
28847}
28848
28849// Pages invokes f for each page of results.
28850// A non-nil error returned from f will halt the iteration.
28851// The provided context supersedes any context provided to the Context method.
28852func (c *CreativesListCall) Pages(ctx context.Context, f func(*CreativesListResponse) error) error {
28853	c.ctx_ = ctx
28854	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
28855	for {
28856		x, err := c.Do()
28857		if err != nil {
28858			return err
28859		}
28860		if err := f(x); err != nil {
28861			return err
28862		}
28863		if x.NextPageToken == "" {
28864			return nil
28865		}
28866		c.PageToken(x.NextPageToken)
28867	}
28868}
28869
28870// method id "dfareporting.creatives.patch":
28871
28872type CreativesPatchCall struct {
28873	s          *Service
28874	profileId  int64
28875	creative   *Creative
28876	urlParams_ gensupport.URLParams
28877	ctx_       context.Context
28878	header_    http.Header
28879}
28880
28881// Patch: Updates an existing creative. This method supports patch
28882// semantics.
28883//
28884// - id: Creative ID.
28885// - profileId: User profile ID associated with this request.
28886func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
28887	c := &CreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28888	c.profileId = profileId
28889	c.urlParams_.Set("id", fmt.Sprint(id))
28890	c.creative = creative
28891	return c
28892}
28893
28894// Fields allows partial responses to be retrieved. See
28895// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28896// for more information.
28897func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
28898	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28899	return c
28900}
28901
28902// Context sets the context to be used in this call's Do method. Any
28903// pending HTTP request will be aborted if the provided context is
28904// canceled.
28905func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
28906	c.ctx_ = ctx
28907	return c
28908}
28909
28910// Header returns an http.Header that can be modified by the caller to
28911// add HTTP headers to the request.
28912func (c *CreativesPatchCall) Header() http.Header {
28913	if c.header_ == nil {
28914		c.header_ = make(http.Header)
28915	}
28916	return c.header_
28917}
28918
28919func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
28920	reqHeaders := make(http.Header)
28921	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28922	for k, v := range c.header_ {
28923		reqHeaders[k] = v
28924	}
28925	reqHeaders.Set("User-Agent", c.s.userAgent())
28926	var body io.Reader = nil
28927	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
28928	if err != nil {
28929		return nil, err
28930	}
28931	reqHeaders.Set("Content-Type", "application/json")
28932	c.urlParams_.Set("alt", alt)
28933	c.urlParams_.Set("prettyPrint", "false")
28934	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28935	urls += "?" + c.urlParams_.Encode()
28936	req, err := http.NewRequest("PATCH", urls, body)
28937	if err != nil {
28938		return nil, err
28939	}
28940	req.Header = reqHeaders
28941	googleapi.Expand(req.URL, map[string]string{
28942		"profileId": strconv.FormatInt(c.profileId, 10),
28943	})
28944	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28945}
28946
28947// Do executes the "dfareporting.creatives.patch" call.
28948// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28949// code is an error. Response headers are in either
28950// *Creative.ServerResponse.Header or (if a response was returned at
28951// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28952// to check whether the returned error was because
28953// http.StatusNotModified was returned.
28954func (c *CreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28955	gensupport.SetOptions(c.urlParams_, opts...)
28956	res, err := c.doRequest("json")
28957	if res != nil && res.StatusCode == http.StatusNotModified {
28958		if res.Body != nil {
28959			res.Body.Close()
28960		}
28961		return nil, &googleapi.Error{
28962			Code:   res.StatusCode,
28963			Header: res.Header,
28964		}
28965	}
28966	if err != nil {
28967		return nil, err
28968	}
28969	defer googleapi.CloseBody(res)
28970	if err := googleapi.CheckResponse(res); err != nil {
28971		return nil, err
28972	}
28973	ret := &Creative{
28974		ServerResponse: googleapi.ServerResponse{
28975			Header:         res.Header,
28976			HTTPStatusCode: res.StatusCode,
28977		},
28978	}
28979	target := &ret
28980	if err := gensupport.DecodeResponse(target, res); err != nil {
28981		return nil, err
28982	}
28983	return ret, nil
28984	// {
28985	//   "description": "Updates an existing creative. This method supports patch semantics.",
28986	//   "flatPath": "userprofiles/{profileId}/creatives",
28987	//   "httpMethod": "PATCH",
28988	//   "id": "dfareporting.creatives.patch",
28989	//   "parameterOrder": [
28990	//     "profileId",
28991	//     "id"
28992	//   ],
28993	//   "parameters": {
28994	//     "id": {
28995	//       "description": "Creative ID.",
28996	//       "format": "int64",
28997	//       "location": "query",
28998	//       "required": true,
28999	//       "type": "string"
29000	//     },
29001	//     "profileId": {
29002	//       "description": "User profile ID associated with this request.",
29003	//       "format": "int64",
29004	//       "location": "path",
29005	//       "required": true,
29006	//       "type": "string"
29007	//     }
29008	//   },
29009	//   "path": "userprofiles/{profileId}/creatives",
29010	//   "request": {
29011	//     "$ref": "Creative"
29012	//   },
29013	//   "response": {
29014	//     "$ref": "Creative"
29015	//   },
29016	//   "scopes": [
29017	//     "https://www.googleapis.com/auth/dfatrafficking"
29018	//   ]
29019	// }
29020
29021}
29022
29023// method id "dfareporting.creatives.update":
29024
29025type CreativesUpdateCall struct {
29026	s          *Service
29027	profileId  int64
29028	creative   *Creative
29029	urlParams_ gensupport.URLParams
29030	ctx_       context.Context
29031	header_    http.Header
29032}
29033
29034// Update: Updates an existing creative.
29035//
29036// - profileId: User profile ID associated with this request.
29037func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
29038	c := &CreativesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29039	c.profileId = profileId
29040	c.creative = creative
29041	return c
29042}
29043
29044// Fields allows partial responses to be retrieved. See
29045// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29046// for more information.
29047func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
29048	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29049	return c
29050}
29051
29052// Context sets the context to be used in this call's Do method. Any
29053// pending HTTP request will be aborted if the provided context is
29054// canceled.
29055func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
29056	c.ctx_ = ctx
29057	return c
29058}
29059
29060// Header returns an http.Header that can be modified by the caller to
29061// add HTTP headers to the request.
29062func (c *CreativesUpdateCall) Header() http.Header {
29063	if c.header_ == nil {
29064		c.header_ = make(http.Header)
29065	}
29066	return c.header_
29067}
29068
29069func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
29070	reqHeaders := make(http.Header)
29071	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
29072	for k, v := range c.header_ {
29073		reqHeaders[k] = v
29074	}
29075	reqHeaders.Set("User-Agent", c.s.userAgent())
29076	var body io.Reader = nil
29077	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
29078	if err != nil {
29079		return nil, err
29080	}
29081	reqHeaders.Set("Content-Type", "application/json")
29082	c.urlParams_.Set("alt", alt)
29083	c.urlParams_.Set("prettyPrint", "false")
29084	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
29085	urls += "?" + c.urlParams_.Encode()
29086	req, err := http.NewRequest("PUT", urls, body)
29087	if err != nil {
29088		return nil, err
29089	}
29090	req.Header = reqHeaders
29091	googleapi.Expand(req.URL, map[string]string{
29092		"profileId": strconv.FormatInt(c.profileId, 10),
29093	})
29094	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29095}
29096
29097// Do executes the "dfareporting.creatives.update" call.
29098// Exactly one of *Creative or error will be non-nil. Any non-2xx status
29099// code is an error. Response headers are in either
29100// *Creative.ServerResponse.Header or (if a response was returned at
29101// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
29102// to check whether the returned error was because
29103// http.StatusNotModified was returned.
29104func (c *CreativesUpdateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
29105	gensupport.SetOptions(c.urlParams_, opts...)
29106	res, err := c.doRequest("json")
29107	if res != nil && res.StatusCode == http.StatusNotModified {
29108		if res.Body != nil {
29109			res.Body.Close()
29110		}
29111		return nil, &googleapi.Error{
29112			Code:   res.StatusCode,
29113			Header: res.Header,
29114		}
29115	}
29116	if err != nil {
29117		return nil, err
29118	}
29119	defer googleapi.CloseBody(res)
29120	if err := googleapi.CheckResponse(res); err != nil {
29121		return nil, err
29122	}
29123	ret := &Creative{
29124		ServerResponse: googleapi.ServerResponse{
29125			Header:         res.Header,
29126			HTTPStatusCode: res.StatusCode,
29127		},
29128	}
29129	target := &ret
29130	if err := gensupport.DecodeResponse(target, res); err != nil {
29131		return nil, err
29132	}
29133	return ret, nil
29134	// {
29135	//   "description": "Updates an existing creative.",
29136	//   "flatPath": "userprofiles/{profileId}/creatives",
29137	//   "httpMethod": "PUT",
29138	//   "id": "dfareporting.creatives.update",
29139	//   "parameterOrder": [
29140	//     "profileId"
29141	//   ],
29142	//   "parameters": {
29143	//     "profileId": {
29144	//       "description": "User profile ID associated with this request.",
29145	//       "format": "int64",
29146	//       "location": "path",
29147	//       "required": true,
29148	//       "type": "string"
29149	//     }
29150	//   },
29151	//   "path": "userprofiles/{profileId}/creatives",
29152	//   "request": {
29153	//     "$ref": "Creative"
29154	//   },
29155	//   "response": {
29156	//     "$ref": "Creative"
29157	//   },
29158	//   "scopes": [
29159	//     "https://www.googleapis.com/auth/dfatrafficking"
29160	//   ]
29161	// }
29162
29163}
29164
29165// method id "dfareporting.dimensionValues.query":
29166
29167type DimensionValuesQueryCall struct {
29168	s                     *Service
29169	profileId             int64
29170	dimensionvaluerequest *DimensionValueRequest
29171	urlParams_            gensupport.URLParams
29172	ctx_                  context.Context
29173	header_               http.Header
29174}
29175
29176// Query: Retrieves list of report dimension values for a list of
29177// filters.
29178//
29179// - profileId: The Campaign Manager 360 user profile ID.
29180func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
29181	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29182	c.profileId = profileId
29183	c.dimensionvaluerequest = dimensionvaluerequest
29184	return c
29185}
29186
29187// MaxResults sets the optional parameter "maxResults": Maximum number
29188// of results to return.
29189func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
29190	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
29191	return c
29192}
29193
29194// PageToken sets the optional parameter "pageToken": The value of the
29195// nextToken from the previous result page.
29196func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
29197	c.urlParams_.Set("pageToken", pageToken)
29198	return c
29199}
29200
29201// Fields allows partial responses to be retrieved. See
29202// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29203// for more information.
29204func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
29205	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29206	return c
29207}
29208
29209// Context sets the context to be used in this call's Do method. Any
29210// pending HTTP request will be aborted if the provided context is
29211// canceled.
29212func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
29213	c.ctx_ = ctx
29214	return c
29215}
29216
29217// Header returns an http.Header that can be modified by the caller to
29218// add HTTP headers to the request.
29219func (c *DimensionValuesQueryCall) Header() http.Header {
29220	if c.header_ == nil {
29221		c.header_ = make(http.Header)
29222	}
29223	return c.header_
29224}
29225
29226func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
29227	reqHeaders := make(http.Header)
29228	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
29229	for k, v := range c.header_ {
29230		reqHeaders[k] = v
29231	}
29232	reqHeaders.Set("User-Agent", c.s.userAgent())
29233	var body io.Reader = nil
29234	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dimensionvaluerequest)
29235	if err != nil {
29236		return nil, err
29237	}
29238	reqHeaders.Set("Content-Type", "application/json")
29239	c.urlParams_.Set("alt", alt)
29240	c.urlParams_.Set("prettyPrint", "false")
29241	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
29242	urls += "?" + c.urlParams_.Encode()
29243	req, err := http.NewRequest("POST", urls, body)
29244	if err != nil {
29245		return nil, err
29246	}
29247	req.Header = reqHeaders
29248	googleapi.Expand(req.URL, map[string]string{
29249		"profileId": strconv.FormatInt(c.profileId, 10),
29250	})
29251	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29252}
29253
29254// Do executes the "dfareporting.dimensionValues.query" call.
29255// Exactly one of *DimensionValueList or error will be non-nil. Any
29256// non-2xx status code is an error. Response headers are in either
29257// *DimensionValueList.ServerResponse.Header or (if a response was
29258// returned at all) in error.(*googleapi.Error).Header. Use
29259// googleapi.IsNotModified to check whether the returned error was
29260// because http.StatusNotModified was returned.
29261func (c *DimensionValuesQueryCall) Do(opts ...googleapi.CallOption) (*DimensionValueList, error) {
29262	gensupport.SetOptions(c.urlParams_, opts...)
29263	res, err := c.doRequest("json")
29264	if res != nil && res.StatusCode == http.StatusNotModified {
29265		if res.Body != nil {
29266			res.Body.Close()
29267		}
29268		return nil, &googleapi.Error{
29269			Code:   res.StatusCode,
29270			Header: res.Header,
29271		}
29272	}
29273	if err != nil {
29274		return nil, err
29275	}
29276	defer googleapi.CloseBody(res)
29277	if err := googleapi.CheckResponse(res); err != nil {
29278		return nil, err
29279	}
29280	ret := &DimensionValueList{
29281		ServerResponse: googleapi.ServerResponse{
29282			Header:         res.Header,
29283			HTTPStatusCode: res.StatusCode,
29284		},
29285	}
29286	target := &ret
29287	if err := gensupport.DecodeResponse(target, res); err != nil {
29288		return nil, err
29289	}
29290	return ret, nil
29291	// {
29292	//   "description": "Retrieves list of report dimension values for a list of filters.",
29293	//   "flatPath": "userprofiles/{profileId}/dimensionvalues/query",
29294	//   "httpMethod": "POST",
29295	//   "id": "dfareporting.dimensionValues.query",
29296	//   "parameterOrder": [
29297	//     "profileId"
29298	//   ],
29299	//   "parameters": {
29300	//     "maxResults": {
29301	//       "default": "100",
29302	//       "description": "Maximum number of results to return.",
29303	//       "format": "int32",
29304	//       "location": "query",
29305	//       "maximum": "100",
29306	//       "minimum": "0",
29307	//       "type": "integer"
29308	//     },
29309	//     "pageToken": {
29310	//       "description": "The value of the nextToken from the previous result page.",
29311	//       "location": "query",
29312	//       "type": "string"
29313	//     },
29314	//     "profileId": {
29315	//       "description": "The Campaign Manager 360 user profile ID.",
29316	//       "format": "int64",
29317	//       "location": "path",
29318	//       "required": true,
29319	//       "type": "string"
29320	//     }
29321	//   },
29322	//   "path": "userprofiles/{profileId}/dimensionvalues/query",
29323	//   "request": {
29324	//     "$ref": "DimensionValueRequest"
29325	//   },
29326	//   "response": {
29327	//     "$ref": "DimensionValueList"
29328	//   },
29329	//   "scopes": [
29330	//     "https://www.googleapis.com/auth/dfareporting"
29331	//   ]
29332	// }
29333
29334}
29335
29336// Pages invokes f for each page of results.
29337// A non-nil error returned from f will halt the iteration.
29338// The provided context supersedes any context provided to the Context method.
29339func (c *DimensionValuesQueryCall) Pages(ctx context.Context, f func(*DimensionValueList) error) error {
29340	c.ctx_ = ctx
29341	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29342	for {
29343		x, err := c.Do()
29344		if err != nil {
29345			return err
29346		}
29347		if err := f(x); err != nil {
29348			return err
29349		}
29350		if x.NextPageToken == "" {
29351			return nil
29352		}
29353		c.PageToken(x.NextPageToken)
29354	}
29355}
29356
29357// method id "dfareporting.directorySites.get":
29358
29359type DirectorySitesGetCall struct {
29360	s            *Service
29361	profileId    int64
29362	id           int64
29363	urlParams_   gensupport.URLParams
29364	ifNoneMatch_ string
29365	ctx_         context.Context
29366	header_      http.Header
29367}
29368
29369// Get: Gets one directory site by ID.
29370//
29371// - id: Directory site ID.
29372// - profileId: User profile ID associated with this request.
29373func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
29374	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29375	c.profileId = profileId
29376	c.id = id
29377	return c
29378}
29379
29380// Fields allows partial responses to be retrieved. See
29381// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29382// for more information.
29383func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
29384	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29385	return c
29386}
29387
29388// IfNoneMatch sets the optional parameter which makes the operation
29389// fail if the object's ETag matches the given value. This is useful for
29390// getting updates only after the object has changed since the last
29391// request. Use googleapi.IsNotModified to check whether the response
29392// error from Do is the result of In-None-Match.
29393func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
29394	c.ifNoneMatch_ = entityTag
29395	return c
29396}
29397
29398// Context sets the context to be used in this call's Do method. Any
29399// pending HTTP request will be aborted if the provided context is
29400// canceled.
29401func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
29402	c.ctx_ = ctx
29403	return c
29404}
29405
29406// Header returns an http.Header that can be modified by the caller to
29407// add HTTP headers to the request.
29408func (c *DirectorySitesGetCall) Header() http.Header {
29409	if c.header_ == nil {
29410		c.header_ = make(http.Header)
29411	}
29412	return c.header_
29413}
29414
29415func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
29416	reqHeaders := make(http.Header)
29417	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
29418	for k, v := range c.header_ {
29419		reqHeaders[k] = v
29420	}
29421	reqHeaders.Set("User-Agent", c.s.userAgent())
29422	if c.ifNoneMatch_ != "" {
29423		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29424	}
29425	var body io.Reader = nil
29426	c.urlParams_.Set("alt", alt)
29427	c.urlParams_.Set("prettyPrint", "false")
29428	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
29429	urls += "?" + c.urlParams_.Encode()
29430	req, err := http.NewRequest("GET", urls, body)
29431	if err != nil {
29432		return nil, err
29433	}
29434	req.Header = reqHeaders
29435	googleapi.Expand(req.URL, map[string]string{
29436		"profileId": strconv.FormatInt(c.profileId, 10),
29437		"id":        strconv.FormatInt(c.id, 10),
29438	})
29439	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29440}
29441
29442// Do executes the "dfareporting.directorySites.get" call.
29443// Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
29444// status code is an error. Response headers are in either
29445// *DirectorySite.ServerResponse.Header or (if a response was returned
29446// at all) in error.(*googleapi.Error).Header. Use
29447// googleapi.IsNotModified to check whether the returned error was
29448// because http.StatusNotModified was returned.
29449func (c *DirectorySitesGetCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
29450	gensupport.SetOptions(c.urlParams_, opts...)
29451	res, err := c.doRequest("json")
29452	if res != nil && res.StatusCode == http.StatusNotModified {
29453		if res.Body != nil {
29454			res.Body.Close()
29455		}
29456		return nil, &googleapi.Error{
29457			Code:   res.StatusCode,
29458			Header: res.Header,
29459		}
29460	}
29461	if err != nil {
29462		return nil, err
29463	}
29464	defer googleapi.CloseBody(res)
29465	if err := googleapi.CheckResponse(res); err != nil {
29466		return nil, err
29467	}
29468	ret := &DirectorySite{
29469		ServerResponse: googleapi.ServerResponse{
29470			Header:         res.Header,
29471			HTTPStatusCode: res.StatusCode,
29472		},
29473	}
29474	target := &ret
29475	if err := gensupport.DecodeResponse(target, res); err != nil {
29476		return nil, err
29477	}
29478	return ret, nil
29479	// {
29480	//   "description": "Gets one directory site by ID.",
29481	//   "flatPath": "userprofiles/{profileId}/directorySites/{id}",
29482	//   "httpMethod": "GET",
29483	//   "id": "dfareporting.directorySites.get",
29484	//   "parameterOrder": [
29485	//     "profileId",
29486	//     "id"
29487	//   ],
29488	//   "parameters": {
29489	//     "id": {
29490	//       "description": "Directory site ID.",
29491	//       "format": "int64",
29492	//       "location": "path",
29493	//       "required": true,
29494	//       "type": "string"
29495	//     },
29496	//     "profileId": {
29497	//       "description": "User profile ID associated with this request.",
29498	//       "format": "int64",
29499	//       "location": "path",
29500	//       "required": true,
29501	//       "type": "string"
29502	//     }
29503	//   },
29504	//   "path": "userprofiles/{profileId}/directorySites/{id}",
29505	//   "response": {
29506	//     "$ref": "DirectorySite"
29507	//   },
29508	//   "scopes": [
29509	//     "https://www.googleapis.com/auth/dfatrafficking"
29510	//   ]
29511	// }
29512
29513}
29514
29515// method id "dfareporting.directorySites.insert":
29516
29517type DirectorySitesInsertCall struct {
29518	s             *Service
29519	profileId     int64
29520	directorysite *DirectorySite
29521	urlParams_    gensupport.URLParams
29522	ctx_          context.Context
29523	header_       http.Header
29524}
29525
29526// Insert: Inserts a new directory site.
29527//
29528// - profileId: User profile ID associated with this request.
29529func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
29530	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29531	c.profileId = profileId
29532	c.directorysite = directorysite
29533	return c
29534}
29535
29536// Fields allows partial responses to be retrieved. See
29537// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29538// for more information.
29539func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
29540	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29541	return c
29542}
29543
29544// Context sets the context to be used in this call's Do method. Any
29545// pending HTTP request will be aborted if the provided context is
29546// canceled.
29547func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
29548	c.ctx_ = ctx
29549	return c
29550}
29551
29552// Header returns an http.Header that can be modified by the caller to
29553// add HTTP headers to the request.
29554func (c *DirectorySitesInsertCall) Header() http.Header {
29555	if c.header_ == nil {
29556		c.header_ = make(http.Header)
29557	}
29558	return c.header_
29559}
29560
29561func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
29562	reqHeaders := make(http.Header)
29563	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
29564	for k, v := range c.header_ {
29565		reqHeaders[k] = v
29566	}
29567	reqHeaders.Set("User-Agent", c.s.userAgent())
29568	var body io.Reader = nil
29569	body, err := googleapi.WithoutDataWrapper.JSONReader(c.directorysite)
29570	if err != nil {
29571		return nil, err
29572	}
29573	reqHeaders.Set("Content-Type", "application/json")
29574	c.urlParams_.Set("alt", alt)
29575	c.urlParams_.Set("prettyPrint", "false")
29576	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
29577	urls += "?" + c.urlParams_.Encode()
29578	req, err := http.NewRequest("POST", urls, body)
29579	if err != nil {
29580		return nil, err
29581	}
29582	req.Header = reqHeaders
29583	googleapi.Expand(req.URL, map[string]string{
29584		"profileId": strconv.FormatInt(c.profileId, 10),
29585	})
29586	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29587}
29588
29589// Do executes the "dfareporting.directorySites.insert" call.
29590// Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
29591// status code is an error. Response headers are in either
29592// *DirectorySite.ServerResponse.Header or (if a response was returned
29593// at all) in error.(*googleapi.Error).Header. Use
29594// googleapi.IsNotModified to check whether the returned error was
29595// because http.StatusNotModified was returned.
29596func (c *DirectorySitesInsertCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
29597	gensupport.SetOptions(c.urlParams_, opts...)
29598	res, err := c.doRequest("json")
29599	if res != nil && res.StatusCode == http.StatusNotModified {
29600		if res.Body != nil {
29601			res.Body.Close()
29602		}
29603		return nil, &googleapi.Error{
29604			Code:   res.StatusCode,
29605			Header: res.Header,
29606		}
29607	}
29608	if err != nil {
29609		return nil, err
29610	}
29611	defer googleapi.CloseBody(res)
29612	if err := googleapi.CheckResponse(res); err != nil {
29613		return nil, err
29614	}
29615	ret := &DirectorySite{
29616		ServerResponse: googleapi.ServerResponse{
29617			Header:         res.Header,
29618			HTTPStatusCode: res.StatusCode,
29619		},
29620	}
29621	target := &ret
29622	if err := gensupport.DecodeResponse(target, res); err != nil {
29623		return nil, err
29624	}
29625	return ret, nil
29626	// {
29627	//   "description": "Inserts a new directory site.",
29628	//   "flatPath": "userprofiles/{profileId}/directorySites",
29629	//   "httpMethod": "POST",
29630	//   "id": "dfareporting.directorySites.insert",
29631	//   "parameterOrder": [
29632	//     "profileId"
29633	//   ],
29634	//   "parameters": {
29635	//     "profileId": {
29636	//       "description": "User profile ID associated with this request.",
29637	//       "format": "int64",
29638	//       "location": "path",
29639	//       "required": true,
29640	//       "type": "string"
29641	//     }
29642	//   },
29643	//   "path": "userprofiles/{profileId}/directorySites",
29644	//   "request": {
29645	//     "$ref": "DirectorySite"
29646	//   },
29647	//   "response": {
29648	//     "$ref": "DirectorySite"
29649	//   },
29650	//   "scopes": [
29651	//     "https://www.googleapis.com/auth/dfatrafficking"
29652	//   ]
29653	// }
29654
29655}
29656
29657// method id "dfareporting.directorySites.list":
29658
29659type DirectorySitesListCall struct {
29660	s            *Service
29661	profileId    int64
29662	urlParams_   gensupport.URLParams
29663	ifNoneMatch_ string
29664	ctx_         context.Context
29665	header_      http.Header
29666}
29667
29668// List: Retrieves a list of directory sites, possibly filtered. This
29669// method supports paging.
29670//
29671// - profileId: User profile ID associated with this request.
29672func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
29673	c := &DirectorySitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29674	c.profileId = profileId
29675	return c
29676}
29677
29678// AcceptsInStreamVideoPlacements sets the optional parameter
29679// "acceptsInStreamVideoPlacements": This search filter is no longer
29680// supported and will have no effect on the results returned.
29681func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
29682	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
29683	return c
29684}
29685
29686// AcceptsInterstitialPlacements sets the optional parameter
29687// "acceptsInterstitialPlacements": This search filter is no longer
29688// supported and will have no effect on the results returned.
29689func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
29690	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
29691	return c
29692}
29693
29694// AcceptsPublisherPaidPlacements sets the optional parameter
29695// "acceptsPublisherPaidPlacements": Select only directory sites that
29696// accept publisher paid placements. This field can be left blank.
29697func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
29698	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
29699	return c
29700}
29701
29702// Active sets the optional parameter "active": Select only active
29703// directory sites. Leave blank to retrieve both active and inactive
29704// directory sites.
29705func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
29706	c.urlParams_.Set("active", fmt.Sprint(active))
29707	return c
29708}
29709
29710// DfpNetworkCode sets the optional parameter "dfpNetworkCode": Select
29711// only directory sites with this Ad Manager network code.
29712func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
29713	c.urlParams_.Set("dfpNetworkCode", dfpNetworkCode)
29714	return c
29715}
29716
29717// Ids sets the optional parameter "ids": Select only directory sites
29718// with these IDs.
29719func (c *DirectorySitesListCall) Ids(ids ...int64) *DirectorySitesListCall {
29720	var ids_ []string
29721	for _, v := range ids {
29722		ids_ = append(ids_, fmt.Sprint(v))
29723	}
29724	c.urlParams_.SetMulti("ids", ids_)
29725	return c
29726}
29727
29728// MaxResults sets the optional parameter "maxResults": Maximum number
29729// of results to return.
29730func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
29731	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
29732	return c
29733}
29734
29735// PageToken sets the optional parameter "pageToken": Value of the
29736// nextPageToken from the previous result page.
29737func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
29738	c.urlParams_.Set("pageToken", pageToken)
29739	return c
29740}
29741
29742// SearchString sets the optional parameter "searchString": Allows
29743// searching for objects by name, ID or URL. Wildcards (*) are allowed.
29744// For example, "directory site*2015" will return objects with names
29745// like "directory site June 2015", "directory site April 2015", or
29746// simply "directory site 2015". Most of the searches also add wildcards
29747// implicitly at the start and the end of the search string. For
29748// example, a search string of "directory site" will match objects with
29749// name "my directory site", "directory site 2015" or simply, "directory
29750// site".
29751func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
29752	c.urlParams_.Set("searchString", searchString)
29753	return c
29754}
29755
29756// SortField sets the optional parameter "sortField": Field by which to
29757// sort the list.
29758//
29759// Possible values:
29760//   "ID" (default)
29761//   "NAME"
29762func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
29763	c.urlParams_.Set("sortField", sortField)
29764	return c
29765}
29766
29767// SortOrder sets the optional parameter "sortOrder": Order of sorted
29768// results.
29769//
29770// Possible values:
29771//   "ASCENDING" (default)
29772//   "DESCENDING"
29773func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
29774	c.urlParams_.Set("sortOrder", sortOrder)
29775	return c
29776}
29777
29778// Fields allows partial responses to be retrieved. See
29779// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29780// for more information.
29781func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
29782	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29783	return c
29784}
29785
29786// IfNoneMatch sets the optional parameter which makes the operation
29787// fail if the object's ETag matches the given value. This is useful for
29788// getting updates only after the object has changed since the last
29789// request. Use googleapi.IsNotModified to check whether the response
29790// error from Do is the result of In-None-Match.
29791func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
29792	c.ifNoneMatch_ = entityTag
29793	return c
29794}
29795
29796// Context sets the context to be used in this call's Do method. Any
29797// pending HTTP request will be aborted if the provided context is
29798// canceled.
29799func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
29800	c.ctx_ = ctx
29801	return c
29802}
29803
29804// Header returns an http.Header that can be modified by the caller to
29805// add HTTP headers to the request.
29806func (c *DirectorySitesListCall) Header() http.Header {
29807	if c.header_ == nil {
29808		c.header_ = make(http.Header)
29809	}
29810	return c.header_
29811}
29812
29813func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
29814	reqHeaders := make(http.Header)
29815	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
29816	for k, v := range c.header_ {
29817		reqHeaders[k] = v
29818	}
29819	reqHeaders.Set("User-Agent", c.s.userAgent())
29820	if c.ifNoneMatch_ != "" {
29821		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29822	}
29823	var body io.Reader = nil
29824	c.urlParams_.Set("alt", alt)
29825	c.urlParams_.Set("prettyPrint", "false")
29826	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
29827	urls += "?" + c.urlParams_.Encode()
29828	req, err := http.NewRequest("GET", urls, body)
29829	if err != nil {
29830		return nil, err
29831	}
29832	req.Header = reqHeaders
29833	googleapi.Expand(req.URL, map[string]string{
29834		"profileId": strconv.FormatInt(c.profileId, 10),
29835	})
29836	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29837}
29838
29839// Do executes the "dfareporting.directorySites.list" call.
29840// Exactly one of *DirectorySitesListResponse or error will be non-nil.
29841// Any non-2xx status code is an error. Response headers are in either
29842// *DirectorySitesListResponse.ServerResponse.Header or (if a response
29843// was returned at all) in error.(*googleapi.Error).Header. Use
29844// googleapi.IsNotModified to check whether the returned error was
29845// because http.StatusNotModified was returned.
29846func (c *DirectorySitesListCall) Do(opts ...googleapi.CallOption) (*DirectorySitesListResponse, error) {
29847	gensupport.SetOptions(c.urlParams_, opts...)
29848	res, err := c.doRequest("json")
29849	if res != nil && res.StatusCode == http.StatusNotModified {
29850		if res.Body != nil {
29851			res.Body.Close()
29852		}
29853		return nil, &googleapi.Error{
29854			Code:   res.StatusCode,
29855			Header: res.Header,
29856		}
29857	}
29858	if err != nil {
29859		return nil, err
29860	}
29861	defer googleapi.CloseBody(res)
29862	if err := googleapi.CheckResponse(res); err != nil {
29863		return nil, err
29864	}
29865	ret := &DirectorySitesListResponse{
29866		ServerResponse: googleapi.ServerResponse{
29867			Header:         res.Header,
29868			HTTPStatusCode: res.StatusCode,
29869		},
29870	}
29871	target := &ret
29872	if err := gensupport.DecodeResponse(target, res); err != nil {
29873		return nil, err
29874	}
29875	return ret, nil
29876	// {
29877	//   "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
29878	//   "flatPath": "userprofiles/{profileId}/directorySites",
29879	//   "httpMethod": "GET",
29880	//   "id": "dfareporting.directorySites.list",
29881	//   "parameterOrder": [
29882	//     "profileId"
29883	//   ],
29884	//   "parameters": {
29885	//     "acceptsInStreamVideoPlacements": {
29886	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
29887	//       "location": "query",
29888	//       "type": "boolean"
29889	//     },
29890	//     "acceptsInterstitialPlacements": {
29891	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
29892	//       "location": "query",
29893	//       "type": "boolean"
29894	//     },
29895	//     "acceptsPublisherPaidPlacements": {
29896	//       "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.",
29897	//       "location": "query",
29898	//       "type": "boolean"
29899	//     },
29900	//     "active": {
29901	//       "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.",
29902	//       "location": "query",
29903	//       "type": "boolean"
29904	//     },
29905	//     "dfpNetworkCode": {
29906	//       "description": "Select only directory sites with this Ad Manager network code.",
29907	//       "location": "query",
29908	//       "type": "string"
29909	//     },
29910	//     "ids": {
29911	//       "description": "Select only directory sites with these IDs.",
29912	//       "format": "int64",
29913	//       "location": "query",
29914	//       "repeated": true,
29915	//       "type": "string"
29916	//     },
29917	//     "maxResults": {
29918	//       "default": "1000",
29919	//       "description": "Maximum number of results to return.",
29920	//       "format": "int32",
29921	//       "location": "query",
29922	//       "maximum": "1000",
29923	//       "minimum": "0",
29924	//       "type": "integer"
29925	//     },
29926	//     "pageToken": {
29927	//       "description": "Value of the nextPageToken from the previous result page.",
29928	//       "location": "query",
29929	//       "type": "string"
29930	//     },
29931	//     "profileId": {
29932	//       "description": "User profile ID associated with this request.",
29933	//       "format": "int64",
29934	//       "location": "path",
29935	//       "required": true,
29936	//       "type": "string"
29937	//     },
29938	//     "searchString": {
29939	//       "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\".",
29940	//       "location": "query",
29941	//       "type": "string"
29942	//     },
29943	//     "sortField": {
29944	//       "default": "ID",
29945	//       "description": "Field by which to sort the list.",
29946	//       "enum": [
29947	//         "ID",
29948	//         "NAME"
29949	//       ],
29950	//       "enumDescriptions": [
29951	//         "",
29952	//         ""
29953	//       ],
29954	//       "location": "query",
29955	//       "type": "string"
29956	//     },
29957	//     "sortOrder": {
29958	//       "default": "ASCENDING",
29959	//       "description": "Order of sorted results.",
29960	//       "enum": [
29961	//         "ASCENDING",
29962	//         "DESCENDING"
29963	//       ],
29964	//       "enumDescriptions": [
29965	//         "",
29966	//         ""
29967	//       ],
29968	//       "location": "query",
29969	//       "type": "string"
29970	//     }
29971	//   },
29972	//   "path": "userprofiles/{profileId}/directorySites",
29973	//   "response": {
29974	//     "$ref": "DirectorySitesListResponse"
29975	//   },
29976	//   "scopes": [
29977	//     "https://www.googleapis.com/auth/dfatrafficking"
29978	//   ]
29979	// }
29980
29981}
29982
29983// Pages invokes f for each page of results.
29984// A non-nil error returned from f will halt the iteration.
29985// The provided context supersedes any context provided to the Context method.
29986func (c *DirectorySitesListCall) Pages(ctx context.Context, f func(*DirectorySitesListResponse) error) error {
29987	c.ctx_ = ctx
29988	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29989	for {
29990		x, err := c.Do()
29991		if err != nil {
29992			return err
29993		}
29994		if err := f(x); err != nil {
29995			return err
29996		}
29997		if x.NextPageToken == "" {
29998			return nil
29999		}
30000		c.PageToken(x.NextPageToken)
30001	}
30002}
30003
30004// method id "dfareporting.dynamicTargetingKeys.delete":
30005
30006type DynamicTargetingKeysDeleteCall struct {
30007	s          *Service
30008	profileId  int64
30009	objectId   int64
30010	urlParams_ gensupport.URLParams
30011	ctx_       context.Context
30012	header_    http.Header
30013}
30014
30015// Delete: Deletes an existing dynamic targeting key.
30016//
30017// - name: Name of this dynamic targeting key. This is a required field.
30018//   Must be less than 256 characters long and cannot contain commas.
30019//   All characters are converted to lowercase.
30020// - objectId: ID of the object of this dynamic targeting key. This is a
30021//   required field.
30022// - objectType: Type of the object of this dynamic targeting key. This
30023//   is a required field.
30024// - profileId: User profile ID associated with this request.
30025func (r *DynamicTargetingKeysService) Delete(profileId int64, objectId int64, name string, objectType string) *DynamicTargetingKeysDeleteCall {
30026	c := &DynamicTargetingKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30027	c.profileId = profileId
30028	c.objectId = objectId
30029	c.urlParams_.Set("name", name)
30030	c.urlParams_.Set("objectType", objectType)
30031	return c
30032}
30033
30034// Fields allows partial responses to be retrieved. See
30035// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30036// for more information.
30037func (c *DynamicTargetingKeysDeleteCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysDeleteCall {
30038	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30039	return c
30040}
30041
30042// Context sets the context to be used in this call's Do method. Any
30043// pending HTTP request will be aborted if the provided context is
30044// canceled.
30045func (c *DynamicTargetingKeysDeleteCall) Context(ctx context.Context) *DynamicTargetingKeysDeleteCall {
30046	c.ctx_ = ctx
30047	return c
30048}
30049
30050// Header returns an http.Header that can be modified by the caller to
30051// add HTTP headers to the request.
30052func (c *DynamicTargetingKeysDeleteCall) Header() http.Header {
30053	if c.header_ == nil {
30054		c.header_ = make(http.Header)
30055	}
30056	return c.header_
30057}
30058
30059func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
30060	reqHeaders := make(http.Header)
30061	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
30062	for k, v := range c.header_ {
30063		reqHeaders[k] = v
30064	}
30065	reqHeaders.Set("User-Agent", c.s.userAgent())
30066	var body io.Reader = nil
30067	c.urlParams_.Set("alt", alt)
30068	c.urlParams_.Set("prettyPrint", "false")
30069	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}")
30070	urls += "?" + c.urlParams_.Encode()
30071	req, err := http.NewRequest("DELETE", urls, body)
30072	if err != nil {
30073		return nil, err
30074	}
30075	req.Header = reqHeaders
30076	googleapi.Expand(req.URL, map[string]string{
30077		"profileId": strconv.FormatInt(c.profileId, 10),
30078		"objectId":  strconv.FormatInt(c.objectId, 10),
30079	})
30080	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30081}
30082
30083// Do executes the "dfareporting.dynamicTargetingKeys.delete" call.
30084func (c *DynamicTargetingKeysDeleteCall) Do(opts ...googleapi.CallOption) error {
30085	gensupport.SetOptions(c.urlParams_, opts...)
30086	res, err := c.doRequest("json")
30087	if err != nil {
30088		return err
30089	}
30090	defer googleapi.CloseBody(res)
30091	if err := googleapi.CheckResponse(res); err != nil {
30092		return err
30093	}
30094	return nil
30095	// {
30096	//   "description": "Deletes an existing dynamic targeting key.",
30097	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
30098	//   "httpMethod": "DELETE",
30099	//   "id": "dfareporting.dynamicTargetingKeys.delete",
30100	//   "parameterOrder": [
30101	//     "profileId",
30102	//     "objectId",
30103	//     "name",
30104	//     "objectType"
30105	//   ],
30106	//   "parameters": {
30107	//     "name": {
30108	//       "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.",
30109	//       "location": "query",
30110	//       "required": true,
30111	//       "type": "string"
30112	//     },
30113	//     "objectId": {
30114	//       "description": "ID of the object of this dynamic targeting key. This is a required field.",
30115	//       "format": "int64",
30116	//       "location": "path",
30117	//       "required": true,
30118	//       "type": "string"
30119	//     },
30120	//     "objectType": {
30121	//       "description": "Type of the object of this dynamic targeting key. This is a required field.",
30122	//       "enum": [
30123	//         "OBJECT_ADVERTISER",
30124	//         "OBJECT_AD",
30125	//         "OBJECT_CREATIVE",
30126	//         "OBJECT_PLACEMENT"
30127	//       ],
30128	//       "enumDescriptions": [
30129	//         "",
30130	//         "",
30131	//         "",
30132	//         ""
30133	//       ],
30134	//       "location": "query",
30135	//       "required": true,
30136	//       "type": "string"
30137	//     },
30138	//     "profileId": {
30139	//       "description": "User profile ID associated with this request.",
30140	//       "format": "int64",
30141	//       "location": "path",
30142	//       "required": true,
30143	//       "type": "string"
30144	//     }
30145	//   },
30146	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
30147	//   "scopes": [
30148	//     "https://www.googleapis.com/auth/dfatrafficking"
30149	//   ]
30150	// }
30151
30152}
30153
30154// method id "dfareporting.dynamicTargetingKeys.insert":
30155
30156type DynamicTargetingKeysInsertCall struct {
30157	s                   *Service
30158	profileId           int64
30159	dynamictargetingkey *DynamicTargetingKey
30160	urlParams_          gensupport.URLParams
30161	ctx_                context.Context
30162	header_             http.Header
30163}
30164
30165// Insert: Inserts a new dynamic targeting key. Keys must be created at
30166// the advertiser level before being assigned to the advertiser's ads,
30167// creatives, or placements. There is a maximum of 1000 keys per
30168// advertiser, out of which a maximum of 20 keys can be assigned per ad,
30169// creative, or placement.
30170//
30171// - profileId: User profile ID associated with this request.
30172func (r *DynamicTargetingKeysService) Insert(profileId int64, dynamictargetingkey *DynamicTargetingKey) *DynamicTargetingKeysInsertCall {
30173	c := &DynamicTargetingKeysInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30174	c.profileId = profileId
30175	c.dynamictargetingkey = dynamictargetingkey
30176	return c
30177}
30178
30179// Fields allows partial responses to be retrieved. See
30180// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30181// for more information.
30182func (c *DynamicTargetingKeysInsertCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysInsertCall {
30183	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30184	return c
30185}
30186
30187// Context sets the context to be used in this call's Do method. Any
30188// pending HTTP request will be aborted if the provided context is
30189// canceled.
30190func (c *DynamicTargetingKeysInsertCall) Context(ctx context.Context) *DynamicTargetingKeysInsertCall {
30191	c.ctx_ = ctx
30192	return c
30193}
30194
30195// Header returns an http.Header that can be modified by the caller to
30196// add HTTP headers to the request.
30197func (c *DynamicTargetingKeysInsertCall) Header() http.Header {
30198	if c.header_ == nil {
30199		c.header_ = make(http.Header)
30200	}
30201	return c.header_
30202}
30203
30204func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
30205	reqHeaders := make(http.Header)
30206	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
30207	for k, v := range c.header_ {
30208		reqHeaders[k] = v
30209	}
30210	reqHeaders.Set("User-Agent", c.s.userAgent())
30211	var body io.Reader = nil
30212	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dynamictargetingkey)
30213	if err != nil {
30214		return nil, err
30215	}
30216	reqHeaders.Set("Content-Type", "application/json")
30217	c.urlParams_.Set("alt", alt)
30218	c.urlParams_.Set("prettyPrint", "false")
30219	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
30220	urls += "?" + c.urlParams_.Encode()
30221	req, err := http.NewRequest("POST", urls, body)
30222	if err != nil {
30223		return nil, err
30224	}
30225	req.Header = reqHeaders
30226	googleapi.Expand(req.URL, map[string]string{
30227		"profileId": strconv.FormatInt(c.profileId, 10),
30228	})
30229	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30230}
30231
30232// Do executes the "dfareporting.dynamicTargetingKeys.insert" call.
30233// Exactly one of *DynamicTargetingKey or error will be non-nil. Any
30234// non-2xx status code is an error. Response headers are in either
30235// *DynamicTargetingKey.ServerResponse.Header or (if a response was
30236// returned at all) in error.(*googleapi.Error).Header. Use
30237// googleapi.IsNotModified to check whether the returned error was
30238// because http.StatusNotModified was returned.
30239func (c *DynamicTargetingKeysInsertCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKey, error) {
30240	gensupport.SetOptions(c.urlParams_, opts...)
30241	res, err := c.doRequest("json")
30242	if res != nil && res.StatusCode == http.StatusNotModified {
30243		if res.Body != nil {
30244			res.Body.Close()
30245		}
30246		return nil, &googleapi.Error{
30247			Code:   res.StatusCode,
30248			Header: res.Header,
30249		}
30250	}
30251	if err != nil {
30252		return nil, err
30253	}
30254	defer googleapi.CloseBody(res)
30255	if err := googleapi.CheckResponse(res); err != nil {
30256		return nil, err
30257	}
30258	ret := &DynamicTargetingKey{
30259		ServerResponse: googleapi.ServerResponse{
30260			Header:         res.Header,
30261			HTTPStatusCode: res.StatusCode,
30262		},
30263	}
30264	target := &ret
30265	if err := gensupport.DecodeResponse(target, res); err != nil {
30266		return nil, err
30267	}
30268	return ret, nil
30269	// {
30270	//   "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.",
30271	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
30272	//   "httpMethod": "POST",
30273	//   "id": "dfareporting.dynamicTargetingKeys.insert",
30274	//   "parameterOrder": [
30275	//     "profileId"
30276	//   ],
30277	//   "parameters": {
30278	//     "profileId": {
30279	//       "description": "User profile ID associated with this request.",
30280	//       "format": "int64",
30281	//       "location": "path",
30282	//       "required": true,
30283	//       "type": "string"
30284	//     }
30285	//   },
30286	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
30287	//   "request": {
30288	//     "$ref": "DynamicTargetingKey"
30289	//   },
30290	//   "response": {
30291	//     "$ref": "DynamicTargetingKey"
30292	//   },
30293	//   "scopes": [
30294	//     "https://www.googleapis.com/auth/dfatrafficking"
30295	//   ]
30296	// }
30297
30298}
30299
30300// method id "dfareporting.dynamicTargetingKeys.list":
30301
30302type DynamicTargetingKeysListCall struct {
30303	s            *Service
30304	profileId    int64
30305	urlParams_   gensupport.URLParams
30306	ifNoneMatch_ string
30307	ctx_         context.Context
30308	header_      http.Header
30309}
30310
30311// List: Retrieves a list of dynamic targeting keys.
30312//
30313// - profileId: User profile ID associated with this request.
30314func (r *DynamicTargetingKeysService) List(profileId int64) *DynamicTargetingKeysListCall {
30315	c := &DynamicTargetingKeysListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30316	c.profileId = profileId
30317	return c
30318}
30319
30320// AdvertiserId sets the optional parameter "advertiserId": Select only
30321// dynamic targeting keys whose object has this advertiser ID.
30322func (c *DynamicTargetingKeysListCall) AdvertiserId(advertiserId int64) *DynamicTargetingKeysListCall {
30323	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30324	return c
30325}
30326
30327// Names sets the optional parameter "names": Select only dynamic
30328// targeting keys exactly matching these names.
30329func (c *DynamicTargetingKeysListCall) Names(names ...string) *DynamicTargetingKeysListCall {
30330	c.urlParams_.SetMulti("names", append([]string{}, names...))
30331	return c
30332}
30333
30334// ObjectId sets the optional parameter "objectId": Select only dynamic
30335// targeting keys with this object ID.
30336func (c *DynamicTargetingKeysListCall) ObjectId(objectId int64) *DynamicTargetingKeysListCall {
30337	c.urlParams_.Set("objectId", fmt.Sprint(objectId))
30338	return c
30339}
30340
30341// ObjectType sets the optional parameter "objectType": Select only
30342// dynamic targeting keys with this object type.
30343//
30344// Possible values:
30345//   "OBJECT_ADVERTISER"
30346//   "OBJECT_AD"
30347//   "OBJECT_CREATIVE"
30348//   "OBJECT_PLACEMENT"
30349func (c *DynamicTargetingKeysListCall) ObjectType(objectType string) *DynamicTargetingKeysListCall {
30350	c.urlParams_.Set("objectType", objectType)
30351	return c
30352}
30353
30354// Fields allows partial responses to be retrieved. See
30355// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30356// for more information.
30357func (c *DynamicTargetingKeysListCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysListCall {
30358	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30359	return c
30360}
30361
30362// IfNoneMatch sets the optional parameter which makes the operation
30363// fail if the object's ETag matches the given value. This is useful for
30364// getting updates only after the object has changed since the last
30365// request. Use googleapi.IsNotModified to check whether the response
30366// error from Do is the result of In-None-Match.
30367func (c *DynamicTargetingKeysListCall) IfNoneMatch(entityTag string) *DynamicTargetingKeysListCall {
30368	c.ifNoneMatch_ = entityTag
30369	return c
30370}
30371
30372// Context sets the context to be used in this call's Do method. Any
30373// pending HTTP request will be aborted if the provided context is
30374// canceled.
30375func (c *DynamicTargetingKeysListCall) Context(ctx context.Context) *DynamicTargetingKeysListCall {
30376	c.ctx_ = ctx
30377	return c
30378}
30379
30380// Header returns an http.Header that can be modified by the caller to
30381// add HTTP headers to the request.
30382func (c *DynamicTargetingKeysListCall) Header() http.Header {
30383	if c.header_ == nil {
30384		c.header_ = make(http.Header)
30385	}
30386	return c.header_
30387}
30388
30389func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
30390	reqHeaders := make(http.Header)
30391	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
30392	for k, v := range c.header_ {
30393		reqHeaders[k] = v
30394	}
30395	reqHeaders.Set("User-Agent", c.s.userAgent())
30396	if c.ifNoneMatch_ != "" {
30397		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30398	}
30399	var body io.Reader = nil
30400	c.urlParams_.Set("alt", alt)
30401	c.urlParams_.Set("prettyPrint", "false")
30402	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
30403	urls += "?" + c.urlParams_.Encode()
30404	req, err := http.NewRequest("GET", urls, body)
30405	if err != nil {
30406		return nil, err
30407	}
30408	req.Header = reqHeaders
30409	googleapi.Expand(req.URL, map[string]string{
30410		"profileId": strconv.FormatInt(c.profileId, 10),
30411	})
30412	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30413}
30414
30415// Do executes the "dfareporting.dynamicTargetingKeys.list" call.
30416// Exactly one of *DynamicTargetingKeysListResponse or error will be
30417// non-nil. Any non-2xx status code is an error. Response headers are in
30418// either *DynamicTargetingKeysListResponse.ServerResponse.Header or (if
30419// a response was returned at all) in error.(*googleapi.Error).Header.
30420// Use googleapi.IsNotModified to check whether the returned error was
30421// because http.StatusNotModified was returned.
30422func (c *DynamicTargetingKeysListCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKeysListResponse, error) {
30423	gensupport.SetOptions(c.urlParams_, opts...)
30424	res, err := c.doRequest("json")
30425	if res != nil && res.StatusCode == http.StatusNotModified {
30426		if res.Body != nil {
30427			res.Body.Close()
30428		}
30429		return nil, &googleapi.Error{
30430			Code:   res.StatusCode,
30431			Header: res.Header,
30432		}
30433	}
30434	if err != nil {
30435		return nil, err
30436	}
30437	defer googleapi.CloseBody(res)
30438	if err := googleapi.CheckResponse(res); err != nil {
30439		return nil, err
30440	}
30441	ret := &DynamicTargetingKeysListResponse{
30442		ServerResponse: googleapi.ServerResponse{
30443			Header:         res.Header,
30444			HTTPStatusCode: res.StatusCode,
30445		},
30446	}
30447	target := &ret
30448	if err := gensupport.DecodeResponse(target, res); err != nil {
30449		return nil, err
30450	}
30451	return ret, nil
30452	// {
30453	//   "description": "Retrieves a list of dynamic targeting keys.",
30454	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
30455	//   "httpMethod": "GET",
30456	//   "id": "dfareporting.dynamicTargetingKeys.list",
30457	//   "parameterOrder": [
30458	//     "profileId"
30459	//   ],
30460	//   "parameters": {
30461	//     "advertiserId": {
30462	//       "description": "Select only dynamic targeting keys whose object has this advertiser ID.",
30463	//       "format": "int64",
30464	//       "location": "query",
30465	//       "type": "string"
30466	//     },
30467	//     "names": {
30468	//       "description": "Select only dynamic targeting keys exactly matching these names.",
30469	//       "location": "query",
30470	//       "repeated": true,
30471	//       "type": "string"
30472	//     },
30473	//     "objectId": {
30474	//       "description": "Select only dynamic targeting keys with this object ID.",
30475	//       "format": "int64",
30476	//       "location": "query",
30477	//       "type": "string"
30478	//     },
30479	//     "objectType": {
30480	//       "description": "Select only dynamic targeting keys with this object type.",
30481	//       "enum": [
30482	//         "OBJECT_ADVERTISER",
30483	//         "OBJECT_AD",
30484	//         "OBJECT_CREATIVE",
30485	//         "OBJECT_PLACEMENT"
30486	//       ],
30487	//       "enumDescriptions": [
30488	//         "",
30489	//         "",
30490	//         "",
30491	//         ""
30492	//       ],
30493	//       "location": "query",
30494	//       "type": "string"
30495	//     },
30496	//     "profileId": {
30497	//       "description": "User profile ID associated with this request.",
30498	//       "format": "int64",
30499	//       "location": "path",
30500	//       "required": true,
30501	//       "type": "string"
30502	//     }
30503	//   },
30504	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
30505	//   "response": {
30506	//     "$ref": "DynamicTargetingKeysListResponse"
30507	//   },
30508	//   "scopes": [
30509	//     "https://www.googleapis.com/auth/dfatrafficking"
30510	//   ]
30511	// }
30512
30513}
30514
30515// method id "dfareporting.eventTags.delete":
30516
30517type EventTagsDeleteCall struct {
30518	s          *Service
30519	profileId  int64
30520	id         int64
30521	urlParams_ gensupport.URLParams
30522	ctx_       context.Context
30523	header_    http.Header
30524}
30525
30526// Delete: Deletes an existing event tag.
30527//
30528// - id: Event tag ID.
30529// - profileId: User profile ID associated with this request.
30530func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
30531	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30532	c.profileId = profileId
30533	c.id = id
30534	return c
30535}
30536
30537// Fields allows partial responses to be retrieved. See
30538// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30539// for more information.
30540func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
30541	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30542	return c
30543}
30544
30545// Context sets the context to be used in this call's Do method. Any
30546// pending HTTP request will be aborted if the provided context is
30547// canceled.
30548func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
30549	c.ctx_ = ctx
30550	return c
30551}
30552
30553// Header returns an http.Header that can be modified by the caller to
30554// add HTTP headers to the request.
30555func (c *EventTagsDeleteCall) Header() http.Header {
30556	if c.header_ == nil {
30557		c.header_ = make(http.Header)
30558	}
30559	return c.header_
30560}
30561
30562func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
30563	reqHeaders := make(http.Header)
30564	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
30565	for k, v := range c.header_ {
30566		reqHeaders[k] = v
30567	}
30568	reqHeaders.Set("User-Agent", c.s.userAgent())
30569	var body io.Reader = nil
30570	c.urlParams_.Set("alt", alt)
30571	c.urlParams_.Set("prettyPrint", "false")
30572	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
30573	urls += "?" + c.urlParams_.Encode()
30574	req, err := http.NewRequest("DELETE", urls, body)
30575	if err != nil {
30576		return nil, err
30577	}
30578	req.Header = reqHeaders
30579	googleapi.Expand(req.URL, map[string]string{
30580		"profileId": strconv.FormatInt(c.profileId, 10),
30581		"id":        strconv.FormatInt(c.id, 10),
30582	})
30583	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30584}
30585
30586// Do executes the "dfareporting.eventTags.delete" call.
30587func (c *EventTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
30588	gensupport.SetOptions(c.urlParams_, opts...)
30589	res, err := c.doRequest("json")
30590	if err != nil {
30591		return err
30592	}
30593	defer googleapi.CloseBody(res)
30594	if err := googleapi.CheckResponse(res); err != nil {
30595		return err
30596	}
30597	return nil
30598	// {
30599	//   "description": "Deletes an existing event tag.",
30600	//   "flatPath": "userprofiles/{profileId}/eventTags/{id}",
30601	//   "httpMethod": "DELETE",
30602	//   "id": "dfareporting.eventTags.delete",
30603	//   "parameterOrder": [
30604	//     "profileId",
30605	//     "id"
30606	//   ],
30607	//   "parameters": {
30608	//     "id": {
30609	//       "description": "Event tag ID.",
30610	//       "format": "int64",
30611	//       "location": "path",
30612	//       "required": true,
30613	//       "type": "string"
30614	//     },
30615	//     "profileId": {
30616	//       "description": "User profile ID associated with this request.",
30617	//       "format": "int64",
30618	//       "location": "path",
30619	//       "required": true,
30620	//       "type": "string"
30621	//     }
30622	//   },
30623	//   "path": "userprofiles/{profileId}/eventTags/{id}",
30624	//   "scopes": [
30625	//     "https://www.googleapis.com/auth/dfatrafficking"
30626	//   ]
30627	// }
30628
30629}
30630
30631// method id "dfareporting.eventTags.get":
30632
30633type EventTagsGetCall struct {
30634	s            *Service
30635	profileId    int64
30636	id           int64
30637	urlParams_   gensupport.URLParams
30638	ifNoneMatch_ string
30639	ctx_         context.Context
30640	header_      http.Header
30641}
30642
30643// Get: Gets one event tag by ID.
30644//
30645// - id: Event tag ID.
30646// - profileId: User profile ID associated with this request.
30647func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
30648	c := &EventTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30649	c.profileId = profileId
30650	c.id = id
30651	return c
30652}
30653
30654// Fields allows partial responses to be retrieved. See
30655// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30656// for more information.
30657func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
30658	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30659	return c
30660}
30661
30662// IfNoneMatch sets the optional parameter which makes the operation
30663// fail if the object's ETag matches the given value. This is useful for
30664// getting updates only after the object has changed since the last
30665// request. Use googleapi.IsNotModified to check whether the response
30666// error from Do is the result of In-None-Match.
30667func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
30668	c.ifNoneMatch_ = entityTag
30669	return c
30670}
30671
30672// Context sets the context to be used in this call's Do method. Any
30673// pending HTTP request will be aborted if the provided context is
30674// canceled.
30675func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
30676	c.ctx_ = ctx
30677	return c
30678}
30679
30680// Header returns an http.Header that can be modified by the caller to
30681// add HTTP headers to the request.
30682func (c *EventTagsGetCall) Header() http.Header {
30683	if c.header_ == nil {
30684		c.header_ = make(http.Header)
30685	}
30686	return c.header_
30687}
30688
30689func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
30690	reqHeaders := make(http.Header)
30691	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
30692	for k, v := range c.header_ {
30693		reqHeaders[k] = v
30694	}
30695	reqHeaders.Set("User-Agent", c.s.userAgent())
30696	if c.ifNoneMatch_ != "" {
30697		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30698	}
30699	var body io.Reader = nil
30700	c.urlParams_.Set("alt", alt)
30701	c.urlParams_.Set("prettyPrint", "false")
30702	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
30703	urls += "?" + c.urlParams_.Encode()
30704	req, err := http.NewRequest("GET", urls, body)
30705	if err != nil {
30706		return nil, err
30707	}
30708	req.Header = reqHeaders
30709	googleapi.Expand(req.URL, map[string]string{
30710		"profileId": strconv.FormatInt(c.profileId, 10),
30711		"id":        strconv.FormatInt(c.id, 10),
30712	})
30713	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30714}
30715
30716// Do executes the "dfareporting.eventTags.get" call.
30717// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
30718// code is an error. Response headers are in either
30719// *EventTag.ServerResponse.Header or (if a response was returned at
30720// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
30721// to check whether the returned error was because
30722// http.StatusNotModified was returned.
30723func (c *EventTagsGetCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
30724	gensupport.SetOptions(c.urlParams_, opts...)
30725	res, err := c.doRequest("json")
30726	if res != nil && res.StatusCode == http.StatusNotModified {
30727		if res.Body != nil {
30728			res.Body.Close()
30729		}
30730		return nil, &googleapi.Error{
30731			Code:   res.StatusCode,
30732			Header: res.Header,
30733		}
30734	}
30735	if err != nil {
30736		return nil, err
30737	}
30738	defer googleapi.CloseBody(res)
30739	if err := googleapi.CheckResponse(res); err != nil {
30740		return nil, err
30741	}
30742	ret := &EventTag{
30743		ServerResponse: googleapi.ServerResponse{
30744			Header:         res.Header,
30745			HTTPStatusCode: res.StatusCode,
30746		},
30747	}
30748	target := &ret
30749	if err := gensupport.DecodeResponse(target, res); err != nil {
30750		return nil, err
30751	}
30752	return ret, nil
30753	// {
30754	//   "description": "Gets one event tag by ID.",
30755	//   "flatPath": "userprofiles/{profileId}/eventTags/{id}",
30756	//   "httpMethod": "GET",
30757	//   "id": "dfareporting.eventTags.get",
30758	//   "parameterOrder": [
30759	//     "profileId",
30760	//     "id"
30761	//   ],
30762	//   "parameters": {
30763	//     "id": {
30764	//       "description": "Event tag ID.",
30765	//       "format": "int64",
30766	//       "location": "path",
30767	//       "required": true,
30768	//       "type": "string"
30769	//     },
30770	//     "profileId": {
30771	//       "description": "User profile ID associated with this request.",
30772	//       "format": "int64",
30773	//       "location": "path",
30774	//       "required": true,
30775	//       "type": "string"
30776	//     }
30777	//   },
30778	//   "path": "userprofiles/{profileId}/eventTags/{id}",
30779	//   "response": {
30780	//     "$ref": "EventTag"
30781	//   },
30782	//   "scopes": [
30783	//     "https://www.googleapis.com/auth/dfatrafficking"
30784	//   ]
30785	// }
30786
30787}
30788
30789// method id "dfareporting.eventTags.insert":
30790
30791type EventTagsInsertCall struct {
30792	s          *Service
30793	profileId  int64
30794	eventtag   *EventTag
30795	urlParams_ gensupport.URLParams
30796	ctx_       context.Context
30797	header_    http.Header
30798}
30799
30800// Insert: Inserts a new event tag.
30801//
30802// - profileId: User profile ID associated with this request.
30803func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
30804	c := &EventTagsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30805	c.profileId = profileId
30806	c.eventtag = eventtag
30807	return c
30808}
30809
30810// Fields allows partial responses to be retrieved. See
30811// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30812// for more information.
30813func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
30814	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30815	return c
30816}
30817
30818// Context sets the context to be used in this call's Do method. Any
30819// pending HTTP request will be aborted if the provided context is
30820// canceled.
30821func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
30822	c.ctx_ = ctx
30823	return c
30824}
30825
30826// Header returns an http.Header that can be modified by the caller to
30827// add HTTP headers to the request.
30828func (c *EventTagsInsertCall) Header() http.Header {
30829	if c.header_ == nil {
30830		c.header_ = make(http.Header)
30831	}
30832	return c.header_
30833}
30834
30835func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
30836	reqHeaders := make(http.Header)
30837	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
30838	for k, v := range c.header_ {
30839		reqHeaders[k] = v
30840	}
30841	reqHeaders.Set("User-Agent", c.s.userAgent())
30842	var body io.Reader = nil
30843	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
30844	if err != nil {
30845		return nil, err
30846	}
30847	reqHeaders.Set("Content-Type", "application/json")
30848	c.urlParams_.Set("alt", alt)
30849	c.urlParams_.Set("prettyPrint", "false")
30850	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
30851	urls += "?" + c.urlParams_.Encode()
30852	req, err := http.NewRequest("POST", urls, body)
30853	if err != nil {
30854		return nil, err
30855	}
30856	req.Header = reqHeaders
30857	googleapi.Expand(req.URL, map[string]string{
30858		"profileId": strconv.FormatInt(c.profileId, 10),
30859	})
30860	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30861}
30862
30863// Do executes the "dfareporting.eventTags.insert" call.
30864// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
30865// code is an error. Response headers are in either
30866// *EventTag.ServerResponse.Header or (if a response was returned at
30867// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
30868// to check whether the returned error was because
30869// http.StatusNotModified was returned.
30870func (c *EventTagsInsertCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
30871	gensupport.SetOptions(c.urlParams_, opts...)
30872	res, err := c.doRequest("json")
30873	if res != nil && res.StatusCode == http.StatusNotModified {
30874		if res.Body != nil {
30875			res.Body.Close()
30876		}
30877		return nil, &googleapi.Error{
30878			Code:   res.StatusCode,
30879			Header: res.Header,
30880		}
30881	}
30882	if err != nil {
30883		return nil, err
30884	}
30885	defer googleapi.CloseBody(res)
30886	if err := googleapi.CheckResponse(res); err != nil {
30887		return nil, err
30888	}
30889	ret := &EventTag{
30890		ServerResponse: googleapi.ServerResponse{
30891			Header:         res.Header,
30892			HTTPStatusCode: res.StatusCode,
30893		},
30894	}
30895	target := &ret
30896	if err := gensupport.DecodeResponse(target, res); err != nil {
30897		return nil, err
30898	}
30899	return ret, nil
30900	// {
30901	//   "description": "Inserts a new event tag.",
30902	//   "flatPath": "userprofiles/{profileId}/eventTags",
30903	//   "httpMethod": "POST",
30904	//   "id": "dfareporting.eventTags.insert",
30905	//   "parameterOrder": [
30906	//     "profileId"
30907	//   ],
30908	//   "parameters": {
30909	//     "profileId": {
30910	//       "description": "User profile ID associated with this request.",
30911	//       "format": "int64",
30912	//       "location": "path",
30913	//       "required": true,
30914	//       "type": "string"
30915	//     }
30916	//   },
30917	//   "path": "userprofiles/{profileId}/eventTags",
30918	//   "request": {
30919	//     "$ref": "EventTag"
30920	//   },
30921	//   "response": {
30922	//     "$ref": "EventTag"
30923	//   },
30924	//   "scopes": [
30925	//     "https://www.googleapis.com/auth/dfatrafficking"
30926	//   ]
30927	// }
30928
30929}
30930
30931// method id "dfareporting.eventTags.list":
30932
30933type EventTagsListCall struct {
30934	s            *Service
30935	profileId    int64
30936	urlParams_   gensupport.URLParams
30937	ifNoneMatch_ string
30938	ctx_         context.Context
30939	header_      http.Header
30940}
30941
30942// List: Retrieves a list of event tags, possibly filtered.
30943//
30944// - profileId: User profile ID associated with this request.
30945func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
30946	c := &EventTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30947	c.profileId = profileId
30948	return c
30949}
30950
30951// AdId sets the optional parameter "adId": Select only event tags that
30952// belong to this ad.
30953func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
30954	c.urlParams_.Set("adId", fmt.Sprint(adId))
30955	return c
30956}
30957
30958// AdvertiserId sets the optional parameter "advertiserId": Select only
30959// event tags that belong to this advertiser.
30960func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
30961	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30962	return c
30963}
30964
30965// CampaignId sets the optional parameter "campaignId": Select only
30966// event tags that belong to this campaign.
30967func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
30968	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
30969	return c
30970}
30971
30972// DefinitionsOnly sets the optional parameter "definitionsOnly":
30973// Examine only the specified campaign or advertiser's event tags for
30974// matching selector criteria. When set to false, the parent advertiser
30975// and parent campaign of the specified ad or campaign is examined as
30976// well. In addition, when set to false, the status field is examined as
30977// well, along with the enabledByDefault field. This parameter can not
30978// be set to true when adId is specified as ads do not define their own
30979// even tags.
30980func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
30981	c.urlParams_.Set("definitionsOnly", fmt.Sprint(definitionsOnly))
30982	return c
30983}
30984
30985// Enabled sets the optional parameter "enabled": Select only enabled
30986// event tags. What is considered enabled or disabled depends on the
30987// definitionsOnly parameter. When definitionsOnly is set to true, only
30988// the specified advertiser or campaign's event tags' enabledByDefault
30989// field is examined. When definitionsOnly is set to false, the
30990// specified ad or specified campaign's parent advertiser's or parent
30991// campaign's event tags' enabledByDefault and status fields are
30992// examined as well.
30993func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
30994	c.urlParams_.Set("enabled", fmt.Sprint(enabled))
30995	return c
30996}
30997
30998// EventTagTypes sets the optional parameter "eventTagTypes": Select
30999// only event tags with the specified event tag types. Event tag types
31000// can be used to specify whether to use a third-party pixel, a
31001// third-party JavaScript URL, or a third-party click-through URL for
31002// either impression or click tracking.
31003//
31004// Possible values:
31005//   "IMPRESSION_IMAGE_EVENT_TAG"
31006//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
31007//   "CLICK_THROUGH_EVENT_TAG"
31008func (c *EventTagsListCall) EventTagTypes(eventTagTypes ...string) *EventTagsListCall {
31009	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
31010	return c
31011}
31012
31013// Ids sets the optional parameter "ids": Select only event tags with
31014// these IDs.
31015func (c *EventTagsListCall) Ids(ids ...int64) *EventTagsListCall {
31016	var ids_ []string
31017	for _, v := range ids {
31018		ids_ = append(ids_, fmt.Sprint(v))
31019	}
31020	c.urlParams_.SetMulti("ids", ids_)
31021	return c
31022}
31023
31024// SearchString sets the optional parameter "searchString": Allows
31025// searching for objects by name or ID. Wildcards (*) are allowed. For
31026// example, "eventtag*2015" will return objects with names like
31027// "eventtag June 2015", "eventtag April 2015", or simply "eventtag
31028// 2015". Most of the searches also add wildcards implicitly at the
31029// start and the end of the search string. For example, a search string
31030// of "eventtag" will match objects with name "my eventtag", "eventtag
31031// 2015", or simply "eventtag".
31032func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
31033	c.urlParams_.Set("searchString", searchString)
31034	return c
31035}
31036
31037// SortField sets the optional parameter "sortField": Field by which to
31038// sort the list.
31039//
31040// Possible values:
31041//   "ID" (default)
31042//   "NAME"
31043func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
31044	c.urlParams_.Set("sortField", sortField)
31045	return c
31046}
31047
31048// SortOrder sets the optional parameter "sortOrder": Order of sorted
31049// results.
31050//
31051// Possible values:
31052//   "ASCENDING" (default)
31053//   "DESCENDING"
31054func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
31055	c.urlParams_.Set("sortOrder", sortOrder)
31056	return c
31057}
31058
31059// Fields allows partial responses to be retrieved. See
31060// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31061// for more information.
31062func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
31063	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31064	return c
31065}
31066
31067// IfNoneMatch sets the optional parameter which makes the operation
31068// fail if the object's ETag matches the given value. This is useful for
31069// getting updates only after the object has changed since the last
31070// request. Use googleapi.IsNotModified to check whether the response
31071// error from Do is the result of In-None-Match.
31072func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
31073	c.ifNoneMatch_ = entityTag
31074	return c
31075}
31076
31077// Context sets the context to be used in this call's Do method. Any
31078// pending HTTP request will be aborted if the provided context is
31079// canceled.
31080func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
31081	c.ctx_ = ctx
31082	return c
31083}
31084
31085// Header returns an http.Header that can be modified by the caller to
31086// add HTTP headers to the request.
31087func (c *EventTagsListCall) Header() http.Header {
31088	if c.header_ == nil {
31089		c.header_ = make(http.Header)
31090	}
31091	return c.header_
31092}
31093
31094func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
31095	reqHeaders := make(http.Header)
31096	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
31097	for k, v := range c.header_ {
31098		reqHeaders[k] = v
31099	}
31100	reqHeaders.Set("User-Agent", c.s.userAgent())
31101	if c.ifNoneMatch_ != "" {
31102		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31103	}
31104	var body io.Reader = nil
31105	c.urlParams_.Set("alt", alt)
31106	c.urlParams_.Set("prettyPrint", "false")
31107	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31108	urls += "?" + c.urlParams_.Encode()
31109	req, err := http.NewRequest("GET", urls, body)
31110	if err != nil {
31111		return nil, err
31112	}
31113	req.Header = reqHeaders
31114	googleapi.Expand(req.URL, map[string]string{
31115		"profileId": strconv.FormatInt(c.profileId, 10),
31116	})
31117	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31118}
31119
31120// Do executes the "dfareporting.eventTags.list" call.
31121// Exactly one of *EventTagsListResponse or error will be non-nil. Any
31122// non-2xx status code is an error. Response headers are in either
31123// *EventTagsListResponse.ServerResponse.Header or (if a response was
31124// returned at all) in error.(*googleapi.Error).Header. Use
31125// googleapi.IsNotModified to check whether the returned error was
31126// because http.StatusNotModified was returned.
31127func (c *EventTagsListCall) Do(opts ...googleapi.CallOption) (*EventTagsListResponse, error) {
31128	gensupport.SetOptions(c.urlParams_, opts...)
31129	res, err := c.doRequest("json")
31130	if res != nil && res.StatusCode == http.StatusNotModified {
31131		if res.Body != nil {
31132			res.Body.Close()
31133		}
31134		return nil, &googleapi.Error{
31135			Code:   res.StatusCode,
31136			Header: res.Header,
31137		}
31138	}
31139	if err != nil {
31140		return nil, err
31141	}
31142	defer googleapi.CloseBody(res)
31143	if err := googleapi.CheckResponse(res); err != nil {
31144		return nil, err
31145	}
31146	ret := &EventTagsListResponse{
31147		ServerResponse: googleapi.ServerResponse{
31148			Header:         res.Header,
31149			HTTPStatusCode: res.StatusCode,
31150		},
31151	}
31152	target := &ret
31153	if err := gensupport.DecodeResponse(target, res); err != nil {
31154		return nil, err
31155	}
31156	return ret, nil
31157	// {
31158	//   "description": "Retrieves a list of event tags, possibly filtered.",
31159	//   "flatPath": "userprofiles/{profileId}/eventTags",
31160	//   "httpMethod": "GET",
31161	//   "id": "dfareporting.eventTags.list",
31162	//   "parameterOrder": [
31163	//     "profileId"
31164	//   ],
31165	//   "parameters": {
31166	//     "adId": {
31167	//       "description": "Select only event tags that belong to this ad.",
31168	//       "format": "int64",
31169	//       "location": "query",
31170	//       "type": "string"
31171	//     },
31172	//     "advertiserId": {
31173	//       "description": "Select only event tags that belong to this advertiser.",
31174	//       "format": "int64",
31175	//       "location": "query",
31176	//       "type": "string"
31177	//     },
31178	//     "campaignId": {
31179	//       "description": "Select only event tags that belong to this campaign.",
31180	//       "format": "int64",
31181	//       "location": "query",
31182	//       "type": "string"
31183	//     },
31184	//     "definitionsOnly": {
31185	//       "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.",
31186	//       "location": "query",
31187	//       "type": "boolean"
31188	//     },
31189	//     "enabled": {
31190	//       "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.",
31191	//       "location": "query",
31192	//       "type": "boolean"
31193	//     },
31194	//     "eventTagTypes": {
31195	//       "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.",
31196	//       "enum": [
31197	//         "IMPRESSION_IMAGE_EVENT_TAG",
31198	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG",
31199	//         "CLICK_THROUGH_EVENT_TAG"
31200	//       ],
31201	//       "enumDescriptions": [
31202	//         "",
31203	//         "",
31204	//         ""
31205	//       ],
31206	//       "location": "query",
31207	//       "repeated": true,
31208	//       "type": "string"
31209	//     },
31210	//     "ids": {
31211	//       "description": "Select only event tags with these IDs.",
31212	//       "format": "int64",
31213	//       "location": "query",
31214	//       "repeated": true,
31215	//       "type": "string"
31216	//     },
31217	//     "profileId": {
31218	//       "description": "User profile ID associated with this request.",
31219	//       "format": "int64",
31220	//       "location": "path",
31221	//       "required": true,
31222	//       "type": "string"
31223	//     },
31224	//     "searchString": {
31225	//       "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\".",
31226	//       "location": "query",
31227	//       "type": "string"
31228	//     },
31229	//     "sortField": {
31230	//       "default": "ID",
31231	//       "description": "Field by which to sort the list.",
31232	//       "enum": [
31233	//         "ID",
31234	//         "NAME"
31235	//       ],
31236	//       "enumDescriptions": [
31237	//         "",
31238	//         ""
31239	//       ],
31240	//       "location": "query",
31241	//       "type": "string"
31242	//     },
31243	//     "sortOrder": {
31244	//       "default": "ASCENDING",
31245	//       "description": "Order of sorted results.",
31246	//       "enum": [
31247	//         "ASCENDING",
31248	//         "DESCENDING"
31249	//       ],
31250	//       "enumDescriptions": [
31251	//         "",
31252	//         ""
31253	//       ],
31254	//       "location": "query",
31255	//       "type": "string"
31256	//     }
31257	//   },
31258	//   "path": "userprofiles/{profileId}/eventTags",
31259	//   "response": {
31260	//     "$ref": "EventTagsListResponse"
31261	//   },
31262	//   "scopes": [
31263	//     "https://www.googleapis.com/auth/dfatrafficking"
31264	//   ]
31265	// }
31266
31267}
31268
31269// method id "dfareporting.eventTags.patch":
31270
31271type EventTagsPatchCall struct {
31272	s          *Service
31273	profileId  int64
31274	eventtag   *EventTag
31275	urlParams_ gensupport.URLParams
31276	ctx_       context.Context
31277	header_    http.Header
31278}
31279
31280// Patch: Updates an existing event tag. This method supports patch
31281// semantics.
31282//
31283// - id: EventTag ID.
31284// - profileId: User profile ID associated with this request.
31285func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
31286	c := &EventTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31287	c.profileId = profileId
31288	c.urlParams_.Set("id", fmt.Sprint(id))
31289	c.eventtag = eventtag
31290	return c
31291}
31292
31293// Fields allows partial responses to be retrieved. See
31294// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31295// for more information.
31296func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
31297	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31298	return c
31299}
31300
31301// Context sets the context to be used in this call's Do method. Any
31302// pending HTTP request will be aborted if the provided context is
31303// canceled.
31304func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
31305	c.ctx_ = ctx
31306	return c
31307}
31308
31309// Header returns an http.Header that can be modified by the caller to
31310// add HTTP headers to the request.
31311func (c *EventTagsPatchCall) Header() http.Header {
31312	if c.header_ == nil {
31313		c.header_ = make(http.Header)
31314	}
31315	return c.header_
31316}
31317
31318func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
31319	reqHeaders := make(http.Header)
31320	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
31321	for k, v := range c.header_ {
31322		reqHeaders[k] = v
31323	}
31324	reqHeaders.Set("User-Agent", c.s.userAgent())
31325	var body io.Reader = nil
31326	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
31327	if err != nil {
31328		return nil, err
31329	}
31330	reqHeaders.Set("Content-Type", "application/json")
31331	c.urlParams_.Set("alt", alt)
31332	c.urlParams_.Set("prettyPrint", "false")
31333	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31334	urls += "?" + c.urlParams_.Encode()
31335	req, err := http.NewRequest("PATCH", urls, body)
31336	if err != nil {
31337		return nil, err
31338	}
31339	req.Header = reqHeaders
31340	googleapi.Expand(req.URL, map[string]string{
31341		"profileId": strconv.FormatInt(c.profileId, 10),
31342	})
31343	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31344}
31345
31346// Do executes the "dfareporting.eventTags.patch" call.
31347// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31348// code is an error. Response headers are in either
31349// *EventTag.ServerResponse.Header or (if a response was returned at
31350// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31351// to check whether the returned error was because
31352// http.StatusNotModified was returned.
31353func (c *EventTagsPatchCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31354	gensupport.SetOptions(c.urlParams_, opts...)
31355	res, err := c.doRequest("json")
31356	if res != nil && res.StatusCode == http.StatusNotModified {
31357		if res.Body != nil {
31358			res.Body.Close()
31359		}
31360		return nil, &googleapi.Error{
31361			Code:   res.StatusCode,
31362			Header: res.Header,
31363		}
31364	}
31365	if err != nil {
31366		return nil, err
31367	}
31368	defer googleapi.CloseBody(res)
31369	if err := googleapi.CheckResponse(res); err != nil {
31370		return nil, err
31371	}
31372	ret := &EventTag{
31373		ServerResponse: googleapi.ServerResponse{
31374			Header:         res.Header,
31375			HTTPStatusCode: res.StatusCode,
31376		},
31377	}
31378	target := &ret
31379	if err := gensupport.DecodeResponse(target, res); err != nil {
31380		return nil, err
31381	}
31382	return ret, nil
31383	// {
31384	//   "description": "Updates an existing event tag. This method supports patch semantics.",
31385	//   "flatPath": "userprofiles/{profileId}/eventTags",
31386	//   "httpMethod": "PATCH",
31387	//   "id": "dfareporting.eventTags.patch",
31388	//   "parameterOrder": [
31389	//     "profileId",
31390	//     "id"
31391	//   ],
31392	//   "parameters": {
31393	//     "id": {
31394	//       "description": "EventTag ID.",
31395	//       "format": "int64",
31396	//       "location": "query",
31397	//       "required": true,
31398	//       "type": "string"
31399	//     },
31400	//     "profileId": {
31401	//       "description": "User profile ID associated with this request.",
31402	//       "format": "int64",
31403	//       "location": "path",
31404	//       "required": true,
31405	//       "type": "string"
31406	//     }
31407	//   },
31408	//   "path": "userprofiles/{profileId}/eventTags",
31409	//   "request": {
31410	//     "$ref": "EventTag"
31411	//   },
31412	//   "response": {
31413	//     "$ref": "EventTag"
31414	//   },
31415	//   "scopes": [
31416	//     "https://www.googleapis.com/auth/dfatrafficking"
31417	//   ]
31418	// }
31419
31420}
31421
31422// method id "dfareporting.eventTags.update":
31423
31424type EventTagsUpdateCall struct {
31425	s          *Service
31426	profileId  int64
31427	eventtag   *EventTag
31428	urlParams_ gensupport.URLParams
31429	ctx_       context.Context
31430	header_    http.Header
31431}
31432
31433// Update: Updates an existing event tag.
31434//
31435// - profileId: User profile ID associated with this request.
31436func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
31437	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31438	c.profileId = profileId
31439	c.eventtag = eventtag
31440	return c
31441}
31442
31443// Fields allows partial responses to be retrieved. See
31444// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31445// for more information.
31446func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
31447	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31448	return c
31449}
31450
31451// Context sets the context to be used in this call's Do method. Any
31452// pending HTTP request will be aborted if the provided context is
31453// canceled.
31454func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
31455	c.ctx_ = ctx
31456	return c
31457}
31458
31459// Header returns an http.Header that can be modified by the caller to
31460// add HTTP headers to the request.
31461func (c *EventTagsUpdateCall) Header() http.Header {
31462	if c.header_ == nil {
31463		c.header_ = make(http.Header)
31464	}
31465	return c.header_
31466}
31467
31468func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
31469	reqHeaders := make(http.Header)
31470	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
31471	for k, v := range c.header_ {
31472		reqHeaders[k] = v
31473	}
31474	reqHeaders.Set("User-Agent", c.s.userAgent())
31475	var body io.Reader = nil
31476	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
31477	if err != nil {
31478		return nil, err
31479	}
31480	reqHeaders.Set("Content-Type", "application/json")
31481	c.urlParams_.Set("alt", alt)
31482	c.urlParams_.Set("prettyPrint", "false")
31483	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31484	urls += "?" + c.urlParams_.Encode()
31485	req, err := http.NewRequest("PUT", urls, body)
31486	if err != nil {
31487		return nil, err
31488	}
31489	req.Header = reqHeaders
31490	googleapi.Expand(req.URL, map[string]string{
31491		"profileId": strconv.FormatInt(c.profileId, 10),
31492	})
31493	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31494}
31495
31496// Do executes the "dfareporting.eventTags.update" call.
31497// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31498// code is an error. Response headers are in either
31499// *EventTag.ServerResponse.Header or (if a response was returned at
31500// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31501// to check whether the returned error was because
31502// http.StatusNotModified was returned.
31503func (c *EventTagsUpdateCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31504	gensupport.SetOptions(c.urlParams_, opts...)
31505	res, err := c.doRequest("json")
31506	if res != nil && res.StatusCode == http.StatusNotModified {
31507		if res.Body != nil {
31508			res.Body.Close()
31509		}
31510		return nil, &googleapi.Error{
31511			Code:   res.StatusCode,
31512			Header: res.Header,
31513		}
31514	}
31515	if err != nil {
31516		return nil, err
31517	}
31518	defer googleapi.CloseBody(res)
31519	if err := googleapi.CheckResponse(res); err != nil {
31520		return nil, err
31521	}
31522	ret := &EventTag{
31523		ServerResponse: googleapi.ServerResponse{
31524			Header:         res.Header,
31525			HTTPStatusCode: res.StatusCode,
31526		},
31527	}
31528	target := &ret
31529	if err := gensupport.DecodeResponse(target, res); err != nil {
31530		return nil, err
31531	}
31532	return ret, nil
31533	// {
31534	//   "description": "Updates an existing event tag.",
31535	//   "flatPath": "userprofiles/{profileId}/eventTags",
31536	//   "httpMethod": "PUT",
31537	//   "id": "dfareporting.eventTags.update",
31538	//   "parameterOrder": [
31539	//     "profileId"
31540	//   ],
31541	//   "parameters": {
31542	//     "profileId": {
31543	//       "description": "User profile ID associated with this request.",
31544	//       "format": "int64",
31545	//       "location": "path",
31546	//       "required": true,
31547	//       "type": "string"
31548	//     }
31549	//   },
31550	//   "path": "userprofiles/{profileId}/eventTags",
31551	//   "request": {
31552	//     "$ref": "EventTag"
31553	//   },
31554	//   "response": {
31555	//     "$ref": "EventTag"
31556	//   },
31557	//   "scopes": [
31558	//     "https://www.googleapis.com/auth/dfatrafficking"
31559	//   ]
31560	// }
31561
31562}
31563
31564// method id "dfareporting.files.get":
31565
31566type FilesGetCall struct {
31567	s            *Service
31568	reportId     int64
31569	fileId       int64
31570	urlParams_   gensupport.URLParams
31571	ifNoneMatch_ string
31572	ctx_         context.Context
31573	header_      http.Header
31574}
31575
31576// Get: Retrieves a report file by its report ID and file ID. This
31577// method supports media download.
31578//
31579// - fileId: The ID of the report file.
31580// - reportId: The ID of the report.
31581func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
31582	c := &FilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31583	c.reportId = reportId
31584	c.fileId = fileId
31585	return c
31586}
31587
31588// Fields allows partial responses to be retrieved. See
31589// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31590// for more information.
31591func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
31592	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31593	return c
31594}
31595
31596// IfNoneMatch sets the optional parameter which makes the operation
31597// fail if the object's ETag matches the given value. This is useful for
31598// getting updates only after the object has changed since the last
31599// request. Use googleapi.IsNotModified to check whether the response
31600// error from Do is the result of In-None-Match.
31601func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
31602	c.ifNoneMatch_ = entityTag
31603	return c
31604}
31605
31606// Context sets the context to be used in this call's Do and Download
31607// methods. Any pending HTTP request will be aborted if the provided
31608// context is canceled.
31609func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
31610	c.ctx_ = ctx
31611	return c
31612}
31613
31614// Header returns an http.Header that can be modified by the caller to
31615// add HTTP headers to the request.
31616func (c *FilesGetCall) Header() http.Header {
31617	if c.header_ == nil {
31618		c.header_ = make(http.Header)
31619	}
31620	return c.header_
31621}
31622
31623func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
31624	reqHeaders := make(http.Header)
31625	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
31626	for k, v := range c.header_ {
31627		reqHeaders[k] = v
31628	}
31629	reqHeaders.Set("User-Agent", c.s.userAgent())
31630	if c.ifNoneMatch_ != "" {
31631		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31632	}
31633	var body io.Reader = nil
31634	c.urlParams_.Set("alt", alt)
31635	c.urlParams_.Set("prettyPrint", "false")
31636	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
31637	urls += "?" + c.urlParams_.Encode()
31638	req, err := http.NewRequest("GET", urls, body)
31639	if err != nil {
31640		return nil, err
31641	}
31642	req.Header = reqHeaders
31643	googleapi.Expand(req.URL, map[string]string{
31644		"reportId": strconv.FormatInt(c.reportId, 10),
31645		"fileId":   strconv.FormatInt(c.fileId, 10),
31646	})
31647	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31648}
31649
31650// Download fetches the API endpoint's "media" value, instead of the normal
31651// API response value. If the returned error is nil, the Response is guaranteed to
31652// have a 2xx status code. Callers must close the Response.Body as usual.
31653func (c *FilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
31654	gensupport.SetOptions(c.urlParams_, opts...)
31655	res, err := c.doRequest("media")
31656	if err != nil {
31657		return nil, err
31658	}
31659	if err := googleapi.CheckResponse(res); err != nil {
31660		res.Body.Close()
31661		return nil, err
31662	}
31663	return res, nil
31664}
31665
31666// Do executes the "dfareporting.files.get" call.
31667// Exactly one of *File or error will be non-nil. Any non-2xx status
31668// code is an error. Response headers are in either
31669// *File.ServerResponse.Header or (if a response was returned at all) in
31670// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
31671// whether the returned error was because http.StatusNotModified was
31672// returned.
31673func (c *FilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
31674	gensupport.SetOptions(c.urlParams_, opts...)
31675	res, err := c.doRequest("json")
31676	if res != nil && res.StatusCode == http.StatusNotModified {
31677		if res.Body != nil {
31678			res.Body.Close()
31679		}
31680		return nil, &googleapi.Error{
31681			Code:   res.StatusCode,
31682			Header: res.Header,
31683		}
31684	}
31685	if err != nil {
31686		return nil, err
31687	}
31688	defer googleapi.CloseBody(res)
31689	if err := googleapi.CheckResponse(res); err != nil {
31690		return nil, err
31691	}
31692	ret := &File{
31693		ServerResponse: googleapi.ServerResponse{
31694			Header:         res.Header,
31695			HTTPStatusCode: res.StatusCode,
31696		},
31697	}
31698	target := &ret
31699	if err := gensupport.DecodeResponse(target, res); err != nil {
31700		return nil, err
31701	}
31702	return ret, nil
31703	// {
31704	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
31705	//   "flatPath": "reports/{reportId}/files/{fileId}",
31706	//   "httpMethod": "GET",
31707	//   "id": "dfareporting.files.get",
31708	//   "parameterOrder": [
31709	//     "reportId",
31710	//     "fileId"
31711	//   ],
31712	//   "parameters": {
31713	//     "fileId": {
31714	//       "description": "The ID of the report file.",
31715	//       "format": "int64",
31716	//       "location": "path",
31717	//       "required": true,
31718	//       "type": "string"
31719	//     },
31720	//     "reportId": {
31721	//       "description": "The ID of the report.",
31722	//       "format": "int64",
31723	//       "location": "path",
31724	//       "required": true,
31725	//       "type": "string"
31726	//     }
31727	//   },
31728	//   "path": "reports/{reportId}/files/{fileId}",
31729	//   "response": {
31730	//     "$ref": "File"
31731	//   },
31732	//   "scopes": [
31733	//     "https://www.googleapis.com/auth/dfareporting"
31734	//   ],
31735	//   "supportsMediaDownload": true
31736	// }
31737
31738}
31739
31740// method id "dfareporting.files.list":
31741
31742type FilesListCall struct {
31743	s            *Service
31744	profileId    int64
31745	urlParams_   gensupport.URLParams
31746	ifNoneMatch_ string
31747	ctx_         context.Context
31748	header_      http.Header
31749}
31750
31751// List: Lists files for a user profile.
31752//
31753// - profileId: The Campaign Manager 360 user profile ID.
31754func (r *FilesService) List(profileId int64) *FilesListCall {
31755	c := &FilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31756	c.profileId = profileId
31757	return c
31758}
31759
31760// MaxResults sets the optional parameter "maxResults": Maximum number
31761// of results to return.
31762func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
31763	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
31764	return c
31765}
31766
31767// PageToken sets the optional parameter "pageToken": The value of the
31768// nextToken from the previous result page.
31769func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
31770	c.urlParams_.Set("pageToken", pageToken)
31771	return c
31772}
31773
31774// Scope sets the optional parameter "scope": The scope that defines
31775// which results are returned.
31776//
31777// Possible values:
31778//   "ALL" - All files in account.
31779//   "MINE" (default) - My files.
31780//   "SHARED_WITH_ME" - Files shared with me.
31781func (c *FilesListCall) Scope(scope string) *FilesListCall {
31782	c.urlParams_.Set("scope", scope)
31783	return c
31784}
31785
31786// SortField sets the optional parameter "sortField": The field by which
31787// to sort the list.
31788//
31789// Possible values:
31790//   "ID" - Sort by file ID.
31791//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
31792func (c *FilesListCall) SortField(sortField string) *FilesListCall {
31793	c.urlParams_.Set("sortField", sortField)
31794	return c
31795}
31796
31797// SortOrder sets the optional parameter "sortOrder": Order of sorted
31798// results.
31799//
31800// Possible values:
31801//   "ASCENDING" - Ascending order.
31802//   "DESCENDING" (default) - Descending order.
31803func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
31804	c.urlParams_.Set("sortOrder", sortOrder)
31805	return c
31806}
31807
31808// Fields allows partial responses to be retrieved. See
31809// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31810// for more information.
31811func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
31812	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31813	return c
31814}
31815
31816// IfNoneMatch sets the optional parameter which makes the operation
31817// fail if the object's ETag matches the given value. This is useful for
31818// getting updates only after the object has changed since the last
31819// request. Use googleapi.IsNotModified to check whether the response
31820// error from Do is the result of In-None-Match.
31821func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
31822	c.ifNoneMatch_ = entityTag
31823	return c
31824}
31825
31826// Context sets the context to be used in this call's Do method. Any
31827// pending HTTP request will be aborted if the provided context is
31828// canceled.
31829func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
31830	c.ctx_ = ctx
31831	return c
31832}
31833
31834// Header returns an http.Header that can be modified by the caller to
31835// add HTTP headers to the request.
31836func (c *FilesListCall) Header() http.Header {
31837	if c.header_ == nil {
31838		c.header_ = make(http.Header)
31839	}
31840	return c.header_
31841}
31842
31843func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
31844	reqHeaders := make(http.Header)
31845	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
31846	for k, v := range c.header_ {
31847		reqHeaders[k] = v
31848	}
31849	reqHeaders.Set("User-Agent", c.s.userAgent())
31850	if c.ifNoneMatch_ != "" {
31851		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31852	}
31853	var body io.Reader = nil
31854	c.urlParams_.Set("alt", alt)
31855	c.urlParams_.Set("prettyPrint", "false")
31856	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
31857	urls += "?" + c.urlParams_.Encode()
31858	req, err := http.NewRequest("GET", urls, body)
31859	if err != nil {
31860		return nil, err
31861	}
31862	req.Header = reqHeaders
31863	googleapi.Expand(req.URL, map[string]string{
31864		"profileId": strconv.FormatInt(c.profileId, 10),
31865	})
31866	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31867}
31868
31869// Do executes the "dfareporting.files.list" call.
31870// Exactly one of *FileList or error will be non-nil. Any non-2xx status
31871// code is an error. Response headers are in either
31872// *FileList.ServerResponse.Header or (if a response was returned at
31873// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31874// to check whether the returned error was because
31875// http.StatusNotModified was returned.
31876func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
31877	gensupport.SetOptions(c.urlParams_, opts...)
31878	res, err := c.doRequest("json")
31879	if res != nil && res.StatusCode == http.StatusNotModified {
31880		if res.Body != nil {
31881			res.Body.Close()
31882		}
31883		return nil, &googleapi.Error{
31884			Code:   res.StatusCode,
31885			Header: res.Header,
31886		}
31887	}
31888	if err != nil {
31889		return nil, err
31890	}
31891	defer googleapi.CloseBody(res)
31892	if err := googleapi.CheckResponse(res); err != nil {
31893		return nil, err
31894	}
31895	ret := &FileList{
31896		ServerResponse: googleapi.ServerResponse{
31897			Header:         res.Header,
31898			HTTPStatusCode: res.StatusCode,
31899		},
31900	}
31901	target := &ret
31902	if err := gensupport.DecodeResponse(target, res); err != nil {
31903		return nil, err
31904	}
31905	return ret, nil
31906	// {
31907	//   "description": "Lists files for a user profile.",
31908	//   "flatPath": "userprofiles/{profileId}/files",
31909	//   "httpMethod": "GET",
31910	//   "id": "dfareporting.files.list",
31911	//   "parameterOrder": [
31912	//     "profileId"
31913	//   ],
31914	//   "parameters": {
31915	//     "maxResults": {
31916	//       "default": "10",
31917	//       "description": "Maximum number of results to return.",
31918	//       "format": "int32",
31919	//       "location": "query",
31920	//       "maximum": "10",
31921	//       "minimum": "0",
31922	//       "type": "integer"
31923	//     },
31924	//     "pageToken": {
31925	//       "description": "The value of the nextToken from the previous result page.",
31926	//       "location": "query",
31927	//       "type": "string"
31928	//     },
31929	//     "profileId": {
31930	//       "description": "The Campaign Manager 360 user profile ID.",
31931	//       "format": "int64",
31932	//       "location": "path",
31933	//       "required": true,
31934	//       "type": "string"
31935	//     },
31936	//     "scope": {
31937	//       "default": "MINE",
31938	//       "description": "The scope that defines which results are returned.",
31939	//       "enum": [
31940	//         "ALL",
31941	//         "MINE",
31942	//         "SHARED_WITH_ME"
31943	//       ],
31944	//       "enumDescriptions": [
31945	//         "All files in account.",
31946	//         "My files.",
31947	//         "Files shared with me."
31948	//       ],
31949	//       "location": "query",
31950	//       "type": "string"
31951	//     },
31952	//     "sortField": {
31953	//       "default": "LAST_MODIFIED_TIME",
31954	//       "description": "The field by which to sort the list.",
31955	//       "enum": [
31956	//         "ID",
31957	//         "LAST_MODIFIED_TIME"
31958	//       ],
31959	//       "enumDescriptions": [
31960	//         "Sort by file ID.",
31961	//         "Sort by 'lastmodifiedAt' field."
31962	//       ],
31963	//       "location": "query",
31964	//       "type": "string"
31965	//     },
31966	//     "sortOrder": {
31967	//       "default": "DESCENDING",
31968	//       "description": "Order of sorted results.",
31969	//       "enum": [
31970	//         "ASCENDING",
31971	//         "DESCENDING"
31972	//       ],
31973	//       "enumDescriptions": [
31974	//         "Ascending order.",
31975	//         "Descending order."
31976	//       ],
31977	//       "location": "query",
31978	//       "type": "string"
31979	//     }
31980	//   },
31981	//   "path": "userprofiles/{profileId}/files",
31982	//   "response": {
31983	//     "$ref": "FileList"
31984	//   },
31985	//   "scopes": [
31986	//     "https://www.googleapis.com/auth/dfareporting"
31987	//   ]
31988	// }
31989
31990}
31991
31992// Pages invokes f for each page of results.
31993// A non-nil error returned from f will halt the iteration.
31994// The provided context supersedes any context provided to the Context method.
31995func (c *FilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
31996	c.ctx_ = ctx
31997	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
31998	for {
31999		x, err := c.Do()
32000		if err != nil {
32001			return err
32002		}
32003		if err := f(x); err != nil {
32004			return err
32005		}
32006		if x.NextPageToken == "" {
32007			return nil
32008		}
32009		c.PageToken(x.NextPageToken)
32010	}
32011}
32012
32013// method id "dfareporting.floodlightActivities.delete":
32014
32015type FloodlightActivitiesDeleteCall struct {
32016	s          *Service
32017	profileId  int64
32018	id         int64
32019	urlParams_ gensupport.URLParams
32020	ctx_       context.Context
32021	header_    http.Header
32022}
32023
32024// Delete: Deletes an existing floodlight activity.
32025//
32026// - id: Floodlight activity ID.
32027// - profileId: User profile ID associated with this request.
32028func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
32029	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32030	c.profileId = profileId
32031	c.id = id
32032	return c
32033}
32034
32035// Fields allows partial responses to be retrieved. See
32036// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32037// for more information.
32038func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
32039	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32040	return c
32041}
32042
32043// Context sets the context to be used in this call's Do method. Any
32044// pending HTTP request will be aborted if the provided context is
32045// canceled.
32046func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
32047	c.ctx_ = ctx
32048	return c
32049}
32050
32051// Header returns an http.Header that can be modified by the caller to
32052// add HTTP headers to the request.
32053func (c *FloodlightActivitiesDeleteCall) Header() http.Header {
32054	if c.header_ == nil {
32055		c.header_ = make(http.Header)
32056	}
32057	return c.header_
32058}
32059
32060func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
32061	reqHeaders := make(http.Header)
32062	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
32063	for k, v := range c.header_ {
32064		reqHeaders[k] = v
32065	}
32066	reqHeaders.Set("User-Agent", c.s.userAgent())
32067	var body io.Reader = nil
32068	c.urlParams_.Set("alt", alt)
32069	c.urlParams_.Set("prettyPrint", "false")
32070	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
32071	urls += "?" + c.urlParams_.Encode()
32072	req, err := http.NewRequest("DELETE", urls, body)
32073	if err != nil {
32074		return nil, err
32075	}
32076	req.Header = reqHeaders
32077	googleapi.Expand(req.URL, map[string]string{
32078		"profileId": strconv.FormatInt(c.profileId, 10),
32079		"id":        strconv.FormatInt(c.id, 10),
32080	})
32081	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32082}
32083
32084// Do executes the "dfareporting.floodlightActivities.delete" call.
32085func (c *FloodlightActivitiesDeleteCall) Do(opts ...googleapi.CallOption) error {
32086	gensupport.SetOptions(c.urlParams_, opts...)
32087	res, err := c.doRequest("json")
32088	if err != nil {
32089		return err
32090	}
32091	defer googleapi.CloseBody(res)
32092	if err := googleapi.CheckResponse(res); err != nil {
32093		return err
32094	}
32095	return nil
32096	// {
32097	//   "description": "Deletes an existing floodlight activity.",
32098	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
32099	//   "httpMethod": "DELETE",
32100	//   "id": "dfareporting.floodlightActivities.delete",
32101	//   "parameterOrder": [
32102	//     "profileId",
32103	//     "id"
32104	//   ],
32105	//   "parameters": {
32106	//     "id": {
32107	//       "description": "Floodlight activity ID.",
32108	//       "format": "int64",
32109	//       "location": "path",
32110	//       "required": true,
32111	//       "type": "string"
32112	//     },
32113	//     "profileId": {
32114	//       "description": "User profile ID associated with this request.",
32115	//       "format": "int64",
32116	//       "location": "path",
32117	//       "required": true,
32118	//       "type": "string"
32119	//     }
32120	//   },
32121	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
32122	//   "scopes": [
32123	//     "https://www.googleapis.com/auth/dfatrafficking"
32124	//   ]
32125	// }
32126
32127}
32128
32129// method id "dfareporting.floodlightActivities.generatetag":
32130
32131type FloodlightActivitiesGeneratetagCall struct {
32132	s          *Service
32133	profileId  int64
32134	urlParams_ gensupport.URLParams
32135	ctx_       context.Context
32136	header_    http.Header
32137}
32138
32139// Generatetag: Generates a tag for a floodlight activity.
32140//
32141// - profileId: User profile ID associated with this request.
32142func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
32143	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32144	c.profileId = profileId
32145	return c
32146}
32147
32148// FloodlightActivityId sets the optional parameter
32149// "floodlightActivityId": Floodlight activity ID for which we want to
32150// generate a tag.
32151func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
32152	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
32153	return c
32154}
32155
32156// Fields allows partial responses to be retrieved. See
32157// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32158// for more information.
32159func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
32160	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32161	return c
32162}
32163
32164// Context sets the context to be used in this call's Do method. Any
32165// pending HTTP request will be aborted if the provided context is
32166// canceled.
32167func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
32168	c.ctx_ = ctx
32169	return c
32170}
32171
32172// Header returns an http.Header that can be modified by the caller to
32173// add HTTP headers to the request.
32174func (c *FloodlightActivitiesGeneratetagCall) Header() http.Header {
32175	if c.header_ == nil {
32176		c.header_ = make(http.Header)
32177	}
32178	return c.header_
32179}
32180
32181func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
32182	reqHeaders := make(http.Header)
32183	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
32184	for k, v := range c.header_ {
32185		reqHeaders[k] = v
32186	}
32187	reqHeaders.Set("User-Agent", c.s.userAgent())
32188	var body io.Reader = nil
32189	c.urlParams_.Set("alt", alt)
32190	c.urlParams_.Set("prettyPrint", "false")
32191	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
32192	urls += "?" + c.urlParams_.Encode()
32193	req, err := http.NewRequest("POST", urls, body)
32194	if err != nil {
32195		return nil, err
32196	}
32197	req.Header = reqHeaders
32198	googleapi.Expand(req.URL, map[string]string{
32199		"profileId": strconv.FormatInt(c.profileId, 10),
32200	})
32201	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32202}
32203
32204// Do executes the "dfareporting.floodlightActivities.generatetag" call.
32205// Exactly one of *FloodlightActivitiesGenerateTagResponse or error will
32206// be non-nil. Any non-2xx status code is an error. Response headers are
32207// in either
32208// *FloodlightActivitiesGenerateTagResponse.ServerResponse.Header or (if
32209// a response was returned at all) in error.(*googleapi.Error).Header.
32210// Use googleapi.IsNotModified to check whether the returned error was
32211// because http.StatusNotModified was returned.
32212func (c *FloodlightActivitiesGeneratetagCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesGenerateTagResponse, error) {
32213	gensupport.SetOptions(c.urlParams_, opts...)
32214	res, err := c.doRequest("json")
32215	if res != nil && res.StatusCode == http.StatusNotModified {
32216		if res.Body != nil {
32217			res.Body.Close()
32218		}
32219		return nil, &googleapi.Error{
32220			Code:   res.StatusCode,
32221			Header: res.Header,
32222		}
32223	}
32224	if err != nil {
32225		return nil, err
32226	}
32227	defer googleapi.CloseBody(res)
32228	if err := googleapi.CheckResponse(res); err != nil {
32229		return nil, err
32230	}
32231	ret := &FloodlightActivitiesGenerateTagResponse{
32232		ServerResponse: googleapi.ServerResponse{
32233			Header:         res.Header,
32234			HTTPStatusCode: res.StatusCode,
32235		},
32236	}
32237	target := &ret
32238	if err := gensupport.DecodeResponse(target, res); err != nil {
32239		return nil, err
32240	}
32241	return ret, nil
32242	// {
32243	//   "description": "Generates a tag for a floodlight activity.",
32244	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/generatetag",
32245	//   "httpMethod": "POST",
32246	//   "id": "dfareporting.floodlightActivities.generatetag",
32247	//   "parameterOrder": [
32248	//     "profileId"
32249	//   ],
32250	//   "parameters": {
32251	//     "floodlightActivityId": {
32252	//       "description": "Floodlight activity ID for which we want to generate a tag.",
32253	//       "format": "int64",
32254	//       "location": "query",
32255	//       "type": "string"
32256	//     },
32257	//     "profileId": {
32258	//       "description": "User profile ID associated with this request.",
32259	//       "format": "int64",
32260	//       "location": "path",
32261	//       "required": true,
32262	//       "type": "string"
32263	//     }
32264	//   },
32265	//   "path": "userprofiles/{profileId}/floodlightActivities/generatetag",
32266	//   "response": {
32267	//     "$ref": "FloodlightActivitiesGenerateTagResponse"
32268	//   },
32269	//   "scopes": [
32270	//     "https://www.googleapis.com/auth/dfatrafficking"
32271	//   ]
32272	// }
32273
32274}
32275
32276// method id "dfareporting.floodlightActivities.get":
32277
32278type FloodlightActivitiesGetCall struct {
32279	s            *Service
32280	profileId    int64
32281	id           int64
32282	urlParams_   gensupport.URLParams
32283	ifNoneMatch_ string
32284	ctx_         context.Context
32285	header_      http.Header
32286}
32287
32288// Get: Gets one floodlight activity by ID.
32289//
32290// - id: Floodlight activity ID.
32291// - profileId: User profile ID associated with this request.
32292func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
32293	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32294	c.profileId = profileId
32295	c.id = id
32296	return c
32297}
32298
32299// Fields allows partial responses to be retrieved. See
32300// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32301// for more information.
32302func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
32303	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32304	return c
32305}
32306
32307// IfNoneMatch sets the optional parameter which makes the operation
32308// fail if the object's ETag matches the given value. This is useful for
32309// getting updates only after the object has changed since the last
32310// request. Use googleapi.IsNotModified to check whether the response
32311// error from Do is the result of In-None-Match.
32312func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
32313	c.ifNoneMatch_ = entityTag
32314	return c
32315}
32316
32317// Context sets the context to be used in this call's Do method. Any
32318// pending HTTP request will be aborted if the provided context is
32319// canceled.
32320func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
32321	c.ctx_ = ctx
32322	return c
32323}
32324
32325// Header returns an http.Header that can be modified by the caller to
32326// add HTTP headers to the request.
32327func (c *FloodlightActivitiesGetCall) Header() http.Header {
32328	if c.header_ == nil {
32329		c.header_ = make(http.Header)
32330	}
32331	return c.header_
32332}
32333
32334func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
32335	reqHeaders := make(http.Header)
32336	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
32337	for k, v := range c.header_ {
32338		reqHeaders[k] = v
32339	}
32340	reqHeaders.Set("User-Agent", c.s.userAgent())
32341	if c.ifNoneMatch_ != "" {
32342		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32343	}
32344	var body io.Reader = nil
32345	c.urlParams_.Set("alt", alt)
32346	c.urlParams_.Set("prettyPrint", "false")
32347	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
32348	urls += "?" + c.urlParams_.Encode()
32349	req, err := http.NewRequest("GET", urls, body)
32350	if err != nil {
32351		return nil, err
32352	}
32353	req.Header = reqHeaders
32354	googleapi.Expand(req.URL, map[string]string{
32355		"profileId": strconv.FormatInt(c.profileId, 10),
32356		"id":        strconv.FormatInt(c.id, 10),
32357	})
32358	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32359}
32360
32361// Do executes the "dfareporting.floodlightActivities.get" call.
32362// Exactly one of *FloodlightActivity or error will be non-nil. Any
32363// non-2xx status code is an error. Response headers are in either
32364// *FloodlightActivity.ServerResponse.Header or (if a response was
32365// returned at all) in error.(*googleapi.Error).Header. Use
32366// googleapi.IsNotModified to check whether the returned error was
32367// because http.StatusNotModified was returned.
32368func (c *FloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32369	gensupport.SetOptions(c.urlParams_, opts...)
32370	res, err := c.doRequest("json")
32371	if res != nil && res.StatusCode == http.StatusNotModified {
32372		if res.Body != nil {
32373			res.Body.Close()
32374		}
32375		return nil, &googleapi.Error{
32376			Code:   res.StatusCode,
32377			Header: res.Header,
32378		}
32379	}
32380	if err != nil {
32381		return nil, err
32382	}
32383	defer googleapi.CloseBody(res)
32384	if err := googleapi.CheckResponse(res); err != nil {
32385		return nil, err
32386	}
32387	ret := &FloodlightActivity{
32388		ServerResponse: googleapi.ServerResponse{
32389			Header:         res.Header,
32390			HTTPStatusCode: res.StatusCode,
32391		},
32392	}
32393	target := &ret
32394	if err := gensupport.DecodeResponse(target, res); err != nil {
32395		return nil, err
32396	}
32397	return ret, nil
32398	// {
32399	//   "description": "Gets one floodlight activity by ID.",
32400	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
32401	//   "httpMethod": "GET",
32402	//   "id": "dfareporting.floodlightActivities.get",
32403	//   "parameterOrder": [
32404	//     "profileId",
32405	//     "id"
32406	//   ],
32407	//   "parameters": {
32408	//     "id": {
32409	//       "description": "Floodlight activity ID.",
32410	//       "format": "int64",
32411	//       "location": "path",
32412	//       "required": true,
32413	//       "type": "string"
32414	//     },
32415	//     "profileId": {
32416	//       "description": "User profile ID associated with this request.",
32417	//       "format": "int64",
32418	//       "location": "path",
32419	//       "required": true,
32420	//       "type": "string"
32421	//     }
32422	//   },
32423	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
32424	//   "response": {
32425	//     "$ref": "FloodlightActivity"
32426	//   },
32427	//   "scopes": [
32428	//     "https://www.googleapis.com/auth/dfatrafficking"
32429	//   ]
32430	// }
32431
32432}
32433
32434// method id "dfareporting.floodlightActivities.insert":
32435
32436type FloodlightActivitiesInsertCall struct {
32437	s                  *Service
32438	profileId          int64
32439	floodlightactivity *FloodlightActivity
32440	urlParams_         gensupport.URLParams
32441	ctx_               context.Context
32442	header_            http.Header
32443}
32444
32445// Insert: Inserts a new floodlight activity.
32446//
32447// - profileId: User profile ID associated with this request.
32448func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
32449	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32450	c.profileId = profileId
32451	c.floodlightactivity = floodlightactivity
32452	return c
32453}
32454
32455// Fields allows partial responses to be retrieved. See
32456// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32457// for more information.
32458func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
32459	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32460	return c
32461}
32462
32463// Context sets the context to be used in this call's Do method. Any
32464// pending HTTP request will be aborted if the provided context is
32465// canceled.
32466func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
32467	c.ctx_ = ctx
32468	return c
32469}
32470
32471// Header returns an http.Header that can be modified by the caller to
32472// add HTTP headers to the request.
32473func (c *FloodlightActivitiesInsertCall) Header() http.Header {
32474	if c.header_ == nil {
32475		c.header_ = make(http.Header)
32476	}
32477	return c.header_
32478}
32479
32480func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
32481	reqHeaders := make(http.Header)
32482	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
32483	for k, v := range c.header_ {
32484		reqHeaders[k] = v
32485	}
32486	reqHeaders.Set("User-Agent", c.s.userAgent())
32487	var body io.Reader = nil
32488	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
32489	if err != nil {
32490		return nil, err
32491	}
32492	reqHeaders.Set("Content-Type", "application/json")
32493	c.urlParams_.Set("alt", alt)
32494	c.urlParams_.Set("prettyPrint", "false")
32495	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
32496	urls += "?" + c.urlParams_.Encode()
32497	req, err := http.NewRequest("POST", urls, body)
32498	if err != nil {
32499		return nil, err
32500	}
32501	req.Header = reqHeaders
32502	googleapi.Expand(req.URL, map[string]string{
32503		"profileId": strconv.FormatInt(c.profileId, 10),
32504	})
32505	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32506}
32507
32508// Do executes the "dfareporting.floodlightActivities.insert" call.
32509// Exactly one of *FloodlightActivity or error will be non-nil. Any
32510// non-2xx status code is an error. Response headers are in either
32511// *FloodlightActivity.ServerResponse.Header or (if a response was
32512// returned at all) in error.(*googleapi.Error).Header. Use
32513// googleapi.IsNotModified to check whether the returned error was
32514// because http.StatusNotModified was returned.
32515func (c *FloodlightActivitiesInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32516	gensupport.SetOptions(c.urlParams_, opts...)
32517	res, err := c.doRequest("json")
32518	if res != nil && res.StatusCode == http.StatusNotModified {
32519		if res.Body != nil {
32520			res.Body.Close()
32521		}
32522		return nil, &googleapi.Error{
32523			Code:   res.StatusCode,
32524			Header: res.Header,
32525		}
32526	}
32527	if err != nil {
32528		return nil, err
32529	}
32530	defer googleapi.CloseBody(res)
32531	if err := googleapi.CheckResponse(res); err != nil {
32532		return nil, err
32533	}
32534	ret := &FloodlightActivity{
32535		ServerResponse: googleapi.ServerResponse{
32536			Header:         res.Header,
32537			HTTPStatusCode: res.StatusCode,
32538		},
32539	}
32540	target := &ret
32541	if err := gensupport.DecodeResponse(target, res); err != nil {
32542		return nil, err
32543	}
32544	return ret, nil
32545	// {
32546	//   "description": "Inserts a new floodlight activity.",
32547	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
32548	//   "httpMethod": "POST",
32549	//   "id": "dfareporting.floodlightActivities.insert",
32550	//   "parameterOrder": [
32551	//     "profileId"
32552	//   ],
32553	//   "parameters": {
32554	//     "profileId": {
32555	//       "description": "User profile ID associated with this request.",
32556	//       "format": "int64",
32557	//       "location": "path",
32558	//       "required": true,
32559	//       "type": "string"
32560	//     }
32561	//   },
32562	//   "path": "userprofiles/{profileId}/floodlightActivities",
32563	//   "request": {
32564	//     "$ref": "FloodlightActivity"
32565	//   },
32566	//   "response": {
32567	//     "$ref": "FloodlightActivity"
32568	//   },
32569	//   "scopes": [
32570	//     "https://www.googleapis.com/auth/dfatrafficking"
32571	//   ]
32572	// }
32573
32574}
32575
32576// method id "dfareporting.floodlightActivities.list":
32577
32578type FloodlightActivitiesListCall struct {
32579	s            *Service
32580	profileId    int64
32581	urlParams_   gensupport.URLParams
32582	ifNoneMatch_ string
32583	ctx_         context.Context
32584	header_      http.Header
32585}
32586
32587// List: Retrieves a list of floodlight activities, possibly filtered.
32588// This method supports paging.
32589//
32590// - profileId: User profile ID associated with this request.
32591func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
32592	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32593	c.profileId = profileId
32594	return c
32595}
32596
32597// AdvertiserId sets the optional parameter "advertiserId": Select only
32598// floodlight activities for the specified advertiser ID. Must specify
32599// either ids, advertiserId, or floodlightConfigurationId for a
32600// non-empty result.
32601func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
32602	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32603	return c
32604}
32605
32606// FloodlightActivityGroupIds sets the optional parameter
32607// "floodlightActivityGroupIds": Select only floodlight activities with
32608// the specified floodlight activity group IDs.
32609func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds ...int64) *FloodlightActivitiesListCall {
32610	var floodlightActivityGroupIds_ []string
32611	for _, v := range floodlightActivityGroupIds {
32612		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprint(v))
32613	}
32614	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
32615	return c
32616}
32617
32618// FloodlightActivityGroupName sets the optional parameter
32619// "floodlightActivityGroupName": Select only floodlight activities with
32620// the specified floodlight activity group name.
32621func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
32622	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
32623	return c
32624}
32625
32626// FloodlightActivityGroupTagString sets the optional parameter
32627// "floodlightActivityGroupTagString": Select only floodlight activities
32628// with the specified floodlight activity group tag string.
32629func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
32630	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
32631	return c
32632}
32633
32634// FloodlightActivityGroupType sets the optional parameter
32635// "floodlightActivityGroupType": Select only floodlight activities with
32636// the specified floodlight activity group type.
32637//
32638// Possible values:
32639//   "COUNTER"
32640//   "SALE"
32641func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
32642	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
32643	return c
32644}
32645
32646// FloodlightConfigurationId sets the optional parameter
32647// "floodlightConfigurationId": Select only floodlight activities for
32648// the specified floodlight configuration ID. Must specify either ids,
32649// advertiserId, or floodlightConfigurationId for a non-empty result.
32650func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
32651	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
32652	return c
32653}
32654
32655// Ids sets the optional parameter "ids": Select only floodlight
32656// activities with the specified IDs. Must specify either ids,
32657// advertiserId, or floodlightConfigurationId for a non-empty result.
32658func (c *FloodlightActivitiesListCall) Ids(ids ...int64) *FloodlightActivitiesListCall {
32659	var ids_ []string
32660	for _, v := range ids {
32661		ids_ = append(ids_, fmt.Sprint(v))
32662	}
32663	c.urlParams_.SetMulti("ids", ids_)
32664	return c
32665}
32666
32667// MaxResults sets the optional parameter "maxResults": Maximum number
32668// of results to return.
32669func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
32670	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
32671	return c
32672}
32673
32674// PageToken sets the optional parameter "pageToken": Value of the
32675// nextPageToken from the previous result page.
32676func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
32677	c.urlParams_.Set("pageToken", pageToken)
32678	return c
32679}
32680
32681// SearchString sets the optional parameter "searchString": Allows
32682// searching for objects by name or ID. Wildcards (*) are allowed. For
32683// example, "floodlightactivity*2015" will return objects with names
32684// like "floodlightactivity June 2015", "floodlightactivity April 2015",
32685// or simply "floodlightactivity 2015". Most of the searches also add
32686// wildcards implicitly at the start and the end of the search string.
32687// For example, a search string of "floodlightactivity" will match
32688// objects with name "my floodlightactivity activity",
32689// "floodlightactivity 2015", or simply "floodlightactivity".
32690func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
32691	c.urlParams_.Set("searchString", searchString)
32692	return c
32693}
32694
32695// SortField sets the optional parameter "sortField": Field by which to
32696// sort the list.
32697//
32698// Possible values:
32699//   "ID" (default)
32700//   "NAME"
32701func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
32702	c.urlParams_.Set("sortField", sortField)
32703	return c
32704}
32705
32706// SortOrder sets the optional parameter "sortOrder": Order of sorted
32707// results.
32708//
32709// Possible values:
32710//   "ASCENDING" (default)
32711//   "DESCENDING"
32712func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
32713	c.urlParams_.Set("sortOrder", sortOrder)
32714	return c
32715}
32716
32717// TagString sets the optional parameter "tagString": Select only
32718// floodlight activities with the specified tag string.
32719func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
32720	c.urlParams_.Set("tagString", tagString)
32721	return c
32722}
32723
32724// Fields allows partial responses to be retrieved. See
32725// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32726// for more information.
32727func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
32728	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32729	return c
32730}
32731
32732// IfNoneMatch sets the optional parameter which makes the operation
32733// fail if the object's ETag matches the given value. This is useful for
32734// getting updates only after the object has changed since the last
32735// request. Use googleapi.IsNotModified to check whether the response
32736// error from Do is the result of In-None-Match.
32737func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
32738	c.ifNoneMatch_ = entityTag
32739	return c
32740}
32741
32742// Context sets the context to be used in this call's Do method. Any
32743// pending HTTP request will be aborted if the provided context is
32744// canceled.
32745func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
32746	c.ctx_ = ctx
32747	return c
32748}
32749
32750// Header returns an http.Header that can be modified by the caller to
32751// add HTTP headers to the request.
32752func (c *FloodlightActivitiesListCall) Header() http.Header {
32753	if c.header_ == nil {
32754		c.header_ = make(http.Header)
32755	}
32756	return c.header_
32757}
32758
32759func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
32760	reqHeaders := make(http.Header)
32761	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
32762	for k, v := range c.header_ {
32763		reqHeaders[k] = v
32764	}
32765	reqHeaders.Set("User-Agent", c.s.userAgent())
32766	if c.ifNoneMatch_ != "" {
32767		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32768	}
32769	var body io.Reader = nil
32770	c.urlParams_.Set("alt", alt)
32771	c.urlParams_.Set("prettyPrint", "false")
32772	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
32773	urls += "?" + c.urlParams_.Encode()
32774	req, err := http.NewRequest("GET", urls, body)
32775	if err != nil {
32776		return nil, err
32777	}
32778	req.Header = reqHeaders
32779	googleapi.Expand(req.URL, map[string]string{
32780		"profileId": strconv.FormatInt(c.profileId, 10),
32781	})
32782	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32783}
32784
32785// Do executes the "dfareporting.floodlightActivities.list" call.
32786// Exactly one of *FloodlightActivitiesListResponse or error will be
32787// non-nil. Any non-2xx status code is an error. Response headers are in
32788// either *FloodlightActivitiesListResponse.ServerResponse.Header or (if
32789// a response was returned at all) in error.(*googleapi.Error).Header.
32790// Use googleapi.IsNotModified to check whether the returned error was
32791// because http.StatusNotModified was returned.
32792func (c *FloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesListResponse, error) {
32793	gensupport.SetOptions(c.urlParams_, opts...)
32794	res, err := c.doRequest("json")
32795	if res != nil && res.StatusCode == http.StatusNotModified {
32796		if res.Body != nil {
32797			res.Body.Close()
32798		}
32799		return nil, &googleapi.Error{
32800			Code:   res.StatusCode,
32801			Header: res.Header,
32802		}
32803	}
32804	if err != nil {
32805		return nil, err
32806	}
32807	defer googleapi.CloseBody(res)
32808	if err := googleapi.CheckResponse(res); err != nil {
32809		return nil, err
32810	}
32811	ret := &FloodlightActivitiesListResponse{
32812		ServerResponse: googleapi.ServerResponse{
32813			Header:         res.Header,
32814			HTTPStatusCode: res.StatusCode,
32815		},
32816	}
32817	target := &ret
32818	if err := gensupport.DecodeResponse(target, res); err != nil {
32819		return nil, err
32820	}
32821	return ret, nil
32822	// {
32823	//   "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
32824	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
32825	//   "httpMethod": "GET",
32826	//   "id": "dfareporting.floodlightActivities.list",
32827	//   "parameterOrder": [
32828	//     "profileId"
32829	//   ],
32830	//   "parameters": {
32831	//     "advertiserId": {
32832	//       "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
32833	//       "format": "int64",
32834	//       "location": "query",
32835	//       "type": "string"
32836	//     },
32837	//     "floodlightActivityGroupIds": {
32838	//       "description": "Select only floodlight activities with the specified floodlight activity group IDs.",
32839	//       "format": "int64",
32840	//       "location": "query",
32841	//       "repeated": true,
32842	//       "type": "string"
32843	//     },
32844	//     "floodlightActivityGroupName": {
32845	//       "description": "Select only floodlight activities with the specified floodlight activity group name.",
32846	//       "location": "query",
32847	//       "type": "string"
32848	//     },
32849	//     "floodlightActivityGroupTagString": {
32850	//       "description": "Select only floodlight activities with the specified floodlight activity group tag string.",
32851	//       "location": "query",
32852	//       "type": "string"
32853	//     },
32854	//     "floodlightActivityGroupType": {
32855	//       "description": "Select only floodlight activities with the specified floodlight activity group type.",
32856	//       "enum": [
32857	//         "COUNTER",
32858	//         "SALE"
32859	//       ],
32860	//       "enumDescriptions": [
32861	//         "",
32862	//         ""
32863	//       ],
32864	//       "location": "query",
32865	//       "type": "string"
32866	//     },
32867	//     "floodlightConfigurationId": {
32868	//       "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
32869	//       "format": "int64",
32870	//       "location": "query",
32871	//       "type": "string"
32872	//     },
32873	//     "ids": {
32874	//       "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
32875	//       "format": "int64",
32876	//       "location": "query",
32877	//       "repeated": true,
32878	//       "type": "string"
32879	//     },
32880	//     "maxResults": {
32881	//       "default": "1000",
32882	//       "description": "Maximum number of results to return.",
32883	//       "format": "int32",
32884	//       "location": "query",
32885	//       "maximum": "1000",
32886	//       "minimum": "0",
32887	//       "type": "integer"
32888	//     },
32889	//     "pageToken": {
32890	//       "description": "Value of the nextPageToken from the previous result page.",
32891	//       "location": "query",
32892	//       "type": "string"
32893	//     },
32894	//     "profileId": {
32895	//       "description": "User profile ID associated with this request.",
32896	//       "format": "int64",
32897	//       "location": "path",
32898	//       "required": true,
32899	//       "type": "string"
32900	//     },
32901	//     "searchString": {
32902	//       "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\".",
32903	//       "location": "query",
32904	//       "type": "string"
32905	//     },
32906	//     "sortField": {
32907	//       "default": "ID",
32908	//       "description": "Field by which to sort the list.",
32909	//       "enum": [
32910	//         "ID",
32911	//         "NAME"
32912	//       ],
32913	//       "enumDescriptions": [
32914	//         "",
32915	//         ""
32916	//       ],
32917	//       "location": "query",
32918	//       "type": "string"
32919	//     },
32920	//     "sortOrder": {
32921	//       "default": "ASCENDING",
32922	//       "description": "Order of sorted results.",
32923	//       "enum": [
32924	//         "ASCENDING",
32925	//         "DESCENDING"
32926	//       ],
32927	//       "enumDescriptions": [
32928	//         "",
32929	//         ""
32930	//       ],
32931	//       "location": "query",
32932	//       "type": "string"
32933	//     },
32934	//     "tagString": {
32935	//       "description": "Select only floodlight activities with the specified tag string.",
32936	//       "location": "query",
32937	//       "type": "string"
32938	//     }
32939	//   },
32940	//   "path": "userprofiles/{profileId}/floodlightActivities",
32941	//   "response": {
32942	//     "$ref": "FloodlightActivitiesListResponse"
32943	//   },
32944	//   "scopes": [
32945	//     "https://www.googleapis.com/auth/dfatrafficking"
32946	//   ]
32947	// }
32948
32949}
32950
32951// Pages invokes f for each page of results.
32952// A non-nil error returned from f will halt the iteration.
32953// The provided context supersedes any context provided to the Context method.
32954func (c *FloodlightActivitiesListCall) Pages(ctx context.Context, f func(*FloodlightActivitiesListResponse) error) error {
32955	c.ctx_ = ctx
32956	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
32957	for {
32958		x, err := c.Do()
32959		if err != nil {
32960			return err
32961		}
32962		if err := f(x); err != nil {
32963			return err
32964		}
32965		if x.NextPageToken == "" {
32966			return nil
32967		}
32968		c.PageToken(x.NextPageToken)
32969	}
32970}
32971
32972// method id "dfareporting.floodlightActivities.patch":
32973
32974type FloodlightActivitiesPatchCall struct {
32975	s                  *Service
32976	profileId          int64
32977	floodlightactivity *FloodlightActivity
32978	urlParams_         gensupport.URLParams
32979	ctx_               context.Context
32980	header_            http.Header
32981}
32982
32983// Patch: Updates an existing floodlight activity. This method supports
32984// patch semantics.
32985//
32986// - id: FloodlightActivity ID.
32987// - profileId: User profile ID associated with this request.
32988func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
32989	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32990	c.profileId = profileId
32991	c.urlParams_.Set("id", fmt.Sprint(id))
32992	c.floodlightactivity = floodlightactivity
32993	return c
32994}
32995
32996// Fields allows partial responses to be retrieved. See
32997// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32998// for more information.
32999func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
33000	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33001	return c
33002}
33003
33004// Context sets the context to be used in this call's Do method. Any
33005// pending HTTP request will be aborted if the provided context is
33006// canceled.
33007func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
33008	c.ctx_ = ctx
33009	return c
33010}
33011
33012// Header returns an http.Header that can be modified by the caller to
33013// add HTTP headers to the request.
33014func (c *FloodlightActivitiesPatchCall) Header() http.Header {
33015	if c.header_ == nil {
33016		c.header_ = make(http.Header)
33017	}
33018	return c.header_
33019}
33020
33021func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
33022	reqHeaders := make(http.Header)
33023	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
33024	for k, v := range c.header_ {
33025		reqHeaders[k] = v
33026	}
33027	reqHeaders.Set("User-Agent", c.s.userAgent())
33028	var body io.Reader = nil
33029	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
33030	if err != nil {
33031		return nil, err
33032	}
33033	reqHeaders.Set("Content-Type", "application/json")
33034	c.urlParams_.Set("alt", alt)
33035	c.urlParams_.Set("prettyPrint", "false")
33036	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
33037	urls += "?" + c.urlParams_.Encode()
33038	req, err := http.NewRequest("PATCH", urls, body)
33039	if err != nil {
33040		return nil, err
33041	}
33042	req.Header = reqHeaders
33043	googleapi.Expand(req.URL, map[string]string{
33044		"profileId": strconv.FormatInt(c.profileId, 10),
33045	})
33046	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33047}
33048
33049// Do executes the "dfareporting.floodlightActivities.patch" call.
33050// Exactly one of *FloodlightActivity or error will be non-nil. Any
33051// non-2xx status code is an error. Response headers are in either
33052// *FloodlightActivity.ServerResponse.Header or (if a response was
33053// returned at all) in error.(*googleapi.Error).Header. Use
33054// googleapi.IsNotModified to check whether the returned error was
33055// because http.StatusNotModified was returned.
33056func (c *FloodlightActivitiesPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
33057	gensupport.SetOptions(c.urlParams_, opts...)
33058	res, err := c.doRequest("json")
33059	if res != nil && res.StatusCode == http.StatusNotModified {
33060		if res.Body != nil {
33061			res.Body.Close()
33062		}
33063		return nil, &googleapi.Error{
33064			Code:   res.StatusCode,
33065			Header: res.Header,
33066		}
33067	}
33068	if err != nil {
33069		return nil, err
33070	}
33071	defer googleapi.CloseBody(res)
33072	if err := googleapi.CheckResponse(res); err != nil {
33073		return nil, err
33074	}
33075	ret := &FloodlightActivity{
33076		ServerResponse: googleapi.ServerResponse{
33077			Header:         res.Header,
33078			HTTPStatusCode: res.StatusCode,
33079		},
33080	}
33081	target := &ret
33082	if err := gensupport.DecodeResponse(target, res); err != nil {
33083		return nil, err
33084	}
33085	return ret, nil
33086	// {
33087	//   "description": "Updates an existing floodlight activity. This method supports patch semantics.",
33088	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
33089	//   "httpMethod": "PATCH",
33090	//   "id": "dfareporting.floodlightActivities.patch",
33091	//   "parameterOrder": [
33092	//     "profileId",
33093	//     "id"
33094	//   ],
33095	//   "parameters": {
33096	//     "id": {
33097	//       "description": "FloodlightActivity ID.",
33098	//       "format": "int64",
33099	//       "location": "query",
33100	//       "required": true,
33101	//       "type": "string"
33102	//     },
33103	//     "profileId": {
33104	//       "description": "User profile ID associated with this request.",
33105	//       "format": "int64",
33106	//       "location": "path",
33107	//       "required": true,
33108	//       "type": "string"
33109	//     }
33110	//   },
33111	//   "path": "userprofiles/{profileId}/floodlightActivities",
33112	//   "request": {
33113	//     "$ref": "FloodlightActivity"
33114	//   },
33115	//   "response": {
33116	//     "$ref": "FloodlightActivity"
33117	//   },
33118	//   "scopes": [
33119	//     "https://www.googleapis.com/auth/dfatrafficking"
33120	//   ]
33121	// }
33122
33123}
33124
33125// method id "dfareporting.floodlightActivities.update":
33126
33127type FloodlightActivitiesUpdateCall struct {
33128	s                  *Service
33129	profileId          int64
33130	floodlightactivity *FloodlightActivity
33131	urlParams_         gensupport.URLParams
33132	ctx_               context.Context
33133	header_            http.Header
33134}
33135
33136// Update: Updates an existing floodlight activity.
33137//
33138// - profileId: User profile ID associated with this request.
33139func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
33140	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33141	c.profileId = profileId
33142	c.floodlightactivity = floodlightactivity
33143	return c
33144}
33145
33146// Fields allows partial responses to be retrieved. See
33147// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33148// for more information.
33149func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
33150	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33151	return c
33152}
33153
33154// Context sets the context to be used in this call's Do method. Any
33155// pending HTTP request will be aborted if the provided context is
33156// canceled.
33157func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
33158	c.ctx_ = ctx
33159	return c
33160}
33161
33162// Header returns an http.Header that can be modified by the caller to
33163// add HTTP headers to the request.
33164func (c *FloodlightActivitiesUpdateCall) Header() http.Header {
33165	if c.header_ == nil {
33166		c.header_ = make(http.Header)
33167	}
33168	return c.header_
33169}
33170
33171func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
33172	reqHeaders := make(http.Header)
33173	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
33174	for k, v := range c.header_ {
33175		reqHeaders[k] = v
33176	}
33177	reqHeaders.Set("User-Agent", c.s.userAgent())
33178	var body io.Reader = nil
33179	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
33180	if err != nil {
33181		return nil, err
33182	}
33183	reqHeaders.Set("Content-Type", "application/json")
33184	c.urlParams_.Set("alt", alt)
33185	c.urlParams_.Set("prettyPrint", "false")
33186	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
33187	urls += "?" + c.urlParams_.Encode()
33188	req, err := http.NewRequest("PUT", urls, body)
33189	if err != nil {
33190		return nil, err
33191	}
33192	req.Header = reqHeaders
33193	googleapi.Expand(req.URL, map[string]string{
33194		"profileId": strconv.FormatInt(c.profileId, 10),
33195	})
33196	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33197}
33198
33199// Do executes the "dfareporting.floodlightActivities.update" call.
33200// Exactly one of *FloodlightActivity or error will be non-nil. Any
33201// non-2xx status code is an error. Response headers are in either
33202// *FloodlightActivity.ServerResponse.Header or (if a response was
33203// returned at all) in error.(*googleapi.Error).Header. Use
33204// googleapi.IsNotModified to check whether the returned error was
33205// because http.StatusNotModified was returned.
33206func (c *FloodlightActivitiesUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
33207	gensupport.SetOptions(c.urlParams_, opts...)
33208	res, err := c.doRequest("json")
33209	if res != nil && res.StatusCode == http.StatusNotModified {
33210		if res.Body != nil {
33211			res.Body.Close()
33212		}
33213		return nil, &googleapi.Error{
33214			Code:   res.StatusCode,
33215			Header: res.Header,
33216		}
33217	}
33218	if err != nil {
33219		return nil, err
33220	}
33221	defer googleapi.CloseBody(res)
33222	if err := googleapi.CheckResponse(res); err != nil {
33223		return nil, err
33224	}
33225	ret := &FloodlightActivity{
33226		ServerResponse: googleapi.ServerResponse{
33227			Header:         res.Header,
33228			HTTPStatusCode: res.StatusCode,
33229		},
33230	}
33231	target := &ret
33232	if err := gensupport.DecodeResponse(target, res); err != nil {
33233		return nil, err
33234	}
33235	return ret, nil
33236	// {
33237	//   "description": "Updates an existing floodlight activity.",
33238	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
33239	//   "httpMethod": "PUT",
33240	//   "id": "dfareporting.floodlightActivities.update",
33241	//   "parameterOrder": [
33242	//     "profileId"
33243	//   ],
33244	//   "parameters": {
33245	//     "profileId": {
33246	//       "description": "User profile ID associated with this request.",
33247	//       "format": "int64",
33248	//       "location": "path",
33249	//       "required": true,
33250	//       "type": "string"
33251	//     }
33252	//   },
33253	//   "path": "userprofiles/{profileId}/floodlightActivities",
33254	//   "request": {
33255	//     "$ref": "FloodlightActivity"
33256	//   },
33257	//   "response": {
33258	//     "$ref": "FloodlightActivity"
33259	//   },
33260	//   "scopes": [
33261	//     "https://www.googleapis.com/auth/dfatrafficking"
33262	//   ]
33263	// }
33264
33265}
33266
33267// method id "dfareporting.floodlightActivityGroups.get":
33268
33269type FloodlightActivityGroupsGetCall struct {
33270	s            *Service
33271	profileId    int64
33272	id           int64
33273	urlParams_   gensupport.URLParams
33274	ifNoneMatch_ string
33275	ctx_         context.Context
33276	header_      http.Header
33277}
33278
33279// Get: Gets one floodlight activity group by ID.
33280//
33281// - id: Floodlight activity Group ID.
33282// - profileId: User profile ID associated with this request.
33283func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
33284	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33285	c.profileId = profileId
33286	c.id = id
33287	return c
33288}
33289
33290// Fields allows partial responses to be retrieved. See
33291// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33292// for more information.
33293func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
33294	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33295	return c
33296}
33297
33298// IfNoneMatch sets the optional parameter which makes the operation
33299// fail if the object's ETag matches the given value. This is useful for
33300// getting updates only after the object has changed since the last
33301// request. Use googleapi.IsNotModified to check whether the response
33302// error from Do is the result of In-None-Match.
33303func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
33304	c.ifNoneMatch_ = entityTag
33305	return c
33306}
33307
33308// Context sets the context to be used in this call's Do method. Any
33309// pending HTTP request will be aborted if the provided context is
33310// canceled.
33311func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
33312	c.ctx_ = ctx
33313	return c
33314}
33315
33316// Header returns an http.Header that can be modified by the caller to
33317// add HTTP headers to the request.
33318func (c *FloodlightActivityGroupsGetCall) Header() http.Header {
33319	if c.header_ == nil {
33320		c.header_ = make(http.Header)
33321	}
33322	return c.header_
33323}
33324
33325func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
33326	reqHeaders := make(http.Header)
33327	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
33328	for k, v := range c.header_ {
33329		reqHeaders[k] = v
33330	}
33331	reqHeaders.Set("User-Agent", c.s.userAgent())
33332	if c.ifNoneMatch_ != "" {
33333		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33334	}
33335	var body io.Reader = nil
33336	c.urlParams_.Set("alt", alt)
33337	c.urlParams_.Set("prettyPrint", "false")
33338	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
33339	urls += "?" + c.urlParams_.Encode()
33340	req, err := http.NewRequest("GET", urls, body)
33341	if err != nil {
33342		return nil, err
33343	}
33344	req.Header = reqHeaders
33345	googleapi.Expand(req.URL, map[string]string{
33346		"profileId": strconv.FormatInt(c.profileId, 10),
33347		"id":        strconv.FormatInt(c.id, 10),
33348	})
33349	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33350}
33351
33352// Do executes the "dfareporting.floodlightActivityGroups.get" call.
33353// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33354// non-2xx status code is an error. Response headers are in either
33355// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33356// returned at all) in error.(*googleapi.Error).Header. Use
33357// googleapi.IsNotModified to check whether the returned error was
33358// because http.StatusNotModified was returned.
33359func (c *FloodlightActivityGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33360	gensupport.SetOptions(c.urlParams_, opts...)
33361	res, err := c.doRequest("json")
33362	if res != nil && res.StatusCode == http.StatusNotModified {
33363		if res.Body != nil {
33364			res.Body.Close()
33365		}
33366		return nil, &googleapi.Error{
33367			Code:   res.StatusCode,
33368			Header: res.Header,
33369		}
33370	}
33371	if err != nil {
33372		return nil, err
33373	}
33374	defer googleapi.CloseBody(res)
33375	if err := googleapi.CheckResponse(res); err != nil {
33376		return nil, err
33377	}
33378	ret := &FloodlightActivityGroup{
33379		ServerResponse: googleapi.ServerResponse{
33380			Header:         res.Header,
33381			HTTPStatusCode: res.StatusCode,
33382		},
33383	}
33384	target := &ret
33385	if err := gensupport.DecodeResponse(target, res); err != nil {
33386		return nil, err
33387	}
33388	return ret, nil
33389	// {
33390	//   "description": "Gets one floodlight activity group by ID.",
33391	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
33392	//   "httpMethod": "GET",
33393	//   "id": "dfareporting.floodlightActivityGroups.get",
33394	//   "parameterOrder": [
33395	//     "profileId",
33396	//     "id"
33397	//   ],
33398	//   "parameters": {
33399	//     "id": {
33400	//       "description": "Floodlight activity Group ID.",
33401	//       "format": "int64",
33402	//       "location": "path",
33403	//       "required": true,
33404	//       "type": "string"
33405	//     },
33406	//     "profileId": {
33407	//       "description": "User profile ID associated with this request.",
33408	//       "format": "int64",
33409	//       "location": "path",
33410	//       "required": true,
33411	//       "type": "string"
33412	//     }
33413	//   },
33414	//   "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
33415	//   "response": {
33416	//     "$ref": "FloodlightActivityGroup"
33417	//   },
33418	//   "scopes": [
33419	//     "https://www.googleapis.com/auth/dfatrafficking"
33420	//   ]
33421	// }
33422
33423}
33424
33425// method id "dfareporting.floodlightActivityGroups.insert":
33426
33427type FloodlightActivityGroupsInsertCall struct {
33428	s                       *Service
33429	profileId               int64
33430	floodlightactivitygroup *FloodlightActivityGroup
33431	urlParams_              gensupport.URLParams
33432	ctx_                    context.Context
33433	header_                 http.Header
33434}
33435
33436// Insert: Inserts a new floodlight activity group.
33437//
33438// - profileId: User profile ID associated with this request.
33439func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
33440	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33441	c.profileId = profileId
33442	c.floodlightactivitygroup = floodlightactivitygroup
33443	return c
33444}
33445
33446// Fields allows partial responses to be retrieved. See
33447// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33448// for more information.
33449func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
33450	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33451	return c
33452}
33453
33454// Context sets the context to be used in this call's Do method. Any
33455// pending HTTP request will be aborted if the provided context is
33456// canceled.
33457func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
33458	c.ctx_ = ctx
33459	return c
33460}
33461
33462// Header returns an http.Header that can be modified by the caller to
33463// add HTTP headers to the request.
33464func (c *FloodlightActivityGroupsInsertCall) Header() http.Header {
33465	if c.header_ == nil {
33466		c.header_ = make(http.Header)
33467	}
33468	return c.header_
33469}
33470
33471func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
33472	reqHeaders := make(http.Header)
33473	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
33474	for k, v := range c.header_ {
33475		reqHeaders[k] = v
33476	}
33477	reqHeaders.Set("User-Agent", c.s.userAgent())
33478	var body io.Reader = nil
33479	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
33480	if err != nil {
33481		return nil, err
33482	}
33483	reqHeaders.Set("Content-Type", "application/json")
33484	c.urlParams_.Set("alt", alt)
33485	c.urlParams_.Set("prettyPrint", "false")
33486	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33487	urls += "?" + c.urlParams_.Encode()
33488	req, err := http.NewRequest("POST", urls, body)
33489	if err != nil {
33490		return nil, err
33491	}
33492	req.Header = reqHeaders
33493	googleapi.Expand(req.URL, map[string]string{
33494		"profileId": strconv.FormatInt(c.profileId, 10),
33495	})
33496	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33497}
33498
33499// Do executes the "dfareporting.floodlightActivityGroups.insert" call.
33500// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33501// non-2xx status code is an error. Response headers are in either
33502// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33503// returned at all) in error.(*googleapi.Error).Header. Use
33504// googleapi.IsNotModified to check whether the returned error was
33505// because http.StatusNotModified was returned.
33506func (c *FloodlightActivityGroupsInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33507	gensupport.SetOptions(c.urlParams_, opts...)
33508	res, err := c.doRequest("json")
33509	if res != nil && res.StatusCode == http.StatusNotModified {
33510		if res.Body != nil {
33511			res.Body.Close()
33512		}
33513		return nil, &googleapi.Error{
33514			Code:   res.StatusCode,
33515			Header: res.Header,
33516		}
33517	}
33518	if err != nil {
33519		return nil, err
33520	}
33521	defer googleapi.CloseBody(res)
33522	if err := googleapi.CheckResponse(res); err != nil {
33523		return nil, err
33524	}
33525	ret := &FloodlightActivityGroup{
33526		ServerResponse: googleapi.ServerResponse{
33527			Header:         res.Header,
33528			HTTPStatusCode: res.StatusCode,
33529		},
33530	}
33531	target := &ret
33532	if err := gensupport.DecodeResponse(target, res); err != nil {
33533		return nil, err
33534	}
33535	return ret, nil
33536	// {
33537	//   "description": "Inserts a new floodlight activity group.",
33538	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
33539	//   "httpMethod": "POST",
33540	//   "id": "dfareporting.floodlightActivityGroups.insert",
33541	//   "parameterOrder": [
33542	//     "profileId"
33543	//   ],
33544	//   "parameters": {
33545	//     "profileId": {
33546	//       "description": "User profile ID associated with this request.",
33547	//       "format": "int64",
33548	//       "location": "path",
33549	//       "required": true,
33550	//       "type": "string"
33551	//     }
33552	//   },
33553	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
33554	//   "request": {
33555	//     "$ref": "FloodlightActivityGroup"
33556	//   },
33557	//   "response": {
33558	//     "$ref": "FloodlightActivityGroup"
33559	//   },
33560	//   "scopes": [
33561	//     "https://www.googleapis.com/auth/dfatrafficking"
33562	//   ]
33563	// }
33564
33565}
33566
33567// method id "dfareporting.floodlightActivityGroups.list":
33568
33569type FloodlightActivityGroupsListCall struct {
33570	s            *Service
33571	profileId    int64
33572	urlParams_   gensupport.URLParams
33573	ifNoneMatch_ string
33574	ctx_         context.Context
33575	header_      http.Header
33576}
33577
33578// List: Retrieves a list of floodlight activity groups, possibly
33579// filtered. This method supports paging.
33580//
33581// - profileId: User profile ID associated with this request.
33582func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
33583	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33584	c.profileId = profileId
33585	return c
33586}
33587
33588// AdvertiserId sets the optional parameter "advertiserId": Select only
33589// floodlight activity groups with the specified advertiser ID. Must
33590// specify either advertiserId or floodlightConfigurationId for a
33591// non-empty result.
33592func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
33593	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33594	return c
33595}
33596
33597// FloodlightConfigurationId sets the optional parameter
33598// "floodlightConfigurationId": Select only floodlight activity groups
33599// with the specified floodlight configuration ID. Must specify either
33600// advertiserId, or floodlightConfigurationId for a non-empty result.
33601func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
33602	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
33603	return c
33604}
33605
33606// Ids sets the optional parameter "ids": Select only floodlight
33607// activity groups with the specified IDs. Must specify either
33608// advertiserId or floodlightConfigurationId for a non-empty result.
33609func (c *FloodlightActivityGroupsListCall) Ids(ids ...int64) *FloodlightActivityGroupsListCall {
33610	var ids_ []string
33611	for _, v := range ids {
33612		ids_ = append(ids_, fmt.Sprint(v))
33613	}
33614	c.urlParams_.SetMulti("ids", ids_)
33615	return c
33616}
33617
33618// MaxResults sets the optional parameter "maxResults": Maximum number
33619// of results to return.
33620func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
33621	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
33622	return c
33623}
33624
33625// PageToken sets the optional parameter "pageToken": Value of the
33626// nextPageToken from the previous result page.
33627func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
33628	c.urlParams_.Set("pageToken", pageToken)
33629	return c
33630}
33631
33632// SearchString sets the optional parameter "searchString": Allows
33633// searching for objects by name or ID. Wildcards (*) are allowed. For
33634// example, "floodlightactivitygroup*2015" will return objects with
33635// names like "floodlightactivitygroup June 2015",
33636// "floodlightactivitygroup April 2015", or simply
33637// "floodlightactivitygroup 2015". Most of the searches also add
33638// wildcards implicitly at the start and the end of the search string.
33639// For example, a search string of "floodlightactivitygroup" will match
33640// objects with name "my floodlightactivitygroup activity",
33641// "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
33642func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
33643	c.urlParams_.Set("searchString", searchString)
33644	return c
33645}
33646
33647// SortField sets the optional parameter "sortField": Field by which to
33648// sort the list.
33649//
33650// Possible values:
33651//   "ID" (default)
33652//   "NAME"
33653func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
33654	c.urlParams_.Set("sortField", sortField)
33655	return c
33656}
33657
33658// SortOrder sets the optional parameter "sortOrder": Order of sorted
33659// results.
33660//
33661// Possible values:
33662//   "ASCENDING" (default)
33663//   "DESCENDING"
33664func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
33665	c.urlParams_.Set("sortOrder", sortOrder)
33666	return c
33667}
33668
33669// Type sets the optional parameter "type": Select only floodlight
33670// activity groups with the specified floodlight activity group type.
33671//
33672// Possible values:
33673//   "COUNTER"
33674//   "SALE"
33675func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
33676	c.urlParams_.Set("type", type_)
33677	return c
33678}
33679
33680// Fields allows partial responses to be retrieved. See
33681// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33682// for more information.
33683func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
33684	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33685	return c
33686}
33687
33688// IfNoneMatch sets the optional parameter which makes the operation
33689// fail if the object's ETag matches the given value. This is useful for
33690// getting updates only after the object has changed since the last
33691// request. Use googleapi.IsNotModified to check whether the response
33692// error from Do is the result of In-None-Match.
33693func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
33694	c.ifNoneMatch_ = entityTag
33695	return c
33696}
33697
33698// Context sets the context to be used in this call's Do method. Any
33699// pending HTTP request will be aborted if the provided context is
33700// canceled.
33701func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
33702	c.ctx_ = ctx
33703	return c
33704}
33705
33706// Header returns an http.Header that can be modified by the caller to
33707// add HTTP headers to the request.
33708func (c *FloodlightActivityGroupsListCall) Header() http.Header {
33709	if c.header_ == nil {
33710		c.header_ = make(http.Header)
33711	}
33712	return c.header_
33713}
33714
33715func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
33716	reqHeaders := make(http.Header)
33717	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
33718	for k, v := range c.header_ {
33719		reqHeaders[k] = v
33720	}
33721	reqHeaders.Set("User-Agent", c.s.userAgent())
33722	if c.ifNoneMatch_ != "" {
33723		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33724	}
33725	var body io.Reader = nil
33726	c.urlParams_.Set("alt", alt)
33727	c.urlParams_.Set("prettyPrint", "false")
33728	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33729	urls += "?" + c.urlParams_.Encode()
33730	req, err := http.NewRequest("GET", urls, body)
33731	if err != nil {
33732		return nil, err
33733	}
33734	req.Header = reqHeaders
33735	googleapi.Expand(req.URL, map[string]string{
33736		"profileId": strconv.FormatInt(c.profileId, 10),
33737	})
33738	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33739}
33740
33741// Do executes the "dfareporting.floodlightActivityGroups.list" call.
33742// Exactly one of *FloodlightActivityGroupsListResponse or error will be
33743// non-nil. Any non-2xx status code is an error. Response headers are in
33744// either *FloodlightActivityGroupsListResponse.ServerResponse.Header or
33745// (if a response was returned at all) in
33746// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
33747// whether the returned error was because http.StatusNotModified was
33748// returned.
33749func (c *FloodlightActivityGroupsListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroupsListResponse, error) {
33750	gensupport.SetOptions(c.urlParams_, opts...)
33751	res, err := c.doRequest("json")
33752	if res != nil && res.StatusCode == http.StatusNotModified {
33753		if res.Body != nil {
33754			res.Body.Close()
33755		}
33756		return nil, &googleapi.Error{
33757			Code:   res.StatusCode,
33758			Header: res.Header,
33759		}
33760	}
33761	if err != nil {
33762		return nil, err
33763	}
33764	defer googleapi.CloseBody(res)
33765	if err := googleapi.CheckResponse(res); err != nil {
33766		return nil, err
33767	}
33768	ret := &FloodlightActivityGroupsListResponse{
33769		ServerResponse: googleapi.ServerResponse{
33770			Header:         res.Header,
33771			HTTPStatusCode: res.StatusCode,
33772		},
33773	}
33774	target := &ret
33775	if err := gensupport.DecodeResponse(target, res); err != nil {
33776		return nil, err
33777	}
33778	return ret, nil
33779	// {
33780	//   "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
33781	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
33782	//   "httpMethod": "GET",
33783	//   "id": "dfareporting.floodlightActivityGroups.list",
33784	//   "parameterOrder": [
33785	//     "profileId"
33786	//   ],
33787	//   "parameters": {
33788	//     "advertiserId": {
33789	//       "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
33790	//       "format": "int64",
33791	//       "location": "query",
33792	//       "type": "string"
33793	//     },
33794	//     "floodlightConfigurationId": {
33795	//       "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.",
33796	//       "format": "int64",
33797	//       "location": "query",
33798	//       "type": "string"
33799	//     },
33800	//     "ids": {
33801	//       "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
33802	//       "format": "int64",
33803	//       "location": "query",
33804	//       "repeated": true,
33805	//       "type": "string"
33806	//     },
33807	//     "maxResults": {
33808	//       "default": "1000",
33809	//       "description": "Maximum number of results to return.",
33810	//       "format": "int32",
33811	//       "location": "query",
33812	//       "maximum": "1000",
33813	//       "minimum": "0",
33814	//       "type": "integer"
33815	//     },
33816	//     "pageToken": {
33817	//       "description": "Value of the nextPageToken from the previous result page.",
33818	//       "location": "query",
33819	//       "type": "string"
33820	//     },
33821	//     "profileId": {
33822	//       "description": "User profile ID associated with this request.",
33823	//       "format": "int64",
33824	//       "location": "path",
33825	//       "required": true,
33826	//       "type": "string"
33827	//     },
33828	//     "searchString": {
33829	//       "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\".",
33830	//       "location": "query",
33831	//       "type": "string"
33832	//     },
33833	//     "sortField": {
33834	//       "default": "ID",
33835	//       "description": "Field by which to sort the list.",
33836	//       "enum": [
33837	//         "ID",
33838	//         "NAME"
33839	//       ],
33840	//       "enumDescriptions": [
33841	//         "",
33842	//         ""
33843	//       ],
33844	//       "location": "query",
33845	//       "type": "string"
33846	//     },
33847	//     "sortOrder": {
33848	//       "default": "ASCENDING",
33849	//       "description": "Order of sorted results.",
33850	//       "enum": [
33851	//         "ASCENDING",
33852	//         "DESCENDING"
33853	//       ],
33854	//       "enumDescriptions": [
33855	//         "",
33856	//         ""
33857	//       ],
33858	//       "location": "query",
33859	//       "type": "string"
33860	//     },
33861	//     "type": {
33862	//       "description": "Select only floodlight activity groups with the specified floodlight activity group type.",
33863	//       "enum": [
33864	//         "COUNTER",
33865	//         "SALE"
33866	//       ],
33867	//       "enumDescriptions": [
33868	//         "",
33869	//         ""
33870	//       ],
33871	//       "location": "query",
33872	//       "type": "string"
33873	//     }
33874	//   },
33875	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
33876	//   "response": {
33877	//     "$ref": "FloodlightActivityGroupsListResponse"
33878	//   },
33879	//   "scopes": [
33880	//     "https://www.googleapis.com/auth/dfatrafficking"
33881	//   ]
33882	// }
33883
33884}
33885
33886// Pages invokes f for each page of results.
33887// A non-nil error returned from f will halt the iteration.
33888// The provided context supersedes any context provided to the Context method.
33889func (c *FloodlightActivityGroupsListCall) Pages(ctx context.Context, f func(*FloodlightActivityGroupsListResponse) error) error {
33890	c.ctx_ = ctx
33891	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
33892	for {
33893		x, err := c.Do()
33894		if err != nil {
33895			return err
33896		}
33897		if err := f(x); err != nil {
33898			return err
33899		}
33900		if x.NextPageToken == "" {
33901			return nil
33902		}
33903		c.PageToken(x.NextPageToken)
33904	}
33905}
33906
33907// method id "dfareporting.floodlightActivityGroups.patch":
33908
33909type FloodlightActivityGroupsPatchCall struct {
33910	s                       *Service
33911	profileId               int64
33912	floodlightactivitygroup *FloodlightActivityGroup
33913	urlParams_              gensupport.URLParams
33914	ctx_                    context.Context
33915	header_                 http.Header
33916}
33917
33918// Patch: Updates an existing floodlight activity group. This method
33919// supports patch semantics.
33920//
33921// - id: FloodlightActivityGroup ID.
33922// - profileId: User profile ID associated with this request.
33923func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
33924	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33925	c.profileId = profileId
33926	c.urlParams_.Set("id", fmt.Sprint(id))
33927	c.floodlightactivitygroup = floodlightactivitygroup
33928	return c
33929}
33930
33931// Fields allows partial responses to be retrieved. See
33932// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33933// for more information.
33934func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
33935	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33936	return c
33937}
33938
33939// Context sets the context to be used in this call's Do method. Any
33940// pending HTTP request will be aborted if the provided context is
33941// canceled.
33942func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
33943	c.ctx_ = ctx
33944	return c
33945}
33946
33947// Header returns an http.Header that can be modified by the caller to
33948// add HTTP headers to the request.
33949func (c *FloodlightActivityGroupsPatchCall) Header() http.Header {
33950	if c.header_ == nil {
33951		c.header_ = make(http.Header)
33952	}
33953	return c.header_
33954}
33955
33956func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
33957	reqHeaders := make(http.Header)
33958	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
33959	for k, v := range c.header_ {
33960		reqHeaders[k] = v
33961	}
33962	reqHeaders.Set("User-Agent", c.s.userAgent())
33963	var body io.Reader = nil
33964	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
33965	if err != nil {
33966		return nil, err
33967	}
33968	reqHeaders.Set("Content-Type", "application/json")
33969	c.urlParams_.Set("alt", alt)
33970	c.urlParams_.Set("prettyPrint", "false")
33971	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33972	urls += "?" + c.urlParams_.Encode()
33973	req, err := http.NewRequest("PATCH", urls, body)
33974	if err != nil {
33975		return nil, err
33976	}
33977	req.Header = reqHeaders
33978	googleapi.Expand(req.URL, map[string]string{
33979		"profileId": strconv.FormatInt(c.profileId, 10),
33980	})
33981	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33982}
33983
33984// Do executes the "dfareporting.floodlightActivityGroups.patch" call.
33985// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33986// non-2xx status code is an error. Response headers are in either
33987// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33988// returned at all) in error.(*googleapi.Error).Header. Use
33989// googleapi.IsNotModified to check whether the returned error was
33990// because http.StatusNotModified was returned.
33991func (c *FloodlightActivityGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33992	gensupport.SetOptions(c.urlParams_, opts...)
33993	res, err := c.doRequest("json")
33994	if res != nil && res.StatusCode == http.StatusNotModified {
33995		if res.Body != nil {
33996			res.Body.Close()
33997		}
33998		return nil, &googleapi.Error{
33999			Code:   res.StatusCode,
34000			Header: res.Header,
34001		}
34002	}
34003	if err != nil {
34004		return nil, err
34005	}
34006	defer googleapi.CloseBody(res)
34007	if err := googleapi.CheckResponse(res); err != nil {
34008		return nil, err
34009	}
34010	ret := &FloodlightActivityGroup{
34011		ServerResponse: googleapi.ServerResponse{
34012			Header:         res.Header,
34013			HTTPStatusCode: res.StatusCode,
34014		},
34015	}
34016	target := &ret
34017	if err := gensupport.DecodeResponse(target, res); err != nil {
34018		return nil, err
34019	}
34020	return ret, nil
34021	// {
34022	//   "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
34023	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
34024	//   "httpMethod": "PATCH",
34025	//   "id": "dfareporting.floodlightActivityGroups.patch",
34026	//   "parameterOrder": [
34027	//     "profileId",
34028	//     "id"
34029	//   ],
34030	//   "parameters": {
34031	//     "id": {
34032	//       "description": "FloodlightActivityGroup ID.",
34033	//       "format": "int64",
34034	//       "location": "query",
34035	//       "required": true,
34036	//       "type": "string"
34037	//     },
34038	//     "profileId": {
34039	//       "description": "User profile ID associated with this request.",
34040	//       "format": "int64",
34041	//       "location": "path",
34042	//       "required": true,
34043	//       "type": "string"
34044	//     }
34045	//   },
34046	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
34047	//   "request": {
34048	//     "$ref": "FloodlightActivityGroup"
34049	//   },
34050	//   "response": {
34051	//     "$ref": "FloodlightActivityGroup"
34052	//   },
34053	//   "scopes": [
34054	//     "https://www.googleapis.com/auth/dfatrafficking"
34055	//   ]
34056	// }
34057
34058}
34059
34060// method id "dfareporting.floodlightActivityGroups.update":
34061
34062type FloodlightActivityGroupsUpdateCall struct {
34063	s                       *Service
34064	profileId               int64
34065	floodlightactivitygroup *FloodlightActivityGroup
34066	urlParams_              gensupport.URLParams
34067	ctx_                    context.Context
34068	header_                 http.Header
34069}
34070
34071// Update: Updates an existing floodlight activity group.
34072//
34073// - profileId: User profile ID associated with this request.
34074func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
34075	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34076	c.profileId = profileId
34077	c.floodlightactivitygroup = floodlightactivitygroup
34078	return c
34079}
34080
34081// Fields allows partial responses to be retrieved. See
34082// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34083// for more information.
34084func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
34085	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34086	return c
34087}
34088
34089// Context sets the context to be used in this call's Do method. Any
34090// pending HTTP request will be aborted if the provided context is
34091// canceled.
34092func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
34093	c.ctx_ = ctx
34094	return c
34095}
34096
34097// Header returns an http.Header that can be modified by the caller to
34098// add HTTP headers to the request.
34099func (c *FloodlightActivityGroupsUpdateCall) Header() http.Header {
34100	if c.header_ == nil {
34101		c.header_ = make(http.Header)
34102	}
34103	return c.header_
34104}
34105
34106func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
34107	reqHeaders := make(http.Header)
34108	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
34109	for k, v := range c.header_ {
34110		reqHeaders[k] = v
34111	}
34112	reqHeaders.Set("User-Agent", c.s.userAgent())
34113	var body io.Reader = nil
34114	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
34115	if err != nil {
34116		return nil, err
34117	}
34118	reqHeaders.Set("Content-Type", "application/json")
34119	c.urlParams_.Set("alt", alt)
34120	c.urlParams_.Set("prettyPrint", "false")
34121	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
34122	urls += "?" + c.urlParams_.Encode()
34123	req, err := http.NewRequest("PUT", urls, body)
34124	if err != nil {
34125		return nil, err
34126	}
34127	req.Header = reqHeaders
34128	googleapi.Expand(req.URL, map[string]string{
34129		"profileId": strconv.FormatInt(c.profileId, 10),
34130	})
34131	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34132}
34133
34134// Do executes the "dfareporting.floodlightActivityGroups.update" call.
34135// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
34136// non-2xx status code is an error. Response headers are in either
34137// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
34138// returned at all) in error.(*googleapi.Error).Header. Use
34139// googleapi.IsNotModified to check whether the returned error was
34140// because http.StatusNotModified was returned.
34141func (c *FloodlightActivityGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
34142	gensupport.SetOptions(c.urlParams_, opts...)
34143	res, err := c.doRequest("json")
34144	if res != nil && res.StatusCode == http.StatusNotModified {
34145		if res.Body != nil {
34146			res.Body.Close()
34147		}
34148		return nil, &googleapi.Error{
34149			Code:   res.StatusCode,
34150			Header: res.Header,
34151		}
34152	}
34153	if err != nil {
34154		return nil, err
34155	}
34156	defer googleapi.CloseBody(res)
34157	if err := googleapi.CheckResponse(res); err != nil {
34158		return nil, err
34159	}
34160	ret := &FloodlightActivityGroup{
34161		ServerResponse: googleapi.ServerResponse{
34162			Header:         res.Header,
34163			HTTPStatusCode: res.StatusCode,
34164		},
34165	}
34166	target := &ret
34167	if err := gensupport.DecodeResponse(target, res); err != nil {
34168		return nil, err
34169	}
34170	return ret, nil
34171	// {
34172	//   "description": "Updates an existing floodlight activity group.",
34173	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
34174	//   "httpMethod": "PUT",
34175	//   "id": "dfareporting.floodlightActivityGroups.update",
34176	//   "parameterOrder": [
34177	//     "profileId"
34178	//   ],
34179	//   "parameters": {
34180	//     "profileId": {
34181	//       "description": "User profile ID associated with this request.",
34182	//       "format": "int64",
34183	//       "location": "path",
34184	//       "required": true,
34185	//       "type": "string"
34186	//     }
34187	//   },
34188	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
34189	//   "request": {
34190	//     "$ref": "FloodlightActivityGroup"
34191	//   },
34192	//   "response": {
34193	//     "$ref": "FloodlightActivityGroup"
34194	//   },
34195	//   "scopes": [
34196	//     "https://www.googleapis.com/auth/dfatrafficking"
34197	//   ]
34198	// }
34199
34200}
34201
34202// method id "dfareporting.floodlightConfigurations.get":
34203
34204type FloodlightConfigurationsGetCall struct {
34205	s            *Service
34206	profileId    int64
34207	id           int64
34208	urlParams_   gensupport.URLParams
34209	ifNoneMatch_ string
34210	ctx_         context.Context
34211	header_      http.Header
34212}
34213
34214// Get: Gets one floodlight configuration by ID.
34215//
34216// - id: Floodlight configuration ID.
34217// - profileId: User profile ID associated with this request.
34218func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
34219	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34220	c.profileId = profileId
34221	c.id = id
34222	return c
34223}
34224
34225// Fields allows partial responses to be retrieved. See
34226// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34227// for more information.
34228func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
34229	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34230	return c
34231}
34232
34233// IfNoneMatch sets the optional parameter which makes the operation
34234// fail if the object's ETag matches the given value. This is useful for
34235// getting updates only after the object has changed since the last
34236// request. Use googleapi.IsNotModified to check whether the response
34237// error from Do is the result of In-None-Match.
34238func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
34239	c.ifNoneMatch_ = entityTag
34240	return c
34241}
34242
34243// Context sets the context to be used in this call's Do method. Any
34244// pending HTTP request will be aborted if the provided context is
34245// canceled.
34246func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
34247	c.ctx_ = ctx
34248	return c
34249}
34250
34251// Header returns an http.Header that can be modified by the caller to
34252// add HTTP headers to the request.
34253func (c *FloodlightConfigurationsGetCall) Header() http.Header {
34254	if c.header_ == nil {
34255		c.header_ = make(http.Header)
34256	}
34257	return c.header_
34258}
34259
34260func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
34261	reqHeaders := make(http.Header)
34262	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
34263	for k, v := range c.header_ {
34264		reqHeaders[k] = v
34265	}
34266	reqHeaders.Set("User-Agent", c.s.userAgent())
34267	if c.ifNoneMatch_ != "" {
34268		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34269	}
34270	var body io.Reader = nil
34271	c.urlParams_.Set("alt", alt)
34272	c.urlParams_.Set("prettyPrint", "false")
34273	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
34274	urls += "?" + c.urlParams_.Encode()
34275	req, err := http.NewRequest("GET", urls, body)
34276	if err != nil {
34277		return nil, err
34278	}
34279	req.Header = reqHeaders
34280	googleapi.Expand(req.URL, map[string]string{
34281		"profileId": strconv.FormatInt(c.profileId, 10),
34282		"id":        strconv.FormatInt(c.id, 10),
34283	})
34284	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34285}
34286
34287// Do executes the "dfareporting.floodlightConfigurations.get" call.
34288// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34289// non-2xx status code is an error. Response headers are in either
34290// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34291// returned at all) in error.(*googleapi.Error).Header. Use
34292// googleapi.IsNotModified to check whether the returned error was
34293// because http.StatusNotModified was returned.
34294func (c *FloodlightConfigurationsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34295	gensupport.SetOptions(c.urlParams_, opts...)
34296	res, err := c.doRequest("json")
34297	if res != nil && res.StatusCode == http.StatusNotModified {
34298		if res.Body != nil {
34299			res.Body.Close()
34300		}
34301		return nil, &googleapi.Error{
34302			Code:   res.StatusCode,
34303			Header: res.Header,
34304		}
34305	}
34306	if err != nil {
34307		return nil, err
34308	}
34309	defer googleapi.CloseBody(res)
34310	if err := googleapi.CheckResponse(res); err != nil {
34311		return nil, err
34312	}
34313	ret := &FloodlightConfiguration{
34314		ServerResponse: googleapi.ServerResponse{
34315			Header:         res.Header,
34316			HTTPStatusCode: res.StatusCode,
34317		},
34318	}
34319	target := &ret
34320	if err := gensupport.DecodeResponse(target, res); err != nil {
34321		return nil, err
34322	}
34323	return ret, nil
34324	// {
34325	//   "description": "Gets one floodlight configuration by ID.",
34326	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations/{id}",
34327	//   "httpMethod": "GET",
34328	//   "id": "dfareporting.floodlightConfigurations.get",
34329	//   "parameterOrder": [
34330	//     "profileId",
34331	//     "id"
34332	//   ],
34333	//   "parameters": {
34334	//     "id": {
34335	//       "description": "Floodlight configuration ID.",
34336	//       "format": "int64",
34337	//       "location": "path",
34338	//       "required": true,
34339	//       "type": "string"
34340	//     },
34341	//     "profileId": {
34342	//       "description": "User profile ID associated with this request.",
34343	//       "format": "int64",
34344	//       "location": "path",
34345	//       "required": true,
34346	//       "type": "string"
34347	//     }
34348	//   },
34349	//   "path": "userprofiles/{profileId}/floodlightConfigurations/{id}",
34350	//   "response": {
34351	//     "$ref": "FloodlightConfiguration"
34352	//   },
34353	//   "scopes": [
34354	//     "https://www.googleapis.com/auth/dfatrafficking"
34355	//   ]
34356	// }
34357
34358}
34359
34360// method id "dfareporting.floodlightConfigurations.list":
34361
34362type FloodlightConfigurationsListCall struct {
34363	s            *Service
34364	profileId    int64
34365	urlParams_   gensupport.URLParams
34366	ifNoneMatch_ string
34367	ctx_         context.Context
34368	header_      http.Header
34369}
34370
34371// List: Retrieves a list of floodlight configurations, possibly
34372// filtered.
34373//
34374// - profileId: User profile ID associated with this request.
34375func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
34376	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34377	c.profileId = profileId
34378	return c
34379}
34380
34381// Ids sets the optional parameter "ids": Set of IDs of floodlight
34382// configurations to retrieve. Required field; otherwise an empty list
34383// will be returned.
34384func (c *FloodlightConfigurationsListCall) Ids(ids ...int64) *FloodlightConfigurationsListCall {
34385	var ids_ []string
34386	for _, v := range ids {
34387		ids_ = append(ids_, fmt.Sprint(v))
34388	}
34389	c.urlParams_.SetMulti("ids", ids_)
34390	return c
34391}
34392
34393// Fields allows partial responses to be retrieved. See
34394// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34395// for more information.
34396func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
34397	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34398	return c
34399}
34400
34401// IfNoneMatch sets the optional parameter which makes the operation
34402// fail if the object's ETag matches the given value. This is useful for
34403// getting updates only after the object has changed since the last
34404// request. Use googleapi.IsNotModified to check whether the response
34405// error from Do is the result of In-None-Match.
34406func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
34407	c.ifNoneMatch_ = entityTag
34408	return c
34409}
34410
34411// Context sets the context to be used in this call's Do method. Any
34412// pending HTTP request will be aborted if the provided context is
34413// canceled.
34414func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
34415	c.ctx_ = ctx
34416	return c
34417}
34418
34419// Header returns an http.Header that can be modified by the caller to
34420// add HTTP headers to the request.
34421func (c *FloodlightConfigurationsListCall) Header() http.Header {
34422	if c.header_ == nil {
34423		c.header_ = make(http.Header)
34424	}
34425	return c.header_
34426}
34427
34428func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
34429	reqHeaders := make(http.Header)
34430	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
34431	for k, v := range c.header_ {
34432		reqHeaders[k] = v
34433	}
34434	reqHeaders.Set("User-Agent", c.s.userAgent())
34435	if c.ifNoneMatch_ != "" {
34436		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34437	}
34438	var body io.Reader = nil
34439	c.urlParams_.Set("alt", alt)
34440	c.urlParams_.Set("prettyPrint", "false")
34441	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34442	urls += "?" + c.urlParams_.Encode()
34443	req, err := http.NewRequest("GET", urls, body)
34444	if err != nil {
34445		return nil, err
34446	}
34447	req.Header = reqHeaders
34448	googleapi.Expand(req.URL, map[string]string{
34449		"profileId": strconv.FormatInt(c.profileId, 10),
34450	})
34451	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34452}
34453
34454// Do executes the "dfareporting.floodlightConfigurations.list" call.
34455// Exactly one of *FloodlightConfigurationsListResponse or error will be
34456// non-nil. Any non-2xx status code is an error. Response headers are in
34457// either *FloodlightConfigurationsListResponse.ServerResponse.Header or
34458// (if a response was returned at all) in
34459// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
34460// whether the returned error was because http.StatusNotModified was
34461// returned.
34462func (c *FloodlightConfigurationsListCall) Do(opts ...googleapi.CallOption) (*FloodlightConfigurationsListResponse, error) {
34463	gensupport.SetOptions(c.urlParams_, opts...)
34464	res, err := c.doRequest("json")
34465	if res != nil && res.StatusCode == http.StatusNotModified {
34466		if res.Body != nil {
34467			res.Body.Close()
34468		}
34469		return nil, &googleapi.Error{
34470			Code:   res.StatusCode,
34471			Header: res.Header,
34472		}
34473	}
34474	if err != nil {
34475		return nil, err
34476	}
34477	defer googleapi.CloseBody(res)
34478	if err := googleapi.CheckResponse(res); err != nil {
34479		return nil, err
34480	}
34481	ret := &FloodlightConfigurationsListResponse{
34482		ServerResponse: googleapi.ServerResponse{
34483			Header:         res.Header,
34484			HTTPStatusCode: res.StatusCode,
34485		},
34486	}
34487	target := &ret
34488	if err := gensupport.DecodeResponse(target, res); err != nil {
34489		return nil, err
34490	}
34491	return ret, nil
34492	// {
34493	//   "description": "Retrieves a list of floodlight configurations, possibly filtered.",
34494	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
34495	//   "httpMethod": "GET",
34496	//   "id": "dfareporting.floodlightConfigurations.list",
34497	//   "parameterOrder": [
34498	//     "profileId"
34499	//   ],
34500	//   "parameters": {
34501	//     "ids": {
34502	//       "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.",
34503	//       "format": "int64",
34504	//       "location": "query",
34505	//       "repeated": true,
34506	//       "type": "string"
34507	//     },
34508	//     "profileId": {
34509	//       "description": "User profile ID associated with this request.",
34510	//       "format": "int64",
34511	//       "location": "path",
34512	//       "required": true,
34513	//       "type": "string"
34514	//     }
34515	//   },
34516	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34517	//   "response": {
34518	//     "$ref": "FloodlightConfigurationsListResponse"
34519	//   },
34520	//   "scopes": [
34521	//     "https://www.googleapis.com/auth/dfatrafficking"
34522	//   ]
34523	// }
34524
34525}
34526
34527// method id "dfareporting.floodlightConfigurations.patch":
34528
34529type FloodlightConfigurationsPatchCall struct {
34530	s                       *Service
34531	profileId               int64
34532	floodlightconfiguration *FloodlightConfiguration
34533	urlParams_              gensupport.URLParams
34534	ctx_                    context.Context
34535	header_                 http.Header
34536}
34537
34538// Patch: Updates an existing floodlight configuration. This method
34539// supports patch semantics.
34540//
34541// - id: FloodlightConfiguration ID.
34542// - profileId: User profile ID associated with this request.
34543func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
34544	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34545	c.profileId = profileId
34546	c.urlParams_.Set("id", fmt.Sprint(id))
34547	c.floodlightconfiguration = floodlightconfiguration
34548	return c
34549}
34550
34551// Fields allows partial responses to be retrieved. See
34552// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34553// for more information.
34554func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
34555	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34556	return c
34557}
34558
34559// Context sets the context to be used in this call's Do method. Any
34560// pending HTTP request will be aborted if the provided context is
34561// canceled.
34562func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
34563	c.ctx_ = ctx
34564	return c
34565}
34566
34567// Header returns an http.Header that can be modified by the caller to
34568// add HTTP headers to the request.
34569func (c *FloodlightConfigurationsPatchCall) Header() http.Header {
34570	if c.header_ == nil {
34571		c.header_ = make(http.Header)
34572	}
34573	return c.header_
34574}
34575
34576func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
34577	reqHeaders := make(http.Header)
34578	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
34579	for k, v := range c.header_ {
34580		reqHeaders[k] = v
34581	}
34582	reqHeaders.Set("User-Agent", c.s.userAgent())
34583	var body io.Reader = nil
34584	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
34585	if err != nil {
34586		return nil, err
34587	}
34588	reqHeaders.Set("Content-Type", "application/json")
34589	c.urlParams_.Set("alt", alt)
34590	c.urlParams_.Set("prettyPrint", "false")
34591	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34592	urls += "?" + c.urlParams_.Encode()
34593	req, err := http.NewRequest("PATCH", urls, body)
34594	if err != nil {
34595		return nil, err
34596	}
34597	req.Header = reqHeaders
34598	googleapi.Expand(req.URL, map[string]string{
34599		"profileId": strconv.FormatInt(c.profileId, 10),
34600	})
34601	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34602}
34603
34604// Do executes the "dfareporting.floodlightConfigurations.patch" call.
34605// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34606// non-2xx status code is an error. Response headers are in either
34607// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34608// returned at all) in error.(*googleapi.Error).Header. Use
34609// googleapi.IsNotModified to check whether the returned error was
34610// because http.StatusNotModified was returned.
34611func (c *FloodlightConfigurationsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34612	gensupport.SetOptions(c.urlParams_, opts...)
34613	res, err := c.doRequest("json")
34614	if res != nil && res.StatusCode == http.StatusNotModified {
34615		if res.Body != nil {
34616			res.Body.Close()
34617		}
34618		return nil, &googleapi.Error{
34619			Code:   res.StatusCode,
34620			Header: res.Header,
34621		}
34622	}
34623	if err != nil {
34624		return nil, err
34625	}
34626	defer googleapi.CloseBody(res)
34627	if err := googleapi.CheckResponse(res); err != nil {
34628		return nil, err
34629	}
34630	ret := &FloodlightConfiguration{
34631		ServerResponse: googleapi.ServerResponse{
34632			Header:         res.Header,
34633			HTTPStatusCode: res.StatusCode,
34634		},
34635	}
34636	target := &ret
34637	if err := gensupport.DecodeResponse(target, res); err != nil {
34638		return nil, err
34639	}
34640	return ret, nil
34641	// {
34642	//   "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
34643	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
34644	//   "httpMethod": "PATCH",
34645	//   "id": "dfareporting.floodlightConfigurations.patch",
34646	//   "parameterOrder": [
34647	//     "profileId",
34648	//     "id"
34649	//   ],
34650	//   "parameters": {
34651	//     "id": {
34652	//       "description": "FloodlightConfiguration ID.",
34653	//       "format": "int64",
34654	//       "location": "query",
34655	//       "required": true,
34656	//       "type": "string"
34657	//     },
34658	//     "profileId": {
34659	//       "description": "User profile ID associated with this request.",
34660	//       "format": "int64",
34661	//       "location": "path",
34662	//       "required": true,
34663	//       "type": "string"
34664	//     }
34665	//   },
34666	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34667	//   "request": {
34668	//     "$ref": "FloodlightConfiguration"
34669	//   },
34670	//   "response": {
34671	//     "$ref": "FloodlightConfiguration"
34672	//   },
34673	//   "scopes": [
34674	//     "https://www.googleapis.com/auth/dfatrafficking"
34675	//   ]
34676	// }
34677
34678}
34679
34680// method id "dfareporting.floodlightConfigurations.update":
34681
34682type FloodlightConfigurationsUpdateCall struct {
34683	s                       *Service
34684	profileId               int64
34685	floodlightconfiguration *FloodlightConfiguration
34686	urlParams_              gensupport.URLParams
34687	ctx_                    context.Context
34688	header_                 http.Header
34689}
34690
34691// Update: Updates an existing floodlight configuration.
34692//
34693// - profileId: User profile ID associated with this request.
34694func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
34695	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34696	c.profileId = profileId
34697	c.floodlightconfiguration = floodlightconfiguration
34698	return c
34699}
34700
34701// Fields allows partial responses to be retrieved. See
34702// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34703// for more information.
34704func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
34705	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34706	return c
34707}
34708
34709// Context sets the context to be used in this call's Do method. Any
34710// pending HTTP request will be aborted if the provided context is
34711// canceled.
34712func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
34713	c.ctx_ = ctx
34714	return c
34715}
34716
34717// Header returns an http.Header that can be modified by the caller to
34718// add HTTP headers to the request.
34719func (c *FloodlightConfigurationsUpdateCall) Header() http.Header {
34720	if c.header_ == nil {
34721		c.header_ = make(http.Header)
34722	}
34723	return c.header_
34724}
34725
34726func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
34727	reqHeaders := make(http.Header)
34728	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
34729	for k, v := range c.header_ {
34730		reqHeaders[k] = v
34731	}
34732	reqHeaders.Set("User-Agent", c.s.userAgent())
34733	var body io.Reader = nil
34734	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
34735	if err != nil {
34736		return nil, err
34737	}
34738	reqHeaders.Set("Content-Type", "application/json")
34739	c.urlParams_.Set("alt", alt)
34740	c.urlParams_.Set("prettyPrint", "false")
34741	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34742	urls += "?" + c.urlParams_.Encode()
34743	req, err := http.NewRequest("PUT", urls, body)
34744	if err != nil {
34745		return nil, err
34746	}
34747	req.Header = reqHeaders
34748	googleapi.Expand(req.URL, map[string]string{
34749		"profileId": strconv.FormatInt(c.profileId, 10),
34750	})
34751	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34752}
34753
34754// Do executes the "dfareporting.floodlightConfigurations.update" call.
34755// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34756// non-2xx status code is an error. Response headers are in either
34757// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34758// returned at all) in error.(*googleapi.Error).Header. Use
34759// googleapi.IsNotModified to check whether the returned error was
34760// because http.StatusNotModified was returned.
34761func (c *FloodlightConfigurationsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34762	gensupport.SetOptions(c.urlParams_, opts...)
34763	res, err := c.doRequest("json")
34764	if res != nil && res.StatusCode == http.StatusNotModified {
34765		if res.Body != nil {
34766			res.Body.Close()
34767		}
34768		return nil, &googleapi.Error{
34769			Code:   res.StatusCode,
34770			Header: res.Header,
34771		}
34772	}
34773	if err != nil {
34774		return nil, err
34775	}
34776	defer googleapi.CloseBody(res)
34777	if err := googleapi.CheckResponse(res); err != nil {
34778		return nil, err
34779	}
34780	ret := &FloodlightConfiguration{
34781		ServerResponse: googleapi.ServerResponse{
34782			Header:         res.Header,
34783			HTTPStatusCode: res.StatusCode,
34784		},
34785	}
34786	target := &ret
34787	if err := gensupport.DecodeResponse(target, res); err != nil {
34788		return nil, err
34789	}
34790	return ret, nil
34791	// {
34792	//   "description": "Updates an existing floodlight configuration.",
34793	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
34794	//   "httpMethod": "PUT",
34795	//   "id": "dfareporting.floodlightConfigurations.update",
34796	//   "parameterOrder": [
34797	//     "profileId"
34798	//   ],
34799	//   "parameters": {
34800	//     "profileId": {
34801	//       "description": "User profile ID associated with this request.",
34802	//       "format": "int64",
34803	//       "location": "path",
34804	//       "required": true,
34805	//       "type": "string"
34806	//     }
34807	//   },
34808	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34809	//   "request": {
34810	//     "$ref": "FloodlightConfiguration"
34811	//   },
34812	//   "response": {
34813	//     "$ref": "FloodlightConfiguration"
34814	//   },
34815	//   "scopes": [
34816	//     "https://www.googleapis.com/auth/dfatrafficking"
34817	//   ]
34818	// }
34819
34820}
34821
34822// method id "dfareporting.inventoryItems.get":
34823
34824type InventoryItemsGetCall struct {
34825	s            *Service
34826	profileId    int64
34827	projectId    int64
34828	id           int64
34829	urlParams_   gensupport.URLParams
34830	ifNoneMatch_ string
34831	ctx_         context.Context
34832	header_      http.Header
34833}
34834
34835// Get: Gets one inventory item by ID.
34836//
34837// - id: Inventory item ID.
34838// - profileId: User profile ID associated with this request.
34839// - projectId: Project ID for order documents.
34840func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
34841	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34842	c.profileId = profileId
34843	c.projectId = projectId
34844	c.id = id
34845	return c
34846}
34847
34848// Fields allows partial responses to be retrieved. See
34849// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34850// for more information.
34851func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
34852	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34853	return c
34854}
34855
34856// IfNoneMatch sets the optional parameter which makes the operation
34857// fail if the object's ETag matches the given value. This is useful for
34858// getting updates only after the object has changed since the last
34859// request. Use googleapi.IsNotModified to check whether the response
34860// error from Do is the result of In-None-Match.
34861func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
34862	c.ifNoneMatch_ = entityTag
34863	return c
34864}
34865
34866// Context sets the context to be used in this call's Do method. Any
34867// pending HTTP request will be aborted if the provided context is
34868// canceled.
34869func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
34870	c.ctx_ = ctx
34871	return c
34872}
34873
34874// Header returns an http.Header that can be modified by the caller to
34875// add HTTP headers to the request.
34876func (c *InventoryItemsGetCall) Header() http.Header {
34877	if c.header_ == nil {
34878		c.header_ = make(http.Header)
34879	}
34880	return c.header_
34881}
34882
34883func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
34884	reqHeaders := make(http.Header)
34885	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
34886	for k, v := range c.header_ {
34887		reqHeaders[k] = v
34888	}
34889	reqHeaders.Set("User-Agent", c.s.userAgent())
34890	if c.ifNoneMatch_ != "" {
34891		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34892	}
34893	var body io.Reader = nil
34894	c.urlParams_.Set("alt", alt)
34895	c.urlParams_.Set("prettyPrint", "false")
34896	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
34897	urls += "?" + c.urlParams_.Encode()
34898	req, err := http.NewRequest("GET", urls, body)
34899	if err != nil {
34900		return nil, err
34901	}
34902	req.Header = reqHeaders
34903	googleapi.Expand(req.URL, map[string]string{
34904		"profileId": strconv.FormatInt(c.profileId, 10),
34905		"projectId": strconv.FormatInt(c.projectId, 10),
34906		"id":        strconv.FormatInt(c.id, 10),
34907	})
34908	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34909}
34910
34911// Do executes the "dfareporting.inventoryItems.get" call.
34912// Exactly one of *InventoryItem or error will be non-nil. Any non-2xx
34913// status code is an error. Response headers are in either
34914// *InventoryItem.ServerResponse.Header or (if a response was returned
34915// at all) in error.(*googleapi.Error).Header. Use
34916// googleapi.IsNotModified to check whether the returned error was
34917// because http.StatusNotModified was returned.
34918func (c *InventoryItemsGetCall) Do(opts ...googleapi.CallOption) (*InventoryItem, error) {
34919	gensupport.SetOptions(c.urlParams_, opts...)
34920	res, err := c.doRequest("json")
34921	if res != nil && res.StatusCode == http.StatusNotModified {
34922		if res.Body != nil {
34923			res.Body.Close()
34924		}
34925		return nil, &googleapi.Error{
34926			Code:   res.StatusCode,
34927			Header: res.Header,
34928		}
34929	}
34930	if err != nil {
34931		return nil, err
34932	}
34933	defer googleapi.CloseBody(res)
34934	if err := googleapi.CheckResponse(res); err != nil {
34935		return nil, err
34936	}
34937	ret := &InventoryItem{
34938		ServerResponse: googleapi.ServerResponse{
34939			Header:         res.Header,
34940			HTTPStatusCode: res.StatusCode,
34941		},
34942	}
34943	target := &ret
34944	if err := gensupport.DecodeResponse(target, res); err != nil {
34945		return nil, err
34946	}
34947	return ret, nil
34948	// {
34949	//   "description": "Gets one inventory item by ID.",
34950	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
34951	//   "httpMethod": "GET",
34952	//   "id": "dfareporting.inventoryItems.get",
34953	//   "parameterOrder": [
34954	//     "profileId",
34955	//     "projectId",
34956	//     "id"
34957	//   ],
34958	//   "parameters": {
34959	//     "id": {
34960	//       "description": "Inventory item ID.",
34961	//       "format": "int64",
34962	//       "location": "path",
34963	//       "required": true,
34964	//       "type": "string"
34965	//     },
34966	//     "profileId": {
34967	//       "description": "User profile ID associated with this request.",
34968	//       "format": "int64",
34969	//       "location": "path",
34970	//       "required": true,
34971	//       "type": "string"
34972	//     },
34973	//     "projectId": {
34974	//       "description": "Project ID for order documents.",
34975	//       "format": "int64",
34976	//       "location": "path",
34977	//       "required": true,
34978	//       "type": "string"
34979	//     }
34980	//   },
34981	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
34982	//   "response": {
34983	//     "$ref": "InventoryItem"
34984	//   },
34985	//   "scopes": [
34986	//     "https://www.googleapis.com/auth/dfatrafficking"
34987	//   ]
34988	// }
34989
34990}
34991
34992// method id "dfareporting.inventoryItems.list":
34993
34994type InventoryItemsListCall struct {
34995	s            *Service
34996	profileId    int64
34997	projectId    int64
34998	urlParams_   gensupport.URLParams
34999	ifNoneMatch_ string
35000	ctx_         context.Context
35001	header_      http.Header
35002}
35003
35004// List: Retrieves a list of inventory items, possibly filtered. This
35005// method supports paging.
35006//
35007// - profileId: User profile ID associated with this request.
35008// - projectId: Project ID for order documents.
35009func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
35010	c := &InventoryItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35011	c.profileId = profileId
35012	c.projectId = projectId
35013	return c
35014}
35015
35016// Ids sets the optional parameter "ids": Select only inventory items
35017// with these IDs.
35018func (c *InventoryItemsListCall) Ids(ids ...int64) *InventoryItemsListCall {
35019	var ids_ []string
35020	for _, v := range ids {
35021		ids_ = append(ids_, fmt.Sprint(v))
35022	}
35023	c.urlParams_.SetMulti("ids", ids_)
35024	return c
35025}
35026
35027// InPlan sets the optional parameter "inPlan": Select only inventory
35028// items that are in plan.
35029func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
35030	c.urlParams_.Set("inPlan", fmt.Sprint(inPlan))
35031	return c
35032}
35033
35034// MaxResults sets the optional parameter "maxResults": Maximum number
35035// of results to return.
35036func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
35037	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
35038	return c
35039}
35040
35041// OrderId sets the optional parameter "orderId": Select only inventory
35042// items that belong to specified orders.
35043func (c *InventoryItemsListCall) OrderId(orderId ...int64) *InventoryItemsListCall {
35044	var orderId_ []string
35045	for _, v := range orderId {
35046		orderId_ = append(orderId_, fmt.Sprint(v))
35047	}
35048	c.urlParams_.SetMulti("orderId", orderId_)
35049	return c
35050}
35051
35052// PageToken sets the optional parameter "pageToken": Value of the
35053// nextPageToken from the previous result page.
35054func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
35055	c.urlParams_.Set("pageToken", pageToken)
35056	return c
35057}
35058
35059// SiteId sets the optional parameter "siteId": Select only inventory
35060// items that are associated with these sites.
35061func (c *InventoryItemsListCall) SiteId(siteId ...int64) *InventoryItemsListCall {
35062	var siteId_ []string
35063	for _, v := range siteId {
35064		siteId_ = append(siteId_, fmt.Sprint(v))
35065	}
35066	c.urlParams_.SetMulti("siteId", siteId_)
35067	return c
35068}
35069
35070// SortField sets the optional parameter "sortField": Field by which to
35071// sort the list.
35072//
35073// Possible values:
35074//   "ID" (default)
35075//   "NAME"
35076func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
35077	c.urlParams_.Set("sortField", sortField)
35078	return c
35079}
35080
35081// SortOrder sets the optional parameter "sortOrder": Order of sorted
35082// results.
35083//
35084// Possible values:
35085//   "ASCENDING" (default)
35086//   "DESCENDING"
35087func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
35088	c.urlParams_.Set("sortOrder", sortOrder)
35089	return c
35090}
35091
35092// Type sets the optional parameter "type": Select only inventory items
35093// with this type.
35094//
35095// Possible values:
35096//   "PLANNING_PLACEMENT_TYPE_REGULAR"
35097//   "PLANNING_PLACEMENT_TYPE_CREDIT"
35098func (c *InventoryItemsListCall) Type(type_ string) *InventoryItemsListCall {
35099	c.urlParams_.Set("type", type_)
35100	return c
35101}
35102
35103// Fields allows partial responses to be retrieved. See
35104// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35105// for more information.
35106func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
35107	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35108	return c
35109}
35110
35111// IfNoneMatch sets the optional parameter which makes the operation
35112// fail if the object's ETag matches the given value. This is useful for
35113// getting updates only after the object has changed since the last
35114// request. Use googleapi.IsNotModified to check whether the response
35115// error from Do is the result of In-None-Match.
35116func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
35117	c.ifNoneMatch_ = entityTag
35118	return c
35119}
35120
35121// Context sets the context to be used in this call's Do method. Any
35122// pending HTTP request will be aborted if the provided context is
35123// canceled.
35124func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
35125	c.ctx_ = ctx
35126	return c
35127}
35128
35129// Header returns an http.Header that can be modified by the caller to
35130// add HTTP headers to the request.
35131func (c *InventoryItemsListCall) Header() http.Header {
35132	if c.header_ == nil {
35133		c.header_ = make(http.Header)
35134	}
35135	return c.header_
35136}
35137
35138func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
35139	reqHeaders := make(http.Header)
35140	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
35141	for k, v := range c.header_ {
35142		reqHeaders[k] = v
35143	}
35144	reqHeaders.Set("User-Agent", c.s.userAgent())
35145	if c.ifNoneMatch_ != "" {
35146		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35147	}
35148	var body io.Reader = nil
35149	c.urlParams_.Set("alt", alt)
35150	c.urlParams_.Set("prettyPrint", "false")
35151	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
35152	urls += "?" + c.urlParams_.Encode()
35153	req, err := http.NewRequest("GET", urls, body)
35154	if err != nil {
35155		return nil, err
35156	}
35157	req.Header = reqHeaders
35158	googleapi.Expand(req.URL, map[string]string{
35159		"profileId": strconv.FormatInt(c.profileId, 10),
35160		"projectId": strconv.FormatInt(c.projectId, 10),
35161	})
35162	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35163}
35164
35165// Do executes the "dfareporting.inventoryItems.list" call.
35166// Exactly one of *InventoryItemsListResponse or error will be non-nil.
35167// Any non-2xx status code is an error. Response headers are in either
35168// *InventoryItemsListResponse.ServerResponse.Header or (if a response
35169// was returned at all) in error.(*googleapi.Error).Header. Use
35170// googleapi.IsNotModified to check whether the returned error was
35171// because http.StatusNotModified was returned.
35172func (c *InventoryItemsListCall) Do(opts ...googleapi.CallOption) (*InventoryItemsListResponse, error) {
35173	gensupport.SetOptions(c.urlParams_, opts...)
35174	res, err := c.doRequest("json")
35175	if res != nil && res.StatusCode == http.StatusNotModified {
35176		if res.Body != nil {
35177			res.Body.Close()
35178		}
35179		return nil, &googleapi.Error{
35180			Code:   res.StatusCode,
35181			Header: res.Header,
35182		}
35183	}
35184	if err != nil {
35185		return nil, err
35186	}
35187	defer googleapi.CloseBody(res)
35188	if err := googleapi.CheckResponse(res); err != nil {
35189		return nil, err
35190	}
35191	ret := &InventoryItemsListResponse{
35192		ServerResponse: googleapi.ServerResponse{
35193			Header:         res.Header,
35194			HTTPStatusCode: res.StatusCode,
35195		},
35196	}
35197	target := &ret
35198	if err := gensupport.DecodeResponse(target, res); err != nil {
35199		return nil, err
35200	}
35201	return ret, nil
35202	// {
35203	//   "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
35204	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
35205	//   "httpMethod": "GET",
35206	//   "id": "dfareporting.inventoryItems.list",
35207	//   "parameterOrder": [
35208	//     "profileId",
35209	//     "projectId"
35210	//   ],
35211	//   "parameters": {
35212	//     "ids": {
35213	//       "description": "Select only inventory items with these IDs.",
35214	//       "format": "int64",
35215	//       "location": "query",
35216	//       "repeated": true,
35217	//       "type": "string"
35218	//     },
35219	//     "inPlan": {
35220	//       "description": "Select only inventory items that are in plan.",
35221	//       "location": "query",
35222	//       "type": "boolean"
35223	//     },
35224	//     "maxResults": {
35225	//       "default": "1000",
35226	//       "description": "Maximum number of results to return.",
35227	//       "format": "int32",
35228	//       "location": "query",
35229	//       "maximum": "1000",
35230	//       "minimum": "0",
35231	//       "type": "integer"
35232	//     },
35233	//     "orderId": {
35234	//       "description": "Select only inventory items that belong to specified orders.",
35235	//       "format": "int64",
35236	//       "location": "query",
35237	//       "repeated": true,
35238	//       "type": "string"
35239	//     },
35240	//     "pageToken": {
35241	//       "description": "Value of the nextPageToken from the previous result page.",
35242	//       "location": "query",
35243	//       "type": "string"
35244	//     },
35245	//     "profileId": {
35246	//       "description": "User profile ID associated with this request.",
35247	//       "format": "int64",
35248	//       "location": "path",
35249	//       "required": true,
35250	//       "type": "string"
35251	//     },
35252	//     "projectId": {
35253	//       "description": "Project ID for order documents.",
35254	//       "format": "int64",
35255	//       "location": "path",
35256	//       "required": true,
35257	//       "type": "string"
35258	//     },
35259	//     "siteId": {
35260	//       "description": "Select only inventory items that are associated with these sites.",
35261	//       "format": "int64",
35262	//       "location": "query",
35263	//       "repeated": true,
35264	//       "type": "string"
35265	//     },
35266	//     "sortField": {
35267	//       "default": "ID",
35268	//       "description": "Field by which to sort the list.",
35269	//       "enum": [
35270	//         "ID",
35271	//         "NAME"
35272	//       ],
35273	//       "enumDescriptions": [
35274	//         "",
35275	//         ""
35276	//       ],
35277	//       "location": "query",
35278	//       "type": "string"
35279	//     },
35280	//     "sortOrder": {
35281	//       "default": "ASCENDING",
35282	//       "description": "Order of sorted results.",
35283	//       "enum": [
35284	//         "ASCENDING",
35285	//         "DESCENDING"
35286	//       ],
35287	//       "enumDescriptions": [
35288	//         "",
35289	//         ""
35290	//       ],
35291	//       "location": "query",
35292	//       "type": "string"
35293	//     },
35294	//     "type": {
35295	//       "description": "Select only inventory items with this type.",
35296	//       "enum": [
35297	//         "PLANNING_PLACEMENT_TYPE_REGULAR",
35298	//         "PLANNING_PLACEMENT_TYPE_CREDIT"
35299	//       ],
35300	//       "enumDescriptions": [
35301	//         "",
35302	//         ""
35303	//       ],
35304	//       "location": "query",
35305	//       "type": "string"
35306	//     }
35307	//   },
35308	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
35309	//   "response": {
35310	//     "$ref": "InventoryItemsListResponse"
35311	//   },
35312	//   "scopes": [
35313	//     "https://www.googleapis.com/auth/dfatrafficking"
35314	//   ]
35315	// }
35316
35317}
35318
35319// Pages invokes f for each page of results.
35320// A non-nil error returned from f will halt the iteration.
35321// The provided context supersedes any context provided to the Context method.
35322func (c *InventoryItemsListCall) Pages(ctx context.Context, f func(*InventoryItemsListResponse) error) error {
35323	c.ctx_ = ctx
35324	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
35325	for {
35326		x, err := c.Do()
35327		if err != nil {
35328			return err
35329		}
35330		if err := f(x); err != nil {
35331			return err
35332		}
35333		if x.NextPageToken == "" {
35334			return nil
35335		}
35336		c.PageToken(x.NextPageToken)
35337	}
35338}
35339
35340// method id "dfareporting.languages.list":
35341
35342type LanguagesListCall struct {
35343	s            *Service
35344	profileId    int64
35345	urlParams_   gensupport.URLParams
35346	ifNoneMatch_ string
35347	ctx_         context.Context
35348	header_      http.Header
35349}
35350
35351// List: Retrieves a list of languages.
35352//
35353// - profileId: User profile ID associated with this request.
35354func (r *LanguagesService) List(profileId int64) *LanguagesListCall {
35355	c := &LanguagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35356	c.profileId = profileId
35357	return c
35358}
35359
35360// Fields allows partial responses to be retrieved. See
35361// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35362// for more information.
35363func (c *LanguagesListCall) Fields(s ...googleapi.Field) *LanguagesListCall {
35364	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35365	return c
35366}
35367
35368// IfNoneMatch sets the optional parameter which makes the operation
35369// fail if the object's ETag matches the given value. This is useful for
35370// getting updates only after the object has changed since the last
35371// request. Use googleapi.IsNotModified to check whether the response
35372// error from Do is the result of In-None-Match.
35373func (c *LanguagesListCall) IfNoneMatch(entityTag string) *LanguagesListCall {
35374	c.ifNoneMatch_ = entityTag
35375	return c
35376}
35377
35378// Context sets the context to be used in this call's Do method. Any
35379// pending HTTP request will be aborted if the provided context is
35380// canceled.
35381func (c *LanguagesListCall) Context(ctx context.Context) *LanguagesListCall {
35382	c.ctx_ = ctx
35383	return c
35384}
35385
35386// Header returns an http.Header that can be modified by the caller to
35387// add HTTP headers to the request.
35388func (c *LanguagesListCall) Header() http.Header {
35389	if c.header_ == nil {
35390		c.header_ = make(http.Header)
35391	}
35392	return c.header_
35393}
35394
35395func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
35396	reqHeaders := make(http.Header)
35397	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
35398	for k, v := range c.header_ {
35399		reqHeaders[k] = v
35400	}
35401	reqHeaders.Set("User-Agent", c.s.userAgent())
35402	if c.ifNoneMatch_ != "" {
35403		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35404	}
35405	var body io.Reader = nil
35406	c.urlParams_.Set("alt", alt)
35407	c.urlParams_.Set("prettyPrint", "false")
35408	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/languages")
35409	urls += "?" + c.urlParams_.Encode()
35410	req, err := http.NewRequest("GET", urls, body)
35411	if err != nil {
35412		return nil, err
35413	}
35414	req.Header = reqHeaders
35415	googleapi.Expand(req.URL, map[string]string{
35416		"profileId": strconv.FormatInt(c.profileId, 10),
35417	})
35418	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35419}
35420
35421// Do executes the "dfareporting.languages.list" call.
35422// Exactly one of *LanguagesListResponse or error will be non-nil. Any
35423// non-2xx status code is an error. Response headers are in either
35424// *LanguagesListResponse.ServerResponse.Header or (if a response was
35425// returned at all) in error.(*googleapi.Error).Header. Use
35426// googleapi.IsNotModified to check whether the returned error was
35427// because http.StatusNotModified was returned.
35428func (c *LanguagesListCall) Do(opts ...googleapi.CallOption) (*LanguagesListResponse, error) {
35429	gensupport.SetOptions(c.urlParams_, opts...)
35430	res, err := c.doRequest("json")
35431	if res != nil && res.StatusCode == http.StatusNotModified {
35432		if res.Body != nil {
35433			res.Body.Close()
35434		}
35435		return nil, &googleapi.Error{
35436			Code:   res.StatusCode,
35437			Header: res.Header,
35438		}
35439	}
35440	if err != nil {
35441		return nil, err
35442	}
35443	defer googleapi.CloseBody(res)
35444	if err := googleapi.CheckResponse(res); err != nil {
35445		return nil, err
35446	}
35447	ret := &LanguagesListResponse{
35448		ServerResponse: googleapi.ServerResponse{
35449			Header:         res.Header,
35450			HTTPStatusCode: res.StatusCode,
35451		},
35452	}
35453	target := &ret
35454	if err := gensupport.DecodeResponse(target, res); err != nil {
35455		return nil, err
35456	}
35457	return ret, nil
35458	// {
35459	//   "description": "Retrieves a list of languages.",
35460	//   "flatPath": "userprofiles/{profileId}/languages",
35461	//   "httpMethod": "GET",
35462	//   "id": "dfareporting.languages.list",
35463	//   "parameterOrder": [
35464	//     "profileId"
35465	//   ],
35466	//   "parameters": {
35467	//     "profileId": {
35468	//       "description": "User profile ID associated with this request.",
35469	//       "format": "int64",
35470	//       "location": "path",
35471	//       "required": true,
35472	//       "type": "string"
35473	//     }
35474	//   },
35475	//   "path": "userprofiles/{profileId}/languages",
35476	//   "response": {
35477	//     "$ref": "LanguagesListResponse"
35478	//   },
35479	//   "scopes": [
35480	//     "https://www.googleapis.com/auth/dfatrafficking"
35481	//   ]
35482	// }
35483
35484}
35485
35486// method id "dfareporting.metros.list":
35487
35488type MetrosListCall struct {
35489	s            *Service
35490	profileId    int64
35491	urlParams_   gensupport.URLParams
35492	ifNoneMatch_ string
35493	ctx_         context.Context
35494	header_      http.Header
35495}
35496
35497// List: Retrieves a list of metros.
35498//
35499// - profileId: User profile ID associated with this request.
35500func (r *MetrosService) List(profileId int64) *MetrosListCall {
35501	c := &MetrosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35502	c.profileId = profileId
35503	return c
35504}
35505
35506// Fields allows partial responses to be retrieved. See
35507// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35508// for more information.
35509func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
35510	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35511	return c
35512}
35513
35514// IfNoneMatch sets the optional parameter which makes the operation
35515// fail if the object's ETag matches the given value. This is useful for
35516// getting updates only after the object has changed since the last
35517// request. Use googleapi.IsNotModified to check whether the response
35518// error from Do is the result of In-None-Match.
35519func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
35520	c.ifNoneMatch_ = entityTag
35521	return c
35522}
35523
35524// Context sets the context to be used in this call's Do method. Any
35525// pending HTTP request will be aborted if the provided context is
35526// canceled.
35527func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
35528	c.ctx_ = ctx
35529	return c
35530}
35531
35532// Header returns an http.Header that can be modified by the caller to
35533// add HTTP headers to the request.
35534func (c *MetrosListCall) Header() http.Header {
35535	if c.header_ == nil {
35536		c.header_ = make(http.Header)
35537	}
35538	return c.header_
35539}
35540
35541func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
35542	reqHeaders := make(http.Header)
35543	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
35544	for k, v := range c.header_ {
35545		reqHeaders[k] = v
35546	}
35547	reqHeaders.Set("User-Agent", c.s.userAgent())
35548	if c.ifNoneMatch_ != "" {
35549		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35550	}
35551	var body io.Reader = nil
35552	c.urlParams_.Set("alt", alt)
35553	c.urlParams_.Set("prettyPrint", "false")
35554	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
35555	urls += "?" + c.urlParams_.Encode()
35556	req, err := http.NewRequest("GET", urls, body)
35557	if err != nil {
35558		return nil, err
35559	}
35560	req.Header = reqHeaders
35561	googleapi.Expand(req.URL, map[string]string{
35562		"profileId": strconv.FormatInt(c.profileId, 10),
35563	})
35564	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35565}
35566
35567// Do executes the "dfareporting.metros.list" call.
35568// Exactly one of *MetrosListResponse or error will be non-nil. Any
35569// non-2xx status code is an error. Response headers are in either
35570// *MetrosListResponse.ServerResponse.Header or (if a response was
35571// returned at all) in error.(*googleapi.Error).Header. Use
35572// googleapi.IsNotModified to check whether the returned error was
35573// because http.StatusNotModified was returned.
35574func (c *MetrosListCall) Do(opts ...googleapi.CallOption) (*MetrosListResponse, error) {
35575	gensupport.SetOptions(c.urlParams_, opts...)
35576	res, err := c.doRequest("json")
35577	if res != nil && res.StatusCode == http.StatusNotModified {
35578		if res.Body != nil {
35579			res.Body.Close()
35580		}
35581		return nil, &googleapi.Error{
35582			Code:   res.StatusCode,
35583			Header: res.Header,
35584		}
35585	}
35586	if err != nil {
35587		return nil, err
35588	}
35589	defer googleapi.CloseBody(res)
35590	if err := googleapi.CheckResponse(res); err != nil {
35591		return nil, err
35592	}
35593	ret := &MetrosListResponse{
35594		ServerResponse: googleapi.ServerResponse{
35595			Header:         res.Header,
35596			HTTPStatusCode: res.StatusCode,
35597		},
35598	}
35599	target := &ret
35600	if err := gensupport.DecodeResponse(target, res); err != nil {
35601		return nil, err
35602	}
35603	return ret, nil
35604	// {
35605	//   "description": "Retrieves a list of metros.",
35606	//   "flatPath": "userprofiles/{profileId}/metros",
35607	//   "httpMethod": "GET",
35608	//   "id": "dfareporting.metros.list",
35609	//   "parameterOrder": [
35610	//     "profileId"
35611	//   ],
35612	//   "parameters": {
35613	//     "profileId": {
35614	//       "description": "User profile ID associated with this request.",
35615	//       "format": "int64",
35616	//       "location": "path",
35617	//       "required": true,
35618	//       "type": "string"
35619	//     }
35620	//   },
35621	//   "path": "userprofiles/{profileId}/metros",
35622	//   "response": {
35623	//     "$ref": "MetrosListResponse"
35624	//   },
35625	//   "scopes": [
35626	//     "https://www.googleapis.com/auth/dfatrafficking"
35627	//   ]
35628	// }
35629
35630}
35631
35632// method id "dfareporting.mobileApps.get":
35633
35634type MobileAppsGetCall struct {
35635	s            *Service
35636	profileId    int64
35637	id           string
35638	urlParams_   gensupport.URLParams
35639	ifNoneMatch_ string
35640	ctx_         context.Context
35641	header_      http.Header
35642}
35643
35644// Get: Gets one mobile app by ID.
35645//
35646// - id: Mobile app ID.
35647// - profileId: User profile ID associated with this request.
35648func (r *MobileAppsService) Get(profileId int64, id string) *MobileAppsGetCall {
35649	c := &MobileAppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35650	c.profileId = profileId
35651	c.id = id
35652	return c
35653}
35654
35655// Fields allows partial responses to be retrieved. See
35656// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35657// for more information.
35658func (c *MobileAppsGetCall) Fields(s ...googleapi.Field) *MobileAppsGetCall {
35659	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35660	return c
35661}
35662
35663// IfNoneMatch sets the optional parameter which makes the operation
35664// fail if the object's ETag matches the given value. This is useful for
35665// getting updates only after the object has changed since the last
35666// request. Use googleapi.IsNotModified to check whether the response
35667// error from Do is the result of In-None-Match.
35668func (c *MobileAppsGetCall) IfNoneMatch(entityTag string) *MobileAppsGetCall {
35669	c.ifNoneMatch_ = entityTag
35670	return c
35671}
35672
35673// Context sets the context to be used in this call's Do method. Any
35674// pending HTTP request will be aborted if the provided context is
35675// canceled.
35676func (c *MobileAppsGetCall) Context(ctx context.Context) *MobileAppsGetCall {
35677	c.ctx_ = ctx
35678	return c
35679}
35680
35681// Header returns an http.Header that can be modified by the caller to
35682// add HTTP headers to the request.
35683func (c *MobileAppsGetCall) Header() http.Header {
35684	if c.header_ == nil {
35685		c.header_ = make(http.Header)
35686	}
35687	return c.header_
35688}
35689
35690func (c *MobileAppsGetCall) doRequest(alt string) (*http.Response, error) {
35691	reqHeaders := make(http.Header)
35692	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
35693	for k, v := range c.header_ {
35694		reqHeaders[k] = v
35695	}
35696	reqHeaders.Set("User-Agent", c.s.userAgent())
35697	if c.ifNoneMatch_ != "" {
35698		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35699	}
35700	var body io.Reader = nil
35701	c.urlParams_.Set("alt", alt)
35702	c.urlParams_.Set("prettyPrint", "false")
35703	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps/{id}")
35704	urls += "?" + c.urlParams_.Encode()
35705	req, err := http.NewRequest("GET", urls, body)
35706	if err != nil {
35707		return nil, err
35708	}
35709	req.Header = reqHeaders
35710	googleapi.Expand(req.URL, map[string]string{
35711		"profileId": strconv.FormatInt(c.profileId, 10),
35712		"id":        c.id,
35713	})
35714	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35715}
35716
35717// Do executes the "dfareporting.mobileApps.get" call.
35718// Exactly one of *MobileApp or error will be non-nil. Any non-2xx
35719// status code is an error. Response headers are in either
35720// *MobileApp.ServerResponse.Header or (if a response was returned at
35721// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
35722// to check whether the returned error was because
35723// http.StatusNotModified was returned.
35724func (c *MobileAppsGetCall) Do(opts ...googleapi.CallOption) (*MobileApp, error) {
35725	gensupport.SetOptions(c.urlParams_, opts...)
35726	res, err := c.doRequest("json")
35727	if res != nil && res.StatusCode == http.StatusNotModified {
35728		if res.Body != nil {
35729			res.Body.Close()
35730		}
35731		return nil, &googleapi.Error{
35732			Code:   res.StatusCode,
35733			Header: res.Header,
35734		}
35735	}
35736	if err != nil {
35737		return nil, err
35738	}
35739	defer googleapi.CloseBody(res)
35740	if err := googleapi.CheckResponse(res); err != nil {
35741		return nil, err
35742	}
35743	ret := &MobileApp{
35744		ServerResponse: googleapi.ServerResponse{
35745			Header:         res.Header,
35746			HTTPStatusCode: res.StatusCode,
35747		},
35748	}
35749	target := &ret
35750	if err := gensupport.DecodeResponse(target, res); err != nil {
35751		return nil, err
35752	}
35753	return ret, nil
35754	// {
35755	//   "description": "Gets one mobile app by ID.",
35756	//   "flatPath": "userprofiles/{profileId}/mobileApps/{id}",
35757	//   "httpMethod": "GET",
35758	//   "id": "dfareporting.mobileApps.get",
35759	//   "parameterOrder": [
35760	//     "profileId",
35761	//     "id"
35762	//   ],
35763	//   "parameters": {
35764	//     "id": {
35765	//       "description": "Mobile app ID.",
35766	//       "location": "path",
35767	//       "required": true,
35768	//       "type": "string"
35769	//     },
35770	//     "profileId": {
35771	//       "description": "User profile ID associated with this request.",
35772	//       "format": "int64",
35773	//       "location": "path",
35774	//       "required": true,
35775	//       "type": "string"
35776	//     }
35777	//   },
35778	//   "path": "userprofiles/{profileId}/mobileApps/{id}",
35779	//   "response": {
35780	//     "$ref": "MobileApp"
35781	//   },
35782	//   "scopes": [
35783	//     "https://www.googleapis.com/auth/dfatrafficking"
35784	//   ]
35785	// }
35786
35787}
35788
35789// method id "dfareporting.mobileApps.list":
35790
35791type MobileAppsListCall struct {
35792	s            *Service
35793	profileId    int64
35794	urlParams_   gensupport.URLParams
35795	ifNoneMatch_ string
35796	ctx_         context.Context
35797	header_      http.Header
35798}
35799
35800// List: Retrieves list of available mobile apps.
35801//
35802// - profileId: User profile ID associated with this request.
35803func (r *MobileAppsService) List(profileId int64) *MobileAppsListCall {
35804	c := &MobileAppsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35805	c.profileId = profileId
35806	return c
35807}
35808
35809// Directories sets the optional parameter "directories": Select only
35810// apps from these directories.
35811//
35812// Possible values:
35813//   "UNKNOWN"
35814//   "APPLE_APP_STORE"
35815//   "GOOGLE_PLAY_STORE"
35816func (c *MobileAppsListCall) Directories(directories ...string) *MobileAppsListCall {
35817	c.urlParams_.SetMulti("directories", append([]string{}, directories...))
35818	return c
35819}
35820
35821// Ids sets the optional parameter "ids": Select only apps with these
35822// IDs.
35823func (c *MobileAppsListCall) Ids(ids ...string) *MobileAppsListCall {
35824	c.urlParams_.SetMulti("ids", append([]string{}, ids...))
35825	return c
35826}
35827
35828// MaxResults sets the optional parameter "maxResults": Maximum number
35829// of results to return.
35830func (c *MobileAppsListCall) MaxResults(maxResults int64) *MobileAppsListCall {
35831	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
35832	return c
35833}
35834
35835// PageToken sets the optional parameter "pageToken": Value of the
35836// nextPageToken from the previous result page.
35837func (c *MobileAppsListCall) PageToken(pageToken string) *MobileAppsListCall {
35838	c.urlParams_.Set("pageToken", pageToken)
35839	return c
35840}
35841
35842// SearchString sets the optional parameter "searchString": Allows
35843// searching for objects by name or ID. Wildcards (*) are allowed. For
35844// example, "app*2015" will return objects with names like "app Jan
35845// 2018", "app Jan 2018", or simply "app 2018". Most of the searches
35846// also add wildcards implicitly at the start and the end of the search
35847// string. For example, a search string of "app" will match objects with
35848// name "my app", "app 2018", or simply "app".
35849func (c *MobileAppsListCall) SearchString(searchString string) *MobileAppsListCall {
35850	c.urlParams_.Set("searchString", searchString)
35851	return c
35852}
35853
35854// Fields allows partial responses to be retrieved. See
35855// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35856// for more information.
35857func (c *MobileAppsListCall) Fields(s ...googleapi.Field) *MobileAppsListCall {
35858	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35859	return c
35860}
35861
35862// IfNoneMatch sets the optional parameter which makes the operation
35863// fail if the object's ETag matches the given value. This is useful for
35864// getting updates only after the object has changed since the last
35865// request. Use googleapi.IsNotModified to check whether the response
35866// error from Do is the result of In-None-Match.
35867func (c *MobileAppsListCall) IfNoneMatch(entityTag string) *MobileAppsListCall {
35868	c.ifNoneMatch_ = entityTag
35869	return c
35870}
35871
35872// Context sets the context to be used in this call's Do method. Any
35873// pending HTTP request will be aborted if the provided context is
35874// canceled.
35875func (c *MobileAppsListCall) Context(ctx context.Context) *MobileAppsListCall {
35876	c.ctx_ = ctx
35877	return c
35878}
35879
35880// Header returns an http.Header that can be modified by the caller to
35881// add HTTP headers to the request.
35882func (c *MobileAppsListCall) Header() http.Header {
35883	if c.header_ == nil {
35884		c.header_ = make(http.Header)
35885	}
35886	return c.header_
35887}
35888
35889func (c *MobileAppsListCall) doRequest(alt string) (*http.Response, error) {
35890	reqHeaders := make(http.Header)
35891	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
35892	for k, v := range c.header_ {
35893		reqHeaders[k] = v
35894	}
35895	reqHeaders.Set("User-Agent", c.s.userAgent())
35896	if c.ifNoneMatch_ != "" {
35897		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35898	}
35899	var body io.Reader = nil
35900	c.urlParams_.Set("alt", alt)
35901	c.urlParams_.Set("prettyPrint", "false")
35902	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps")
35903	urls += "?" + c.urlParams_.Encode()
35904	req, err := http.NewRequest("GET", urls, body)
35905	if err != nil {
35906		return nil, err
35907	}
35908	req.Header = reqHeaders
35909	googleapi.Expand(req.URL, map[string]string{
35910		"profileId": strconv.FormatInt(c.profileId, 10),
35911	})
35912	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35913}
35914
35915// Do executes the "dfareporting.mobileApps.list" call.
35916// Exactly one of *MobileAppsListResponse or error will be non-nil. Any
35917// non-2xx status code is an error. Response headers are in either
35918// *MobileAppsListResponse.ServerResponse.Header or (if a response was
35919// returned at all) in error.(*googleapi.Error).Header. Use
35920// googleapi.IsNotModified to check whether the returned error was
35921// because http.StatusNotModified was returned.
35922func (c *MobileAppsListCall) Do(opts ...googleapi.CallOption) (*MobileAppsListResponse, error) {
35923	gensupport.SetOptions(c.urlParams_, opts...)
35924	res, err := c.doRequest("json")
35925	if res != nil && res.StatusCode == http.StatusNotModified {
35926		if res.Body != nil {
35927			res.Body.Close()
35928		}
35929		return nil, &googleapi.Error{
35930			Code:   res.StatusCode,
35931			Header: res.Header,
35932		}
35933	}
35934	if err != nil {
35935		return nil, err
35936	}
35937	defer googleapi.CloseBody(res)
35938	if err := googleapi.CheckResponse(res); err != nil {
35939		return nil, err
35940	}
35941	ret := &MobileAppsListResponse{
35942		ServerResponse: googleapi.ServerResponse{
35943			Header:         res.Header,
35944			HTTPStatusCode: res.StatusCode,
35945		},
35946	}
35947	target := &ret
35948	if err := gensupport.DecodeResponse(target, res); err != nil {
35949		return nil, err
35950	}
35951	return ret, nil
35952	// {
35953	//   "description": "Retrieves list of available mobile apps.",
35954	//   "flatPath": "userprofiles/{profileId}/mobileApps",
35955	//   "httpMethod": "GET",
35956	//   "id": "dfareporting.mobileApps.list",
35957	//   "parameterOrder": [
35958	//     "profileId"
35959	//   ],
35960	//   "parameters": {
35961	//     "directories": {
35962	//       "description": "Select only apps from these directories.",
35963	//       "enum": [
35964	//         "UNKNOWN",
35965	//         "APPLE_APP_STORE",
35966	//         "GOOGLE_PLAY_STORE"
35967	//       ],
35968	//       "enumDescriptions": [
35969	//         "",
35970	//         "",
35971	//         ""
35972	//       ],
35973	//       "location": "query",
35974	//       "repeated": true,
35975	//       "type": "string"
35976	//     },
35977	//     "ids": {
35978	//       "description": "Select only apps with these IDs.",
35979	//       "location": "query",
35980	//       "repeated": true,
35981	//       "type": "string"
35982	//     },
35983	//     "maxResults": {
35984	//       "default": "1000",
35985	//       "description": "Maximum number of results to return.",
35986	//       "format": "int32",
35987	//       "location": "query",
35988	//       "maximum": "1000",
35989	//       "minimum": "0",
35990	//       "type": "integer"
35991	//     },
35992	//     "pageToken": {
35993	//       "description": "Value of the nextPageToken from the previous result page.",
35994	//       "location": "query",
35995	//       "type": "string"
35996	//     },
35997	//     "profileId": {
35998	//       "description": "User profile ID associated with this request.",
35999	//       "format": "int64",
36000	//       "location": "path",
36001	//       "required": true,
36002	//       "type": "string"
36003	//     },
36004	//     "searchString": {
36005	//       "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\".",
36006	//       "location": "query",
36007	//       "type": "string"
36008	//     }
36009	//   },
36010	//   "path": "userprofiles/{profileId}/mobileApps",
36011	//   "response": {
36012	//     "$ref": "MobileAppsListResponse"
36013	//   },
36014	//   "scopes": [
36015	//     "https://www.googleapis.com/auth/dfatrafficking"
36016	//   ]
36017	// }
36018
36019}
36020
36021// Pages invokes f for each page of results.
36022// A non-nil error returned from f will halt the iteration.
36023// The provided context supersedes any context provided to the Context method.
36024func (c *MobileAppsListCall) Pages(ctx context.Context, f func(*MobileAppsListResponse) error) error {
36025	c.ctx_ = ctx
36026	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
36027	for {
36028		x, err := c.Do()
36029		if err != nil {
36030			return err
36031		}
36032		if err := f(x); err != nil {
36033			return err
36034		}
36035		if x.NextPageToken == "" {
36036			return nil
36037		}
36038		c.PageToken(x.NextPageToken)
36039	}
36040}
36041
36042// method id "dfareporting.mobileCarriers.get":
36043
36044type MobileCarriersGetCall struct {
36045	s            *Service
36046	profileId    int64
36047	id           int64
36048	urlParams_   gensupport.URLParams
36049	ifNoneMatch_ string
36050	ctx_         context.Context
36051	header_      http.Header
36052}
36053
36054// Get: Gets one mobile carrier by ID.
36055//
36056// - id: Mobile carrier ID.
36057// - profileId: User profile ID associated with this request.
36058func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
36059	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36060	c.profileId = profileId
36061	c.id = id
36062	return c
36063}
36064
36065// Fields allows partial responses to be retrieved. See
36066// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36067// for more information.
36068func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
36069	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36070	return c
36071}
36072
36073// IfNoneMatch sets the optional parameter which makes the operation
36074// fail if the object's ETag matches the given value. This is useful for
36075// getting updates only after the object has changed since the last
36076// request. Use googleapi.IsNotModified to check whether the response
36077// error from Do is the result of In-None-Match.
36078func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
36079	c.ifNoneMatch_ = entityTag
36080	return c
36081}
36082
36083// Context sets the context to be used in this call's Do method. Any
36084// pending HTTP request will be aborted if the provided context is
36085// canceled.
36086func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
36087	c.ctx_ = ctx
36088	return c
36089}
36090
36091// Header returns an http.Header that can be modified by the caller to
36092// add HTTP headers to the request.
36093func (c *MobileCarriersGetCall) Header() http.Header {
36094	if c.header_ == nil {
36095		c.header_ = make(http.Header)
36096	}
36097	return c.header_
36098}
36099
36100func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
36101	reqHeaders := make(http.Header)
36102	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
36103	for k, v := range c.header_ {
36104		reqHeaders[k] = v
36105	}
36106	reqHeaders.Set("User-Agent", c.s.userAgent())
36107	if c.ifNoneMatch_ != "" {
36108		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36109	}
36110	var body io.Reader = nil
36111	c.urlParams_.Set("alt", alt)
36112	c.urlParams_.Set("prettyPrint", "false")
36113	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
36114	urls += "?" + c.urlParams_.Encode()
36115	req, err := http.NewRequest("GET", urls, body)
36116	if err != nil {
36117		return nil, err
36118	}
36119	req.Header = reqHeaders
36120	googleapi.Expand(req.URL, map[string]string{
36121		"profileId": strconv.FormatInt(c.profileId, 10),
36122		"id":        strconv.FormatInt(c.id, 10),
36123	})
36124	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36125}
36126
36127// Do executes the "dfareporting.mobileCarriers.get" call.
36128// Exactly one of *MobileCarrier or error will be non-nil. Any non-2xx
36129// status code is an error. Response headers are in either
36130// *MobileCarrier.ServerResponse.Header or (if a response was returned
36131// at all) in error.(*googleapi.Error).Header. Use
36132// googleapi.IsNotModified to check whether the returned error was
36133// because http.StatusNotModified was returned.
36134func (c *MobileCarriersGetCall) Do(opts ...googleapi.CallOption) (*MobileCarrier, error) {
36135	gensupport.SetOptions(c.urlParams_, opts...)
36136	res, err := c.doRequest("json")
36137	if res != nil && res.StatusCode == http.StatusNotModified {
36138		if res.Body != nil {
36139			res.Body.Close()
36140		}
36141		return nil, &googleapi.Error{
36142			Code:   res.StatusCode,
36143			Header: res.Header,
36144		}
36145	}
36146	if err != nil {
36147		return nil, err
36148	}
36149	defer googleapi.CloseBody(res)
36150	if err := googleapi.CheckResponse(res); err != nil {
36151		return nil, err
36152	}
36153	ret := &MobileCarrier{
36154		ServerResponse: googleapi.ServerResponse{
36155			Header:         res.Header,
36156			HTTPStatusCode: res.StatusCode,
36157		},
36158	}
36159	target := &ret
36160	if err := gensupport.DecodeResponse(target, res); err != nil {
36161		return nil, err
36162	}
36163	return ret, nil
36164	// {
36165	//   "description": "Gets one mobile carrier by ID.",
36166	//   "flatPath": "userprofiles/{profileId}/mobileCarriers/{id}",
36167	//   "httpMethod": "GET",
36168	//   "id": "dfareporting.mobileCarriers.get",
36169	//   "parameterOrder": [
36170	//     "profileId",
36171	//     "id"
36172	//   ],
36173	//   "parameters": {
36174	//     "id": {
36175	//       "description": "Mobile carrier ID.",
36176	//       "format": "int64",
36177	//       "location": "path",
36178	//       "required": true,
36179	//       "type": "string"
36180	//     },
36181	//     "profileId": {
36182	//       "description": "User profile ID associated with this request.",
36183	//       "format": "int64",
36184	//       "location": "path",
36185	//       "required": true,
36186	//       "type": "string"
36187	//     }
36188	//   },
36189	//   "path": "userprofiles/{profileId}/mobileCarriers/{id}",
36190	//   "response": {
36191	//     "$ref": "MobileCarrier"
36192	//   },
36193	//   "scopes": [
36194	//     "https://www.googleapis.com/auth/dfatrafficking"
36195	//   ]
36196	// }
36197
36198}
36199
36200// method id "dfareporting.mobileCarriers.list":
36201
36202type MobileCarriersListCall struct {
36203	s            *Service
36204	profileId    int64
36205	urlParams_   gensupport.URLParams
36206	ifNoneMatch_ string
36207	ctx_         context.Context
36208	header_      http.Header
36209}
36210
36211// List: Retrieves a list of mobile carriers.
36212//
36213// - profileId: User profile ID associated with this request.
36214func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
36215	c := &MobileCarriersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36216	c.profileId = profileId
36217	return c
36218}
36219
36220// Fields allows partial responses to be retrieved. See
36221// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36222// for more information.
36223func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
36224	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36225	return c
36226}
36227
36228// IfNoneMatch sets the optional parameter which makes the operation
36229// fail if the object's ETag matches the given value. This is useful for
36230// getting updates only after the object has changed since the last
36231// request. Use googleapi.IsNotModified to check whether the response
36232// error from Do is the result of In-None-Match.
36233func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
36234	c.ifNoneMatch_ = entityTag
36235	return c
36236}
36237
36238// Context sets the context to be used in this call's Do method. Any
36239// pending HTTP request will be aborted if the provided context is
36240// canceled.
36241func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
36242	c.ctx_ = ctx
36243	return c
36244}
36245
36246// Header returns an http.Header that can be modified by the caller to
36247// add HTTP headers to the request.
36248func (c *MobileCarriersListCall) Header() http.Header {
36249	if c.header_ == nil {
36250		c.header_ = make(http.Header)
36251	}
36252	return c.header_
36253}
36254
36255func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
36256	reqHeaders := make(http.Header)
36257	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
36258	for k, v := range c.header_ {
36259		reqHeaders[k] = v
36260	}
36261	reqHeaders.Set("User-Agent", c.s.userAgent())
36262	if c.ifNoneMatch_ != "" {
36263		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36264	}
36265	var body io.Reader = nil
36266	c.urlParams_.Set("alt", alt)
36267	c.urlParams_.Set("prettyPrint", "false")
36268	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
36269	urls += "?" + c.urlParams_.Encode()
36270	req, err := http.NewRequest("GET", urls, body)
36271	if err != nil {
36272		return nil, err
36273	}
36274	req.Header = reqHeaders
36275	googleapi.Expand(req.URL, map[string]string{
36276		"profileId": strconv.FormatInt(c.profileId, 10),
36277	})
36278	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36279}
36280
36281// Do executes the "dfareporting.mobileCarriers.list" call.
36282// Exactly one of *MobileCarriersListResponse or error will be non-nil.
36283// Any non-2xx status code is an error. Response headers are in either
36284// *MobileCarriersListResponse.ServerResponse.Header or (if a response
36285// was returned at all) in error.(*googleapi.Error).Header. Use
36286// googleapi.IsNotModified to check whether the returned error was
36287// because http.StatusNotModified was returned.
36288func (c *MobileCarriersListCall) Do(opts ...googleapi.CallOption) (*MobileCarriersListResponse, error) {
36289	gensupport.SetOptions(c.urlParams_, opts...)
36290	res, err := c.doRequest("json")
36291	if res != nil && res.StatusCode == http.StatusNotModified {
36292		if res.Body != nil {
36293			res.Body.Close()
36294		}
36295		return nil, &googleapi.Error{
36296			Code:   res.StatusCode,
36297			Header: res.Header,
36298		}
36299	}
36300	if err != nil {
36301		return nil, err
36302	}
36303	defer googleapi.CloseBody(res)
36304	if err := googleapi.CheckResponse(res); err != nil {
36305		return nil, err
36306	}
36307	ret := &MobileCarriersListResponse{
36308		ServerResponse: googleapi.ServerResponse{
36309			Header:         res.Header,
36310			HTTPStatusCode: res.StatusCode,
36311		},
36312	}
36313	target := &ret
36314	if err := gensupport.DecodeResponse(target, res); err != nil {
36315		return nil, err
36316	}
36317	return ret, nil
36318	// {
36319	//   "description": "Retrieves a list of mobile carriers.",
36320	//   "flatPath": "userprofiles/{profileId}/mobileCarriers",
36321	//   "httpMethod": "GET",
36322	//   "id": "dfareporting.mobileCarriers.list",
36323	//   "parameterOrder": [
36324	//     "profileId"
36325	//   ],
36326	//   "parameters": {
36327	//     "profileId": {
36328	//       "description": "User profile ID associated with this request.",
36329	//       "format": "int64",
36330	//       "location": "path",
36331	//       "required": true,
36332	//       "type": "string"
36333	//     }
36334	//   },
36335	//   "path": "userprofiles/{profileId}/mobileCarriers",
36336	//   "response": {
36337	//     "$ref": "MobileCarriersListResponse"
36338	//   },
36339	//   "scopes": [
36340	//     "https://www.googleapis.com/auth/dfatrafficking"
36341	//   ]
36342	// }
36343
36344}
36345
36346// method id "dfareporting.operatingSystemVersions.get":
36347
36348type OperatingSystemVersionsGetCall struct {
36349	s            *Service
36350	profileId    int64
36351	id           int64
36352	urlParams_   gensupport.URLParams
36353	ifNoneMatch_ string
36354	ctx_         context.Context
36355	header_      http.Header
36356}
36357
36358// Get: Gets one operating system version by ID.
36359//
36360// - id: Operating system version ID.
36361// - profileId: User profile ID associated with this request.
36362func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
36363	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36364	c.profileId = profileId
36365	c.id = id
36366	return c
36367}
36368
36369// Fields allows partial responses to be retrieved. See
36370// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36371// for more information.
36372func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
36373	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36374	return c
36375}
36376
36377// IfNoneMatch sets the optional parameter which makes the operation
36378// fail if the object's ETag matches the given value. This is useful for
36379// getting updates only after the object has changed since the last
36380// request. Use googleapi.IsNotModified to check whether the response
36381// error from Do is the result of In-None-Match.
36382func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
36383	c.ifNoneMatch_ = entityTag
36384	return c
36385}
36386
36387// Context sets the context to be used in this call's Do method. Any
36388// pending HTTP request will be aborted if the provided context is
36389// canceled.
36390func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
36391	c.ctx_ = ctx
36392	return c
36393}
36394
36395// Header returns an http.Header that can be modified by the caller to
36396// add HTTP headers to the request.
36397func (c *OperatingSystemVersionsGetCall) Header() http.Header {
36398	if c.header_ == nil {
36399		c.header_ = make(http.Header)
36400	}
36401	return c.header_
36402}
36403
36404func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
36405	reqHeaders := make(http.Header)
36406	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
36407	for k, v := range c.header_ {
36408		reqHeaders[k] = v
36409	}
36410	reqHeaders.Set("User-Agent", c.s.userAgent())
36411	if c.ifNoneMatch_ != "" {
36412		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36413	}
36414	var body io.Reader = nil
36415	c.urlParams_.Set("alt", alt)
36416	c.urlParams_.Set("prettyPrint", "false")
36417	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
36418	urls += "?" + c.urlParams_.Encode()
36419	req, err := http.NewRequest("GET", urls, body)
36420	if err != nil {
36421		return nil, err
36422	}
36423	req.Header = reqHeaders
36424	googleapi.Expand(req.URL, map[string]string{
36425		"profileId": strconv.FormatInt(c.profileId, 10),
36426		"id":        strconv.FormatInt(c.id, 10),
36427	})
36428	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36429}
36430
36431// Do executes the "dfareporting.operatingSystemVersions.get" call.
36432// Exactly one of *OperatingSystemVersion or error will be non-nil. Any
36433// non-2xx status code is an error. Response headers are in either
36434// *OperatingSystemVersion.ServerResponse.Header or (if a response was
36435// returned at all) in error.(*googleapi.Error).Header. Use
36436// googleapi.IsNotModified to check whether the returned error was
36437// because http.StatusNotModified was returned.
36438func (c *OperatingSystemVersionsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersion, error) {
36439	gensupport.SetOptions(c.urlParams_, opts...)
36440	res, err := c.doRequest("json")
36441	if res != nil && res.StatusCode == http.StatusNotModified {
36442		if res.Body != nil {
36443			res.Body.Close()
36444		}
36445		return nil, &googleapi.Error{
36446			Code:   res.StatusCode,
36447			Header: res.Header,
36448		}
36449	}
36450	if err != nil {
36451		return nil, err
36452	}
36453	defer googleapi.CloseBody(res)
36454	if err := googleapi.CheckResponse(res); err != nil {
36455		return nil, err
36456	}
36457	ret := &OperatingSystemVersion{
36458		ServerResponse: googleapi.ServerResponse{
36459			Header:         res.Header,
36460			HTTPStatusCode: res.StatusCode,
36461		},
36462	}
36463	target := &ret
36464	if err := gensupport.DecodeResponse(target, res); err != nil {
36465		return nil, err
36466	}
36467	return ret, nil
36468	// {
36469	//   "description": "Gets one operating system version by ID.",
36470	//   "flatPath": "userprofiles/{profileId}/operatingSystemVersions/{id}",
36471	//   "httpMethod": "GET",
36472	//   "id": "dfareporting.operatingSystemVersions.get",
36473	//   "parameterOrder": [
36474	//     "profileId",
36475	//     "id"
36476	//   ],
36477	//   "parameters": {
36478	//     "id": {
36479	//       "description": "Operating system version ID.",
36480	//       "format": "int64",
36481	//       "location": "path",
36482	//       "required": true,
36483	//       "type": "string"
36484	//     },
36485	//     "profileId": {
36486	//       "description": "User profile ID associated with this request.",
36487	//       "format": "int64",
36488	//       "location": "path",
36489	//       "required": true,
36490	//       "type": "string"
36491	//     }
36492	//   },
36493	//   "path": "userprofiles/{profileId}/operatingSystemVersions/{id}",
36494	//   "response": {
36495	//     "$ref": "OperatingSystemVersion"
36496	//   },
36497	//   "scopes": [
36498	//     "https://www.googleapis.com/auth/dfatrafficking"
36499	//   ]
36500	// }
36501
36502}
36503
36504// method id "dfareporting.operatingSystemVersions.list":
36505
36506type OperatingSystemVersionsListCall struct {
36507	s            *Service
36508	profileId    int64
36509	urlParams_   gensupport.URLParams
36510	ifNoneMatch_ string
36511	ctx_         context.Context
36512	header_      http.Header
36513}
36514
36515// List: Retrieves a list of operating system versions.
36516//
36517// - profileId: User profile ID associated with this request.
36518func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
36519	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36520	c.profileId = profileId
36521	return c
36522}
36523
36524// Fields allows partial responses to be retrieved. See
36525// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36526// for more information.
36527func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
36528	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36529	return c
36530}
36531
36532// IfNoneMatch sets the optional parameter which makes the operation
36533// fail if the object's ETag matches the given value. This is useful for
36534// getting updates only after the object has changed since the last
36535// request. Use googleapi.IsNotModified to check whether the response
36536// error from Do is the result of In-None-Match.
36537func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
36538	c.ifNoneMatch_ = entityTag
36539	return c
36540}
36541
36542// Context sets the context to be used in this call's Do method. Any
36543// pending HTTP request will be aborted if the provided context is
36544// canceled.
36545func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
36546	c.ctx_ = ctx
36547	return c
36548}
36549
36550// Header returns an http.Header that can be modified by the caller to
36551// add HTTP headers to the request.
36552func (c *OperatingSystemVersionsListCall) Header() http.Header {
36553	if c.header_ == nil {
36554		c.header_ = make(http.Header)
36555	}
36556	return c.header_
36557}
36558
36559func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
36560	reqHeaders := make(http.Header)
36561	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
36562	for k, v := range c.header_ {
36563		reqHeaders[k] = v
36564	}
36565	reqHeaders.Set("User-Agent", c.s.userAgent())
36566	if c.ifNoneMatch_ != "" {
36567		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36568	}
36569	var body io.Reader = nil
36570	c.urlParams_.Set("alt", alt)
36571	c.urlParams_.Set("prettyPrint", "false")
36572	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
36573	urls += "?" + c.urlParams_.Encode()
36574	req, err := http.NewRequest("GET", urls, body)
36575	if err != nil {
36576		return nil, err
36577	}
36578	req.Header = reqHeaders
36579	googleapi.Expand(req.URL, map[string]string{
36580		"profileId": strconv.FormatInt(c.profileId, 10),
36581	})
36582	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36583}
36584
36585// Do executes the "dfareporting.operatingSystemVersions.list" call.
36586// Exactly one of *OperatingSystemVersionsListResponse or error will be
36587// non-nil. Any non-2xx status code is an error. Response headers are in
36588// either *OperatingSystemVersionsListResponse.ServerResponse.Header or
36589// (if a response was returned at all) in
36590// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
36591// whether the returned error was because http.StatusNotModified was
36592// returned.
36593func (c *OperatingSystemVersionsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersionsListResponse, error) {
36594	gensupport.SetOptions(c.urlParams_, opts...)
36595	res, err := c.doRequest("json")
36596	if res != nil && res.StatusCode == http.StatusNotModified {
36597		if res.Body != nil {
36598			res.Body.Close()
36599		}
36600		return nil, &googleapi.Error{
36601			Code:   res.StatusCode,
36602			Header: res.Header,
36603		}
36604	}
36605	if err != nil {
36606		return nil, err
36607	}
36608	defer googleapi.CloseBody(res)
36609	if err := googleapi.CheckResponse(res); err != nil {
36610		return nil, err
36611	}
36612	ret := &OperatingSystemVersionsListResponse{
36613		ServerResponse: googleapi.ServerResponse{
36614			Header:         res.Header,
36615			HTTPStatusCode: res.StatusCode,
36616		},
36617	}
36618	target := &ret
36619	if err := gensupport.DecodeResponse(target, res); err != nil {
36620		return nil, err
36621	}
36622	return ret, nil
36623	// {
36624	//   "description": "Retrieves a list of operating system versions.",
36625	//   "flatPath": "userprofiles/{profileId}/operatingSystemVersions",
36626	//   "httpMethod": "GET",
36627	//   "id": "dfareporting.operatingSystemVersions.list",
36628	//   "parameterOrder": [
36629	//     "profileId"
36630	//   ],
36631	//   "parameters": {
36632	//     "profileId": {
36633	//       "description": "User profile ID associated with this request.",
36634	//       "format": "int64",
36635	//       "location": "path",
36636	//       "required": true,
36637	//       "type": "string"
36638	//     }
36639	//   },
36640	//   "path": "userprofiles/{profileId}/operatingSystemVersions",
36641	//   "response": {
36642	//     "$ref": "OperatingSystemVersionsListResponse"
36643	//   },
36644	//   "scopes": [
36645	//     "https://www.googleapis.com/auth/dfatrafficking"
36646	//   ]
36647	// }
36648
36649}
36650
36651// method id "dfareporting.operatingSystems.get":
36652
36653type OperatingSystemsGetCall struct {
36654	s            *Service
36655	profileId    int64
36656	dartId       int64
36657	urlParams_   gensupport.URLParams
36658	ifNoneMatch_ string
36659	ctx_         context.Context
36660	header_      http.Header
36661}
36662
36663// Get: Gets one operating system by DART ID.
36664//
36665// - dartId: Operating system DART ID.
36666// - profileId: User profile ID associated with this request.
36667func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
36668	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36669	c.profileId = profileId
36670	c.dartId = dartId
36671	return c
36672}
36673
36674// Fields allows partial responses to be retrieved. See
36675// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36676// for more information.
36677func (c *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
36678	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36679	return c
36680}
36681
36682// IfNoneMatch sets the optional parameter which makes the operation
36683// fail if the object's ETag matches the given value. This is useful for
36684// getting updates only after the object has changed since the last
36685// request. Use googleapi.IsNotModified to check whether the response
36686// error from Do is the result of In-None-Match.
36687func (c *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
36688	c.ifNoneMatch_ = entityTag
36689	return c
36690}
36691
36692// Context sets the context to be used in this call's Do method. Any
36693// pending HTTP request will be aborted if the provided context is
36694// canceled.
36695func (c *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
36696	c.ctx_ = ctx
36697	return c
36698}
36699
36700// Header returns an http.Header that can be modified by the caller to
36701// add HTTP headers to the request.
36702func (c *OperatingSystemsGetCall) Header() http.Header {
36703	if c.header_ == nil {
36704		c.header_ = make(http.Header)
36705	}
36706	return c.header_
36707}
36708
36709func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
36710	reqHeaders := make(http.Header)
36711	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
36712	for k, v := range c.header_ {
36713		reqHeaders[k] = v
36714	}
36715	reqHeaders.Set("User-Agent", c.s.userAgent())
36716	if c.ifNoneMatch_ != "" {
36717		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36718	}
36719	var body io.Reader = nil
36720	c.urlParams_.Set("alt", alt)
36721	c.urlParams_.Set("prettyPrint", "false")
36722	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems/{dartId}")
36723	urls += "?" + c.urlParams_.Encode()
36724	req, err := http.NewRequest("GET", urls, body)
36725	if err != nil {
36726		return nil, err
36727	}
36728	req.Header = reqHeaders
36729	googleapi.Expand(req.URL, map[string]string{
36730		"profileId": strconv.FormatInt(c.profileId, 10),
36731		"dartId":    strconv.FormatInt(c.dartId, 10),
36732	})
36733	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36734}
36735
36736// Do executes the "dfareporting.operatingSystems.get" call.
36737// Exactly one of *OperatingSystem or error will be non-nil. Any non-2xx
36738// status code is an error. Response headers are in either
36739// *OperatingSystem.ServerResponse.Header or (if a response was returned
36740// at all) in error.(*googleapi.Error).Header. Use
36741// googleapi.IsNotModified to check whether the returned error was
36742// because http.StatusNotModified was returned.
36743func (c *OperatingSystemsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystem, error) {
36744	gensupport.SetOptions(c.urlParams_, opts...)
36745	res, err := c.doRequest("json")
36746	if res != nil && res.StatusCode == http.StatusNotModified {
36747		if res.Body != nil {
36748			res.Body.Close()
36749		}
36750		return nil, &googleapi.Error{
36751			Code:   res.StatusCode,
36752			Header: res.Header,
36753		}
36754	}
36755	if err != nil {
36756		return nil, err
36757	}
36758	defer googleapi.CloseBody(res)
36759	if err := googleapi.CheckResponse(res); err != nil {
36760		return nil, err
36761	}
36762	ret := &OperatingSystem{
36763		ServerResponse: googleapi.ServerResponse{
36764			Header:         res.Header,
36765			HTTPStatusCode: res.StatusCode,
36766		},
36767	}
36768	target := &ret
36769	if err := gensupport.DecodeResponse(target, res); err != nil {
36770		return nil, err
36771	}
36772	return ret, nil
36773	// {
36774	//   "description": "Gets one operating system by DART ID.",
36775	//   "flatPath": "userprofiles/{profileId}/operatingSystems/{dartId}",
36776	//   "httpMethod": "GET",
36777	//   "id": "dfareporting.operatingSystems.get",
36778	//   "parameterOrder": [
36779	//     "profileId",
36780	//     "dartId"
36781	//   ],
36782	//   "parameters": {
36783	//     "dartId": {
36784	//       "description": "Operating system DART ID.",
36785	//       "format": "int64",
36786	//       "location": "path",
36787	//       "required": true,
36788	//       "type": "string"
36789	//     },
36790	//     "profileId": {
36791	//       "description": "User profile ID associated with this request.",
36792	//       "format": "int64",
36793	//       "location": "path",
36794	//       "required": true,
36795	//       "type": "string"
36796	//     }
36797	//   },
36798	//   "path": "userprofiles/{profileId}/operatingSystems/{dartId}",
36799	//   "response": {
36800	//     "$ref": "OperatingSystem"
36801	//   },
36802	//   "scopes": [
36803	//     "https://www.googleapis.com/auth/dfatrafficking"
36804	//   ]
36805	// }
36806
36807}
36808
36809// method id "dfareporting.operatingSystems.list":
36810
36811type OperatingSystemsListCall struct {
36812	s            *Service
36813	profileId    int64
36814	urlParams_   gensupport.URLParams
36815	ifNoneMatch_ string
36816	ctx_         context.Context
36817	header_      http.Header
36818}
36819
36820// List: Retrieves a list of operating systems.
36821//
36822// - profileId: User profile ID associated with this request.
36823func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
36824	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36825	c.profileId = profileId
36826	return c
36827}
36828
36829// Fields allows partial responses to be retrieved. See
36830// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36831// for more information.
36832func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
36833	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36834	return c
36835}
36836
36837// IfNoneMatch sets the optional parameter which makes the operation
36838// fail if the object's ETag matches the given value. This is useful for
36839// getting updates only after the object has changed since the last
36840// request. Use googleapi.IsNotModified to check whether the response
36841// error from Do is the result of In-None-Match.
36842func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
36843	c.ifNoneMatch_ = entityTag
36844	return c
36845}
36846
36847// Context sets the context to be used in this call's Do method. Any
36848// pending HTTP request will be aborted if the provided context is
36849// canceled.
36850func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
36851	c.ctx_ = ctx
36852	return c
36853}
36854
36855// Header returns an http.Header that can be modified by the caller to
36856// add HTTP headers to the request.
36857func (c *OperatingSystemsListCall) Header() http.Header {
36858	if c.header_ == nil {
36859		c.header_ = make(http.Header)
36860	}
36861	return c.header_
36862}
36863
36864func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
36865	reqHeaders := make(http.Header)
36866	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
36867	for k, v := range c.header_ {
36868		reqHeaders[k] = v
36869	}
36870	reqHeaders.Set("User-Agent", c.s.userAgent())
36871	if c.ifNoneMatch_ != "" {
36872		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36873	}
36874	var body io.Reader = nil
36875	c.urlParams_.Set("alt", alt)
36876	c.urlParams_.Set("prettyPrint", "false")
36877	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
36878	urls += "?" + c.urlParams_.Encode()
36879	req, err := http.NewRequest("GET", urls, body)
36880	if err != nil {
36881		return nil, err
36882	}
36883	req.Header = reqHeaders
36884	googleapi.Expand(req.URL, map[string]string{
36885		"profileId": strconv.FormatInt(c.profileId, 10),
36886	})
36887	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36888}
36889
36890// Do executes the "dfareporting.operatingSystems.list" call.
36891// Exactly one of *OperatingSystemsListResponse or error will be
36892// non-nil. Any non-2xx status code is an error. Response headers are in
36893// either *OperatingSystemsListResponse.ServerResponse.Header or (if a
36894// response was returned at all) in error.(*googleapi.Error).Header. Use
36895// googleapi.IsNotModified to check whether the returned error was
36896// because http.StatusNotModified was returned.
36897func (c *OperatingSystemsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemsListResponse, error) {
36898	gensupport.SetOptions(c.urlParams_, opts...)
36899	res, err := c.doRequest("json")
36900	if res != nil && res.StatusCode == http.StatusNotModified {
36901		if res.Body != nil {
36902			res.Body.Close()
36903		}
36904		return nil, &googleapi.Error{
36905			Code:   res.StatusCode,
36906			Header: res.Header,
36907		}
36908	}
36909	if err != nil {
36910		return nil, err
36911	}
36912	defer googleapi.CloseBody(res)
36913	if err := googleapi.CheckResponse(res); err != nil {
36914		return nil, err
36915	}
36916	ret := &OperatingSystemsListResponse{
36917		ServerResponse: googleapi.ServerResponse{
36918			Header:         res.Header,
36919			HTTPStatusCode: res.StatusCode,
36920		},
36921	}
36922	target := &ret
36923	if err := gensupport.DecodeResponse(target, res); err != nil {
36924		return nil, err
36925	}
36926	return ret, nil
36927	// {
36928	//   "description": "Retrieves a list of operating systems.",
36929	//   "flatPath": "userprofiles/{profileId}/operatingSystems",
36930	//   "httpMethod": "GET",
36931	//   "id": "dfareporting.operatingSystems.list",
36932	//   "parameterOrder": [
36933	//     "profileId"
36934	//   ],
36935	//   "parameters": {
36936	//     "profileId": {
36937	//       "description": "User profile ID associated with this request.",
36938	//       "format": "int64",
36939	//       "location": "path",
36940	//       "required": true,
36941	//       "type": "string"
36942	//     }
36943	//   },
36944	//   "path": "userprofiles/{profileId}/operatingSystems",
36945	//   "response": {
36946	//     "$ref": "OperatingSystemsListResponse"
36947	//   },
36948	//   "scopes": [
36949	//     "https://www.googleapis.com/auth/dfatrafficking"
36950	//   ]
36951	// }
36952
36953}
36954
36955// method id "dfareporting.orderDocuments.get":
36956
36957type OrderDocumentsGetCall struct {
36958	s            *Service
36959	profileId    int64
36960	projectId    int64
36961	id           int64
36962	urlParams_   gensupport.URLParams
36963	ifNoneMatch_ string
36964	ctx_         context.Context
36965	header_      http.Header
36966}
36967
36968// Get: Gets one order document by ID.
36969//
36970// - id: Order document ID.
36971// - profileId: User profile ID associated with this request.
36972// - projectId: Project ID for order documents.
36973func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
36974	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36975	c.profileId = profileId
36976	c.projectId = projectId
36977	c.id = id
36978	return c
36979}
36980
36981// Fields allows partial responses to be retrieved. See
36982// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36983// for more information.
36984func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
36985	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36986	return c
36987}
36988
36989// IfNoneMatch sets the optional parameter which makes the operation
36990// fail if the object's ETag matches the given value. This is useful for
36991// getting updates only after the object has changed since the last
36992// request. Use googleapi.IsNotModified to check whether the response
36993// error from Do is the result of In-None-Match.
36994func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
36995	c.ifNoneMatch_ = entityTag
36996	return c
36997}
36998
36999// Context sets the context to be used in this call's Do method. Any
37000// pending HTTP request will be aborted if the provided context is
37001// canceled.
37002func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
37003	c.ctx_ = ctx
37004	return c
37005}
37006
37007// Header returns an http.Header that can be modified by the caller to
37008// add HTTP headers to the request.
37009func (c *OrderDocumentsGetCall) Header() http.Header {
37010	if c.header_ == nil {
37011		c.header_ = make(http.Header)
37012	}
37013	return c.header_
37014}
37015
37016func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
37017	reqHeaders := make(http.Header)
37018	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
37019	for k, v := range c.header_ {
37020		reqHeaders[k] = v
37021	}
37022	reqHeaders.Set("User-Agent", c.s.userAgent())
37023	if c.ifNoneMatch_ != "" {
37024		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37025	}
37026	var body io.Reader = nil
37027	c.urlParams_.Set("alt", alt)
37028	c.urlParams_.Set("prettyPrint", "false")
37029	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
37030	urls += "?" + c.urlParams_.Encode()
37031	req, err := http.NewRequest("GET", urls, body)
37032	if err != nil {
37033		return nil, err
37034	}
37035	req.Header = reqHeaders
37036	googleapi.Expand(req.URL, map[string]string{
37037		"profileId": strconv.FormatInt(c.profileId, 10),
37038		"projectId": strconv.FormatInt(c.projectId, 10),
37039		"id":        strconv.FormatInt(c.id, 10),
37040	})
37041	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37042}
37043
37044// Do executes the "dfareporting.orderDocuments.get" call.
37045// Exactly one of *OrderDocument or error will be non-nil. Any non-2xx
37046// status code is an error. Response headers are in either
37047// *OrderDocument.ServerResponse.Header or (if a response was returned
37048// at all) in error.(*googleapi.Error).Header. Use
37049// googleapi.IsNotModified to check whether the returned error was
37050// because http.StatusNotModified was returned.
37051func (c *OrderDocumentsGetCall) Do(opts ...googleapi.CallOption) (*OrderDocument, error) {
37052	gensupport.SetOptions(c.urlParams_, opts...)
37053	res, err := c.doRequest("json")
37054	if res != nil && res.StatusCode == http.StatusNotModified {
37055		if res.Body != nil {
37056			res.Body.Close()
37057		}
37058		return nil, &googleapi.Error{
37059			Code:   res.StatusCode,
37060			Header: res.Header,
37061		}
37062	}
37063	if err != nil {
37064		return nil, err
37065	}
37066	defer googleapi.CloseBody(res)
37067	if err := googleapi.CheckResponse(res); err != nil {
37068		return nil, err
37069	}
37070	ret := &OrderDocument{
37071		ServerResponse: googleapi.ServerResponse{
37072			Header:         res.Header,
37073			HTTPStatusCode: res.StatusCode,
37074		},
37075	}
37076	target := &ret
37077	if err := gensupport.DecodeResponse(target, res); err != nil {
37078		return nil, err
37079	}
37080	return ret, nil
37081	// {
37082	//   "description": "Gets one order document by ID.",
37083	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
37084	//   "httpMethod": "GET",
37085	//   "id": "dfareporting.orderDocuments.get",
37086	//   "parameterOrder": [
37087	//     "profileId",
37088	//     "projectId",
37089	//     "id"
37090	//   ],
37091	//   "parameters": {
37092	//     "id": {
37093	//       "description": "Order document ID.",
37094	//       "format": "int64",
37095	//       "location": "path",
37096	//       "required": true,
37097	//       "type": "string"
37098	//     },
37099	//     "profileId": {
37100	//       "description": "User profile ID associated with this request.",
37101	//       "format": "int64",
37102	//       "location": "path",
37103	//       "required": true,
37104	//       "type": "string"
37105	//     },
37106	//     "projectId": {
37107	//       "description": "Project ID for order documents.",
37108	//       "format": "int64",
37109	//       "location": "path",
37110	//       "required": true,
37111	//       "type": "string"
37112	//     }
37113	//   },
37114	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
37115	//   "response": {
37116	//     "$ref": "OrderDocument"
37117	//   },
37118	//   "scopes": [
37119	//     "https://www.googleapis.com/auth/dfatrafficking"
37120	//   ]
37121	// }
37122
37123}
37124
37125// method id "dfareporting.orderDocuments.list":
37126
37127type OrderDocumentsListCall struct {
37128	s            *Service
37129	profileId    int64
37130	projectId    int64
37131	urlParams_   gensupport.URLParams
37132	ifNoneMatch_ string
37133	ctx_         context.Context
37134	header_      http.Header
37135}
37136
37137// List: Retrieves a list of order documents, possibly filtered. This
37138// method supports paging.
37139//
37140// - profileId: User profile ID associated with this request.
37141// - projectId: Project ID for order documents.
37142func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
37143	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37144	c.profileId = profileId
37145	c.projectId = projectId
37146	return c
37147}
37148
37149// Approved sets the optional parameter "approved": Select only order
37150// documents that have been approved by at least one user.
37151func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
37152	c.urlParams_.Set("approved", fmt.Sprint(approved))
37153	return c
37154}
37155
37156// Ids sets the optional parameter "ids": Select only order documents
37157// with these IDs.
37158func (c *OrderDocumentsListCall) Ids(ids ...int64) *OrderDocumentsListCall {
37159	var ids_ []string
37160	for _, v := range ids {
37161		ids_ = append(ids_, fmt.Sprint(v))
37162	}
37163	c.urlParams_.SetMulti("ids", ids_)
37164	return c
37165}
37166
37167// MaxResults sets the optional parameter "maxResults": Maximum number
37168// of results to return.
37169func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
37170	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
37171	return c
37172}
37173
37174// OrderId sets the optional parameter "orderId": Select only order
37175// documents for specified orders.
37176func (c *OrderDocumentsListCall) OrderId(orderId ...int64) *OrderDocumentsListCall {
37177	var orderId_ []string
37178	for _, v := range orderId {
37179		orderId_ = append(orderId_, fmt.Sprint(v))
37180	}
37181	c.urlParams_.SetMulti("orderId", orderId_)
37182	return c
37183}
37184
37185// PageToken sets the optional parameter "pageToken": Value of the
37186// nextPageToken from the previous result page.
37187func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
37188	c.urlParams_.Set("pageToken", pageToken)
37189	return c
37190}
37191
37192// SearchString sets the optional parameter "searchString": Allows
37193// searching for order documents by name or ID. Wildcards (*) are
37194// allowed. For example, "orderdocument*2015" will return order
37195// documents with names like "orderdocument June 2015", "orderdocument
37196// April 2015", or simply "orderdocument 2015". Most of the searches
37197// also add wildcards implicitly at the start and the end of the search
37198// string. For example, a search string of "orderdocument" will match
37199// order documents with name "my orderdocument", "orderdocument 2015",
37200// or simply "orderdocument".
37201func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
37202	c.urlParams_.Set("searchString", searchString)
37203	return c
37204}
37205
37206// SiteId sets the optional parameter "siteId": Select only order
37207// documents that are associated with these sites.
37208func (c *OrderDocumentsListCall) SiteId(siteId ...int64) *OrderDocumentsListCall {
37209	var siteId_ []string
37210	for _, v := range siteId {
37211		siteId_ = append(siteId_, fmt.Sprint(v))
37212	}
37213	c.urlParams_.SetMulti("siteId", siteId_)
37214	return c
37215}
37216
37217// SortField sets the optional parameter "sortField": Field by which to
37218// sort the list.
37219//
37220// Possible values:
37221//   "ID" (default)
37222//   "NAME"
37223func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
37224	c.urlParams_.Set("sortField", sortField)
37225	return c
37226}
37227
37228// SortOrder sets the optional parameter "sortOrder": Order of sorted
37229// results.
37230//
37231// Possible values:
37232//   "ASCENDING" (default)
37233//   "DESCENDING"
37234func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
37235	c.urlParams_.Set("sortOrder", sortOrder)
37236	return c
37237}
37238
37239// Fields allows partial responses to be retrieved. See
37240// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37241// for more information.
37242func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
37243	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37244	return c
37245}
37246
37247// IfNoneMatch sets the optional parameter which makes the operation
37248// fail if the object's ETag matches the given value. This is useful for
37249// getting updates only after the object has changed since the last
37250// request. Use googleapi.IsNotModified to check whether the response
37251// error from Do is the result of In-None-Match.
37252func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
37253	c.ifNoneMatch_ = entityTag
37254	return c
37255}
37256
37257// Context sets the context to be used in this call's Do method. Any
37258// pending HTTP request will be aborted if the provided context is
37259// canceled.
37260func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
37261	c.ctx_ = ctx
37262	return c
37263}
37264
37265// Header returns an http.Header that can be modified by the caller to
37266// add HTTP headers to the request.
37267func (c *OrderDocumentsListCall) Header() http.Header {
37268	if c.header_ == nil {
37269		c.header_ = make(http.Header)
37270	}
37271	return c.header_
37272}
37273
37274func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
37275	reqHeaders := make(http.Header)
37276	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
37277	for k, v := range c.header_ {
37278		reqHeaders[k] = v
37279	}
37280	reqHeaders.Set("User-Agent", c.s.userAgent())
37281	if c.ifNoneMatch_ != "" {
37282		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37283	}
37284	var body io.Reader = nil
37285	c.urlParams_.Set("alt", alt)
37286	c.urlParams_.Set("prettyPrint", "false")
37287	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
37288	urls += "?" + c.urlParams_.Encode()
37289	req, err := http.NewRequest("GET", urls, body)
37290	if err != nil {
37291		return nil, err
37292	}
37293	req.Header = reqHeaders
37294	googleapi.Expand(req.URL, map[string]string{
37295		"profileId": strconv.FormatInt(c.profileId, 10),
37296		"projectId": strconv.FormatInt(c.projectId, 10),
37297	})
37298	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37299}
37300
37301// Do executes the "dfareporting.orderDocuments.list" call.
37302// Exactly one of *OrderDocumentsListResponse or error will be non-nil.
37303// Any non-2xx status code is an error. Response headers are in either
37304// *OrderDocumentsListResponse.ServerResponse.Header or (if a response
37305// was returned at all) in error.(*googleapi.Error).Header. Use
37306// googleapi.IsNotModified to check whether the returned error was
37307// because http.StatusNotModified was returned.
37308func (c *OrderDocumentsListCall) Do(opts ...googleapi.CallOption) (*OrderDocumentsListResponse, error) {
37309	gensupport.SetOptions(c.urlParams_, opts...)
37310	res, err := c.doRequest("json")
37311	if res != nil && res.StatusCode == http.StatusNotModified {
37312		if res.Body != nil {
37313			res.Body.Close()
37314		}
37315		return nil, &googleapi.Error{
37316			Code:   res.StatusCode,
37317			Header: res.Header,
37318		}
37319	}
37320	if err != nil {
37321		return nil, err
37322	}
37323	defer googleapi.CloseBody(res)
37324	if err := googleapi.CheckResponse(res); err != nil {
37325		return nil, err
37326	}
37327	ret := &OrderDocumentsListResponse{
37328		ServerResponse: googleapi.ServerResponse{
37329			Header:         res.Header,
37330			HTTPStatusCode: res.StatusCode,
37331		},
37332	}
37333	target := &ret
37334	if err := gensupport.DecodeResponse(target, res); err != nil {
37335		return nil, err
37336	}
37337	return ret, nil
37338	// {
37339	//   "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
37340	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
37341	//   "httpMethod": "GET",
37342	//   "id": "dfareporting.orderDocuments.list",
37343	//   "parameterOrder": [
37344	//     "profileId",
37345	//     "projectId"
37346	//   ],
37347	//   "parameters": {
37348	//     "approved": {
37349	//       "description": "Select only order documents that have been approved by at least one user.",
37350	//       "location": "query",
37351	//       "type": "boolean"
37352	//     },
37353	//     "ids": {
37354	//       "description": "Select only order documents with these IDs.",
37355	//       "format": "int64",
37356	//       "location": "query",
37357	//       "repeated": true,
37358	//       "type": "string"
37359	//     },
37360	//     "maxResults": {
37361	//       "default": "1000",
37362	//       "description": "Maximum number of results to return.",
37363	//       "format": "int32",
37364	//       "location": "query",
37365	//       "maximum": "1000",
37366	//       "minimum": "0",
37367	//       "type": "integer"
37368	//     },
37369	//     "orderId": {
37370	//       "description": "Select only order documents for specified orders.",
37371	//       "format": "int64",
37372	//       "location": "query",
37373	//       "repeated": true,
37374	//       "type": "string"
37375	//     },
37376	//     "pageToken": {
37377	//       "description": "Value of the nextPageToken from the previous result page.",
37378	//       "location": "query",
37379	//       "type": "string"
37380	//     },
37381	//     "profileId": {
37382	//       "description": "User profile ID associated with this request.",
37383	//       "format": "int64",
37384	//       "location": "path",
37385	//       "required": true,
37386	//       "type": "string"
37387	//     },
37388	//     "projectId": {
37389	//       "description": "Project ID for order documents.",
37390	//       "format": "int64",
37391	//       "location": "path",
37392	//       "required": true,
37393	//       "type": "string"
37394	//     },
37395	//     "searchString": {
37396	//       "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\".",
37397	//       "location": "query",
37398	//       "type": "string"
37399	//     },
37400	//     "siteId": {
37401	//       "description": "Select only order documents that are associated with these sites.",
37402	//       "format": "int64",
37403	//       "location": "query",
37404	//       "repeated": true,
37405	//       "type": "string"
37406	//     },
37407	//     "sortField": {
37408	//       "default": "ID",
37409	//       "description": "Field by which to sort the list.",
37410	//       "enum": [
37411	//         "ID",
37412	//         "NAME"
37413	//       ],
37414	//       "enumDescriptions": [
37415	//         "",
37416	//         ""
37417	//       ],
37418	//       "location": "query",
37419	//       "type": "string"
37420	//     },
37421	//     "sortOrder": {
37422	//       "default": "ASCENDING",
37423	//       "description": "Order of sorted results.",
37424	//       "enum": [
37425	//         "ASCENDING",
37426	//         "DESCENDING"
37427	//       ],
37428	//       "enumDescriptions": [
37429	//         "",
37430	//         ""
37431	//       ],
37432	//       "location": "query",
37433	//       "type": "string"
37434	//     }
37435	//   },
37436	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
37437	//   "response": {
37438	//     "$ref": "OrderDocumentsListResponse"
37439	//   },
37440	//   "scopes": [
37441	//     "https://www.googleapis.com/auth/dfatrafficking"
37442	//   ]
37443	// }
37444
37445}
37446
37447// Pages invokes f for each page of results.
37448// A non-nil error returned from f will halt the iteration.
37449// The provided context supersedes any context provided to the Context method.
37450func (c *OrderDocumentsListCall) Pages(ctx context.Context, f func(*OrderDocumentsListResponse) error) error {
37451	c.ctx_ = ctx
37452	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
37453	for {
37454		x, err := c.Do()
37455		if err != nil {
37456			return err
37457		}
37458		if err := f(x); err != nil {
37459			return err
37460		}
37461		if x.NextPageToken == "" {
37462			return nil
37463		}
37464		c.PageToken(x.NextPageToken)
37465	}
37466}
37467
37468// method id "dfareporting.orders.get":
37469
37470type OrdersGetCall struct {
37471	s            *Service
37472	profileId    int64
37473	projectId    int64
37474	id           int64
37475	urlParams_   gensupport.URLParams
37476	ifNoneMatch_ string
37477	ctx_         context.Context
37478	header_      http.Header
37479}
37480
37481// Get: Gets one order by ID.
37482//
37483// - id: Order ID.
37484// - profileId: User profile ID associated with this request.
37485// - projectId: Project ID for orders.
37486func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
37487	c := &OrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37488	c.profileId = profileId
37489	c.projectId = projectId
37490	c.id = id
37491	return c
37492}
37493
37494// Fields allows partial responses to be retrieved. See
37495// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37496// for more information.
37497func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
37498	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37499	return c
37500}
37501
37502// IfNoneMatch sets the optional parameter which makes the operation
37503// fail if the object's ETag matches the given value. This is useful for
37504// getting updates only after the object has changed since the last
37505// request. Use googleapi.IsNotModified to check whether the response
37506// error from Do is the result of In-None-Match.
37507func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
37508	c.ifNoneMatch_ = entityTag
37509	return c
37510}
37511
37512// Context sets the context to be used in this call's Do method. Any
37513// pending HTTP request will be aborted if the provided context is
37514// canceled.
37515func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
37516	c.ctx_ = ctx
37517	return c
37518}
37519
37520// Header returns an http.Header that can be modified by the caller to
37521// add HTTP headers to the request.
37522func (c *OrdersGetCall) Header() http.Header {
37523	if c.header_ == nil {
37524		c.header_ = make(http.Header)
37525	}
37526	return c.header_
37527}
37528
37529func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
37530	reqHeaders := make(http.Header)
37531	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
37532	for k, v := range c.header_ {
37533		reqHeaders[k] = v
37534	}
37535	reqHeaders.Set("User-Agent", c.s.userAgent())
37536	if c.ifNoneMatch_ != "" {
37537		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37538	}
37539	var body io.Reader = nil
37540	c.urlParams_.Set("alt", alt)
37541	c.urlParams_.Set("prettyPrint", "false")
37542	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
37543	urls += "?" + c.urlParams_.Encode()
37544	req, err := http.NewRequest("GET", urls, body)
37545	if err != nil {
37546		return nil, err
37547	}
37548	req.Header = reqHeaders
37549	googleapi.Expand(req.URL, map[string]string{
37550		"profileId": strconv.FormatInt(c.profileId, 10),
37551		"projectId": strconv.FormatInt(c.projectId, 10),
37552		"id":        strconv.FormatInt(c.id, 10),
37553	})
37554	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37555}
37556
37557// Do executes the "dfareporting.orders.get" call.
37558// Exactly one of *Order or error will be non-nil. Any non-2xx status
37559// code is an error. Response headers are in either
37560// *Order.ServerResponse.Header or (if a response was returned at all)
37561// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
37562// check whether the returned error was because http.StatusNotModified
37563// was returned.
37564func (c *OrdersGetCall) Do(opts ...googleapi.CallOption) (*Order, error) {
37565	gensupport.SetOptions(c.urlParams_, opts...)
37566	res, err := c.doRequest("json")
37567	if res != nil && res.StatusCode == http.StatusNotModified {
37568		if res.Body != nil {
37569			res.Body.Close()
37570		}
37571		return nil, &googleapi.Error{
37572			Code:   res.StatusCode,
37573			Header: res.Header,
37574		}
37575	}
37576	if err != nil {
37577		return nil, err
37578	}
37579	defer googleapi.CloseBody(res)
37580	if err := googleapi.CheckResponse(res); err != nil {
37581		return nil, err
37582	}
37583	ret := &Order{
37584		ServerResponse: googleapi.ServerResponse{
37585			Header:         res.Header,
37586			HTTPStatusCode: res.StatusCode,
37587		},
37588	}
37589	target := &ret
37590	if err := gensupport.DecodeResponse(target, res); err != nil {
37591		return nil, err
37592	}
37593	return ret, nil
37594	// {
37595	//   "description": "Gets one order by ID.",
37596	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
37597	//   "httpMethod": "GET",
37598	//   "id": "dfareporting.orders.get",
37599	//   "parameterOrder": [
37600	//     "profileId",
37601	//     "projectId",
37602	//     "id"
37603	//   ],
37604	//   "parameters": {
37605	//     "id": {
37606	//       "description": "Order ID.",
37607	//       "format": "int64",
37608	//       "location": "path",
37609	//       "required": true,
37610	//       "type": "string"
37611	//     },
37612	//     "profileId": {
37613	//       "description": "User profile ID associated with this request.",
37614	//       "format": "int64",
37615	//       "location": "path",
37616	//       "required": true,
37617	//       "type": "string"
37618	//     },
37619	//     "projectId": {
37620	//       "description": "Project ID for orders.",
37621	//       "format": "int64",
37622	//       "location": "path",
37623	//       "required": true,
37624	//       "type": "string"
37625	//     }
37626	//   },
37627	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
37628	//   "response": {
37629	//     "$ref": "Order"
37630	//   },
37631	//   "scopes": [
37632	//     "https://www.googleapis.com/auth/dfatrafficking"
37633	//   ]
37634	// }
37635
37636}
37637
37638// method id "dfareporting.orders.list":
37639
37640type OrdersListCall struct {
37641	s            *Service
37642	profileId    int64
37643	projectId    int64
37644	urlParams_   gensupport.URLParams
37645	ifNoneMatch_ string
37646	ctx_         context.Context
37647	header_      http.Header
37648}
37649
37650// List: Retrieves a list of orders, possibly filtered. This method
37651// supports paging.
37652//
37653// - profileId: User profile ID associated with this request.
37654// - projectId: Project ID for orders.
37655func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
37656	c := &OrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37657	c.profileId = profileId
37658	c.projectId = projectId
37659	return c
37660}
37661
37662// Ids sets the optional parameter "ids": Select only orders with these
37663// IDs.
37664func (c *OrdersListCall) Ids(ids ...int64) *OrdersListCall {
37665	var ids_ []string
37666	for _, v := range ids {
37667		ids_ = append(ids_, fmt.Sprint(v))
37668	}
37669	c.urlParams_.SetMulti("ids", ids_)
37670	return c
37671}
37672
37673// MaxResults sets the optional parameter "maxResults": Maximum number
37674// of results to return.
37675func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
37676	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
37677	return c
37678}
37679
37680// PageToken sets the optional parameter "pageToken": Value of the
37681// nextPageToken from the previous result page.
37682func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
37683	c.urlParams_.Set("pageToken", pageToken)
37684	return c
37685}
37686
37687// SearchString sets the optional parameter "searchString": Allows
37688// searching for orders by name or ID. Wildcards (*) are allowed. For
37689// example, "order*2015" will return orders with names like "order June
37690// 2015", "order April 2015", or simply "order 2015". Most of the
37691// searches also add wildcards implicitly at the start and the end of
37692// the search string. For example, a search string of "order" will match
37693// orders with name "my order", "order 2015", or simply "order".
37694func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
37695	c.urlParams_.Set("searchString", searchString)
37696	return c
37697}
37698
37699// SiteId sets the optional parameter "siteId": Select only orders that
37700// are associated with these site IDs.
37701func (c *OrdersListCall) SiteId(siteId ...int64) *OrdersListCall {
37702	var siteId_ []string
37703	for _, v := range siteId {
37704		siteId_ = append(siteId_, fmt.Sprint(v))
37705	}
37706	c.urlParams_.SetMulti("siteId", siteId_)
37707	return c
37708}
37709
37710// SortField sets the optional parameter "sortField": Field by which to
37711// sort the list.
37712//
37713// Possible values:
37714//   "ID" (default)
37715//   "NAME"
37716func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
37717	c.urlParams_.Set("sortField", sortField)
37718	return c
37719}
37720
37721// SortOrder sets the optional parameter "sortOrder": Order of sorted
37722// results.
37723//
37724// Possible values:
37725//   "ASCENDING" (default)
37726//   "DESCENDING"
37727func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
37728	c.urlParams_.Set("sortOrder", sortOrder)
37729	return c
37730}
37731
37732// Fields allows partial responses to be retrieved. See
37733// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37734// for more information.
37735func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
37736	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37737	return c
37738}
37739
37740// IfNoneMatch sets the optional parameter which makes the operation
37741// fail if the object's ETag matches the given value. This is useful for
37742// getting updates only after the object has changed since the last
37743// request. Use googleapi.IsNotModified to check whether the response
37744// error from Do is the result of In-None-Match.
37745func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
37746	c.ifNoneMatch_ = entityTag
37747	return c
37748}
37749
37750// Context sets the context to be used in this call's Do method. Any
37751// pending HTTP request will be aborted if the provided context is
37752// canceled.
37753func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
37754	c.ctx_ = ctx
37755	return c
37756}
37757
37758// Header returns an http.Header that can be modified by the caller to
37759// add HTTP headers to the request.
37760func (c *OrdersListCall) Header() http.Header {
37761	if c.header_ == nil {
37762		c.header_ = make(http.Header)
37763	}
37764	return c.header_
37765}
37766
37767func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
37768	reqHeaders := make(http.Header)
37769	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
37770	for k, v := range c.header_ {
37771		reqHeaders[k] = v
37772	}
37773	reqHeaders.Set("User-Agent", c.s.userAgent())
37774	if c.ifNoneMatch_ != "" {
37775		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37776	}
37777	var body io.Reader = nil
37778	c.urlParams_.Set("alt", alt)
37779	c.urlParams_.Set("prettyPrint", "false")
37780	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
37781	urls += "?" + c.urlParams_.Encode()
37782	req, err := http.NewRequest("GET", urls, body)
37783	if err != nil {
37784		return nil, err
37785	}
37786	req.Header = reqHeaders
37787	googleapi.Expand(req.URL, map[string]string{
37788		"profileId": strconv.FormatInt(c.profileId, 10),
37789		"projectId": strconv.FormatInt(c.projectId, 10),
37790	})
37791	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37792}
37793
37794// Do executes the "dfareporting.orders.list" call.
37795// Exactly one of *OrdersListResponse or error will be non-nil. Any
37796// non-2xx status code is an error. Response headers are in either
37797// *OrdersListResponse.ServerResponse.Header or (if a response was
37798// returned at all) in error.(*googleapi.Error).Header. Use
37799// googleapi.IsNotModified to check whether the returned error was
37800// because http.StatusNotModified was returned.
37801func (c *OrdersListCall) Do(opts ...googleapi.CallOption) (*OrdersListResponse, error) {
37802	gensupport.SetOptions(c.urlParams_, opts...)
37803	res, err := c.doRequest("json")
37804	if res != nil && res.StatusCode == http.StatusNotModified {
37805		if res.Body != nil {
37806			res.Body.Close()
37807		}
37808		return nil, &googleapi.Error{
37809			Code:   res.StatusCode,
37810			Header: res.Header,
37811		}
37812	}
37813	if err != nil {
37814		return nil, err
37815	}
37816	defer googleapi.CloseBody(res)
37817	if err := googleapi.CheckResponse(res); err != nil {
37818		return nil, err
37819	}
37820	ret := &OrdersListResponse{
37821		ServerResponse: googleapi.ServerResponse{
37822			Header:         res.Header,
37823			HTTPStatusCode: res.StatusCode,
37824		},
37825	}
37826	target := &ret
37827	if err := gensupport.DecodeResponse(target, res); err != nil {
37828		return nil, err
37829	}
37830	return ret, nil
37831	// {
37832	//   "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
37833	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders",
37834	//   "httpMethod": "GET",
37835	//   "id": "dfareporting.orders.list",
37836	//   "parameterOrder": [
37837	//     "profileId",
37838	//     "projectId"
37839	//   ],
37840	//   "parameters": {
37841	//     "ids": {
37842	//       "description": "Select only orders with these IDs.",
37843	//       "format": "int64",
37844	//       "location": "query",
37845	//       "repeated": true,
37846	//       "type": "string"
37847	//     },
37848	//     "maxResults": {
37849	//       "default": "1000",
37850	//       "description": "Maximum number of results to return.",
37851	//       "format": "int32",
37852	//       "location": "query",
37853	//       "maximum": "1000",
37854	//       "minimum": "0",
37855	//       "type": "integer"
37856	//     },
37857	//     "pageToken": {
37858	//       "description": "Value of the nextPageToken from the previous result page.",
37859	//       "location": "query",
37860	//       "type": "string"
37861	//     },
37862	//     "profileId": {
37863	//       "description": "User profile ID associated with this request.",
37864	//       "format": "int64",
37865	//       "location": "path",
37866	//       "required": true,
37867	//       "type": "string"
37868	//     },
37869	//     "projectId": {
37870	//       "description": "Project ID for orders.",
37871	//       "format": "int64",
37872	//       "location": "path",
37873	//       "required": true,
37874	//       "type": "string"
37875	//     },
37876	//     "searchString": {
37877	//       "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\".",
37878	//       "location": "query",
37879	//       "type": "string"
37880	//     },
37881	//     "siteId": {
37882	//       "description": "Select only orders that are associated with these site IDs.",
37883	//       "format": "int64",
37884	//       "location": "query",
37885	//       "repeated": true,
37886	//       "type": "string"
37887	//     },
37888	//     "sortField": {
37889	//       "default": "ID",
37890	//       "description": "Field by which to sort the list.",
37891	//       "enum": [
37892	//         "ID",
37893	//         "NAME"
37894	//       ],
37895	//       "enumDescriptions": [
37896	//         "",
37897	//         ""
37898	//       ],
37899	//       "location": "query",
37900	//       "type": "string"
37901	//     },
37902	//     "sortOrder": {
37903	//       "default": "ASCENDING",
37904	//       "description": "Order of sorted results.",
37905	//       "enum": [
37906	//         "ASCENDING",
37907	//         "DESCENDING"
37908	//       ],
37909	//       "enumDescriptions": [
37910	//         "",
37911	//         ""
37912	//       ],
37913	//       "location": "query",
37914	//       "type": "string"
37915	//     }
37916	//   },
37917	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders",
37918	//   "response": {
37919	//     "$ref": "OrdersListResponse"
37920	//   },
37921	//   "scopes": [
37922	//     "https://www.googleapis.com/auth/dfatrafficking"
37923	//   ]
37924	// }
37925
37926}
37927
37928// Pages invokes f for each page of results.
37929// A non-nil error returned from f will halt the iteration.
37930// The provided context supersedes any context provided to the Context method.
37931func (c *OrdersListCall) Pages(ctx context.Context, f func(*OrdersListResponse) error) error {
37932	c.ctx_ = ctx
37933	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
37934	for {
37935		x, err := c.Do()
37936		if err != nil {
37937			return err
37938		}
37939		if err := f(x); err != nil {
37940			return err
37941		}
37942		if x.NextPageToken == "" {
37943			return nil
37944		}
37945		c.PageToken(x.NextPageToken)
37946	}
37947}
37948
37949// method id "dfareporting.placementGroups.get":
37950
37951type PlacementGroupsGetCall struct {
37952	s            *Service
37953	profileId    int64
37954	id           int64
37955	urlParams_   gensupport.URLParams
37956	ifNoneMatch_ string
37957	ctx_         context.Context
37958	header_      http.Header
37959}
37960
37961// Get: Gets one placement group by ID.
37962//
37963// - id: Placement group ID.
37964// - profileId: User profile ID associated with this request.
37965func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
37966	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37967	c.profileId = profileId
37968	c.id = id
37969	return c
37970}
37971
37972// Fields allows partial responses to be retrieved. See
37973// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37974// for more information.
37975func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
37976	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37977	return c
37978}
37979
37980// IfNoneMatch sets the optional parameter which makes the operation
37981// fail if the object's ETag matches the given value. This is useful for
37982// getting updates only after the object has changed since the last
37983// request. Use googleapi.IsNotModified to check whether the response
37984// error from Do is the result of In-None-Match.
37985func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
37986	c.ifNoneMatch_ = entityTag
37987	return c
37988}
37989
37990// Context sets the context to be used in this call's Do method. Any
37991// pending HTTP request will be aborted if the provided context is
37992// canceled.
37993func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
37994	c.ctx_ = ctx
37995	return c
37996}
37997
37998// Header returns an http.Header that can be modified by the caller to
37999// add HTTP headers to the request.
38000func (c *PlacementGroupsGetCall) Header() http.Header {
38001	if c.header_ == nil {
38002		c.header_ = make(http.Header)
38003	}
38004	return c.header_
38005}
38006
38007func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
38008	reqHeaders := make(http.Header)
38009	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
38010	for k, v := range c.header_ {
38011		reqHeaders[k] = v
38012	}
38013	reqHeaders.Set("User-Agent", c.s.userAgent())
38014	if c.ifNoneMatch_ != "" {
38015		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38016	}
38017	var body io.Reader = nil
38018	c.urlParams_.Set("alt", alt)
38019	c.urlParams_.Set("prettyPrint", "false")
38020	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
38021	urls += "?" + c.urlParams_.Encode()
38022	req, err := http.NewRequest("GET", urls, body)
38023	if err != nil {
38024		return nil, err
38025	}
38026	req.Header = reqHeaders
38027	googleapi.Expand(req.URL, map[string]string{
38028		"profileId": strconv.FormatInt(c.profileId, 10),
38029		"id":        strconv.FormatInt(c.id, 10),
38030	})
38031	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38032}
38033
38034// Do executes the "dfareporting.placementGroups.get" call.
38035// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38036// status code is an error. Response headers are in either
38037// *PlacementGroup.ServerResponse.Header or (if a response was returned
38038// at all) in error.(*googleapi.Error).Header. Use
38039// googleapi.IsNotModified to check whether the returned error was
38040// because http.StatusNotModified was returned.
38041func (c *PlacementGroupsGetCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38042	gensupport.SetOptions(c.urlParams_, opts...)
38043	res, err := c.doRequest("json")
38044	if res != nil && res.StatusCode == http.StatusNotModified {
38045		if res.Body != nil {
38046			res.Body.Close()
38047		}
38048		return nil, &googleapi.Error{
38049			Code:   res.StatusCode,
38050			Header: res.Header,
38051		}
38052	}
38053	if err != nil {
38054		return nil, err
38055	}
38056	defer googleapi.CloseBody(res)
38057	if err := googleapi.CheckResponse(res); err != nil {
38058		return nil, err
38059	}
38060	ret := &PlacementGroup{
38061		ServerResponse: googleapi.ServerResponse{
38062			Header:         res.Header,
38063			HTTPStatusCode: res.StatusCode,
38064		},
38065	}
38066	target := &ret
38067	if err := gensupport.DecodeResponse(target, res); err != nil {
38068		return nil, err
38069	}
38070	return ret, nil
38071	// {
38072	//   "description": "Gets one placement group by ID.",
38073	//   "flatPath": "userprofiles/{profileId}/placementGroups/{id}",
38074	//   "httpMethod": "GET",
38075	//   "id": "dfareporting.placementGroups.get",
38076	//   "parameterOrder": [
38077	//     "profileId",
38078	//     "id"
38079	//   ],
38080	//   "parameters": {
38081	//     "id": {
38082	//       "description": "Placement group ID.",
38083	//       "format": "int64",
38084	//       "location": "path",
38085	//       "required": true,
38086	//       "type": "string"
38087	//     },
38088	//     "profileId": {
38089	//       "description": "User profile ID associated with this request.",
38090	//       "format": "int64",
38091	//       "location": "path",
38092	//       "required": true,
38093	//       "type": "string"
38094	//     }
38095	//   },
38096	//   "path": "userprofiles/{profileId}/placementGroups/{id}",
38097	//   "response": {
38098	//     "$ref": "PlacementGroup"
38099	//   },
38100	//   "scopes": [
38101	//     "https://www.googleapis.com/auth/dfatrafficking"
38102	//   ]
38103	// }
38104
38105}
38106
38107// method id "dfareporting.placementGroups.insert":
38108
38109type PlacementGroupsInsertCall struct {
38110	s              *Service
38111	profileId      int64
38112	placementgroup *PlacementGroup
38113	urlParams_     gensupport.URLParams
38114	ctx_           context.Context
38115	header_        http.Header
38116}
38117
38118// Insert: Inserts a new placement group.
38119//
38120// - profileId: User profile ID associated with this request.
38121func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
38122	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38123	c.profileId = profileId
38124	c.placementgroup = placementgroup
38125	return c
38126}
38127
38128// Fields allows partial responses to be retrieved. See
38129// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38130// for more information.
38131func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
38132	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38133	return c
38134}
38135
38136// Context sets the context to be used in this call's Do method. Any
38137// pending HTTP request will be aborted if the provided context is
38138// canceled.
38139func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
38140	c.ctx_ = ctx
38141	return c
38142}
38143
38144// Header returns an http.Header that can be modified by the caller to
38145// add HTTP headers to the request.
38146func (c *PlacementGroupsInsertCall) Header() http.Header {
38147	if c.header_ == nil {
38148		c.header_ = make(http.Header)
38149	}
38150	return c.header_
38151}
38152
38153func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
38154	reqHeaders := make(http.Header)
38155	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
38156	for k, v := range c.header_ {
38157		reqHeaders[k] = v
38158	}
38159	reqHeaders.Set("User-Agent", c.s.userAgent())
38160	var body io.Reader = nil
38161	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
38162	if err != nil {
38163		return nil, err
38164	}
38165	reqHeaders.Set("Content-Type", "application/json")
38166	c.urlParams_.Set("alt", alt)
38167	c.urlParams_.Set("prettyPrint", "false")
38168	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38169	urls += "?" + c.urlParams_.Encode()
38170	req, err := http.NewRequest("POST", urls, body)
38171	if err != nil {
38172		return nil, err
38173	}
38174	req.Header = reqHeaders
38175	googleapi.Expand(req.URL, map[string]string{
38176		"profileId": strconv.FormatInt(c.profileId, 10),
38177	})
38178	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38179}
38180
38181// Do executes the "dfareporting.placementGroups.insert" call.
38182// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38183// status code is an error. Response headers are in either
38184// *PlacementGroup.ServerResponse.Header or (if a response was returned
38185// at all) in error.(*googleapi.Error).Header. Use
38186// googleapi.IsNotModified to check whether the returned error was
38187// because http.StatusNotModified was returned.
38188func (c *PlacementGroupsInsertCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38189	gensupport.SetOptions(c.urlParams_, opts...)
38190	res, err := c.doRequest("json")
38191	if res != nil && res.StatusCode == http.StatusNotModified {
38192		if res.Body != nil {
38193			res.Body.Close()
38194		}
38195		return nil, &googleapi.Error{
38196			Code:   res.StatusCode,
38197			Header: res.Header,
38198		}
38199	}
38200	if err != nil {
38201		return nil, err
38202	}
38203	defer googleapi.CloseBody(res)
38204	if err := googleapi.CheckResponse(res); err != nil {
38205		return nil, err
38206	}
38207	ret := &PlacementGroup{
38208		ServerResponse: googleapi.ServerResponse{
38209			Header:         res.Header,
38210			HTTPStatusCode: res.StatusCode,
38211		},
38212	}
38213	target := &ret
38214	if err := gensupport.DecodeResponse(target, res); err != nil {
38215		return nil, err
38216	}
38217	return ret, nil
38218	// {
38219	//   "description": "Inserts a new placement group.",
38220	//   "flatPath": "userprofiles/{profileId}/placementGroups",
38221	//   "httpMethod": "POST",
38222	//   "id": "dfareporting.placementGroups.insert",
38223	//   "parameterOrder": [
38224	//     "profileId"
38225	//   ],
38226	//   "parameters": {
38227	//     "profileId": {
38228	//       "description": "User profile ID associated with this request.",
38229	//       "format": "int64",
38230	//       "location": "path",
38231	//       "required": true,
38232	//       "type": "string"
38233	//     }
38234	//   },
38235	//   "path": "userprofiles/{profileId}/placementGroups",
38236	//   "request": {
38237	//     "$ref": "PlacementGroup"
38238	//   },
38239	//   "response": {
38240	//     "$ref": "PlacementGroup"
38241	//   },
38242	//   "scopes": [
38243	//     "https://www.googleapis.com/auth/dfatrafficking"
38244	//   ]
38245	// }
38246
38247}
38248
38249// method id "dfareporting.placementGroups.list":
38250
38251type PlacementGroupsListCall struct {
38252	s            *Service
38253	profileId    int64
38254	urlParams_   gensupport.URLParams
38255	ifNoneMatch_ string
38256	ctx_         context.Context
38257	header_      http.Header
38258}
38259
38260// List: Retrieves a list of placement groups, possibly filtered. This
38261// method supports paging.
38262//
38263// - profileId: User profile ID associated with this request.
38264func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
38265	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38266	c.profileId = profileId
38267	return c
38268}
38269
38270// AdvertiserIds sets the optional parameter "advertiserIds": Select
38271// only placement groups that belong to these advertisers.
38272func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementGroupsListCall {
38273	var advertiserIds_ []string
38274	for _, v := range advertiserIds {
38275		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
38276	}
38277	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
38278	return c
38279}
38280
38281// Archived sets the optional parameter "archived": Select only archived
38282// placements. Don't set this field to select both archived and
38283// non-archived placements.
38284func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
38285	c.urlParams_.Set("archived", fmt.Sprint(archived))
38286	return c
38287}
38288
38289// CampaignIds sets the optional parameter "campaignIds": Select only
38290// placement groups that belong to these campaigns.
38291func (c *PlacementGroupsListCall) CampaignIds(campaignIds ...int64) *PlacementGroupsListCall {
38292	var campaignIds_ []string
38293	for _, v := range campaignIds {
38294		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
38295	}
38296	c.urlParams_.SetMulti("campaignIds", campaignIds_)
38297	return c
38298}
38299
38300// ContentCategoryIds sets the optional parameter "contentCategoryIds":
38301// Select only placement groups that are associated with these content
38302// categories.
38303func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementGroupsListCall {
38304	var contentCategoryIds_ []string
38305	for _, v := range contentCategoryIds {
38306		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
38307	}
38308	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
38309	return c
38310}
38311
38312// DirectorySiteIds sets the optional parameter "directorySiteIds":
38313// Select only placement groups that are associated with these directory
38314// sites.
38315func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementGroupsListCall {
38316	var directorySiteIds_ []string
38317	for _, v := range directorySiteIds {
38318		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
38319	}
38320	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
38321	return c
38322}
38323
38324// Ids sets the optional parameter "ids": Select only placement groups
38325// with these IDs.
38326func (c *PlacementGroupsListCall) Ids(ids ...int64) *PlacementGroupsListCall {
38327	var ids_ []string
38328	for _, v := range ids {
38329		ids_ = append(ids_, fmt.Sprint(v))
38330	}
38331	c.urlParams_.SetMulti("ids", ids_)
38332	return c
38333}
38334
38335// MaxEndDate sets the optional parameter "maxEndDate": Select only
38336// placements or placement groups whose end date is on or before the
38337// specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
38338func (c *PlacementGroupsListCall) MaxEndDate(maxEndDate string) *PlacementGroupsListCall {
38339	c.urlParams_.Set("maxEndDate", maxEndDate)
38340	return c
38341}
38342
38343// MaxResults sets the optional parameter "maxResults": Maximum number
38344// of results to return.
38345func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
38346	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
38347	return c
38348}
38349
38350// MaxStartDate sets the optional parameter "maxStartDate": Select only
38351// placements or placement groups whose start date is on or before the
38352// specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
38353func (c *PlacementGroupsListCall) MaxStartDate(maxStartDate string) *PlacementGroupsListCall {
38354	c.urlParams_.Set("maxStartDate", maxStartDate)
38355	return c
38356}
38357
38358// MinEndDate sets the optional parameter "minEndDate": Select only
38359// placements or placement groups whose end date is on or after the
38360// specified minEndDate. The date should be formatted as "yyyy-MM-dd".
38361func (c *PlacementGroupsListCall) MinEndDate(minEndDate string) *PlacementGroupsListCall {
38362	c.urlParams_.Set("minEndDate", minEndDate)
38363	return c
38364}
38365
38366// MinStartDate sets the optional parameter "minStartDate": Select only
38367// placements or placement groups whose start date is on or after the
38368// specified minStartDate. The date should be formatted as "yyyy-MM-dd".
38369func (c *PlacementGroupsListCall) MinStartDate(minStartDate string) *PlacementGroupsListCall {
38370	c.urlParams_.Set("minStartDate", minStartDate)
38371	return c
38372}
38373
38374// PageToken sets the optional parameter "pageToken": Value of the
38375// nextPageToken from the previous result page.
38376func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
38377	c.urlParams_.Set("pageToken", pageToken)
38378	return c
38379}
38380
38381// PlacementGroupType sets the optional parameter "placementGroupType":
38382// Select only placement groups belonging with this group type. A
38383// package is a simple group of placements that acts as a single pricing
38384// point for a group of tags. A roadblock is a group of placements that
38385// not only acts as a single pricing point but also assumes that all the
38386// tags in it will be served at the same time. A roadblock requires one
38387// of its assigned placements to be marked as primary for reporting.
38388//
38389// Possible values:
38390//   "PLACEMENT_PACKAGE"
38391//   "PLACEMENT_ROADBLOCK"
38392func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
38393	c.urlParams_.Set("placementGroupType", placementGroupType)
38394	return c
38395}
38396
38397// PlacementStrategyIds sets the optional parameter
38398// "placementStrategyIds": Select only placement groups that are
38399// associated with these placement strategies.
38400func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementGroupsListCall {
38401	var placementStrategyIds_ []string
38402	for _, v := range placementStrategyIds {
38403		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
38404	}
38405	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
38406	return c
38407}
38408
38409// PricingTypes sets the optional parameter "pricingTypes": Select only
38410// placement groups with these pricing types.
38411//
38412// Possible values:
38413//   "PRICING_TYPE_CPM"
38414//   "PRICING_TYPE_CPC"
38415//   "PRICING_TYPE_CPA"
38416//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
38417//   "PRICING_TYPE_FLAT_RATE_CLICKS"
38418//   "PRICING_TYPE_CPM_ACTIVEVIEW"
38419func (c *PlacementGroupsListCall) PricingTypes(pricingTypes ...string) *PlacementGroupsListCall {
38420	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
38421	return c
38422}
38423
38424// SearchString sets the optional parameter "searchString": Allows
38425// searching for placement groups by name or ID. Wildcards (*) are
38426// allowed. For example, "placement*2015" will return placement groups
38427// with names like "placement group June 2015", "placement group May
38428// 2015", or simply "placements 2015". Most of the searches also add
38429// wildcards implicitly at the start and the end of the search string.
38430// For example, a search string of "placementgroup" will match placement
38431// groups with name "my placementgroup", "placementgroup 2015", or
38432// simply "placementgroup".
38433func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
38434	c.urlParams_.Set("searchString", searchString)
38435	return c
38436}
38437
38438// SiteIds sets the optional parameter "siteIds": Select only placement
38439// groups that are associated with these sites.
38440func (c *PlacementGroupsListCall) SiteIds(siteIds ...int64) *PlacementGroupsListCall {
38441	var siteIds_ []string
38442	for _, v := range siteIds {
38443		siteIds_ = append(siteIds_, fmt.Sprint(v))
38444	}
38445	c.urlParams_.SetMulti("siteIds", siteIds_)
38446	return c
38447}
38448
38449// SortField sets the optional parameter "sortField": Field by which to
38450// sort the list.
38451//
38452// Possible values:
38453//   "ID" (default)
38454//   "NAME"
38455func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
38456	c.urlParams_.Set("sortField", sortField)
38457	return c
38458}
38459
38460// SortOrder sets the optional parameter "sortOrder": Order of sorted
38461// results.
38462//
38463// Possible values:
38464//   "ASCENDING" (default)
38465//   "DESCENDING"
38466func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
38467	c.urlParams_.Set("sortOrder", sortOrder)
38468	return c
38469}
38470
38471// Fields allows partial responses to be retrieved. See
38472// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38473// for more information.
38474func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
38475	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38476	return c
38477}
38478
38479// IfNoneMatch sets the optional parameter which makes the operation
38480// fail if the object's ETag matches the given value. This is useful for
38481// getting updates only after the object has changed since the last
38482// request. Use googleapi.IsNotModified to check whether the response
38483// error from Do is the result of In-None-Match.
38484func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
38485	c.ifNoneMatch_ = entityTag
38486	return c
38487}
38488
38489// Context sets the context to be used in this call's Do method. Any
38490// pending HTTP request will be aborted if the provided context is
38491// canceled.
38492func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
38493	c.ctx_ = ctx
38494	return c
38495}
38496
38497// Header returns an http.Header that can be modified by the caller to
38498// add HTTP headers to the request.
38499func (c *PlacementGroupsListCall) Header() http.Header {
38500	if c.header_ == nil {
38501		c.header_ = make(http.Header)
38502	}
38503	return c.header_
38504}
38505
38506func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
38507	reqHeaders := make(http.Header)
38508	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
38509	for k, v := range c.header_ {
38510		reqHeaders[k] = v
38511	}
38512	reqHeaders.Set("User-Agent", c.s.userAgent())
38513	if c.ifNoneMatch_ != "" {
38514		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38515	}
38516	var body io.Reader = nil
38517	c.urlParams_.Set("alt", alt)
38518	c.urlParams_.Set("prettyPrint", "false")
38519	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38520	urls += "?" + c.urlParams_.Encode()
38521	req, err := http.NewRequest("GET", urls, body)
38522	if err != nil {
38523		return nil, err
38524	}
38525	req.Header = reqHeaders
38526	googleapi.Expand(req.URL, map[string]string{
38527		"profileId": strconv.FormatInt(c.profileId, 10),
38528	})
38529	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38530}
38531
38532// Do executes the "dfareporting.placementGroups.list" call.
38533// Exactly one of *PlacementGroupsListResponse or error will be non-nil.
38534// Any non-2xx status code is an error. Response headers are in either
38535// *PlacementGroupsListResponse.ServerResponse.Header or (if a response
38536// was returned at all) in error.(*googleapi.Error).Header. Use
38537// googleapi.IsNotModified to check whether the returned error was
38538// because http.StatusNotModified was returned.
38539func (c *PlacementGroupsListCall) Do(opts ...googleapi.CallOption) (*PlacementGroupsListResponse, error) {
38540	gensupport.SetOptions(c.urlParams_, opts...)
38541	res, err := c.doRequest("json")
38542	if res != nil && res.StatusCode == http.StatusNotModified {
38543		if res.Body != nil {
38544			res.Body.Close()
38545		}
38546		return nil, &googleapi.Error{
38547			Code:   res.StatusCode,
38548			Header: res.Header,
38549		}
38550	}
38551	if err != nil {
38552		return nil, err
38553	}
38554	defer googleapi.CloseBody(res)
38555	if err := googleapi.CheckResponse(res); err != nil {
38556		return nil, err
38557	}
38558	ret := &PlacementGroupsListResponse{
38559		ServerResponse: googleapi.ServerResponse{
38560			Header:         res.Header,
38561			HTTPStatusCode: res.StatusCode,
38562		},
38563	}
38564	target := &ret
38565	if err := gensupport.DecodeResponse(target, res); err != nil {
38566		return nil, err
38567	}
38568	return ret, nil
38569	// {
38570	//   "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
38571	//   "flatPath": "userprofiles/{profileId}/placementGroups",
38572	//   "httpMethod": "GET",
38573	//   "id": "dfareporting.placementGroups.list",
38574	//   "parameterOrder": [
38575	//     "profileId"
38576	//   ],
38577	//   "parameters": {
38578	//     "advertiserIds": {
38579	//       "description": "Select only placement groups that belong to these advertisers.",
38580	//       "format": "int64",
38581	//       "location": "query",
38582	//       "repeated": true,
38583	//       "type": "string"
38584	//     },
38585	//     "archived": {
38586	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
38587	//       "location": "query",
38588	//       "type": "boolean"
38589	//     },
38590	//     "campaignIds": {
38591	//       "description": "Select only placement groups that belong to these campaigns.",
38592	//       "format": "int64",
38593	//       "location": "query",
38594	//       "repeated": true,
38595	//       "type": "string"
38596	//     },
38597	//     "contentCategoryIds": {
38598	//       "description": "Select only placement groups that are associated with these content categories.",
38599	//       "format": "int64",
38600	//       "location": "query",
38601	//       "repeated": true,
38602	//       "type": "string"
38603	//     },
38604	//     "directorySiteIds": {
38605	//       "description": "Select only placement groups that are associated with these directory sites.",
38606	//       "format": "int64",
38607	//       "location": "query",
38608	//       "repeated": true,
38609	//       "type": "string"
38610	//     },
38611	//     "ids": {
38612	//       "description": "Select only placement groups with these IDs.",
38613	//       "format": "int64",
38614	//       "location": "query",
38615	//       "repeated": true,
38616	//       "type": "string"
38617	//     },
38618	//     "maxEndDate": {
38619	//       "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\".",
38620	//       "location": "query",
38621	//       "type": "string"
38622	//     },
38623	//     "maxResults": {
38624	//       "default": "800",
38625	//       "description": "Maximum number of results to return.",
38626	//       "format": "int32",
38627	//       "location": "query",
38628	//       "maximum": "800",
38629	//       "minimum": "0",
38630	//       "type": "integer"
38631	//     },
38632	//     "maxStartDate": {
38633	//       "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\".",
38634	//       "location": "query",
38635	//       "type": "string"
38636	//     },
38637	//     "minEndDate": {
38638	//       "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\".",
38639	//       "location": "query",
38640	//       "type": "string"
38641	//     },
38642	//     "minStartDate": {
38643	//       "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\".",
38644	//       "location": "query",
38645	//       "type": "string"
38646	//     },
38647	//     "pageToken": {
38648	//       "description": "Value of the nextPageToken from the previous result page.",
38649	//       "location": "query",
38650	//       "type": "string"
38651	//     },
38652	//     "placementGroupType": {
38653	//       "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.",
38654	//       "enum": [
38655	//         "PLACEMENT_PACKAGE",
38656	//         "PLACEMENT_ROADBLOCK"
38657	//       ],
38658	//       "enumDescriptions": [
38659	//         "",
38660	//         ""
38661	//       ],
38662	//       "location": "query",
38663	//       "type": "string"
38664	//     },
38665	//     "placementStrategyIds": {
38666	//       "description": "Select only placement groups that are associated with these placement strategies.",
38667	//       "format": "int64",
38668	//       "location": "query",
38669	//       "repeated": true,
38670	//       "type": "string"
38671	//     },
38672	//     "pricingTypes": {
38673	//       "description": "Select only placement groups with these pricing types.",
38674	//       "enum": [
38675	//         "PRICING_TYPE_CPM",
38676	//         "PRICING_TYPE_CPC",
38677	//         "PRICING_TYPE_CPA",
38678	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
38679	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
38680	//         "PRICING_TYPE_CPM_ACTIVEVIEW"
38681	//       ],
38682	//       "enumDescriptions": [
38683	//         "",
38684	//         "",
38685	//         "",
38686	//         "",
38687	//         "",
38688	//         ""
38689	//       ],
38690	//       "location": "query",
38691	//       "repeated": true,
38692	//       "type": "string"
38693	//     },
38694	//     "profileId": {
38695	//       "description": "User profile ID associated with this request.",
38696	//       "format": "int64",
38697	//       "location": "path",
38698	//       "required": true,
38699	//       "type": "string"
38700	//     },
38701	//     "searchString": {
38702	//       "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\".",
38703	//       "location": "query",
38704	//       "type": "string"
38705	//     },
38706	//     "siteIds": {
38707	//       "description": "Select only placement groups that are associated with these sites.",
38708	//       "format": "int64",
38709	//       "location": "query",
38710	//       "repeated": true,
38711	//       "type": "string"
38712	//     },
38713	//     "sortField": {
38714	//       "default": "ID",
38715	//       "description": "Field by which to sort the list.",
38716	//       "enum": [
38717	//         "ID",
38718	//         "NAME"
38719	//       ],
38720	//       "enumDescriptions": [
38721	//         "",
38722	//         ""
38723	//       ],
38724	//       "location": "query",
38725	//       "type": "string"
38726	//     },
38727	//     "sortOrder": {
38728	//       "default": "ASCENDING",
38729	//       "description": "Order of sorted results.",
38730	//       "enum": [
38731	//         "ASCENDING",
38732	//         "DESCENDING"
38733	//       ],
38734	//       "enumDescriptions": [
38735	//         "",
38736	//         ""
38737	//       ],
38738	//       "location": "query",
38739	//       "type": "string"
38740	//     }
38741	//   },
38742	//   "path": "userprofiles/{profileId}/placementGroups",
38743	//   "response": {
38744	//     "$ref": "PlacementGroupsListResponse"
38745	//   },
38746	//   "scopes": [
38747	//     "https://www.googleapis.com/auth/dfatrafficking"
38748	//   ]
38749	// }
38750
38751}
38752
38753// Pages invokes f for each page of results.
38754// A non-nil error returned from f will halt the iteration.
38755// The provided context supersedes any context provided to the Context method.
38756func (c *PlacementGroupsListCall) Pages(ctx context.Context, f func(*PlacementGroupsListResponse) error) error {
38757	c.ctx_ = ctx
38758	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
38759	for {
38760		x, err := c.Do()
38761		if err != nil {
38762			return err
38763		}
38764		if err := f(x); err != nil {
38765			return err
38766		}
38767		if x.NextPageToken == "" {
38768			return nil
38769		}
38770		c.PageToken(x.NextPageToken)
38771	}
38772}
38773
38774// method id "dfareporting.placementGroups.patch":
38775
38776type PlacementGroupsPatchCall struct {
38777	s              *Service
38778	profileId      int64
38779	placementgroup *PlacementGroup
38780	urlParams_     gensupport.URLParams
38781	ctx_           context.Context
38782	header_        http.Header
38783}
38784
38785// Patch: Updates an existing placement group. This method supports
38786// patch semantics.
38787//
38788// - id: PlacementGroup ID.
38789// - profileId: User profile ID associated with this request.
38790func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
38791	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38792	c.profileId = profileId
38793	c.urlParams_.Set("id", fmt.Sprint(id))
38794	c.placementgroup = placementgroup
38795	return c
38796}
38797
38798// Fields allows partial responses to be retrieved. See
38799// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38800// for more information.
38801func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
38802	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38803	return c
38804}
38805
38806// Context sets the context to be used in this call's Do method. Any
38807// pending HTTP request will be aborted if the provided context is
38808// canceled.
38809func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
38810	c.ctx_ = ctx
38811	return c
38812}
38813
38814// Header returns an http.Header that can be modified by the caller to
38815// add HTTP headers to the request.
38816func (c *PlacementGroupsPatchCall) Header() http.Header {
38817	if c.header_ == nil {
38818		c.header_ = make(http.Header)
38819	}
38820	return c.header_
38821}
38822
38823func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
38824	reqHeaders := make(http.Header)
38825	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
38826	for k, v := range c.header_ {
38827		reqHeaders[k] = v
38828	}
38829	reqHeaders.Set("User-Agent", c.s.userAgent())
38830	var body io.Reader = nil
38831	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
38832	if err != nil {
38833		return nil, err
38834	}
38835	reqHeaders.Set("Content-Type", "application/json")
38836	c.urlParams_.Set("alt", alt)
38837	c.urlParams_.Set("prettyPrint", "false")
38838	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38839	urls += "?" + c.urlParams_.Encode()
38840	req, err := http.NewRequest("PATCH", urls, body)
38841	if err != nil {
38842		return nil, err
38843	}
38844	req.Header = reqHeaders
38845	googleapi.Expand(req.URL, map[string]string{
38846		"profileId": strconv.FormatInt(c.profileId, 10),
38847	})
38848	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38849}
38850
38851// Do executes the "dfareporting.placementGroups.patch" call.
38852// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38853// status code is an error. Response headers are in either
38854// *PlacementGroup.ServerResponse.Header or (if a response was returned
38855// at all) in error.(*googleapi.Error).Header. Use
38856// googleapi.IsNotModified to check whether the returned error was
38857// because http.StatusNotModified was returned.
38858func (c *PlacementGroupsPatchCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38859	gensupport.SetOptions(c.urlParams_, opts...)
38860	res, err := c.doRequest("json")
38861	if res != nil && res.StatusCode == http.StatusNotModified {
38862		if res.Body != nil {
38863			res.Body.Close()
38864		}
38865		return nil, &googleapi.Error{
38866			Code:   res.StatusCode,
38867			Header: res.Header,
38868		}
38869	}
38870	if err != nil {
38871		return nil, err
38872	}
38873	defer googleapi.CloseBody(res)
38874	if err := googleapi.CheckResponse(res); err != nil {
38875		return nil, err
38876	}
38877	ret := &PlacementGroup{
38878		ServerResponse: googleapi.ServerResponse{
38879			Header:         res.Header,
38880			HTTPStatusCode: res.StatusCode,
38881		},
38882	}
38883	target := &ret
38884	if err := gensupport.DecodeResponse(target, res); err != nil {
38885		return nil, err
38886	}
38887	return ret, nil
38888	// {
38889	//   "description": "Updates an existing placement group. This method supports patch semantics.",
38890	//   "flatPath": "userprofiles/{profileId}/placementGroups",
38891	//   "httpMethod": "PATCH",
38892	//   "id": "dfareporting.placementGroups.patch",
38893	//   "parameterOrder": [
38894	//     "profileId",
38895	//     "id"
38896	//   ],
38897	//   "parameters": {
38898	//     "id": {
38899	//       "description": "PlacementGroup ID.",
38900	//       "format": "int64",
38901	//       "location": "query",
38902	//       "required": true,
38903	//       "type": "string"
38904	//     },
38905	//     "profileId": {
38906	//       "description": "User profile ID associated with this request.",
38907	//       "format": "int64",
38908	//       "location": "path",
38909	//       "required": true,
38910	//       "type": "string"
38911	//     }
38912	//   },
38913	//   "path": "userprofiles/{profileId}/placementGroups",
38914	//   "request": {
38915	//     "$ref": "PlacementGroup"
38916	//   },
38917	//   "response": {
38918	//     "$ref": "PlacementGroup"
38919	//   },
38920	//   "scopes": [
38921	//     "https://www.googleapis.com/auth/dfatrafficking"
38922	//   ]
38923	// }
38924
38925}
38926
38927// method id "dfareporting.placementGroups.update":
38928
38929type PlacementGroupsUpdateCall struct {
38930	s              *Service
38931	profileId      int64
38932	placementgroup *PlacementGroup
38933	urlParams_     gensupport.URLParams
38934	ctx_           context.Context
38935	header_        http.Header
38936}
38937
38938// Update: Updates an existing placement group.
38939//
38940// - profileId: User profile ID associated with this request.
38941func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
38942	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38943	c.profileId = profileId
38944	c.placementgroup = placementgroup
38945	return c
38946}
38947
38948// Fields allows partial responses to be retrieved. See
38949// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38950// for more information.
38951func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
38952	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38953	return c
38954}
38955
38956// Context sets the context to be used in this call's Do method. Any
38957// pending HTTP request will be aborted if the provided context is
38958// canceled.
38959func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
38960	c.ctx_ = ctx
38961	return c
38962}
38963
38964// Header returns an http.Header that can be modified by the caller to
38965// add HTTP headers to the request.
38966func (c *PlacementGroupsUpdateCall) Header() http.Header {
38967	if c.header_ == nil {
38968		c.header_ = make(http.Header)
38969	}
38970	return c.header_
38971}
38972
38973func (c *PlacementGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
38974	reqHeaders := make(http.Header)
38975	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
38976	for k, v := range c.header_ {
38977		reqHeaders[k] = v
38978	}
38979	reqHeaders.Set("User-Agent", c.s.userAgent())
38980	var body io.Reader = nil
38981	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
38982	if err != nil {
38983		return nil, err
38984	}
38985	reqHeaders.Set("Content-Type", "application/json")
38986	c.urlParams_.Set("alt", alt)
38987	c.urlParams_.Set("prettyPrint", "false")
38988	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38989	urls += "?" + c.urlParams_.Encode()
38990	req, err := http.NewRequest("PUT", urls, body)
38991	if err != nil {
38992		return nil, err
38993	}
38994	req.Header = reqHeaders
38995	googleapi.Expand(req.URL, map[string]string{
38996		"profileId": strconv.FormatInt(c.profileId, 10),
38997	})
38998	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38999}
39000
39001// Do executes the "dfareporting.placementGroups.update" call.
39002// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
39003// status code is an error. Response headers are in either
39004// *PlacementGroup.ServerResponse.Header or (if a response was returned
39005// at all) in error.(*googleapi.Error).Header. Use
39006// googleapi.IsNotModified to check whether the returned error was
39007// because http.StatusNotModified was returned.
39008func (c *PlacementGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
39009	gensupport.SetOptions(c.urlParams_, opts...)
39010	res, err := c.doRequest("json")
39011	if res != nil && res.StatusCode == http.StatusNotModified {
39012		if res.Body != nil {
39013			res.Body.Close()
39014		}
39015		return nil, &googleapi.Error{
39016			Code:   res.StatusCode,
39017			Header: res.Header,
39018		}
39019	}
39020	if err != nil {
39021		return nil, err
39022	}
39023	defer googleapi.CloseBody(res)
39024	if err := googleapi.CheckResponse(res); err != nil {
39025		return nil, err
39026	}
39027	ret := &PlacementGroup{
39028		ServerResponse: googleapi.ServerResponse{
39029			Header:         res.Header,
39030			HTTPStatusCode: res.StatusCode,
39031		},
39032	}
39033	target := &ret
39034	if err := gensupport.DecodeResponse(target, res); err != nil {
39035		return nil, err
39036	}
39037	return ret, nil
39038	// {
39039	//   "description": "Updates an existing placement group.",
39040	//   "flatPath": "userprofiles/{profileId}/placementGroups",
39041	//   "httpMethod": "PUT",
39042	//   "id": "dfareporting.placementGroups.update",
39043	//   "parameterOrder": [
39044	//     "profileId"
39045	//   ],
39046	//   "parameters": {
39047	//     "profileId": {
39048	//       "description": "User profile ID associated with this request.",
39049	//       "format": "int64",
39050	//       "location": "path",
39051	//       "required": true,
39052	//       "type": "string"
39053	//     }
39054	//   },
39055	//   "path": "userprofiles/{profileId}/placementGroups",
39056	//   "request": {
39057	//     "$ref": "PlacementGroup"
39058	//   },
39059	//   "response": {
39060	//     "$ref": "PlacementGroup"
39061	//   },
39062	//   "scopes": [
39063	//     "https://www.googleapis.com/auth/dfatrafficking"
39064	//   ]
39065	// }
39066
39067}
39068
39069// method id "dfareporting.placementStrategies.delete":
39070
39071type PlacementStrategiesDeleteCall struct {
39072	s          *Service
39073	profileId  int64
39074	id         int64
39075	urlParams_ gensupport.URLParams
39076	ctx_       context.Context
39077	header_    http.Header
39078}
39079
39080// Delete: Deletes an existing placement strategy.
39081//
39082// - id: Placement strategy ID.
39083// - profileId: User profile ID associated with this request.
39084func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
39085	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39086	c.profileId = profileId
39087	c.id = id
39088	return c
39089}
39090
39091// Fields allows partial responses to be retrieved. See
39092// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39093// for more information.
39094func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
39095	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39096	return c
39097}
39098
39099// Context sets the context to be used in this call's Do method. Any
39100// pending HTTP request will be aborted if the provided context is
39101// canceled.
39102func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
39103	c.ctx_ = ctx
39104	return c
39105}
39106
39107// Header returns an http.Header that can be modified by the caller to
39108// add HTTP headers to the request.
39109func (c *PlacementStrategiesDeleteCall) Header() http.Header {
39110	if c.header_ == nil {
39111		c.header_ = make(http.Header)
39112	}
39113	return c.header_
39114}
39115
39116func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
39117	reqHeaders := make(http.Header)
39118	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
39119	for k, v := range c.header_ {
39120		reqHeaders[k] = v
39121	}
39122	reqHeaders.Set("User-Agent", c.s.userAgent())
39123	var body io.Reader = nil
39124	c.urlParams_.Set("alt", alt)
39125	c.urlParams_.Set("prettyPrint", "false")
39126	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
39127	urls += "?" + c.urlParams_.Encode()
39128	req, err := http.NewRequest("DELETE", urls, body)
39129	if err != nil {
39130		return nil, err
39131	}
39132	req.Header = reqHeaders
39133	googleapi.Expand(req.URL, map[string]string{
39134		"profileId": strconv.FormatInt(c.profileId, 10),
39135		"id":        strconv.FormatInt(c.id, 10),
39136	})
39137	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39138}
39139
39140// Do executes the "dfareporting.placementStrategies.delete" call.
39141func (c *PlacementStrategiesDeleteCall) Do(opts ...googleapi.CallOption) error {
39142	gensupport.SetOptions(c.urlParams_, opts...)
39143	res, err := c.doRequest("json")
39144	if err != nil {
39145		return err
39146	}
39147	defer googleapi.CloseBody(res)
39148	if err := googleapi.CheckResponse(res); err != nil {
39149		return err
39150	}
39151	return nil
39152	// {
39153	//   "description": "Deletes an existing placement strategy.",
39154	//   "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
39155	//   "httpMethod": "DELETE",
39156	//   "id": "dfareporting.placementStrategies.delete",
39157	//   "parameterOrder": [
39158	//     "profileId",
39159	//     "id"
39160	//   ],
39161	//   "parameters": {
39162	//     "id": {
39163	//       "description": "Placement strategy ID.",
39164	//       "format": "int64",
39165	//       "location": "path",
39166	//       "required": true,
39167	//       "type": "string"
39168	//     },
39169	//     "profileId": {
39170	//       "description": "User profile ID associated with this request.",
39171	//       "format": "int64",
39172	//       "location": "path",
39173	//       "required": true,
39174	//       "type": "string"
39175	//     }
39176	//   },
39177	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
39178	//   "scopes": [
39179	//     "https://www.googleapis.com/auth/dfatrafficking"
39180	//   ]
39181	// }
39182
39183}
39184
39185// method id "dfareporting.placementStrategies.get":
39186
39187type PlacementStrategiesGetCall struct {
39188	s            *Service
39189	profileId    int64
39190	id           int64
39191	urlParams_   gensupport.URLParams
39192	ifNoneMatch_ string
39193	ctx_         context.Context
39194	header_      http.Header
39195}
39196
39197// Get: Gets one placement strategy by ID.
39198//
39199// - id: Placement strategy ID.
39200// - profileId: User profile ID associated with this request.
39201func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
39202	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39203	c.profileId = profileId
39204	c.id = id
39205	return c
39206}
39207
39208// Fields allows partial responses to be retrieved. See
39209// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39210// for more information.
39211func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
39212	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39213	return c
39214}
39215
39216// IfNoneMatch sets the optional parameter which makes the operation
39217// fail if the object's ETag matches the given value. This is useful for
39218// getting updates only after the object has changed since the last
39219// request. Use googleapi.IsNotModified to check whether the response
39220// error from Do is the result of In-None-Match.
39221func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
39222	c.ifNoneMatch_ = entityTag
39223	return c
39224}
39225
39226// Context sets the context to be used in this call's Do method. Any
39227// pending HTTP request will be aborted if the provided context is
39228// canceled.
39229func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
39230	c.ctx_ = ctx
39231	return c
39232}
39233
39234// Header returns an http.Header that can be modified by the caller to
39235// add HTTP headers to the request.
39236func (c *PlacementStrategiesGetCall) Header() http.Header {
39237	if c.header_ == nil {
39238		c.header_ = make(http.Header)
39239	}
39240	return c.header_
39241}
39242
39243func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
39244	reqHeaders := make(http.Header)
39245	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
39246	for k, v := range c.header_ {
39247		reqHeaders[k] = v
39248	}
39249	reqHeaders.Set("User-Agent", c.s.userAgent())
39250	if c.ifNoneMatch_ != "" {
39251		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
39252	}
39253	var body io.Reader = nil
39254	c.urlParams_.Set("alt", alt)
39255	c.urlParams_.Set("prettyPrint", "false")
39256	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
39257	urls += "?" + c.urlParams_.Encode()
39258	req, err := http.NewRequest("GET", urls, body)
39259	if err != nil {
39260		return nil, err
39261	}
39262	req.Header = reqHeaders
39263	googleapi.Expand(req.URL, map[string]string{
39264		"profileId": strconv.FormatInt(c.profileId, 10),
39265		"id":        strconv.FormatInt(c.id, 10),
39266	})
39267	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39268}
39269
39270// Do executes the "dfareporting.placementStrategies.get" call.
39271// Exactly one of *PlacementStrategy or error will be non-nil. Any
39272// non-2xx status code is an error. Response headers are in either
39273// *PlacementStrategy.ServerResponse.Header or (if a response was
39274// returned at all) in error.(*googleapi.Error).Header. Use
39275// googleapi.IsNotModified to check whether the returned error was
39276// because http.StatusNotModified was returned.
39277func (c *PlacementStrategiesGetCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39278	gensupport.SetOptions(c.urlParams_, opts...)
39279	res, err := c.doRequest("json")
39280	if res != nil && res.StatusCode == http.StatusNotModified {
39281		if res.Body != nil {
39282			res.Body.Close()
39283		}
39284		return nil, &googleapi.Error{
39285			Code:   res.StatusCode,
39286			Header: res.Header,
39287		}
39288	}
39289	if err != nil {
39290		return nil, err
39291	}
39292	defer googleapi.CloseBody(res)
39293	if err := googleapi.CheckResponse(res); err != nil {
39294		return nil, err
39295	}
39296	ret := &PlacementStrategy{
39297		ServerResponse: googleapi.ServerResponse{
39298			Header:         res.Header,
39299			HTTPStatusCode: res.StatusCode,
39300		},
39301	}
39302	target := &ret
39303	if err := gensupport.DecodeResponse(target, res); err != nil {
39304		return nil, err
39305	}
39306	return ret, nil
39307	// {
39308	//   "description": "Gets one placement strategy by ID.",
39309	//   "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
39310	//   "httpMethod": "GET",
39311	//   "id": "dfareporting.placementStrategies.get",
39312	//   "parameterOrder": [
39313	//     "profileId",
39314	//     "id"
39315	//   ],
39316	//   "parameters": {
39317	//     "id": {
39318	//       "description": "Placement strategy ID.",
39319	//       "format": "int64",
39320	//       "location": "path",
39321	//       "required": true,
39322	//       "type": "string"
39323	//     },
39324	//     "profileId": {
39325	//       "description": "User profile ID associated with this request.",
39326	//       "format": "int64",
39327	//       "location": "path",
39328	//       "required": true,
39329	//       "type": "string"
39330	//     }
39331	//   },
39332	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
39333	//   "response": {
39334	//     "$ref": "PlacementStrategy"
39335	//   },
39336	//   "scopes": [
39337	//     "https://www.googleapis.com/auth/dfatrafficking"
39338	//   ]
39339	// }
39340
39341}
39342
39343// method id "dfareporting.placementStrategies.insert":
39344
39345type PlacementStrategiesInsertCall struct {
39346	s                 *Service
39347	profileId         int64
39348	placementstrategy *PlacementStrategy
39349	urlParams_        gensupport.URLParams
39350	ctx_              context.Context
39351	header_           http.Header
39352}
39353
39354// Insert: Inserts a new placement strategy.
39355//
39356// - profileId: User profile ID associated with this request.
39357func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
39358	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39359	c.profileId = profileId
39360	c.placementstrategy = placementstrategy
39361	return c
39362}
39363
39364// Fields allows partial responses to be retrieved. See
39365// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39366// for more information.
39367func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
39368	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39369	return c
39370}
39371
39372// Context sets the context to be used in this call's Do method. Any
39373// pending HTTP request will be aborted if the provided context is
39374// canceled.
39375func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
39376	c.ctx_ = ctx
39377	return c
39378}
39379
39380// Header returns an http.Header that can be modified by the caller to
39381// add HTTP headers to the request.
39382func (c *PlacementStrategiesInsertCall) Header() http.Header {
39383	if c.header_ == nil {
39384		c.header_ = make(http.Header)
39385	}
39386	return c.header_
39387}
39388
39389func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
39390	reqHeaders := make(http.Header)
39391	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
39392	for k, v := range c.header_ {
39393		reqHeaders[k] = v
39394	}
39395	reqHeaders.Set("User-Agent", c.s.userAgent())
39396	var body io.Reader = nil
39397	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39398	if err != nil {
39399		return nil, err
39400	}
39401	reqHeaders.Set("Content-Type", "application/json")
39402	c.urlParams_.Set("alt", alt)
39403	c.urlParams_.Set("prettyPrint", "false")
39404	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39405	urls += "?" + c.urlParams_.Encode()
39406	req, err := http.NewRequest("POST", urls, body)
39407	if err != nil {
39408		return nil, err
39409	}
39410	req.Header = reqHeaders
39411	googleapi.Expand(req.URL, map[string]string{
39412		"profileId": strconv.FormatInt(c.profileId, 10),
39413	})
39414	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39415}
39416
39417// Do executes the "dfareporting.placementStrategies.insert" call.
39418// Exactly one of *PlacementStrategy or error will be non-nil. Any
39419// non-2xx status code is an error. Response headers are in either
39420// *PlacementStrategy.ServerResponse.Header or (if a response was
39421// returned at all) in error.(*googleapi.Error).Header. Use
39422// googleapi.IsNotModified to check whether the returned error was
39423// because http.StatusNotModified was returned.
39424func (c *PlacementStrategiesInsertCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39425	gensupport.SetOptions(c.urlParams_, opts...)
39426	res, err := c.doRequest("json")
39427	if res != nil && res.StatusCode == http.StatusNotModified {
39428		if res.Body != nil {
39429			res.Body.Close()
39430		}
39431		return nil, &googleapi.Error{
39432			Code:   res.StatusCode,
39433			Header: res.Header,
39434		}
39435	}
39436	if err != nil {
39437		return nil, err
39438	}
39439	defer googleapi.CloseBody(res)
39440	if err := googleapi.CheckResponse(res); err != nil {
39441		return nil, err
39442	}
39443	ret := &PlacementStrategy{
39444		ServerResponse: googleapi.ServerResponse{
39445			Header:         res.Header,
39446			HTTPStatusCode: res.StatusCode,
39447		},
39448	}
39449	target := &ret
39450	if err := gensupport.DecodeResponse(target, res); err != nil {
39451		return nil, err
39452	}
39453	return ret, nil
39454	// {
39455	//   "description": "Inserts a new placement strategy.",
39456	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
39457	//   "httpMethod": "POST",
39458	//   "id": "dfareporting.placementStrategies.insert",
39459	//   "parameterOrder": [
39460	//     "profileId"
39461	//   ],
39462	//   "parameters": {
39463	//     "profileId": {
39464	//       "description": "User profile ID associated with this request.",
39465	//       "format": "int64",
39466	//       "location": "path",
39467	//       "required": true,
39468	//       "type": "string"
39469	//     }
39470	//   },
39471	//   "path": "userprofiles/{profileId}/placementStrategies",
39472	//   "request": {
39473	//     "$ref": "PlacementStrategy"
39474	//   },
39475	//   "response": {
39476	//     "$ref": "PlacementStrategy"
39477	//   },
39478	//   "scopes": [
39479	//     "https://www.googleapis.com/auth/dfatrafficking"
39480	//   ]
39481	// }
39482
39483}
39484
39485// method id "dfareporting.placementStrategies.list":
39486
39487type PlacementStrategiesListCall struct {
39488	s            *Service
39489	profileId    int64
39490	urlParams_   gensupport.URLParams
39491	ifNoneMatch_ string
39492	ctx_         context.Context
39493	header_      http.Header
39494}
39495
39496// List: Retrieves a list of placement strategies, possibly filtered.
39497// This method supports paging.
39498//
39499// - profileId: User profile ID associated with this request.
39500func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
39501	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39502	c.profileId = profileId
39503	return c
39504}
39505
39506// Ids sets the optional parameter "ids": Select only placement
39507// strategies with these IDs.
39508func (c *PlacementStrategiesListCall) Ids(ids ...int64) *PlacementStrategiesListCall {
39509	var ids_ []string
39510	for _, v := range ids {
39511		ids_ = append(ids_, fmt.Sprint(v))
39512	}
39513	c.urlParams_.SetMulti("ids", ids_)
39514	return c
39515}
39516
39517// MaxResults sets the optional parameter "maxResults": Maximum number
39518// of results to return.
39519func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
39520	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
39521	return c
39522}
39523
39524// PageToken sets the optional parameter "pageToken": Value of the
39525// nextPageToken from the previous result page.
39526func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
39527	c.urlParams_.Set("pageToken", pageToken)
39528	return c
39529}
39530
39531// SearchString sets the optional parameter "searchString": Allows
39532// searching for objects by name or ID. Wildcards (*) are allowed. For
39533// example, "placementstrategy*2015" will return objects with names like
39534// "placementstrategy June 2015", "placementstrategy April 2015", or
39535// simply "placementstrategy 2015". Most of the searches also add
39536// wildcards implicitly at the start and the end of the search string.
39537// For example, a search string of "placementstrategy" will match
39538// objects with name "my placementstrategy", "placementstrategy 2015",
39539// or simply "placementstrategy".
39540func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
39541	c.urlParams_.Set("searchString", searchString)
39542	return c
39543}
39544
39545// SortField sets the optional parameter "sortField": Field by which to
39546// sort the list.
39547//
39548// Possible values:
39549//   "ID" (default)
39550//   "NAME"
39551func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
39552	c.urlParams_.Set("sortField", sortField)
39553	return c
39554}
39555
39556// SortOrder sets the optional parameter "sortOrder": Order of sorted
39557// results.
39558//
39559// Possible values:
39560//   "ASCENDING" (default)
39561//   "DESCENDING"
39562func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
39563	c.urlParams_.Set("sortOrder", sortOrder)
39564	return c
39565}
39566
39567// Fields allows partial responses to be retrieved. See
39568// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39569// for more information.
39570func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
39571	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39572	return c
39573}
39574
39575// IfNoneMatch sets the optional parameter which makes the operation
39576// fail if the object's ETag matches the given value. This is useful for
39577// getting updates only after the object has changed since the last
39578// request. Use googleapi.IsNotModified to check whether the response
39579// error from Do is the result of In-None-Match.
39580func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
39581	c.ifNoneMatch_ = entityTag
39582	return c
39583}
39584
39585// Context sets the context to be used in this call's Do method. Any
39586// pending HTTP request will be aborted if the provided context is
39587// canceled.
39588func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
39589	c.ctx_ = ctx
39590	return c
39591}
39592
39593// Header returns an http.Header that can be modified by the caller to
39594// add HTTP headers to the request.
39595func (c *PlacementStrategiesListCall) Header() http.Header {
39596	if c.header_ == nil {
39597		c.header_ = make(http.Header)
39598	}
39599	return c.header_
39600}
39601
39602func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
39603	reqHeaders := make(http.Header)
39604	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
39605	for k, v := range c.header_ {
39606		reqHeaders[k] = v
39607	}
39608	reqHeaders.Set("User-Agent", c.s.userAgent())
39609	if c.ifNoneMatch_ != "" {
39610		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
39611	}
39612	var body io.Reader = nil
39613	c.urlParams_.Set("alt", alt)
39614	c.urlParams_.Set("prettyPrint", "false")
39615	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39616	urls += "?" + c.urlParams_.Encode()
39617	req, err := http.NewRequest("GET", urls, body)
39618	if err != nil {
39619		return nil, err
39620	}
39621	req.Header = reqHeaders
39622	googleapi.Expand(req.URL, map[string]string{
39623		"profileId": strconv.FormatInt(c.profileId, 10),
39624	})
39625	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39626}
39627
39628// Do executes the "dfareporting.placementStrategies.list" call.
39629// Exactly one of *PlacementStrategiesListResponse or error will be
39630// non-nil. Any non-2xx status code is an error. Response headers are in
39631// either *PlacementStrategiesListResponse.ServerResponse.Header or (if
39632// a response was returned at all) in error.(*googleapi.Error).Header.
39633// Use googleapi.IsNotModified to check whether the returned error was
39634// because http.StatusNotModified was returned.
39635func (c *PlacementStrategiesListCall) Do(opts ...googleapi.CallOption) (*PlacementStrategiesListResponse, error) {
39636	gensupport.SetOptions(c.urlParams_, opts...)
39637	res, err := c.doRequest("json")
39638	if res != nil && res.StatusCode == http.StatusNotModified {
39639		if res.Body != nil {
39640			res.Body.Close()
39641		}
39642		return nil, &googleapi.Error{
39643			Code:   res.StatusCode,
39644			Header: res.Header,
39645		}
39646	}
39647	if err != nil {
39648		return nil, err
39649	}
39650	defer googleapi.CloseBody(res)
39651	if err := googleapi.CheckResponse(res); err != nil {
39652		return nil, err
39653	}
39654	ret := &PlacementStrategiesListResponse{
39655		ServerResponse: googleapi.ServerResponse{
39656			Header:         res.Header,
39657			HTTPStatusCode: res.StatusCode,
39658		},
39659	}
39660	target := &ret
39661	if err := gensupport.DecodeResponse(target, res); err != nil {
39662		return nil, err
39663	}
39664	return ret, nil
39665	// {
39666	//   "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
39667	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
39668	//   "httpMethod": "GET",
39669	//   "id": "dfareporting.placementStrategies.list",
39670	//   "parameterOrder": [
39671	//     "profileId"
39672	//   ],
39673	//   "parameters": {
39674	//     "ids": {
39675	//       "description": "Select only placement strategies with these IDs.",
39676	//       "format": "int64",
39677	//       "location": "query",
39678	//       "repeated": true,
39679	//       "type": "string"
39680	//     },
39681	//     "maxResults": {
39682	//       "default": "1000",
39683	//       "description": "Maximum number of results to return.",
39684	//       "format": "int32",
39685	//       "location": "query",
39686	//       "maximum": "1000",
39687	//       "minimum": "0",
39688	//       "type": "integer"
39689	//     },
39690	//     "pageToken": {
39691	//       "description": "Value of the nextPageToken from the previous result page.",
39692	//       "location": "query",
39693	//       "type": "string"
39694	//     },
39695	//     "profileId": {
39696	//       "description": "User profile ID associated with this request.",
39697	//       "format": "int64",
39698	//       "location": "path",
39699	//       "required": true,
39700	//       "type": "string"
39701	//     },
39702	//     "searchString": {
39703	//       "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\".",
39704	//       "location": "query",
39705	//       "type": "string"
39706	//     },
39707	//     "sortField": {
39708	//       "default": "ID",
39709	//       "description": "Field by which to sort the list.",
39710	//       "enum": [
39711	//         "ID",
39712	//         "NAME"
39713	//       ],
39714	//       "enumDescriptions": [
39715	//         "",
39716	//         ""
39717	//       ],
39718	//       "location": "query",
39719	//       "type": "string"
39720	//     },
39721	//     "sortOrder": {
39722	//       "default": "ASCENDING",
39723	//       "description": "Order of sorted results.",
39724	//       "enum": [
39725	//         "ASCENDING",
39726	//         "DESCENDING"
39727	//       ],
39728	//       "enumDescriptions": [
39729	//         "",
39730	//         ""
39731	//       ],
39732	//       "location": "query",
39733	//       "type": "string"
39734	//     }
39735	//   },
39736	//   "path": "userprofiles/{profileId}/placementStrategies",
39737	//   "response": {
39738	//     "$ref": "PlacementStrategiesListResponse"
39739	//   },
39740	//   "scopes": [
39741	//     "https://www.googleapis.com/auth/dfatrafficking"
39742	//   ]
39743	// }
39744
39745}
39746
39747// Pages invokes f for each page of results.
39748// A non-nil error returned from f will halt the iteration.
39749// The provided context supersedes any context provided to the Context method.
39750func (c *PlacementStrategiesListCall) Pages(ctx context.Context, f func(*PlacementStrategiesListResponse) error) error {
39751	c.ctx_ = ctx
39752	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
39753	for {
39754		x, err := c.Do()
39755		if err != nil {
39756			return err
39757		}
39758		if err := f(x); err != nil {
39759			return err
39760		}
39761		if x.NextPageToken == "" {
39762			return nil
39763		}
39764		c.PageToken(x.NextPageToken)
39765	}
39766}
39767
39768// method id "dfareporting.placementStrategies.patch":
39769
39770type PlacementStrategiesPatchCall struct {
39771	s                 *Service
39772	profileId         int64
39773	placementstrategy *PlacementStrategy
39774	urlParams_        gensupport.URLParams
39775	ctx_              context.Context
39776	header_           http.Header
39777}
39778
39779// Patch: Updates an existing placement strategy. This method supports
39780// patch semantics.
39781//
39782// - id: PlacementStrategy ID.
39783// - profileId: User profile ID associated with this request.
39784func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
39785	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39786	c.profileId = profileId
39787	c.urlParams_.Set("id", fmt.Sprint(id))
39788	c.placementstrategy = placementstrategy
39789	return c
39790}
39791
39792// Fields allows partial responses to be retrieved. See
39793// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39794// for more information.
39795func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
39796	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39797	return c
39798}
39799
39800// Context sets the context to be used in this call's Do method. Any
39801// pending HTTP request will be aborted if the provided context is
39802// canceled.
39803func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
39804	c.ctx_ = ctx
39805	return c
39806}
39807
39808// Header returns an http.Header that can be modified by the caller to
39809// add HTTP headers to the request.
39810func (c *PlacementStrategiesPatchCall) Header() http.Header {
39811	if c.header_ == nil {
39812		c.header_ = make(http.Header)
39813	}
39814	return c.header_
39815}
39816
39817func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
39818	reqHeaders := make(http.Header)
39819	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
39820	for k, v := range c.header_ {
39821		reqHeaders[k] = v
39822	}
39823	reqHeaders.Set("User-Agent", c.s.userAgent())
39824	var body io.Reader = nil
39825	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39826	if err != nil {
39827		return nil, err
39828	}
39829	reqHeaders.Set("Content-Type", "application/json")
39830	c.urlParams_.Set("alt", alt)
39831	c.urlParams_.Set("prettyPrint", "false")
39832	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39833	urls += "?" + c.urlParams_.Encode()
39834	req, err := http.NewRequest("PATCH", urls, body)
39835	if err != nil {
39836		return nil, err
39837	}
39838	req.Header = reqHeaders
39839	googleapi.Expand(req.URL, map[string]string{
39840		"profileId": strconv.FormatInt(c.profileId, 10),
39841	})
39842	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39843}
39844
39845// Do executes the "dfareporting.placementStrategies.patch" call.
39846// Exactly one of *PlacementStrategy or error will be non-nil. Any
39847// non-2xx status code is an error. Response headers are in either
39848// *PlacementStrategy.ServerResponse.Header or (if a response was
39849// returned at all) in error.(*googleapi.Error).Header. Use
39850// googleapi.IsNotModified to check whether the returned error was
39851// because http.StatusNotModified was returned.
39852func (c *PlacementStrategiesPatchCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39853	gensupport.SetOptions(c.urlParams_, opts...)
39854	res, err := c.doRequest("json")
39855	if res != nil && res.StatusCode == http.StatusNotModified {
39856		if res.Body != nil {
39857			res.Body.Close()
39858		}
39859		return nil, &googleapi.Error{
39860			Code:   res.StatusCode,
39861			Header: res.Header,
39862		}
39863	}
39864	if err != nil {
39865		return nil, err
39866	}
39867	defer googleapi.CloseBody(res)
39868	if err := googleapi.CheckResponse(res); err != nil {
39869		return nil, err
39870	}
39871	ret := &PlacementStrategy{
39872		ServerResponse: googleapi.ServerResponse{
39873			Header:         res.Header,
39874			HTTPStatusCode: res.StatusCode,
39875		},
39876	}
39877	target := &ret
39878	if err := gensupport.DecodeResponse(target, res); err != nil {
39879		return nil, err
39880	}
39881	return ret, nil
39882	// {
39883	//   "description": "Updates an existing placement strategy. This method supports patch semantics.",
39884	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
39885	//   "httpMethod": "PATCH",
39886	//   "id": "dfareporting.placementStrategies.patch",
39887	//   "parameterOrder": [
39888	//     "profileId",
39889	//     "id"
39890	//   ],
39891	//   "parameters": {
39892	//     "id": {
39893	//       "description": "PlacementStrategy ID.",
39894	//       "format": "int64",
39895	//       "location": "query",
39896	//       "required": true,
39897	//       "type": "string"
39898	//     },
39899	//     "profileId": {
39900	//       "description": "User profile ID associated with this request.",
39901	//       "format": "int64",
39902	//       "location": "path",
39903	//       "required": true,
39904	//       "type": "string"
39905	//     }
39906	//   },
39907	//   "path": "userprofiles/{profileId}/placementStrategies",
39908	//   "request": {
39909	//     "$ref": "PlacementStrategy"
39910	//   },
39911	//   "response": {
39912	//     "$ref": "PlacementStrategy"
39913	//   },
39914	//   "scopes": [
39915	//     "https://www.googleapis.com/auth/dfatrafficking"
39916	//   ]
39917	// }
39918
39919}
39920
39921// method id "dfareporting.placementStrategies.update":
39922
39923type PlacementStrategiesUpdateCall struct {
39924	s                 *Service
39925	profileId         int64
39926	placementstrategy *PlacementStrategy
39927	urlParams_        gensupport.URLParams
39928	ctx_              context.Context
39929	header_           http.Header
39930}
39931
39932// Update: Updates an existing placement strategy.
39933//
39934// - profileId: User profile ID associated with this request.
39935func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
39936	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39937	c.profileId = profileId
39938	c.placementstrategy = placementstrategy
39939	return c
39940}
39941
39942// Fields allows partial responses to be retrieved. See
39943// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39944// for more information.
39945func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
39946	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39947	return c
39948}
39949
39950// Context sets the context to be used in this call's Do method. Any
39951// pending HTTP request will be aborted if the provided context is
39952// canceled.
39953func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
39954	c.ctx_ = ctx
39955	return c
39956}
39957
39958// Header returns an http.Header that can be modified by the caller to
39959// add HTTP headers to the request.
39960func (c *PlacementStrategiesUpdateCall) Header() http.Header {
39961	if c.header_ == nil {
39962		c.header_ = make(http.Header)
39963	}
39964	return c.header_
39965}
39966
39967func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
39968	reqHeaders := make(http.Header)
39969	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
39970	for k, v := range c.header_ {
39971		reqHeaders[k] = v
39972	}
39973	reqHeaders.Set("User-Agent", c.s.userAgent())
39974	var body io.Reader = nil
39975	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39976	if err != nil {
39977		return nil, err
39978	}
39979	reqHeaders.Set("Content-Type", "application/json")
39980	c.urlParams_.Set("alt", alt)
39981	c.urlParams_.Set("prettyPrint", "false")
39982	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39983	urls += "?" + c.urlParams_.Encode()
39984	req, err := http.NewRequest("PUT", urls, body)
39985	if err != nil {
39986		return nil, err
39987	}
39988	req.Header = reqHeaders
39989	googleapi.Expand(req.URL, map[string]string{
39990		"profileId": strconv.FormatInt(c.profileId, 10),
39991	})
39992	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39993}
39994
39995// Do executes the "dfareporting.placementStrategies.update" call.
39996// Exactly one of *PlacementStrategy or error will be non-nil. Any
39997// non-2xx status code is an error. Response headers are in either
39998// *PlacementStrategy.ServerResponse.Header or (if a response was
39999// returned at all) in error.(*googleapi.Error).Header. Use
40000// googleapi.IsNotModified to check whether the returned error was
40001// because http.StatusNotModified was returned.
40002func (c *PlacementStrategiesUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
40003	gensupport.SetOptions(c.urlParams_, opts...)
40004	res, err := c.doRequest("json")
40005	if res != nil && res.StatusCode == http.StatusNotModified {
40006		if res.Body != nil {
40007			res.Body.Close()
40008		}
40009		return nil, &googleapi.Error{
40010			Code:   res.StatusCode,
40011			Header: res.Header,
40012		}
40013	}
40014	if err != nil {
40015		return nil, err
40016	}
40017	defer googleapi.CloseBody(res)
40018	if err := googleapi.CheckResponse(res); err != nil {
40019		return nil, err
40020	}
40021	ret := &PlacementStrategy{
40022		ServerResponse: googleapi.ServerResponse{
40023			Header:         res.Header,
40024			HTTPStatusCode: res.StatusCode,
40025		},
40026	}
40027	target := &ret
40028	if err := gensupport.DecodeResponse(target, res); err != nil {
40029		return nil, err
40030	}
40031	return ret, nil
40032	// {
40033	//   "description": "Updates an existing placement strategy.",
40034	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
40035	//   "httpMethod": "PUT",
40036	//   "id": "dfareporting.placementStrategies.update",
40037	//   "parameterOrder": [
40038	//     "profileId"
40039	//   ],
40040	//   "parameters": {
40041	//     "profileId": {
40042	//       "description": "User profile ID associated with this request.",
40043	//       "format": "int64",
40044	//       "location": "path",
40045	//       "required": true,
40046	//       "type": "string"
40047	//     }
40048	//   },
40049	//   "path": "userprofiles/{profileId}/placementStrategies",
40050	//   "request": {
40051	//     "$ref": "PlacementStrategy"
40052	//   },
40053	//   "response": {
40054	//     "$ref": "PlacementStrategy"
40055	//   },
40056	//   "scopes": [
40057	//     "https://www.googleapis.com/auth/dfatrafficking"
40058	//   ]
40059	// }
40060
40061}
40062
40063// method id "dfareporting.placements.generatetags":
40064
40065type PlacementsGeneratetagsCall struct {
40066	s          *Service
40067	profileId  int64
40068	urlParams_ gensupport.URLParams
40069	ctx_       context.Context
40070	header_    http.Header
40071}
40072
40073// Generatetags: Generates tags for a placement.
40074//
40075// - profileId: User profile ID associated with this request.
40076func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
40077	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40078	c.profileId = profileId
40079	return c
40080}
40081
40082// CampaignId sets the optional parameter "campaignId": Generate
40083// placements belonging to this campaign. This is a required field.
40084func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
40085	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
40086	return c
40087}
40088
40089// PlacementIds sets the optional parameter "placementIds": Generate
40090// tags for these placements.
40091func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *PlacementsGeneratetagsCall {
40092	var placementIds_ []string
40093	for _, v := range placementIds {
40094		placementIds_ = append(placementIds_, fmt.Sprint(v))
40095	}
40096	c.urlParams_.SetMulti("placementIds", placementIds_)
40097	return c
40098}
40099
40100// TagFormats sets the optional parameter "tagFormats": Tag formats to
40101// generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can
40102// only be generated for 1x1 placements.
40103//
40104// Possible values:
40105//   "PLACEMENT_TAG_STANDARD"
40106//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
40107//   "PLACEMENT_TAG_IFRAME_ILAYER"
40108//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
40109//   "PLACEMENT_TAG_JAVASCRIPT"
40110//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
40111//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
40112//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
40113//   "PLACEMENT_TAG_CLICK_COMMANDS"
40114//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
40115//   "PLACEMENT_TAG_TRACKING"
40116//   "PLACEMENT_TAG_TRACKING_IFRAME"
40117//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
40118//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
40119//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
40120//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
40121//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
40122//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
40123//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
40124func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats ...string) *PlacementsGeneratetagsCall {
40125	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
40126	return c
40127}
40128
40129// Fields allows partial responses to be retrieved. See
40130// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40131// for more information.
40132func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
40133	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40134	return c
40135}
40136
40137// Context sets the context to be used in this call's Do method. Any
40138// pending HTTP request will be aborted if the provided context is
40139// canceled.
40140func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
40141	c.ctx_ = ctx
40142	return c
40143}
40144
40145// Header returns an http.Header that can be modified by the caller to
40146// add HTTP headers to the request.
40147func (c *PlacementsGeneratetagsCall) Header() http.Header {
40148	if c.header_ == nil {
40149		c.header_ = make(http.Header)
40150	}
40151	return c.header_
40152}
40153
40154func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
40155	reqHeaders := make(http.Header)
40156	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
40157	for k, v := range c.header_ {
40158		reqHeaders[k] = v
40159	}
40160	reqHeaders.Set("User-Agent", c.s.userAgent())
40161	var body io.Reader = nil
40162	c.urlParams_.Set("alt", alt)
40163	c.urlParams_.Set("prettyPrint", "false")
40164	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
40165	urls += "?" + c.urlParams_.Encode()
40166	req, err := http.NewRequest("POST", urls, body)
40167	if err != nil {
40168		return nil, err
40169	}
40170	req.Header = reqHeaders
40171	googleapi.Expand(req.URL, map[string]string{
40172		"profileId": strconv.FormatInt(c.profileId, 10),
40173	})
40174	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40175}
40176
40177// Do executes the "dfareporting.placements.generatetags" call.
40178// Exactly one of *PlacementsGenerateTagsResponse or error will be
40179// non-nil. Any non-2xx status code is an error. Response headers are in
40180// either *PlacementsGenerateTagsResponse.ServerResponse.Header or (if a
40181// response was returned at all) in error.(*googleapi.Error).Header. Use
40182// googleapi.IsNotModified to check whether the returned error was
40183// because http.StatusNotModified was returned.
40184func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*PlacementsGenerateTagsResponse, error) {
40185	gensupport.SetOptions(c.urlParams_, opts...)
40186	res, err := c.doRequest("json")
40187	if res != nil && res.StatusCode == http.StatusNotModified {
40188		if res.Body != nil {
40189			res.Body.Close()
40190		}
40191		return nil, &googleapi.Error{
40192			Code:   res.StatusCode,
40193			Header: res.Header,
40194		}
40195	}
40196	if err != nil {
40197		return nil, err
40198	}
40199	defer googleapi.CloseBody(res)
40200	if err := googleapi.CheckResponse(res); err != nil {
40201		return nil, err
40202	}
40203	ret := &PlacementsGenerateTagsResponse{
40204		ServerResponse: googleapi.ServerResponse{
40205			Header:         res.Header,
40206			HTTPStatusCode: res.StatusCode,
40207		},
40208	}
40209	target := &ret
40210	if err := gensupport.DecodeResponse(target, res); err != nil {
40211		return nil, err
40212	}
40213	return ret, nil
40214	// {
40215	//   "description": "Generates tags for a placement.",
40216	//   "flatPath": "userprofiles/{profileId}/placements/generatetags",
40217	//   "httpMethod": "POST",
40218	//   "id": "dfareporting.placements.generatetags",
40219	//   "parameterOrder": [
40220	//     "profileId"
40221	//   ],
40222	//   "parameters": {
40223	//     "campaignId": {
40224	//       "description": "Generate placements belonging to this campaign. This is a required field.",
40225	//       "format": "int64",
40226	//       "location": "query",
40227	//       "type": "string"
40228	//     },
40229	//     "placementIds": {
40230	//       "description": "Generate tags for these placements.",
40231	//       "format": "int64",
40232	//       "location": "query",
40233	//       "repeated": true,
40234	//       "type": "string"
40235	//     },
40236	//     "profileId": {
40237	//       "description": "User profile ID associated with this request.",
40238	//       "format": "int64",
40239	//       "location": "path",
40240	//       "required": true,
40241	//       "type": "string"
40242	//     },
40243	//     "tagFormats": {
40244	//       "description": "Tag formats to generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
40245	//       "enum": [
40246	//         "PLACEMENT_TAG_STANDARD",
40247	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
40248	//         "PLACEMENT_TAG_IFRAME_ILAYER",
40249	//         "PLACEMENT_TAG_INTERNAL_REDIRECT",
40250	//         "PLACEMENT_TAG_JAVASCRIPT",
40251	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
40252	//         "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
40253	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
40254	//         "PLACEMENT_TAG_CLICK_COMMANDS",
40255	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
40256	//         "PLACEMENT_TAG_TRACKING",
40257	//         "PLACEMENT_TAG_TRACKING_IFRAME",
40258	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT",
40259	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
40260	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
40261	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
40262	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
40263	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
40264	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
40265	//       ],
40266	//       "enumDescriptions": [
40267	//         "",
40268	//         "",
40269	//         "",
40270	//         "",
40271	//         "",
40272	//         "",
40273	//         "",
40274	//         "",
40275	//         "",
40276	//         "",
40277	//         "",
40278	//         "",
40279	//         "",
40280	//         "",
40281	//         "",
40282	//         "",
40283	//         "",
40284	//         "",
40285	//         ""
40286	//       ],
40287	//       "location": "query",
40288	//       "repeated": true,
40289	//       "type": "string"
40290	//     }
40291	//   },
40292	//   "path": "userprofiles/{profileId}/placements/generatetags",
40293	//   "response": {
40294	//     "$ref": "PlacementsGenerateTagsResponse"
40295	//   },
40296	//   "scopes": [
40297	//     "https://www.googleapis.com/auth/dfatrafficking"
40298	//   ]
40299	// }
40300
40301}
40302
40303// method id "dfareporting.placements.get":
40304
40305type PlacementsGetCall struct {
40306	s            *Service
40307	profileId    int64
40308	id           int64
40309	urlParams_   gensupport.URLParams
40310	ifNoneMatch_ string
40311	ctx_         context.Context
40312	header_      http.Header
40313}
40314
40315// Get: Gets one placement by ID.
40316//
40317// - id: Placement ID.
40318// - profileId: User profile ID associated with this request.
40319func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
40320	c := &PlacementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40321	c.profileId = profileId
40322	c.id = id
40323	return c
40324}
40325
40326// Fields allows partial responses to be retrieved. See
40327// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40328// for more information.
40329func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
40330	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40331	return c
40332}
40333
40334// IfNoneMatch sets the optional parameter which makes the operation
40335// fail if the object's ETag matches the given value. This is useful for
40336// getting updates only after the object has changed since the last
40337// request. Use googleapi.IsNotModified to check whether the response
40338// error from Do is the result of In-None-Match.
40339func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
40340	c.ifNoneMatch_ = entityTag
40341	return c
40342}
40343
40344// Context sets the context to be used in this call's Do method. Any
40345// pending HTTP request will be aborted if the provided context is
40346// canceled.
40347func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
40348	c.ctx_ = ctx
40349	return c
40350}
40351
40352// Header returns an http.Header that can be modified by the caller to
40353// add HTTP headers to the request.
40354func (c *PlacementsGetCall) Header() http.Header {
40355	if c.header_ == nil {
40356		c.header_ = make(http.Header)
40357	}
40358	return c.header_
40359}
40360
40361func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
40362	reqHeaders := make(http.Header)
40363	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
40364	for k, v := range c.header_ {
40365		reqHeaders[k] = v
40366	}
40367	reqHeaders.Set("User-Agent", c.s.userAgent())
40368	if c.ifNoneMatch_ != "" {
40369		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40370	}
40371	var body io.Reader = nil
40372	c.urlParams_.Set("alt", alt)
40373	c.urlParams_.Set("prettyPrint", "false")
40374	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
40375	urls += "?" + c.urlParams_.Encode()
40376	req, err := http.NewRequest("GET", urls, body)
40377	if err != nil {
40378		return nil, err
40379	}
40380	req.Header = reqHeaders
40381	googleapi.Expand(req.URL, map[string]string{
40382		"profileId": strconv.FormatInt(c.profileId, 10),
40383		"id":        strconv.FormatInt(c.id, 10),
40384	})
40385	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40386}
40387
40388// Do executes the "dfareporting.placements.get" call.
40389// Exactly one of *Placement or error will be non-nil. Any non-2xx
40390// status code is an error. Response headers are in either
40391// *Placement.ServerResponse.Header or (if a response was returned at
40392// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40393// to check whether the returned error was because
40394// http.StatusNotModified was returned.
40395func (c *PlacementsGetCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40396	gensupport.SetOptions(c.urlParams_, opts...)
40397	res, err := c.doRequest("json")
40398	if res != nil && res.StatusCode == http.StatusNotModified {
40399		if res.Body != nil {
40400			res.Body.Close()
40401		}
40402		return nil, &googleapi.Error{
40403			Code:   res.StatusCode,
40404			Header: res.Header,
40405		}
40406	}
40407	if err != nil {
40408		return nil, err
40409	}
40410	defer googleapi.CloseBody(res)
40411	if err := googleapi.CheckResponse(res); err != nil {
40412		return nil, err
40413	}
40414	ret := &Placement{
40415		ServerResponse: googleapi.ServerResponse{
40416			Header:         res.Header,
40417			HTTPStatusCode: res.StatusCode,
40418		},
40419	}
40420	target := &ret
40421	if err := gensupport.DecodeResponse(target, res); err != nil {
40422		return nil, err
40423	}
40424	return ret, nil
40425	// {
40426	//   "description": "Gets one placement by ID.",
40427	//   "flatPath": "userprofiles/{profileId}/placements/{id}",
40428	//   "httpMethod": "GET",
40429	//   "id": "dfareporting.placements.get",
40430	//   "parameterOrder": [
40431	//     "profileId",
40432	//     "id"
40433	//   ],
40434	//   "parameters": {
40435	//     "id": {
40436	//       "description": "Placement ID.",
40437	//       "format": "int64",
40438	//       "location": "path",
40439	//       "required": true,
40440	//       "type": "string"
40441	//     },
40442	//     "profileId": {
40443	//       "description": "User profile ID associated with this request.",
40444	//       "format": "int64",
40445	//       "location": "path",
40446	//       "required": true,
40447	//       "type": "string"
40448	//     }
40449	//   },
40450	//   "path": "userprofiles/{profileId}/placements/{id}",
40451	//   "response": {
40452	//     "$ref": "Placement"
40453	//   },
40454	//   "scopes": [
40455	//     "https://www.googleapis.com/auth/dfatrafficking"
40456	//   ]
40457	// }
40458
40459}
40460
40461// method id "dfareporting.placements.insert":
40462
40463type PlacementsInsertCall struct {
40464	s          *Service
40465	profileId  int64
40466	placement  *Placement
40467	urlParams_ gensupport.URLParams
40468	ctx_       context.Context
40469	header_    http.Header
40470}
40471
40472// Insert: Inserts a new placement.
40473//
40474// - profileId: User profile ID associated with this request.
40475func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
40476	c := &PlacementsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40477	c.profileId = profileId
40478	c.placement = placement
40479	return c
40480}
40481
40482// Fields allows partial responses to be retrieved. See
40483// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40484// for more information.
40485func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
40486	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40487	return c
40488}
40489
40490// Context sets the context to be used in this call's Do method. Any
40491// pending HTTP request will be aborted if the provided context is
40492// canceled.
40493func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
40494	c.ctx_ = ctx
40495	return c
40496}
40497
40498// Header returns an http.Header that can be modified by the caller to
40499// add HTTP headers to the request.
40500func (c *PlacementsInsertCall) Header() http.Header {
40501	if c.header_ == nil {
40502		c.header_ = make(http.Header)
40503	}
40504	return c.header_
40505}
40506
40507func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
40508	reqHeaders := make(http.Header)
40509	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
40510	for k, v := range c.header_ {
40511		reqHeaders[k] = v
40512	}
40513	reqHeaders.Set("User-Agent", c.s.userAgent())
40514	var body io.Reader = nil
40515	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
40516	if err != nil {
40517		return nil, err
40518	}
40519	reqHeaders.Set("Content-Type", "application/json")
40520	c.urlParams_.Set("alt", alt)
40521	c.urlParams_.Set("prettyPrint", "false")
40522	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40523	urls += "?" + c.urlParams_.Encode()
40524	req, err := http.NewRequest("POST", urls, body)
40525	if err != nil {
40526		return nil, err
40527	}
40528	req.Header = reqHeaders
40529	googleapi.Expand(req.URL, map[string]string{
40530		"profileId": strconv.FormatInt(c.profileId, 10),
40531	})
40532	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40533}
40534
40535// Do executes the "dfareporting.placements.insert" call.
40536// Exactly one of *Placement or error will be non-nil. Any non-2xx
40537// status code is an error. Response headers are in either
40538// *Placement.ServerResponse.Header or (if a response was returned at
40539// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40540// to check whether the returned error was because
40541// http.StatusNotModified was returned.
40542func (c *PlacementsInsertCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40543	gensupport.SetOptions(c.urlParams_, opts...)
40544	res, err := c.doRequest("json")
40545	if res != nil && res.StatusCode == http.StatusNotModified {
40546		if res.Body != nil {
40547			res.Body.Close()
40548		}
40549		return nil, &googleapi.Error{
40550			Code:   res.StatusCode,
40551			Header: res.Header,
40552		}
40553	}
40554	if err != nil {
40555		return nil, err
40556	}
40557	defer googleapi.CloseBody(res)
40558	if err := googleapi.CheckResponse(res); err != nil {
40559		return nil, err
40560	}
40561	ret := &Placement{
40562		ServerResponse: googleapi.ServerResponse{
40563			Header:         res.Header,
40564			HTTPStatusCode: res.StatusCode,
40565		},
40566	}
40567	target := &ret
40568	if err := gensupport.DecodeResponse(target, res); err != nil {
40569		return nil, err
40570	}
40571	return ret, nil
40572	// {
40573	//   "description": "Inserts a new placement.",
40574	//   "flatPath": "userprofiles/{profileId}/placements",
40575	//   "httpMethod": "POST",
40576	//   "id": "dfareporting.placements.insert",
40577	//   "parameterOrder": [
40578	//     "profileId"
40579	//   ],
40580	//   "parameters": {
40581	//     "profileId": {
40582	//       "description": "User profile ID associated with this request.",
40583	//       "format": "int64",
40584	//       "location": "path",
40585	//       "required": true,
40586	//       "type": "string"
40587	//     }
40588	//   },
40589	//   "path": "userprofiles/{profileId}/placements",
40590	//   "request": {
40591	//     "$ref": "Placement"
40592	//   },
40593	//   "response": {
40594	//     "$ref": "Placement"
40595	//   },
40596	//   "scopes": [
40597	//     "https://www.googleapis.com/auth/dfatrafficking"
40598	//   ]
40599	// }
40600
40601}
40602
40603// method id "dfareporting.placements.list":
40604
40605type PlacementsListCall struct {
40606	s            *Service
40607	profileId    int64
40608	urlParams_   gensupport.URLParams
40609	ifNoneMatch_ string
40610	ctx_         context.Context
40611	header_      http.Header
40612}
40613
40614// List: Retrieves a list of placements, possibly filtered. This method
40615// supports paging.
40616//
40617// - profileId: User profile ID associated with this request.
40618func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
40619	c := &PlacementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40620	c.profileId = profileId
40621	return c
40622}
40623
40624// AdvertiserIds sets the optional parameter "advertiserIds": Select
40625// only placements that belong to these advertisers.
40626func (c *PlacementsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementsListCall {
40627	var advertiserIds_ []string
40628	for _, v := range advertiserIds {
40629		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
40630	}
40631	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
40632	return c
40633}
40634
40635// Archived sets the optional parameter "archived": Select only archived
40636// placements. Don't set this field to select both archived and
40637// non-archived placements.
40638func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
40639	c.urlParams_.Set("archived", fmt.Sprint(archived))
40640	return c
40641}
40642
40643// CampaignIds sets the optional parameter "campaignIds": Select only
40644// placements that belong to these campaigns.
40645func (c *PlacementsListCall) CampaignIds(campaignIds ...int64) *PlacementsListCall {
40646	var campaignIds_ []string
40647	for _, v := range campaignIds {
40648		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
40649	}
40650	c.urlParams_.SetMulti("campaignIds", campaignIds_)
40651	return c
40652}
40653
40654// Compatibilities sets the optional parameter "compatibilities": Select
40655// only placements that are associated with these compatibilities.
40656// DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
40657// or on mobile devices for regular or interstitial ads respectively.
40658// APP and APP_INTERSTITIAL are for rendering in mobile apps.
40659// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
40660// with the VAST standard.
40661//
40662// Possible values:
40663//   "DISPLAY"
40664//   "DISPLAY_INTERSTITIAL"
40665//   "APP"
40666//   "APP_INTERSTITIAL"
40667//   "IN_STREAM_VIDEO"
40668//   "IN_STREAM_AUDIO"
40669func (c *PlacementsListCall) Compatibilities(compatibilities ...string) *PlacementsListCall {
40670	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
40671	return c
40672}
40673
40674// ContentCategoryIds sets the optional parameter "contentCategoryIds":
40675// Select only placements that are associated with these content
40676// categories.
40677func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementsListCall {
40678	var contentCategoryIds_ []string
40679	for _, v := range contentCategoryIds {
40680		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
40681	}
40682	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
40683	return c
40684}
40685
40686// DirectorySiteIds sets the optional parameter "directorySiteIds":
40687// Select only placements that are associated with these directory
40688// sites.
40689func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementsListCall {
40690	var directorySiteIds_ []string
40691	for _, v := range directorySiteIds {
40692		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
40693	}
40694	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
40695	return c
40696}
40697
40698// GroupIds sets the optional parameter "groupIds": Select only
40699// placements that belong to these placement groups.
40700func (c *PlacementsListCall) GroupIds(groupIds ...int64) *PlacementsListCall {
40701	var groupIds_ []string
40702	for _, v := range groupIds {
40703		groupIds_ = append(groupIds_, fmt.Sprint(v))
40704	}
40705	c.urlParams_.SetMulti("groupIds", groupIds_)
40706	return c
40707}
40708
40709// Ids sets the optional parameter "ids": Select only placements with
40710// these IDs.
40711func (c *PlacementsListCall) Ids(ids ...int64) *PlacementsListCall {
40712	var ids_ []string
40713	for _, v := range ids {
40714		ids_ = append(ids_, fmt.Sprint(v))
40715	}
40716	c.urlParams_.SetMulti("ids", ids_)
40717	return c
40718}
40719
40720// MaxEndDate sets the optional parameter "maxEndDate": Select only
40721// placements or placement groups whose end date is on or before the
40722// specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
40723func (c *PlacementsListCall) MaxEndDate(maxEndDate string) *PlacementsListCall {
40724	c.urlParams_.Set("maxEndDate", maxEndDate)
40725	return c
40726}
40727
40728// MaxResults sets the optional parameter "maxResults": Maximum number
40729// of results to return.
40730func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
40731	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
40732	return c
40733}
40734
40735// MaxStartDate sets the optional parameter "maxStartDate": Select only
40736// placements or placement groups whose start date is on or before the
40737// specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
40738func (c *PlacementsListCall) MaxStartDate(maxStartDate string) *PlacementsListCall {
40739	c.urlParams_.Set("maxStartDate", maxStartDate)
40740	return c
40741}
40742
40743// MinEndDate sets the optional parameter "minEndDate": Select only
40744// placements or placement groups whose end date is on or after the
40745// specified minEndDate. The date should be formatted as "yyyy-MM-dd".
40746func (c *PlacementsListCall) MinEndDate(minEndDate string) *PlacementsListCall {
40747	c.urlParams_.Set("minEndDate", minEndDate)
40748	return c
40749}
40750
40751// MinStartDate sets the optional parameter "minStartDate": Select only
40752// placements or placement groups whose start date is on or after the
40753// specified minStartDate. The date should be formatted as "yyyy-MM-dd".
40754func (c *PlacementsListCall) MinStartDate(minStartDate string) *PlacementsListCall {
40755	c.urlParams_.Set("minStartDate", minStartDate)
40756	return c
40757}
40758
40759// PageToken sets the optional parameter "pageToken": Value of the
40760// nextPageToken from the previous result page.
40761func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
40762	c.urlParams_.Set("pageToken", pageToken)
40763	return c
40764}
40765
40766// PaymentSource sets the optional parameter "paymentSource": Select
40767// only placements with this payment source.
40768//
40769// Possible values:
40770//   "PLACEMENT_AGENCY_PAID"
40771//   "PLACEMENT_PUBLISHER_PAID"
40772func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
40773	c.urlParams_.Set("paymentSource", paymentSource)
40774	return c
40775}
40776
40777// PlacementStrategyIds sets the optional parameter
40778// "placementStrategyIds": Select only placements that are associated
40779// with these placement strategies.
40780func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementsListCall {
40781	var placementStrategyIds_ []string
40782	for _, v := range placementStrategyIds {
40783		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
40784	}
40785	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
40786	return c
40787}
40788
40789// PricingTypes sets the optional parameter "pricingTypes": Select only
40790// placements with these pricing types.
40791//
40792// Possible values:
40793//   "PRICING_TYPE_CPM"
40794//   "PRICING_TYPE_CPC"
40795//   "PRICING_TYPE_CPA"
40796//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
40797//   "PRICING_TYPE_FLAT_RATE_CLICKS"
40798//   "PRICING_TYPE_CPM_ACTIVEVIEW"
40799func (c *PlacementsListCall) PricingTypes(pricingTypes ...string) *PlacementsListCall {
40800	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
40801	return c
40802}
40803
40804// SearchString sets the optional parameter "searchString": Allows
40805// searching for placements by name or ID. Wildcards (*) are allowed.
40806// For example, "placement*2015" will return placements with names like
40807// "placement June 2015", "placement May 2015", or simply "placements
40808// 2015". Most of the searches also add wildcards implicitly at the
40809// start and the end of the search string. For example, a search string
40810// of "placement" will match placements with name "my placement",
40811// "placement 2015", or simply "placement" .
40812func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
40813	c.urlParams_.Set("searchString", searchString)
40814	return c
40815}
40816
40817// SiteIds sets the optional parameter "siteIds": Select only placements
40818// that are associated with these sites.
40819func (c *PlacementsListCall) SiteIds(siteIds ...int64) *PlacementsListCall {
40820	var siteIds_ []string
40821	for _, v := range siteIds {
40822		siteIds_ = append(siteIds_, fmt.Sprint(v))
40823	}
40824	c.urlParams_.SetMulti("siteIds", siteIds_)
40825	return c
40826}
40827
40828// SizeIds sets the optional parameter "sizeIds": Select only placements
40829// that are associated with these sizes.
40830func (c *PlacementsListCall) SizeIds(sizeIds ...int64) *PlacementsListCall {
40831	var sizeIds_ []string
40832	for _, v := range sizeIds {
40833		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
40834	}
40835	c.urlParams_.SetMulti("sizeIds", sizeIds_)
40836	return c
40837}
40838
40839// SortField sets the optional parameter "sortField": Field by which to
40840// sort the list.
40841//
40842// Possible values:
40843//   "ID" (default)
40844//   "NAME"
40845func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
40846	c.urlParams_.Set("sortField", sortField)
40847	return c
40848}
40849
40850// SortOrder sets the optional parameter "sortOrder": Order of sorted
40851// results.
40852//
40853// Possible values:
40854//   "ASCENDING" (default)
40855//   "DESCENDING"
40856func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
40857	c.urlParams_.Set("sortOrder", sortOrder)
40858	return c
40859}
40860
40861// Fields allows partial responses to be retrieved. See
40862// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40863// for more information.
40864func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
40865	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40866	return c
40867}
40868
40869// IfNoneMatch sets the optional parameter which makes the operation
40870// fail if the object's ETag matches the given value. This is useful for
40871// getting updates only after the object has changed since the last
40872// request. Use googleapi.IsNotModified to check whether the response
40873// error from Do is the result of In-None-Match.
40874func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
40875	c.ifNoneMatch_ = entityTag
40876	return c
40877}
40878
40879// Context sets the context to be used in this call's Do method. Any
40880// pending HTTP request will be aborted if the provided context is
40881// canceled.
40882func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
40883	c.ctx_ = ctx
40884	return c
40885}
40886
40887// Header returns an http.Header that can be modified by the caller to
40888// add HTTP headers to the request.
40889func (c *PlacementsListCall) Header() http.Header {
40890	if c.header_ == nil {
40891		c.header_ = make(http.Header)
40892	}
40893	return c.header_
40894}
40895
40896func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
40897	reqHeaders := make(http.Header)
40898	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
40899	for k, v := range c.header_ {
40900		reqHeaders[k] = v
40901	}
40902	reqHeaders.Set("User-Agent", c.s.userAgent())
40903	if c.ifNoneMatch_ != "" {
40904		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40905	}
40906	var body io.Reader = nil
40907	c.urlParams_.Set("alt", alt)
40908	c.urlParams_.Set("prettyPrint", "false")
40909	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40910	urls += "?" + c.urlParams_.Encode()
40911	req, err := http.NewRequest("GET", urls, body)
40912	if err != nil {
40913		return nil, err
40914	}
40915	req.Header = reqHeaders
40916	googleapi.Expand(req.URL, map[string]string{
40917		"profileId": strconv.FormatInt(c.profileId, 10),
40918	})
40919	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40920}
40921
40922// Do executes the "dfareporting.placements.list" call.
40923// Exactly one of *PlacementsListResponse or error will be non-nil. Any
40924// non-2xx status code is an error. Response headers are in either
40925// *PlacementsListResponse.ServerResponse.Header or (if a response was
40926// returned at all) in error.(*googleapi.Error).Header. Use
40927// googleapi.IsNotModified to check whether the returned error was
40928// because http.StatusNotModified was returned.
40929func (c *PlacementsListCall) Do(opts ...googleapi.CallOption) (*PlacementsListResponse, error) {
40930	gensupport.SetOptions(c.urlParams_, opts...)
40931	res, err := c.doRequest("json")
40932	if res != nil && res.StatusCode == http.StatusNotModified {
40933		if res.Body != nil {
40934			res.Body.Close()
40935		}
40936		return nil, &googleapi.Error{
40937			Code:   res.StatusCode,
40938			Header: res.Header,
40939		}
40940	}
40941	if err != nil {
40942		return nil, err
40943	}
40944	defer googleapi.CloseBody(res)
40945	if err := googleapi.CheckResponse(res); err != nil {
40946		return nil, err
40947	}
40948	ret := &PlacementsListResponse{
40949		ServerResponse: googleapi.ServerResponse{
40950			Header:         res.Header,
40951			HTTPStatusCode: res.StatusCode,
40952		},
40953	}
40954	target := &ret
40955	if err := gensupport.DecodeResponse(target, res); err != nil {
40956		return nil, err
40957	}
40958	return ret, nil
40959	// {
40960	//   "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
40961	//   "flatPath": "userprofiles/{profileId}/placements",
40962	//   "httpMethod": "GET",
40963	//   "id": "dfareporting.placements.list",
40964	//   "parameterOrder": [
40965	//     "profileId"
40966	//   ],
40967	//   "parameters": {
40968	//     "advertiserIds": {
40969	//       "description": "Select only placements that belong to these advertisers.",
40970	//       "format": "int64",
40971	//       "location": "query",
40972	//       "repeated": true,
40973	//       "type": "string"
40974	//     },
40975	//     "archived": {
40976	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
40977	//       "location": "query",
40978	//       "type": "boolean"
40979	//     },
40980	//     "campaignIds": {
40981	//       "description": "Select only placements that belong to these campaigns.",
40982	//       "format": "int64",
40983	//       "location": "query",
40984	//       "repeated": true,
40985	//       "type": "string"
40986	//     },
40987	//     "compatibilities": {
40988	//       "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.",
40989	//       "enum": [
40990	//         "DISPLAY",
40991	//         "DISPLAY_INTERSTITIAL",
40992	//         "APP",
40993	//         "APP_INTERSTITIAL",
40994	//         "IN_STREAM_VIDEO",
40995	//         "IN_STREAM_AUDIO"
40996	//       ],
40997	//       "enumDescriptions": [
40998	//         "",
40999	//         "",
41000	//         "",
41001	//         "",
41002	//         "",
41003	//         ""
41004	//       ],
41005	//       "location": "query",
41006	//       "repeated": true,
41007	//       "type": "string"
41008	//     },
41009	//     "contentCategoryIds": {
41010	//       "description": "Select only placements that are associated with these content categories.",
41011	//       "format": "int64",
41012	//       "location": "query",
41013	//       "repeated": true,
41014	//       "type": "string"
41015	//     },
41016	//     "directorySiteIds": {
41017	//       "description": "Select only placements that are associated with these directory sites.",
41018	//       "format": "int64",
41019	//       "location": "query",
41020	//       "repeated": true,
41021	//       "type": "string"
41022	//     },
41023	//     "groupIds": {
41024	//       "description": "Select only placements that belong to these placement groups.",
41025	//       "format": "int64",
41026	//       "location": "query",
41027	//       "repeated": true,
41028	//       "type": "string"
41029	//     },
41030	//     "ids": {
41031	//       "description": "Select only placements with these IDs.",
41032	//       "format": "int64",
41033	//       "location": "query",
41034	//       "repeated": true,
41035	//       "type": "string"
41036	//     },
41037	//     "maxEndDate": {
41038	//       "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\".",
41039	//       "location": "query",
41040	//       "type": "string"
41041	//     },
41042	//     "maxResults": {
41043	//       "default": "1000",
41044	//       "description": "Maximum number of results to return.",
41045	//       "format": "int32",
41046	//       "location": "query",
41047	//       "maximum": "1000",
41048	//       "minimum": "0",
41049	//       "type": "integer"
41050	//     },
41051	//     "maxStartDate": {
41052	//       "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\".",
41053	//       "location": "query",
41054	//       "type": "string"
41055	//     },
41056	//     "minEndDate": {
41057	//       "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\".",
41058	//       "location": "query",
41059	//       "type": "string"
41060	//     },
41061	//     "minStartDate": {
41062	//       "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\".",
41063	//       "location": "query",
41064	//       "type": "string"
41065	//     },
41066	//     "pageToken": {
41067	//       "description": "Value of the nextPageToken from the previous result page.",
41068	//       "location": "query",
41069	//       "type": "string"
41070	//     },
41071	//     "paymentSource": {
41072	//       "description": "Select only placements with this payment source.",
41073	//       "enum": [
41074	//         "PLACEMENT_AGENCY_PAID",
41075	//         "PLACEMENT_PUBLISHER_PAID"
41076	//       ],
41077	//       "enumDescriptions": [
41078	//         "",
41079	//         ""
41080	//       ],
41081	//       "location": "query",
41082	//       "type": "string"
41083	//     },
41084	//     "placementStrategyIds": {
41085	//       "description": "Select only placements that are associated with these placement strategies.",
41086	//       "format": "int64",
41087	//       "location": "query",
41088	//       "repeated": true,
41089	//       "type": "string"
41090	//     },
41091	//     "pricingTypes": {
41092	//       "description": "Select only placements with these pricing types.",
41093	//       "enum": [
41094	//         "PRICING_TYPE_CPM",
41095	//         "PRICING_TYPE_CPC",
41096	//         "PRICING_TYPE_CPA",
41097	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
41098	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
41099	//         "PRICING_TYPE_CPM_ACTIVEVIEW"
41100	//       ],
41101	//       "enumDescriptions": [
41102	//         "",
41103	//         "",
41104	//         "",
41105	//         "",
41106	//         "",
41107	//         ""
41108	//       ],
41109	//       "location": "query",
41110	//       "repeated": true,
41111	//       "type": "string"
41112	//     },
41113	//     "profileId": {
41114	//       "description": "User profile ID associated with this request.",
41115	//       "format": "int64",
41116	//       "location": "path",
41117	//       "required": true,
41118	//       "type": "string"
41119	//     },
41120	//     "searchString": {
41121	//       "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\" .",
41122	//       "location": "query",
41123	//       "type": "string"
41124	//     },
41125	//     "siteIds": {
41126	//       "description": "Select only placements that are associated with these sites.",
41127	//       "format": "int64",
41128	//       "location": "query",
41129	//       "repeated": true,
41130	//       "type": "string"
41131	//     },
41132	//     "sizeIds": {
41133	//       "description": "Select only placements that are associated with these sizes.",
41134	//       "format": "int64",
41135	//       "location": "query",
41136	//       "repeated": true,
41137	//       "type": "string"
41138	//     },
41139	//     "sortField": {
41140	//       "default": "ID",
41141	//       "description": "Field by which to sort the list.",
41142	//       "enum": [
41143	//         "ID",
41144	//         "NAME"
41145	//       ],
41146	//       "enumDescriptions": [
41147	//         "",
41148	//         ""
41149	//       ],
41150	//       "location": "query",
41151	//       "type": "string"
41152	//     },
41153	//     "sortOrder": {
41154	//       "default": "ASCENDING",
41155	//       "description": "Order of sorted results.",
41156	//       "enum": [
41157	//         "ASCENDING",
41158	//         "DESCENDING"
41159	//       ],
41160	//       "enumDescriptions": [
41161	//         "",
41162	//         ""
41163	//       ],
41164	//       "location": "query",
41165	//       "type": "string"
41166	//     }
41167	//   },
41168	//   "path": "userprofiles/{profileId}/placements",
41169	//   "response": {
41170	//     "$ref": "PlacementsListResponse"
41171	//   },
41172	//   "scopes": [
41173	//     "https://www.googleapis.com/auth/dfatrafficking"
41174	//   ]
41175	// }
41176
41177}
41178
41179// Pages invokes f for each page of results.
41180// A non-nil error returned from f will halt the iteration.
41181// The provided context supersedes any context provided to the Context method.
41182func (c *PlacementsListCall) Pages(ctx context.Context, f func(*PlacementsListResponse) error) error {
41183	c.ctx_ = ctx
41184	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
41185	for {
41186		x, err := c.Do()
41187		if err != nil {
41188			return err
41189		}
41190		if err := f(x); err != nil {
41191			return err
41192		}
41193		if x.NextPageToken == "" {
41194			return nil
41195		}
41196		c.PageToken(x.NextPageToken)
41197	}
41198}
41199
41200// method id "dfareporting.placements.patch":
41201
41202type PlacementsPatchCall struct {
41203	s          *Service
41204	profileId  int64
41205	placement  *Placement
41206	urlParams_ gensupport.URLParams
41207	ctx_       context.Context
41208	header_    http.Header
41209}
41210
41211// Patch: Updates an existing placement. This method supports patch
41212// semantics.
41213//
41214// - id: Placement ID.
41215// - profileId: User profile ID associated with this request.
41216func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
41217	c := &PlacementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41218	c.profileId = profileId
41219	c.urlParams_.Set("id", fmt.Sprint(id))
41220	c.placement = placement
41221	return c
41222}
41223
41224// Fields allows partial responses to be retrieved. See
41225// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41226// for more information.
41227func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
41228	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41229	return c
41230}
41231
41232// Context sets the context to be used in this call's Do method. Any
41233// pending HTTP request will be aborted if the provided context is
41234// canceled.
41235func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
41236	c.ctx_ = ctx
41237	return c
41238}
41239
41240// Header returns an http.Header that can be modified by the caller to
41241// add HTTP headers to the request.
41242func (c *PlacementsPatchCall) Header() http.Header {
41243	if c.header_ == nil {
41244		c.header_ = make(http.Header)
41245	}
41246	return c.header_
41247}
41248
41249func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
41250	reqHeaders := make(http.Header)
41251	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
41252	for k, v := range c.header_ {
41253		reqHeaders[k] = v
41254	}
41255	reqHeaders.Set("User-Agent", c.s.userAgent())
41256	var body io.Reader = nil
41257	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
41258	if err != nil {
41259		return nil, err
41260	}
41261	reqHeaders.Set("Content-Type", "application/json")
41262	c.urlParams_.Set("alt", alt)
41263	c.urlParams_.Set("prettyPrint", "false")
41264	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
41265	urls += "?" + c.urlParams_.Encode()
41266	req, err := http.NewRequest("PATCH", urls, body)
41267	if err != nil {
41268		return nil, err
41269	}
41270	req.Header = reqHeaders
41271	googleapi.Expand(req.URL, map[string]string{
41272		"profileId": strconv.FormatInt(c.profileId, 10),
41273	})
41274	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41275}
41276
41277// Do executes the "dfareporting.placements.patch" call.
41278// Exactly one of *Placement or error will be non-nil. Any non-2xx
41279// status code is an error. Response headers are in either
41280// *Placement.ServerResponse.Header or (if a response was returned at
41281// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41282// to check whether the returned error was because
41283// http.StatusNotModified was returned.
41284func (c *PlacementsPatchCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
41285	gensupport.SetOptions(c.urlParams_, opts...)
41286	res, err := c.doRequest("json")
41287	if res != nil && res.StatusCode == http.StatusNotModified {
41288		if res.Body != nil {
41289			res.Body.Close()
41290		}
41291		return nil, &googleapi.Error{
41292			Code:   res.StatusCode,
41293			Header: res.Header,
41294		}
41295	}
41296	if err != nil {
41297		return nil, err
41298	}
41299	defer googleapi.CloseBody(res)
41300	if err := googleapi.CheckResponse(res); err != nil {
41301		return nil, err
41302	}
41303	ret := &Placement{
41304		ServerResponse: googleapi.ServerResponse{
41305			Header:         res.Header,
41306			HTTPStatusCode: res.StatusCode,
41307		},
41308	}
41309	target := &ret
41310	if err := gensupport.DecodeResponse(target, res); err != nil {
41311		return nil, err
41312	}
41313	return ret, nil
41314	// {
41315	//   "description": "Updates an existing placement. This method supports patch semantics.",
41316	//   "flatPath": "userprofiles/{profileId}/placements",
41317	//   "httpMethod": "PATCH",
41318	//   "id": "dfareporting.placements.patch",
41319	//   "parameterOrder": [
41320	//     "profileId",
41321	//     "id"
41322	//   ],
41323	//   "parameters": {
41324	//     "id": {
41325	//       "description": "Placement ID.",
41326	//       "format": "int64",
41327	//       "location": "query",
41328	//       "required": true,
41329	//       "type": "string"
41330	//     },
41331	//     "profileId": {
41332	//       "description": "User profile ID associated with this request.",
41333	//       "format": "int64",
41334	//       "location": "path",
41335	//       "required": true,
41336	//       "type": "string"
41337	//     }
41338	//   },
41339	//   "path": "userprofiles/{profileId}/placements",
41340	//   "request": {
41341	//     "$ref": "Placement"
41342	//   },
41343	//   "response": {
41344	//     "$ref": "Placement"
41345	//   },
41346	//   "scopes": [
41347	//     "https://www.googleapis.com/auth/dfatrafficking"
41348	//   ]
41349	// }
41350
41351}
41352
41353// method id "dfareporting.placements.update":
41354
41355type PlacementsUpdateCall struct {
41356	s          *Service
41357	profileId  int64
41358	placement  *Placement
41359	urlParams_ gensupport.URLParams
41360	ctx_       context.Context
41361	header_    http.Header
41362}
41363
41364// Update: Updates an existing placement.
41365//
41366// - profileId: User profile ID associated with this request.
41367func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
41368	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41369	c.profileId = profileId
41370	c.placement = placement
41371	return c
41372}
41373
41374// Fields allows partial responses to be retrieved. See
41375// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41376// for more information.
41377func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
41378	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41379	return c
41380}
41381
41382// Context sets the context to be used in this call's Do method. Any
41383// pending HTTP request will be aborted if the provided context is
41384// canceled.
41385func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
41386	c.ctx_ = ctx
41387	return c
41388}
41389
41390// Header returns an http.Header that can be modified by the caller to
41391// add HTTP headers to the request.
41392func (c *PlacementsUpdateCall) Header() http.Header {
41393	if c.header_ == nil {
41394		c.header_ = make(http.Header)
41395	}
41396	return c.header_
41397}
41398
41399func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
41400	reqHeaders := make(http.Header)
41401	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
41402	for k, v := range c.header_ {
41403		reqHeaders[k] = v
41404	}
41405	reqHeaders.Set("User-Agent", c.s.userAgent())
41406	var body io.Reader = nil
41407	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
41408	if err != nil {
41409		return nil, err
41410	}
41411	reqHeaders.Set("Content-Type", "application/json")
41412	c.urlParams_.Set("alt", alt)
41413	c.urlParams_.Set("prettyPrint", "false")
41414	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
41415	urls += "?" + c.urlParams_.Encode()
41416	req, err := http.NewRequest("PUT", urls, body)
41417	if err != nil {
41418		return nil, err
41419	}
41420	req.Header = reqHeaders
41421	googleapi.Expand(req.URL, map[string]string{
41422		"profileId": strconv.FormatInt(c.profileId, 10),
41423	})
41424	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41425}
41426
41427// Do executes the "dfareporting.placements.update" call.
41428// Exactly one of *Placement or error will be non-nil. Any non-2xx
41429// status code is an error. Response headers are in either
41430// *Placement.ServerResponse.Header or (if a response was returned at
41431// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41432// to check whether the returned error was because
41433// http.StatusNotModified was returned.
41434func (c *PlacementsUpdateCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
41435	gensupport.SetOptions(c.urlParams_, opts...)
41436	res, err := c.doRequest("json")
41437	if res != nil && res.StatusCode == http.StatusNotModified {
41438		if res.Body != nil {
41439			res.Body.Close()
41440		}
41441		return nil, &googleapi.Error{
41442			Code:   res.StatusCode,
41443			Header: res.Header,
41444		}
41445	}
41446	if err != nil {
41447		return nil, err
41448	}
41449	defer googleapi.CloseBody(res)
41450	if err := googleapi.CheckResponse(res); err != nil {
41451		return nil, err
41452	}
41453	ret := &Placement{
41454		ServerResponse: googleapi.ServerResponse{
41455			Header:         res.Header,
41456			HTTPStatusCode: res.StatusCode,
41457		},
41458	}
41459	target := &ret
41460	if err := gensupport.DecodeResponse(target, res); err != nil {
41461		return nil, err
41462	}
41463	return ret, nil
41464	// {
41465	//   "description": "Updates an existing placement.",
41466	//   "flatPath": "userprofiles/{profileId}/placements",
41467	//   "httpMethod": "PUT",
41468	//   "id": "dfareporting.placements.update",
41469	//   "parameterOrder": [
41470	//     "profileId"
41471	//   ],
41472	//   "parameters": {
41473	//     "profileId": {
41474	//       "description": "User profile ID associated with this request.",
41475	//       "format": "int64",
41476	//       "location": "path",
41477	//       "required": true,
41478	//       "type": "string"
41479	//     }
41480	//   },
41481	//   "path": "userprofiles/{profileId}/placements",
41482	//   "request": {
41483	//     "$ref": "Placement"
41484	//   },
41485	//   "response": {
41486	//     "$ref": "Placement"
41487	//   },
41488	//   "scopes": [
41489	//     "https://www.googleapis.com/auth/dfatrafficking"
41490	//   ]
41491	// }
41492
41493}
41494
41495// method id "dfareporting.platformTypes.get":
41496
41497type PlatformTypesGetCall struct {
41498	s            *Service
41499	profileId    int64
41500	id           int64
41501	urlParams_   gensupport.URLParams
41502	ifNoneMatch_ string
41503	ctx_         context.Context
41504	header_      http.Header
41505}
41506
41507// Get: Gets one platform type by ID.
41508//
41509// - id: Platform type ID.
41510// - profileId: User profile ID associated with this request.
41511func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
41512	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41513	c.profileId = profileId
41514	c.id = id
41515	return c
41516}
41517
41518// Fields allows partial responses to be retrieved. See
41519// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41520// for more information.
41521func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
41522	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41523	return c
41524}
41525
41526// IfNoneMatch sets the optional parameter which makes the operation
41527// fail if the object's ETag matches the given value. This is useful for
41528// getting updates only after the object has changed since the last
41529// request. Use googleapi.IsNotModified to check whether the response
41530// error from Do is the result of In-None-Match.
41531func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
41532	c.ifNoneMatch_ = entityTag
41533	return c
41534}
41535
41536// Context sets the context to be used in this call's Do method. Any
41537// pending HTTP request will be aborted if the provided context is
41538// canceled.
41539func (c *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
41540	c.ctx_ = ctx
41541	return c
41542}
41543
41544// Header returns an http.Header that can be modified by the caller to
41545// add HTTP headers to the request.
41546func (c *PlatformTypesGetCall) Header() http.Header {
41547	if c.header_ == nil {
41548		c.header_ = make(http.Header)
41549	}
41550	return c.header_
41551}
41552
41553func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
41554	reqHeaders := make(http.Header)
41555	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
41556	for k, v := range c.header_ {
41557		reqHeaders[k] = v
41558	}
41559	reqHeaders.Set("User-Agent", c.s.userAgent())
41560	if c.ifNoneMatch_ != "" {
41561		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41562	}
41563	var body io.Reader = nil
41564	c.urlParams_.Set("alt", alt)
41565	c.urlParams_.Set("prettyPrint", "false")
41566	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
41567	urls += "?" + c.urlParams_.Encode()
41568	req, err := http.NewRequest("GET", urls, body)
41569	if err != nil {
41570		return nil, err
41571	}
41572	req.Header = reqHeaders
41573	googleapi.Expand(req.URL, map[string]string{
41574		"profileId": strconv.FormatInt(c.profileId, 10),
41575		"id":        strconv.FormatInt(c.id, 10),
41576	})
41577	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41578}
41579
41580// Do executes the "dfareporting.platformTypes.get" call.
41581// Exactly one of *PlatformType or error will be non-nil. Any non-2xx
41582// status code is an error. Response headers are in either
41583// *PlatformType.ServerResponse.Header or (if a response was returned at
41584// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41585// to check whether the returned error was because
41586// http.StatusNotModified was returned.
41587func (c *PlatformTypesGetCall) Do(opts ...googleapi.CallOption) (*PlatformType, error) {
41588	gensupport.SetOptions(c.urlParams_, opts...)
41589	res, err := c.doRequest("json")
41590	if res != nil && res.StatusCode == http.StatusNotModified {
41591		if res.Body != nil {
41592			res.Body.Close()
41593		}
41594		return nil, &googleapi.Error{
41595			Code:   res.StatusCode,
41596			Header: res.Header,
41597		}
41598	}
41599	if err != nil {
41600		return nil, err
41601	}
41602	defer googleapi.CloseBody(res)
41603	if err := googleapi.CheckResponse(res); err != nil {
41604		return nil, err
41605	}
41606	ret := &PlatformType{
41607		ServerResponse: googleapi.ServerResponse{
41608			Header:         res.Header,
41609			HTTPStatusCode: res.StatusCode,
41610		},
41611	}
41612	target := &ret
41613	if err := gensupport.DecodeResponse(target, res); err != nil {
41614		return nil, err
41615	}
41616	return ret, nil
41617	// {
41618	//   "description": "Gets one platform type by ID.",
41619	//   "flatPath": "userprofiles/{profileId}/platformTypes/{id}",
41620	//   "httpMethod": "GET",
41621	//   "id": "dfareporting.platformTypes.get",
41622	//   "parameterOrder": [
41623	//     "profileId",
41624	//     "id"
41625	//   ],
41626	//   "parameters": {
41627	//     "id": {
41628	//       "description": "Platform type ID.",
41629	//       "format": "int64",
41630	//       "location": "path",
41631	//       "required": true,
41632	//       "type": "string"
41633	//     },
41634	//     "profileId": {
41635	//       "description": "User profile ID associated with this request.",
41636	//       "format": "int64",
41637	//       "location": "path",
41638	//       "required": true,
41639	//       "type": "string"
41640	//     }
41641	//   },
41642	//   "path": "userprofiles/{profileId}/platformTypes/{id}",
41643	//   "response": {
41644	//     "$ref": "PlatformType"
41645	//   },
41646	//   "scopes": [
41647	//     "https://www.googleapis.com/auth/dfatrafficking"
41648	//   ]
41649	// }
41650
41651}
41652
41653// method id "dfareporting.platformTypes.list":
41654
41655type PlatformTypesListCall struct {
41656	s            *Service
41657	profileId    int64
41658	urlParams_   gensupport.URLParams
41659	ifNoneMatch_ string
41660	ctx_         context.Context
41661	header_      http.Header
41662}
41663
41664// List: Retrieves a list of platform types.
41665//
41666// - profileId: User profile ID associated with this request.
41667func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
41668	c := &PlatformTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41669	c.profileId = profileId
41670	return c
41671}
41672
41673// Fields allows partial responses to be retrieved. See
41674// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41675// for more information.
41676func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
41677	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41678	return c
41679}
41680
41681// IfNoneMatch sets the optional parameter which makes the operation
41682// fail if the object's ETag matches the given value. This is useful for
41683// getting updates only after the object has changed since the last
41684// request. Use googleapi.IsNotModified to check whether the response
41685// error from Do is the result of In-None-Match.
41686func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
41687	c.ifNoneMatch_ = entityTag
41688	return c
41689}
41690
41691// Context sets the context to be used in this call's Do method. Any
41692// pending HTTP request will be aborted if the provided context is
41693// canceled.
41694func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
41695	c.ctx_ = ctx
41696	return c
41697}
41698
41699// Header returns an http.Header that can be modified by the caller to
41700// add HTTP headers to the request.
41701func (c *PlatformTypesListCall) Header() http.Header {
41702	if c.header_ == nil {
41703		c.header_ = make(http.Header)
41704	}
41705	return c.header_
41706}
41707
41708func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
41709	reqHeaders := make(http.Header)
41710	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
41711	for k, v := range c.header_ {
41712		reqHeaders[k] = v
41713	}
41714	reqHeaders.Set("User-Agent", c.s.userAgent())
41715	if c.ifNoneMatch_ != "" {
41716		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41717	}
41718	var body io.Reader = nil
41719	c.urlParams_.Set("alt", alt)
41720	c.urlParams_.Set("prettyPrint", "false")
41721	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
41722	urls += "?" + c.urlParams_.Encode()
41723	req, err := http.NewRequest("GET", urls, body)
41724	if err != nil {
41725		return nil, err
41726	}
41727	req.Header = reqHeaders
41728	googleapi.Expand(req.URL, map[string]string{
41729		"profileId": strconv.FormatInt(c.profileId, 10),
41730	})
41731	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41732}
41733
41734// Do executes the "dfareporting.platformTypes.list" call.
41735// Exactly one of *PlatformTypesListResponse or error will be non-nil.
41736// Any non-2xx status code is an error. Response headers are in either
41737// *PlatformTypesListResponse.ServerResponse.Header or (if a response
41738// was returned at all) in error.(*googleapi.Error).Header. Use
41739// googleapi.IsNotModified to check whether the returned error was
41740// because http.StatusNotModified was returned.
41741func (c *PlatformTypesListCall) Do(opts ...googleapi.CallOption) (*PlatformTypesListResponse, error) {
41742	gensupport.SetOptions(c.urlParams_, opts...)
41743	res, err := c.doRequest("json")
41744	if res != nil && res.StatusCode == http.StatusNotModified {
41745		if res.Body != nil {
41746			res.Body.Close()
41747		}
41748		return nil, &googleapi.Error{
41749			Code:   res.StatusCode,
41750			Header: res.Header,
41751		}
41752	}
41753	if err != nil {
41754		return nil, err
41755	}
41756	defer googleapi.CloseBody(res)
41757	if err := googleapi.CheckResponse(res); err != nil {
41758		return nil, err
41759	}
41760	ret := &PlatformTypesListResponse{
41761		ServerResponse: googleapi.ServerResponse{
41762			Header:         res.Header,
41763			HTTPStatusCode: res.StatusCode,
41764		},
41765	}
41766	target := &ret
41767	if err := gensupport.DecodeResponse(target, res); err != nil {
41768		return nil, err
41769	}
41770	return ret, nil
41771	// {
41772	//   "description": "Retrieves a list of platform types.",
41773	//   "flatPath": "userprofiles/{profileId}/platformTypes",
41774	//   "httpMethod": "GET",
41775	//   "id": "dfareporting.platformTypes.list",
41776	//   "parameterOrder": [
41777	//     "profileId"
41778	//   ],
41779	//   "parameters": {
41780	//     "profileId": {
41781	//       "description": "User profile ID associated with this request.",
41782	//       "format": "int64",
41783	//       "location": "path",
41784	//       "required": true,
41785	//       "type": "string"
41786	//     }
41787	//   },
41788	//   "path": "userprofiles/{profileId}/platformTypes",
41789	//   "response": {
41790	//     "$ref": "PlatformTypesListResponse"
41791	//   },
41792	//   "scopes": [
41793	//     "https://www.googleapis.com/auth/dfatrafficking"
41794	//   ]
41795	// }
41796
41797}
41798
41799// method id "dfareporting.postalCodes.get":
41800
41801type PostalCodesGetCall struct {
41802	s            *Service
41803	profileId    int64
41804	code         string
41805	urlParams_   gensupport.URLParams
41806	ifNoneMatch_ string
41807	ctx_         context.Context
41808	header_      http.Header
41809}
41810
41811// Get: Gets one postal code by ID.
41812//
41813// - code: Postal code ID.
41814// - profileId: User profile ID associated with this request.
41815func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
41816	c := &PostalCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41817	c.profileId = profileId
41818	c.code = code
41819	return c
41820}
41821
41822// Fields allows partial responses to be retrieved. See
41823// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41824// for more information.
41825func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
41826	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41827	return c
41828}
41829
41830// IfNoneMatch sets the optional parameter which makes the operation
41831// fail if the object's ETag matches the given value. This is useful for
41832// getting updates only after the object has changed since the last
41833// request. Use googleapi.IsNotModified to check whether the response
41834// error from Do is the result of In-None-Match.
41835func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
41836	c.ifNoneMatch_ = entityTag
41837	return c
41838}
41839
41840// Context sets the context to be used in this call's Do method. Any
41841// pending HTTP request will be aborted if the provided context is
41842// canceled.
41843func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
41844	c.ctx_ = ctx
41845	return c
41846}
41847
41848// Header returns an http.Header that can be modified by the caller to
41849// add HTTP headers to the request.
41850func (c *PostalCodesGetCall) Header() http.Header {
41851	if c.header_ == nil {
41852		c.header_ = make(http.Header)
41853	}
41854	return c.header_
41855}
41856
41857func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
41858	reqHeaders := make(http.Header)
41859	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
41860	for k, v := range c.header_ {
41861		reqHeaders[k] = v
41862	}
41863	reqHeaders.Set("User-Agent", c.s.userAgent())
41864	if c.ifNoneMatch_ != "" {
41865		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41866	}
41867	var body io.Reader = nil
41868	c.urlParams_.Set("alt", alt)
41869	c.urlParams_.Set("prettyPrint", "false")
41870	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
41871	urls += "?" + c.urlParams_.Encode()
41872	req, err := http.NewRequest("GET", urls, body)
41873	if err != nil {
41874		return nil, err
41875	}
41876	req.Header = reqHeaders
41877	googleapi.Expand(req.URL, map[string]string{
41878		"profileId": strconv.FormatInt(c.profileId, 10),
41879		"code":      c.code,
41880	})
41881	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41882}
41883
41884// Do executes the "dfareporting.postalCodes.get" call.
41885// Exactly one of *PostalCode or error will be non-nil. Any non-2xx
41886// status code is an error. Response headers are in either
41887// *PostalCode.ServerResponse.Header or (if a response was returned at
41888// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41889// to check whether the returned error was because
41890// http.StatusNotModified was returned.
41891func (c *PostalCodesGetCall) Do(opts ...googleapi.CallOption) (*PostalCode, error) {
41892	gensupport.SetOptions(c.urlParams_, opts...)
41893	res, err := c.doRequest("json")
41894	if res != nil && res.StatusCode == http.StatusNotModified {
41895		if res.Body != nil {
41896			res.Body.Close()
41897		}
41898		return nil, &googleapi.Error{
41899			Code:   res.StatusCode,
41900			Header: res.Header,
41901		}
41902	}
41903	if err != nil {
41904		return nil, err
41905	}
41906	defer googleapi.CloseBody(res)
41907	if err := googleapi.CheckResponse(res); err != nil {
41908		return nil, err
41909	}
41910	ret := &PostalCode{
41911		ServerResponse: googleapi.ServerResponse{
41912			Header:         res.Header,
41913			HTTPStatusCode: res.StatusCode,
41914		},
41915	}
41916	target := &ret
41917	if err := gensupport.DecodeResponse(target, res); err != nil {
41918		return nil, err
41919	}
41920	return ret, nil
41921	// {
41922	//   "description": "Gets one postal code by ID.",
41923	//   "flatPath": "userprofiles/{profileId}/postalCodes/{code}",
41924	//   "httpMethod": "GET",
41925	//   "id": "dfareporting.postalCodes.get",
41926	//   "parameterOrder": [
41927	//     "profileId",
41928	//     "code"
41929	//   ],
41930	//   "parameters": {
41931	//     "code": {
41932	//       "description": "Postal code ID.",
41933	//       "location": "path",
41934	//       "required": true,
41935	//       "type": "string"
41936	//     },
41937	//     "profileId": {
41938	//       "description": "User profile ID associated with this request.",
41939	//       "format": "int64",
41940	//       "location": "path",
41941	//       "required": true,
41942	//       "type": "string"
41943	//     }
41944	//   },
41945	//   "path": "userprofiles/{profileId}/postalCodes/{code}",
41946	//   "response": {
41947	//     "$ref": "PostalCode"
41948	//   },
41949	//   "scopes": [
41950	//     "https://www.googleapis.com/auth/dfatrafficking"
41951	//   ]
41952	// }
41953
41954}
41955
41956// method id "dfareporting.postalCodes.list":
41957
41958type PostalCodesListCall struct {
41959	s            *Service
41960	profileId    int64
41961	urlParams_   gensupport.URLParams
41962	ifNoneMatch_ string
41963	ctx_         context.Context
41964	header_      http.Header
41965}
41966
41967// List: Retrieves a list of postal codes.
41968//
41969// - profileId: User profile ID associated with this request.
41970func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
41971	c := &PostalCodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41972	c.profileId = profileId
41973	return c
41974}
41975
41976// Fields allows partial responses to be retrieved. See
41977// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41978// for more information.
41979func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
41980	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41981	return c
41982}
41983
41984// IfNoneMatch sets the optional parameter which makes the operation
41985// fail if the object's ETag matches the given value. This is useful for
41986// getting updates only after the object has changed since the last
41987// request. Use googleapi.IsNotModified to check whether the response
41988// error from Do is the result of In-None-Match.
41989func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
41990	c.ifNoneMatch_ = entityTag
41991	return c
41992}
41993
41994// Context sets the context to be used in this call's Do method. Any
41995// pending HTTP request will be aborted if the provided context is
41996// canceled.
41997func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
41998	c.ctx_ = ctx
41999	return c
42000}
42001
42002// Header returns an http.Header that can be modified by the caller to
42003// add HTTP headers to the request.
42004func (c *PostalCodesListCall) Header() http.Header {
42005	if c.header_ == nil {
42006		c.header_ = make(http.Header)
42007	}
42008	return c.header_
42009}
42010
42011func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
42012	reqHeaders := make(http.Header)
42013	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
42014	for k, v := range c.header_ {
42015		reqHeaders[k] = v
42016	}
42017	reqHeaders.Set("User-Agent", c.s.userAgent())
42018	if c.ifNoneMatch_ != "" {
42019		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42020	}
42021	var body io.Reader = nil
42022	c.urlParams_.Set("alt", alt)
42023	c.urlParams_.Set("prettyPrint", "false")
42024	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
42025	urls += "?" + c.urlParams_.Encode()
42026	req, err := http.NewRequest("GET", urls, body)
42027	if err != nil {
42028		return nil, err
42029	}
42030	req.Header = reqHeaders
42031	googleapi.Expand(req.URL, map[string]string{
42032		"profileId": strconv.FormatInt(c.profileId, 10),
42033	})
42034	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42035}
42036
42037// Do executes the "dfareporting.postalCodes.list" call.
42038// Exactly one of *PostalCodesListResponse or error will be non-nil. Any
42039// non-2xx status code is an error. Response headers are in either
42040// *PostalCodesListResponse.ServerResponse.Header or (if a response was
42041// returned at all) in error.(*googleapi.Error).Header. Use
42042// googleapi.IsNotModified to check whether the returned error was
42043// because http.StatusNotModified was returned.
42044func (c *PostalCodesListCall) Do(opts ...googleapi.CallOption) (*PostalCodesListResponse, error) {
42045	gensupport.SetOptions(c.urlParams_, opts...)
42046	res, err := c.doRequest("json")
42047	if res != nil && res.StatusCode == http.StatusNotModified {
42048		if res.Body != nil {
42049			res.Body.Close()
42050		}
42051		return nil, &googleapi.Error{
42052			Code:   res.StatusCode,
42053			Header: res.Header,
42054		}
42055	}
42056	if err != nil {
42057		return nil, err
42058	}
42059	defer googleapi.CloseBody(res)
42060	if err := googleapi.CheckResponse(res); err != nil {
42061		return nil, err
42062	}
42063	ret := &PostalCodesListResponse{
42064		ServerResponse: googleapi.ServerResponse{
42065			Header:         res.Header,
42066			HTTPStatusCode: res.StatusCode,
42067		},
42068	}
42069	target := &ret
42070	if err := gensupport.DecodeResponse(target, res); err != nil {
42071		return nil, err
42072	}
42073	return ret, nil
42074	// {
42075	//   "description": "Retrieves a list of postal codes.",
42076	//   "flatPath": "userprofiles/{profileId}/postalCodes",
42077	//   "httpMethod": "GET",
42078	//   "id": "dfareporting.postalCodes.list",
42079	//   "parameterOrder": [
42080	//     "profileId"
42081	//   ],
42082	//   "parameters": {
42083	//     "profileId": {
42084	//       "description": "User profile ID associated with this request.",
42085	//       "format": "int64",
42086	//       "location": "path",
42087	//       "required": true,
42088	//       "type": "string"
42089	//     }
42090	//   },
42091	//   "path": "userprofiles/{profileId}/postalCodes",
42092	//   "response": {
42093	//     "$ref": "PostalCodesListResponse"
42094	//   },
42095	//   "scopes": [
42096	//     "https://www.googleapis.com/auth/dfatrafficking"
42097	//   ]
42098	// }
42099
42100}
42101
42102// method id "dfareporting.projects.get":
42103
42104type ProjectsGetCall struct {
42105	s            *Service
42106	profileId    int64
42107	id           int64
42108	urlParams_   gensupport.URLParams
42109	ifNoneMatch_ string
42110	ctx_         context.Context
42111	header_      http.Header
42112}
42113
42114// Get: Gets one project by ID.
42115//
42116// - id: Project ID.
42117// - profileId: User profile ID associated with this request.
42118func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
42119	c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42120	c.profileId = profileId
42121	c.id = id
42122	return c
42123}
42124
42125// Fields allows partial responses to be retrieved. See
42126// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42127// for more information.
42128func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
42129	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42130	return c
42131}
42132
42133// IfNoneMatch sets the optional parameter which makes the operation
42134// fail if the object's ETag matches the given value. This is useful for
42135// getting updates only after the object has changed since the last
42136// request. Use googleapi.IsNotModified to check whether the response
42137// error from Do is the result of In-None-Match.
42138func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
42139	c.ifNoneMatch_ = entityTag
42140	return c
42141}
42142
42143// Context sets the context to be used in this call's Do method. Any
42144// pending HTTP request will be aborted if the provided context is
42145// canceled.
42146func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
42147	c.ctx_ = ctx
42148	return c
42149}
42150
42151// Header returns an http.Header that can be modified by the caller to
42152// add HTTP headers to the request.
42153func (c *ProjectsGetCall) Header() http.Header {
42154	if c.header_ == nil {
42155		c.header_ = make(http.Header)
42156	}
42157	return c.header_
42158}
42159
42160func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
42161	reqHeaders := make(http.Header)
42162	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
42163	for k, v := range c.header_ {
42164		reqHeaders[k] = v
42165	}
42166	reqHeaders.Set("User-Agent", c.s.userAgent())
42167	if c.ifNoneMatch_ != "" {
42168		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42169	}
42170	var body io.Reader = nil
42171	c.urlParams_.Set("alt", alt)
42172	c.urlParams_.Set("prettyPrint", "false")
42173	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
42174	urls += "?" + c.urlParams_.Encode()
42175	req, err := http.NewRequest("GET", urls, body)
42176	if err != nil {
42177		return nil, err
42178	}
42179	req.Header = reqHeaders
42180	googleapi.Expand(req.URL, map[string]string{
42181		"profileId": strconv.FormatInt(c.profileId, 10),
42182		"id":        strconv.FormatInt(c.id, 10),
42183	})
42184	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42185}
42186
42187// Do executes the "dfareporting.projects.get" call.
42188// Exactly one of *Project or error will be non-nil. Any non-2xx status
42189// code is an error. Response headers are in either
42190// *Project.ServerResponse.Header or (if a response was returned at all)
42191// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
42192// check whether the returned error was because http.StatusNotModified
42193// was returned.
42194func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
42195	gensupport.SetOptions(c.urlParams_, opts...)
42196	res, err := c.doRequest("json")
42197	if res != nil && res.StatusCode == http.StatusNotModified {
42198		if res.Body != nil {
42199			res.Body.Close()
42200		}
42201		return nil, &googleapi.Error{
42202			Code:   res.StatusCode,
42203			Header: res.Header,
42204		}
42205	}
42206	if err != nil {
42207		return nil, err
42208	}
42209	defer googleapi.CloseBody(res)
42210	if err := googleapi.CheckResponse(res); err != nil {
42211		return nil, err
42212	}
42213	ret := &Project{
42214		ServerResponse: googleapi.ServerResponse{
42215			Header:         res.Header,
42216			HTTPStatusCode: res.StatusCode,
42217		},
42218	}
42219	target := &ret
42220	if err := gensupport.DecodeResponse(target, res); err != nil {
42221		return nil, err
42222	}
42223	return ret, nil
42224	// {
42225	//   "description": "Gets one project by ID.",
42226	//   "flatPath": "userprofiles/{profileId}/projects/{id}",
42227	//   "httpMethod": "GET",
42228	//   "id": "dfareporting.projects.get",
42229	//   "parameterOrder": [
42230	//     "profileId",
42231	//     "id"
42232	//   ],
42233	//   "parameters": {
42234	//     "id": {
42235	//       "description": "Project ID.",
42236	//       "format": "int64",
42237	//       "location": "path",
42238	//       "required": true,
42239	//       "type": "string"
42240	//     },
42241	//     "profileId": {
42242	//       "description": "User profile ID associated with this request.",
42243	//       "format": "int64",
42244	//       "location": "path",
42245	//       "required": true,
42246	//       "type": "string"
42247	//     }
42248	//   },
42249	//   "path": "userprofiles/{profileId}/projects/{id}",
42250	//   "response": {
42251	//     "$ref": "Project"
42252	//   },
42253	//   "scopes": [
42254	//     "https://www.googleapis.com/auth/dfatrafficking"
42255	//   ]
42256	// }
42257
42258}
42259
42260// method id "dfareporting.projects.list":
42261
42262type ProjectsListCall struct {
42263	s            *Service
42264	profileId    int64
42265	urlParams_   gensupport.URLParams
42266	ifNoneMatch_ string
42267	ctx_         context.Context
42268	header_      http.Header
42269}
42270
42271// List: Retrieves a list of projects, possibly filtered. This method
42272// supports paging .
42273//
42274// - profileId: User profile ID associated with this request.
42275func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
42276	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42277	c.profileId = profileId
42278	return c
42279}
42280
42281// AdvertiserIds sets the optional parameter "advertiserIds": Select
42282// only projects with these advertiser IDs.
42283func (c *ProjectsListCall) AdvertiserIds(advertiserIds ...int64) *ProjectsListCall {
42284	var advertiserIds_ []string
42285	for _, v := range advertiserIds {
42286		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
42287	}
42288	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
42289	return c
42290}
42291
42292// Ids sets the optional parameter "ids": Select only projects with
42293// these IDs.
42294func (c *ProjectsListCall) Ids(ids ...int64) *ProjectsListCall {
42295	var ids_ []string
42296	for _, v := range ids {
42297		ids_ = append(ids_, fmt.Sprint(v))
42298	}
42299	c.urlParams_.SetMulti("ids", ids_)
42300	return c
42301}
42302
42303// MaxResults sets the optional parameter "maxResults": Maximum number
42304// of results to return.
42305func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
42306	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
42307	return c
42308}
42309
42310// PageToken sets the optional parameter "pageToken": Value of the
42311// nextPageToken from the previous result page.
42312func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
42313	c.urlParams_.Set("pageToken", pageToken)
42314	return c
42315}
42316
42317// SearchString sets the optional parameter "searchString": Allows
42318// searching for projects by name or ID. Wildcards (*) are allowed. For
42319// example, "project*2015" will return projects with names like "project
42320// June 2015", "project April 2015", or simply "project 2015". Most of
42321// the searches also add wildcards implicitly at the start and the end
42322// of the search string. For example, a search string of "project" will
42323// match projects with name "my project", "project 2015", or simply
42324// "project".
42325func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
42326	c.urlParams_.Set("searchString", searchString)
42327	return c
42328}
42329
42330// SortField sets the optional parameter "sortField": Field by which to
42331// sort the list.
42332//
42333// Possible values:
42334//   "ID" (default)
42335//   "NAME"
42336func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
42337	c.urlParams_.Set("sortField", sortField)
42338	return c
42339}
42340
42341// SortOrder sets the optional parameter "sortOrder": Order of sorted
42342// results.
42343//
42344// Possible values:
42345//   "ASCENDING" (default)
42346//   "DESCENDING"
42347func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
42348	c.urlParams_.Set("sortOrder", sortOrder)
42349	return c
42350}
42351
42352// Fields allows partial responses to be retrieved. See
42353// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42354// for more information.
42355func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
42356	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42357	return c
42358}
42359
42360// IfNoneMatch sets the optional parameter which makes the operation
42361// fail if the object's ETag matches the given value. This is useful for
42362// getting updates only after the object has changed since the last
42363// request. Use googleapi.IsNotModified to check whether the response
42364// error from Do is the result of In-None-Match.
42365func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
42366	c.ifNoneMatch_ = entityTag
42367	return c
42368}
42369
42370// Context sets the context to be used in this call's Do method. Any
42371// pending HTTP request will be aborted if the provided context is
42372// canceled.
42373func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
42374	c.ctx_ = ctx
42375	return c
42376}
42377
42378// Header returns an http.Header that can be modified by the caller to
42379// add HTTP headers to the request.
42380func (c *ProjectsListCall) Header() http.Header {
42381	if c.header_ == nil {
42382		c.header_ = make(http.Header)
42383	}
42384	return c.header_
42385}
42386
42387func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
42388	reqHeaders := make(http.Header)
42389	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
42390	for k, v := range c.header_ {
42391		reqHeaders[k] = v
42392	}
42393	reqHeaders.Set("User-Agent", c.s.userAgent())
42394	if c.ifNoneMatch_ != "" {
42395		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42396	}
42397	var body io.Reader = nil
42398	c.urlParams_.Set("alt", alt)
42399	c.urlParams_.Set("prettyPrint", "false")
42400	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
42401	urls += "?" + c.urlParams_.Encode()
42402	req, err := http.NewRequest("GET", urls, body)
42403	if err != nil {
42404		return nil, err
42405	}
42406	req.Header = reqHeaders
42407	googleapi.Expand(req.URL, map[string]string{
42408		"profileId": strconv.FormatInt(c.profileId, 10),
42409	})
42410	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42411}
42412
42413// Do executes the "dfareporting.projects.list" call.
42414// Exactly one of *ProjectsListResponse or error will be non-nil. Any
42415// non-2xx status code is an error. Response headers are in either
42416// *ProjectsListResponse.ServerResponse.Header or (if a response was
42417// returned at all) in error.(*googleapi.Error).Header. Use
42418// googleapi.IsNotModified to check whether the returned error was
42419// because http.StatusNotModified was returned.
42420func (c *ProjectsListCall) Do(opts ...googleapi.CallOption) (*ProjectsListResponse, error) {
42421	gensupport.SetOptions(c.urlParams_, opts...)
42422	res, err := c.doRequest("json")
42423	if res != nil && res.StatusCode == http.StatusNotModified {
42424		if res.Body != nil {
42425			res.Body.Close()
42426		}
42427		return nil, &googleapi.Error{
42428			Code:   res.StatusCode,
42429			Header: res.Header,
42430		}
42431	}
42432	if err != nil {
42433		return nil, err
42434	}
42435	defer googleapi.CloseBody(res)
42436	if err := googleapi.CheckResponse(res); err != nil {
42437		return nil, err
42438	}
42439	ret := &ProjectsListResponse{
42440		ServerResponse: googleapi.ServerResponse{
42441			Header:         res.Header,
42442			HTTPStatusCode: res.StatusCode,
42443		},
42444	}
42445	target := &ret
42446	if err := gensupport.DecodeResponse(target, res); err != nil {
42447		return nil, err
42448	}
42449	return ret, nil
42450	// {
42451	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging .",
42452	//   "flatPath": "userprofiles/{profileId}/projects",
42453	//   "httpMethod": "GET",
42454	//   "id": "dfareporting.projects.list",
42455	//   "parameterOrder": [
42456	//     "profileId"
42457	//   ],
42458	//   "parameters": {
42459	//     "advertiserIds": {
42460	//       "description": "Select only projects with these advertiser IDs.",
42461	//       "format": "int64",
42462	//       "location": "query",
42463	//       "repeated": true,
42464	//       "type": "string"
42465	//     },
42466	//     "ids": {
42467	//       "description": "Select only projects with these IDs.",
42468	//       "format": "int64",
42469	//       "location": "query",
42470	//       "repeated": true,
42471	//       "type": "string"
42472	//     },
42473	//     "maxResults": {
42474	//       "default": "1000",
42475	//       "description": "Maximum number of results to return.",
42476	//       "format": "int32",
42477	//       "location": "query",
42478	//       "maximum": "1000",
42479	//       "minimum": "0",
42480	//       "type": "integer"
42481	//     },
42482	//     "pageToken": {
42483	//       "description": "Value of the nextPageToken from the previous result page.",
42484	//       "location": "query",
42485	//       "type": "string"
42486	//     },
42487	//     "profileId": {
42488	//       "description": "User profile ID associated with this request.",
42489	//       "format": "int64",
42490	//       "location": "path",
42491	//       "required": true,
42492	//       "type": "string"
42493	//     },
42494	//     "searchString": {
42495	//       "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\".",
42496	//       "location": "query",
42497	//       "type": "string"
42498	//     },
42499	//     "sortField": {
42500	//       "default": "ID",
42501	//       "description": "Field by which to sort the list.",
42502	//       "enum": [
42503	//         "ID",
42504	//         "NAME"
42505	//       ],
42506	//       "enumDescriptions": [
42507	//         "",
42508	//         ""
42509	//       ],
42510	//       "location": "query",
42511	//       "type": "string"
42512	//     },
42513	//     "sortOrder": {
42514	//       "default": "ASCENDING",
42515	//       "description": "Order of sorted results.",
42516	//       "enum": [
42517	//         "ASCENDING",
42518	//         "DESCENDING"
42519	//       ],
42520	//       "enumDescriptions": [
42521	//         "",
42522	//         ""
42523	//       ],
42524	//       "location": "query",
42525	//       "type": "string"
42526	//     }
42527	//   },
42528	//   "path": "userprofiles/{profileId}/projects",
42529	//   "response": {
42530	//     "$ref": "ProjectsListResponse"
42531	//   },
42532	//   "scopes": [
42533	//     "https://www.googleapis.com/auth/dfatrafficking"
42534	//   ]
42535	// }
42536
42537}
42538
42539// Pages invokes f for each page of results.
42540// A non-nil error returned from f will halt the iteration.
42541// The provided context supersedes any context provided to the Context method.
42542func (c *ProjectsListCall) Pages(ctx context.Context, f func(*ProjectsListResponse) error) error {
42543	c.ctx_ = ctx
42544	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
42545	for {
42546		x, err := c.Do()
42547		if err != nil {
42548			return err
42549		}
42550		if err := f(x); err != nil {
42551			return err
42552		}
42553		if x.NextPageToken == "" {
42554			return nil
42555		}
42556		c.PageToken(x.NextPageToken)
42557	}
42558}
42559
42560// method id "dfareporting.regions.list":
42561
42562type RegionsListCall struct {
42563	s            *Service
42564	profileId    int64
42565	urlParams_   gensupport.URLParams
42566	ifNoneMatch_ string
42567	ctx_         context.Context
42568	header_      http.Header
42569}
42570
42571// List: Retrieves a list of regions.
42572//
42573// - profileId: User profile ID associated with this request.
42574func (r *RegionsService) List(profileId int64) *RegionsListCall {
42575	c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42576	c.profileId = profileId
42577	return c
42578}
42579
42580// Fields allows partial responses to be retrieved. See
42581// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42582// for more information.
42583func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
42584	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42585	return c
42586}
42587
42588// IfNoneMatch sets the optional parameter which makes the operation
42589// fail if the object's ETag matches the given value. This is useful for
42590// getting updates only after the object has changed since the last
42591// request. Use googleapi.IsNotModified to check whether the response
42592// error from Do is the result of In-None-Match.
42593func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
42594	c.ifNoneMatch_ = entityTag
42595	return c
42596}
42597
42598// Context sets the context to be used in this call's Do method. Any
42599// pending HTTP request will be aborted if the provided context is
42600// canceled.
42601func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
42602	c.ctx_ = ctx
42603	return c
42604}
42605
42606// Header returns an http.Header that can be modified by the caller to
42607// add HTTP headers to the request.
42608func (c *RegionsListCall) Header() http.Header {
42609	if c.header_ == nil {
42610		c.header_ = make(http.Header)
42611	}
42612	return c.header_
42613}
42614
42615func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
42616	reqHeaders := make(http.Header)
42617	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
42618	for k, v := range c.header_ {
42619		reqHeaders[k] = v
42620	}
42621	reqHeaders.Set("User-Agent", c.s.userAgent())
42622	if c.ifNoneMatch_ != "" {
42623		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42624	}
42625	var body io.Reader = nil
42626	c.urlParams_.Set("alt", alt)
42627	c.urlParams_.Set("prettyPrint", "false")
42628	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
42629	urls += "?" + c.urlParams_.Encode()
42630	req, err := http.NewRequest("GET", urls, body)
42631	if err != nil {
42632		return nil, err
42633	}
42634	req.Header = reqHeaders
42635	googleapi.Expand(req.URL, map[string]string{
42636		"profileId": strconv.FormatInt(c.profileId, 10),
42637	})
42638	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42639}
42640
42641// Do executes the "dfareporting.regions.list" call.
42642// Exactly one of *RegionsListResponse or error will be non-nil. Any
42643// non-2xx status code is an error. Response headers are in either
42644// *RegionsListResponse.ServerResponse.Header or (if a response was
42645// returned at all) in error.(*googleapi.Error).Header. Use
42646// googleapi.IsNotModified to check whether the returned error was
42647// because http.StatusNotModified was returned.
42648func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionsListResponse, error) {
42649	gensupport.SetOptions(c.urlParams_, opts...)
42650	res, err := c.doRequest("json")
42651	if res != nil && res.StatusCode == http.StatusNotModified {
42652		if res.Body != nil {
42653			res.Body.Close()
42654		}
42655		return nil, &googleapi.Error{
42656			Code:   res.StatusCode,
42657			Header: res.Header,
42658		}
42659	}
42660	if err != nil {
42661		return nil, err
42662	}
42663	defer googleapi.CloseBody(res)
42664	if err := googleapi.CheckResponse(res); err != nil {
42665		return nil, err
42666	}
42667	ret := &RegionsListResponse{
42668		ServerResponse: googleapi.ServerResponse{
42669			Header:         res.Header,
42670			HTTPStatusCode: res.StatusCode,
42671		},
42672	}
42673	target := &ret
42674	if err := gensupport.DecodeResponse(target, res); err != nil {
42675		return nil, err
42676	}
42677	return ret, nil
42678	// {
42679	//   "description": "Retrieves a list of regions.",
42680	//   "flatPath": "userprofiles/{profileId}/regions",
42681	//   "httpMethod": "GET",
42682	//   "id": "dfareporting.regions.list",
42683	//   "parameterOrder": [
42684	//     "profileId"
42685	//   ],
42686	//   "parameters": {
42687	//     "profileId": {
42688	//       "description": "User profile ID associated with this request.",
42689	//       "format": "int64",
42690	//       "location": "path",
42691	//       "required": true,
42692	//       "type": "string"
42693	//     }
42694	//   },
42695	//   "path": "userprofiles/{profileId}/regions",
42696	//   "response": {
42697	//     "$ref": "RegionsListResponse"
42698	//   },
42699	//   "scopes": [
42700	//     "https://www.googleapis.com/auth/dfatrafficking"
42701	//   ]
42702	// }
42703
42704}
42705
42706// method id "dfareporting.remarketingListShares.get":
42707
42708type RemarketingListSharesGetCall struct {
42709	s                 *Service
42710	profileId         int64
42711	remarketingListId int64
42712	urlParams_        gensupport.URLParams
42713	ifNoneMatch_      string
42714	ctx_              context.Context
42715	header_           http.Header
42716}
42717
42718// Get: Gets one remarketing list share by remarketing list ID.
42719//
42720// - profileId: User profile ID associated with this request.
42721// - remarketingListId: Remarketing list ID.
42722func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
42723	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42724	c.profileId = profileId
42725	c.remarketingListId = remarketingListId
42726	return c
42727}
42728
42729// Fields allows partial responses to be retrieved. See
42730// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42731// for more information.
42732func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
42733	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42734	return c
42735}
42736
42737// IfNoneMatch sets the optional parameter which makes the operation
42738// fail if the object's ETag matches the given value. This is useful for
42739// getting updates only after the object has changed since the last
42740// request. Use googleapi.IsNotModified to check whether the response
42741// error from Do is the result of In-None-Match.
42742func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
42743	c.ifNoneMatch_ = entityTag
42744	return c
42745}
42746
42747// Context sets the context to be used in this call's Do method. Any
42748// pending HTTP request will be aborted if the provided context is
42749// canceled.
42750func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
42751	c.ctx_ = ctx
42752	return c
42753}
42754
42755// Header returns an http.Header that can be modified by the caller to
42756// add HTTP headers to the request.
42757func (c *RemarketingListSharesGetCall) Header() http.Header {
42758	if c.header_ == nil {
42759		c.header_ = make(http.Header)
42760	}
42761	return c.header_
42762}
42763
42764func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
42765	reqHeaders := make(http.Header)
42766	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
42767	for k, v := range c.header_ {
42768		reqHeaders[k] = v
42769	}
42770	reqHeaders.Set("User-Agent", c.s.userAgent())
42771	if c.ifNoneMatch_ != "" {
42772		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42773	}
42774	var body io.Reader = nil
42775	c.urlParams_.Set("alt", alt)
42776	c.urlParams_.Set("prettyPrint", "false")
42777	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
42778	urls += "?" + c.urlParams_.Encode()
42779	req, err := http.NewRequest("GET", urls, body)
42780	if err != nil {
42781		return nil, err
42782	}
42783	req.Header = reqHeaders
42784	googleapi.Expand(req.URL, map[string]string{
42785		"profileId":         strconv.FormatInt(c.profileId, 10),
42786		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
42787	})
42788	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42789}
42790
42791// Do executes the "dfareporting.remarketingListShares.get" call.
42792// Exactly one of *RemarketingListShare or error will be non-nil. Any
42793// non-2xx status code is an error. Response headers are in either
42794// *RemarketingListShare.ServerResponse.Header or (if a response was
42795// returned at all) in error.(*googleapi.Error).Header. Use
42796// googleapi.IsNotModified to check whether the returned error was
42797// because http.StatusNotModified was returned.
42798func (c *RemarketingListSharesGetCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
42799	gensupport.SetOptions(c.urlParams_, opts...)
42800	res, err := c.doRequest("json")
42801	if res != nil && res.StatusCode == http.StatusNotModified {
42802		if res.Body != nil {
42803			res.Body.Close()
42804		}
42805		return nil, &googleapi.Error{
42806			Code:   res.StatusCode,
42807			Header: res.Header,
42808		}
42809	}
42810	if err != nil {
42811		return nil, err
42812	}
42813	defer googleapi.CloseBody(res)
42814	if err := googleapi.CheckResponse(res); err != nil {
42815		return nil, err
42816	}
42817	ret := &RemarketingListShare{
42818		ServerResponse: googleapi.ServerResponse{
42819			Header:         res.Header,
42820			HTTPStatusCode: res.StatusCode,
42821		},
42822	}
42823	target := &ret
42824	if err := gensupport.DecodeResponse(target, res); err != nil {
42825		return nil, err
42826	}
42827	return ret, nil
42828	// {
42829	//   "description": "Gets one remarketing list share by remarketing list ID.",
42830	//   "flatPath": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
42831	//   "httpMethod": "GET",
42832	//   "id": "dfareporting.remarketingListShares.get",
42833	//   "parameterOrder": [
42834	//     "profileId",
42835	//     "remarketingListId"
42836	//   ],
42837	//   "parameters": {
42838	//     "profileId": {
42839	//       "description": "User profile ID associated with this request.",
42840	//       "format": "int64",
42841	//       "location": "path",
42842	//       "required": true,
42843	//       "type": "string"
42844	//     },
42845	//     "remarketingListId": {
42846	//       "description": "Remarketing list ID.",
42847	//       "format": "int64",
42848	//       "location": "path",
42849	//       "required": true,
42850	//       "type": "string"
42851	//     }
42852	//   },
42853	//   "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
42854	//   "response": {
42855	//     "$ref": "RemarketingListShare"
42856	//   },
42857	//   "scopes": [
42858	//     "https://www.googleapis.com/auth/dfatrafficking"
42859	//   ]
42860	// }
42861
42862}
42863
42864// method id "dfareporting.remarketingListShares.patch":
42865
42866type RemarketingListSharesPatchCall struct {
42867	s                    *Service
42868	profileId            int64
42869	remarketinglistshare *RemarketingListShare
42870	urlParams_           gensupport.URLParams
42871	ctx_                 context.Context
42872	header_              http.Header
42873}
42874
42875// Patch: Updates an existing remarketing list share. This method
42876// supports patch semantics.
42877//
42878// - id: RemarketingList ID.
42879// - profileId: User profile ID associated with this request.
42880func (r *RemarketingListSharesService) Patch(profileId int64, id int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
42881	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42882	c.profileId = profileId
42883	c.urlParams_.Set("id", fmt.Sprint(id))
42884	c.remarketinglistshare = remarketinglistshare
42885	return c
42886}
42887
42888// Fields allows partial responses to be retrieved. See
42889// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42890// for more information.
42891func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
42892	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42893	return c
42894}
42895
42896// Context sets the context to be used in this call's Do method. Any
42897// pending HTTP request will be aborted if the provided context is
42898// canceled.
42899func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
42900	c.ctx_ = ctx
42901	return c
42902}
42903
42904// Header returns an http.Header that can be modified by the caller to
42905// add HTTP headers to the request.
42906func (c *RemarketingListSharesPatchCall) Header() http.Header {
42907	if c.header_ == nil {
42908		c.header_ = make(http.Header)
42909	}
42910	return c.header_
42911}
42912
42913func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
42914	reqHeaders := make(http.Header)
42915	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
42916	for k, v := range c.header_ {
42917		reqHeaders[k] = v
42918	}
42919	reqHeaders.Set("User-Agent", c.s.userAgent())
42920	var body io.Reader = nil
42921	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
42922	if err != nil {
42923		return nil, err
42924	}
42925	reqHeaders.Set("Content-Type", "application/json")
42926	c.urlParams_.Set("alt", alt)
42927	c.urlParams_.Set("prettyPrint", "false")
42928	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
42929	urls += "?" + c.urlParams_.Encode()
42930	req, err := http.NewRequest("PATCH", urls, body)
42931	if err != nil {
42932		return nil, err
42933	}
42934	req.Header = reqHeaders
42935	googleapi.Expand(req.URL, map[string]string{
42936		"profileId": strconv.FormatInt(c.profileId, 10),
42937	})
42938	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42939}
42940
42941// Do executes the "dfareporting.remarketingListShares.patch" call.
42942// Exactly one of *RemarketingListShare or error will be non-nil. Any
42943// non-2xx status code is an error. Response headers are in either
42944// *RemarketingListShare.ServerResponse.Header or (if a response was
42945// returned at all) in error.(*googleapi.Error).Header. Use
42946// googleapi.IsNotModified to check whether the returned error was
42947// because http.StatusNotModified was returned.
42948func (c *RemarketingListSharesPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
42949	gensupport.SetOptions(c.urlParams_, opts...)
42950	res, err := c.doRequest("json")
42951	if res != nil && res.StatusCode == http.StatusNotModified {
42952		if res.Body != nil {
42953			res.Body.Close()
42954		}
42955		return nil, &googleapi.Error{
42956			Code:   res.StatusCode,
42957			Header: res.Header,
42958		}
42959	}
42960	if err != nil {
42961		return nil, err
42962	}
42963	defer googleapi.CloseBody(res)
42964	if err := googleapi.CheckResponse(res); err != nil {
42965		return nil, err
42966	}
42967	ret := &RemarketingListShare{
42968		ServerResponse: googleapi.ServerResponse{
42969			Header:         res.Header,
42970			HTTPStatusCode: res.StatusCode,
42971		},
42972	}
42973	target := &ret
42974	if err := gensupport.DecodeResponse(target, res); err != nil {
42975		return nil, err
42976	}
42977	return ret, nil
42978	// {
42979	//   "description": "Updates an existing remarketing list share. This method supports patch semantics.",
42980	//   "flatPath": "userprofiles/{profileId}/remarketingListShares",
42981	//   "httpMethod": "PATCH",
42982	//   "id": "dfareporting.remarketingListShares.patch",
42983	//   "parameterOrder": [
42984	//     "profileId",
42985	//     "id"
42986	//   ],
42987	//   "parameters": {
42988	//     "id": {
42989	//       "description": "RemarketingList ID.",
42990	//       "format": "int64",
42991	//       "location": "query",
42992	//       "required": true,
42993	//       "type": "string"
42994	//     },
42995	//     "profileId": {
42996	//       "description": "User profile ID associated with this request.",
42997	//       "format": "int64",
42998	//       "location": "path",
42999	//       "required": true,
43000	//       "type": "string"
43001	//     }
43002	//   },
43003	//   "path": "userprofiles/{profileId}/remarketingListShares",
43004	//   "request": {
43005	//     "$ref": "RemarketingListShare"
43006	//   },
43007	//   "response": {
43008	//     "$ref": "RemarketingListShare"
43009	//   },
43010	//   "scopes": [
43011	//     "https://www.googleapis.com/auth/dfatrafficking"
43012	//   ]
43013	// }
43014
43015}
43016
43017// method id "dfareporting.remarketingListShares.update":
43018
43019type RemarketingListSharesUpdateCall struct {
43020	s                    *Service
43021	profileId            int64
43022	remarketinglistshare *RemarketingListShare
43023	urlParams_           gensupport.URLParams
43024	ctx_                 context.Context
43025	header_              http.Header
43026}
43027
43028// Update: Updates an existing remarketing list share.
43029//
43030// - profileId: User profile ID associated with this request.
43031func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
43032	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43033	c.profileId = profileId
43034	c.remarketinglistshare = remarketinglistshare
43035	return c
43036}
43037
43038// Fields allows partial responses to be retrieved. See
43039// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43040// for more information.
43041func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
43042	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43043	return c
43044}
43045
43046// Context sets the context to be used in this call's Do method. Any
43047// pending HTTP request will be aborted if the provided context is
43048// canceled.
43049func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
43050	c.ctx_ = ctx
43051	return c
43052}
43053
43054// Header returns an http.Header that can be modified by the caller to
43055// add HTTP headers to the request.
43056func (c *RemarketingListSharesUpdateCall) Header() http.Header {
43057	if c.header_ == nil {
43058		c.header_ = make(http.Header)
43059	}
43060	return c.header_
43061}
43062
43063func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
43064	reqHeaders := make(http.Header)
43065	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
43066	for k, v := range c.header_ {
43067		reqHeaders[k] = v
43068	}
43069	reqHeaders.Set("User-Agent", c.s.userAgent())
43070	var body io.Reader = nil
43071	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
43072	if err != nil {
43073		return nil, err
43074	}
43075	reqHeaders.Set("Content-Type", "application/json")
43076	c.urlParams_.Set("alt", alt)
43077	c.urlParams_.Set("prettyPrint", "false")
43078	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
43079	urls += "?" + c.urlParams_.Encode()
43080	req, err := http.NewRequest("PUT", urls, body)
43081	if err != nil {
43082		return nil, err
43083	}
43084	req.Header = reqHeaders
43085	googleapi.Expand(req.URL, map[string]string{
43086		"profileId": strconv.FormatInt(c.profileId, 10),
43087	})
43088	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43089}
43090
43091// Do executes the "dfareporting.remarketingListShares.update" call.
43092// Exactly one of *RemarketingListShare or error will be non-nil. Any
43093// non-2xx status code is an error. Response headers are in either
43094// *RemarketingListShare.ServerResponse.Header or (if a response was
43095// returned at all) in error.(*googleapi.Error).Header. Use
43096// googleapi.IsNotModified to check whether the returned error was
43097// because http.StatusNotModified was returned.
43098func (c *RemarketingListSharesUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
43099	gensupport.SetOptions(c.urlParams_, opts...)
43100	res, err := c.doRequest("json")
43101	if res != nil && res.StatusCode == http.StatusNotModified {
43102		if res.Body != nil {
43103			res.Body.Close()
43104		}
43105		return nil, &googleapi.Error{
43106			Code:   res.StatusCode,
43107			Header: res.Header,
43108		}
43109	}
43110	if err != nil {
43111		return nil, err
43112	}
43113	defer googleapi.CloseBody(res)
43114	if err := googleapi.CheckResponse(res); err != nil {
43115		return nil, err
43116	}
43117	ret := &RemarketingListShare{
43118		ServerResponse: googleapi.ServerResponse{
43119			Header:         res.Header,
43120			HTTPStatusCode: res.StatusCode,
43121		},
43122	}
43123	target := &ret
43124	if err := gensupport.DecodeResponse(target, res); err != nil {
43125		return nil, err
43126	}
43127	return ret, nil
43128	// {
43129	//   "description": "Updates an existing remarketing list share.",
43130	//   "flatPath": "userprofiles/{profileId}/remarketingListShares",
43131	//   "httpMethod": "PUT",
43132	//   "id": "dfareporting.remarketingListShares.update",
43133	//   "parameterOrder": [
43134	//     "profileId"
43135	//   ],
43136	//   "parameters": {
43137	//     "profileId": {
43138	//       "description": "User profile ID associated with this request.",
43139	//       "format": "int64",
43140	//       "location": "path",
43141	//       "required": true,
43142	//       "type": "string"
43143	//     }
43144	//   },
43145	//   "path": "userprofiles/{profileId}/remarketingListShares",
43146	//   "request": {
43147	//     "$ref": "RemarketingListShare"
43148	//   },
43149	//   "response": {
43150	//     "$ref": "RemarketingListShare"
43151	//   },
43152	//   "scopes": [
43153	//     "https://www.googleapis.com/auth/dfatrafficking"
43154	//   ]
43155	// }
43156
43157}
43158
43159// method id "dfareporting.remarketingLists.get":
43160
43161type RemarketingListsGetCall struct {
43162	s            *Service
43163	profileId    int64
43164	id           int64
43165	urlParams_   gensupport.URLParams
43166	ifNoneMatch_ string
43167	ctx_         context.Context
43168	header_      http.Header
43169}
43170
43171// Get: Gets one remarketing list by ID.
43172//
43173// - id: Remarketing list ID.
43174// - profileId: User profile ID associated with this request.
43175func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
43176	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43177	c.profileId = profileId
43178	c.id = id
43179	return c
43180}
43181
43182// Fields allows partial responses to be retrieved. See
43183// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43184// for more information.
43185func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
43186	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43187	return c
43188}
43189
43190// IfNoneMatch sets the optional parameter which makes the operation
43191// fail if the object's ETag matches the given value. This is useful for
43192// getting updates only after the object has changed since the last
43193// request. Use googleapi.IsNotModified to check whether the response
43194// error from Do is the result of In-None-Match.
43195func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
43196	c.ifNoneMatch_ = entityTag
43197	return c
43198}
43199
43200// Context sets the context to be used in this call's Do method. Any
43201// pending HTTP request will be aborted if the provided context is
43202// canceled.
43203func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
43204	c.ctx_ = ctx
43205	return c
43206}
43207
43208// Header returns an http.Header that can be modified by the caller to
43209// add HTTP headers to the request.
43210func (c *RemarketingListsGetCall) Header() http.Header {
43211	if c.header_ == nil {
43212		c.header_ = make(http.Header)
43213	}
43214	return c.header_
43215}
43216
43217func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
43218	reqHeaders := make(http.Header)
43219	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
43220	for k, v := range c.header_ {
43221		reqHeaders[k] = v
43222	}
43223	reqHeaders.Set("User-Agent", c.s.userAgent())
43224	if c.ifNoneMatch_ != "" {
43225		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43226	}
43227	var body io.Reader = nil
43228	c.urlParams_.Set("alt", alt)
43229	c.urlParams_.Set("prettyPrint", "false")
43230	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
43231	urls += "?" + c.urlParams_.Encode()
43232	req, err := http.NewRequest("GET", urls, body)
43233	if err != nil {
43234		return nil, err
43235	}
43236	req.Header = reqHeaders
43237	googleapi.Expand(req.URL, map[string]string{
43238		"profileId": strconv.FormatInt(c.profileId, 10),
43239		"id":        strconv.FormatInt(c.id, 10),
43240	})
43241	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43242}
43243
43244// Do executes the "dfareporting.remarketingLists.get" call.
43245// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43246// status code is an error. Response headers are in either
43247// *RemarketingList.ServerResponse.Header or (if a response was returned
43248// at all) in error.(*googleapi.Error).Header. Use
43249// googleapi.IsNotModified to check whether the returned error was
43250// because http.StatusNotModified was returned.
43251func (c *RemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43252	gensupport.SetOptions(c.urlParams_, opts...)
43253	res, err := c.doRequest("json")
43254	if res != nil && res.StatusCode == http.StatusNotModified {
43255		if res.Body != nil {
43256			res.Body.Close()
43257		}
43258		return nil, &googleapi.Error{
43259			Code:   res.StatusCode,
43260			Header: res.Header,
43261		}
43262	}
43263	if err != nil {
43264		return nil, err
43265	}
43266	defer googleapi.CloseBody(res)
43267	if err := googleapi.CheckResponse(res); err != nil {
43268		return nil, err
43269	}
43270	ret := &RemarketingList{
43271		ServerResponse: googleapi.ServerResponse{
43272			Header:         res.Header,
43273			HTTPStatusCode: res.StatusCode,
43274		},
43275	}
43276	target := &ret
43277	if err := gensupport.DecodeResponse(target, res); err != nil {
43278		return nil, err
43279	}
43280	return ret, nil
43281	// {
43282	//   "description": "Gets one remarketing list by ID.",
43283	//   "flatPath": "userprofiles/{profileId}/remarketingLists/{id}",
43284	//   "httpMethod": "GET",
43285	//   "id": "dfareporting.remarketingLists.get",
43286	//   "parameterOrder": [
43287	//     "profileId",
43288	//     "id"
43289	//   ],
43290	//   "parameters": {
43291	//     "id": {
43292	//       "description": "Remarketing list ID.",
43293	//       "format": "int64",
43294	//       "location": "path",
43295	//       "required": true,
43296	//       "type": "string"
43297	//     },
43298	//     "profileId": {
43299	//       "description": "User profile ID associated with this request.",
43300	//       "format": "int64",
43301	//       "location": "path",
43302	//       "required": true,
43303	//       "type": "string"
43304	//     }
43305	//   },
43306	//   "path": "userprofiles/{profileId}/remarketingLists/{id}",
43307	//   "response": {
43308	//     "$ref": "RemarketingList"
43309	//   },
43310	//   "scopes": [
43311	//     "https://www.googleapis.com/auth/dfatrafficking"
43312	//   ]
43313	// }
43314
43315}
43316
43317// method id "dfareporting.remarketingLists.insert":
43318
43319type RemarketingListsInsertCall struct {
43320	s               *Service
43321	profileId       int64
43322	remarketinglist *RemarketingList
43323	urlParams_      gensupport.URLParams
43324	ctx_            context.Context
43325	header_         http.Header
43326}
43327
43328// Insert: Inserts a new remarketing list.
43329//
43330// - profileId: User profile ID associated with this request.
43331func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
43332	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43333	c.profileId = profileId
43334	c.remarketinglist = remarketinglist
43335	return c
43336}
43337
43338// Fields allows partial responses to be retrieved. See
43339// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43340// for more information.
43341func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
43342	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43343	return c
43344}
43345
43346// Context sets the context to be used in this call's Do method. Any
43347// pending HTTP request will be aborted if the provided context is
43348// canceled.
43349func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
43350	c.ctx_ = ctx
43351	return c
43352}
43353
43354// Header returns an http.Header that can be modified by the caller to
43355// add HTTP headers to the request.
43356func (c *RemarketingListsInsertCall) Header() http.Header {
43357	if c.header_ == nil {
43358		c.header_ = make(http.Header)
43359	}
43360	return c.header_
43361}
43362
43363func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
43364	reqHeaders := make(http.Header)
43365	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
43366	for k, v := range c.header_ {
43367		reqHeaders[k] = v
43368	}
43369	reqHeaders.Set("User-Agent", c.s.userAgent())
43370	var body io.Reader = nil
43371	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
43372	if err != nil {
43373		return nil, err
43374	}
43375	reqHeaders.Set("Content-Type", "application/json")
43376	c.urlParams_.Set("alt", alt)
43377	c.urlParams_.Set("prettyPrint", "false")
43378	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43379	urls += "?" + c.urlParams_.Encode()
43380	req, err := http.NewRequest("POST", urls, body)
43381	if err != nil {
43382		return nil, err
43383	}
43384	req.Header = reqHeaders
43385	googleapi.Expand(req.URL, map[string]string{
43386		"profileId": strconv.FormatInt(c.profileId, 10),
43387	})
43388	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43389}
43390
43391// Do executes the "dfareporting.remarketingLists.insert" call.
43392// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43393// status code is an error. Response headers are in either
43394// *RemarketingList.ServerResponse.Header or (if a response was returned
43395// at all) in error.(*googleapi.Error).Header. Use
43396// googleapi.IsNotModified to check whether the returned error was
43397// because http.StatusNotModified was returned.
43398func (c *RemarketingListsInsertCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43399	gensupport.SetOptions(c.urlParams_, opts...)
43400	res, err := c.doRequest("json")
43401	if res != nil && res.StatusCode == http.StatusNotModified {
43402		if res.Body != nil {
43403			res.Body.Close()
43404		}
43405		return nil, &googleapi.Error{
43406			Code:   res.StatusCode,
43407			Header: res.Header,
43408		}
43409	}
43410	if err != nil {
43411		return nil, err
43412	}
43413	defer googleapi.CloseBody(res)
43414	if err := googleapi.CheckResponse(res); err != nil {
43415		return nil, err
43416	}
43417	ret := &RemarketingList{
43418		ServerResponse: googleapi.ServerResponse{
43419			Header:         res.Header,
43420			HTTPStatusCode: res.StatusCode,
43421		},
43422	}
43423	target := &ret
43424	if err := gensupport.DecodeResponse(target, res); err != nil {
43425		return nil, err
43426	}
43427	return ret, nil
43428	// {
43429	//   "description": "Inserts a new remarketing list.",
43430	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
43431	//   "httpMethod": "POST",
43432	//   "id": "dfareporting.remarketingLists.insert",
43433	//   "parameterOrder": [
43434	//     "profileId"
43435	//   ],
43436	//   "parameters": {
43437	//     "profileId": {
43438	//       "description": "User profile ID associated with this request.",
43439	//       "format": "int64",
43440	//       "location": "path",
43441	//       "required": true,
43442	//       "type": "string"
43443	//     }
43444	//   },
43445	//   "path": "userprofiles/{profileId}/remarketingLists",
43446	//   "request": {
43447	//     "$ref": "RemarketingList"
43448	//   },
43449	//   "response": {
43450	//     "$ref": "RemarketingList"
43451	//   },
43452	//   "scopes": [
43453	//     "https://www.googleapis.com/auth/dfatrafficking"
43454	//   ]
43455	// }
43456
43457}
43458
43459// method id "dfareporting.remarketingLists.list":
43460
43461type RemarketingListsListCall struct {
43462	s            *Service
43463	profileId    int64
43464	urlParams_   gensupport.URLParams
43465	ifNoneMatch_ string
43466	ctx_         context.Context
43467	header_      http.Header
43468}
43469
43470// List: Retrieves a list of remarketing lists, possibly filtered. This
43471// method supports paging.
43472//
43473// - advertiserId: Select only remarketing lists owned by this
43474//   advertiser.
43475// - profileId: User profile ID associated with this request.
43476func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
43477	c := &RemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43478	c.profileId = profileId
43479	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
43480	return c
43481}
43482
43483// Active sets the optional parameter "active": Select only active or
43484// only inactive remarketing lists.
43485func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
43486	c.urlParams_.Set("active", fmt.Sprint(active))
43487	return c
43488}
43489
43490// FloodlightActivityId sets the optional parameter
43491// "floodlightActivityId": Select only remarketing lists that have this
43492// floodlight activity ID.
43493func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
43494	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
43495	return c
43496}
43497
43498// MaxResults sets the optional parameter "maxResults": Maximum number
43499// of results to return.
43500func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
43501	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
43502	return c
43503}
43504
43505// Name sets the optional parameter "name": Allows searching for objects
43506// by name or ID. Wildcards (*) are allowed. For example, "remarketing
43507// list*2015" will return objects with names like "remarketing list June
43508// 2015", "remarketing list April 2015", or simply "remarketing list
43509// 2015". Most of the searches also add wildcards implicitly at the
43510// start and the end of the search string. For example, a search string
43511// of "remarketing list" will match objects with name "my remarketing
43512// list", "remarketing list 2015", or simply "remarketing list".
43513func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
43514	c.urlParams_.Set("name", name)
43515	return c
43516}
43517
43518// PageToken sets the optional parameter "pageToken": Value of the
43519// nextPageToken from the previous result page.
43520func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
43521	c.urlParams_.Set("pageToken", pageToken)
43522	return c
43523}
43524
43525// SortField sets the optional parameter "sortField": Field by which to
43526// sort the list.
43527//
43528// Possible values:
43529//   "ID" (default)
43530//   "NAME"
43531func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
43532	c.urlParams_.Set("sortField", sortField)
43533	return c
43534}
43535
43536// SortOrder sets the optional parameter "sortOrder": Order of sorted
43537// results.
43538//
43539// Possible values:
43540//   "ASCENDING" (default)
43541//   "DESCENDING"
43542func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
43543	c.urlParams_.Set("sortOrder", sortOrder)
43544	return c
43545}
43546
43547// Fields allows partial responses to be retrieved. See
43548// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43549// for more information.
43550func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
43551	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43552	return c
43553}
43554
43555// IfNoneMatch sets the optional parameter which makes the operation
43556// fail if the object's ETag matches the given value. This is useful for
43557// getting updates only after the object has changed since the last
43558// request. Use googleapi.IsNotModified to check whether the response
43559// error from Do is the result of In-None-Match.
43560func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
43561	c.ifNoneMatch_ = entityTag
43562	return c
43563}
43564
43565// Context sets the context to be used in this call's Do method. Any
43566// pending HTTP request will be aborted if the provided context is
43567// canceled.
43568func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
43569	c.ctx_ = ctx
43570	return c
43571}
43572
43573// Header returns an http.Header that can be modified by the caller to
43574// add HTTP headers to the request.
43575func (c *RemarketingListsListCall) Header() http.Header {
43576	if c.header_ == nil {
43577		c.header_ = make(http.Header)
43578	}
43579	return c.header_
43580}
43581
43582func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
43583	reqHeaders := make(http.Header)
43584	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
43585	for k, v := range c.header_ {
43586		reqHeaders[k] = v
43587	}
43588	reqHeaders.Set("User-Agent", c.s.userAgent())
43589	if c.ifNoneMatch_ != "" {
43590		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43591	}
43592	var body io.Reader = nil
43593	c.urlParams_.Set("alt", alt)
43594	c.urlParams_.Set("prettyPrint", "false")
43595	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43596	urls += "?" + c.urlParams_.Encode()
43597	req, err := http.NewRequest("GET", urls, body)
43598	if err != nil {
43599		return nil, err
43600	}
43601	req.Header = reqHeaders
43602	googleapi.Expand(req.URL, map[string]string{
43603		"profileId": strconv.FormatInt(c.profileId, 10),
43604	})
43605	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43606}
43607
43608// Do executes the "dfareporting.remarketingLists.list" call.
43609// Exactly one of *RemarketingListsListResponse or error will be
43610// non-nil. Any non-2xx status code is an error. Response headers are in
43611// either *RemarketingListsListResponse.ServerResponse.Header or (if a
43612// response was returned at all) in error.(*googleapi.Error).Header. Use
43613// googleapi.IsNotModified to check whether the returned error was
43614// because http.StatusNotModified was returned.
43615func (c *RemarketingListsListCall) Do(opts ...googleapi.CallOption) (*RemarketingListsListResponse, error) {
43616	gensupport.SetOptions(c.urlParams_, opts...)
43617	res, err := c.doRequest("json")
43618	if res != nil && res.StatusCode == http.StatusNotModified {
43619		if res.Body != nil {
43620			res.Body.Close()
43621		}
43622		return nil, &googleapi.Error{
43623			Code:   res.StatusCode,
43624			Header: res.Header,
43625		}
43626	}
43627	if err != nil {
43628		return nil, err
43629	}
43630	defer googleapi.CloseBody(res)
43631	if err := googleapi.CheckResponse(res); err != nil {
43632		return nil, err
43633	}
43634	ret := &RemarketingListsListResponse{
43635		ServerResponse: googleapi.ServerResponse{
43636			Header:         res.Header,
43637			HTTPStatusCode: res.StatusCode,
43638		},
43639	}
43640	target := &ret
43641	if err := gensupport.DecodeResponse(target, res); err != nil {
43642		return nil, err
43643	}
43644	return ret, nil
43645	// {
43646	//   "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
43647	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
43648	//   "httpMethod": "GET",
43649	//   "id": "dfareporting.remarketingLists.list",
43650	//   "parameterOrder": [
43651	//     "profileId",
43652	//     "advertiserId"
43653	//   ],
43654	//   "parameters": {
43655	//     "active": {
43656	//       "description": "Select only active or only inactive remarketing lists.",
43657	//       "location": "query",
43658	//       "type": "boolean"
43659	//     },
43660	//     "advertiserId": {
43661	//       "description": "Select only remarketing lists owned by this advertiser.",
43662	//       "format": "int64",
43663	//       "location": "query",
43664	//       "required": true,
43665	//       "type": "string"
43666	//     },
43667	//     "floodlightActivityId": {
43668	//       "description": "Select only remarketing lists that have this floodlight activity ID.",
43669	//       "format": "int64",
43670	//       "location": "query",
43671	//       "type": "string"
43672	//     },
43673	//     "maxResults": {
43674	//       "default": "1000",
43675	//       "description": "Maximum number of results to return.",
43676	//       "format": "int32",
43677	//       "location": "query",
43678	//       "maximum": "1000",
43679	//       "minimum": "0",
43680	//       "type": "integer"
43681	//     },
43682	//     "name": {
43683	//       "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\".",
43684	//       "location": "query",
43685	//       "type": "string"
43686	//     },
43687	//     "pageToken": {
43688	//       "description": "Value of the nextPageToken from the previous result page.",
43689	//       "location": "query",
43690	//       "type": "string"
43691	//     },
43692	//     "profileId": {
43693	//       "description": "User profile ID associated with this request.",
43694	//       "format": "int64",
43695	//       "location": "path",
43696	//       "required": true,
43697	//       "type": "string"
43698	//     },
43699	//     "sortField": {
43700	//       "default": "ID",
43701	//       "description": "Field by which to sort the list.",
43702	//       "enum": [
43703	//         "ID",
43704	//         "NAME"
43705	//       ],
43706	//       "enumDescriptions": [
43707	//         "",
43708	//         ""
43709	//       ],
43710	//       "location": "query",
43711	//       "type": "string"
43712	//     },
43713	//     "sortOrder": {
43714	//       "default": "ASCENDING",
43715	//       "description": "Order of sorted results.",
43716	//       "enum": [
43717	//         "ASCENDING",
43718	//         "DESCENDING"
43719	//       ],
43720	//       "enumDescriptions": [
43721	//         "",
43722	//         ""
43723	//       ],
43724	//       "location": "query",
43725	//       "type": "string"
43726	//     }
43727	//   },
43728	//   "path": "userprofiles/{profileId}/remarketingLists",
43729	//   "response": {
43730	//     "$ref": "RemarketingListsListResponse"
43731	//   },
43732	//   "scopes": [
43733	//     "https://www.googleapis.com/auth/dfatrafficking"
43734	//   ]
43735	// }
43736
43737}
43738
43739// Pages invokes f for each page of results.
43740// A non-nil error returned from f will halt the iteration.
43741// The provided context supersedes any context provided to the Context method.
43742func (c *RemarketingListsListCall) Pages(ctx context.Context, f func(*RemarketingListsListResponse) error) error {
43743	c.ctx_ = ctx
43744	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
43745	for {
43746		x, err := c.Do()
43747		if err != nil {
43748			return err
43749		}
43750		if err := f(x); err != nil {
43751			return err
43752		}
43753		if x.NextPageToken == "" {
43754			return nil
43755		}
43756		c.PageToken(x.NextPageToken)
43757	}
43758}
43759
43760// method id "dfareporting.remarketingLists.patch":
43761
43762type RemarketingListsPatchCall struct {
43763	s               *Service
43764	profileId       int64
43765	remarketinglist *RemarketingList
43766	urlParams_      gensupport.URLParams
43767	ctx_            context.Context
43768	header_         http.Header
43769}
43770
43771// Patch: Updates an existing remarketing list. This method supports
43772// patch semantics.
43773//
43774// - id: RemarketingList ID.
43775// - profileId: User profile ID associated with this request.
43776func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
43777	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43778	c.profileId = profileId
43779	c.urlParams_.Set("id", fmt.Sprint(id))
43780	c.remarketinglist = remarketinglist
43781	return c
43782}
43783
43784// Fields allows partial responses to be retrieved. See
43785// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43786// for more information.
43787func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
43788	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43789	return c
43790}
43791
43792// Context sets the context to be used in this call's Do method. Any
43793// pending HTTP request will be aborted if the provided context is
43794// canceled.
43795func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
43796	c.ctx_ = ctx
43797	return c
43798}
43799
43800// Header returns an http.Header that can be modified by the caller to
43801// add HTTP headers to the request.
43802func (c *RemarketingListsPatchCall) Header() http.Header {
43803	if c.header_ == nil {
43804		c.header_ = make(http.Header)
43805	}
43806	return c.header_
43807}
43808
43809func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
43810	reqHeaders := make(http.Header)
43811	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
43812	for k, v := range c.header_ {
43813		reqHeaders[k] = v
43814	}
43815	reqHeaders.Set("User-Agent", c.s.userAgent())
43816	var body io.Reader = nil
43817	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
43818	if err != nil {
43819		return nil, err
43820	}
43821	reqHeaders.Set("Content-Type", "application/json")
43822	c.urlParams_.Set("alt", alt)
43823	c.urlParams_.Set("prettyPrint", "false")
43824	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43825	urls += "?" + c.urlParams_.Encode()
43826	req, err := http.NewRequest("PATCH", urls, body)
43827	if err != nil {
43828		return nil, err
43829	}
43830	req.Header = reqHeaders
43831	googleapi.Expand(req.URL, map[string]string{
43832		"profileId": strconv.FormatInt(c.profileId, 10),
43833	})
43834	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43835}
43836
43837// Do executes the "dfareporting.remarketingLists.patch" call.
43838// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43839// status code is an error. Response headers are in either
43840// *RemarketingList.ServerResponse.Header or (if a response was returned
43841// at all) in error.(*googleapi.Error).Header. Use
43842// googleapi.IsNotModified to check whether the returned error was
43843// because http.StatusNotModified was returned.
43844func (c *RemarketingListsPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43845	gensupport.SetOptions(c.urlParams_, opts...)
43846	res, err := c.doRequest("json")
43847	if res != nil && res.StatusCode == http.StatusNotModified {
43848		if res.Body != nil {
43849			res.Body.Close()
43850		}
43851		return nil, &googleapi.Error{
43852			Code:   res.StatusCode,
43853			Header: res.Header,
43854		}
43855	}
43856	if err != nil {
43857		return nil, err
43858	}
43859	defer googleapi.CloseBody(res)
43860	if err := googleapi.CheckResponse(res); err != nil {
43861		return nil, err
43862	}
43863	ret := &RemarketingList{
43864		ServerResponse: googleapi.ServerResponse{
43865			Header:         res.Header,
43866			HTTPStatusCode: res.StatusCode,
43867		},
43868	}
43869	target := &ret
43870	if err := gensupport.DecodeResponse(target, res); err != nil {
43871		return nil, err
43872	}
43873	return ret, nil
43874	// {
43875	//   "description": "Updates an existing remarketing list. This method supports patch semantics.",
43876	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
43877	//   "httpMethod": "PATCH",
43878	//   "id": "dfareporting.remarketingLists.patch",
43879	//   "parameterOrder": [
43880	//     "profileId",
43881	//     "id"
43882	//   ],
43883	//   "parameters": {
43884	//     "id": {
43885	//       "description": "RemarketingList ID.",
43886	//       "format": "int64",
43887	//       "location": "query",
43888	//       "required": true,
43889	//       "type": "string"
43890	//     },
43891	//     "profileId": {
43892	//       "description": "User profile ID associated with this request.",
43893	//       "format": "int64",
43894	//       "location": "path",
43895	//       "required": true,
43896	//       "type": "string"
43897	//     }
43898	//   },
43899	//   "path": "userprofiles/{profileId}/remarketingLists",
43900	//   "request": {
43901	//     "$ref": "RemarketingList"
43902	//   },
43903	//   "response": {
43904	//     "$ref": "RemarketingList"
43905	//   },
43906	//   "scopes": [
43907	//     "https://www.googleapis.com/auth/dfatrafficking"
43908	//   ]
43909	// }
43910
43911}
43912
43913// method id "dfareporting.remarketingLists.update":
43914
43915type RemarketingListsUpdateCall struct {
43916	s               *Service
43917	profileId       int64
43918	remarketinglist *RemarketingList
43919	urlParams_      gensupport.URLParams
43920	ctx_            context.Context
43921	header_         http.Header
43922}
43923
43924// Update: Updates an existing remarketing list.
43925//
43926// - profileId: User profile ID associated with this request.
43927func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
43928	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43929	c.profileId = profileId
43930	c.remarketinglist = remarketinglist
43931	return c
43932}
43933
43934// Fields allows partial responses to be retrieved. See
43935// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43936// for more information.
43937func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
43938	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43939	return c
43940}
43941
43942// Context sets the context to be used in this call's Do method. Any
43943// pending HTTP request will be aborted if the provided context is
43944// canceled.
43945func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
43946	c.ctx_ = ctx
43947	return c
43948}
43949
43950// Header returns an http.Header that can be modified by the caller to
43951// add HTTP headers to the request.
43952func (c *RemarketingListsUpdateCall) Header() http.Header {
43953	if c.header_ == nil {
43954		c.header_ = make(http.Header)
43955	}
43956	return c.header_
43957}
43958
43959func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
43960	reqHeaders := make(http.Header)
43961	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
43962	for k, v := range c.header_ {
43963		reqHeaders[k] = v
43964	}
43965	reqHeaders.Set("User-Agent", c.s.userAgent())
43966	var body io.Reader = nil
43967	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
43968	if err != nil {
43969		return nil, err
43970	}
43971	reqHeaders.Set("Content-Type", "application/json")
43972	c.urlParams_.Set("alt", alt)
43973	c.urlParams_.Set("prettyPrint", "false")
43974	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43975	urls += "?" + c.urlParams_.Encode()
43976	req, err := http.NewRequest("PUT", urls, body)
43977	if err != nil {
43978		return nil, err
43979	}
43980	req.Header = reqHeaders
43981	googleapi.Expand(req.URL, map[string]string{
43982		"profileId": strconv.FormatInt(c.profileId, 10),
43983	})
43984	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43985}
43986
43987// Do executes the "dfareporting.remarketingLists.update" call.
43988// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43989// status code is an error. Response headers are in either
43990// *RemarketingList.ServerResponse.Header or (if a response was returned
43991// at all) in error.(*googleapi.Error).Header. Use
43992// googleapi.IsNotModified to check whether the returned error was
43993// because http.StatusNotModified was returned.
43994func (c *RemarketingListsUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43995	gensupport.SetOptions(c.urlParams_, opts...)
43996	res, err := c.doRequest("json")
43997	if res != nil && res.StatusCode == http.StatusNotModified {
43998		if res.Body != nil {
43999			res.Body.Close()
44000		}
44001		return nil, &googleapi.Error{
44002			Code:   res.StatusCode,
44003			Header: res.Header,
44004		}
44005	}
44006	if err != nil {
44007		return nil, err
44008	}
44009	defer googleapi.CloseBody(res)
44010	if err := googleapi.CheckResponse(res); err != nil {
44011		return nil, err
44012	}
44013	ret := &RemarketingList{
44014		ServerResponse: googleapi.ServerResponse{
44015			Header:         res.Header,
44016			HTTPStatusCode: res.StatusCode,
44017		},
44018	}
44019	target := &ret
44020	if err := gensupport.DecodeResponse(target, res); err != nil {
44021		return nil, err
44022	}
44023	return ret, nil
44024	// {
44025	//   "description": "Updates an existing remarketing list.",
44026	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
44027	//   "httpMethod": "PUT",
44028	//   "id": "dfareporting.remarketingLists.update",
44029	//   "parameterOrder": [
44030	//     "profileId"
44031	//   ],
44032	//   "parameters": {
44033	//     "profileId": {
44034	//       "description": "User profile ID associated with this request.",
44035	//       "format": "int64",
44036	//       "location": "path",
44037	//       "required": true,
44038	//       "type": "string"
44039	//     }
44040	//   },
44041	//   "path": "userprofiles/{profileId}/remarketingLists",
44042	//   "request": {
44043	//     "$ref": "RemarketingList"
44044	//   },
44045	//   "response": {
44046	//     "$ref": "RemarketingList"
44047	//   },
44048	//   "scopes": [
44049	//     "https://www.googleapis.com/auth/dfatrafficking"
44050	//   ]
44051	// }
44052
44053}
44054
44055// method id "dfareporting.reports.delete":
44056
44057type ReportsDeleteCall struct {
44058	s          *Service
44059	profileId  int64
44060	reportId   int64
44061	urlParams_ gensupport.URLParams
44062	ctx_       context.Context
44063	header_    http.Header
44064}
44065
44066// Delete: Deletes a report by its ID.
44067//
44068// - profileId: The Campaign Manager 360 user profile ID.
44069// - reportId: The ID of the report.
44070func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
44071	c := &ReportsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44072	c.profileId = profileId
44073	c.reportId = reportId
44074	return c
44075}
44076
44077// Fields allows partial responses to be retrieved. See
44078// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44079// for more information.
44080func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
44081	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44082	return c
44083}
44084
44085// Context sets the context to be used in this call's Do method. Any
44086// pending HTTP request will be aborted if the provided context is
44087// canceled.
44088func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
44089	c.ctx_ = ctx
44090	return c
44091}
44092
44093// Header returns an http.Header that can be modified by the caller to
44094// add HTTP headers to the request.
44095func (c *ReportsDeleteCall) Header() http.Header {
44096	if c.header_ == nil {
44097		c.header_ = make(http.Header)
44098	}
44099	return c.header_
44100}
44101
44102func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
44103	reqHeaders := make(http.Header)
44104	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
44105	for k, v := range c.header_ {
44106		reqHeaders[k] = v
44107	}
44108	reqHeaders.Set("User-Agent", c.s.userAgent())
44109	var body io.Reader = nil
44110	c.urlParams_.Set("alt", alt)
44111	c.urlParams_.Set("prettyPrint", "false")
44112	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44113	urls += "?" + c.urlParams_.Encode()
44114	req, err := http.NewRequest("DELETE", urls, body)
44115	if err != nil {
44116		return nil, err
44117	}
44118	req.Header = reqHeaders
44119	googleapi.Expand(req.URL, map[string]string{
44120		"profileId": strconv.FormatInt(c.profileId, 10),
44121		"reportId":  strconv.FormatInt(c.reportId, 10),
44122	})
44123	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44124}
44125
44126// Do executes the "dfareporting.reports.delete" call.
44127func (c *ReportsDeleteCall) Do(opts ...googleapi.CallOption) error {
44128	gensupport.SetOptions(c.urlParams_, opts...)
44129	res, err := c.doRequest("json")
44130	if err != nil {
44131		return err
44132	}
44133	defer googleapi.CloseBody(res)
44134	if err := googleapi.CheckResponse(res); err != nil {
44135		return err
44136	}
44137	return nil
44138	// {
44139	//   "description": "Deletes a report by its ID.",
44140	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
44141	//   "httpMethod": "DELETE",
44142	//   "id": "dfareporting.reports.delete",
44143	//   "parameterOrder": [
44144	//     "profileId",
44145	//     "reportId"
44146	//   ],
44147	//   "parameters": {
44148	//     "profileId": {
44149	//       "description": "The Campaign Manager 360 user profile ID.",
44150	//       "format": "int64",
44151	//       "location": "path",
44152	//       "required": true,
44153	//       "type": "string"
44154	//     },
44155	//     "reportId": {
44156	//       "description": "The ID of the report.",
44157	//       "format": "int64",
44158	//       "location": "path",
44159	//       "required": true,
44160	//       "type": "string"
44161	//     }
44162	//   },
44163	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44164	//   "scopes": [
44165	//     "https://www.googleapis.com/auth/dfareporting"
44166	//   ]
44167	// }
44168
44169}
44170
44171// method id "dfareporting.reports.get":
44172
44173type ReportsGetCall struct {
44174	s            *Service
44175	profileId    int64
44176	reportId     int64
44177	urlParams_   gensupport.URLParams
44178	ifNoneMatch_ string
44179	ctx_         context.Context
44180	header_      http.Header
44181}
44182
44183// Get: Retrieves a report by its ID.
44184//
44185// - profileId: The Campaign Manager 360 user profile ID.
44186// - reportId: The ID of the report.
44187func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
44188	c := &ReportsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44189	c.profileId = profileId
44190	c.reportId = reportId
44191	return c
44192}
44193
44194// Fields allows partial responses to be retrieved. See
44195// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44196// for more information.
44197func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
44198	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44199	return c
44200}
44201
44202// IfNoneMatch sets the optional parameter which makes the operation
44203// fail if the object's ETag matches the given value. This is useful for
44204// getting updates only after the object has changed since the last
44205// request. Use googleapi.IsNotModified to check whether the response
44206// error from Do is the result of In-None-Match.
44207func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
44208	c.ifNoneMatch_ = entityTag
44209	return c
44210}
44211
44212// Context sets the context to be used in this call's Do method. Any
44213// pending HTTP request will be aborted if the provided context is
44214// canceled.
44215func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
44216	c.ctx_ = ctx
44217	return c
44218}
44219
44220// Header returns an http.Header that can be modified by the caller to
44221// add HTTP headers to the request.
44222func (c *ReportsGetCall) Header() http.Header {
44223	if c.header_ == nil {
44224		c.header_ = make(http.Header)
44225	}
44226	return c.header_
44227}
44228
44229func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
44230	reqHeaders := make(http.Header)
44231	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
44232	for k, v := range c.header_ {
44233		reqHeaders[k] = v
44234	}
44235	reqHeaders.Set("User-Agent", c.s.userAgent())
44236	if c.ifNoneMatch_ != "" {
44237		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44238	}
44239	var body io.Reader = nil
44240	c.urlParams_.Set("alt", alt)
44241	c.urlParams_.Set("prettyPrint", "false")
44242	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44243	urls += "?" + c.urlParams_.Encode()
44244	req, err := http.NewRequest("GET", urls, body)
44245	if err != nil {
44246		return nil, err
44247	}
44248	req.Header = reqHeaders
44249	googleapi.Expand(req.URL, map[string]string{
44250		"profileId": strconv.FormatInt(c.profileId, 10),
44251		"reportId":  strconv.FormatInt(c.reportId, 10),
44252	})
44253	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44254}
44255
44256// Do executes the "dfareporting.reports.get" call.
44257// Exactly one of *Report or error will be non-nil. Any non-2xx status
44258// code is an error. Response headers are in either
44259// *Report.ServerResponse.Header or (if a response was returned at all)
44260// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44261// check whether the returned error was because http.StatusNotModified
44262// was returned.
44263func (c *ReportsGetCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44264	gensupport.SetOptions(c.urlParams_, opts...)
44265	res, err := c.doRequest("json")
44266	if res != nil && res.StatusCode == http.StatusNotModified {
44267		if res.Body != nil {
44268			res.Body.Close()
44269		}
44270		return nil, &googleapi.Error{
44271			Code:   res.StatusCode,
44272			Header: res.Header,
44273		}
44274	}
44275	if err != nil {
44276		return nil, err
44277	}
44278	defer googleapi.CloseBody(res)
44279	if err := googleapi.CheckResponse(res); err != nil {
44280		return nil, err
44281	}
44282	ret := &Report{
44283		ServerResponse: googleapi.ServerResponse{
44284			Header:         res.Header,
44285			HTTPStatusCode: res.StatusCode,
44286		},
44287	}
44288	target := &ret
44289	if err := gensupport.DecodeResponse(target, res); err != nil {
44290		return nil, err
44291	}
44292	return ret, nil
44293	// {
44294	//   "description": "Retrieves a report by its ID.",
44295	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
44296	//   "httpMethod": "GET",
44297	//   "id": "dfareporting.reports.get",
44298	//   "parameterOrder": [
44299	//     "profileId",
44300	//     "reportId"
44301	//   ],
44302	//   "parameters": {
44303	//     "profileId": {
44304	//       "description": "The Campaign Manager 360 user profile ID.",
44305	//       "format": "int64",
44306	//       "location": "path",
44307	//       "required": true,
44308	//       "type": "string"
44309	//     },
44310	//     "reportId": {
44311	//       "description": "The ID of the report.",
44312	//       "format": "int64",
44313	//       "location": "path",
44314	//       "required": true,
44315	//       "type": "string"
44316	//     }
44317	//   },
44318	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44319	//   "response": {
44320	//     "$ref": "Report"
44321	//   },
44322	//   "scopes": [
44323	//     "https://www.googleapis.com/auth/dfareporting"
44324	//   ]
44325	// }
44326
44327}
44328
44329// method id "dfareporting.reports.insert":
44330
44331type ReportsInsertCall struct {
44332	s          *Service
44333	profileId  int64
44334	report     *Report
44335	urlParams_ gensupport.URLParams
44336	ctx_       context.Context
44337	header_    http.Header
44338}
44339
44340// Insert: Creates a report.
44341//
44342// - profileId: The Campaign Manager 360 user profile ID.
44343func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
44344	c := &ReportsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44345	c.profileId = profileId
44346	c.report = report
44347	return c
44348}
44349
44350// Fields allows partial responses to be retrieved. See
44351// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44352// for more information.
44353func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
44354	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44355	return c
44356}
44357
44358// Context sets the context to be used in this call's Do method. Any
44359// pending HTTP request will be aborted if the provided context is
44360// canceled.
44361func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
44362	c.ctx_ = ctx
44363	return c
44364}
44365
44366// Header returns an http.Header that can be modified by the caller to
44367// add HTTP headers to the request.
44368func (c *ReportsInsertCall) Header() http.Header {
44369	if c.header_ == nil {
44370		c.header_ = make(http.Header)
44371	}
44372	return c.header_
44373}
44374
44375func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
44376	reqHeaders := make(http.Header)
44377	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
44378	for k, v := range c.header_ {
44379		reqHeaders[k] = v
44380	}
44381	reqHeaders.Set("User-Agent", c.s.userAgent())
44382	var body io.Reader = nil
44383	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44384	if err != nil {
44385		return nil, err
44386	}
44387	reqHeaders.Set("Content-Type", "application/json")
44388	c.urlParams_.Set("alt", alt)
44389	c.urlParams_.Set("prettyPrint", "false")
44390	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
44391	urls += "?" + c.urlParams_.Encode()
44392	req, err := http.NewRequest("POST", urls, body)
44393	if err != nil {
44394		return nil, err
44395	}
44396	req.Header = reqHeaders
44397	googleapi.Expand(req.URL, map[string]string{
44398		"profileId": strconv.FormatInt(c.profileId, 10),
44399	})
44400	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44401}
44402
44403// Do executes the "dfareporting.reports.insert" call.
44404// Exactly one of *Report or error will be non-nil. Any non-2xx status
44405// code is an error. Response headers are in either
44406// *Report.ServerResponse.Header or (if a response was returned at all)
44407// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44408// check whether the returned error was because http.StatusNotModified
44409// was returned.
44410func (c *ReportsInsertCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44411	gensupport.SetOptions(c.urlParams_, opts...)
44412	res, err := c.doRequest("json")
44413	if res != nil && res.StatusCode == http.StatusNotModified {
44414		if res.Body != nil {
44415			res.Body.Close()
44416		}
44417		return nil, &googleapi.Error{
44418			Code:   res.StatusCode,
44419			Header: res.Header,
44420		}
44421	}
44422	if err != nil {
44423		return nil, err
44424	}
44425	defer googleapi.CloseBody(res)
44426	if err := googleapi.CheckResponse(res); err != nil {
44427		return nil, err
44428	}
44429	ret := &Report{
44430		ServerResponse: googleapi.ServerResponse{
44431			Header:         res.Header,
44432			HTTPStatusCode: res.StatusCode,
44433		},
44434	}
44435	target := &ret
44436	if err := gensupport.DecodeResponse(target, res); err != nil {
44437		return nil, err
44438	}
44439	return ret, nil
44440	// {
44441	//   "description": "Creates a report.",
44442	//   "flatPath": "userprofiles/{profileId}/reports",
44443	//   "httpMethod": "POST",
44444	//   "id": "dfareporting.reports.insert",
44445	//   "parameterOrder": [
44446	//     "profileId"
44447	//   ],
44448	//   "parameters": {
44449	//     "profileId": {
44450	//       "description": "The Campaign Manager 360 user profile ID.",
44451	//       "format": "int64",
44452	//       "location": "path",
44453	//       "required": true,
44454	//       "type": "string"
44455	//     }
44456	//   },
44457	//   "path": "userprofiles/{profileId}/reports",
44458	//   "request": {
44459	//     "$ref": "Report"
44460	//   },
44461	//   "response": {
44462	//     "$ref": "Report"
44463	//   },
44464	//   "scopes": [
44465	//     "https://www.googleapis.com/auth/dfareporting"
44466	//   ]
44467	// }
44468
44469}
44470
44471// method id "dfareporting.reports.list":
44472
44473type ReportsListCall struct {
44474	s            *Service
44475	profileId    int64
44476	urlParams_   gensupport.URLParams
44477	ifNoneMatch_ string
44478	ctx_         context.Context
44479	header_      http.Header
44480}
44481
44482// List: Retrieves list of reports.
44483//
44484// - profileId: The Campaign Manager 360 user profile ID.
44485func (r *ReportsService) List(profileId int64) *ReportsListCall {
44486	c := &ReportsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44487	c.profileId = profileId
44488	return c
44489}
44490
44491// MaxResults sets the optional parameter "maxResults": Maximum number
44492// of results to return.
44493func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
44494	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
44495	return c
44496}
44497
44498// PageToken sets the optional parameter "pageToken": The value of the
44499// nextToken from the previous result page.
44500func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
44501	c.urlParams_.Set("pageToken", pageToken)
44502	return c
44503}
44504
44505// Scope sets the optional parameter "scope": The scope that defines
44506// which results are returned.
44507//
44508// Possible values:
44509//   "ALL" - All reports in account.
44510//   "MINE" (default) - My reports.
44511func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
44512	c.urlParams_.Set("scope", scope)
44513	return c
44514}
44515
44516// SortField sets the optional parameter "sortField": The field by which
44517// to sort the list.
44518//
44519// Possible values:
44520//   "ID" - Sort by report ID.
44521//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
44522//   "NAME" - Sort by name of reports.
44523func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
44524	c.urlParams_.Set("sortField", sortField)
44525	return c
44526}
44527
44528// SortOrder sets the optional parameter "sortOrder": Order of sorted
44529// results.
44530//
44531// Possible values:
44532//   "ASCENDING" - Ascending order.
44533//   "DESCENDING" (default) - Descending order.
44534func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
44535	c.urlParams_.Set("sortOrder", sortOrder)
44536	return c
44537}
44538
44539// Fields allows partial responses to be retrieved. See
44540// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44541// for more information.
44542func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
44543	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44544	return c
44545}
44546
44547// IfNoneMatch sets the optional parameter which makes the operation
44548// fail if the object's ETag matches the given value. This is useful for
44549// getting updates only after the object has changed since the last
44550// request. Use googleapi.IsNotModified to check whether the response
44551// error from Do is the result of In-None-Match.
44552func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
44553	c.ifNoneMatch_ = entityTag
44554	return c
44555}
44556
44557// Context sets the context to be used in this call's Do method. Any
44558// pending HTTP request will be aborted if the provided context is
44559// canceled.
44560func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
44561	c.ctx_ = ctx
44562	return c
44563}
44564
44565// Header returns an http.Header that can be modified by the caller to
44566// add HTTP headers to the request.
44567func (c *ReportsListCall) Header() http.Header {
44568	if c.header_ == nil {
44569		c.header_ = make(http.Header)
44570	}
44571	return c.header_
44572}
44573
44574func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
44575	reqHeaders := make(http.Header)
44576	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
44577	for k, v := range c.header_ {
44578		reqHeaders[k] = v
44579	}
44580	reqHeaders.Set("User-Agent", c.s.userAgent())
44581	if c.ifNoneMatch_ != "" {
44582		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44583	}
44584	var body io.Reader = nil
44585	c.urlParams_.Set("alt", alt)
44586	c.urlParams_.Set("prettyPrint", "false")
44587	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
44588	urls += "?" + c.urlParams_.Encode()
44589	req, err := http.NewRequest("GET", urls, body)
44590	if err != nil {
44591		return nil, err
44592	}
44593	req.Header = reqHeaders
44594	googleapi.Expand(req.URL, map[string]string{
44595		"profileId": strconv.FormatInt(c.profileId, 10),
44596	})
44597	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44598}
44599
44600// Do executes the "dfareporting.reports.list" call.
44601// Exactly one of *ReportList or error will be non-nil. Any non-2xx
44602// status code is an error. Response headers are in either
44603// *ReportList.ServerResponse.Header or (if a response was returned at
44604// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
44605// to check whether the returned error was because
44606// http.StatusNotModified was returned.
44607func (c *ReportsListCall) Do(opts ...googleapi.CallOption) (*ReportList, error) {
44608	gensupport.SetOptions(c.urlParams_, opts...)
44609	res, err := c.doRequest("json")
44610	if res != nil && res.StatusCode == http.StatusNotModified {
44611		if res.Body != nil {
44612			res.Body.Close()
44613		}
44614		return nil, &googleapi.Error{
44615			Code:   res.StatusCode,
44616			Header: res.Header,
44617		}
44618	}
44619	if err != nil {
44620		return nil, err
44621	}
44622	defer googleapi.CloseBody(res)
44623	if err := googleapi.CheckResponse(res); err != nil {
44624		return nil, err
44625	}
44626	ret := &ReportList{
44627		ServerResponse: googleapi.ServerResponse{
44628			Header:         res.Header,
44629			HTTPStatusCode: res.StatusCode,
44630		},
44631	}
44632	target := &ret
44633	if err := gensupport.DecodeResponse(target, res); err != nil {
44634		return nil, err
44635	}
44636	return ret, nil
44637	// {
44638	//   "description": "Retrieves list of reports.",
44639	//   "flatPath": "userprofiles/{profileId}/reports",
44640	//   "httpMethod": "GET",
44641	//   "id": "dfareporting.reports.list",
44642	//   "parameterOrder": [
44643	//     "profileId"
44644	//   ],
44645	//   "parameters": {
44646	//     "maxResults": {
44647	//       "default": "10",
44648	//       "description": "Maximum number of results to return.",
44649	//       "format": "int32",
44650	//       "location": "query",
44651	//       "maximum": "10",
44652	//       "minimum": "0",
44653	//       "type": "integer"
44654	//     },
44655	//     "pageToken": {
44656	//       "description": "The value of the nextToken from the previous result page.",
44657	//       "location": "query",
44658	//       "type": "string"
44659	//     },
44660	//     "profileId": {
44661	//       "description": "The Campaign Manager 360 user profile ID.",
44662	//       "format": "int64",
44663	//       "location": "path",
44664	//       "required": true,
44665	//       "type": "string"
44666	//     },
44667	//     "scope": {
44668	//       "default": "MINE",
44669	//       "description": "The scope that defines which results are returned.",
44670	//       "enum": [
44671	//         "ALL",
44672	//         "MINE"
44673	//       ],
44674	//       "enumDescriptions": [
44675	//         "All reports in account.",
44676	//         "My reports."
44677	//       ],
44678	//       "location": "query",
44679	//       "type": "string"
44680	//     },
44681	//     "sortField": {
44682	//       "default": "LAST_MODIFIED_TIME",
44683	//       "description": "The field by which to sort the list.",
44684	//       "enum": [
44685	//         "ID",
44686	//         "LAST_MODIFIED_TIME",
44687	//         "NAME"
44688	//       ],
44689	//       "enumDescriptions": [
44690	//         "Sort by report ID.",
44691	//         "Sort by 'lastModifiedTime' field.",
44692	//         "Sort by name of reports."
44693	//       ],
44694	//       "location": "query",
44695	//       "type": "string"
44696	//     },
44697	//     "sortOrder": {
44698	//       "default": "DESCENDING",
44699	//       "description": "Order of sorted results.",
44700	//       "enum": [
44701	//         "ASCENDING",
44702	//         "DESCENDING"
44703	//       ],
44704	//       "enumDescriptions": [
44705	//         "Ascending order.",
44706	//         "Descending order."
44707	//       ],
44708	//       "location": "query",
44709	//       "type": "string"
44710	//     }
44711	//   },
44712	//   "path": "userprofiles/{profileId}/reports",
44713	//   "response": {
44714	//     "$ref": "ReportList"
44715	//   },
44716	//   "scopes": [
44717	//     "https://www.googleapis.com/auth/dfareporting"
44718	//   ]
44719	// }
44720
44721}
44722
44723// Pages invokes f for each page of results.
44724// A non-nil error returned from f will halt the iteration.
44725// The provided context supersedes any context provided to the Context method.
44726func (c *ReportsListCall) Pages(ctx context.Context, f func(*ReportList) error) error {
44727	c.ctx_ = ctx
44728	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
44729	for {
44730		x, err := c.Do()
44731		if err != nil {
44732			return err
44733		}
44734		if err := f(x); err != nil {
44735			return err
44736		}
44737		if x.NextPageToken == "" {
44738			return nil
44739		}
44740		c.PageToken(x.NextPageToken)
44741	}
44742}
44743
44744// method id "dfareporting.reports.patch":
44745
44746type ReportsPatchCall struct {
44747	s          *Service
44748	profileId  int64
44749	reportId   int64
44750	report     *Report
44751	urlParams_ gensupport.URLParams
44752	ctx_       context.Context
44753	header_    http.Header
44754}
44755
44756// Patch: Updates an existing report. This method supports patch
44757// semantics.
44758//
44759// - profileId: The DFA user profile ID.
44760// - reportId: The ID of the report.
44761func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
44762	c := &ReportsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44763	c.profileId = profileId
44764	c.reportId = reportId
44765	c.report = report
44766	return c
44767}
44768
44769// Fields allows partial responses to be retrieved. See
44770// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44771// for more information.
44772func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
44773	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44774	return c
44775}
44776
44777// Context sets the context to be used in this call's Do method. Any
44778// pending HTTP request will be aborted if the provided context is
44779// canceled.
44780func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
44781	c.ctx_ = ctx
44782	return c
44783}
44784
44785// Header returns an http.Header that can be modified by the caller to
44786// add HTTP headers to the request.
44787func (c *ReportsPatchCall) Header() http.Header {
44788	if c.header_ == nil {
44789		c.header_ = make(http.Header)
44790	}
44791	return c.header_
44792}
44793
44794func (c *ReportsPatchCall) doRequest(alt string) (*http.Response, error) {
44795	reqHeaders := make(http.Header)
44796	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
44797	for k, v := range c.header_ {
44798		reqHeaders[k] = v
44799	}
44800	reqHeaders.Set("User-Agent", c.s.userAgent())
44801	var body io.Reader = nil
44802	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44803	if err != nil {
44804		return nil, err
44805	}
44806	reqHeaders.Set("Content-Type", "application/json")
44807	c.urlParams_.Set("alt", alt)
44808	c.urlParams_.Set("prettyPrint", "false")
44809	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44810	urls += "?" + c.urlParams_.Encode()
44811	req, err := http.NewRequest("PATCH", urls, body)
44812	if err != nil {
44813		return nil, err
44814	}
44815	req.Header = reqHeaders
44816	googleapi.Expand(req.URL, map[string]string{
44817		"profileId": strconv.FormatInt(c.profileId, 10),
44818		"reportId":  strconv.FormatInt(c.reportId, 10),
44819	})
44820	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44821}
44822
44823// Do executes the "dfareporting.reports.patch" call.
44824// Exactly one of *Report or error will be non-nil. Any non-2xx status
44825// code is an error. Response headers are in either
44826// *Report.ServerResponse.Header or (if a response was returned at all)
44827// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44828// check whether the returned error was because http.StatusNotModified
44829// was returned.
44830func (c *ReportsPatchCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44831	gensupport.SetOptions(c.urlParams_, opts...)
44832	res, err := c.doRequest("json")
44833	if res != nil && res.StatusCode == http.StatusNotModified {
44834		if res.Body != nil {
44835			res.Body.Close()
44836		}
44837		return nil, &googleapi.Error{
44838			Code:   res.StatusCode,
44839			Header: res.Header,
44840		}
44841	}
44842	if err != nil {
44843		return nil, err
44844	}
44845	defer googleapi.CloseBody(res)
44846	if err := googleapi.CheckResponse(res); err != nil {
44847		return nil, err
44848	}
44849	ret := &Report{
44850		ServerResponse: googleapi.ServerResponse{
44851			Header:         res.Header,
44852			HTTPStatusCode: res.StatusCode,
44853		},
44854	}
44855	target := &ret
44856	if err := gensupport.DecodeResponse(target, res); err != nil {
44857		return nil, err
44858	}
44859	return ret, nil
44860	// {
44861	//   "description": "Updates an existing report. This method supports patch semantics.",
44862	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
44863	//   "httpMethod": "PATCH",
44864	//   "id": "dfareporting.reports.patch",
44865	//   "parameterOrder": [
44866	//     "profileId",
44867	//     "reportId"
44868	//   ],
44869	//   "parameters": {
44870	//     "profileId": {
44871	//       "description": "The DFA user profile ID.",
44872	//       "format": "int64",
44873	//       "location": "path",
44874	//       "required": true,
44875	//       "type": "string"
44876	//     },
44877	//     "reportId": {
44878	//       "description": "The ID of the report.",
44879	//       "format": "int64",
44880	//       "location": "path",
44881	//       "required": true,
44882	//       "type": "string"
44883	//     }
44884	//   },
44885	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44886	//   "request": {
44887	//     "$ref": "Report"
44888	//   },
44889	//   "response": {
44890	//     "$ref": "Report"
44891	//   },
44892	//   "scopes": [
44893	//     "https://www.googleapis.com/auth/dfareporting"
44894	//   ]
44895	// }
44896
44897}
44898
44899// method id "dfareporting.reports.run":
44900
44901type ReportsRunCall struct {
44902	s          *Service
44903	profileId  int64
44904	reportId   int64
44905	urlParams_ gensupport.URLParams
44906	ctx_       context.Context
44907	header_    http.Header
44908}
44909
44910// Run: Runs a report.
44911//
44912// - profileId: The Campaign Manager 360 user profile ID.
44913// - reportId: The ID of the report.
44914func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
44915	c := &ReportsRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44916	c.profileId = profileId
44917	c.reportId = reportId
44918	return c
44919}
44920
44921// Synchronous sets the optional parameter "synchronous": If set and
44922// true, tries to run the report synchronously.
44923func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
44924	c.urlParams_.Set("synchronous", fmt.Sprint(synchronous))
44925	return c
44926}
44927
44928// Fields allows partial responses to be retrieved. See
44929// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44930// for more information.
44931func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
44932	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44933	return c
44934}
44935
44936// Context sets the context to be used in this call's Do method. Any
44937// pending HTTP request will be aborted if the provided context is
44938// canceled.
44939func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
44940	c.ctx_ = ctx
44941	return c
44942}
44943
44944// Header returns an http.Header that can be modified by the caller to
44945// add HTTP headers to the request.
44946func (c *ReportsRunCall) Header() http.Header {
44947	if c.header_ == nil {
44948		c.header_ = make(http.Header)
44949	}
44950	return c.header_
44951}
44952
44953func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
44954	reqHeaders := make(http.Header)
44955	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
44956	for k, v := range c.header_ {
44957		reqHeaders[k] = v
44958	}
44959	reqHeaders.Set("User-Agent", c.s.userAgent())
44960	var body io.Reader = nil
44961	c.urlParams_.Set("alt", alt)
44962	c.urlParams_.Set("prettyPrint", "false")
44963	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
44964	urls += "?" + c.urlParams_.Encode()
44965	req, err := http.NewRequest("POST", urls, body)
44966	if err != nil {
44967		return nil, err
44968	}
44969	req.Header = reqHeaders
44970	googleapi.Expand(req.URL, map[string]string{
44971		"profileId": strconv.FormatInt(c.profileId, 10),
44972		"reportId":  strconv.FormatInt(c.reportId, 10),
44973	})
44974	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44975}
44976
44977// Do executes the "dfareporting.reports.run" call.
44978// Exactly one of *File or error will be non-nil. Any non-2xx status
44979// code is an error. Response headers are in either
44980// *File.ServerResponse.Header or (if a response was returned at all) in
44981// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
44982// whether the returned error was because http.StatusNotModified was
44983// returned.
44984func (c *ReportsRunCall) Do(opts ...googleapi.CallOption) (*File, error) {
44985	gensupport.SetOptions(c.urlParams_, opts...)
44986	res, err := c.doRequest("json")
44987	if res != nil && res.StatusCode == http.StatusNotModified {
44988		if res.Body != nil {
44989			res.Body.Close()
44990		}
44991		return nil, &googleapi.Error{
44992			Code:   res.StatusCode,
44993			Header: res.Header,
44994		}
44995	}
44996	if err != nil {
44997		return nil, err
44998	}
44999	defer googleapi.CloseBody(res)
45000	if err := googleapi.CheckResponse(res); err != nil {
45001		return nil, err
45002	}
45003	ret := &File{
45004		ServerResponse: googleapi.ServerResponse{
45005			Header:         res.Header,
45006			HTTPStatusCode: res.StatusCode,
45007		},
45008	}
45009	target := &ret
45010	if err := gensupport.DecodeResponse(target, res); err != nil {
45011		return nil, err
45012	}
45013	return ret, nil
45014	// {
45015	//   "description": "Runs a report.",
45016	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/run",
45017	//   "httpMethod": "POST",
45018	//   "id": "dfareporting.reports.run",
45019	//   "parameterOrder": [
45020	//     "profileId",
45021	//     "reportId"
45022	//   ],
45023	//   "parameters": {
45024	//     "profileId": {
45025	//       "description": "The Campaign Manager 360 user profile ID.",
45026	//       "format": "int64",
45027	//       "location": "path",
45028	//       "required": true,
45029	//       "type": "string"
45030	//     },
45031	//     "reportId": {
45032	//       "description": "The ID of the report.",
45033	//       "format": "int64",
45034	//       "location": "path",
45035	//       "required": true,
45036	//       "type": "string"
45037	//     },
45038	//     "synchronous": {
45039	//       "default": "false",
45040	//       "description": "If set and true, tries to run the report synchronously.",
45041	//       "location": "query",
45042	//       "type": "boolean"
45043	//     }
45044	//   },
45045	//   "path": "userprofiles/{profileId}/reports/{reportId}/run",
45046	//   "response": {
45047	//     "$ref": "File"
45048	//   },
45049	//   "scopes": [
45050	//     "https://www.googleapis.com/auth/dfareporting"
45051	//   ]
45052	// }
45053
45054}
45055
45056// method id "dfareporting.reports.update":
45057
45058type ReportsUpdateCall struct {
45059	s          *Service
45060	profileId  int64
45061	reportId   int64
45062	report     *Report
45063	urlParams_ gensupport.URLParams
45064	ctx_       context.Context
45065	header_    http.Header
45066}
45067
45068// Update: Updates a report.
45069//
45070// - profileId: The Campaign Manager 360 user profile ID.
45071// - reportId: The ID of the report.
45072func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
45073	c := &ReportsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45074	c.profileId = profileId
45075	c.reportId = reportId
45076	c.report = report
45077	return c
45078}
45079
45080// Fields allows partial responses to be retrieved. See
45081// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45082// for more information.
45083func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
45084	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45085	return c
45086}
45087
45088// Context sets the context to be used in this call's Do method. Any
45089// pending HTTP request will be aborted if the provided context is
45090// canceled.
45091func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
45092	c.ctx_ = ctx
45093	return c
45094}
45095
45096// Header returns an http.Header that can be modified by the caller to
45097// add HTTP headers to the request.
45098func (c *ReportsUpdateCall) Header() http.Header {
45099	if c.header_ == nil {
45100		c.header_ = make(http.Header)
45101	}
45102	return c.header_
45103}
45104
45105func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
45106	reqHeaders := make(http.Header)
45107	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
45108	for k, v := range c.header_ {
45109		reqHeaders[k] = v
45110	}
45111	reqHeaders.Set("User-Agent", c.s.userAgent())
45112	var body io.Reader = nil
45113	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
45114	if err != nil {
45115		return nil, err
45116	}
45117	reqHeaders.Set("Content-Type", "application/json")
45118	c.urlParams_.Set("alt", alt)
45119	c.urlParams_.Set("prettyPrint", "false")
45120	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
45121	urls += "?" + c.urlParams_.Encode()
45122	req, err := http.NewRequest("PUT", urls, body)
45123	if err != nil {
45124		return nil, err
45125	}
45126	req.Header = reqHeaders
45127	googleapi.Expand(req.URL, map[string]string{
45128		"profileId": strconv.FormatInt(c.profileId, 10),
45129		"reportId":  strconv.FormatInt(c.reportId, 10),
45130	})
45131	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45132}
45133
45134// Do executes the "dfareporting.reports.update" call.
45135// Exactly one of *Report or error will be non-nil. Any non-2xx status
45136// code is an error. Response headers are in either
45137// *Report.ServerResponse.Header or (if a response was returned at all)
45138// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
45139// check whether the returned error was because http.StatusNotModified
45140// was returned.
45141func (c *ReportsUpdateCall) Do(opts ...googleapi.CallOption) (*Report, error) {
45142	gensupport.SetOptions(c.urlParams_, opts...)
45143	res, err := c.doRequest("json")
45144	if res != nil && res.StatusCode == http.StatusNotModified {
45145		if res.Body != nil {
45146			res.Body.Close()
45147		}
45148		return nil, &googleapi.Error{
45149			Code:   res.StatusCode,
45150			Header: res.Header,
45151		}
45152	}
45153	if err != nil {
45154		return nil, err
45155	}
45156	defer googleapi.CloseBody(res)
45157	if err := googleapi.CheckResponse(res); err != nil {
45158		return nil, err
45159	}
45160	ret := &Report{
45161		ServerResponse: googleapi.ServerResponse{
45162			Header:         res.Header,
45163			HTTPStatusCode: res.StatusCode,
45164		},
45165	}
45166	target := &ret
45167	if err := gensupport.DecodeResponse(target, res); err != nil {
45168		return nil, err
45169	}
45170	return ret, nil
45171	// {
45172	//   "description": "Updates a report.",
45173	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
45174	//   "httpMethod": "PUT",
45175	//   "id": "dfareporting.reports.update",
45176	//   "parameterOrder": [
45177	//     "profileId",
45178	//     "reportId"
45179	//   ],
45180	//   "parameters": {
45181	//     "profileId": {
45182	//       "description": "The Campaign Manager 360 user profile ID.",
45183	//       "format": "int64",
45184	//       "location": "path",
45185	//       "required": true,
45186	//       "type": "string"
45187	//     },
45188	//     "reportId": {
45189	//       "description": "The ID of the report.",
45190	//       "format": "int64",
45191	//       "location": "path",
45192	//       "required": true,
45193	//       "type": "string"
45194	//     }
45195	//   },
45196	//   "path": "userprofiles/{profileId}/reports/{reportId}",
45197	//   "request": {
45198	//     "$ref": "Report"
45199	//   },
45200	//   "response": {
45201	//     "$ref": "Report"
45202	//   },
45203	//   "scopes": [
45204	//     "https://www.googleapis.com/auth/dfareporting"
45205	//   ]
45206	// }
45207
45208}
45209
45210// method id "dfareporting.reports.compatibleFields.query":
45211
45212type ReportsCompatibleFieldsQueryCall struct {
45213	s          *Service
45214	profileId  int64
45215	report     *Report
45216	urlParams_ gensupport.URLParams
45217	ctx_       context.Context
45218	header_    http.Header
45219}
45220
45221// Query: Returns the fields that are compatible to be selected in the
45222// respective sections of a report criteria, given the fields already
45223// selected in the input report and user permissions.
45224//
45225// - profileId: The Campaign Manager 360 user profile ID.
45226func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
45227	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45228	c.profileId = profileId
45229	c.report = report
45230	return c
45231}
45232
45233// Fields allows partial responses to be retrieved. See
45234// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45235// for more information.
45236func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
45237	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45238	return c
45239}
45240
45241// Context sets the context to be used in this call's Do method. Any
45242// pending HTTP request will be aborted if the provided context is
45243// canceled.
45244func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
45245	c.ctx_ = ctx
45246	return c
45247}
45248
45249// Header returns an http.Header that can be modified by the caller to
45250// add HTTP headers to the request.
45251func (c *ReportsCompatibleFieldsQueryCall) Header() http.Header {
45252	if c.header_ == nil {
45253		c.header_ = make(http.Header)
45254	}
45255	return c.header_
45256}
45257
45258func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
45259	reqHeaders := make(http.Header)
45260	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
45261	for k, v := range c.header_ {
45262		reqHeaders[k] = v
45263	}
45264	reqHeaders.Set("User-Agent", c.s.userAgent())
45265	var body io.Reader = nil
45266	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
45267	if err != nil {
45268		return nil, err
45269	}
45270	reqHeaders.Set("Content-Type", "application/json")
45271	c.urlParams_.Set("alt", alt)
45272	c.urlParams_.Set("prettyPrint", "false")
45273	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
45274	urls += "?" + c.urlParams_.Encode()
45275	req, err := http.NewRequest("POST", urls, body)
45276	if err != nil {
45277		return nil, err
45278	}
45279	req.Header = reqHeaders
45280	googleapi.Expand(req.URL, map[string]string{
45281		"profileId": strconv.FormatInt(c.profileId, 10),
45282	})
45283	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45284}
45285
45286// Do executes the "dfareporting.reports.compatibleFields.query" call.
45287// Exactly one of *CompatibleFields or error will be non-nil. Any
45288// non-2xx status code is an error. Response headers are in either
45289// *CompatibleFields.ServerResponse.Header or (if a response was
45290// returned at all) in error.(*googleapi.Error).Header. Use
45291// googleapi.IsNotModified to check whether the returned error was
45292// because http.StatusNotModified was returned.
45293func (c *ReportsCompatibleFieldsQueryCall) Do(opts ...googleapi.CallOption) (*CompatibleFields, error) {
45294	gensupport.SetOptions(c.urlParams_, opts...)
45295	res, err := c.doRequest("json")
45296	if res != nil && res.StatusCode == http.StatusNotModified {
45297		if res.Body != nil {
45298			res.Body.Close()
45299		}
45300		return nil, &googleapi.Error{
45301			Code:   res.StatusCode,
45302			Header: res.Header,
45303		}
45304	}
45305	if err != nil {
45306		return nil, err
45307	}
45308	defer googleapi.CloseBody(res)
45309	if err := googleapi.CheckResponse(res); err != nil {
45310		return nil, err
45311	}
45312	ret := &CompatibleFields{
45313		ServerResponse: googleapi.ServerResponse{
45314			Header:         res.Header,
45315			HTTPStatusCode: res.StatusCode,
45316		},
45317	}
45318	target := &ret
45319	if err := gensupport.DecodeResponse(target, res); err != nil {
45320		return nil, err
45321	}
45322	return ret, nil
45323	// {
45324	//   "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.",
45325	//   "flatPath": "userprofiles/{profileId}/reports/compatiblefields/query",
45326	//   "httpMethod": "POST",
45327	//   "id": "dfareporting.reports.compatibleFields.query",
45328	//   "parameterOrder": [
45329	//     "profileId"
45330	//   ],
45331	//   "parameters": {
45332	//     "profileId": {
45333	//       "description": "The Campaign Manager 360 user profile ID.",
45334	//       "format": "int64",
45335	//       "location": "path",
45336	//       "required": true,
45337	//       "type": "string"
45338	//     }
45339	//   },
45340	//   "path": "userprofiles/{profileId}/reports/compatiblefields/query",
45341	//   "request": {
45342	//     "$ref": "Report"
45343	//   },
45344	//   "response": {
45345	//     "$ref": "CompatibleFields"
45346	//   },
45347	//   "scopes": [
45348	//     "https://www.googleapis.com/auth/dfareporting"
45349	//   ]
45350	// }
45351
45352}
45353
45354// method id "dfareporting.reports.files.get":
45355
45356type ReportsFilesGetCall struct {
45357	s            *Service
45358	profileId    int64
45359	reportId     int64
45360	fileId       int64
45361	urlParams_   gensupport.URLParams
45362	ifNoneMatch_ string
45363	ctx_         context.Context
45364	header_      http.Header
45365}
45366
45367// Get: Retrieves a report file by its report ID and file ID. This
45368// method supports media download.
45369//
45370// - fileId: The ID of the report file.
45371// - profileId: The Campaign Manager 360 user profile ID.
45372// - reportId: The ID of the report.
45373func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
45374	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45375	c.profileId = profileId
45376	c.reportId = reportId
45377	c.fileId = fileId
45378	return c
45379}
45380
45381// Fields allows partial responses to be retrieved. See
45382// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45383// for more information.
45384func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
45385	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45386	return c
45387}
45388
45389// IfNoneMatch sets the optional parameter which makes the operation
45390// fail if the object's ETag matches the given value. This is useful for
45391// getting updates only after the object has changed since the last
45392// request. Use googleapi.IsNotModified to check whether the response
45393// error from Do is the result of In-None-Match.
45394func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
45395	c.ifNoneMatch_ = entityTag
45396	return c
45397}
45398
45399// Context sets the context to be used in this call's Do and Download
45400// methods. Any pending HTTP request will be aborted if the provided
45401// context is canceled.
45402func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
45403	c.ctx_ = ctx
45404	return c
45405}
45406
45407// Header returns an http.Header that can be modified by the caller to
45408// add HTTP headers to the request.
45409func (c *ReportsFilesGetCall) Header() http.Header {
45410	if c.header_ == nil {
45411		c.header_ = make(http.Header)
45412	}
45413	return c.header_
45414}
45415
45416func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
45417	reqHeaders := make(http.Header)
45418	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
45419	for k, v := range c.header_ {
45420		reqHeaders[k] = v
45421	}
45422	reqHeaders.Set("User-Agent", c.s.userAgent())
45423	if c.ifNoneMatch_ != "" {
45424		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45425	}
45426	var body io.Reader = nil
45427	c.urlParams_.Set("alt", alt)
45428	c.urlParams_.Set("prettyPrint", "false")
45429	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
45430	urls += "?" + c.urlParams_.Encode()
45431	req, err := http.NewRequest("GET", urls, body)
45432	if err != nil {
45433		return nil, err
45434	}
45435	req.Header = reqHeaders
45436	googleapi.Expand(req.URL, map[string]string{
45437		"profileId": strconv.FormatInt(c.profileId, 10),
45438		"reportId":  strconv.FormatInt(c.reportId, 10),
45439		"fileId":    strconv.FormatInt(c.fileId, 10),
45440	})
45441	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45442}
45443
45444// Download fetches the API endpoint's "media" value, instead of the normal
45445// API response value. If the returned error is nil, the Response is guaranteed to
45446// have a 2xx status code. Callers must close the Response.Body as usual.
45447func (c *ReportsFilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
45448	gensupport.SetOptions(c.urlParams_, opts...)
45449	res, err := c.doRequest("media")
45450	if err != nil {
45451		return nil, err
45452	}
45453	if err := googleapi.CheckResponse(res); err != nil {
45454		res.Body.Close()
45455		return nil, err
45456	}
45457	return res, nil
45458}
45459
45460// Do executes the "dfareporting.reports.files.get" call.
45461// Exactly one of *File or error will be non-nil. Any non-2xx status
45462// code is an error. Response headers are in either
45463// *File.ServerResponse.Header or (if a response was returned at all) in
45464// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45465// whether the returned error was because http.StatusNotModified was
45466// returned.
45467func (c *ReportsFilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
45468	gensupport.SetOptions(c.urlParams_, opts...)
45469	res, err := c.doRequest("json")
45470	if res != nil && res.StatusCode == http.StatusNotModified {
45471		if res.Body != nil {
45472			res.Body.Close()
45473		}
45474		return nil, &googleapi.Error{
45475			Code:   res.StatusCode,
45476			Header: res.Header,
45477		}
45478	}
45479	if err != nil {
45480		return nil, err
45481	}
45482	defer googleapi.CloseBody(res)
45483	if err := googleapi.CheckResponse(res); err != nil {
45484		return nil, err
45485	}
45486	ret := &File{
45487		ServerResponse: googleapi.ServerResponse{
45488			Header:         res.Header,
45489			HTTPStatusCode: res.StatusCode,
45490		},
45491	}
45492	target := &ret
45493	if err := gensupport.DecodeResponse(target, res); err != nil {
45494		return nil, err
45495	}
45496	return ret, nil
45497	// {
45498	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
45499	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
45500	//   "httpMethod": "GET",
45501	//   "id": "dfareporting.reports.files.get",
45502	//   "parameterOrder": [
45503	//     "profileId",
45504	//     "reportId",
45505	//     "fileId"
45506	//   ],
45507	//   "parameters": {
45508	//     "fileId": {
45509	//       "description": "The ID of the report file.",
45510	//       "format": "int64",
45511	//       "location": "path",
45512	//       "required": true,
45513	//       "type": "string"
45514	//     },
45515	//     "profileId": {
45516	//       "description": "The Campaign Manager 360 user profile ID.",
45517	//       "format": "int64",
45518	//       "location": "path",
45519	//       "required": true,
45520	//       "type": "string"
45521	//     },
45522	//     "reportId": {
45523	//       "description": "The ID of the report.",
45524	//       "format": "int64",
45525	//       "location": "path",
45526	//       "required": true,
45527	//       "type": "string"
45528	//     }
45529	//   },
45530	//   "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
45531	//   "response": {
45532	//     "$ref": "File"
45533	//   },
45534	//   "scopes": [
45535	//     "https://www.googleapis.com/auth/dfareporting"
45536	//   ],
45537	//   "supportsMediaDownload": true
45538	// }
45539
45540}
45541
45542// method id "dfareporting.reports.files.list":
45543
45544type ReportsFilesListCall struct {
45545	s            *Service
45546	profileId    int64
45547	reportId     int64
45548	urlParams_   gensupport.URLParams
45549	ifNoneMatch_ string
45550	ctx_         context.Context
45551	header_      http.Header
45552}
45553
45554// List: Lists files for a report.
45555//
45556// - profileId: The Campaign Manager 360 user profile ID.
45557// - reportId: The ID of the parent report.
45558func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
45559	c := &ReportsFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45560	c.profileId = profileId
45561	c.reportId = reportId
45562	return c
45563}
45564
45565// MaxResults sets the optional parameter "maxResults": Maximum number
45566// of results to return.
45567func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
45568	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
45569	return c
45570}
45571
45572// PageToken sets the optional parameter "pageToken": The value of the
45573// nextToken from the previous result page.
45574func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
45575	c.urlParams_.Set("pageToken", pageToken)
45576	return c
45577}
45578
45579// SortField sets the optional parameter "sortField": The field by which
45580// to sort the list.
45581//
45582// Possible values:
45583//   "ID"
45584//   "LAST_MODIFIED_TIME" (default)
45585func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
45586	c.urlParams_.Set("sortField", sortField)
45587	return c
45588}
45589
45590// SortOrder sets the optional parameter "sortOrder": Order of sorted
45591// results.
45592//
45593// Possible values:
45594//   "ASCENDING"
45595//   "DESCENDING" (default)
45596func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
45597	c.urlParams_.Set("sortOrder", sortOrder)
45598	return c
45599}
45600
45601// Fields allows partial responses to be retrieved. See
45602// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45603// for more information.
45604func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
45605	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45606	return c
45607}
45608
45609// IfNoneMatch sets the optional parameter which makes the operation
45610// fail if the object's ETag matches the given value. This is useful for
45611// getting updates only after the object has changed since the last
45612// request. Use googleapi.IsNotModified to check whether the response
45613// error from Do is the result of In-None-Match.
45614func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
45615	c.ifNoneMatch_ = entityTag
45616	return c
45617}
45618
45619// Context sets the context to be used in this call's Do method. Any
45620// pending HTTP request will be aborted if the provided context is
45621// canceled.
45622func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
45623	c.ctx_ = ctx
45624	return c
45625}
45626
45627// Header returns an http.Header that can be modified by the caller to
45628// add HTTP headers to the request.
45629func (c *ReportsFilesListCall) Header() http.Header {
45630	if c.header_ == nil {
45631		c.header_ = make(http.Header)
45632	}
45633	return c.header_
45634}
45635
45636func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
45637	reqHeaders := make(http.Header)
45638	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
45639	for k, v := range c.header_ {
45640		reqHeaders[k] = v
45641	}
45642	reqHeaders.Set("User-Agent", c.s.userAgent())
45643	if c.ifNoneMatch_ != "" {
45644		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45645	}
45646	var body io.Reader = nil
45647	c.urlParams_.Set("alt", alt)
45648	c.urlParams_.Set("prettyPrint", "false")
45649	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
45650	urls += "?" + c.urlParams_.Encode()
45651	req, err := http.NewRequest("GET", urls, body)
45652	if err != nil {
45653		return nil, err
45654	}
45655	req.Header = reqHeaders
45656	googleapi.Expand(req.URL, map[string]string{
45657		"profileId": strconv.FormatInt(c.profileId, 10),
45658		"reportId":  strconv.FormatInt(c.reportId, 10),
45659	})
45660	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45661}
45662
45663// Do executes the "dfareporting.reports.files.list" call.
45664// Exactly one of *FileList or error will be non-nil. Any non-2xx status
45665// code is an error. Response headers are in either
45666// *FileList.ServerResponse.Header or (if a response was returned at
45667// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
45668// to check whether the returned error was because
45669// http.StatusNotModified was returned.
45670func (c *ReportsFilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
45671	gensupport.SetOptions(c.urlParams_, opts...)
45672	res, err := c.doRequest("json")
45673	if res != nil && res.StatusCode == http.StatusNotModified {
45674		if res.Body != nil {
45675			res.Body.Close()
45676		}
45677		return nil, &googleapi.Error{
45678			Code:   res.StatusCode,
45679			Header: res.Header,
45680		}
45681	}
45682	if err != nil {
45683		return nil, err
45684	}
45685	defer googleapi.CloseBody(res)
45686	if err := googleapi.CheckResponse(res); err != nil {
45687		return nil, err
45688	}
45689	ret := &FileList{
45690		ServerResponse: googleapi.ServerResponse{
45691			Header:         res.Header,
45692			HTTPStatusCode: res.StatusCode,
45693		},
45694	}
45695	target := &ret
45696	if err := gensupport.DecodeResponse(target, res); err != nil {
45697		return nil, err
45698	}
45699	return ret, nil
45700	// {
45701	//   "description": "Lists files for a report.",
45702	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/files",
45703	//   "httpMethod": "GET",
45704	//   "id": "dfareporting.reports.files.list",
45705	//   "parameterOrder": [
45706	//     "profileId",
45707	//     "reportId"
45708	//   ],
45709	//   "parameters": {
45710	//     "maxResults": {
45711	//       "default": "10",
45712	//       "description": "Maximum number of results to return.",
45713	//       "format": "int32",
45714	//       "location": "query",
45715	//       "maximum": "10",
45716	//       "minimum": "0",
45717	//       "type": "integer"
45718	//     },
45719	//     "pageToken": {
45720	//       "description": "The value of the nextToken from the previous result page.",
45721	//       "location": "query",
45722	//       "type": "string"
45723	//     },
45724	//     "profileId": {
45725	//       "description": "The Campaign Manager 360 user profile ID.",
45726	//       "format": "int64",
45727	//       "location": "path",
45728	//       "required": true,
45729	//       "type": "string"
45730	//     },
45731	//     "reportId": {
45732	//       "description": "The ID of the parent report.",
45733	//       "format": "int64",
45734	//       "location": "path",
45735	//       "required": true,
45736	//       "type": "string"
45737	//     },
45738	//     "sortField": {
45739	//       "default": "LAST_MODIFIED_TIME",
45740	//       "description": "The field by which to sort the list.",
45741	//       "enum": [
45742	//         "ID",
45743	//         "LAST_MODIFIED_TIME"
45744	//       ],
45745	//       "enumDescriptions": [
45746	//         "",
45747	//         ""
45748	//       ],
45749	//       "location": "query",
45750	//       "type": "string"
45751	//     },
45752	//     "sortOrder": {
45753	//       "default": "DESCENDING",
45754	//       "description": "Order of sorted results.",
45755	//       "enum": [
45756	//         "ASCENDING",
45757	//         "DESCENDING"
45758	//       ],
45759	//       "enumDescriptions": [
45760	//         "",
45761	//         ""
45762	//       ],
45763	//       "location": "query",
45764	//       "type": "string"
45765	//     }
45766	//   },
45767	//   "path": "userprofiles/{profileId}/reports/{reportId}/files",
45768	//   "response": {
45769	//     "$ref": "FileList"
45770	//   },
45771	//   "scopes": [
45772	//     "https://www.googleapis.com/auth/dfareporting"
45773	//   ]
45774	// }
45775
45776}
45777
45778// Pages invokes f for each page of results.
45779// A non-nil error returned from f will halt the iteration.
45780// The provided context supersedes any context provided to the Context method.
45781func (c *ReportsFilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
45782	c.ctx_ = ctx
45783	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
45784	for {
45785		x, err := c.Do()
45786		if err != nil {
45787			return err
45788		}
45789		if err := f(x); err != nil {
45790			return err
45791		}
45792		if x.NextPageToken == "" {
45793			return nil
45794		}
45795		c.PageToken(x.NextPageToken)
45796	}
45797}
45798
45799// method id "dfareporting.sites.get":
45800
45801type SitesGetCall struct {
45802	s            *Service
45803	profileId    int64
45804	id           int64
45805	urlParams_   gensupport.URLParams
45806	ifNoneMatch_ string
45807	ctx_         context.Context
45808	header_      http.Header
45809}
45810
45811// Get: Gets one site by ID.
45812//
45813// - id: Site ID.
45814// - profileId: User profile ID associated with this request.
45815func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
45816	c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45817	c.profileId = profileId
45818	c.id = id
45819	return c
45820}
45821
45822// Fields allows partial responses to be retrieved. See
45823// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45824// for more information.
45825func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
45826	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45827	return c
45828}
45829
45830// IfNoneMatch sets the optional parameter which makes the operation
45831// fail if the object's ETag matches the given value. This is useful for
45832// getting updates only after the object has changed since the last
45833// request. Use googleapi.IsNotModified to check whether the response
45834// error from Do is the result of In-None-Match.
45835func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
45836	c.ifNoneMatch_ = entityTag
45837	return c
45838}
45839
45840// Context sets the context to be used in this call's Do method. Any
45841// pending HTTP request will be aborted if the provided context is
45842// canceled.
45843func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
45844	c.ctx_ = ctx
45845	return c
45846}
45847
45848// Header returns an http.Header that can be modified by the caller to
45849// add HTTP headers to the request.
45850func (c *SitesGetCall) Header() http.Header {
45851	if c.header_ == nil {
45852		c.header_ = make(http.Header)
45853	}
45854	return c.header_
45855}
45856
45857func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
45858	reqHeaders := make(http.Header)
45859	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
45860	for k, v := range c.header_ {
45861		reqHeaders[k] = v
45862	}
45863	reqHeaders.Set("User-Agent", c.s.userAgent())
45864	if c.ifNoneMatch_ != "" {
45865		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45866	}
45867	var body io.Reader = nil
45868	c.urlParams_.Set("alt", alt)
45869	c.urlParams_.Set("prettyPrint", "false")
45870	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
45871	urls += "?" + c.urlParams_.Encode()
45872	req, err := http.NewRequest("GET", urls, body)
45873	if err != nil {
45874		return nil, err
45875	}
45876	req.Header = reqHeaders
45877	googleapi.Expand(req.URL, map[string]string{
45878		"profileId": strconv.FormatInt(c.profileId, 10),
45879		"id":        strconv.FormatInt(c.id, 10),
45880	})
45881	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45882}
45883
45884// Do executes the "dfareporting.sites.get" call.
45885// Exactly one of *Site or error will be non-nil. Any non-2xx status
45886// code is an error. Response headers are in either
45887// *Site.ServerResponse.Header or (if a response was returned at all) in
45888// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45889// whether the returned error was because http.StatusNotModified was
45890// returned.
45891func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*Site, error) {
45892	gensupport.SetOptions(c.urlParams_, opts...)
45893	res, err := c.doRequest("json")
45894	if res != nil && res.StatusCode == http.StatusNotModified {
45895		if res.Body != nil {
45896			res.Body.Close()
45897		}
45898		return nil, &googleapi.Error{
45899			Code:   res.StatusCode,
45900			Header: res.Header,
45901		}
45902	}
45903	if err != nil {
45904		return nil, err
45905	}
45906	defer googleapi.CloseBody(res)
45907	if err := googleapi.CheckResponse(res); err != nil {
45908		return nil, err
45909	}
45910	ret := &Site{
45911		ServerResponse: googleapi.ServerResponse{
45912			Header:         res.Header,
45913			HTTPStatusCode: res.StatusCode,
45914		},
45915	}
45916	target := &ret
45917	if err := gensupport.DecodeResponse(target, res); err != nil {
45918		return nil, err
45919	}
45920	return ret, nil
45921	// {
45922	//   "description": "Gets one site by ID.",
45923	//   "flatPath": "userprofiles/{profileId}/sites/{id}",
45924	//   "httpMethod": "GET",
45925	//   "id": "dfareporting.sites.get",
45926	//   "parameterOrder": [
45927	//     "profileId",
45928	//     "id"
45929	//   ],
45930	//   "parameters": {
45931	//     "id": {
45932	//       "description": "Site ID.",
45933	//       "format": "int64",
45934	//       "location": "path",
45935	//       "required": true,
45936	//       "type": "string"
45937	//     },
45938	//     "profileId": {
45939	//       "description": "User profile ID associated with this request.",
45940	//       "format": "int64",
45941	//       "location": "path",
45942	//       "required": true,
45943	//       "type": "string"
45944	//     }
45945	//   },
45946	//   "path": "userprofiles/{profileId}/sites/{id}",
45947	//   "response": {
45948	//     "$ref": "Site"
45949	//   },
45950	//   "scopes": [
45951	//     "https://www.googleapis.com/auth/dfatrafficking"
45952	//   ]
45953	// }
45954
45955}
45956
45957// method id "dfareporting.sites.insert":
45958
45959type SitesInsertCall struct {
45960	s          *Service
45961	profileId  int64
45962	site       *Site
45963	urlParams_ gensupport.URLParams
45964	ctx_       context.Context
45965	header_    http.Header
45966}
45967
45968// Insert: Inserts a new site.
45969//
45970// - profileId: User profile ID associated with this request.
45971func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
45972	c := &SitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45973	c.profileId = profileId
45974	c.site = site
45975	return c
45976}
45977
45978// Fields allows partial responses to be retrieved. See
45979// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45980// for more information.
45981func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
45982	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45983	return c
45984}
45985
45986// Context sets the context to be used in this call's Do method. Any
45987// pending HTTP request will be aborted if the provided context is
45988// canceled.
45989func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
45990	c.ctx_ = ctx
45991	return c
45992}
45993
45994// Header returns an http.Header that can be modified by the caller to
45995// add HTTP headers to the request.
45996func (c *SitesInsertCall) Header() http.Header {
45997	if c.header_ == nil {
45998		c.header_ = make(http.Header)
45999	}
46000	return c.header_
46001}
46002
46003func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
46004	reqHeaders := make(http.Header)
46005	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
46006	for k, v := range c.header_ {
46007		reqHeaders[k] = v
46008	}
46009	reqHeaders.Set("User-Agent", c.s.userAgent())
46010	var body io.Reader = nil
46011	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46012	if err != nil {
46013		return nil, err
46014	}
46015	reqHeaders.Set("Content-Type", "application/json")
46016	c.urlParams_.Set("alt", alt)
46017	c.urlParams_.Set("prettyPrint", "false")
46018	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46019	urls += "?" + c.urlParams_.Encode()
46020	req, err := http.NewRequest("POST", urls, body)
46021	if err != nil {
46022		return nil, err
46023	}
46024	req.Header = reqHeaders
46025	googleapi.Expand(req.URL, map[string]string{
46026		"profileId": strconv.FormatInt(c.profileId, 10),
46027	})
46028	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46029}
46030
46031// Do executes the "dfareporting.sites.insert" call.
46032// Exactly one of *Site or error will be non-nil. Any non-2xx status
46033// code is an error. Response headers are in either
46034// *Site.ServerResponse.Header or (if a response was returned at all) in
46035// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46036// whether the returned error was because http.StatusNotModified was
46037// returned.
46038func (c *SitesInsertCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46039	gensupport.SetOptions(c.urlParams_, opts...)
46040	res, err := c.doRequest("json")
46041	if res != nil && res.StatusCode == http.StatusNotModified {
46042		if res.Body != nil {
46043			res.Body.Close()
46044		}
46045		return nil, &googleapi.Error{
46046			Code:   res.StatusCode,
46047			Header: res.Header,
46048		}
46049	}
46050	if err != nil {
46051		return nil, err
46052	}
46053	defer googleapi.CloseBody(res)
46054	if err := googleapi.CheckResponse(res); err != nil {
46055		return nil, err
46056	}
46057	ret := &Site{
46058		ServerResponse: googleapi.ServerResponse{
46059			Header:         res.Header,
46060			HTTPStatusCode: res.StatusCode,
46061		},
46062	}
46063	target := &ret
46064	if err := gensupport.DecodeResponse(target, res); err != nil {
46065		return nil, err
46066	}
46067	return ret, nil
46068	// {
46069	//   "description": "Inserts a new site.",
46070	//   "flatPath": "userprofiles/{profileId}/sites",
46071	//   "httpMethod": "POST",
46072	//   "id": "dfareporting.sites.insert",
46073	//   "parameterOrder": [
46074	//     "profileId"
46075	//   ],
46076	//   "parameters": {
46077	//     "profileId": {
46078	//       "description": "User profile ID associated with this request.",
46079	//       "format": "int64",
46080	//       "location": "path",
46081	//       "required": true,
46082	//       "type": "string"
46083	//     }
46084	//   },
46085	//   "path": "userprofiles/{profileId}/sites",
46086	//   "request": {
46087	//     "$ref": "Site"
46088	//   },
46089	//   "response": {
46090	//     "$ref": "Site"
46091	//   },
46092	//   "scopes": [
46093	//     "https://www.googleapis.com/auth/dfatrafficking"
46094	//   ]
46095	// }
46096
46097}
46098
46099// method id "dfareporting.sites.list":
46100
46101type SitesListCall struct {
46102	s            *Service
46103	profileId    int64
46104	urlParams_   gensupport.URLParams
46105	ifNoneMatch_ string
46106	ctx_         context.Context
46107	header_      http.Header
46108}
46109
46110// List: Retrieves a list of sites, possibly filtered. This method
46111// supports paging.
46112//
46113// - profileId: User profile ID associated with this request.
46114func (r *SitesService) List(profileId int64) *SitesListCall {
46115	c := &SitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46116	c.profileId = profileId
46117	return c
46118}
46119
46120// AcceptsInStreamVideoPlacements sets the optional parameter
46121// "acceptsInStreamVideoPlacements": This search filter is no longer
46122// supported and will have no effect on the results returned.
46123func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
46124	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
46125	return c
46126}
46127
46128// AcceptsInterstitialPlacements sets the optional parameter
46129// "acceptsInterstitialPlacements": This search filter is no longer
46130// supported and will have no effect on the results returned.
46131func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
46132	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
46133	return c
46134}
46135
46136// AcceptsPublisherPaidPlacements sets the optional parameter
46137// "acceptsPublisherPaidPlacements": Select only sites that accept
46138// publisher paid placements.
46139func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
46140	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
46141	return c
46142}
46143
46144// AdWordsSite sets the optional parameter "adWordsSite": Select only
46145// AdWords sites.
46146func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
46147	c.urlParams_.Set("adWordsSite", fmt.Sprint(adWordsSite))
46148	return c
46149}
46150
46151// Approved sets the optional parameter "approved": Select only approved
46152// sites.
46153func (c *SitesListCall) Approved(approved bool) *SitesListCall {
46154	c.urlParams_.Set("approved", fmt.Sprint(approved))
46155	return c
46156}
46157
46158// CampaignIds sets the optional parameter "campaignIds": Select only
46159// sites with these campaign IDs.
46160func (c *SitesListCall) CampaignIds(campaignIds ...int64) *SitesListCall {
46161	var campaignIds_ []string
46162	for _, v := range campaignIds {
46163		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
46164	}
46165	c.urlParams_.SetMulti("campaignIds", campaignIds_)
46166	return c
46167}
46168
46169// DirectorySiteIds sets the optional parameter "directorySiteIds":
46170// Select only sites with these directory site IDs.
46171func (c *SitesListCall) DirectorySiteIds(directorySiteIds ...int64) *SitesListCall {
46172	var directorySiteIds_ []string
46173	for _, v := range directorySiteIds {
46174		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
46175	}
46176	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
46177	return c
46178}
46179
46180// Ids sets the optional parameter "ids": Select only sites with these
46181// IDs.
46182func (c *SitesListCall) Ids(ids ...int64) *SitesListCall {
46183	var ids_ []string
46184	for _, v := range ids {
46185		ids_ = append(ids_, fmt.Sprint(v))
46186	}
46187	c.urlParams_.SetMulti("ids", ids_)
46188	return c
46189}
46190
46191// MaxResults sets the optional parameter "maxResults": Maximum number
46192// of results to return.
46193func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
46194	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
46195	return c
46196}
46197
46198// PageToken sets the optional parameter "pageToken": Value of the
46199// nextPageToken from the previous result page.
46200func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
46201	c.urlParams_.Set("pageToken", pageToken)
46202	return c
46203}
46204
46205// SearchString sets the optional parameter "searchString": Allows
46206// searching for objects by name, ID or keyName. Wildcards (*) are
46207// allowed. For example, "site*2015" will return objects with names like
46208// "site June 2015", "site April 2015", or simply "site 2015". Most of
46209// the searches also add wildcards implicitly at the start and the end
46210// of the search string. For example, a search string of "site" will
46211// match objects with name "my site", "site 2015", or simply "site".
46212func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
46213	c.urlParams_.Set("searchString", searchString)
46214	return c
46215}
46216
46217// SortField sets the optional parameter "sortField": Field by which to
46218// sort the list.
46219//
46220// Possible values:
46221//   "ID" (default)
46222//   "NAME"
46223func (c *SitesListCall) SortField(sortField string) *SitesListCall {
46224	c.urlParams_.Set("sortField", sortField)
46225	return c
46226}
46227
46228// SortOrder sets the optional parameter "sortOrder": Order of sorted
46229// results.
46230//
46231// Possible values:
46232//   "ASCENDING" (default)
46233//   "DESCENDING"
46234func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
46235	c.urlParams_.Set("sortOrder", sortOrder)
46236	return c
46237}
46238
46239// SubaccountId sets the optional parameter "subaccountId": Select only
46240// sites with this subaccount ID.
46241func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
46242	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
46243	return c
46244}
46245
46246// UnmappedSite sets the optional parameter "unmappedSite": Select only
46247// sites that have not been mapped to a directory site.
46248func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
46249	c.urlParams_.Set("unmappedSite", fmt.Sprint(unmappedSite))
46250	return c
46251}
46252
46253// Fields allows partial responses to be retrieved. See
46254// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46255// for more information.
46256func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
46257	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46258	return c
46259}
46260
46261// IfNoneMatch sets the optional parameter which makes the operation
46262// fail if the object's ETag matches the given value. This is useful for
46263// getting updates only after the object has changed since the last
46264// request. Use googleapi.IsNotModified to check whether the response
46265// error from Do is the result of In-None-Match.
46266func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
46267	c.ifNoneMatch_ = entityTag
46268	return c
46269}
46270
46271// Context sets the context to be used in this call's Do method. Any
46272// pending HTTP request will be aborted if the provided context is
46273// canceled.
46274func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
46275	c.ctx_ = ctx
46276	return c
46277}
46278
46279// Header returns an http.Header that can be modified by the caller to
46280// add HTTP headers to the request.
46281func (c *SitesListCall) Header() http.Header {
46282	if c.header_ == nil {
46283		c.header_ = make(http.Header)
46284	}
46285	return c.header_
46286}
46287
46288func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
46289	reqHeaders := make(http.Header)
46290	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
46291	for k, v := range c.header_ {
46292		reqHeaders[k] = v
46293	}
46294	reqHeaders.Set("User-Agent", c.s.userAgent())
46295	if c.ifNoneMatch_ != "" {
46296		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46297	}
46298	var body io.Reader = nil
46299	c.urlParams_.Set("alt", alt)
46300	c.urlParams_.Set("prettyPrint", "false")
46301	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46302	urls += "?" + c.urlParams_.Encode()
46303	req, err := http.NewRequest("GET", urls, body)
46304	if err != nil {
46305		return nil, err
46306	}
46307	req.Header = reqHeaders
46308	googleapi.Expand(req.URL, map[string]string{
46309		"profileId": strconv.FormatInt(c.profileId, 10),
46310	})
46311	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46312}
46313
46314// Do executes the "dfareporting.sites.list" call.
46315// Exactly one of *SitesListResponse or error will be non-nil. Any
46316// non-2xx status code is an error. Response headers are in either
46317// *SitesListResponse.ServerResponse.Header or (if a response was
46318// returned at all) in error.(*googleapi.Error).Header. Use
46319// googleapi.IsNotModified to check whether the returned error was
46320// because http.StatusNotModified was returned.
46321func (c *SitesListCall) Do(opts ...googleapi.CallOption) (*SitesListResponse, error) {
46322	gensupport.SetOptions(c.urlParams_, opts...)
46323	res, err := c.doRequest("json")
46324	if res != nil && res.StatusCode == http.StatusNotModified {
46325		if res.Body != nil {
46326			res.Body.Close()
46327		}
46328		return nil, &googleapi.Error{
46329			Code:   res.StatusCode,
46330			Header: res.Header,
46331		}
46332	}
46333	if err != nil {
46334		return nil, err
46335	}
46336	defer googleapi.CloseBody(res)
46337	if err := googleapi.CheckResponse(res); err != nil {
46338		return nil, err
46339	}
46340	ret := &SitesListResponse{
46341		ServerResponse: googleapi.ServerResponse{
46342			Header:         res.Header,
46343			HTTPStatusCode: res.StatusCode,
46344		},
46345	}
46346	target := &ret
46347	if err := gensupport.DecodeResponse(target, res); err != nil {
46348		return nil, err
46349	}
46350	return ret, nil
46351	// {
46352	//   "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
46353	//   "flatPath": "userprofiles/{profileId}/sites",
46354	//   "httpMethod": "GET",
46355	//   "id": "dfareporting.sites.list",
46356	//   "parameterOrder": [
46357	//     "profileId"
46358	//   ],
46359	//   "parameters": {
46360	//     "acceptsInStreamVideoPlacements": {
46361	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
46362	//       "location": "query",
46363	//       "type": "boolean"
46364	//     },
46365	//     "acceptsInterstitialPlacements": {
46366	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
46367	//       "location": "query",
46368	//       "type": "boolean"
46369	//     },
46370	//     "acceptsPublisherPaidPlacements": {
46371	//       "description": "Select only sites that accept publisher paid placements.",
46372	//       "location": "query",
46373	//       "type": "boolean"
46374	//     },
46375	//     "adWordsSite": {
46376	//       "description": "Select only AdWords sites.",
46377	//       "location": "query",
46378	//       "type": "boolean"
46379	//     },
46380	//     "approved": {
46381	//       "description": "Select only approved sites.",
46382	//       "location": "query",
46383	//       "type": "boolean"
46384	//     },
46385	//     "campaignIds": {
46386	//       "description": "Select only sites with these campaign IDs.",
46387	//       "format": "int64",
46388	//       "location": "query",
46389	//       "repeated": true,
46390	//       "type": "string"
46391	//     },
46392	//     "directorySiteIds": {
46393	//       "description": "Select only sites with these directory site IDs.",
46394	//       "format": "int64",
46395	//       "location": "query",
46396	//       "repeated": true,
46397	//       "type": "string"
46398	//     },
46399	//     "ids": {
46400	//       "description": "Select only sites with these IDs.",
46401	//       "format": "int64",
46402	//       "location": "query",
46403	//       "repeated": true,
46404	//       "type": "string"
46405	//     },
46406	//     "maxResults": {
46407	//       "default": "1000",
46408	//       "description": "Maximum number of results to return.",
46409	//       "format": "int32",
46410	//       "location": "query",
46411	//       "maximum": "1000",
46412	//       "minimum": "0",
46413	//       "type": "integer"
46414	//     },
46415	//     "pageToken": {
46416	//       "description": "Value of the nextPageToken from the previous result page.",
46417	//       "location": "query",
46418	//       "type": "string"
46419	//     },
46420	//     "profileId": {
46421	//       "description": "User profile ID associated with this request.",
46422	//       "format": "int64",
46423	//       "location": "path",
46424	//       "required": true,
46425	//       "type": "string"
46426	//     },
46427	//     "searchString": {
46428	//       "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\".",
46429	//       "location": "query",
46430	//       "type": "string"
46431	//     },
46432	//     "sortField": {
46433	//       "default": "ID",
46434	//       "description": "Field by which to sort the list.",
46435	//       "enum": [
46436	//         "ID",
46437	//         "NAME"
46438	//       ],
46439	//       "enumDescriptions": [
46440	//         "",
46441	//         ""
46442	//       ],
46443	//       "location": "query",
46444	//       "type": "string"
46445	//     },
46446	//     "sortOrder": {
46447	//       "default": "ASCENDING",
46448	//       "description": "Order of sorted results.",
46449	//       "enum": [
46450	//         "ASCENDING",
46451	//         "DESCENDING"
46452	//       ],
46453	//       "enumDescriptions": [
46454	//         "",
46455	//         ""
46456	//       ],
46457	//       "location": "query",
46458	//       "type": "string"
46459	//     },
46460	//     "subaccountId": {
46461	//       "description": "Select only sites with this subaccount ID.",
46462	//       "format": "int64",
46463	//       "location": "query",
46464	//       "type": "string"
46465	//     },
46466	//     "unmappedSite": {
46467	//       "description": "Select only sites that have not been mapped to a directory site.",
46468	//       "location": "query",
46469	//       "type": "boolean"
46470	//     }
46471	//   },
46472	//   "path": "userprofiles/{profileId}/sites",
46473	//   "response": {
46474	//     "$ref": "SitesListResponse"
46475	//   },
46476	//   "scopes": [
46477	//     "https://www.googleapis.com/auth/dfatrafficking"
46478	//   ]
46479	// }
46480
46481}
46482
46483// Pages invokes f for each page of results.
46484// A non-nil error returned from f will halt the iteration.
46485// The provided context supersedes any context provided to the Context method.
46486func (c *SitesListCall) Pages(ctx context.Context, f func(*SitesListResponse) error) error {
46487	c.ctx_ = ctx
46488	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
46489	for {
46490		x, err := c.Do()
46491		if err != nil {
46492			return err
46493		}
46494		if err := f(x); err != nil {
46495			return err
46496		}
46497		if x.NextPageToken == "" {
46498			return nil
46499		}
46500		c.PageToken(x.NextPageToken)
46501	}
46502}
46503
46504// method id "dfareporting.sites.patch":
46505
46506type SitesPatchCall struct {
46507	s          *Service
46508	profileId  int64
46509	site       *Site
46510	urlParams_ gensupport.URLParams
46511	ctx_       context.Context
46512	header_    http.Header
46513}
46514
46515// Patch: Updates an existing site. This method supports patch
46516// semantics.
46517//
46518// - id: Site ID.
46519// - profileId: User profile ID associated with this request.
46520func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
46521	c := &SitesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46522	c.profileId = profileId
46523	c.urlParams_.Set("id", fmt.Sprint(id))
46524	c.site = site
46525	return c
46526}
46527
46528// Fields allows partial responses to be retrieved. See
46529// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46530// for more information.
46531func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
46532	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46533	return c
46534}
46535
46536// Context sets the context to be used in this call's Do method. Any
46537// pending HTTP request will be aborted if the provided context is
46538// canceled.
46539func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
46540	c.ctx_ = ctx
46541	return c
46542}
46543
46544// Header returns an http.Header that can be modified by the caller to
46545// add HTTP headers to the request.
46546func (c *SitesPatchCall) Header() http.Header {
46547	if c.header_ == nil {
46548		c.header_ = make(http.Header)
46549	}
46550	return c.header_
46551}
46552
46553func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
46554	reqHeaders := make(http.Header)
46555	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
46556	for k, v := range c.header_ {
46557		reqHeaders[k] = v
46558	}
46559	reqHeaders.Set("User-Agent", c.s.userAgent())
46560	var body io.Reader = nil
46561	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46562	if err != nil {
46563		return nil, err
46564	}
46565	reqHeaders.Set("Content-Type", "application/json")
46566	c.urlParams_.Set("alt", alt)
46567	c.urlParams_.Set("prettyPrint", "false")
46568	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46569	urls += "?" + c.urlParams_.Encode()
46570	req, err := http.NewRequest("PATCH", urls, body)
46571	if err != nil {
46572		return nil, err
46573	}
46574	req.Header = reqHeaders
46575	googleapi.Expand(req.URL, map[string]string{
46576		"profileId": strconv.FormatInt(c.profileId, 10),
46577	})
46578	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46579}
46580
46581// Do executes the "dfareporting.sites.patch" call.
46582// Exactly one of *Site or error will be non-nil. Any non-2xx status
46583// code is an error. Response headers are in either
46584// *Site.ServerResponse.Header or (if a response was returned at all) in
46585// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46586// whether the returned error was because http.StatusNotModified was
46587// returned.
46588func (c *SitesPatchCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46589	gensupport.SetOptions(c.urlParams_, opts...)
46590	res, err := c.doRequest("json")
46591	if res != nil && res.StatusCode == http.StatusNotModified {
46592		if res.Body != nil {
46593			res.Body.Close()
46594		}
46595		return nil, &googleapi.Error{
46596			Code:   res.StatusCode,
46597			Header: res.Header,
46598		}
46599	}
46600	if err != nil {
46601		return nil, err
46602	}
46603	defer googleapi.CloseBody(res)
46604	if err := googleapi.CheckResponse(res); err != nil {
46605		return nil, err
46606	}
46607	ret := &Site{
46608		ServerResponse: googleapi.ServerResponse{
46609			Header:         res.Header,
46610			HTTPStatusCode: res.StatusCode,
46611		},
46612	}
46613	target := &ret
46614	if err := gensupport.DecodeResponse(target, res); err != nil {
46615		return nil, err
46616	}
46617	return ret, nil
46618	// {
46619	//   "description": "Updates an existing site. This method supports patch semantics.",
46620	//   "flatPath": "userprofiles/{profileId}/sites",
46621	//   "httpMethod": "PATCH",
46622	//   "id": "dfareporting.sites.patch",
46623	//   "parameterOrder": [
46624	//     "profileId",
46625	//     "id"
46626	//   ],
46627	//   "parameters": {
46628	//     "id": {
46629	//       "description": "Site ID.",
46630	//       "format": "int64",
46631	//       "location": "query",
46632	//       "required": true,
46633	//       "type": "string"
46634	//     },
46635	//     "profileId": {
46636	//       "description": "User profile ID associated with this request.",
46637	//       "format": "int64",
46638	//       "location": "path",
46639	//       "required": true,
46640	//       "type": "string"
46641	//     }
46642	//   },
46643	//   "path": "userprofiles/{profileId}/sites",
46644	//   "request": {
46645	//     "$ref": "Site"
46646	//   },
46647	//   "response": {
46648	//     "$ref": "Site"
46649	//   },
46650	//   "scopes": [
46651	//     "https://www.googleapis.com/auth/dfatrafficking"
46652	//   ]
46653	// }
46654
46655}
46656
46657// method id "dfareporting.sites.update":
46658
46659type SitesUpdateCall struct {
46660	s          *Service
46661	profileId  int64
46662	site       *Site
46663	urlParams_ gensupport.URLParams
46664	ctx_       context.Context
46665	header_    http.Header
46666}
46667
46668// Update: Updates an existing site.
46669//
46670// - profileId: User profile ID associated with this request.
46671func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
46672	c := &SitesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46673	c.profileId = profileId
46674	c.site = site
46675	return c
46676}
46677
46678// Fields allows partial responses to be retrieved. See
46679// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46680// for more information.
46681func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
46682	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46683	return c
46684}
46685
46686// Context sets the context to be used in this call's Do method. Any
46687// pending HTTP request will be aborted if the provided context is
46688// canceled.
46689func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
46690	c.ctx_ = ctx
46691	return c
46692}
46693
46694// Header returns an http.Header that can be modified by the caller to
46695// add HTTP headers to the request.
46696func (c *SitesUpdateCall) Header() http.Header {
46697	if c.header_ == nil {
46698		c.header_ = make(http.Header)
46699	}
46700	return c.header_
46701}
46702
46703func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
46704	reqHeaders := make(http.Header)
46705	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
46706	for k, v := range c.header_ {
46707		reqHeaders[k] = v
46708	}
46709	reqHeaders.Set("User-Agent", c.s.userAgent())
46710	var body io.Reader = nil
46711	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46712	if err != nil {
46713		return nil, err
46714	}
46715	reqHeaders.Set("Content-Type", "application/json")
46716	c.urlParams_.Set("alt", alt)
46717	c.urlParams_.Set("prettyPrint", "false")
46718	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46719	urls += "?" + c.urlParams_.Encode()
46720	req, err := http.NewRequest("PUT", urls, body)
46721	if err != nil {
46722		return nil, err
46723	}
46724	req.Header = reqHeaders
46725	googleapi.Expand(req.URL, map[string]string{
46726		"profileId": strconv.FormatInt(c.profileId, 10),
46727	})
46728	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46729}
46730
46731// Do executes the "dfareporting.sites.update" call.
46732// Exactly one of *Site or error will be non-nil. Any non-2xx status
46733// code is an error. Response headers are in either
46734// *Site.ServerResponse.Header or (if a response was returned at all) in
46735// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46736// whether the returned error was because http.StatusNotModified was
46737// returned.
46738func (c *SitesUpdateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46739	gensupport.SetOptions(c.urlParams_, opts...)
46740	res, err := c.doRequest("json")
46741	if res != nil && res.StatusCode == http.StatusNotModified {
46742		if res.Body != nil {
46743			res.Body.Close()
46744		}
46745		return nil, &googleapi.Error{
46746			Code:   res.StatusCode,
46747			Header: res.Header,
46748		}
46749	}
46750	if err != nil {
46751		return nil, err
46752	}
46753	defer googleapi.CloseBody(res)
46754	if err := googleapi.CheckResponse(res); err != nil {
46755		return nil, err
46756	}
46757	ret := &Site{
46758		ServerResponse: googleapi.ServerResponse{
46759			Header:         res.Header,
46760			HTTPStatusCode: res.StatusCode,
46761		},
46762	}
46763	target := &ret
46764	if err := gensupport.DecodeResponse(target, res); err != nil {
46765		return nil, err
46766	}
46767	return ret, nil
46768	// {
46769	//   "description": "Updates an existing site.",
46770	//   "flatPath": "userprofiles/{profileId}/sites",
46771	//   "httpMethod": "PUT",
46772	//   "id": "dfareporting.sites.update",
46773	//   "parameterOrder": [
46774	//     "profileId"
46775	//   ],
46776	//   "parameters": {
46777	//     "profileId": {
46778	//       "description": "User profile ID associated with this request.",
46779	//       "format": "int64",
46780	//       "location": "path",
46781	//       "required": true,
46782	//       "type": "string"
46783	//     }
46784	//   },
46785	//   "path": "userprofiles/{profileId}/sites",
46786	//   "request": {
46787	//     "$ref": "Site"
46788	//   },
46789	//   "response": {
46790	//     "$ref": "Site"
46791	//   },
46792	//   "scopes": [
46793	//     "https://www.googleapis.com/auth/dfatrafficking"
46794	//   ]
46795	// }
46796
46797}
46798
46799// method id "dfareporting.sizes.get":
46800
46801type SizesGetCall struct {
46802	s            *Service
46803	profileId    int64
46804	id           int64
46805	urlParams_   gensupport.URLParams
46806	ifNoneMatch_ string
46807	ctx_         context.Context
46808	header_      http.Header
46809}
46810
46811// Get: Gets one size by ID.
46812//
46813// - id: Size ID.
46814// - profileId: User profile ID associated with this request.
46815func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
46816	c := &SizesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46817	c.profileId = profileId
46818	c.id = id
46819	return c
46820}
46821
46822// Fields allows partial responses to be retrieved. See
46823// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46824// for more information.
46825func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
46826	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46827	return c
46828}
46829
46830// IfNoneMatch sets the optional parameter which makes the operation
46831// fail if the object's ETag matches the given value. This is useful for
46832// getting updates only after the object has changed since the last
46833// request. Use googleapi.IsNotModified to check whether the response
46834// error from Do is the result of In-None-Match.
46835func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
46836	c.ifNoneMatch_ = entityTag
46837	return c
46838}
46839
46840// Context sets the context to be used in this call's Do method. Any
46841// pending HTTP request will be aborted if the provided context is
46842// canceled.
46843func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
46844	c.ctx_ = ctx
46845	return c
46846}
46847
46848// Header returns an http.Header that can be modified by the caller to
46849// add HTTP headers to the request.
46850func (c *SizesGetCall) Header() http.Header {
46851	if c.header_ == nil {
46852		c.header_ = make(http.Header)
46853	}
46854	return c.header_
46855}
46856
46857func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
46858	reqHeaders := make(http.Header)
46859	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
46860	for k, v := range c.header_ {
46861		reqHeaders[k] = v
46862	}
46863	reqHeaders.Set("User-Agent", c.s.userAgent())
46864	if c.ifNoneMatch_ != "" {
46865		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46866	}
46867	var body io.Reader = nil
46868	c.urlParams_.Set("alt", alt)
46869	c.urlParams_.Set("prettyPrint", "false")
46870	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
46871	urls += "?" + c.urlParams_.Encode()
46872	req, err := http.NewRequest("GET", urls, body)
46873	if err != nil {
46874		return nil, err
46875	}
46876	req.Header = reqHeaders
46877	googleapi.Expand(req.URL, map[string]string{
46878		"profileId": strconv.FormatInt(c.profileId, 10),
46879		"id":        strconv.FormatInt(c.id, 10),
46880	})
46881	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46882}
46883
46884// Do executes the "dfareporting.sizes.get" call.
46885// Exactly one of *Size or error will be non-nil. Any non-2xx status
46886// code is an error. Response headers are in either
46887// *Size.ServerResponse.Header or (if a response was returned at all) in
46888// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46889// whether the returned error was because http.StatusNotModified was
46890// returned.
46891func (c *SizesGetCall) Do(opts ...googleapi.CallOption) (*Size, error) {
46892	gensupport.SetOptions(c.urlParams_, opts...)
46893	res, err := c.doRequest("json")
46894	if res != nil && res.StatusCode == http.StatusNotModified {
46895		if res.Body != nil {
46896			res.Body.Close()
46897		}
46898		return nil, &googleapi.Error{
46899			Code:   res.StatusCode,
46900			Header: res.Header,
46901		}
46902	}
46903	if err != nil {
46904		return nil, err
46905	}
46906	defer googleapi.CloseBody(res)
46907	if err := googleapi.CheckResponse(res); err != nil {
46908		return nil, err
46909	}
46910	ret := &Size{
46911		ServerResponse: googleapi.ServerResponse{
46912			Header:         res.Header,
46913			HTTPStatusCode: res.StatusCode,
46914		},
46915	}
46916	target := &ret
46917	if err := gensupport.DecodeResponse(target, res); err != nil {
46918		return nil, err
46919	}
46920	return ret, nil
46921	// {
46922	//   "description": "Gets one size by ID.",
46923	//   "flatPath": "userprofiles/{profileId}/sizes/{id}",
46924	//   "httpMethod": "GET",
46925	//   "id": "dfareporting.sizes.get",
46926	//   "parameterOrder": [
46927	//     "profileId",
46928	//     "id"
46929	//   ],
46930	//   "parameters": {
46931	//     "id": {
46932	//       "description": "Size ID.",
46933	//       "format": "int64",
46934	//       "location": "path",
46935	//       "required": true,
46936	//       "type": "string"
46937	//     },
46938	//     "profileId": {
46939	//       "description": "User profile ID associated with this request.",
46940	//       "format": "int64",
46941	//       "location": "path",
46942	//       "required": true,
46943	//       "type": "string"
46944	//     }
46945	//   },
46946	//   "path": "userprofiles/{profileId}/sizes/{id}",
46947	//   "response": {
46948	//     "$ref": "Size"
46949	//   },
46950	//   "scopes": [
46951	//     "https://www.googleapis.com/auth/dfatrafficking"
46952	//   ]
46953	// }
46954
46955}
46956
46957// method id "dfareporting.sizes.insert":
46958
46959type SizesInsertCall struct {
46960	s          *Service
46961	profileId  int64
46962	size       *Size
46963	urlParams_ gensupport.URLParams
46964	ctx_       context.Context
46965	header_    http.Header
46966}
46967
46968// Insert: Inserts a new size.
46969//
46970// - profileId: User profile ID associated with this request.
46971func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
46972	c := &SizesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46973	c.profileId = profileId
46974	c.size = size
46975	return c
46976}
46977
46978// Fields allows partial responses to be retrieved. See
46979// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46980// for more information.
46981func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
46982	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46983	return c
46984}
46985
46986// Context sets the context to be used in this call's Do method. Any
46987// pending HTTP request will be aborted if the provided context is
46988// canceled.
46989func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
46990	c.ctx_ = ctx
46991	return c
46992}
46993
46994// Header returns an http.Header that can be modified by the caller to
46995// add HTTP headers to the request.
46996func (c *SizesInsertCall) Header() http.Header {
46997	if c.header_ == nil {
46998		c.header_ = make(http.Header)
46999	}
47000	return c.header_
47001}
47002
47003func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
47004	reqHeaders := make(http.Header)
47005	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
47006	for k, v := range c.header_ {
47007		reqHeaders[k] = v
47008	}
47009	reqHeaders.Set("User-Agent", c.s.userAgent())
47010	var body io.Reader = nil
47011	body, err := googleapi.WithoutDataWrapper.JSONReader(c.size)
47012	if err != nil {
47013		return nil, err
47014	}
47015	reqHeaders.Set("Content-Type", "application/json")
47016	c.urlParams_.Set("alt", alt)
47017	c.urlParams_.Set("prettyPrint", "false")
47018	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
47019	urls += "?" + c.urlParams_.Encode()
47020	req, err := http.NewRequest("POST", urls, body)
47021	if err != nil {
47022		return nil, err
47023	}
47024	req.Header = reqHeaders
47025	googleapi.Expand(req.URL, map[string]string{
47026		"profileId": strconv.FormatInt(c.profileId, 10),
47027	})
47028	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47029}
47030
47031// Do executes the "dfareporting.sizes.insert" call.
47032// Exactly one of *Size or error will be non-nil. Any non-2xx status
47033// code is an error. Response headers are in either
47034// *Size.ServerResponse.Header or (if a response was returned at all) in
47035// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
47036// whether the returned error was because http.StatusNotModified was
47037// returned.
47038func (c *SizesInsertCall) Do(opts ...googleapi.CallOption) (*Size, error) {
47039	gensupport.SetOptions(c.urlParams_, opts...)
47040	res, err := c.doRequest("json")
47041	if res != nil && res.StatusCode == http.StatusNotModified {
47042		if res.Body != nil {
47043			res.Body.Close()
47044		}
47045		return nil, &googleapi.Error{
47046			Code:   res.StatusCode,
47047			Header: res.Header,
47048		}
47049	}
47050	if err != nil {
47051		return nil, err
47052	}
47053	defer googleapi.CloseBody(res)
47054	if err := googleapi.CheckResponse(res); err != nil {
47055		return nil, err
47056	}
47057	ret := &Size{
47058		ServerResponse: googleapi.ServerResponse{
47059			Header:         res.Header,
47060			HTTPStatusCode: res.StatusCode,
47061		},
47062	}
47063	target := &ret
47064	if err := gensupport.DecodeResponse(target, res); err != nil {
47065		return nil, err
47066	}
47067	return ret, nil
47068	// {
47069	//   "description": "Inserts a new size.",
47070	//   "flatPath": "userprofiles/{profileId}/sizes",
47071	//   "httpMethod": "POST",
47072	//   "id": "dfareporting.sizes.insert",
47073	//   "parameterOrder": [
47074	//     "profileId"
47075	//   ],
47076	//   "parameters": {
47077	//     "profileId": {
47078	//       "description": "User profile ID associated with this request.",
47079	//       "format": "int64",
47080	//       "location": "path",
47081	//       "required": true,
47082	//       "type": "string"
47083	//     }
47084	//   },
47085	//   "path": "userprofiles/{profileId}/sizes",
47086	//   "request": {
47087	//     "$ref": "Size"
47088	//   },
47089	//   "response": {
47090	//     "$ref": "Size"
47091	//   },
47092	//   "scopes": [
47093	//     "https://www.googleapis.com/auth/dfatrafficking"
47094	//   ]
47095	// }
47096
47097}
47098
47099// method id "dfareporting.sizes.list":
47100
47101type SizesListCall struct {
47102	s            *Service
47103	profileId    int64
47104	urlParams_   gensupport.URLParams
47105	ifNoneMatch_ string
47106	ctx_         context.Context
47107	header_      http.Header
47108}
47109
47110// List: Retrieves a list of sizes, possibly filtered. Retrieved sizes
47111// are globally unique and may include values not currently in use by
47112// your account. Due to this, the list of sizes returned by this method
47113// may differ from the list seen in the Trafficking UI.
47114//
47115// - profileId: User profile ID associated with this request.
47116func (r *SizesService) List(profileId int64) *SizesListCall {
47117	c := &SizesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47118	c.profileId = profileId
47119	return c
47120}
47121
47122// Height sets the optional parameter "height": Select only sizes with
47123// this height.
47124func (c *SizesListCall) Height(height int64) *SizesListCall {
47125	c.urlParams_.Set("height", fmt.Sprint(height))
47126	return c
47127}
47128
47129// IabStandard sets the optional parameter "iabStandard": Select only
47130// IAB standard sizes.
47131func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
47132	c.urlParams_.Set("iabStandard", fmt.Sprint(iabStandard))
47133	return c
47134}
47135
47136// Ids sets the optional parameter "ids": Select only sizes with these
47137// IDs.
47138func (c *SizesListCall) Ids(ids ...int64) *SizesListCall {
47139	var ids_ []string
47140	for _, v := range ids {
47141		ids_ = append(ids_, fmt.Sprint(v))
47142	}
47143	c.urlParams_.SetMulti("ids", ids_)
47144	return c
47145}
47146
47147// Width sets the optional parameter "width": Select only sizes with
47148// this width.
47149func (c *SizesListCall) Width(width int64) *SizesListCall {
47150	c.urlParams_.Set("width", fmt.Sprint(width))
47151	return c
47152}
47153
47154// Fields allows partial responses to be retrieved. See
47155// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47156// for more information.
47157func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
47158	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47159	return c
47160}
47161
47162// IfNoneMatch sets the optional parameter which makes the operation
47163// fail if the object's ETag matches the given value. This is useful for
47164// getting updates only after the object has changed since the last
47165// request. Use googleapi.IsNotModified to check whether the response
47166// error from Do is the result of In-None-Match.
47167func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
47168	c.ifNoneMatch_ = entityTag
47169	return c
47170}
47171
47172// Context sets the context to be used in this call's Do method. Any
47173// pending HTTP request will be aborted if the provided context is
47174// canceled.
47175func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
47176	c.ctx_ = ctx
47177	return c
47178}
47179
47180// Header returns an http.Header that can be modified by the caller to
47181// add HTTP headers to the request.
47182func (c *SizesListCall) Header() http.Header {
47183	if c.header_ == nil {
47184		c.header_ = make(http.Header)
47185	}
47186	return c.header_
47187}
47188
47189func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
47190	reqHeaders := make(http.Header)
47191	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
47192	for k, v := range c.header_ {
47193		reqHeaders[k] = v
47194	}
47195	reqHeaders.Set("User-Agent", c.s.userAgent())
47196	if c.ifNoneMatch_ != "" {
47197		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47198	}
47199	var body io.Reader = nil
47200	c.urlParams_.Set("alt", alt)
47201	c.urlParams_.Set("prettyPrint", "false")
47202	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
47203	urls += "?" + c.urlParams_.Encode()
47204	req, err := http.NewRequest("GET", urls, body)
47205	if err != nil {
47206		return nil, err
47207	}
47208	req.Header = reqHeaders
47209	googleapi.Expand(req.URL, map[string]string{
47210		"profileId": strconv.FormatInt(c.profileId, 10),
47211	})
47212	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47213}
47214
47215// Do executes the "dfareporting.sizes.list" call.
47216// Exactly one of *SizesListResponse or error will be non-nil. Any
47217// non-2xx status code is an error. Response headers are in either
47218// *SizesListResponse.ServerResponse.Header or (if a response was
47219// returned at all) in error.(*googleapi.Error).Header. Use
47220// googleapi.IsNotModified to check whether the returned error was
47221// because http.StatusNotModified was returned.
47222func (c *SizesListCall) Do(opts ...googleapi.CallOption) (*SizesListResponse, error) {
47223	gensupport.SetOptions(c.urlParams_, opts...)
47224	res, err := c.doRequest("json")
47225	if res != nil && res.StatusCode == http.StatusNotModified {
47226		if res.Body != nil {
47227			res.Body.Close()
47228		}
47229		return nil, &googleapi.Error{
47230			Code:   res.StatusCode,
47231			Header: res.Header,
47232		}
47233	}
47234	if err != nil {
47235		return nil, err
47236	}
47237	defer googleapi.CloseBody(res)
47238	if err := googleapi.CheckResponse(res); err != nil {
47239		return nil, err
47240	}
47241	ret := &SizesListResponse{
47242		ServerResponse: googleapi.ServerResponse{
47243			Header:         res.Header,
47244			HTTPStatusCode: res.StatusCode,
47245		},
47246	}
47247	target := &ret
47248	if err := gensupport.DecodeResponse(target, res); err != nil {
47249		return nil, err
47250	}
47251	return ret, nil
47252	// {
47253	//   "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.",
47254	//   "flatPath": "userprofiles/{profileId}/sizes",
47255	//   "httpMethod": "GET",
47256	//   "id": "dfareporting.sizes.list",
47257	//   "parameterOrder": [
47258	//     "profileId"
47259	//   ],
47260	//   "parameters": {
47261	//     "height": {
47262	//       "description": "Select only sizes with this height.",
47263	//       "format": "int32",
47264	//       "location": "query",
47265	//       "maximum": "32767",
47266	//       "minimum": "0",
47267	//       "type": "integer"
47268	//     },
47269	//     "iabStandard": {
47270	//       "description": "Select only IAB standard sizes.",
47271	//       "location": "query",
47272	//       "type": "boolean"
47273	//     },
47274	//     "ids": {
47275	//       "description": "Select only sizes with these IDs.",
47276	//       "format": "int64",
47277	//       "location": "query",
47278	//       "repeated": true,
47279	//       "type": "string"
47280	//     },
47281	//     "profileId": {
47282	//       "description": "User profile ID associated with this request.",
47283	//       "format": "int64",
47284	//       "location": "path",
47285	//       "required": true,
47286	//       "type": "string"
47287	//     },
47288	//     "width": {
47289	//       "description": "Select only sizes with this width.",
47290	//       "format": "int32",
47291	//       "location": "query",
47292	//       "maximum": "32767",
47293	//       "minimum": "0",
47294	//       "type": "integer"
47295	//     }
47296	//   },
47297	//   "path": "userprofiles/{profileId}/sizes",
47298	//   "response": {
47299	//     "$ref": "SizesListResponse"
47300	//   },
47301	//   "scopes": [
47302	//     "https://www.googleapis.com/auth/dfatrafficking"
47303	//   ]
47304	// }
47305
47306}
47307
47308// method id "dfareporting.subaccounts.get":
47309
47310type SubaccountsGetCall struct {
47311	s            *Service
47312	profileId    int64
47313	id           int64
47314	urlParams_   gensupport.URLParams
47315	ifNoneMatch_ string
47316	ctx_         context.Context
47317	header_      http.Header
47318}
47319
47320// Get: Gets one subaccount by ID.
47321//
47322// - id: Subaccount ID.
47323// - profileId: User profile ID associated with this request.
47324func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
47325	c := &SubaccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47326	c.profileId = profileId
47327	c.id = id
47328	return c
47329}
47330
47331// Fields allows partial responses to be retrieved. See
47332// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47333// for more information.
47334func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
47335	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47336	return c
47337}
47338
47339// IfNoneMatch sets the optional parameter which makes the operation
47340// fail if the object's ETag matches the given value. This is useful for
47341// getting updates only after the object has changed since the last
47342// request. Use googleapi.IsNotModified to check whether the response
47343// error from Do is the result of In-None-Match.
47344func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
47345	c.ifNoneMatch_ = entityTag
47346	return c
47347}
47348
47349// Context sets the context to be used in this call's Do method. Any
47350// pending HTTP request will be aborted if the provided context is
47351// canceled.
47352func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
47353	c.ctx_ = ctx
47354	return c
47355}
47356
47357// Header returns an http.Header that can be modified by the caller to
47358// add HTTP headers to the request.
47359func (c *SubaccountsGetCall) Header() http.Header {
47360	if c.header_ == nil {
47361		c.header_ = make(http.Header)
47362	}
47363	return c.header_
47364}
47365
47366func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
47367	reqHeaders := make(http.Header)
47368	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
47369	for k, v := range c.header_ {
47370		reqHeaders[k] = v
47371	}
47372	reqHeaders.Set("User-Agent", c.s.userAgent())
47373	if c.ifNoneMatch_ != "" {
47374		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47375	}
47376	var body io.Reader = nil
47377	c.urlParams_.Set("alt", alt)
47378	c.urlParams_.Set("prettyPrint", "false")
47379	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
47380	urls += "?" + c.urlParams_.Encode()
47381	req, err := http.NewRequest("GET", urls, body)
47382	if err != nil {
47383		return nil, err
47384	}
47385	req.Header = reqHeaders
47386	googleapi.Expand(req.URL, map[string]string{
47387		"profileId": strconv.FormatInt(c.profileId, 10),
47388		"id":        strconv.FormatInt(c.id, 10),
47389	})
47390	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47391}
47392
47393// Do executes the "dfareporting.subaccounts.get" call.
47394// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47395// status code is an error. Response headers are in either
47396// *Subaccount.ServerResponse.Header or (if a response was returned at
47397// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47398// to check whether the returned error was because
47399// http.StatusNotModified was returned.
47400func (c *SubaccountsGetCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47401	gensupport.SetOptions(c.urlParams_, opts...)
47402	res, err := c.doRequest("json")
47403	if res != nil && res.StatusCode == http.StatusNotModified {
47404		if res.Body != nil {
47405			res.Body.Close()
47406		}
47407		return nil, &googleapi.Error{
47408			Code:   res.StatusCode,
47409			Header: res.Header,
47410		}
47411	}
47412	if err != nil {
47413		return nil, err
47414	}
47415	defer googleapi.CloseBody(res)
47416	if err := googleapi.CheckResponse(res); err != nil {
47417		return nil, err
47418	}
47419	ret := &Subaccount{
47420		ServerResponse: googleapi.ServerResponse{
47421			Header:         res.Header,
47422			HTTPStatusCode: res.StatusCode,
47423		},
47424	}
47425	target := &ret
47426	if err := gensupport.DecodeResponse(target, res); err != nil {
47427		return nil, err
47428	}
47429	return ret, nil
47430	// {
47431	//   "description": "Gets one subaccount by ID.",
47432	//   "flatPath": "userprofiles/{profileId}/subaccounts/{id}",
47433	//   "httpMethod": "GET",
47434	//   "id": "dfareporting.subaccounts.get",
47435	//   "parameterOrder": [
47436	//     "profileId",
47437	//     "id"
47438	//   ],
47439	//   "parameters": {
47440	//     "id": {
47441	//       "description": "Subaccount ID.",
47442	//       "format": "int64",
47443	//       "location": "path",
47444	//       "required": true,
47445	//       "type": "string"
47446	//     },
47447	//     "profileId": {
47448	//       "description": "User profile ID associated with this request.",
47449	//       "format": "int64",
47450	//       "location": "path",
47451	//       "required": true,
47452	//       "type": "string"
47453	//     }
47454	//   },
47455	//   "path": "userprofiles/{profileId}/subaccounts/{id}",
47456	//   "response": {
47457	//     "$ref": "Subaccount"
47458	//   },
47459	//   "scopes": [
47460	//     "https://www.googleapis.com/auth/dfatrafficking"
47461	//   ]
47462	// }
47463
47464}
47465
47466// method id "dfareporting.subaccounts.insert":
47467
47468type SubaccountsInsertCall struct {
47469	s          *Service
47470	profileId  int64
47471	subaccount *Subaccount
47472	urlParams_ gensupport.URLParams
47473	ctx_       context.Context
47474	header_    http.Header
47475}
47476
47477// Insert: Inserts a new subaccount.
47478//
47479// - profileId: User profile ID associated with this request.
47480func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
47481	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47482	c.profileId = profileId
47483	c.subaccount = subaccount
47484	return c
47485}
47486
47487// Fields allows partial responses to be retrieved. See
47488// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47489// for more information.
47490func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
47491	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47492	return c
47493}
47494
47495// Context sets the context to be used in this call's Do method. Any
47496// pending HTTP request will be aborted if the provided context is
47497// canceled.
47498func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
47499	c.ctx_ = ctx
47500	return c
47501}
47502
47503// Header returns an http.Header that can be modified by the caller to
47504// add HTTP headers to the request.
47505func (c *SubaccountsInsertCall) Header() http.Header {
47506	if c.header_ == nil {
47507		c.header_ = make(http.Header)
47508	}
47509	return c.header_
47510}
47511
47512func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
47513	reqHeaders := make(http.Header)
47514	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
47515	for k, v := range c.header_ {
47516		reqHeaders[k] = v
47517	}
47518	reqHeaders.Set("User-Agent", c.s.userAgent())
47519	var body io.Reader = nil
47520	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47521	if err != nil {
47522		return nil, err
47523	}
47524	reqHeaders.Set("Content-Type", "application/json")
47525	c.urlParams_.Set("alt", alt)
47526	c.urlParams_.Set("prettyPrint", "false")
47527	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47528	urls += "?" + c.urlParams_.Encode()
47529	req, err := http.NewRequest("POST", urls, body)
47530	if err != nil {
47531		return nil, err
47532	}
47533	req.Header = reqHeaders
47534	googleapi.Expand(req.URL, map[string]string{
47535		"profileId": strconv.FormatInt(c.profileId, 10),
47536	})
47537	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47538}
47539
47540// Do executes the "dfareporting.subaccounts.insert" call.
47541// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47542// status code is an error. Response headers are in either
47543// *Subaccount.ServerResponse.Header or (if a response was returned at
47544// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47545// to check whether the returned error was because
47546// http.StatusNotModified was returned.
47547func (c *SubaccountsInsertCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47548	gensupport.SetOptions(c.urlParams_, opts...)
47549	res, err := c.doRequest("json")
47550	if res != nil && res.StatusCode == http.StatusNotModified {
47551		if res.Body != nil {
47552			res.Body.Close()
47553		}
47554		return nil, &googleapi.Error{
47555			Code:   res.StatusCode,
47556			Header: res.Header,
47557		}
47558	}
47559	if err != nil {
47560		return nil, err
47561	}
47562	defer googleapi.CloseBody(res)
47563	if err := googleapi.CheckResponse(res); err != nil {
47564		return nil, err
47565	}
47566	ret := &Subaccount{
47567		ServerResponse: googleapi.ServerResponse{
47568			Header:         res.Header,
47569			HTTPStatusCode: res.StatusCode,
47570		},
47571	}
47572	target := &ret
47573	if err := gensupport.DecodeResponse(target, res); err != nil {
47574		return nil, err
47575	}
47576	return ret, nil
47577	// {
47578	//   "description": "Inserts a new subaccount.",
47579	//   "flatPath": "userprofiles/{profileId}/subaccounts",
47580	//   "httpMethod": "POST",
47581	//   "id": "dfareporting.subaccounts.insert",
47582	//   "parameterOrder": [
47583	//     "profileId"
47584	//   ],
47585	//   "parameters": {
47586	//     "profileId": {
47587	//       "description": "User profile ID associated with this request.",
47588	//       "format": "int64",
47589	//       "location": "path",
47590	//       "required": true,
47591	//       "type": "string"
47592	//     }
47593	//   },
47594	//   "path": "userprofiles/{profileId}/subaccounts",
47595	//   "request": {
47596	//     "$ref": "Subaccount"
47597	//   },
47598	//   "response": {
47599	//     "$ref": "Subaccount"
47600	//   },
47601	//   "scopes": [
47602	//     "https://www.googleapis.com/auth/dfatrafficking"
47603	//   ]
47604	// }
47605
47606}
47607
47608// method id "dfareporting.subaccounts.list":
47609
47610type SubaccountsListCall struct {
47611	s            *Service
47612	profileId    int64
47613	urlParams_   gensupport.URLParams
47614	ifNoneMatch_ string
47615	ctx_         context.Context
47616	header_      http.Header
47617}
47618
47619// List: Gets a list of subaccounts, possibly filtered. This method
47620// supports paging.
47621//
47622// - profileId: User profile ID associated with this request.
47623func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
47624	c := &SubaccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47625	c.profileId = profileId
47626	return c
47627}
47628
47629// Ids sets the optional parameter "ids": Select only subaccounts with
47630// these IDs.
47631func (c *SubaccountsListCall) Ids(ids ...int64) *SubaccountsListCall {
47632	var ids_ []string
47633	for _, v := range ids {
47634		ids_ = append(ids_, fmt.Sprint(v))
47635	}
47636	c.urlParams_.SetMulti("ids", ids_)
47637	return c
47638}
47639
47640// MaxResults sets the optional parameter "maxResults": Maximum number
47641// of results to return.
47642func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
47643	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
47644	return c
47645}
47646
47647// PageToken sets the optional parameter "pageToken": Value of the
47648// nextPageToken from the previous result page.
47649func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
47650	c.urlParams_.Set("pageToken", pageToken)
47651	return c
47652}
47653
47654// SearchString sets the optional parameter "searchString": Allows
47655// searching for objects by name or ID. Wildcards (*) are allowed. For
47656// example, "subaccount*2015" will return objects with names like
47657// "subaccount June 2015", "subaccount April 2015", or simply
47658// "subaccount 2015". Most of the searches also add wildcards implicitly
47659// at the start and the end of the search string. For example, a search
47660// string of "subaccount" will match objects with name "my subaccount",
47661// "subaccount 2015", or simply "subaccount" .
47662func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
47663	c.urlParams_.Set("searchString", searchString)
47664	return c
47665}
47666
47667// SortField sets the optional parameter "sortField": Field by which to
47668// sort the list.
47669//
47670// Possible values:
47671//   "ID" (default)
47672//   "NAME"
47673func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
47674	c.urlParams_.Set("sortField", sortField)
47675	return c
47676}
47677
47678// SortOrder sets the optional parameter "sortOrder": Order of sorted
47679// results.
47680//
47681// Possible values:
47682//   "ASCENDING" (default)
47683//   "DESCENDING"
47684func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
47685	c.urlParams_.Set("sortOrder", sortOrder)
47686	return c
47687}
47688
47689// Fields allows partial responses to be retrieved. See
47690// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47691// for more information.
47692func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
47693	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47694	return c
47695}
47696
47697// IfNoneMatch sets the optional parameter which makes the operation
47698// fail if the object's ETag matches the given value. This is useful for
47699// getting updates only after the object has changed since the last
47700// request. Use googleapi.IsNotModified to check whether the response
47701// error from Do is the result of In-None-Match.
47702func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
47703	c.ifNoneMatch_ = entityTag
47704	return c
47705}
47706
47707// Context sets the context to be used in this call's Do method. Any
47708// pending HTTP request will be aborted if the provided context is
47709// canceled.
47710func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
47711	c.ctx_ = ctx
47712	return c
47713}
47714
47715// Header returns an http.Header that can be modified by the caller to
47716// add HTTP headers to the request.
47717func (c *SubaccountsListCall) Header() http.Header {
47718	if c.header_ == nil {
47719		c.header_ = make(http.Header)
47720	}
47721	return c.header_
47722}
47723
47724func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
47725	reqHeaders := make(http.Header)
47726	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
47727	for k, v := range c.header_ {
47728		reqHeaders[k] = v
47729	}
47730	reqHeaders.Set("User-Agent", c.s.userAgent())
47731	if c.ifNoneMatch_ != "" {
47732		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47733	}
47734	var body io.Reader = nil
47735	c.urlParams_.Set("alt", alt)
47736	c.urlParams_.Set("prettyPrint", "false")
47737	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47738	urls += "?" + c.urlParams_.Encode()
47739	req, err := http.NewRequest("GET", urls, body)
47740	if err != nil {
47741		return nil, err
47742	}
47743	req.Header = reqHeaders
47744	googleapi.Expand(req.URL, map[string]string{
47745		"profileId": strconv.FormatInt(c.profileId, 10),
47746	})
47747	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47748}
47749
47750// Do executes the "dfareporting.subaccounts.list" call.
47751// Exactly one of *SubaccountsListResponse or error will be non-nil. Any
47752// non-2xx status code is an error. Response headers are in either
47753// *SubaccountsListResponse.ServerResponse.Header or (if a response was
47754// returned at all) in error.(*googleapi.Error).Header. Use
47755// googleapi.IsNotModified to check whether the returned error was
47756// because http.StatusNotModified was returned.
47757func (c *SubaccountsListCall) Do(opts ...googleapi.CallOption) (*SubaccountsListResponse, error) {
47758	gensupport.SetOptions(c.urlParams_, opts...)
47759	res, err := c.doRequest("json")
47760	if res != nil && res.StatusCode == http.StatusNotModified {
47761		if res.Body != nil {
47762			res.Body.Close()
47763		}
47764		return nil, &googleapi.Error{
47765			Code:   res.StatusCode,
47766			Header: res.Header,
47767		}
47768	}
47769	if err != nil {
47770		return nil, err
47771	}
47772	defer googleapi.CloseBody(res)
47773	if err := googleapi.CheckResponse(res); err != nil {
47774		return nil, err
47775	}
47776	ret := &SubaccountsListResponse{
47777		ServerResponse: googleapi.ServerResponse{
47778			Header:         res.Header,
47779			HTTPStatusCode: res.StatusCode,
47780		},
47781	}
47782	target := &ret
47783	if err := gensupport.DecodeResponse(target, res); err != nil {
47784		return nil, err
47785	}
47786	return ret, nil
47787	// {
47788	//   "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
47789	//   "flatPath": "userprofiles/{profileId}/subaccounts",
47790	//   "httpMethod": "GET",
47791	//   "id": "dfareporting.subaccounts.list",
47792	//   "parameterOrder": [
47793	//     "profileId"
47794	//   ],
47795	//   "parameters": {
47796	//     "ids": {
47797	//       "description": "Select only subaccounts with these IDs.",
47798	//       "format": "int64",
47799	//       "location": "query",
47800	//       "repeated": true,
47801	//       "type": "string"
47802	//     },
47803	//     "maxResults": {
47804	//       "default": "1000",
47805	//       "description": "Maximum number of results to return.",
47806	//       "format": "int32",
47807	//       "location": "query",
47808	//       "maximum": "1000",
47809	//       "minimum": "0",
47810	//       "type": "integer"
47811	//     },
47812	//     "pageToken": {
47813	//       "description": "Value of the nextPageToken from the previous result page.",
47814	//       "location": "query",
47815	//       "type": "string"
47816	//     },
47817	//     "profileId": {
47818	//       "description": "User profile ID associated with this request.",
47819	//       "format": "int64",
47820	//       "location": "path",
47821	//       "required": true,
47822	//       "type": "string"
47823	//     },
47824	//     "searchString": {
47825	//       "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\" .",
47826	//       "location": "query",
47827	//       "type": "string"
47828	//     },
47829	//     "sortField": {
47830	//       "default": "ID",
47831	//       "description": "Field by which to sort the list.",
47832	//       "enum": [
47833	//         "ID",
47834	//         "NAME"
47835	//       ],
47836	//       "enumDescriptions": [
47837	//         "",
47838	//         ""
47839	//       ],
47840	//       "location": "query",
47841	//       "type": "string"
47842	//     },
47843	//     "sortOrder": {
47844	//       "default": "ASCENDING",
47845	//       "description": "Order of sorted results.",
47846	//       "enum": [
47847	//         "ASCENDING",
47848	//         "DESCENDING"
47849	//       ],
47850	//       "enumDescriptions": [
47851	//         "",
47852	//         ""
47853	//       ],
47854	//       "location": "query",
47855	//       "type": "string"
47856	//     }
47857	//   },
47858	//   "path": "userprofiles/{profileId}/subaccounts",
47859	//   "response": {
47860	//     "$ref": "SubaccountsListResponse"
47861	//   },
47862	//   "scopes": [
47863	//     "https://www.googleapis.com/auth/dfatrafficking"
47864	//   ]
47865	// }
47866
47867}
47868
47869// Pages invokes f for each page of results.
47870// A non-nil error returned from f will halt the iteration.
47871// The provided context supersedes any context provided to the Context method.
47872func (c *SubaccountsListCall) Pages(ctx context.Context, f func(*SubaccountsListResponse) error) error {
47873	c.ctx_ = ctx
47874	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
47875	for {
47876		x, err := c.Do()
47877		if err != nil {
47878			return err
47879		}
47880		if err := f(x); err != nil {
47881			return err
47882		}
47883		if x.NextPageToken == "" {
47884			return nil
47885		}
47886		c.PageToken(x.NextPageToken)
47887	}
47888}
47889
47890// method id "dfareporting.subaccounts.patch":
47891
47892type SubaccountsPatchCall struct {
47893	s          *Service
47894	profileId  int64
47895	subaccount *Subaccount
47896	urlParams_ gensupport.URLParams
47897	ctx_       context.Context
47898	header_    http.Header
47899}
47900
47901// Patch: Updates an existing subaccount. This method supports patch
47902// semantics.
47903//
47904// - id: Subaccount ID.
47905// - profileId: User profile ID associated with this request.
47906func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
47907	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47908	c.profileId = profileId
47909	c.urlParams_.Set("id", fmt.Sprint(id))
47910	c.subaccount = subaccount
47911	return c
47912}
47913
47914// Fields allows partial responses to be retrieved. See
47915// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47916// for more information.
47917func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
47918	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47919	return c
47920}
47921
47922// Context sets the context to be used in this call's Do method. Any
47923// pending HTTP request will be aborted if the provided context is
47924// canceled.
47925func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
47926	c.ctx_ = ctx
47927	return c
47928}
47929
47930// Header returns an http.Header that can be modified by the caller to
47931// add HTTP headers to the request.
47932func (c *SubaccountsPatchCall) Header() http.Header {
47933	if c.header_ == nil {
47934		c.header_ = make(http.Header)
47935	}
47936	return c.header_
47937}
47938
47939func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
47940	reqHeaders := make(http.Header)
47941	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
47942	for k, v := range c.header_ {
47943		reqHeaders[k] = v
47944	}
47945	reqHeaders.Set("User-Agent", c.s.userAgent())
47946	var body io.Reader = nil
47947	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47948	if err != nil {
47949		return nil, err
47950	}
47951	reqHeaders.Set("Content-Type", "application/json")
47952	c.urlParams_.Set("alt", alt)
47953	c.urlParams_.Set("prettyPrint", "false")
47954	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47955	urls += "?" + c.urlParams_.Encode()
47956	req, err := http.NewRequest("PATCH", urls, body)
47957	if err != nil {
47958		return nil, err
47959	}
47960	req.Header = reqHeaders
47961	googleapi.Expand(req.URL, map[string]string{
47962		"profileId": strconv.FormatInt(c.profileId, 10),
47963	})
47964	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47965}
47966
47967// Do executes the "dfareporting.subaccounts.patch" call.
47968// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47969// status code is an error. Response headers are in either
47970// *Subaccount.ServerResponse.Header or (if a response was returned at
47971// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47972// to check whether the returned error was because
47973// http.StatusNotModified was returned.
47974func (c *SubaccountsPatchCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47975	gensupport.SetOptions(c.urlParams_, opts...)
47976	res, err := c.doRequest("json")
47977	if res != nil && res.StatusCode == http.StatusNotModified {
47978		if res.Body != nil {
47979			res.Body.Close()
47980		}
47981		return nil, &googleapi.Error{
47982			Code:   res.StatusCode,
47983			Header: res.Header,
47984		}
47985	}
47986	if err != nil {
47987		return nil, err
47988	}
47989	defer googleapi.CloseBody(res)
47990	if err := googleapi.CheckResponse(res); err != nil {
47991		return nil, err
47992	}
47993	ret := &Subaccount{
47994		ServerResponse: googleapi.ServerResponse{
47995			Header:         res.Header,
47996			HTTPStatusCode: res.StatusCode,
47997		},
47998	}
47999	target := &ret
48000	if err := gensupport.DecodeResponse(target, res); err != nil {
48001		return nil, err
48002	}
48003	return ret, nil
48004	// {
48005	//   "description": "Updates an existing subaccount. This method supports patch semantics.",
48006	//   "flatPath": "userprofiles/{profileId}/subaccounts",
48007	//   "httpMethod": "PATCH",
48008	//   "id": "dfareporting.subaccounts.patch",
48009	//   "parameterOrder": [
48010	//     "profileId",
48011	//     "id"
48012	//   ],
48013	//   "parameters": {
48014	//     "id": {
48015	//       "description": "Subaccount ID.",
48016	//       "format": "int64",
48017	//       "location": "query",
48018	//       "required": true,
48019	//       "type": "string"
48020	//     },
48021	//     "profileId": {
48022	//       "description": "User profile ID associated with this request.",
48023	//       "format": "int64",
48024	//       "location": "path",
48025	//       "required": true,
48026	//       "type": "string"
48027	//     }
48028	//   },
48029	//   "path": "userprofiles/{profileId}/subaccounts",
48030	//   "request": {
48031	//     "$ref": "Subaccount"
48032	//   },
48033	//   "response": {
48034	//     "$ref": "Subaccount"
48035	//   },
48036	//   "scopes": [
48037	//     "https://www.googleapis.com/auth/dfatrafficking"
48038	//   ]
48039	// }
48040
48041}
48042
48043// method id "dfareporting.subaccounts.update":
48044
48045type SubaccountsUpdateCall struct {
48046	s          *Service
48047	profileId  int64
48048	subaccount *Subaccount
48049	urlParams_ gensupport.URLParams
48050	ctx_       context.Context
48051	header_    http.Header
48052}
48053
48054// Update: Updates an existing subaccount.
48055//
48056// - profileId: User profile ID associated with this request.
48057func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
48058	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48059	c.profileId = profileId
48060	c.subaccount = subaccount
48061	return c
48062}
48063
48064// Fields allows partial responses to be retrieved. See
48065// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48066// for more information.
48067func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
48068	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48069	return c
48070}
48071
48072// Context sets the context to be used in this call's Do method. Any
48073// pending HTTP request will be aborted if the provided context is
48074// canceled.
48075func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
48076	c.ctx_ = ctx
48077	return c
48078}
48079
48080// Header returns an http.Header that can be modified by the caller to
48081// add HTTP headers to the request.
48082func (c *SubaccountsUpdateCall) Header() http.Header {
48083	if c.header_ == nil {
48084		c.header_ = make(http.Header)
48085	}
48086	return c.header_
48087}
48088
48089func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
48090	reqHeaders := make(http.Header)
48091	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
48092	for k, v := range c.header_ {
48093		reqHeaders[k] = v
48094	}
48095	reqHeaders.Set("User-Agent", c.s.userAgent())
48096	var body io.Reader = nil
48097	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
48098	if err != nil {
48099		return nil, err
48100	}
48101	reqHeaders.Set("Content-Type", "application/json")
48102	c.urlParams_.Set("alt", alt)
48103	c.urlParams_.Set("prettyPrint", "false")
48104	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
48105	urls += "?" + c.urlParams_.Encode()
48106	req, err := http.NewRequest("PUT", urls, body)
48107	if err != nil {
48108		return nil, err
48109	}
48110	req.Header = reqHeaders
48111	googleapi.Expand(req.URL, map[string]string{
48112		"profileId": strconv.FormatInt(c.profileId, 10),
48113	})
48114	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48115}
48116
48117// Do executes the "dfareporting.subaccounts.update" call.
48118// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
48119// status code is an error. Response headers are in either
48120// *Subaccount.ServerResponse.Header or (if a response was returned at
48121// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
48122// to check whether the returned error was because
48123// http.StatusNotModified was returned.
48124func (c *SubaccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
48125	gensupport.SetOptions(c.urlParams_, opts...)
48126	res, err := c.doRequest("json")
48127	if res != nil && res.StatusCode == http.StatusNotModified {
48128		if res.Body != nil {
48129			res.Body.Close()
48130		}
48131		return nil, &googleapi.Error{
48132			Code:   res.StatusCode,
48133			Header: res.Header,
48134		}
48135	}
48136	if err != nil {
48137		return nil, err
48138	}
48139	defer googleapi.CloseBody(res)
48140	if err := googleapi.CheckResponse(res); err != nil {
48141		return nil, err
48142	}
48143	ret := &Subaccount{
48144		ServerResponse: googleapi.ServerResponse{
48145			Header:         res.Header,
48146			HTTPStatusCode: res.StatusCode,
48147		},
48148	}
48149	target := &ret
48150	if err := gensupport.DecodeResponse(target, res); err != nil {
48151		return nil, err
48152	}
48153	return ret, nil
48154	// {
48155	//   "description": "Updates an existing subaccount.",
48156	//   "flatPath": "userprofiles/{profileId}/subaccounts",
48157	//   "httpMethod": "PUT",
48158	//   "id": "dfareporting.subaccounts.update",
48159	//   "parameterOrder": [
48160	//     "profileId"
48161	//   ],
48162	//   "parameters": {
48163	//     "profileId": {
48164	//       "description": "User profile ID associated with this request.",
48165	//       "format": "int64",
48166	//       "location": "path",
48167	//       "required": true,
48168	//       "type": "string"
48169	//     }
48170	//   },
48171	//   "path": "userprofiles/{profileId}/subaccounts",
48172	//   "request": {
48173	//     "$ref": "Subaccount"
48174	//   },
48175	//   "response": {
48176	//     "$ref": "Subaccount"
48177	//   },
48178	//   "scopes": [
48179	//     "https://www.googleapis.com/auth/dfatrafficking"
48180	//   ]
48181	// }
48182
48183}
48184
48185// method id "dfareporting.targetableRemarketingLists.get":
48186
48187type TargetableRemarketingListsGetCall struct {
48188	s            *Service
48189	profileId    int64
48190	id           int64
48191	urlParams_   gensupport.URLParams
48192	ifNoneMatch_ string
48193	ctx_         context.Context
48194	header_      http.Header
48195}
48196
48197// Get: Gets one remarketing list by ID.
48198//
48199// - id: Remarketing list ID.
48200// - profileId: User profile ID associated with this request.
48201func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
48202	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48203	c.profileId = profileId
48204	c.id = id
48205	return c
48206}
48207
48208// Fields allows partial responses to be retrieved. See
48209// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48210// for more information.
48211func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
48212	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48213	return c
48214}
48215
48216// IfNoneMatch sets the optional parameter which makes the operation
48217// fail if the object's ETag matches the given value. This is useful for
48218// getting updates only after the object has changed since the last
48219// request. Use googleapi.IsNotModified to check whether the response
48220// error from Do is the result of In-None-Match.
48221func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
48222	c.ifNoneMatch_ = entityTag
48223	return c
48224}
48225
48226// Context sets the context to be used in this call's Do method. Any
48227// pending HTTP request will be aborted if the provided context is
48228// canceled.
48229func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
48230	c.ctx_ = ctx
48231	return c
48232}
48233
48234// Header returns an http.Header that can be modified by the caller to
48235// add HTTP headers to the request.
48236func (c *TargetableRemarketingListsGetCall) Header() http.Header {
48237	if c.header_ == nil {
48238		c.header_ = make(http.Header)
48239	}
48240	return c.header_
48241}
48242
48243func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
48244	reqHeaders := make(http.Header)
48245	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
48246	for k, v := range c.header_ {
48247		reqHeaders[k] = v
48248	}
48249	reqHeaders.Set("User-Agent", c.s.userAgent())
48250	if c.ifNoneMatch_ != "" {
48251		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48252	}
48253	var body io.Reader = nil
48254	c.urlParams_.Set("alt", alt)
48255	c.urlParams_.Set("prettyPrint", "false")
48256	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
48257	urls += "?" + c.urlParams_.Encode()
48258	req, err := http.NewRequest("GET", urls, body)
48259	if err != nil {
48260		return nil, err
48261	}
48262	req.Header = reqHeaders
48263	googleapi.Expand(req.URL, map[string]string{
48264		"profileId": strconv.FormatInt(c.profileId, 10),
48265		"id":        strconv.FormatInt(c.id, 10),
48266	})
48267	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48268}
48269
48270// Do executes the "dfareporting.targetableRemarketingLists.get" call.
48271// Exactly one of *TargetableRemarketingList or error will be non-nil.
48272// Any non-2xx status code is an error. Response headers are in either
48273// *TargetableRemarketingList.ServerResponse.Header or (if a response
48274// was returned at all) in error.(*googleapi.Error).Header. Use
48275// googleapi.IsNotModified to check whether the returned error was
48276// because http.StatusNotModified was returned.
48277func (c *TargetableRemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingList, error) {
48278	gensupport.SetOptions(c.urlParams_, opts...)
48279	res, err := c.doRequest("json")
48280	if res != nil && res.StatusCode == http.StatusNotModified {
48281		if res.Body != nil {
48282			res.Body.Close()
48283		}
48284		return nil, &googleapi.Error{
48285			Code:   res.StatusCode,
48286			Header: res.Header,
48287		}
48288	}
48289	if err != nil {
48290		return nil, err
48291	}
48292	defer googleapi.CloseBody(res)
48293	if err := googleapi.CheckResponse(res); err != nil {
48294		return nil, err
48295	}
48296	ret := &TargetableRemarketingList{
48297		ServerResponse: googleapi.ServerResponse{
48298			Header:         res.Header,
48299			HTTPStatusCode: res.StatusCode,
48300		},
48301	}
48302	target := &ret
48303	if err := gensupport.DecodeResponse(target, res); err != nil {
48304		return nil, err
48305	}
48306	return ret, nil
48307	// {
48308	//   "description": "Gets one remarketing list by ID.",
48309	//   "flatPath": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
48310	//   "httpMethod": "GET",
48311	//   "id": "dfareporting.targetableRemarketingLists.get",
48312	//   "parameterOrder": [
48313	//     "profileId",
48314	//     "id"
48315	//   ],
48316	//   "parameters": {
48317	//     "id": {
48318	//       "description": "Remarketing list ID.",
48319	//       "format": "int64",
48320	//       "location": "path",
48321	//       "required": true,
48322	//       "type": "string"
48323	//     },
48324	//     "profileId": {
48325	//       "description": "User profile ID associated with this request.",
48326	//       "format": "int64",
48327	//       "location": "path",
48328	//       "required": true,
48329	//       "type": "string"
48330	//     }
48331	//   },
48332	//   "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
48333	//   "response": {
48334	//     "$ref": "TargetableRemarketingList"
48335	//   },
48336	//   "scopes": [
48337	//     "https://www.googleapis.com/auth/dfatrafficking"
48338	//   ]
48339	// }
48340
48341}
48342
48343// method id "dfareporting.targetableRemarketingLists.list":
48344
48345type TargetableRemarketingListsListCall struct {
48346	s            *Service
48347	profileId    int64
48348	urlParams_   gensupport.URLParams
48349	ifNoneMatch_ string
48350	ctx_         context.Context
48351	header_      http.Header
48352}
48353
48354// List: Retrieves a list of targetable remarketing lists, possibly
48355// filtered. This method supports paging.
48356//
48357// - advertiserId: Select only targetable remarketing lists targetable
48358//   by these advertisers.
48359// - profileId: User profile ID associated with this request.
48360func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
48361	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48362	c.profileId = profileId
48363	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
48364	return c
48365}
48366
48367// Active sets the optional parameter "active": Select only active or
48368// only inactive targetable remarketing lists.
48369func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
48370	c.urlParams_.Set("active", fmt.Sprint(active))
48371	return c
48372}
48373
48374// MaxResults sets the optional parameter "maxResults": Maximum number
48375// of results to return.
48376func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
48377	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
48378	return c
48379}
48380
48381// Name sets the optional parameter "name": Allows searching for objects
48382// by name or ID. Wildcards (*) are allowed. For example, "remarketing
48383// list*2015" will return objects with names like "remarketing list June
48384// 2015", "remarketing list April 2015", or simply "remarketing list
48385// 2015". Most of the searches also add wildcards implicitly at the
48386// start and the end of the search string. For example, a search string
48387// of "remarketing list" will match objects with name "my remarketing
48388// list", "remarketing list 2015", or simply "remarketing list".
48389func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
48390	c.urlParams_.Set("name", name)
48391	return c
48392}
48393
48394// PageToken sets the optional parameter "pageToken": Value of the
48395// nextPageToken from the previous result page.
48396func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
48397	c.urlParams_.Set("pageToken", pageToken)
48398	return c
48399}
48400
48401// SortField sets the optional parameter "sortField": Field by which to
48402// sort the list.
48403//
48404// Possible values:
48405//   "ID" (default)
48406//   "NAME"
48407func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
48408	c.urlParams_.Set("sortField", sortField)
48409	return c
48410}
48411
48412// SortOrder sets the optional parameter "sortOrder": Order of sorted
48413// results.
48414//
48415// Possible values:
48416//   "ASCENDING" (default)
48417//   "DESCENDING"
48418func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
48419	c.urlParams_.Set("sortOrder", sortOrder)
48420	return c
48421}
48422
48423// Fields allows partial responses to be retrieved. See
48424// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48425// for more information.
48426func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
48427	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48428	return c
48429}
48430
48431// IfNoneMatch sets the optional parameter which makes the operation
48432// fail if the object's ETag matches the given value. This is useful for
48433// getting updates only after the object has changed since the last
48434// request. Use googleapi.IsNotModified to check whether the response
48435// error from Do is the result of In-None-Match.
48436func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
48437	c.ifNoneMatch_ = entityTag
48438	return c
48439}
48440
48441// Context sets the context to be used in this call's Do method. Any
48442// pending HTTP request will be aborted if the provided context is
48443// canceled.
48444func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
48445	c.ctx_ = ctx
48446	return c
48447}
48448
48449// Header returns an http.Header that can be modified by the caller to
48450// add HTTP headers to the request.
48451func (c *TargetableRemarketingListsListCall) Header() http.Header {
48452	if c.header_ == nil {
48453		c.header_ = make(http.Header)
48454	}
48455	return c.header_
48456}
48457
48458func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
48459	reqHeaders := make(http.Header)
48460	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
48461	for k, v := range c.header_ {
48462		reqHeaders[k] = v
48463	}
48464	reqHeaders.Set("User-Agent", c.s.userAgent())
48465	if c.ifNoneMatch_ != "" {
48466		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48467	}
48468	var body io.Reader = nil
48469	c.urlParams_.Set("alt", alt)
48470	c.urlParams_.Set("prettyPrint", "false")
48471	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
48472	urls += "?" + c.urlParams_.Encode()
48473	req, err := http.NewRequest("GET", urls, body)
48474	if err != nil {
48475		return nil, err
48476	}
48477	req.Header = reqHeaders
48478	googleapi.Expand(req.URL, map[string]string{
48479		"profileId": strconv.FormatInt(c.profileId, 10),
48480	})
48481	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48482}
48483
48484// Do executes the "dfareporting.targetableRemarketingLists.list" call.
48485// Exactly one of *TargetableRemarketingListsListResponse or error will
48486// be non-nil. Any non-2xx status code is an error. Response headers are
48487// in either
48488// *TargetableRemarketingListsListResponse.ServerResponse.Header or (if
48489// a response was returned at all) in error.(*googleapi.Error).Header.
48490// Use googleapi.IsNotModified to check whether the returned error was
48491// because http.StatusNotModified was returned.
48492func (c *TargetableRemarketingListsListCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingListsListResponse, error) {
48493	gensupport.SetOptions(c.urlParams_, opts...)
48494	res, err := c.doRequest("json")
48495	if res != nil && res.StatusCode == http.StatusNotModified {
48496		if res.Body != nil {
48497			res.Body.Close()
48498		}
48499		return nil, &googleapi.Error{
48500			Code:   res.StatusCode,
48501			Header: res.Header,
48502		}
48503	}
48504	if err != nil {
48505		return nil, err
48506	}
48507	defer googleapi.CloseBody(res)
48508	if err := googleapi.CheckResponse(res); err != nil {
48509		return nil, err
48510	}
48511	ret := &TargetableRemarketingListsListResponse{
48512		ServerResponse: googleapi.ServerResponse{
48513			Header:         res.Header,
48514			HTTPStatusCode: res.StatusCode,
48515		},
48516	}
48517	target := &ret
48518	if err := gensupport.DecodeResponse(target, res); err != nil {
48519		return nil, err
48520	}
48521	return ret, nil
48522	// {
48523	//   "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
48524	//   "flatPath": "userprofiles/{profileId}/targetableRemarketingLists",
48525	//   "httpMethod": "GET",
48526	//   "id": "dfareporting.targetableRemarketingLists.list",
48527	//   "parameterOrder": [
48528	//     "profileId",
48529	//     "advertiserId"
48530	//   ],
48531	//   "parameters": {
48532	//     "active": {
48533	//       "description": "Select only active or only inactive targetable remarketing lists.",
48534	//       "location": "query",
48535	//       "type": "boolean"
48536	//     },
48537	//     "advertiserId": {
48538	//       "description": "Select only targetable remarketing lists targetable by these advertisers.",
48539	//       "format": "int64",
48540	//       "location": "query",
48541	//       "required": true,
48542	//       "type": "string"
48543	//     },
48544	//     "maxResults": {
48545	//       "default": "1000",
48546	//       "description": "Maximum number of results to return.",
48547	//       "format": "int32",
48548	//       "location": "query",
48549	//       "maximum": "1000",
48550	//       "minimum": "0",
48551	//       "type": "integer"
48552	//     },
48553	//     "name": {
48554	//       "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\".",
48555	//       "location": "query",
48556	//       "type": "string"
48557	//     },
48558	//     "pageToken": {
48559	//       "description": "Value of the nextPageToken from the previous result page.",
48560	//       "location": "query",
48561	//       "type": "string"
48562	//     },
48563	//     "profileId": {
48564	//       "description": "User profile ID associated with this request.",
48565	//       "format": "int64",
48566	//       "location": "path",
48567	//       "required": true,
48568	//       "type": "string"
48569	//     },
48570	//     "sortField": {
48571	//       "default": "ID",
48572	//       "description": "Field by which to sort the list.",
48573	//       "enum": [
48574	//         "ID",
48575	//         "NAME"
48576	//       ],
48577	//       "enumDescriptions": [
48578	//         "",
48579	//         ""
48580	//       ],
48581	//       "location": "query",
48582	//       "type": "string"
48583	//     },
48584	//     "sortOrder": {
48585	//       "default": "ASCENDING",
48586	//       "description": "Order of sorted results.",
48587	//       "enum": [
48588	//         "ASCENDING",
48589	//         "DESCENDING"
48590	//       ],
48591	//       "enumDescriptions": [
48592	//         "",
48593	//         ""
48594	//       ],
48595	//       "location": "query",
48596	//       "type": "string"
48597	//     }
48598	//   },
48599	//   "path": "userprofiles/{profileId}/targetableRemarketingLists",
48600	//   "response": {
48601	//     "$ref": "TargetableRemarketingListsListResponse"
48602	//   },
48603	//   "scopes": [
48604	//     "https://www.googleapis.com/auth/dfatrafficking"
48605	//   ]
48606	// }
48607
48608}
48609
48610// Pages invokes f for each page of results.
48611// A non-nil error returned from f will halt the iteration.
48612// The provided context supersedes any context provided to the Context method.
48613func (c *TargetableRemarketingListsListCall) Pages(ctx context.Context, f func(*TargetableRemarketingListsListResponse) error) error {
48614	c.ctx_ = ctx
48615	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
48616	for {
48617		x, err := c.Do()
48618		if err != nil {
48619			return err
48620		}
48621		if err := f(x); err != nil {
48622			return err
48623		}
48624		if x.NextPageToken == "" {
48625			return nil
48626		}
48627		c.PageToken(x.NextPageToken)
48628	}
48629}
48630
48631// method id "dfareporting.targetingTemplates.get":
48632
48633type TargetingTemplatesGetCall struct {
48634	s            *Service
48635	profileId    int64
48636	id           int64
48637	urlParams_   gensupport.URLParams
48638	ifNoneMatch_ string
48639	ctx_         context.Context
48640	header_      http.Header
48641}
48642
48643// Get: Gets one targeting template by ID.
48644//
48645// - id: Targeting template ID.
48646// - profileId: User profile ID associated with this request.
48647func (r *TargetingTemplatesService) Get(profileId int64, id int64) *TargetingTemplatesGetCall {
48648	c := &TargetingTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48649	c.profileId = profileId
48650	c.id = id
48651	return c
48652}
48653
48654// Fields allows partial responses to be retrieved. See
48655// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48656// for more information.
48657func (c *TargetingTemplatesGetCall) Fields(s ...googleapi.Field) *TargetingTemplatesGetCall {
48658	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48659	return c
48660}
48661
48662// IfNoneMatch sets the optional parameter which makes the operation
48663// fail if the object's ETag matches the given value. This is useful for
48664// getting updates only after the object has changed since the last
48665// request. Use googleapi.IsNotModified to check whether the response
48666// error from Do is the result of In-None-Match.
48667func (c *TargetingTemplatesGetCall) IfNoneMatch(entityTag string) *TargetingTemplatesGetCall {
48668	c.ifNoneMatch_ = entityTag
48669	return c
48670}
48671
48672// Context sets the context to be used in this call's Do method. Any
48673// pending HTTP request will be aborted if the provided context is
48674// canceled.
48675func (c *TargetingTemplatesGetCall) Context(ctx context.Context) *TargetingTemplatesGetCall {
48676	c.ctx_ = ctx
48677	return c
48678}
48679
48680// Header returns an http.Header that can be modified by the caller to
48681// add HTTP headers to the request.
48682func (c *TargetingTemplatesGetCall) Header() http.Header {
48683	if c.header_ == nil {
48684		c.header_ = make(http.Header)
48685	}
48686	return c.header_
48687}
48688
48689func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
48690	reqHeaders := make(http.Header)
48691	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
48692	for k, v := range c.header_ {
48693		reqHeaders[k] = v
48694	}
48695	reqHeaders.Set("User-Agent", c.s.userAgent())
48696	if c.ifNoneMatch_ != "" {
48697		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48698	}
48699	var body io.Reader = nil
48700	c.urlParams_.Set("alt", alt)
48701	c.urlParams_.Set("prettyPrint", "false")
48702	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates/{id}")
48703	urls += "?" + c.urlParams_.Encode()
48704	req, err := http.NewRequest("GET", urls, body)
48705	if err != nil {
48706		return nil, err
48707	}
48708	req.Header = reqHeaders
48709	googleapi.Expand(req.URL, map[string]string{
48710		"profileId": strconv.FormatInt(c.profileId, 10),
48711		"id":        strconv.FormatInt(c.id, 10),
48712	})
48713	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48714}
48715
48716// Do executes the "dfareporting.targetingTemplates.get" call.
48717// Exactly one of *TargetingTemplate or error will be non-nil. Any
48718// non-2xx status code is an error. Response headers are in either
48719// *TargetingTemplate.ServerResponse.Header or (if a response was
48720// returned at all) in error.(*googleapi.Error).Header. Use
48721// googleapi.IsNotModified to check whether the returned error was
48722// because http.StatusNotModified was returned.
48723func (c *TargetingTemplatesGetCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48724	gensupport.SetOptions(c.urlParams_, opts...)
48725	res, err := c.doRequest("json")
48726	if res != nil && res.StatusCode == http.StatusNotModified {
48727		if res.Body != nil {
48728			res.Body.Close()
48729		}
48730		return nil, &googleapi.Error{
48731			Code:   res.StatusCode,
48732			Header: res.Header,
48733		}
48734	}
48735	if err != nil {
48736		return nil, err
48737	}
48738	defer googleapi.CloseBody(res)
48739	if err := googleapi.CheckResponse(res); err != nil {
48740		return nil, err
48741	}
48742	ret := &TargetingTemplate{
48743		ServerResponse: googleapi.ServerResponse{
48744			Header:         res.Header,
48745			HTTPStatusCode: res.StatusCode,
48746		},
48747	}
48748	target := &ret
48749	if err := gensupport.DecodeResponse(target, res); err != nil {
48750		return nil, err
48751	}
48752	return ret, nil
48753	// {
48754	//   "description": "Gets one targeting template by ID.",
48755	//   "flatPath": "userprofiles/{profileId}/targetingTemplates/{id}",
48756	//   "httpMethod": "GET",
48757	//   "id": "dfareporting.targetingTemplates.get",
48758	//   "parameterOrder": [
48759	//     "profileId",
48760	//     "id"
48761	//   ],
48762	//   "parameters": {
48763	//     "id": {
48764	//       "description": "Targeting template ID.",
48765	//       "format": "int64",
48766	//       "location": "path",
48767	//       "required": true,
48768	//       "type": "string"
48769	//     },
48770	//     "profileId": {
48771	//       "description": "User profile ID associated with this request.",
48772	//       "format": "int64",
48773	//       "location": "path",
48774	//       "required": true,
48775	//       "type": "string"
48776	//     }
48777	//   },
48778	//   "path": "userprofiles/{profileId}/targetingTemplates/{id}",
48779	//   "response": {
48780	//     "$ref": "TargetingTemplate"
48781	//   },
48782	//   "scopes": [
48783	//     "https://www.googleapis.com/auth/dfatrafficking"
48784	//   ]
48785	// }
48786
48787}
48788
48789// method id "dfareporting.targetingTemplates.insert":
48790
48791type TargetingTemplatesInsertCall struct {
48792	s                 *Service
48793	profileId         int64
48794	targetingtemplate *TargetingTemplate
48795	urlParams_        gensupport.URLParams
48796	ctx_              context.Context
48797	header_           http.Header
48798}
48799
48800// Insert: Inserts a new targeting template.
48801//
48802// - profileId: User profile ID associated with this request.
48803func (r *TargetingTemplatesService) Insert(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesInsertCall {
48804	c := &TargetingTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48805	c.profileId = profileId
48806	c.targetingtemplate = targetingtemplate
48807	return c
48808}
48809
48810// Fields allows partial responses to be retrieved. See
48811// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48812// for more information.
48813func (c *TargetingTemplatesInsertCall) Fields(s ...googleapi.Field) *TargetingTemplatesInsertCall {
48814	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48815	return c
48816}
48817
48818// Context sets the context to be used in this call's Do method. Any
48819// pending HTTP request will be aborted if the provided context is
48820// canceled.
48821func (c *TargetingTemplatesInsertCall) Context(ctx context.Context) *TargetingTemplatesInsertCall {
48822	c.ctx_ = ctx
48823	return c
48824}
48825
48826// Header returns an http.Header that can be modified by the caller to
48827// add HTTP headers to the request.
48828func (c *TargetingTemplatesInsertCall) Header() http.Header {
48829	if c.header_ == nil {
48830		c.header_ = make(http.Header)
48831	}
48832	return c.header_
48833}
48834
48835func (c *TargetingTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
48836	reqHeaders := make(http.Header)
48837	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
48838	for k, v := range c.header_ {
48839		reqHeaders[k] = v
48840	}
48841	reqHeaders.Set("User-Agent", c.s.userAgent())
48842	var body io.Reader = nil
48843	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
48844	if err != nil {
48845		return nil, err
48846	}
48847	reqHeaders.Set("Content-Type", "application/json")
48848	c.urlParams_.Set("alt", alt)
48849	c.urlParams_.Set("prettyPrint", "false")
48850	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48851	urls += "?" + c.urlParams_.Encode()
48852	req, err := http.NewRequest("POST", urls, body)
48853	if err != nil {
48854		return nil, err
48855	}
48856	req.Header = reqHeaders
48857	googleapi.Expand(req.URL, map[string]string{
48858		"profileId": strconv.FormatInt(c.profileId, 10),
48859	})
48860	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48861}
48862
48863// Do executes the "dfareporting.targetingTemplates.insert" call.
48864// Exactly one of *TargetingTemplate or error will be non-nil. Any
48865// non-2xx status code is an error. Response headers are in either
48866// *TargetingTemplate.ServerResponse.Header or (if a response was
48867// returned at all) in error.(*googleapi.Error).Header. Use
48868// googleapi.IsNotModified to check whether the returned error was
48869// because http.StatusNotModified was returned.
48870func (c *TargetingTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48871	gensupport.SetOptions(c.urlParams_, opts...)
48872	res, err := c.doRequest("json")
48873	if res != nil && res.StatusCode == http.StatusNotModified {
48874		if res.Body != nil {
48875			res.Body.Close()
48876		}
48877		return nil, &googleapi.Error{
48878			Code:   res.StatusCode,
48879			Header: res.Header,
48880		}
48881	}
48882	if err != nil {
48883		return nil, err
48884	}
48885	defer googleapi.CloseBody(res)
48886	if err := googleapi.CheckResponse(res); err != nil {
48887		return nil, err
48888	}
48889	ret := &TargetingTemplate{
48890		ServerResponse: googleapi.ServerResponse{
48891			Header:         res.Header,
48892			HTTPStatusCode: res.StatusCode,
48893		},
48894	}
48895	target := &ret
48896	if err := gensupport.DecodeResponse(target, res); err != nil {
48897		return nil, err
48898	}
48899	return ret, nil
48900	// {
48901	//   "description": "Inserts a new targeting template.",
48902	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
48903	//   "httpMethod": "POST",
48904	//   "id": "dfareporting.targetingTemplates.insert",
48905	//   "parameterOrder": [
48906	//     "profileId"
48907	//   ],
48908	//   "parameters": {
48909	//     "profileId": {
48910	//       "description": "User profile ID associated with this request.",
48911	//       "format": "int64",
48912	//       "location": "path",
48913	//       "required": true,
48914	//       "type": "string"
48915	//     }
48916	//   },
48917	//   "path": "userprofiles/{profileId}/targetingTemplates",
48918	//   "request": {
48919	//     "$ref": "TargetingTemplate"
48920	//   },
48921	//   "response": {
48922	//     "$ref": "TargetingTemplate"
48923	//   },
48924	//   "scopes": [
48925	//     "https://www.googleapis.com/auth/dfatrafficking"
48926	//   ]
48927	// }
48928
48929}
48930
48931// method id "dfareporting.targetingTemplates.list":
48932
48933type TargetingTemplatesListCall struct {
48934	s            *Service
48935	profileId    int64
48936	urlParams_   gensupport.URLParams
48937	ifNoneMatch_ string
48938	ctx_         context.Context
48939	header_      http.Header
48940}
48941
48942// List: Retrieves a list of targeting templates, optionally filtered.
48943// This method supports paging.
48944//
48945// - profileId: User profile ID associated with this request.
48946func (r *TargetingTemplatesService) List(profileId int64) *TargetingTemplatesListCall {
48947	c := &TargetingTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48948	c.profileId = profileId
48949	return c
48950}
48951
48952// AdvertiserId sets the optional parameter "advertiserId": Select only
48953// targeting templates with this advertiser ID.
48954func (c *TargetingTemplatesListCall) AdvertiserId(advertiserId int64) *TargetingTemplatesListCall {
48955	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
48956	return c
48957}
48958
48959// Ids sets the optional parameter "ids": Select only targeting
48960// templates with these IDs.
48961func (c *TargetingTemplatesListCall) Ids(ids ...int64) *TargetingTemplatesListCall {
48962	var ids_ []string
48963	for _, v := range ids {
48964		ids_ = append(ids_, fmt.Sprint(v))
48965	}
48966	c.urlParams_.SetMulti("ids", ids_)
48967	return c
48968}
48969
48970// MaxResults sets the optional parameter "maxResults": Maximum number
48971// of results to return.
48972func (c *TargetingTemplatesListCall) MaxResults(maxResults int64) *TargetingTemplatesListCall {
48973	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
48974	return c
48975}
48976
48977// PageToken sets the optional parameter "pageToken": Value of the
48978// nextPageToken from the previous result page.
48979func (c *TargetingTemplatesListCall) PageToken(pageToken string) *TargetingTemplatesListCall {
48980	c.urlParams_.Set("pageToken", pageToken)
48981	return c
48982}
48983
48984// SearchString sets the optional parameter "searchString": Allows
48985// searching for objects by name or ID. Wildcards (*) are allowed. For
48986// example, "template*2015" will return objects with names like
48987// "template June 2015", "template April 2015", or simply "template
48988// 2015". Most of the searches also add wildcards implicitly at the
48989// start and the end of the search string. For example, a search string
48990// of "template" will match objects with name "my template", "template
48991// 2015", or simply "template".
48992func (c *TargetingTemplatesListCall) SearchString(searchString string) *TargetingTemplatesListCall {
48993	c.urlParams_.Set("searchString", searchString)
48994	return c
48995}
48996
48997// SortField sets the optional parameter "sortField": Field by which to
48998// sort the list.
48999//
49000// Possible values:
49001//   "ID" (default)
49002//   "NAME"
49003func (c *TargetingTemplatesListCall) SortField(sortField string) *TargetingTemplatesListCall {
49004	c.urlParams_.Set("sortField", sortField)
49005	return c
49006}
49007
49008// SortOrder sets the optional parameter "sortOrder": Order of sorted
49009// results.
49010//
49011// Possible values:
49012//   "ASCENDING" (default)
49013//   "DESCENDING"
49014func (c *TargetingTemplatesListCall) SortOrder(sortOrder string) *TargetingTemplatesListCall {
49015	c.urlParams_.Set("sortOrder", sortOrder)
49016	return c
49017}
49018
49019// Fields allows partial responses to be retrieved. See
49020// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49021// for more information.
49022func (c *TargetingTemplatesListCall) Fields(s ...googleapi.Field) *TargetingTemplatesListCall {
49023	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49024	return c
49025}
49026
49027// IfNoneMatch sets the optional parameter which makes the operation
49028// fail if the object's ETag matches the given value. This is useful for
49029// getting updates only after the object has changed since the last
49030// request. Use googleapi.IsNotModified to check whether the response
49031// error from Do is the result of In-None-Match.
49032func (c *TargetingTemplatesListCall) IfNoneMatch(entityTag string) *TargetingTemplatesListCall {
49033	c.ifNoneMatch_ = entityTag
49034	return c
49035}
49036
49037// Context sets the context to be used in this call's Do method. Any
49038// pending HTTP request will be aborted if the provided context is
49039// canceled.
49040func (c *TargetingTemplatesListCall) Context(ctx context.Context) *TargetingTemplatesListCall {
49041	c.ctx_ = ctx
49042	return c
49043}
49044
49045// Header returns an http.Header that can be modified by the caller to
49046// add HTTP headers to the request.
49047func (c *TargetingTemplatesListCall) Header() http.Header {
49048	if c.header_ == nil {
49049		c.header_ = make(http.Header)
49050	}
49051	return c.header_
49052}
49053
49054func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
49055	reqHeaders := make(http.Header)
49056	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
49057	for k, v := range c.header_ {
49058		reqHeaders[k] = v
49059	}
49060	reqHeaders.Set("User-Agent", c.s.userAgent())
49061	if c.ifNoneMatch_ != "" {
49062		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49063	}
49064	var body io.Reader = nil
49065	c.urlParams_.Set("alt", alt)
49066	c.urlParams_.Set("prettyPrint", "false")
49067	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
49068	urls += "?" + c.urlParams_.Encode()
49069	req, err := http.NewRequest("GET", urls, body)
49070	if err != nil {
49071		return nil, err
49072	}
49073	req.Header = reqHeaders
49074	googleapi.Expand(req.URL, map[string]string{
49075		"profileId": strconv.FormatInt(c.profileId, 10),
49076	})
49077	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49078}
49079
49080// Do executes the "dfareporting.targetingTemplates.list" call.
49081// Exactly one of *TargetingTemplatesListResponse or error will be
49082// non-nil. Any non-2xx status code is an error. Response headers are in
49083// either *TargetingTemplatesListResponse.ServerResponse.Header or (if a
49084// response was returned at all) in error.(*googleapi.Error).Header. Use
49085// googleapi.IsNotModified to check whether the returned error was
49086// because http.StatusNotModified was returned.
49087func (c *TargetingTemplatesListCall) Do(opts ...googleapi.CallOption) (*TargetingTemplatesListResponse, error) {
49088	gensupport.SetOptions(c.urlParams_, opts...)
49089	res, err := c.doRequest("json")
49090	if res != nil && res.StatusCode == http.StatusNotModified {
49091		if res.Body != nil {
49092			res.Body.Close()
49093		}
49094		return nil, &googleapi.Error{
49095			Code:   res.StatusCode,
49096			Header: res.Header,
49097		}
49098	}
49099	if err != nil {
49100		return nil, err
49101	}
49102	defer googleapi.CloseBody(res)
49103	if err := googleapi.CheckResponse(res); err != nil {
49104		return nil, err
49105	}
49106	ret := &TargetingTemplatesListResponse{
49107		ServerResponse: googleapi.ServerResponse{
49108			Header:         res.Header,
49109			HTTPStatusCode: res.StatusCode,
49110		},
49111	}
49112	target := &ret
49113	if err := gensupport.DecodeResponse(target, res); err != nil {
49114		return nil, err
49115	}
49116	return ret, nil
49117	// {
49118	//   "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
49119	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
49120	//   "httpMethod": "GET",
49121	//   "id": "dfareporting.targetingTemplates.list",
49122	//   "parameterOrder": [
49123	//     "profileId"
49124	//   ],
49125	//   "parameters": {
49126	//     "advertiserId": {
49127	//       "description": "Select only targeting templates with this advertiser ID.",
49128	//       "format": "int64",
49129	//       "location": "query",
49130	//       "type": "string"
49131	//     },
49132	//     "ids": {
49133	//       "description": "Select only targeting templates with these IDs.",
49134	//       "format": "int64",
49135	//       "location": "query",
49136	//       "repeated": true,
49137	//       "type": "string"
49138	//     },
49139	//     "maxResults": {
49140	//       "default": "1000",
49141	//       "description": "Maximum number of results to return.",
49142	//       "format": "int32",
49143	//       "location": "query",
49144	//       "maximum": "1000",
49145	//       "minimum": "0",
49146	//       "type": "integer"
49147	//     },
49148	//     "pageToken": {
49149	//       "description": "Value of the nextPageToken from the previous result page.",
49150	//       "location": "query",
49151	//       "type": "string"
49152	//     },
49153	//     "profileId": {
49154	//       "description": "User profile ID associated with this request.",
49155	//       "format": "int64",
49156	//       "location": "path",
49157	//       "required": true,
49158	//       "type": "string"
49159	//     },
49160	//     "searchString": {
49161	//       "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\".",
49162	//       "location": "query",
49163	//       "type": "string"
49164	//     },
49165	//     "sortField": {
49166	//       "default": "ID",
49167	//       "description": "Field by which to sort the list.",
49168	//       "enum": [
49169	//         "ID",
49170	//         "NAME"
49171	//       ],
49172	//       "enumDescriptions": [
49173	//         "",
49174	//         ""
49175	//       ],
49176	//       "location": "query",
49177	//       "type": "string"
49178	//     },
49179	//     "sortOrder": {
49180	//       "default": "ASCENDING",
49181	//       "description": "Order of sorted results.",
49182	//       "enum": [
49183	//         "ASCENDING",
49184	//         "DESCENDING"
49185	//       ],
49186	//       "enumDescriptions": [
49187	//         "",
49188	//         ""
49189	//       ],
49190	//       "location": "query",
49191	//       "type": "string"
49192	//     }
49193	//   },
49194	//   "path": "userprofiles/{profileId}/targetingTemplates",
49195	//   "response": {
49196	//     "$ref": "TargetingTemplatesListResponse"
49197	//   },
49198	//   "scopes": [
49199	//     "https://www.googleapis.com/auth/dfatrafficking"
49200	//   ]
49201	// }
49202
49203}
49204
49205// Pages invokes f for each page of results.
49206// A non-nil error returned from f will halt the iteration.
49207// The provided context supersedes any context provided to the Context method.
49208func (c *TargetingTemplatesListCall) Pages(ctx context.Context, f func(*TargetingTemplatesListResponse) error) error {
49209	c.ctx_ = ctx
49210	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
49211	for {
49212		x, err := c.Do()
49213		if err != nil {
49214			return err
49215		}
49216		if err := f(x); err != nil {
49217			return err
49218		}
49219		if x.NextPageToken == "" {
49220			return nil
49221		}
49222		c.PageToken(x.NextPageToken)
49223	}
49224}
49225
49226// method id "dfareporting.targetingTemplates.patch":
49227
49228type TargetingTemplatesPatchCall struct {
49229	s                 *Service
49230	profileId         int64
49231	targetingtemplate *TargetingTemplate
49232	urlParams_        gensupport.URLParams
49233	ctx_              context.Context
49234	header_           http.Header
49235}
49236
49237// Patch: Updates an existing targeting template. This method supports
49238// patch semantics.
49239//
49240// - id: TargetingTemplate ID.
49241// - profileId: User profile ID associated with this request.
49242func (r *TargetingTemplatesService) Patch(profileId int64, id int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
49243	c := &TargetingTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49244	c.profileId = profileId
49245	c.urlParams_.Set("id", fmt.Sprint(id))
49246	c.targetingtemplate = targetingtemplate
49247	return c
49248}
49249
49250// Fields allows partial responses to be retrieved. See
49251// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49252// for more information.
49253func (c *TargetingTemplatesPatchCall) Fields(s ...googleapi.Field) *TargetingTemplatesPatchCall {
49254	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49255	return c
49256}
49257
49258// Context sets the context to be used in this call's Do method. Any
49259// pending HTTP request will be aborted if the provided context is
49260// canceled.
49261func (c *TargetingTemplatesPatchCall) Context(ctx context.Context) *TargetingTemplatesPatchCall {
49262	c.ctx_ = ctx
49263	return c
49264}
49265
49266// Header returns an http.Header that can be modified by the caller to
49267// add HTTP headers to the request.
49268func (c *TargetingTemplatesPatchCall) Header() http.Header {
49269	if c.header_ == nil {
49270		c.header_ = make(http.Header)
49271	}
49272	return c.header_
49273}
49274
49275func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
49276	reqHeaders := make(http.Header)
49277	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
49278	for k, v := range c.header_ {
49279		reqHeaders[k] = v
49280	}
49281	reqHeaders.Set("User-Agent", c.s.userAgent())
49282	var body io.Reader = nil
49283	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
49284	if err != nil {
49285		return nil, err
49286	}
49287	reqHeaders.Set("Content-Type", "application/json")
49288	c.urlParams_.Set("alt", alt)
49289	c.urlParams_.Set("prettyPrint", "false")
49290	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
49291	urls += "?" + c.urlParams_.Encode()
49292	req, err := http.NewRequest("PATCH", urls, body)
49293	if err != nil {
49294		return nil, err
49295	}
49296	req.Header = reqHeaders
49297	googleapi.Expand(req.URL, map[string]string{
49298		"profileId": strconv.FormatInt(c.profileId, 10),
49299	})
49300	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49301}
49302
49303// Do executes the "dfareporting.targetingTemplates.patch" call.
49304// Exactly one of *TargetingTemplate or error will be non-nil. Any
49305// non-2xx status code is an error. Response headers are in either
49306// *TargetingTemplate.ServerResponse.Header or (if a response was
49307// returned at all) in error.(*googleapi.Error).Header. Use
49308// googleapi.IsNotModified to check whether the returned error was
49309// because http.StatusNotModified was returned.
49310func (c *TargetingTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
49311	gensupport.SetOptions(c.urlParams_, opts...)
49312	res, err := c.doRequest("json")
49313	if res != nil && res.StatusCode == http.StatusNotModified {
49314		if res.Body != nil {
49315			res.Body.Close()
49316		}
49317		return nil, &googleapi.Error{
49318			Code:   res.StatusCode,
49319			Header: res.Header,
49320		}
49321	}
49322	if err != nil {
49323		return nil, err
49324	}
49325	defer googleapi.CloseBody(res)
49326	if err := googleapi.CheckResponse(res); err != nil {
49327		return nil, err
49328	}
49329	ret := &TargetingTemplate{
49330		ServerResponse: googleapi.ServerResponse{
49331			Header:         res.Header,
49332			HTTPStatusCode: res.StatusCode,
49333		},
49334	}
49335	target := &ret
49336	if err := gensupport.DecodeResponse(target, res); err != nil {
49337		return nil, err
49338	}
49339	return ret, nil
49340	// {
49341	//   "description": "Updates an existing targeting template. This method supports patch semantics.",
49342	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
49343	//   "httpMethod": "PATCH",
49344	//   "id": "dfareporting.targetingTemplates.patch",
49345	//   "parameterOrder": [
49346	//     "profileId",
49347	//     "id"
49348	//   ],
49349	//   "parameters": {
49350	//     "id": {
49351	//       "description": "TargetingTemplate ID.",
49352	//       "format": "int64",
49353	//       "location": "query",
49354	//       "required": true,
49355	//       "type": "string"
49356	//     },
49357	//     "profileId": {
49358	//       "description": "User profile ID associated with this request.",
49359	//       "format": "int64",
49360	//       "location": "path",
49361	//       "required": true,
49362	//       "type": "string"
49363	//     }
49364	//   },
49365	//   "path": "userprofiles/{profileId}/targetingTemplates",
49366	//   "request": {
49367	//     "$ref": "TargetingTemplate"
49368	//   },
49369	//   "response": {
49370	//     "$ref": "TargetingTemplate"
49371	//   },
49372	//   "scopes": [
49373	//     "https://www.googleapis.com/auth/dfatrafficking"
49374	//   ]
49375	// }
49376
49377}
49378
49379// method id "dfareporting.targetingTemplates.update":
49380
49381type TargetingTemplatesUpdateCall struct {
49382	s                 *Service
49383	profileId         int64
49384	targetingtemplate *TargetingTemplate
49385	urlParams_        gensupport.URLParams
49386	ctx_              context.Context
49387	header_           http.Header
49388}
49389
49390// Update: Updates an existing targeting template.
49391//
49392// - profileId: User profile ID associated with this request.
49393func (r *TargetingTemplatesService) Update(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesUpdateCall {
49394	c := &TargetingTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49395	c.profileId = profileId
49396	c.targetingtemplate = targetingtemplate
49397	return c
49398}
49399
49400// Fields allows partial responses to be retrieved. See
49401// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49402// for more information.
49403func (c *TargetingTemplatesUpdateCall) Fields(s ...googleapi.Field) *TargetingTemplatesUpdateCall {
49404	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49405	return c
49406}
49407
49408// Context sets the context to be used in this call's Do method. Any
49409// pending HTTP request will be aborted if the provided context is
49410// canceled.
49411func (c *TargetingTemplatesUpdateCall) Context(ctx context.Context) *TargetingTemplatesUpdateCall {
49412	c.ctx_ = ctx
49413	return c
49414}
49415
49416// Header returns an http.Header that can be modified by the caller to
49417// add HTTP headers to the request.
49418func (c *TargetingTemplatesUpdateCall) Header() http.Header {
49419	if c.header_ == nil {
49420		c.header_ = make(http.Header)
49421	}
49422	return c.header_
49423}
49424
49425func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
49426	reqHeaders := make(http.Header)
49427	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
49428	for k, v := range c.header_ {
49429		reqHeaders[k] = v
49430	}
49431	reqHeaders.Set("User-Agent", c.s.userAgent())
49432	var body io.Reader = nil
49433	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
49434	if err != nil {
49435		return nil, err
49436	}
49437	reqHeaders.Set("Content-Type", "application/json")
49438	c.urlParams_.Set("alt", alt)
49439	c.urlParams_.Set("prettyPrint", "false")
49440	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
49441	urls += "?" + c.urlParams_.Encode()
49442	req, err := http.NewRequest("PUT", urls, body)
49443	if err != nil {
49444		return nil, err
49445	}
49446	req.Header = reqHeaders
49447	googleapi.Expand(req.URL, map[string]string{
49448		"profileId": strconv.FormatInt(c.profileId, 10),
49449	})
49450	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49451}
49452
49453// Do executes the "dfareporting.targetingTemplates.update" call.
49454// Exactly one of *TargetingTemplate or error will be non-nil. Any
49455// non-2xx status code is an error. Response headers are in either
49456// *TargetingTemplate.ServerResponse.Header or (if a response was
49457// returned at all) in error.(*googleapi.Error).Header. Use
49458// googleapi.IsNotModified to check whether the returned error was
49459// because http.StatusNotModified was returned.
49460func (c *TargetingTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
49461	gensupport.SetOptions(c.urlParams_, opts...)
49462	res, err := c.doRequest("json")
49463	if res != nil && res.StatusCode == http.StatusNotModified {
49464		if res.Body != nil {
49465			res.Body.Close()
49466		}
49467		return nil, &googleapi.Error{
49468			Code:   res.StatusCode,
49469			Header: res.Header,
49470		}
49471	}
49472	if err != nil {
49473		return nil, err
49474	}
49475	defer googleapi.CloseBody(res)
49476	if err := googleapi.CheckResponse(res); err != nil {
49477		return nil, err
49478	}
49479	ret := &TargetingTemplate{
49480		ServerResponse: googleapi.ServerResponse{
49481			Header:         res.Header,
49482			HTTPStatusCode: res.StatusCode,
49483		},
49484	}
49485	target := &ret
49486	if err := gensupport.DecodeResponse(target, res); err != nil {
49487		return nil, err
49488	}
49489	return ret, nil
49490	// {
49491	//   "description": "Updates an existing targeting template.",
49492	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
49493	//   "httpMethod": "PUT",
49494	//   "id": "dfareporting.targetingTemplates.update",
49495	//   "parameterOrder": [
49496	//     "profileId"
49497	//   ],
49498	//   "parameters": {
49499	//     "profileId": {
49500	//       "description": "User profile ID associated with this request.",
49501	//       "format": "int64",
49502	//       "location": "path",
49503	//       "required": true,
49504	//       "type": "string"
49505	//     }
49506	//   },
49507	//   "path": "userprofiles/{profileId}/targetingTemplates",
49508	//   "request": {
49509	//     "$ref": "TargetingTemplate"
49510	//   },
49511	//   "response": {
49512	//     "$ref": "TargetingTemplate"
49513	//   },
49514	//   "scopes": [
49515	//     "https://www.googleapis.com/auth/dfatrafficking"
49516	//   ]
49517	// }
49518
49519}
49520
49521// method id "dfareporting.userProfiles.get":
49522
49523type UserProfilesGetCall struct {
49524	s            *Service
49525	profileId    int64
49526	urlParams_   gensupport.URLParams
49527	ifNoneMatch_ string
49528	ctx_         context.Context
49529	header_      http.Header
49530}
49531
49532// Get: Gets one user profile by ID.
49533//
49534// - profileId: The user profile ID.
49535func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
49536	c := &UserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49537	c.profileId = profileId
49538	return c
49539}
49540
49541// Fields allows partial responses to be retrieved. See
49542// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49543// for more information.
49544func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
49545	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49546	return c
49547}
49548
49549// IfNoneMatch sets the optional parameter which makes the operation
49550// fail if the object's ETag matches the given value. This is useful for
49551// getting updates only after the object has changed since the last
49552// request. Use googleapi.IsNotModified to check whether the response
49553// error from Do is the result of In-None-Match.
49554func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
49555	c.ifNoneMatch_ = entityTag
49556	return c
49557}
49558
49559// Context sets the context to be used in this call's Do method. Any
49560// pending HTTP request will be aborted if the provided context is
49561// canceled.
49562func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
49563	c.ctx_ = ctx
49564	return c
49565}
49566
49567// Header returns an http.Header that can be modified by the caller to
49568// add HTTP headers to the request.
49569func (c *UserProfilesGetCall) Header() http.Header {
49570	if c.header_ == nil {
49571		c.header_ = make(http.Header)
49572	}
49573	return c.header_
49574}
49575
49576func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
49577	reqHeaders := make(http.Header)
49578	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
49579	for k, v := range c.header_ {
49580		reqHeaders[k] = v
49581	}
49582	reqHeaders.Set("User-Agent", c.s.userAgent())
49583	if c.ifNoneMatch_ != "" {
49584		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49585	}
49586	var body io.Reader = nil
49587	c.urlParams_.Set("alt", alt)
49588	c.urlParams_.Set("prettyPrint", "false")
49589	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
49590	urls += "?" + c.urlParams_.Encode()
49591	req, err := http.NewRequest("GET", urls, body)
49592	if err != nil {
49593		return nil, err
49594	}
49595	req.Header = reqHeaders
49596	googleapi.Expand(req.URL, map[string]string{
49597		"profileId": strconv.FormatInt(c.profileId, 10),
49598	})
49599	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49600}
49601
49602// Do executes the "dfareporting.userProfiles.get" call.
49603// Exactly one of *UserProfile or error will be non-nil. Any non-2xx
49604// status code is an error. Response headers are in either
49605// *UserProfile.ServerResponse.Header or (if a response was returned at
49606// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
49607// to check whether the returned error was because
49608// http.StatusNotModified was returned.
49609func (c *UserProfilesGetCall) Do(opts ...googleapi.CallOption) (*UserProfile, error) {
49610	gensupport.SetOptions(c.urlParams_, opts...)
49611	res, err := c.doRequest("json")
49612	if res != nil && res.StatusCode == http.StatusNotModified {
49613		if res.Body != nil {
49614			res.Body.Close()
49615		}
49616		return nil, &googleapi.Error{
49617			Code:   res.StatusCode,
49618			Header: res.Header,
49619		}
49620	}
49621	if err != nil {
49622		return nil, err
49623	}
49624	defer googleapi.CloseBody(res)
49625	if err := googleapi.CheckResponse(res); err != nil {
49626		return nil, err
49627	}
49628	ret := &UserProfile{
49629		ServerResponse: googleapi.ServerResponse{
49630			Header:         res.Header,
49631			HTTPStatusCode: res.StatusCode,
49632		},
49633	}
49634	target := &ret
49635	if err := gensupport.DecodeResponse(target, res); err != nil {
49636		return nil, err
49637	}
49638	return ret, nil
49639	// {
49640	//   "description": "Gets one user profile by ID.",
49641	//   "flatPath": "userprofiles/{profileId}",
49642	//   "httpMethod": "GET",
49643	//   "id": "dfareporting.userProfiles.get",
49644	//   "parameterOrder": [
49645	//     "profileId"
49646	//   ],
49647	//   "parameters": {
49648	//     "profileId": {
49649	//       "description": "The user profile ID.",
49650	//       "format": "int64",
49651	//       "location": "path",
49652	//       "required": true,
49653	//       "type": "string"
49654	//     }
49655	//   },
49656	//   "path": "userprofiles/{profileId}",
49657	//   "response": {
49658	//     "$ref": "UserProfile"
49659	//   },
49660	//   "scopes": [
49661	//     "https://www.googleapis.com/auth/ddmconversions",
49662	//     "https://www.googleapis.com/auth/dfareporting",
49663	//     "https://www.googleapis.com/auth/dfatrafficking"
49664	//   ]
49665	// }
49666
49667}
49668
49669// method id "dfareporting.userProfiles.list":
49670
49671type UserProfilesListCall struct {
49672	s            *Service
49673	urlParams_   gensupport.URLParams
49674	ifNoneMatch_ string
49675	ctx_         context.Context
49676	header_      http.Header
49677}
49678
49679// List: Retrieves list of user profiles for a user.
49680func (r *UserProfilesService) List() *UserProfilesListCall {
49681	c := &UserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49682	return c
49683}
49684
49685// Fields allows partial responses to be retrieved. See
49686// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49687// for more information.
49688func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
49689	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49690	return c
49691}
49692
49693// IfNoneMatch sets the optional parameter which makes the operation
49694// fail if the object's ETag matches the given value. This is useful for
49695// getting updates only after the object has changed since the last
49696// request. Use googleapi.IsNotModified to check whether the response
49697// error from Do is the result of In-None-Match.
49698func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
49699	c.ifNoneMatch_ = entityTag
49700	return c
49701}
49702
49703// Context sets the context to be used in this call's Do method. Any
49704// pending HTTP request will be aborted if the provided context is
49705// canceled.
49706func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
49707	c.ctx_ = ctx
49708	return c
49709}
49710
49711// Header returns an http.Header that can be modified by the caller to
49712// add HTTP headers to the request.
49713func (c *UserProfilesListCall) Header() http.Header {
49714	if c.header_ == nil {
49715		c.header_ = make(http.Header)
49716	}
49717	return c.header_
49718}
49719
49720func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
49721	reqHeaders := make(http.Header)
49722	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
49723	for k, v := range c.header_ {
49724		reqHeaders[k] = v
49725	}
49726	reqHeaders.Set("User-Agent", c.s.userAgent())
49727	if c.ifNoneMatch_ != "" {
49728		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49729	}
49730	var body io.Reader = nil
49731	c.urlParams_.Set("alt", alt)
49732	c.urlParams_.Set("prettyPrint", "false")
49733	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
49734	urls += "?" + c.urlParams_.Encode()
49735	req, err := http.NewRequest("GET", urls, body)
49736	if err != nil {
49737		return nil, err
49738	}
49739	req.Header = reqHeaders
49740	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49741}
49742
49743// Do executes the "dfareporting.userProfiles.list" call.
49744// Exactly one of *UserProfileList or error will be non-nil. Any non-2xx
49745// status code is an error. Response headers are in either
49746// *UserProfileList.ServerResponse.Header or (if a response was returned
49747// at all) in error.(*googleapi.Error).Header. Use
49748// googleapi.IsNotModified to check whether the returned error was
49749// because http.StatusNotModified was returned.
49750func (c *UserProfilesListCall) Do(opts ...googleapi.CallOption) (*UserProfileList, error) {
49751	gensupport.SetOptions(c.urlParams_, opts...)
49752	res, err := c.doRequest("json")
49753	if res != nil && res.StatusCode == http.StatusNotModified {
49754		if res.Body != nil {
49755			res.Body.Close()
49756		}
49757		return nil, &googleapi.Error{
49758			Code:   res.StatusCode,
49759			Header: res.Header,
49760		}
49761	}
49762	if err != nil {
49763		return nil, err
49764	}
49765	defer googleapi.CloseBody(res)
49766	if err := googleapi.CheckResponse(res); err != nil {
49767		return nil, err
49768	}
49769	ret := &UserProfileList{
49770		ServerResponse: googleapi.ServerResponse{
49771			Header:         res.Header,
49772			HTTPStatusCode: res.StatusCode,
49773		},
49774	}
49775	target := &ret
49776	if err := gensupport.DecodeResponse(target, res); err != nil {
49777		return nil, err
49778	}
49779	return ret, nil
49780	// {
49781	//   "description": "Retrieves list of user profiles for a user.",
49782	//   "flatPath": "userprofiles",
49783	//   "httpMethod": "GET",
49784	//   "id": "dfareporting.userProfiles.list",
49785	//   "parameterOrder": [],
49786	//   "parameters": {},
49787	//   "path": "userprofiles",
49788	//   "response": {
49789	//     "$ref": "UserProfileList"
49790	//   },
49791	//   "scopes": [
49792	//     "https://www.googleapis.com/auth/ddmconversions",
49793	//     "https://www.googleapis.com/auth/dfareporting",
49794	//     "https://www.googleapis.com/auth/dfatrafficking"
49795	//   ]
49796	// }
49797
49798}
49799
49800// method id "dfareporting.userRolePermissionGroups.get":
49801
49802type UserRolePermissionGroupsGetCall struct {
49803	s            *Service
49804	profileId    int64
49805	id           int64
49806	urlParams_   gensupport.URLParams
49807	ifNoneMatch_ string
49808	ctx_         context.Context
49809	header_      http.Header
49810}
49811
49812// Get: Gets one user role permission group by ID.
49813//
49814// - id: User role permission group ID.
49815// - profileId: User profile ID associated with this request.
49816func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
49817	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49818	c.profileId = profileId
49819	c.id = id
49820	return c
49821}
49822
49823// Fields allows partial responses to be retrieved. See
49824// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49825// for more information.
49826func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
49827	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49828	return c
49829}
49830
49831// IfNoneMatch sets the optional parameter which makes the operation
49832// fail if the object's ETag matches the given value. This is useful for
49833// getting updates only after the object has changed since the last
49834// request. Use googleapi.IsNotModified to check whether the response
49835// error from Do is the result of In-None-Match.
49836func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
49837	c.ifNoneMatch_ = entityTag
49838	return c
49839}
49840
49841// Context sets the context to be used in this call's Do method. Any
49842// pending HTTP request will be aborted if the provided context is
49843// canceled.
49844func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
49845	c.ctx_ = ctx
49846	return c
49847}
49848
49849// Header returns an http.Header that can be modified by the caller to
49850// add HTTP headers to the request.
49851func (c *UserRolePermissionGroupsGetCall) Header() http.Header {
49852	if c.header_ == nil {
49853		c.header_ = make(http.Header)
49854	}
49855	return c.header_
49856}
49857
49858func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
49859	reqHeaders := make(http.Header)
49860	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
49861	for k, v := range c.header_ {
49862		reqHeaders[k] = v
49863	}
49864	reqHeaders.Set("User-Agent", c.s.userAgent())
49865	if c.ifNoneMatch_ != "" {
49866		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49867	}
49868	var body io.Reader = nil
49869	c.urlParams_.Set("alt", alt)
49870	c.urlParams_.Set("prettyPrint", "false")
49871	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
49872	urls += "?" + c.urlParams_.Encode()
49873	req, err := http.NewRequest("GET", urls, body)
49874	if err != nil {
49875		return nil, err
49876	}
49877	req.Header = reqHeaders
49878	googleapi.Expand(req.URL, map[string]string{
49879		"profileId": strconv.FormatInt(c.profileId, 10),
49880		"id":        strconv.FormatInt(c.id, 10),
49881	})
49882	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49883}
49884
49885// Do executes the "dfareporting.userRolePermissionGroups.get" call.
49886// Exactly one of *UserRolePermissionGroup or error will be non-nil. Any
49887// non-2xx status code is an error. Response headers are in either
49888// *UserRolePermissionGroup.ServerResponse.Header or (if a response was
49889// returned at all) in error.(*googleapi.Error).Header. Use
49890// googleapi.IsNotModified to check whether the returned error was
49891// because http.StatusNotModified was returned.
49892func (c *UserRolePermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroup, error) {
49893	gensupport.SetOptions(c.urlParams_, opts...)
49894	res, err := c.doRequest("json")
49895	if res != nil && res.StatusCode == http.StatusNotModified {
49896		if res.Body != nil {
49897			res.Body.Close()
49898		}
49899		return nil, &googleapi.Error{
49900			Code:   res.StatusCode,
49901			Header: res.Header,
49902		}
49903	}
49904	if err != nil {
49905		return nil, err
49906	}
49907	defer googleapi.CloseBody(res)
49908	if err := googleapi.CheckResponse(res); err != nil {
49909		return nil, err
49910	}
49911	ret := &UserRolePermissionGroup{
49912		ServerResponse: googleapi.ServerResponse{
49913			Header:         res.Header,
49914			HTTPStatusCode: res.StatusCode,
49915		},
49916	}
49917	target := &ret
49918	if err := gensupport.DecodeResponse(target, res); err != nil {
49919		return nil, err
49920	}
49921	return ret, nil
49922	// {
49923	//   "description": "Gets one user role permission group by ID.",
49924	//   "flatPath": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
49925	//   "httpMethod": "GET",
49926	//   "id": "dfareporting.userRolePermissionGroups.get",
49927	//   "parameterOrder": [
49928	//     "profileId",
49929	//     "id"
49930	//   ],
49931	//   "parameters": {
49932	//     "id": {
49933	//       "description": "User role permission group ID.",
49934	//       "format": "int64",
49935	//       "location": "path",
49936	//       "required": true,
49937	//       "type": "string"
49938	//     },
49939	//     "profileId": {
49940	//       "description": "User profile ID associated with this request.",
49941	//       "format": "int64",
49942	//       "location": "path",
49943	//       "required": true,
49944	//       "type": "string"
49945	//     }
49946	//   },
49947	//   "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
49948	//   "response": {
49949	//     "$ref": "UserRolePermissionGroup"
49950	//   },
49951	//   "scopes": [
49952	//     "https://www.googleapis.com/auth/dfatrafficking"
49953	//   ]
49954	// }
49955
49956}
49957
49958// method id "dfareporting.userRolePermissionGroups.list":
49959
49960type UserRolePermissionGroupsListCall struct {
49961	s            *Service
49962	profileId    int64
49963	urlParams_   gensupport.URLParams
49964	ifNoneMatch_ string
49965	ctx_         context.Context
49966	header_      http.Header
49967}
49968
49969// List: Gets a list of all supported user role permission groups.
49970//
49971// - profileId: User profile ID associated with this request.
49972func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
49973	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49974	c.profileId = profileId
49975	return c
49976}
49977
49978// Fields allows partial responses to be retrieved. See
49979// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49980// for more information.
49981func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
49982	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49983	return c
49984}
49985
49986// IfNoneMatch sets the optional parameter which makes the operation
49987// fail if the object's ETag matches the given value. This is useful for
49988// getting updates only after the object has changed since the last
49989// request. Use googleapi.IsNotModified to check whether the response
49990// error from Do is the result of In-None-Match.
49991func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
49992	c.ifNoneMatch_ = entityTag
49993	return c
49994}
49995
49996// Context sets the context to be used in this call's Do method. Any
49997// pending HTTP request will be aborted if the provided context is
49998// canceled.
49999func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
50000	c.ctx_ = ctx
50001	return c
50002}
50003
50004// Header returns an http.Header that can be modified by the caller to
50005// add HTTP headers to the request.
50006func (c *UserRolePermissionGroupsListCall) Header() http.Header {
50007	if c.header_ == nil {
50008		c.header_ = make(http.Header)
50009	}
50010	return c.header_
50011}
50012
50013func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
50014	reqHeaders := make(http.Header)
50015	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
50016	for k, v := range c.header_ {
50017		reqHeaders[k] = v
50018	}
50019	reqHeaders.Set("User-Agent", c.s.userAgent())
50020	if c.ifNoneMatch_ != "" {
50021		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50022	}
50023	var body io.Reader = nil
50024	c.urlParams_.Set("alt", alt)
50025	c.urlParams_.Set("prettyPrint", "false")
50026	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
50027	urls += "?" + c.urlParams_.Encode()
50028	req, err := http.NewRequest("GET", urls, body)
50029	if err != nil {
50030		return nil, err
50031	}
50032	req.Header = reqHeaders
50033	googleapi.Expand(req.URL, map[string]string{
50034		"profileId": strconv.FormatInt(c.profileId, 10),
50035	})
50036	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50037}
50038
50039// Do executes the "dfareporting.userRolePermissionGroups.list" call.
50040// Exactly one of *UserRolePermissionGroupsListResponse or error will be
50041// non-nil. Any non-2xx status code is an error. Response headers are in
50042// either *UserRolePermissionGroupsListResponse.ServerResponse.Header or
50043// (if a response was returned at all) in
50044// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
50045// whether the returned error was because http.StatusNotModified was
50046// returned.
50047func (c *UserRolePermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroupsListResponse, error) {
50048	gensupport.SetOptions(c.urlParams_, opts...)
50049	res, err := c.doRequest("json")
50050	if res != nil && res.StatusCode == http.StatusNotModified {
50051		if res.Body != nil {
50052			res.Body.Close()
50053		}
50054		return nil, &googleapi.Error{
50055			Code:   res.StatusCode,
50056			Header: res.Header,
50057		}
50058	}
50059	if err != nil {
50060		return nil, err
50061	}
50062	defer googleapi.CloseBody(res)
50063	if err := googleapi.CheckResponse(res); err != nil {
50064		return nil, err
50065	}
50066	ret := &UserRolePermissionGroupsListResponse{
50067		ServerResponse: googleapi.ServerResponse{
50068			Header:         res.Header,
50069			HTTPStatusCode: res.StatusCode,
50070		},
50071	}
50072	target := &ret
50073	if err := gensupport.DecodeResponse(target, res); err != nil {
50074		return nil, err
50075	}
50076	return ret, nil
50077	// {
50078	//   "description": "Gets a list of all supported user role permission groups.",
50079	//   "flatPath": "userprofiles/{profileId}/userRolePermissionGroups",
50080	//   "httpMethod": "GET",
50081	//   "id": "dfareporting.userRolePermissionGroups.list",
50082	//   "parameterOrder": [
50083	//     "profileId"
50084	//   ],
50085	//   "parameters": {
50086	//     "profileId": {
50087	//       "description": "User profile ID associated with this request.",
50088	//       "format": "int64",
50089	//       "location": "path",
50090	//       "required": true,
50091	//       "type": "string"
50092	//     }
50093	//   },
50094	//   "path": "userprofiles/{profileId}/userRolePermissionGroups",
50095	//   "response": {
50096	//     "$ref": "UserRolePermissionGroupsListResponse"
50097	//   },
50098	//   "scopes": [
50099	//     "https://www.googleapis.com/auth/dfatrafficking"
50100	//   ]
50101	// }
50102
50103}
50104
50105// method id "dfareporting.userRolePermissions.get":
50106
50107type UserRolePermissionsGetCall struct {
50108	s            *Service
50109	profileId    int64
50110	id           int64
50111	urlParams_   gensupport.URLParams
50112	ifNoneMatch_ string
50113	ctx_         context.Context
50114	header_      http.Header
50115}
50116
50117// Get: Gets one user role permission by ID.
50118//
50119// - id: User role permission ID.
50120// - profileId: User profile ID associated with this request.
50121func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
50122	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50123	c.profileId = profileId
50124	c.id = id
50125	return c
50126}
50127
50128// Fields allows partial responses to be retrieved. See
50129// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50130// for more information.
50131func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
50132	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50133	return c
50134}
50135
50136// IfNoneMatch sets the optional parameter which makes the operation
50137// fail if the object's ETag matches the given value. This is useful for
50138// getting updates only after the object has changed since the last
50139// request. Use googleapi.IsNotModified to check whether the response
50140// error from Do is the result of In-None-Match.
50141func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
50142	c.ifNoneMatch_ = entityTag
50143	return c
50144}
50145
50146// Context sets the context to be used in this call's Do method. Any
50147// pending HTTP request will be aborted if the provided context is
50148// canceled.
50149func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
50150	c.ctx_ = ctx
50151	return c
50152}
50153
50154// Header returns an http.Header that can be modified by the caller to
50155// add HTTP headers to the request.
50156func (c *UserRolePermissionsGetCall) Header() http.Header {
50157	if c.header_ == nil {
50158		c.header_ = make(http.Header)
50159	}
50160	return c.header_
50161}
50162
50163func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
50164	reqHeaders := make(http.Header)
50165	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
50166	for k, v := range c.header_ {
50167		reqHeaders[k] = v
50168	}
50169	reqHeaders.Set("User-Agent", c.s.userAgent())
50170	if c.ifNoneMatch_ != "" {
50171		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50172	}
50173	var body io.Reader = nil
50174	c.urlParams_.Set("alt", alt)
50175	c.urlParams_.Set("prettyPrint", "false")
50176	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
50177	urls += "?" + c.urlParams_.Encode()
50178	req, err := http.NewRequest("GET", urls, body)
50179	if err != nil {
50180		return nil, err
50181	}
50182	req.Header = reqHeaders
50183	googleapi.Expand(req.URL, map[string]string{
50184		"profileId": strconv.FormatInt(c.profileId, 10),
50185		"id":        strconv.FormatInt(c.id, 10),
50186	})
50187	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50188}
50189
50190// Do executes the "dfareporting.userRolePermissions.get" call.
50191// Exactly one of *UserRolePermission or error will be non-nil. Any
50192// non-2xx status code is an error. Response headers are in either
50193// *UserRolePermission.ServerResponse.Header or (if a response was
50194// returned at all) in error.(*googleapi.Error).Header. Use
50195// googleapi.IsNotModified to check whether the returned error was
50196// because http.StatusNotModified was returned.
50197func (c *UserRolePermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermission, error) {
50198	gensupport.SetOptions(c.urlParams_, opts...)
50199	res, err := c.doRequest("json")
50200	if res != nil && res.StatusCode == http.StatusNotModified {
50201		if res.Body != nil {
50202			res.Body.Close()
50203		}
50204		return nil, &googleapi.Error{
50205			Code:   res.StatusCode,
50206			Header: res.Header,
50207		}
50208	}
50209	if err != nil {
50210		return nil, err
50211	}
50212	defer googleapi.CloseBody(res)
50213	if err := googleapi.CheckResponse(res); err != nil {
50214		return nil, err
50215	}
50216	ret := &UserRolePermission{
50217		ServerResponse: googleapi.ServerResponse{
50218			Header:         res.Header,
50219			HTTPStatusCode: res.StatusCode,
50220		},
50221	}
50222	target := &ret
50223	if err := gensupport.DecodeResponse(target, res); err != nil {
50224		return nil, err
50225	}
50226	return ret, nil
50227	// {
50228	//   "description": "Gets one user role permission by ID.",
50229	//   "flatPath": "userprofiles/{profileId}/userRolePermissions/{id}",
50230	//   "httpMethod": "GET",
50231	//   "id": "dfareporting.userRolePermissions.get",
50232	//   "parameterOrder": [
50233	//     "profileId",
50234	//     "id"
50235	//   ],
50236	//   "parameters": {
50237	//     "id": {
50238	//       "description": "User role permission ID.",
50239	//       "format": "int64",
50240	//       "location": "path",
50241	//       "required": true,
50242	//       "type": "string"
50243	//     },
50244	//     "profileId": {
50245	//       "description": "User profile ID associated with this request.",
50246	//       "format": "int64",
50247	//       "location": "path",
50248	//       "required": true,
50249	//       "type": "string"
50250	//     }
50251	//   },
50252	//   "path": "userprofiles/{profileId}/userRolePermissions/{id}",
50253	//   "response": {
50254	//     "$ref": "UserRolePermission"
50255	//   },
50256	//   "scopes": [
50257	//     "https://www.googleapis.com/auth/dfatrafficking"
50258	//   ]
50259	// }
50260
50261}
50262
50263// method id "dfareporting.userRolePermissions.list":
50264
50265type UserRolePermissionsListCall struct {
50266	s            *Service
50267	profileId    int64
50268	urlParams_   gensupport.URLParams
50269	ifNoneMatch_ string
50270	ctx_         context.Context
50271	header_      http.Header
50272}
50273
50274// List: Gets a list of user role permissions, possibly filtered.
50275//
50276// - profileId: User profile ID associated with this request.
50277func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
50278	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50279	c.profileId = profileId
50280	return c
50281}
50282
50283// Ids sets the optional parameter "ids": Select only user role
50284// permissions with these IDs.
50285func (c *UserRolePermissionsListCall) Ids(ids ...int64) *UserRolePermissionsListCall {
50286	var ids_ []string
50287	for _, v := range ids {
50288		ids_ = append(ids_, fmt.Sprint(v))
50289	}
50290	c.urlParams_.SetMulti("ids", ids_)
50291	return c
50292}
50293
50294// Fields allows partial responses to be retrieved. See
50295// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50296// for more information.
50297func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
50298	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50299	return c
50300}
50301
50302// IfNoneMatch sets the optional parameter which makes the operation
50303// fail if the object's ETag matches the given value. This is useful for
50304// getting updates only after the object has changed since the last
50305// request. Use googleapi.IsNotModified to check whether the response
50306// error from Do is the result of In-None-Match.
50307func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
50308	c.ifNoneMatch_ = entityTag
50309	return c
50310}
50311
50312// Context sets the context to be used in this call's Do method. Any
50313// pending HTTP request will be aborted if the provided context is
50314// canceled.
50315func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
50316	c.ctx_ = ctx
50317	return c
50318}
50319
50320// Header returns an http.Header that can be modified by the caller to
50321// add HTTP headers to the request.
50322func (c *UserRolePermissionsListCall) Header() http.Header {
50323	if c.header_ == nil {
50324		c.header_ = make(http.Header)
50325	}
50326	return c.header_
50327}
50328
50329func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
50330	reqHeaders := make(http.Header)
50331	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
50332	for k, v := range c.header_ {
50333		reqHeaders[k] = v
50334	}
50335	reqHeaders.Set("User-Agent", c.s.userAgent())
50336	if c.ifNoneMatch_ != "" {
50337		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50338	}
50339	var body io.Reader = nil
50340	c.urlParams_.Set("alt", alt)
50341	c.urlParams_.Set("prettyPrint", "false")
50342	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
50343	urls += "?" + c.urlParams_.Encode()
50344	req, err := http.NewRequest("GET", urls, body)
50345	if err != nil {
50346		return nil, err
50347	}
50348	req.Header = reqHeaders
50349	googleapi.Expand(req.URL, map[string]string{
50350		"profileId": strconv.FormatInt(c.profileId, 10),
50351	})
50352	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50353}
50354
50355// Do executes the "dfareporting.userRolePermissions.list" call.
50356// Exactly one of *UserRolePermissionsListResponse or error will be
50357// non-nil. Any non-2xx status code is an error. Response headers are in
50358// either *UserRolePermissionsListResponse.ServerResponse.Header or (if
50359// a response was returned at all) in error.(*googleapi.Error).Header.
50360// Use googleapi.IsNotModified to check whether the returned error was
50361// because http.StatusNotModified was returned.
50362func (c *UserRolePermissionsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionsListResponse, error) {
50363	gensupport.SetOptions(c.urlParams_, opts...)
50364	res, err := c.doRequest("json")
50365	if res != nil && res.StatusCode == http.StatusNotModified {
50366		if res.Body != nil {
50367			res.Body.Close()
50368		}
50369		return nil, &googleapi.Error{
50370			Code:   res.StatusCode,
50371			Header: res.Header,
50372		}
50373	}
50374	if err != nil {
50375		return nil, err
50376	}
50377	defer googleapi.CloseBody(res)
50378	if err := googleapi.CheckResponse(res); err != nil {
50379		return nil, err
50380	}
50381	ret := &UserRolePermissionsListResponse{
50382		ServerResponse: googleapi.ServerResponse{
50383			Header:         res.Header,
50384			HTTPStatusCode: res.StatusCode,
50385		},
50386	}
50387	target := &ret
50388	if err := gensupport.DecodeResponse(target, res); err != nil {
50389		return nil, err
50390	}
50391	return ret, nil
50392	// {
50393	//   "description": "Gets a list of user role permissions, possibly filtered.",
50394	//   "flatPath": "userprofiles/{profileId}/userRolePermissions",
50395	//   "httpMethod": "GET",
50396	//   "id": "dfareporting.userRolePermissions.list",
50397	//   "parameterOrder": [
50398	//     "profileId"
50399	//   ],
50400	//   "parameters": {
50401	//     "ids": {
50402	//       "description": "Select only user role permissions with these IDs.",
50403	//       "format": "int64",
50404	//       "location": "query",
50405	//       "repeated": true,
50406	//       "type": "string"
50407	//     },
50408	//     "profileId": {
50409	//       "description": "User profile ID associated with this request.",
50410	//       "format": "int64",
50411	//       "location": "path",
50412	//       "required": true,
50413	//       "type": "string"
50414	//     }
50415	//   },
50416	//   "path": "userprofiles/{profileId}/userRolePermissions",
50417	//   "response": {
50418	//     "$ref": "UserRolePermissionsListResponse"
50419	//   },
50420	//   "scopes": [
50421	//     "https://www.googleapis.com/auth/dfatrafficking"
50422	//   ]
50423	// }
50424
50425}
50426
50427// method id "dfareporting.userRoles.delete":
50428
50429type UserRolesDeleteCall struct {
50430	s          *Service
50431	profileId  int64
50432	id         int64
50433	urlParams_ gensupport.URLParams
50434	ctx_       context.Context
50435	header_    http.Header
50436}
50437
50438// Delete: Deletes an existing user role.
50439//
50440// - id: User role ID.
50441// - profileId: User profile ID associated with this request.
50442func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
50443	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50444	c.profileId = profileId
50445	c.id = id
50446	return c
50447}
50448
50449// Fields allows partial responses to be retrieved. See
50450// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50451// for more information.
50452func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
50453	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50454	return c
50455}
50456
50457// Context sets the context to be used in this call's Do method. Any
50458// pending HTTP request will be aborted if the provided context is
50459// canceled.
50460func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
50461	c.ctx_ = ctx
50462	return c
50463}
50464
50465// Header returns an http.Header that can be modified by the caller to
50466// add HTTP headers to the request.
50467func (c *UserRolesDeleteCall) Header() http.Header {
50468	if c.header_ == nil {
50469		c.header_ = make(http.Header)
50470	}
50471	return c.header_
50472}
50473
50474func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
50475	reqHeaders := make(http.Header)
50476	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
50477	for k, v := range c.header_ {
50478		reqHeaders[k] = v
50479	}
50480	reqHeaders.Set("User-Agent", c.s.userAgent())
50481	var body io.Reader = nil
50482	c.urlParams_.Set("alt", alt)
50483	c.urlParams_.Set("prettyPrint", "false")
50484	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
50485	urls += "?" + c.urlParams_.Encode()
50486	req, err := http.NewRequest("DELETE", urls, body)
50487	if err != nil {
50488		return nil, err
50489	}
50490	req.Header = reqHeaders
50491	googleapi.Expand(req.URL, map[string]string{
50492		"profileId": strconv.FormatInt(c.profileId, 10),
50493		"id":        strconv.FormatInt(c.id, 10),
50494	})
50495	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50496}
50497
50498// Do executes the "dfareporting.userRoles.delete" call.
50499func (c *UserRolesDeleteCall) Do(opts ...googleapi.CallOption) error {
50500	gensupport.SetOptions(c.urlParams_, opts...)
50501	res, err := c.doRequest("json")
50502	if err != nil {
50503		return err
50504	}
50505	defer googleapi.CloseBody(res)
50506	if err := googleapi.CheckResponse(res); err != nil {
50507		return err
50508	}
50509	return nil
50510	// {
50511	//   "description": "Deletes an existing user role.",
50512	//   "flatPath": "userprofiles/{profileId}/userRoles/{id}",
50513	//   "httpMethod": "DELETE",
50514	//   "id": "dfareporting.userRoles.delete",
50515	//   "parameterOrder": [
50516	//     "profileId",
50517	//     "id"
50518	//   ],
50519	//   "parameters": {
50520	//     "id": {
50521	//       "description": "User role ID.",
50522	//       "format": "int64",
50523	//       "location": "path",
50524	//       "required": true,
50525	//       "type": "string"
50526	//     },
50527	//     "profileId": {
50528	//       "description": "User profile ID associated with this request.",
50529	//       "format": "int64",
50530	//       "location": "path",
50531	//       "required": true,
50532	//       "type": "string"
50533	//     }
50534	//   },
50535	//   "path": "userprofiles/{profileId}/userRoles/{id}",
50536	//   "scopes": [
50537	//     "https://www.googleapis.com/auth/dfatrafficking"
50538	//   ]
50539	// }
50540
50541}
50542
50543// method id "dfareporting.userRoles.get":
50544
50545type UserRolesGetCall struct {
50546	s            *Service
50547	profileId    int64
50548	id           int64
50549	urlParams_   gensupport.URLParams
50550	ifNoneMatch_ string
50551	ctx_         context.Context
50552	header_      http.Header
50553}
50554
50555// Get: Gets one user role by ID.
50556//
50557// - id: User role ID.
50558// - profileId: User profile ID associated with this request.
50559func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
50560	c := &UserRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50561	c.profileId = profileId
50562	c.id = id
50563	return c
50564}
50565
50566// Fields allows partial responses to be retrieved. See
50567// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50568// for more information.
50569func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
50570	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50571	return c
50572}
50573
50574// IfNoneMatch sets the optional parameter which makes the operation
50575// fail if the object's ETag matches the given value. This is useful for
50576// getting updates only after the object has changed since the last
50577// request. Use googleapi.IsNotModified to check whether the response
50578// error from Do is the result of In-None-Match.
50579func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
50580	c.ifNoneMatch_ = entityTag
50581	return c
50582}
50583
50584// Context sets the context to be used in this call's Do method. Any
50585// pending HTTP request will be aborted if the provided context is
50586// canceled.
50587func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
50588	c.ctx_ = ctx
50589	return c
50590}
50591
50592// Header returns an http.Header that can be modified by the caller to
50593// add HTTP headers to the request.
50594func (c *UserRolesGetCall) Header() http.Header {
50595	if c.header_ == nil {
50596		c.header_ = make(http.Header)
50597	}
50598	return c.header_
50599}
50600
50601func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
50602	reqHeaders := make(http.Header)
50603	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
50604	for k, v := range c.header_ {
50605		reqHeaders[k] = v
50606	}
50607	reqHeaders.Set("User-Agent", c.s.userAgent())
50608	if c.ifNoneMatch_ != "" {
50609		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50610	}
50611	var body io.Reader = nil
50612	c.urlParams_.Set("alt", alt)
50613	c.urlParams_.Set("prettyPrint", "false")
50614	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
50615	urls += "?" + c.urlParams_.Encode()
50616	req, err := http.NewRequest("GET", urls, body)
50617	if err != nil {
50618		return nil, err
50619	}
50620	req.Header = reqHeaders
50621	googleapi.Expand(req.URL, map[string]string{
50622		"profileId": strconv.FormatInt(c.profileId, 10),
50623		"id":        strconv.FormatInt(c.id, 10),
50624	})
50625	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50626}
50627
50628// Do executes the "dfareporting.userRoles.get" call.
50629// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50630// code is an error. Response headers are in either
50631// *UserRole.ServerResponse.Header or (if a response was returned at
50632// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50633// to check whether the returned error was because
50634// http.StatusNotModified was returned.
50635func (c *UserRolesGetCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50636	gensupport.SetOptions(c.urlParams_, opts...)
50637	res, err := c.doRequest("json")
50638	if res != nil && res.StatusCode == http.StatusNotModified {
50639		if res.Body != nil {
50640			res.Body.Close()
50641		}
50642		return nil, &googleapi.Error{
50643			Code:   res.StatusCode,
50644			Header: res.Header,
50645		}
50646	}
50647	if err != nil {
50648		return nil, err
50649	}
50650	defer googleapi.CloseBody(res)
50651	if err := googleapi.CheckResponse(res); err != nil {
50652		return nil, err
50653	}
50654	ret := &UserRole{
50655		ServerResponse: googleapi.ServerResponse{
50656			Header:         res.Header,
50657			HTTPStatusCode: res.StatusCode,
50658		},
50659	}
50660	target := &ret
50661	if err := gensupport.DecodeResponse(target, res); err != nil {
50662		return nil, err
50663	}
50664	return ret, nil
50665	// {
50666	//   "description": "Gets one user role by ID.",
50667	//   "flatPath": "userprofiles/{profileId}/userRoles/{id}",
50668	//   "httpMethod": "GET",
50669	//   "id": "dfareporting.userRoles.get",
50670	//   "parameterOrder": [
50671	//     "profileId",
50672	//     "id"
50673	//   ],
50674	//   "parameters": {
50675	//     "id": {
50676	//       "description": "User role ID.",
50677	//       "format": "int64",
50678	//       "location": "path",
50679	//       "required": true,
50680	//       "type": "string"
50681	//     },
50682	//     "profileId": {
50683	//       "description": "User profile ID associated with this request.",
50684	//       "format": "int64",
50685	//       "location": "path",
50686	//       "required": true,
50687	//       "type": "string"
50688	//     }
50689	//   },
50690	//   "path": "userprofiles/{profileId}/userRoles/{id}",
50691	//   "response": {
50692	//     "$ref": "UserRole"
50693	//   },
50694	//   "scopes": [
50695	//     "https://www.googleapis.com/auth/dfatrafficking"
50696	//   ]
50697	// }
50698
50699}
50700
50701// method id "dfareporting.userRoles.insert":
50702
50703type UserRolesInsertCall struct {
50704	s          *Service
50705	profileId  int64
50706	userrole   *UserRole
50707	urlParams_ gensupport.URLParams
50708	ctx_       context.Context
50709	header_    http.Header
50710}
50711
50712// Insert: Inserts a new user role.
50713//
50714// - profileId: User profile ID associated with this request.
50715func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
50716	c := &UserRolesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50717	c.profileId = profileId
50718	c.userrole = userrole
50719	return c
50720}
50721
50722// Fields allows partial responses to be retrieved. See
50723// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50724// for more information.
50725func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
50726	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50727	return c
50728}
50729
50730// Context sets the context to be used in this call's Do method. Any
50731// pending HTTP request will be aborted if the provided context is
50732// canceled.
50733func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
50734	c.ctx_ = ctx
50735	return c
50736}
50737
50738// Header returns an http.Header that can be modified by the caller to
50739// add HTTP headers to the request.
50740func (c *UserRolesInsertCall) Header() http.Header {
50741	if c.header_ == nil {
50742		c.header_ = make(http.Header)
50743	}
50744	return c.header_
50745}
50746
50747func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
50748	reqHeaders := make(http.Header)
50749	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
50750	for k, v := range c.header_ {
50751		reqHeaders[k] = v
50752	}
50753	reqHeaders.Set("User-Agent", c.s.userAgent())
50754	var body io.Reader = nil
50755	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
50756	if err != nil {
50757		return nil, err
50758	}
50759	reqHeaders.Set("Content-Type", "application/json")
50760	c.urlParams_.Set("alt", alt)
50761	c.urlParams_.Set("prettyPrint", "false")
50762	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50763	urls += "?" + c.urlParams_.Encode()
50764	req, err := http.NewRequest("POST", urls, body)
50765	if err != nil {
50766		return nil, err
50767	}
50768	req.Header = reqHeaders
50769	googleapi.Expand(req.URL, map[string]string{
50770		"profileId": strconv.FormatInt(c.profileId, 10),
50771	})
50772	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50773}
50774
50775// Do executes the "dfareporting.userRoles.insert" call.
50776// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50777// code is an error. Response headers are in either
50778// *UserRole.ServerResponse.Header or (if a response was returned at
50779// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50780// to check whether the returned error was because
50781// http.StatusNotModified was returned.
50782func (c *UserRolesInsertCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50783	gensupport.SetOptions(c.urlParams_, opts...)
50784	res, err := c.doRequest("json")
50785	if res != nil && res.StatusCode == http.StatusNotModified {
50786		if res.Body != nil {
50787			res.Body.Close()
50788		}
50789		return nil, &googleapi.Error{
50790			Code:   res.StatusCode,
50791			Header: res.Header,
50792		}
50793	}
50794	if err != nil {
50795		return nil, err
50796	}
50797	defer googleapi.CloseBody(res)
50798	if err := googleapi.CheckResponse(res); err != nil {
50799		return nil, err
50800	}
50801	ret := &UserRole{
50802		ServerResponse: googleapi.ServerResponse{
50803			Header:         res.Header,
50804			HTTPStatusCode: res.StatusCode,
50805		},
50806	}
50807	target := &ret
50808	if err := gensupport.DecodeResponse(target, res); err != nil {
50809		return nil, err
50810	}
50811	return ret, nil
50812	// {
50813	//   "description": "Inserts a new user role.",
50814	//   "flatPath": "userprofiles/{profileId}/userRoles",
50815	//   "httpMethod": "POST",
50816	//   "id": "dfareporting.userRoles.insert",
50817	//   "parameterOrder": [
50818	//     "profileId"
50819	//   ],
50820	//   "parameters": {
50821	//     "profileId": {
50822	//       "description": "User profile ID associated with this request.",
50823	//       "format": "int64",
50824	//       "location": "path",
50825	//       "required": true,
50826	//       "type": "string"
50827	//     }
50828	//   },
50829	//   "path": "userprofiles/{profileId}/userRoles",
50830	//   "request": {
50831	//     "$ref": "UserRole"
50832	//   },
50833	//   "response": {
50834	//     "$ref": "UserRole"
50835	//   },
50836	//   "scopes": [
50837	//     "https://www.googleapis.com/auth/dfatrafficking"
50838	//   ]
50839	// }
50840
50841}
50842
50843// method id "dfareporting.userRoles.list":
50844
50845type UserRolesListCall struct {
50846	s            *Service
50847	profileId    int64
50848	urlParams_   gensupport.URLParams
50849	ifNoneMatch_ string
50850	ctx_         context.Context
50851	header_      http.Header
50852}
50853
50854// List: Retrieves a list of user roles, possibly filtered. This method
50855// supports paging.
50856//
50857// - profileId: User profile ID associated with this request.
50858func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
50859	c := &UserRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50860	c.profileId = profileId
50861	return c
50862}
50863
50864// AccountUserRoleOnly sets the optional parameter
50865// "accountUserRoleOnly": Select only account level user roles not
50866// associated with any specific subaccount.
50867func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
50868	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprint(accountUserRoleOnly))
50869	return c
50870}
50871
50872// Ids sets the optional parameter "ids": Select only user roles with
50873// the specified IDs.
50874func (c *UserRolesListCall) Ids(ids ...int64) *UserRolesListCall {
50875	var ids_ []string
50876	for _, v := range ids {
50877		ids_ = append(ids_, fmt.Sprint(v))
50878	}
50879	c.urlParams_.SetMulti("ids", ids_)
50880	return c
50881}
50882
50883// MaxResults sets the optional parameter "maxResults": Maximum number
50884// of results to return.
50885func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
50886	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
50887	return c
50888}
50889
50890// PageToken sets the optional parameter "pageToken": Value of the
50891// nextPageToken from the previous result page.
50892func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
50893	c.urlParams_.Set("pageToken", pageToken)
50894	return c
50895}
50896
50897// SearchString sets the optional parameter "searchString": Allows
50898// searching for objects by name or ID. Wildcards (*) are allowed. For
50899// example, "userrole*2015" will return objects with names like
50900// "userrole June 2015", "userrole April 2015", or simply "userrole
50901// 2015". Most of the searches also add wildcards implicitly at the
50902// start and the end of the search string. For example, a search string
50903// of "userrole" will match objects with name "my userrole", "userrole
50904// 2015", or simply "userrole".
50905func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
50906	c.urlParams_.Set("searchString", searchString)
50907	return c
50908}
50909
50910// SortField sets the optional parameter "sortField": Field by which to
50911// sort the list.
50912//
50913// Possible values:
50914//   "ID" (default)
50915//   "NAME"
50916func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
50917	c.urlParams_.Set("sortField", sortField)
50918	return c
50919}
50920
50921// SortOrder sets the optional parameter "sortOrder": Order of sorted
50922// results.
50923//
50924// Possible values:
50925//   "ASCENDING" (default)
50926//   "DESCENDING"
50927func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
50928	c.urlParams_.Set("sortOrder", sortOrder)
50929	return c
50930}
50931
50932// SubaccountId sets the optional parameter "subaccountId": Select only
50933// user roles that belong to this subaccount.
50934func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
50935	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
50936	return c
50937}
50938
50939// Fields allows partial responses to be retrieved. See
50940// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50941// for more information.
50942func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
50943	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50944	return c
50945}
50946
50947// IfNoneMatch sets the optional parameter which makes the operation
50948// fail if the object's ETag matches the given value. This is useful for
50949// getting updates only after the object has changed since the last
50950// request. Use googleapi.IsNotModified to check whether the response
50951// error from Do is the result of In-None-Match.
50952func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
50953	c.ifNoneMatch_ = entityTag
50954	return c
50955}
50956
50957// Context sets the context to be used in this call's Do method. Any
50958// pending HTTP request will be aborted if the provided context is
50959// canceled.
50960func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
50961	c.ctx_ = ctx
50962	return c
50963}
50964
50965// Header returns an http.Header that can be modified by the caller to
50966// add HTTP headers to the request.
50967func (c *UserRolesListCall) Header() http.Header {
50968	if c.header_ == nil {
50969		c.header_ = make(http.Header)
50970	}
50971	return c.header_
50972}
50973
50974func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
50975	reqHeaders := make(http.Header)
50976	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
50977	for k, v := range c.header_ {
50978		reqHeaders[k] = v
50979	}
50980	reqHeaders.Set("User-Agent", c.s.userAgent())
50981	if c.ifNoneMatch_ != "" {
50982		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50983	}
50984	var body io.Reader = nil
50985	c.urlParams_.Set("alt", alt)
50986	c.urlParams_.Set("prettyPrint", "false")
50987	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50988	urls += "?" + c.urlParams_.Encode()
50989	req, err := http.NewRequest("GET", urls, body)
50990	if err != nil {
50991		return nil, err
50992	}
50993	req.Header = reqHeaders
50994	googleapi.Expand(req.URL, map[string]string{
50995		"profileId": strconv.FormatInt(c.profileId, 10),
50996	})
50997	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50998}
50999
51000// Do executes the "dfareporting.userRoles.list" call.
51001// Exactly one of *UserRolesListResponse or error will be non-nil. Any
51002// non-2xx status code is an error. Response headers are in either
51003// *UserRolesListResponse.ServerResponse.Header or (if a response was
51004// returned at all) in error.(*googleapi.Error).Header. Use
51005// googleapi.IsNotModified to check whether the returned error was
51006// because http.StatusNotModified was returned.
51007func (c *UserRolesListCall) Do(opts ...googleapi.CallOption) (*UserRolesListResponse, error) {
51008	gensupport.SetOptions(c.urlParams_, opts...)
51009	res, err := c.doRequest("json")
51010	if res != nil && res.StatusCode == http.StatusNotModified {
51011		if res.Body != nil {
51012			res.Body.Close()
51013		}
51014		return nil, &googleapi.Error{
51015			Code:   res.StatusCode,
51016			Header: res.Header,
51017		}
51018	}
51019	if err != nil {
51020		return nil, err
51021	}
51022	defer googleapi.CloseBody(res)
51023	if err := googleapi.CheckResponse(res); err != nil {
51024		return nil, err
51025	}
51026	ret := &UserRolesListResponse{
51027		ServerResponse: googleapi.ServerResponse{
51028			Header:         res.Header,
51029			HTTPStatusCode: res.StatusCode,
51030		},
51031	}
51032	target := &ret
51033	if err := gensupport.DecodeResponse(target, res); err != nil {
51034		return nil, err
51035	}
51036	return ret, nil
51037	// {
51038	//   "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
51039	//   "flatPath": "userprofiles/{profileId}/userRoles",
51040	//   "httpMethod": "GET",
51041	//   "id": "dfareporting.userRoles.list",
51042	//   "parameterOrder": [
51043	//     "profileId"
51044	//   ],
51045	//   "parameters": {
51046	//     "accountUserRoleOnly": {
51047	//       "description": "Select only account level user roles not associated with any specific subaccount.",
51048	//       "location": "query",
51049	//       "type": "boolean"
51050	//     },
51051	//     "ids": {
51052	//       "description": "Select only user roles with the specified IDs.",
51053	//       "format": "int64",
51054	//       "location": "query",
51055	//       "repeated": true,
51056	//       "type": "string"
51057	//     },
51058	//     "maxResults": {
51059	//       "default": "1000",
51060	//       "description": "Maximum number of results to return.",
51061	//       "format": "int32",
51062	//       "location": "query",
51063	//       "maximum": "1000",
51064	//       "minimum": "0",
51065	//       "type": "integer"
51066	//     },
51067	//     "pageToken": {
51068	//       "description": "Value of the nextPageToken from the previous result page.",
51069	//       "location": "query",
51070	//       "type": "string"
51071	//     },
51072	//     "profileId": {
51073	//       "description": "User profile ID associated with this request.",
51074	//       "format": "int64",
51075	//       "location": "path",
51076	//       "required": true,
51077	//       "type": "string"
51078	//     },
51079	//     "searchString": {
51080	//       "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\".",
51081	//       "location": "query",
51082	//       "type": "string"
51083	//     },
51084	//     "sortField": {
51085	//       "default": "ID",
51086	//       "description": "Field by which to sort the list.",
51087	//       "enum": [
51088	//         "ID",
51089	//         "NAME"
51090	//       ],
51091	//       "enumDescriptions": [
51092	//         "",
51093	//         ""
51094	//       ],
51095	//       "location": "query",
51096	//       "type": "string"
51097	//     },
51098	//     "sortOrder": {
51099	//       "default": "ASCENDING",
51100	//       "description": "Order of sorted results.",
51101	//       "enum": [
51102	//         "ASCENDING",
51103	//         "DESCENDING"
51104	//       ],
51105	//       "enumDescriptions": [
51106	//         "",
51107	//         ""
51108	//       ],
51109	//       "location": "query",
51110	//       "type": "string"
51111	//     },
51112	//     "subaccountId": {
51113	//       "description": "Select only user roles that belong to this subaccount.",
51114	//       "format": "int64",
51115	//       "location": "query",
51116	//       "type": "string"
51117	//     }
51118	//   },
51119	//   "path": "userprofiles/{profileId}/userRoles",
51120	//   "response": {
51121	//     "$ref": "UserRolesListResponse"
51122	//   },
51123	//   "scopes": [
51124	//     "https://www.googleapis.com/auth/dfatrafficking"
51125	//   ]
51126	// }
51127
51128}
51129
51130// Pages invokes f for each page of results.
51131// A non-nil error returned from f will halt the iteration.
51132// The provided context supersedes any context provided to the Context method.
51133func (c *UserRolesListCall) Pages(ctx context.Context, f func(*UserRolesListResponse) error) error {
51134	c.ctx_ = ctx
51135	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
51136	for {
51137		x, err := c.Do()
51138		if err != nil {
51139			return err
51140		}
51141		if err := f(x); err != nil {
51142			return err
51143		}
51144		if x.NextPageToken == "" {
51145			return nil
51146		}
51147		c.PageToken(x.NextPageToken)
51148	}
51149}
51150
51151// method id "dfareporting.userRoles.patch":
51152
51153type UserRolesPatchCall struct {
51154	s          *Service
51155	profileId  int64
51156	userrole   *UserRole
51157	urlParams_ gensupport.URLParams
51158	ctx_       context.Context
51159	header_    http.Header
51160}
51161
51162// Patch: Updates an existing user role. This method supports patch
51163// semantics.
51164//
51165// - id: UserRole ID.
51166// - profileId: User profile ID associated with this request.
51167func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
51168	c := &UserRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51169	c.profileId = profileId
51170	c.urlParams_.Set("id", fmt.Sprint(id))
51171	c.userrole = userrole
51172	return c
51173}
51174
51175// Fields allows partial responses to be retrieved. See
51176// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51177// for more information.
51178func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
51179	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51180	return c
51181}
51182
51183// Context sets the context to be used in this call's Do method. Any
51184// pending HTTP request will be aborted if the provided context is
51185// canceled.
51186func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
51187	c.ctx_ = ctx
51188	return c
51189}
51190
51191// Header returns an http.Header that can be modified by the caller to
51192// add HTTP headers to the request.
51193func (c *UserRolesPatchCall) Header() http.Header {
51194	if c.header_ == nil {
51195		c.header_ = make(http.Header)
51196	}
51197	return c.header_
51198}
51199
51200func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
51201	reqHeaders := make(http.Header)
51202	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
51203	for k, v := range c.header_ {
51204		reqHeaders[k] = v
51205	}
51206	reqHeaders.Set("User-Agent", c.s.userAgent())
51207	var body io.Reader = nil
51208	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
51209	if err != nil {
51210		return nil, err
51211	}
51212	reqHeaders.Set("Content-Type", "application/json")
51213	c.urlParams_.Set("alt", alt)
51214	c.urlParams_.Set("prettyPrint", "false")
51215	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
51216	urls += "?" + c.urlParams_.Encode()
51217	req, err := http.NewRequest("PATCH", urls, body)
51218	if err != nil {
51219		return nil, err
51220	}
51221	req.Header = reqHeaders
51222	googleapi.Expand(req.URL, map[string]string{
51223		"profileId": strconv.FormatInt(c.profileId, 10),
51224	})
51225	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51226}
51227
51228// Do executes the "dfareporting.userRoles.patch" call.
51229// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
51230// code is an error. Response headers are in either
51231// *UserRole.ServerResponse.Header or (if a response was returned at
51232// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
51233// to check whether the returned error was because
51234// http.StatusNotModified was returned.
51235func (c *UserRolesPatchCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
51236	gensupport.SetOptions(c.urlParams_, opts...)
51237	res, err := c.doRequest("json")
51238	if res != nil && res.StatusCode == http.StatusNotModified {
51239		if res.Body != nil {
51240			res.Body.Close()
51241		}
51242		return nil, &googleapi.Error{
51243			Code:   res.StatusCode,
51244			Header: res.Header,
51245		}
51246	}
51247	if err != nil {
51248		return nil, err
51249	}
51250	defer googleapi.CloseBody(res)
51251	if err := googleapi.CheckResponse(res); err != nil {
51252		return nil, err
51253	}
51254	ret := &UserRole{
51255		ServerResponse: googleapi.ServerResponse{
51256			Header:         res.Header,
51257			HTTPStatusCode: res.StatusCode,
51258		},
51259	}
51260	target := &ret
51261	if err := gensupport.DecodeResponse(target, res); err != nil {
51262		return nil, err
51263	}
51264	return ret, nil
51265	// {
51266	//   "description": "Updates an existing user role. This method supports patch semantics.",
51267	//   "flatPath": "userprofiles/{profileId}/userRoles",
51268	//   "httpMethod": "PATCH",
51269	//   "id": "dfareporting.userRoles.patch",
51270	//   "parameterOrder": [
51271	//     "profileId",
51272	//     "id"
51273	//   ],
51274	//   "parameters": {
51275	//     "id": {
51276	//       "description": "UserRole ID.",
51277	//       "format": "int64",
51278	//       "location": "query",
51279	//       "required": true,
51280	//       "type": "string"
51281	//     },
51282	//     "profileId": {
51283	//       "description": "User profile ID associated with this request.",
51284	//       "format": "int64",
51285	//       "location": "path",
51286	//       "required": true,
51287	//       "type": "string"
51288	//     }
51289	//   },
51290	//   "path": "userprofiles/{profileId}/userRoles",
51291	//   "request": {
51292	//     "$ref": "UserRole"
51293	//   },
51294	//   "response": {
51295	//     "$ref": "UserRole"
51296	//   },
51297	//   "scopes": [
51298	//     "https://www.googleapis.com/auth/dfatrafficking"
51299	//   ]
51300	// }
51301
51302}
51303
51304// method id "dfareporting.userRoles.update":
51305
51306type UserRolesUpdateCall struct {
51307	s          *Service
51308	profileId  int64
51309	userrole   *UserRole
51310	urlParams_ gensupport.URLParams
51311	ctx_       context.Context
51312	header_    http.Header
51313}
51314
51315// Update: Updates an existing user role.
51316//
51317// - profileId: User profile ID associated with this request.
51318func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
51319	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51320	c.profileId = profileId
51321	c.userrole = userrole
51322	return c
51323}
51324
51325// Fields allows partial responses to be retrieved. See
51326// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51327// for more information.
51328func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
51329	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51330	return c
51331}
51332
51333// Context sets the context to be used in this call's Do method. Any
51334// pending HTTP request will be aborted if the provided context is
51335// canceled.
51336func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
51337	c.ctx_ = ctx
51338	return c
51339}
51340
51341// Header returns an http.Header that can be modified by the caller to
51342// add HTTP headers to the request.
51343func (c *UserRolesUpdateCall) Header() http.Header {
51344	if c.header_ == nil {
51345		c.header_ = make(http.Header)
51346	}
51347	return c.header_
51348}
51349
51350func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
51351	reqHeaders := make(http.Header)
51352	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
51353	for k, v := range c.header_ {
51354		reqHeaders[k] = v
51355	}
51356	reqHeaders.Set("User-Agent", c.s.userAgent())
51357	var body io.Reader = nil
51358	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
51359	if err != nil {
51360		return nil, err
51361	}
51362	reqHeaders.Set("Content-Type", "application/json")
51363	c.urlParams_.Set("alt", alt)
51364	c.urlParams_.Set("prettyPrint", "false")
51365	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
51366	urls += "?" + c.urlParams_.Encode()
51367	req, err := http.NewRequest("PUT", urls, body)
51368	if err != nil {
51369		return nil, err
51370	}
51371	req.Header = reqHeaders
51372	googleapi.Expand(req.URL, map[string]string{
51373		"profileId": strconv.FormatInt(c.profileId, 10),
51374	})
51375	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51376}
51377
51378// Do executes the "dfareporting.userRoles.update" call.
51379// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
51380// code is an error. Response headers are in either
51381// *UserRole.ServerResponse.Header or (if a response was returned at
51382// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
51383// to check whether the returned error was because
51384// http.StatusNotModified was returned.
51385func (c *UserRolesUpdateCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
51386	gensupport.SetOptions(c.urlParams_, opts...)
51387	res, err := c.doRequest("json")
51388	if res != nil && res.StatusCode == http.StatusNotModified {
51389		if res.Body != nil {
51390			res.Body.Close()
51391		}
51392		return nil, &googleapi.Error{
51393			Code:   res.StatusCode,
51394			Header: res.Header,
51395		}
51396	}
51397	if err != nil {
51398		return nil, err
51399	}
51400	defer googleapi.CloseBody(res)
51401	if err := googleapi.CheckResponse(res); err != nil {
51402		return nil, err
51403	}
51404	ret := &UserRole{
51405		ServerResponse: googleapi.ServerResponse{
51406			Header:         res.Header,
51407			HTTPStatusCode: res.StatusCode,
51408		},
51409	}
51410	target := &ret
51411	if err := gensupport.DecodeResponse(target, res); err != nil {
51412		return nil, err
51413	}
51414	return ret, nil
51415	// {
51416	//   "description": "Updates an existing user role.",
51417	//   "flatPath": "userprofiles/{profileId}/userRoles",
51418	//   "httpMethod": "PUT",
51419	//   "id": "dfareporting.userRoles.update",
51420	//   "parameterOrder": [
51421	//     "profileId"
51422	//   ],
51423	//   "parameters": {
51424	//     "profileId": {
51425	//       "description": "User profile ID associated with this request.",
51426	//       "format": "int64",
51427	//       "location": "path",
51428	//       "required": true,
51429	//       "type": "string"
51430	//     }
51431	//   },
51432	//   "path": "userprofiles/{profileId}/userRoles",
51433	//   "request": {
51434	//     "$ref": "UserRole"
51435	//   },
51436	//   "response": {
51437	//     "$ref": "UserRole"
51438	//   },
51439	//   "scopes": [
51440	//     "https://www.googleapis.com/auth/dfatrafficking"
51441	//   ]
51442	// }
51443
51444}
51445
51446// method id "dfareporting.videoFormats.get":
51447
51448type VideoFormatsGetCall struct {
51449	s            *Service
51450	profileId    int64
51451	id           int64
51452	urlParams_   gensupport.URLParams
51453	ifNoneMatch_ string
51454	ctx_         context.Context
51455	header_      http.Header
51456}
51457
51458// Get: Gets one video format by ID.
51459//
51460// - id: Video format ID.
51461// - profileId: User profile ID associated with this request.
51462func (r *VideoFormatsService) Get(profileId int64, id int64) *VideoFormatsGetCall {
51463	c := &VideoFormatsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51464	c.profileId = profileId
51465	c.id = id
51466	return c
51467}
51468
51469// Fields allows partial responses to be retrieved. See
51470// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51471// for more information.
51472func (c *VideoFormatsGetCall) Fields(s ...googleapi.Field) *VideoFormatsGetCall {
51473	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51474	return c
51475}
51476
51477// IfNoneMatch sets the optional parameter which makes the operation
51478// fail if the object's ETag matches the given value. This is useful for
51479// getting updates only after the object has changed since the last
51480// request. Use googleapi.IsNotModified to check whether the response
51481// error from Do is the result of In-None-Match.
51482func (c *VideoFormatsGetCall) IfNoneMatch(entityTag string) *VideoFormatsGetCall {
51483	c.ifNoneMatch_ = entityTag
51484	return c
51485}
51486
51487// Context sets the context to be used in this call's Do method. Any
51488// pending HTTP request will be aborted if the provided context is
51489// canceled.
51490func (c *VideoFormatsGetCall) Context(ctx context.Context) *VideoFormatsGetCall {
51491	c.ctx_ = ctx
51492	return c
51493}
51494
51495// Header returns an http.Header that can be modified by the caller to
51496// add HTTP headers to the request.
51497func (c *VideoFormatsGetCall) Header() http.Header {
51498	if c.header_ == nil {
51499		c.header_ = make(http.Header)
51500	}
51501	return c.header_
51502}
51503
51504func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
51505	reqHeaders := make(http.Header)
51506	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
51507	for k, v := range c.header_ {
51508		reqHeaders[k] = v
51509	}
51510	reqHeaders.Set("User-Agent", c.s.userAgent())
51511	if c.ifNoneMatch_ != "" {
51512		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
51513	}
51514	var body io.Reader = nil
51515	c.urlParams_.Set("alt", alt)
51516	c.urlParams_.Set("prettyPrint", "false")
51517	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats/{id}")
51518	urls += "?" + c.urlParams_.Encode()
51519	req, err := http.NewRequest("GET", urls, body)
51520	if err != nil {
51521		return nil, err
51522	}
51523	req.Header = reqHeaders
51524	googleapi.Expand(req.URL, map[string]string{
51525		"profileId": strconv.FormatInt(c.profileId, 10),
51526		"id":        strconv.FormatInt(c.id, 10),
51527	})
51528	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51529}
51530
51531// Do executes the "dfareporting.videoFormats.get" call.
51532// Exactly one of *VideoFormat or error will be non-nil. Any non-2xx
51533// status code is an error. Response headers are in either
51534// *VideoFormat.ServerResponse.Header or (if a response was returned at
51535// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
51536// to check whether the returned error was because
51537// http.StatusNotModified was returned.
51538func (c *VideoFormatsGetCall) Do(opts ...googleapi.CallOption) (*VideoFormat, error) {
51539	gensupport.SetOptions(c.urlParams_, opts...)
51540	res, err := c.doRequest("json")
51541	if res != nil && res.StatusCode == http.StatusNotModified {
51542		if res.Body != nil {
51543			res.Body.Close()
51544		}
51545		return nil, &googleapi.Error{
51546			Code:   res.StatusCode,
51547			Header: res.Header,
51548		}
51549	}
51550	if err != nil {
51551		return nil, err
51552	}
51553	defer googleapi.CloseBody(res)
51554	if err := googleapi.CheckResponse(res); err != nil {
51555		return nil, err
51556	}
51557	ret := &VideoFormat{
51558		ServerResponse: googleapi.ServerResponse{
51559			Header:         res.Header,
51560			HTTPStatusCode: res.StatusCode,
51561		},
51562	}
51563	target := &ret
51564	if err := gensupport.DecodeResponse(target, res); err != nil {
51565		return nil, err
51566	}
51567	return ret, nil
51568	// {
51569	//   "description": "Gets one video format by ID.",
51570	//   "flatPath": "userprofiles/{profileId}/videoFormats/{id}",
51571	//   "httpMethod": "GET",
51572	//   "id": "dfareporting.videoFormats.get",
51573	//   "parameterOrder": [
51574	//     "profileId",
51575	//     "id"
51576	//   ],
51577	//   "parameters": {
51578	//     "id": {
51579	//       "description": "Video format ID.",
51580	//       "format": "int32",
51581	//       "location": "path",
51582	//       "required": true,
51583	//       "type": "integer"
51584	//     },
51585	//     "profileId": {
51586	//       "description": "User profile ID associated with this request.",
51587	//       "format": "int64",
51588	//       "location": "path",
51589	//       "required": true,
51590	//       "type": "string"
51591	//     }
51592	//   },
51593	//   "path": "userprofiles/{profileId}/videoFormats/{id}",
51594	//   "response": {
51595	//     "$ref": "VideoFormat"
51596	//   },
51597	//   "scopes": [
51598	//     "https://www.googleapis.com/auth/dfatrafficking"
51599	//   ]
51600	// }
51601
51602}
51603
51604// method id "dfareporting.videoFormats.list":
51605
51606type VideoFormatsListCall struct {
51607	s            *Service
51608	profileId    int64
51609	urlParams_   gensupport.URLParams
51610	ifNoneMatch_ string
51611	ctx_         context.Context
51612	header_      http.Header
51613}
51614
51615// List: Lists available video formats.
51616//
51617// - profileId: User profile ID associated with this request.
51618func (r *VideoFormatsService) List(profileId int64) *VideoFormatsListCall {
51619	c := &VideoFormatsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51620	c.profileId = profileId
51621	return c
51622}
51623
51624// Fields allows partial responses to be retrieved. See
51625// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51626// for more information.
51627func (c *VideoFormatsListCall) Fields(s ...googleapi.Field) *VideoFormatsListCall {
51628	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51629	return c
51630}
51631
51632// IfNoneMatch sets the optional parameter which makes the operation
51633// fail if the object's ETag matches the given value. This is useful for
51634// getting updates only after the object has changed since the last
51635// request. Use googleapi.IsNotModified to check whether the response
51636// error from Do is the result of In-None-Match.
51637func (c *VideoFormatsListCall) IfNoneMatch(entityTag string) *VideoFormatsListCall {
51638	c.ifNoneMatch_ = entityTag
51639	return c
51640}
51641
51642// Context sets the context to be used in this call's Do method. Any
51643// pending HTTP request will be aborted if the provided context is
51644// canceled.
51645func (c *VideoFormatsListCall) Context(ctx context.Context) *VideoFormatsListCall {
51646	c.ctx_ = ctx
51647	return c
51648}
51649
51650// Header returns an http.Header that can be modified by the caller to
51651// add HTTP headers to the request.
51652func (c *VideoFormatsListCall) Header() http.Header {
51653	if c.header_ == nil {
51654		c.header_ = make(http.Header)
51655	}
51656	return c.header_
51657}
51658
51659func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
51660	reqHeaders := make(http.Header)
51661	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
51662	for k, v := range c.header_ {
51663		reqHeaders[k] = v
51664	}
51665	reqHeaders.Set("User-Agent", c.s.userAgent())
51666	if c.ifNoneMatch_ != "" {
51667		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
51668	}
51669	var body io.Reader = nil
51670	c.urlParams_.Set("alt", alt)
51671	c.urlParams_.Set("prettyPrint", "false")
51672	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats")
51673	urls += "?" + c.urlParams_.Encode()
51674	req, err := http.NewRequest("GET", urls, body)
51675	if err != nil {
51676		return nil, err
51677	}
51678	req.Header = reqHeaders
51679	googleapi.Expand(req.URL, map[string]string{
51680		"profileId": strconv.FormatInt(c.profileId, 10),
51681	})
51682	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51683}
51684
51685// Do executes the "dfareporting.videoFormats.list" call.
51686// Exactly one of *VideoFormatsListResponse or error will be non-nil.
51687// Any non-2xx status code is an error. Response headers are in either
51688// *VideoFormatsListResponse.ServerResponse.Header or (if a response was
51689// returned at all) in error.(*googleapi.Error).Header. Use
51690// googleapi.IsNotModified to check whether the returned error was
51691// because http.StatusNotModified was returned.
51692func (c *VideoFormatsListCall) Do(opts ...googleapi.CallOption) (*VideoFormatsListResponse, error) {
51693	gensupport.SetOptions(c.urlParams_, opts...)
51694	res, err := c.doRequest("json")
51695	if res != nil && res.StatusCode == http.StatusNotModified {
51696		if res.Body != nil {
51697			res.Body.Close()
51698		}
51699		return nil, &googleapi.Error{
51700			Code:   res.StatusCode,
51701			Header: res.Header,
51702		}
51703	}
51704	if err != nil {
51705		return nil, err
51706	}
51707	defer googleapi.CloseBody(res)
51708	if err := googleapi.CheckResponse(res); err != nil {
51709		return nil, err
51710	}
51711	ret := &VideoFormatsListResponse{
51712		ServerResponse: googleapi.ServerResponse{
51713			Header:         res.Header,
51714			HTTPStatusCode: res.StatusCode,
51715		},
51716	}
51717	target := &ret
51718	if err := gensupport.DecodeResponse(target, res); err != nil {
51719		return nil, err
51720	}
51721	return ret, nil
51722	// {
51723	//   "description": "Lists available video formats.",
51724	//   "flatPath": "userprofiles/{profileId}/videoFormats",
51725	//   "httpMethod": "GET",
51726	//   "id": "dfareporting.videoFormats.list",
51727	//   "parameterOrder": [
51728	//     "profileId"
51729	//   ],
51730	//   "parameters": {
51731	//     "profileId": {
51732	//       "description": "User profile ID associated with this request.",
51733	//       "format": "int64",
51734	//       "location": "path",
51735	//       "required": true,
51736	//       "type": "string"
51737	//     }
51738	//   },
51739	//   "path": "userprofiles/{profileId}/videoFormats",
51740	//   "response": {
51741	//     "$ref": "VideoFormatsListResponse"
51742	//   },
51743	//   "scopes": [
51744	//     "https://www.googleapis.com/auth/dfatrafficking"
51745	//   ]
51746	// }
51747
51748}
51749